/* ============================================================================
 * BigBreakingWire Prime — Premium: Public + Static Pages
 * ----------------------------------------------------------------------------
 * Scoped override layer for /prime/ (landing incl. #pricing), /prime/faq/,
 * /prime/{about,contact,privacy,terms,refund}/ (.legal-*), and
 * /prime/weekly-digest/ (.bbw-digest-*). Plan prices, keys, checkout entry
 * points (startPayUCheckout/proceedLandingCheckout), redirects, FAQ toggles
 * and the digest iframe contract (srcdoc + resizeFrame) are untouched
 * (PHP/JS unmodified).
 *
 * SAFETY CONTRACT: cosmetic only — chrome, rhythm, focus, numerals. Never
 * restyle plan-amount digits' values (typography/tabular only), never hide
 * CTAs, never touch .tour-stage slide logic (.active owned by JS), never
 * size the digest iframe. No !important, z-index, position, canvas rules.
 * ========================================================================== */

/* ================= LANDING ================= */
.navbar-pill { box-shadow: 0 1px 3px rgba(11, 21, 38, .08), 0 5px 16px rgba(11, 21, 38, .07); }
.nav-cta:focus-visible, .nav-toggle:focus-visible, .nav-links a:focus-visible {
    outline: 2px solid var(--bbw-blue, #1e56e0); outline-offset: 2px; border-radius: 8px;
}
.hero-title { letter-spacing: -.4px; }
.hero-subtitle { max-width: 62ch; }
.btn-pill-primary, .btn-pill-secondary { transition: background .15s ease, border-color .15s ease, color .15s ease; }
.btn-pill-primary:focus-visible, .btn-pill-secondary:focus-visible {
    outline: 2px solid var(--bbw-blue, #1e56e0); outline-offset: 2px;
}
.hero-floating-card { box-shadow: 0 12px 40px rgba(11, 21, 38, .14); }
.hero-floating-card .value { font-variant-numeric: tabular-nums; }
.trust-logo-item { border-radius: 10px; }
.tour-tab {
    font-family: inherit;
    transition: border-color .12s ease, color .12s ease, background .12s ease;
}
.tour-tab:focus-visible { outline: 2px solid var(--bbw-blue, #1e56e0); outline-offset: 2px; }
.tour-slide .shot-kpis, .tour-slide .shot-rows { font-variant-numeric: tabular-nums; }
.tour-route { border-radius: 6px; }
.tour-route:focus-visible { outline: 2px solid var(--bbw-blue, #1e56e0); outline-offset: 2px; }
.bento-card { border-radius: 16px; }
.bento-card .huge-number { font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.feature-tag { border-radius: 999px; }
.wyg-check { border-radius: 50%; }

/* Pricing: presentation only — amounts, plan keys, checkout fns untouched. */
.pricing-wrapper { scroll-margin-top: 20px; }
.pricing-card {
    border-radius: 16px;
    box-shadow: 0 1px 3px rgba(11, 21, 38, .08), 0 5px 16px rgba(11, 21, 38, .07);
    transition: border-color .15s ease, box-shadow .15s ease;
}
.pricing-card:hover { border-color: var(--bbw-border-strong, #cfd8e3); }
.pricing-card.featured { border-color: var(--bbw-blue, #1e56e0); }
.pricing-card .amount { font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.pricing-card .amount span { font-variant-numeric: tabular-nums; }
.pricing-features li { font-variant-numeric: tabular-nums; }
.btn-pricing-action { transition: background .15s ease, border-color .15s ease, color .15s ease; }
.btn-pricing-action:focus-visible { outline: 2px solid var(--bbw-blue, #1e56e0); outline-offset: 2px; }
.pricing-pill-badge { border-radius: 999px; letter-spacing: .4px; }
.bottom-banner { border-radius: 16px; }
.disclaimer { max-width: 110ch; }

/* ================= FAQ ================= */
.faq-header-inner { max-width: 860px; }
.faq-search {
    font-family: inherit;
    border-radius: 12px;
}
.faq-search:focus { outline: none; }
.faq-search-wrap:focus-within { box-shadow: 0 0 0 3px rgba(30, 86, 224, .12); border-radius: 12px; }
.faq-cat {
    font-family: inherit;
    border-radius: 999px;
    transition: border-color .12s ease, color .12s ease, background .12s ease;
}
.faq-cat:focus-visible { outline: 2px solid var(--bbw-blue, #1e56e0); outline-offset: 2px; }
.faq-main { max-width: 860px; }
.faq-item { border-radius: 12px; }
.faq-q { font-family: inherit; border-radius: 12px; }
.faq-q:focus-visible { outline: 2px solid var(--bbw-blue, #1e56e0); outline-offset: -2px; }
.faq-q-text { letter-spacing: -.1px; }
.faq-a-inner { max-width: 75ch; }
.faq-a-inner .metric-grid { gap: 10px; }
.faq-a-inner .metric-card { border-radius: 10px; }
.faq-a-inner .info-box, .faq-a-inner .info-amber, .faq-a-inner .info-green { border-radius: 10px; }
.faq-a-inner .try-btn { border-radius: 9px; }
.faq-a-inner .try-btn:focus-visible { outline: 2px solid var(--bbw-blue, #1e56e0); outline-offset: 2px; }
.faq-no-results:empty { display: none; }
.faq-footer a { border-radius: 4px; }
.faq-footer a:focus-visible { outline: 2px solid var(--bbw-blue, #1e56e0); outline-offset: 2px; }

/* ================= LEGAL ================= */
.legal-header-inner { max-width: 860px; }
.legal-main { max-width: 860px; }
.legal-card { border-radius: 14px; }
.legal-card p, .legal-card li { max-width: 78ch; }
.legal-card .info-box, .legal-card .info-amber, .legal-card .info-green, .legal-card .warn-box { border-radius: 10px; }
.legal-card .fact-grid { gap: 10px; }
.legal-card .fact-card { border-radius: 10px; }
.legal-card .cta-row { gap: 10px; }
.legal-card .btn-primary, .legal-card .btn-ghost { border-radius: 10px; }
.legal-card .btn-primary:focus-visible, .legal-card .btn-ghost:focus-visible,
.legal-card a:focus-visible, .legal-footer nav a:focus-visible {
    outline: 2px solid var(--bbw-blue, #1e56e0); outline-offset: 2px;
}
.legal-updated { font-variant-numeric: tabular-nums; }

/* ================= WEEKLY DIGEST ================= */
.bbw-digest-sidebar { gap: 10px; }
.bbw-digest-sidebar a { border-radius: 8px; }
.bbw-digest-sidebar a:focus-visible { outline: 2px solid var(--bbw-blue, #1e56e0); outline-offset: 2px; }
.bbw-digest-main { min-width: 0; }
#newsletter-frame { border-radius: 12px; background: var(--bbw-surface, #ffffff); }

/* ---- Responsive / motion ------------------------------------------------- */
@media (max-width: 700px) {
    .hero-title { letter-spacing: -.2px; }
    .faq-header-inner, .faq-main, .legal-header-inner, .legal-main { padding-left: 16px; padding-right: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .btn-pill-primary, .btn-pill-secondary, .tour-tab,
    .faq-cat, .btn-pricing-action, .pricing-card { transition: none; }
}
