/* ==========================================================================
 * ThemeBend — FAQ page (page-faq.php) — v3.2.70
 *
 * Editorial premium layout. Tokens come from main stylesheet (--rb-*).
 * Self-contained: no JS-required visual fallback (closed accordions render
 * fine without scripts.js, search field stays decorative pre-JS).
 * ========================================================================== */

:root {
  --rb-faq-radius:18px;
  --rb-faq-radius-sm:12px;
  --rb-faq-aside-w:280px;
  --rb-faq-gap:48px;
  --rb-faq-shadow-soft:0 1px 0 rgba(20, 20, 20, .03), 0 6px 18px -10px rgba(20, 20, 20, .08);
  --rb-faq-shadow-lift:0 4px 0 rgba(20, 20, 20, .03), 0 14px 32px -18px rgba(20, 20, 20, .15);
  --rb-faq-accent:var(--rb-accent, #2d6a4f);
  --rb-faq-accent-tint:var(--rb-accent-bg, #f0f7eb);
  --rb-faq-ink:var(--rb-gray-900, #1a1a1a);
  --rb-faq-ink-soft:var(--rb-gray-700, #555);
  --rb-faq-ink-mute:var(--rb-gray-500, #737373);
  --rb-faq-line:var(--rb-gray-150, #f0f0f0);
  --rb-faq-line-strong:var(--rb-gray-200, #e8e8e8);
  --rb-faq-bg:#fff;
  --rb-faq-bg-warm:#fbf7f2;
  --rb-faq-handwritten:var(--rb-handwritten, "Caveat", cursive);
}

/* Body lock when search has focus is purely decorative — no JS dep. */

/* --- HERO ---------------------------------------------------------------- */
.rb-faq-hero {
  position:relative;
  padding:64px 24px 56px;
  text-align:center;
  background:
    radial-gradient(1200px 380px at 50% -120px, var(--rb-faq-accent-tint), transparent 60%),
    var(--rb-faq-bg);
  border-bottom:1px solid var(--rb-faq-line);
  overflow:hidden;
}
.rb-faq-hero::before {
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--rb-faq-line-strong), transparent);
}
.rb-faq-hero__inner {
  max-width:680px;
  margin:0 auto;
}
.rb-faq-hero__eyebrow {
  font-family:var(--rb-faq-handwritten);
  font-size:1.45rem;
  color:var(--rb-faq-accent);
  margin:0 0 8px;
  font-weight:600;
  letter-spacing:.01em;
  transform:rotate(-1.2deg);
  display:inline-block;
}
.rb-faq-hero__title.rb-page-h1 {
  font-family:var(--rb-serif);
  font-size:clamp(2.4rem, 1.6rem + 3vw, 4rem);
  font-weight:700;
  letter-spacing:-.018em;
  color:var(--rb-faq-ink);
  margin:0 0 18px;
  line-height:1.05;
}
.rb-faq-hero__lede {
  font-family:var(--rb-sans);
  font-size:1.08rem;
  line-height:1.65;
  color:var(--rb-faq-ink-soft);
  max-width:560px;
  margin:0 auto 28px;
}

/* --- SEARCH -------------------------------------------------------------- */
.rb-faq-search {
  position:relative;
  display:flex;
  align-items:center;
  max-width:520px;
  margin:0 auto;
  background:var(--rb-faq-bg);
  border:1.5px solid var(--rb-faq-line-strong);
  border-radius:999px;
  padding:0 18px;
  height:56px;
  box-shadow:var(--rb-faq-shadow-soft);
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.rb-faq-search:focus-within {
  border-color:var(--rb-faq-accent);
  box-shadow:0 0 0 4px var(--rb-faq-accent-tint), var(--rb-faq-shadow-lift);
  transform:translateY(-1px);
}
.rb-faq-search__icon {
  display:flex;
  color:var(--rb-faq-ink-mute);
  margin-right:12px;
  flex-shrink:0;
}
.rb-faq-search:focus-within .rb-faq-search__icon { color:var(--rb-faq-accent); }
.rb-faq-search__input {
  flex:1;
  border:0;
  outline:0;
  background:transparent;
  font-family:var(--rb-sans);
  font-size:1rem;
  color:var(--rb-faq-ink);
  padding:0;
  height:100%;
  min-width:0;
}
.rb-faq-search__input::placeholder { color:var(--rb-faq-ink-mute); }
.rb-faq-search__clear {
  background:none;
  border:0;
  padding:8px;
  cursor:pointer;
  color:var(--rb-faq-ink-mute);
  border-radius:999px;
  display:flex;
  align-items:center;
  margin-left:6px;
  transition:background .15s, color .15s;
}
.rb-faq-search__clear:hover { background:var(--rb-faq-line); color:var(--rb-faq-ink); }

/* --- STATS -------------------------------------------------------------- */
.rb-faq-stats {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin:24px 0 0;
  font-family:var(--rb-sans);
  font-size:.84rem;
  color:var(--rb-faq-ink-mute);
  letter-spacing:.04em;
  text-transform:uppercase;
}
.rb-faq-stats__pill strong {
  color:var(--rb-faq-ink);
  font-weight:700;
  font-feature-settings:"tnum" 1;
  margin-right:4px;
}
.rb-faq-stats__sep { opacity:.45; }

/* --- SHELL (2-col) ------------------------------------------------------- */
.rb-faq-shell {
  background:var(--rb-faq-bg);
  padding:64px 24px 96px;
}
.rb-faq-shell__inner {
  max-width:var(--rb-max-w, 1200px);
  margin:0 auto;
  display:grid;
  grid-template-columns:var(--rb-faq-aside-w) 1fr;
  gap:var(--rb-faq-gap);
  align-items:start;
}

/* --- ASIDE -------------------------------------------------------------- */
.rb-faq-aside { position:relative; }
.rb-faq-aside__sticky {
  position:sticky;
  top:96px;
  max-height:calc(100vh - 120px);
  overflow-y:auto;
  padding-right:8px;
  scrollbar-width:thin;
}
.rb-faq-aside__eyebrow {
  font-family:var(--rb-sans);
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--rb-faq-ink-mute);
  font-weight:700;
  margin:0 0 14px 6px;
}
.rb-faq-nav__list {
  list-style:none;
  margin:0 0 28px;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.rb-faq-nav__link {
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  border-radius:var(--rb-faq-radius-sm);
  color:var(--rb-faq-ink-soft);
  text-decoration:none;
  font-family:var(--rb-sans);
  font-size:.96rem;
  font-weight:600;
  transition:background .18s ease, color .18s ease, transform .18s ease;
}
.rb-faq-nav__link::before {
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:3px;
  height:0;
  background:var(--rb-faq-accent);
  border-radius:0 3px 3px 0;
  transform:translateY(-50%);
  transition:height .25s cubic-bezier(.2, .8, .2, 1);
}
.rb-faq-nav__link:hover {
  background:var(--rb-faq-bg-warm);
  color:var(--rb-faq-ink);
}
.rb-faq-nav__icon {
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:var(--rb-faq-bg-warm);
  color:var(--rb-faq-ink-soft);
  flex-shrink:0;
  transition:background .18s, color .18s;
}
.rb-faq-nav__icon svg { width:20px; height:20px; }
.rb-faq-nav__label { flex:1; min-width:0; }
.rb-faq-nav__count {
  font-size:.78rem;
  font-weight:700;
  color:var(--rb-faq-ink-mute);
  background:var(--rb-faq-line);
  padding:3px 9px;
  border-radius:999px;
  font-feature-settings:"tnum" 1;
  transition:background .18s, color .18s;
}
.rb-faq-nav__item.is-active .rb-faq-nav__link {
  background:var(--rb-faq-accent-tint);
  color:var(--rb-faq-accent);
}
.rb-faq-nav__item.is-active .rb-faq-nav__link::before { height:60%; }
.rb-faq-nav__item.is-active .rb-faq-nav__icon {
  background:var(--rb-faq-accent);
  color:#fff;
}
.rb-faq-nav__item.is-active .rb-faq-nav__count {
  background:var(--rb-faq-accent);
  color:#fff;
}

/* --- HELP CARD --------------------------------------------------------- */
.rb-faq-help {
  background:linear-gradient(160deg, var(--rb-faq-bg-warm), var(--rb-faq-accent-tint));
  border:1px solid var(--rb-faq-line);
  border-radius:var(--rb-faq-radius);
  padding:22px;
  margin-top:8px;
}
.rb-faq-help__eyebrow {
  font-family:var(--rb-faq-handwritten);
  font-size:1.15rem;
  color:var(--rb-faq-accent);
  margin:0 0 4px;
  font-weight:600;
}
.rb-faq-help__title {
  font-family:var(--rb-serif);
  font-size:1.05rem;
  line-height:1.35;
  color:var(--rb-faq-ink);
  margin:0 0 14px;
}
.rb-faq-help__cta {
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:var(--rb-faq-accent);
  color:#fff;
  font-family:var(--rb-sans);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  padding:10px 16px;
  border-radius:999px;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.rb-faq-help__cta:hover {
  transform:translateX(2px);
  background:var(--rb-faq-accent);
  color:#fff;
  box-shadow:0 6px 16px -6px rgba(0, 0, 0, .25);
}
.rb-faq-help__cta span { transition:transform .25s ease; }
.rb-faq-help__cta:hover span { transform:translateX(3px); }

/* --- MAIN COLUMN ------------------------------------------------------- */
.rb-faq-main { min-width:0; }

/* --- CATEGORY ---------------------------------------------------------- */
.rb-faq-cat {
  scroll-margin-top:96px;
  margin-bottom:80px;
}
.rb-faq-cat:last-of-type { margin-bottom:48px; }
.rb-faq-cat__head { margin-bottom:28px; }
.rb-faq-cat__eyebrow {
  font-family:var(--rb-faq-handwritten);
  font-size:1.45rem;
  color:var(--rb-faq-accent);
  margin:0 0 4px;
  font-weight:600;
  letter-spacing:.005em;
}
.rb-faq-cat__title {
  font-family:var(--rb-serif);
  font-size:clamp(1.8rem, 1.4rem + 1.4vw, 2.6rem);
  color:var(--rb-faq-ink);
  margin:0 0 10px;
  line-height:1.15;
  letter-spacing:-.012em;
}
.rb-faq-cat__desc {
  font-family:var(--rb-sans);
  font-size:1rem;
  color:var(--rb-faq-ink-soft);
  margin:0;
  max-width:640px;
  line-height:1.65;
}

/* --- FAQ LIST + ITEM --------------------------------------------------- */
.rb-faq-list {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.rb-faq-item {
  background:var(--rb-faq-bg);
  border:1px solid var(--rb-faq-line);
  border-radius:var(--rb-faq-radius);
  box-shadow:var(--rb-faq-shadow-soft);
  transition:
    border-color .2s ease,
    box-shadow .25s ease,
    transform .2s ease,
    background .25s ease;
  overflow:hidden;
}
.rb-faq-item:hover {
  border-color:var(--rb-faq-line-strong);
  box-shadow:var(--rb-faq-shadow-lift);
  transform:translateY(-1px);
}
.rb-faq-item.is-open {
  border-color:var(--rb-faq-accent);
  box-shadow:var(--rb-faq-shadow-lift);
  background:linear-gradient(180deg, #fff, var(--rb-faq-bg-warm) 220%);
}
.rb-faq-item.is-flash { animation:rb-faq-flash 1.1s ease 1; }
@keyframes rb-faq-flash {
  0%   { box-shadow:0 0 0 4px var(--rb-faq-accent-tint), var(--rb-faq-shadow-lift); }
  100% { box-shadow:0 0 0 0 transparent, var(--rb-faq-shadow-lift); }
}

.rb-faq-item__heading { margin:0; }
.rb-faq-item__btn {
  display:flex;
  align-items:center;
  gap:18px;
  width:100%;
  padding:22px 26px;
  border:0;
  background:transparent;
  text-align:left;
  cursor:pointer;
  font-family:var(--rb-serif);
  font-size:1.12rem;
  font-weight:600;
  color:var(--rb-faq-ink);
  letter-spacing:-.005em;
  line-height:1.4;
}
.rb-faq-item__btn:focus-visible {
  outline:3px solid var(--rb-faq-accent);
  outline-offset:-3px;
  border-radius:var(--rb-faq-radius);
}
.rb-faq-item__num {
  font-family:var(--rb-mono);
  font-size:.78rem;
  font-weight:700;
  color:var(--rb-faq-ink-mute);
  letter-spacing:.06em;
  font-feature-settings:"tnum" 1;
  flex-shrink:0;
  padding-top:3px;
}
.rb-faq-item__q { flex:1; min-width:0; }
.rb-faq-item__toggle {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:var(--rb-faq-bg-warm);
  color:var(--rb-faq-ink-soft);
  flex-shrink:0;
  transition:transform .35s cubic-bezier(.2, .8, .2, 1), background .25s ease, color .25s ease;
}
.rb-faq-item.is-open .rb-faq-item__toggle {
  transform:rotate(45deg);
  background:var(--rb-faq-accent);
  color:#fff;
}

/* --- ACCORDION PANEL --------------------------------------------------- */
.rb-faq-item__panel {
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .35s cubic-bezier(.2, .8, .2, 1);
}
.rb-faq-item.is-open .rb-faq-item__panel {
  grid-template-rows:1fr;
}
.rb-faq-item__panel > * { min-height:0; overflow:hidden; }
.rb-faq-item__panel[hidden] { display:none; }

.rb-faq-item__answer {
  padding:0 26px 8px 26px;
  font-family:var(--rb-sans);
  font-size:1rem;
  line-height:1.75;
  color:var(--rb-faq-ink-soft);
}
.rb-faq-item__answer > *:first-child { margin-top:0; }
.rb-faq-item__answer p { margin:0 0 14px; }
.rb-faq-item__answer ul, .rb-faq-item__answer ol {
  margin:0 0 16px;
  padding-left:22px;
}
.rb-faq-item__answer li { margin-bottom:6px; }
.rb-faq-item__answer a {
  color:var(--rb-faq-accent);
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-thickness:1px;
}
.rb-faq-item__answer strong { color:var(--rb-faq-ink); }
.rb-faq-item__answer blockquote {
  margin:18px 0;
  padding:14px 22px;
  border-left:3px solid var(--rb-faq-accent);
  background:var(--rb-faq-bg-warm);
  border-radius:0 var(--rb-faq-radius-sm) var(--rb-faq-radius-sm) 0;
  font-family:var(--rb-serif);
  font-style:italic;
  color:var(--rb-faq-ink);
}
.rb-faq-item__answer code {
  font-family:var(--rb-mono);
  font-size:.9em;
  background:var(--rb-faq-bg-warm);
  padding:2px 6px;
  border-radius:6px;
  color:var(--rb-faq-ink);
}
.rb-faq-item__answer pre {
  background:var(--rb-faq-ink);
  color:#fff;
  padding:18px 20px;
  border-radius:var(--rb-faq-radius-sm);
  overflow-x:auto;
  font-family:var(--rb-mono);
  font-size:.88rem;
  line-height:1.6;
  margin:16px 0;
}

/* --- ITEM FOOTER (tags, related, actions) ---------------------------- */
.rb-faq-item__footer {
  margin:18px 26px 22px;
  padding-top:18px;
  border-top:1px dashed var(--rb-faq-line-strong);
}
.rb-faq-item__tags {
  list-style:none;
  margin:0 0 14px;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.rb-faq-tag {
  display:inline-block;
  font-family:var(--rb-sans);
  font-size:.74rem;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--rb-faq-ink-mute);
  background:var(--rb-faq-bg-warm);
  padding:4px 10px;
  border-radius:999px;
  border:1px solid var(--rb-faq-line);
}

.rb-faq-item__related {
  margin:0 0 18px;
  padding:14px 16px;
  background:linear-gradient(135deg, var(--rb-faq-bg-warm), var(--rb-faq-accent-tint));
  border-radius:var(--rb-faq-radius-sm);
  border:1px solid var(--rb-faq-line);
}
.rb-faq-item__related-eyebrow {
  font-family:var(--rb-sans);
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--rb-faq-ink-mute);
  font-weight:700;
  margin:0 0 8px;
}
.rb-faq-item__related-list {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:6px 12px;
}
.rb-faq-related-link {
  font-family:var(--rb-sans);
  font-size:.92rem;
  color:var(--rb-faq-ink);
  text-decoration:underline;
  text-decoration-color:transparent;
  text-underline-offset:3px;
  text-decoration-thickness:2px;
  transition:text-decoration-color .2s ease, color .2s ease;
}
.rb-faq-related-link::before {
  content:"→ ";
  color:var(--rb-faq-accent);
  font-weight:700;
  margin-right:2px;
}
.rb-faq-related-link:hover {
  color:var(--rb-faq-accent);
  text-decoration-color:var(--rb-faq-accent);
}

.rb-faq-item__actions {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:14px;
}

/* Helpful */
.rb-faq-item__helpful {
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.rb-faq-item__helpful-q {
  font-family:var(--rb-sans);
  font-size:.85rem;
  color:var(--rb-faq-ink-mute);
}
.rb-faq-helpful-btn {
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid var(--rb-faq-line-strong);
  background:var(--rb-faq-bg);
  color:var(--rb-faq-ink-soft);
  padding:7px 14px;
  border-radius:999px;
  font-family:var(--rb-sans);
  font-size:.82rem;
  font-weight:600;
  cursor:pointer;
  transition:border-color .18s, background .18s, color .18s, transform .15s;
}
.rb-faq-helpful-btn:hover {
  border-color:var(--rb-faq-accent);
  color:var(--rb-faq-accent);
  background:var(--rb-faq-accent-tint);
}
.rb-faq-helpful-btn[data-rb-state="cast"] {
  background:var(--rb-faq-accent);
  color:#fff;
  border-color:var(--rb-faq-accent);
  cursor:default;
  pointer-events:none;
  animation:rb-faq-vote-pop .35s cubic-bezier(.2, 1.4, .4, 1) 1;
}
@keyframes rb-faq-vote-pop {
  0%   { transform:scale(1); }
  60%  { transform:scale(1.12); }
  100% { transform:scale(1); }
}
.rb-faq-item__helpful.is-voted .rb-faq-helpful-btn:not([data-rb-state="cast"]) {
  opacity:.4;
  pointer-events:none;
}
.rb-faq-item__helpful-thx {
  font-family:var(--rb-faq-handwritten);
  font-size:1.2rem;
  color:var(--rb-faq-accent);
  font-weight:600;
  margin-left:4px;
}

/* Copy link */
.rb-faq-item__copy {
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:0;
  background:transparent;
  color:var(--rb-faq-ink-mute);
  padding:6px 10px;
  border-radius:8px;
  font-family:var(--rb-sans);
  font-size:.82rem;
  font-weight:600;
  cursor:pointer;
  transition:color .18s, background .18s;
}
.rb-faq-item__copy:hover {
  color:var(--rb-faq-accent);
  background:var(--rb-faq-bg-warm);
}
.rb-faq-item__copy[data-rb-state="copied"] {
  color:var(--rb-faq-accent);
}

/* --- EMPTY STATE (initial empty config) ------------------------------ */
.rb-faq-empty {
  padding:80px 24px 120px;
  text-align:center;
  background:var(--rb-faq-bg);
}
.rb-faq-empty__inner { max-width:520px; margin:0 auto; }
.rb-faq-empty__hand {
  font-family:var(--rb-faq-handwritten);
  font-size:1.5rem;
  color:var(--rb-faq-accent);
  margin:0 0 6px;
}
.rb-faq-empty__title {
  font-family:var(--rb-serif);
  font-size:clamp(1.6rem, 1.3rem + 1vw, 2.2rem);
  color:var(--rb-faq-ink);
  margin:0 0 12px;
}
.rb-faq-empty__lede {
  font-family:var(--rb-sans);
  font-size:1rem;
  line-height:1.7;
  color:var(--rb-faq-ink-soft);
  margin:0;
}

/* --- EMPTY SEARCH STATE (no match) ----------------------------------- */
.rb-faq-empty-search {
  text-align:center;
  padding:60px 20px 40px;
  color:var(--rb-faq-ink-mute);
}
.rb-faq-empty-search svg {
  display:block;
  margin:0 auto 18px;
  color:var(--rb-faq-line-strong);
}
.rb-faq-empty-search__title {
  font-family:var(--rb-serif);
  font-size:1.25rem;
  color:var(--rb-faq-ink);
  margin:0 0 8px;
}
.rb-faq-empty-search__lede {
  font-family:var(--rb-sans);
  font-size:.95rem;
  line-height:1.65;
  color:var(--rb-faq-ink-soft);
  max-width:440px;
  margin:0 auto;
}

/* --- CLOSURE ----------------------------------------------------------- */
.rb-faq-closure {
  margin-top:40px;
  padding:48px 32px;
  text-align:center;
  border-radius:var(--rb-faq-radius);
  background:linear-gradient(140deg, var(--rb-faq-bg-warm), var(--rb-faq-accent-tint));
  border:1px solid var(--rb-faq-line);
}
.rb-faq-closure__eyebrow {
  font-family:var(--rb-faq-handwritten);
  font-size:1.4rem;
  color:var(--rb-faq-accent);
  margin:0 0 6px;
}
.rb-faq-closure__title {
  font-family:var(--rb-serif);
  font-size:clamp(1.4rem, 1.2rem + .8vw, 1.8rem);
  color:var(--rb-faq-ink);
  margin:0 0 22px;
}
.rb-faq-closure__cta {
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--rb-faq-ink);
  color:#fff;
  font-family:var(--rb-sans);
  font-size:.86rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  padding:14px 26px;
  border-radius:999px;
  transition:transform .2s ease, background .2s ease;
}
.rb-faq-closure__cta:hover {
  background:var(--rb-faq-accent);
  color:#fff;
  transform:translateY(-1px);
}
.rb-faq-closure__cta span { transition:transform .25s ease; }
.rb-faq-closure__cta:hover span { transform:translateX(4px); }

/* --- TOAST ------------------------------------------------------------- */
.rb-faq-toast {
  position:fixed;
  left:50%;
  bottom:32px;
  transform:translateX(-50%) translateY(20px);
  background:var(--rb-faq-ink);
  color:#fff;
  font-family:var(--rb-sans);
  font-size:.92rem;
  font-weight:600;
  padding:12px 22px;
  border-radius:999px;
  box-shadow:0 10px 30px -10px rgba(0, 0, 0, .35);
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease, transform .25s ease;
  z-index:200;
}
.rb-faq-toast.is-visible {
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

/* --- SEARCH HIGHLIGHTS ----------------------------------------------- */
.rb-faq-mark {
  background:var(--rb-faq-accent-tint);
  color:var(--rb-faq-ink);
  padding:1px 3px;
  border-radius:3px;
  font-weight:700;
}

/* --- HIDDEN FOR FILTER -------------------------------------------------- */
.rb-faq-item.is-hidden { display:none; }
.rb-faq-cat.is-empty   { display:none; }

/* --- PREFERS REDUCED MOTION ------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
  .rb-faq-search,
  .rb-faq-item,
  .rb-faq-item__toggle,
  .rb-faq-item__panel,
  .rb-faq-help__cta,
  .rb-faq-help__cta span,
  .rb-faq-closure__cta,
  .rb-faq-closure__cta span,
  .rb-faq-toast {
    transition:none !important;
    animation:none !important;
  }
}

/* --- RESPONSIVE -------------------------------------------------------- */
@media (max-width: 960px) {
  .rb-faq-shell { padding:48px 20px 80px; }
  .rb-faq-shell__inner {
    grid-template-columns:1fr;
    gap:36px;
  }
  .rb-faq-aside__sticky {
    position:relative;
    top:auto;
    max-height:none;
    overflow:visible;
    padding-right:0;
  }
  .rb-faq-nav__list {
    flex-direction:row;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding-bottom:8px;
    margin-bottom:14px;
  }
  .rb-faq-nav__item { scroll-snap-align:start; flex-shrink:0; }
  .rb-faq-nav__link { padding:10px 14px; }
  .rb-faq-nav__link::before { display:none; }
  .rb-faq-help { display:none; }
}
@media (max-width: 600px) {
  .rb-faq-hero { padding:48px 20px 40px; }
  .rb-faq-item__btn { padding:18px 20px; gap:14px; font-size:1.04rem; }
  .rb-faq-item__num { display:none; }
  .rb-faq-item__answer { padding:0 20px 8px; font-size:.96rem; }
  .rb-faq-item__footer { margin:14px 20px 18px; }
  .rb-faq-item__actions { flex-direction:column; align-items:flex-start; gap:10px; }
  .rb-faq-cat { margin-bottom:56px; }
  .rb-faq-closure { padding:36px 20px; }
}
