.ddkgr-widget {
  --ddkgr-accent: #b99a61;
  --ddkgr-ink: #25313b;
  --ddkgr-muted: #69757e;
  --ddkgr-card: #fff;
  --ddkgr-border: #e8e5df;
  --ddkgr-gap: 20px;
  --ddkgr-radius: 14px;
  --ddkgr-columns: 3;
  font-family: inherit;
  color: var(--ddkgr-ink);
  width: 100%;
}

.ddkgr-widget *, .ddkgr-widget *::before, .ddkgr-widget *::after { box-sizing: border-box; }
.ddkgr-widget.ddkgr-shortcode-columns-1 { --ddkgr-columns: 1; }
.ddkgr-widget.ddkgr-shortcode-columns-2 { --ddkgr-columns: 2; }
.ddkgr-widget.ddkgr-shortcode-columns-3 { --ddkgr-columns: 3; }
.ddkgr-widget.ddkgr-shortcode-columns-4 { --ddkgr-columns: 4; }
.ddkgr-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; margin-bottom: 27px; }
.ddkgr-heading { min-width: 0; }
.ddkgr-eyebrow { display: block; margin-bottom: 9px; color: var(--ddkgr-accent); font-size: 11px; font-weight: 750; letter-spacing: .17em; }
.ddkgr-widget h3 { margin: 0 0 12px; padding: 0; font-size: clamp(23px, 2.7vw, 34px); line-height: 1.25; font-weight: 650; color: var(--ddkgr-ink); }
.ddkgr-scoreline { display: flex; align-items: center; gap: 11px; flex-wrap: wrap; color: var(--ddkgr-muted); font-size: 14px; }
.ddkgr-scoreline strong { color: var(--ddkgr-ink); font-size: 22px; font-weight: 750; font-variant-numeric: tabular-nums; }
.ddkgr-stars { display: inline-block; position: relative; color: #dedede; font-size: 18px; letter-spacing: 2px; line-height: 1.1; white-space: nowrap; }
.ddkgr-stars-base { display: block; }
.ddkgr-stars-fill { position: absolute; top: 0; left: 0; display: block; overflow: hidden; color: var(--ddkgr-accent); white-space: nowrap; }
.ddkgr-google-link { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 5px; color: var(--ddkgr-ink); font-size: 13px; font-weight: 650; text-decoration: none; border-bottom: 1px solid var(--ddkgr-accent); padding-bottom: 4px; transition: color .2s ease; }
.ddkgr-google-link:hover, .ddkgr-google-link:focus-visible { color: var(--ddkgr-accent); }
.ddkgr-grid { display: grid; grid-template-columns: repeat(var(--ddkgr-columns), minmax(0, 1fr)); gap: var(--ddkgr-gap); }
.ddkgr-carousel-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--ddkgr-columns) - 1) * var(--ddkgr-gap)) / var(--ddkgr-columns)); gap: var(--ddkgr-gap); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding: 2px 1px 10px; }
.ddkgr-carousel-track::-webkit-scrollbar { display: none; }
.ddkgr-card { display: flex; flex-direction: column; gap: 0; min-width: 0; height: 100%; padding: 25px; border: 1px solid var(--ddkgr-border); border-radius: var(--ddkgr-radius); background: var(--ddkgr-card); box-shadow: 0 4px 22px rgba(31, 39, 49, .035); scroll-snap-align: start; }
.ddkgr-card-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 14px; }
.ddkgr-card-top .ddkgr-stars { font-size: 17px; }
.ddkgr-google-source { font-size: 12px; font-weight: 750; letter-spacing: .01em; color: var(--ddkgr-muted); }
.ddkgr-review-text { margin: 0 0 25px; line-height: 1.7; font-size: 15px; font-weight: 400; color: var(--ddkgr-ink); overflow-wrap: anywhere; }
.ddkgr-widget.ddkgr-enhanced .ddkgr-card:not(.ddkgr-expanded) .ddkgr-review-text:not(.ddkgr-no-text) { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; line-clamp: 5; overflow: hidden; }
.ddkgr-review-toggle { align-self: flex-start; margin: -13px 0 18px; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--ddkgr-accent); font: inherit; font-size: 13px; font-weight: 650; line-height: 1.4; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.ddkgr-review-toggle:hover, .ddkgr-review-toggle:focus-visible { color: var(--ddkgr-ink); background: transparent; }
.ddkgr-review-toggle:focus-visible { outline: 2px solid var(--ddkgr-accent); outline-offset: 3px; }
.ddkgr-review-toggle[hidden] { display: none !important; }
.ddkgr-no-text { font-style: italic; color: var(--ddkgr-muted); }
.ddkgr-author { display: flex; align-items: center; gap: 11px; margin-top: auto; min-width: 0; }
.ddkgr-avatar { display: grid; place-items: center; flex: 0 0 39px; width: 39px; height: 39px; border-radius: 50%; background: #f2ede4; color: #8f754b; font-size: 15px; font-weight: 700; }
.ddkgr-author > span:last-child { min-width: 0; }
.ddkgr-author strong, .ddkgr-author small { display: block; overflow-wrap: anywhere; }
.ddkgr-author strong { color: var(--ddkgr-ink); line-height: 1.35; font-size: 13px; font-weight: 650; }
.ddkgr-author small { margin-top: 3px; color: var(--ddkgr-muted); font-size: 12px; }
.ddkgr-controls { display: flex; justify-content: flex-end; gap: 8px; margin-top: 8px; }
.ddkgr-arrow { display: grid; place-items: center; width: 39px; height: 39px; padding: 0; border: 1px solid var(--ddkgr-border); border-radius: 50%; background: var(--ddkgr-card); color: var(--ddkgr-ink); font: inherit; font-size: 25px; line-height: 1; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.ddkgr-arrow:hover, .ddkgr-arrow:focus-visible { background: var(--ddkgr-ink); color: #fff; border-color: var(--ddkgr-ink); }
.ddkgr-arrow:disabled { opacity: .35; cursor: not-allowed; }
.ddkgr-footnote, .ddkgr-disclosure { color: var(--ddkgr-muted); font-size: 11px; line-height: 1.5; margin: 15px 0 0; }
.ddkgr-disclosure { margin-top: 12px; }
.ddkgr-layout-summary { padding: 25px; border-radius: var(--ddkgr-radius); border: 1px solid var(--ddkgr-border); background: var(--ddkgr-card); }
.ddkgr-layout-summary .ddkgr-header { margin-bottom: 0; }
.ddkgr-placeholder { padding: 22px; border: 1px dashed #b99a61; border-radius: 8px; background: #faf7f2; color: #634f30; }

@media (max-width: 1024px) {
  .ddkgr-widget { --ddkgr-columns: 2; }
  .ddkgr-widget[class*="ddkgr-shortcode-columns-"] { --ddkgr-columns: 2; }
}
@media (max-width: 767px) {
  .ddkgr-widget { --ddkgr-columns: 1; }
  .ddkgr-widget[class*="ddkgr-shortcode-columns-"] { --ddkgr-columns: 1; }
  .ddkgr-header { align-items: flex-start; flex-direction: column; gap: 12px; }
  .ddkgr-card { padding: 21px; }
  .ddkgr-widget h3 { font-size: 25px; }
}
@media (prefers-reduced-motion: reduce) {
  .ddkgr-carousel-track { scroll-behavior: auto; }
  .ddkgr-arrow, .ddkgr-google-link { transition: none; }
}
