/* Explicit foregrounds also repair the original dark review section before enhancement. */
.home-review-editorial .home-review-grid blockquote,
.home-review-editorial .home-review-grid figcaption,
.home-review-editorial h3 { color: var(--ink-50, #f6f7f7); }
body section.gdb-review-carousel.gdb-review-carousel {
  width: 100%; max-width: none; margin: 0;
  padding: var(--space-xl, 3rem) var(--gutter, 32px);
  background: var(--ink-800, #1d1f21); color: var(--ink-50, #f6f7f7); color-scheme: dark;
}
.gdb-review-shell { max-width: var(--width-max, 1120px); margin: 0 auto; display: grid; grid-template-columns: minmax(0,.65fr) minmax(0,1.35fr); gap: var(--space-xl,3rem); align-items: center; }
.gdb-review-shell > * { min-width: 0; }
.gdb-review-carousel .gdb-review-heading { display: block; }
.gdb-review-carousel .gdb-review-heading h2 { font: 400 var(--step-3,2rem)/var(--leading-snug,1.2) SourceSerif,Georgia,serif; letter-spacing: var(--tracking-tight,-.02em); color: var(--ink-50,#f6f7f7); margin: 0 0 var(--space-s,1rem); max-width: 22ch; }
.gdb-review-carousel .gdb-review-heading p { font-size: var(--step--1,.875rem); font-weight: 400; line-height: 1.5; color: var(--ink-300,#b6bcc2); margin: var(--space-2xs,.5rem) 0; }
.gdb-review-carousel .gdb-review-heading .eyebrow { color: var(--orange,var(--accent-500,#f78c1e)); font-size: var(--step--1,.875rem); letter-spacing: .08em; margin: 0 0 var(--space-xs,.75rem); }
.gdb-review-carousel .gdb-review-heading .eyebrow i { display: none; }
.gdb-review-carousel .gdb-review-context { font-size: var(--step--1,.875rem); font-weight: 400; line-height: 1.4; color: var(--ink-300,#b6bcc2); margin: var(--space-s,1rem) 0; }
.gdb-review-carousel .grev__rating { text-align: left; align-items: flex-start; }
.gdb-review-carousel .grev__rate { justify-content: flex-start; gap: var(--space-xs,.75rem); }
.gdb-review-carousel .gdb-review-heading a { color: var(--ink-50,#f6f7f7); font-size: var(--step--1,.875rem); display: inline-flex; align-items: center; gap: var(--space-2xs,.5rem); min-height: 44px; text-decoration: underline; text-underline-offset: 5px; border: 0; }
.gdb-review-panel { background: color-mix(in srgb,var(--ink-700,#3c434a) 45%,var(--ink-800,#1d1f21)); border: 1px solid color-mix(in srgb,var(--ink-300,#b6bcc2) 22%,transparent); border-radius: var(--radius-xs,6px); padding: var(--space-l,2rem); min-width: 0; touch-action: pan-y; }
.gdb-review-carousel .gdb-review-card { margin: 0; padding: 0; border: 0; background: transparent; color: var(--ink-50,#f6f7f7); }
.gdb-review-carousel .gdb-review-card[hidden] { display: none !important; }
.gdb-review-carousel .gdb-review-quote { font: 400 var(--step-1,1.25rem)/1.5 SourceSerif,Georgia,serif; letter-spacing: -.01em; color: var(--ink-50,#f6f7f7); padding: 0; margin: 0; border: 0; max-width: none; }
.gdb-review-carousel .gdb-review-quote::before,.gdb-review-carousel .gdb-review-quote::after { content: none; }
.gdb-review-card:not(.is-expanded) .gdb-review-quote { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.gdb-review-carousel .gdb-review-expand { display: inline-block; padding: 0; min-height: 44px; margin: var(--space-3xs,.25rem) 0 0; border: 0; background: transparent; color: var(--ink-50,#f6f7f7); font: inherit; font-size: var(--step--1,.875rem); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.gdb-review-carousel .gdb-review-expand[hidden] { display: none; }
.gdb-review-carousel .gdb-review-by { margin-top: var(--space-s,1rem); color: var(--ink-300,#b6bcc2); font-size: var(--step--1,.875rem); line-height: 1.5; }
.gdb-review-carousel .gdb-review-by * { margin: 0; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; }
.gdb-review-carousel .gdb-review-by b,.gdb-review-carousel .gdb-review-by .grev__name { color: var(--ink-50,#f6f7f7); font-weight: 600; }
.gdb-review-carousel .gdb-review-by span,.gdb-review-carousel .gdb-review-by b { display: block; }
.gdb-review-controls { display: flex; align-items: center; justify-content: space-between; gap: var(--space-s,1rem); margin-top: var(--space-m,1.5rem); }
.gdb-review-status { color: var(--ink-300,#b6bcc2); font-size: var(--step--1,.875rem); font-variant-numeric: tabular-nums; }
.gdb-review-buttons { display: flex; gap: var(--space-2xs,.5rem); }
.gdb-review-carousel .gdb-review-nav { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--ink-300,#b6bcc2); border-radius: 50%; background: transparent; color: var(--ink-50,#f6f7f7); font-size: var(--step-1,1.25rem); font-weight: 400; line-height: 1; cursor: pointer; transition: color .18s, border-color .18s; }
.gdb-review-carousel .gdb-review-nav:hover,.gdb-review-carousel .gdb-review-expand:hover { color: var(--orange,var(--accent-500,#f78c1e)); border-color: currentColor; }
.gdb-review-carousel button:focus-visible,.gdb-review-carousel a:focus-visible { outline: 2px solid var(--orange,var(--accent-500,#f78c1e)); outline-offset: 4px; }
@media(max-width:700px) {
  body section.gdb-review-carousel.gdb-review-carousel { padding: var(--space-l,2rem) var(--space-s,1rem); }
  .gdb-review-shell { display: block; }
  .gdb-review-heading { margin-bottom: var(--space-m,1.5rem); }
  .gdb-review-carousel .gdb-review-heading h2 { font-size: var(--step-2,1.6rem); max-width: none; margin-bottom: var(--space-xs,.75rem); }
  .gdb-review-panel { padding: var(--space-m,1.5rem); }
  .gdb-review-carousel .gdb-review-quote { font-size: var(--step-0,1rem); }
}
@media(prefers-reduced-motion:reduce) { .gdb-review-carousel button { transition: none; } }
@media print {
  body section.gdb-review-carousel,.gdb-review-carousel .gdb-review-panel { background: white; color: black; }
  .gdb-review-carousel .gdb-review-card[hidden] { display: block !important; }
  .gdb-review-carousel .gdb-review-card { margin-bottom: 1rem; }
  .gdb-review-carousel .gdb-review-quote { display: block !important; overflow: visible !important; color: black; }
  .gdb-review-controls,.gdb-review-expand { display: none !important; }
}
