/* ==========================================================================
   Testimonials page  -  gritblueprint standalone theme
   Loaded only on body.gb-testimonials-tpl (conditional enqueue in inc.php).
   The page's visual design lives in inline styles on each section (so every
   block stays editable in Gutenberg). This file holds: the header offset,
   the responsive behavior, hover micro-interactions (which inline styles
   cannot express), the filter chips, the FAQ accordion, and the video
   lightbox. Everything is scoped under the template body class.
   ========================================================================== */

/* ---- Header offset: pull content up under the transparent Elementor header */
body.gb-testimonials-tpl { --gb-header-h: 130px; }
@media (max-width:920px){ body.gb-testimonials-tpl { --gb-header-h: 120px; } }
@media (max-width:760px){ body.gb-testimonials-tpl { --gb-header-h: 100px; } }
body.gb-testimonials-tpl #content,
body.gb-testimonials-tpl .site-content { padding-top:0 !important; margin-top:0 !important; }
body.gb-testimonials-tpl .gb-app { margin-top: calc(-1 * var(--gb-header-h)) !important; }
/* Hero background fills behind the transparent header; its content clears it. */
body.gb-testimonials-tpl .gb-tst-hero-sec { padding-top: calc(var(--gb-header-h) + 36px) !important; }

/* The Wall's sticky filter bar sticks just below the header, not under it. */
body.gb-testimonials-tpl .gb-tst-wallbar { top: var(--gb-header-h) !important; }

