/* pages.css — multi-page chrome + home P1 sections + error state. */

/* ---------- breadcrumb ---------- */
.crumb-bar { background: var(--surface-2); border-bottom: 1px solid var(--border); }
.crumb { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; padding: 14px 0; font-size: 13.5px; font-weight: 600; }
.crumb-seg { display: inline-flex; align-items: center; gap: 6px; color: var(--ink-3); }
.crumb-seg a { color: var(--ink-3); }
.crumb-seg a:hover { color: var(--primary); }
.crumb-seg svg { color: var(--ink-4); }
.crumb-seg [aria-current="page"] { color: var(--ink); }

/* ---------- generic content/legal page ---------- */
.page-title { font-size: clamp(28px, 3.6vw, 42px); letter-spacing: -0.025em; margin: 6px 0 0; }
.legal-wrap { max-width: 760px; }
.legal-lead { font-size: 18px; color: var(--ink-2); margin: 18px 0 8px; line-height: 1.55; }
.legal-wrap h2 { font-size: 21px; margin: 32px 0 10px; }
.legal-wrap p { font-size: 15.5px; color: var(--ink-2); margin-bottom: 14px; line-height: 1.65; }
.legal-wrap p strong { color: var(--ink); }
.legal-note { display: inline-flex; align-items: flex-start; gap: 9px; font-size: 13.5px; color: var(--ink-3); background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--r-md); padding: 12px 15px; margin: 18px 0 6px; }
.legal-note svg { color: var(--warning); flex: none; margin-top: 1px; }

/* ---------- trust band ---------- */
.trustband { background: var(--surface-2); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.tb-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.tb-item { background: #fff; border: 1px solid var(--border); border-radius: var(--r-lg); padding: 26px 22px; box-shadow: var(--sh-xs); display: flex; flex-direction: column; gap: 6px; }
.tb-ic { width: 46px; height: 46px; border-radius: 13px; display: grid; place-items: center; background: var(--primary-050); color: var(--primary); margin-bottom: 8px; }
.tb-stat { font-size: 22px; font-weight: 800; color: var(--ink); letter-spacing: -0.02em; }
.tb-label { font-size: 14px; color: var(--ink-3); line-height: 1.45; }
.tb-money { margin-top: 24px; background: #fff; border: 1px solid var(--border); border-left: 3px solid var(--primary); border-radius: var(--r-md); padding: 20px 24px; max-width: 880px; }
.tb-money h3 { display: inline-flex; align-items: center; gap: 9px; font-size: 16.5px; margin-bottom: 8px; }
.tb-money h3 svg { color: var(--primary); }
.tb-money p { font-size: 14.5px; color: var(--ink-2); line-height: 1.6; }
@media (max-width: 860px) { .tb-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 460px) { .tb-grid { grid-template-columns: 1fr; } }

/* ---------- vs direct ---------- */
.vs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 900px; margin-inline: auto; }
.vs-card { border-radius: var(--r-lg); padding: 28px 26px; border: 1px solid var(--border); }
.vs-card h3 { font-size: 18px; margin-bottom: 16px; }
.vs-card ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.vs-card li { display: flex; align-items: flex-start; gap: 11px; font-size: 15px; color: var(--ink-2); font-weight: 500; }
.vs-card li svg { flex: none; margin-top: 2px; }
.vs-card--bad { background: var(--surface-2); }
.vs-card--bad li svg { color: var(--ink-4); }
.vs-card--good { background: #fff; border-color: var(--primary); box-shadow: 0 0 0 1px var(--primary), var(--sh-md); }
.vs-card--good li svg { color: var(--positive); }
@media (max-width: 680px) { .vs-grid { grid-template-columns: 1fr; } }

/* ---------- social proof ---------- */
.proof-rating { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px; margin-bottom: 32px; }
.proof-stars { display: inline-flex; color: #F5A623; }
.proof-stars svg { fill: #F5A623; }
.proof-score { font-size: 22px; font-weight: 800; color: var(--ink); }
.proof-meta { font-size: 14px; }
.proof-ph { font-size: 11.5px; font-style: italic; opacity: .8; margin-left: 4px; }
.proof-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 920px; margin-inline: auto; }
.proof-card { background: #fff; border: 1px solid var(--border); border-radius: var(--r-lg); padding: 26px; box-shadow: var(--sh-sm); margin: 0; }
.proof-card blockquote { margin: 0 0 14px; font-size: 16.5px; line-height: 1.55; color: var(--ink); }
.proof-card figcaption { font-size: 14px; font-weight: 700; color: var(--ink-2); }
@media (max-width: 680px) { .proof-grid { grid-template-columns: 1fr; } }

/* ---------- sticky mobile CTA ---------- */
.sticky-cta { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: none;
  flex-direction: column; align-items: center; gap: 5px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
  background: rgba(255,255,255,0.94); backdrop-filter: saturate(160%) blur(10px); border-top: 1px solid var(--border);
  transform: translateY(110%); transition: transform .28s cubic-bezier(.22,.61,.36,1); }
.sticky-cta.is-show { transform: translateY(0); }
.sticky-cta-trust { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; color: #0a7d56; }
@media (max-width: 820px) { .sticky-cta { display: flex; } }

/* ---------- production error state ---------- */
.err-card { max-width: 520px; margin: 30px auto 0; background: #fff; border: 1px solid var(--border); border-radius: var(--r-xl);
  box-shadow: var(--sh-md); padding: 36px 32px; text-align: center; }
.err-card-ic { width: 60px; height: 60px; border-radius: 16px; display: grid; place-items: center; margin: 0 auto 18px; background: var(--warning-050); color: var(--warning); }
.err-card h2 { font-size: 23px; }
.err-card p { color: var(--ink-3); margin-top: 12px; font-size: 15.5px; }
.err-card-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin: 24px 0 16px; }