/* ---- Base behavior ------------------------------------------------------- */
body.gb-testimonials-tpl { scroll-behavior:smooth; }
body.gb-testimonials-tpl ::selection { background:#FF1894; color:#fff; }
body.gb-testimonials-tpl a:focus-visible,
body.gb-testimonials-tpl button:focus-visible,
body.gb-testimonials-tpl summary:focus-visible,
body.gb-testimonials-tpl [role="button"]:focus-visible,
body.gb-testimonials-tpl [tabindex]:focus-visible { outline:3px solid #0092D6; outline-offset:2px; border-radius:6px; }
body.gb-testimonials-tpl .search-wrap:focus-within { border-color:#0092D6 !important; box-shadow:0 0 0 3px rgba(0,146,214,.25); }

/* ---- Hover micro-interactions (replace the framework's style-hover) ------- */
body.gb-testimonials-tpl .gb-tst-hero:hover { transform:translateY(-4px); box-shadow:0 30px 60px -24px rgba(0,0,0,.55); --tick:1; border-color:rgba(255,24,148,.45); }
body.gb-testimonials-tpl .gb-tst-video:hover { transform:translateY(-4px); box-shadow:0 26px 56px -20px rgba(14,30,55,.30); --tick:1; border-color:rgba(255,24,148,.4); }
body.gb-testimonials-tpl .gb-tst-video:hover .gb-tst-playbtn { transform:scale(1.07); }
body.gb-testimonials-tpl .gb-tst-wall:hover { transform:translateY(-3px); box-shadow:0 22px 50px -22px rgba(15,37,66,.4); --tick:1; border-color:rgba(255,24,148,.4); }
body.gb-testimonials-tpl .gb-tst-btn-pink:hover { transform:translateY(-2px); box-shadow:0 18px 42px -8px rgba(255,24,148,.6); }
body.gb-testimonials-tpl .gb-tst-btn-ghost:hover { background:rgba(255,255,255,.08); border-color:#fff; }
body.gb-testimonials-tpl .gb-logo-cell:hover img { opacity:1; }

/* ---- Filter chips -------------------------------------------------------- */
body.gb-testimonials-tpl .gb-tst-chip {
  font-family:var(--font-sans); font-size:11.5px; font-weight:500; letter-spacing:.04em;
  padding:8px 14px; border-radius:999px; border:1px solid #DCDBD4; background:#fff;
  color:#18355E; cursor:pointer; transition:border-color .18s, background .18s, color .18s;
  -webkit-appearance:none; appearance:none; line-height:1.1;
}
body.gb-testimonials-tpl .gb-tst-chip[aria-pressed="true"] { border-color:#FF1894; background:#FF1894; color:#fff; }
@media (max-width:760px) and (pointer:coarse){ body.gb-testimonials-tpl .gb-tst-chip { min-height:40px; } }

/* ---- FAQ accordion ------------------------------------------------------- */
body.gb-testimonials-tpl .gb-tst-faq-item { border-bottom:1px solid #DCDBD4; }
body.gb-testimonials-tpl .gb-tst-faq-item summary {
  font-family:var(--font-sans); font-weight:700; font-size:18px; color:#18355E;
  padding:22px 40px 22px 0; cursor:pointer; position:relative; list-style:none;
}
body.gb-testimonials-tpl .gb-tst-faq-item summary::-webkit-details-marker { display:none; }
body.gb-testimonials-tpl .gb-tst-faq-mark {
  position:absolute; right:4px; top:20px; color:#FF1894; font-size:24px; font-weight:400;
  line-height:1; transition:transform .2s;
}
body.gb-testimonials-tpl .gb-tst-faq-item[open] .gb-tst-faq-mark { transform:rotate(45deg); }
body.gb-testimonials-tpl .gb-tst-faqa { padding:0 0 22px; }

/* ---- Video lightbox (built by testimonials.js) --------------------------- */
body.gb-testimonials-tpl .gb-tst-lb {
  position:fixed; inset:0; z-index:80; background:rgba(8,16,30,.86);
  backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
  display:none; place-items:center; padding:24px;
}
body.gb-testimonials-tpl .gb-tst-lb.open { display:grid; }
body.gb-testimonials-tpl .gb-tst-lb-inner { position:relative; width:min(900px,92vw); }
body.gb-testimonials-tpl .gb-tst-lb-close {
  position:absolute; top:-48px; right:0; background:transparent; border:1px solid rgba(255,255,255,.4);
  color:#fff; width:40px; height:40px; border-radius:50%; cursor:pointer; font-size:20px;
  display:flex; align-items:center; justify-content:center; line-height:1; transition:background .18s, border-color .18s;
}
body.gb-testimonials-tpl .gb-tst-lb-close:hover { background:#FF1894; border-color:#FF1894; }
body.gb-testimonials-tpl .gb-tst-lb video { width:100%; border-radius:8px; background:#000; box-shadow:0 30px 80px -20px rgba(0,0,0,.7); }
body.gb-testimonials-tpl .gb-tst-lb-meta { font-family:var(--font-sans); color:#fff; margin-top:14px; font-size:12.5px; letter-spacing:.06em; }
body.gb-testimonials-tpl .gb-tst-lb-meta b { font-weight:700; font-size:16px; display:block; margin-bottom:4px; letter-spacing:0; }
body.gb-testimonials-tpl .gb-tst-lb-ktlabel { font-family:var(--font-sans); font-size:10.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:#FF1894; }
body.gb-testimonials-tpl .gb-tst-lb-quote { font-family:var(--font-sans); font-size:15px; line-height:1.62; color:#EAF0F8; margin:8px 0 0; }

/* ---- Responsive: mobile rails, scrolling chips, tighter spacing ---------- */
@media (max-width:860px){
  body.gb-testimonials-tpl .hero-grid { grid-template-columns:1fr !important; }
  body.gb-testimonials-tpl .hero-mark-col { display:none !important; }
  body.gb-testimonials-tpl .hero-mark-mobile { display:block !important; }
  body.gb-testimonials-tpl #watch, body.gb-testimonials-tpl #faq { scroll-margin-top:58px; }
}
@media (max-width:760px){
  body.gb-testimonials-tpl .gb-tst-hero-sec { padding:calc(var(--gb-header-h) + 24px) 0 48px !important; }
  body.gb-testimonials-tpl section { padding-top:52px !important; padding-bottom:54px !important; }
  /* Headliners + Watch become swipeable snap rails */
  body.gb-testimonials-tpl .hl-rail,
  body.gb-testimonials-tpl .watch-rail {
    display:flex !important; grid-template-columns:none !important; overflow-x:auto;
    scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; gap:14px !important;
    scroll-padding-left:32px; padding-bottom:10px; margin-left:-32px; margin-right:-32px;
    padding-left:32px; padding-right:32px; scrollbar-width:none;
  }
  body.gb-testimonials-tpl .hl-rail::-webkit-scrollbar,
  body.gb-testimonials-tpl .watch-rail::-webkit-scrollbar { display:none; }
  body.gb-testimonials-tpl .hl-rail > * { flex:0 0 86% !important; scroll-snap-align:start; grid-column:auto !important; }
  body.gb-testimonials-tpl .watch-rail > * { flex:0 0 78% !important; scroll-snap-align:start; }
  /* Category chips scroll sideways instead of stacking tall */
  body.gb-testimonials-tpl .chip-row {
    flex-wrap:nowrap !important; overflow-x:auto; -webkit-overflow-scrolling:touch;
    scrollbar-width:none; margin-left:-32px; margin-right:-32px; padding:2px 32px 6px; scroll-padding-left:32px;
  }
  body.gb-testimonials-tpl .chip-row::-webkit-scrollbar { display:none; }
  body.gb-testimonials-tpl .chip-row > * { flex:0 0 auto; scroll-snap-align:start; }
}
@media (max-width:640px){
  body.gb-testimonials-tpl [data-screen-label="Trusted By"] .gb-logo-row { gap:20px 24px !important; }
  body.gb-testimonials-tpl [data-screen-label="Trusted By"] .gb-logo-cell { width:calc(33.333% - 16px) !important; height:40px !important; }
}
@media (max-width:380px){
  body.gb-testimonials-tpl [data-screen-label="Trusted By"] .gb-logo-cell { height:34px !important; }
}
@media (prefers-reduced-motion: reduce){
  body.gb-testimonials-tpl *, body.gb-testimonials-tpl *::before, body.gb-testimonials-tpl *::after { transition:none !important; animation:none !important; }
  body.gb-testimonials-tpl { scroll-behavior:auto !important; }
}
