/* =====================================================================
   FITCOM — Fitness Trial 2.0  ·  page-scoped styles (/fitness-trial)
   Self-contained — does NOT touch site.css. Brand tokens from site.css
   (--fc-orange #F6921E). Cream #FEF7ED · Ink #1A1A1A · border #E5E7EB.
   ===================================================================== */
.page-trial{ --t-orange:var(--fc-orange,#F6921E); --t-ink:#1A1A1A; --t-cream:#FEF7ED; --t-border:#E5E7EB; --t-muted:#5b5b5b; }

/* ---- Hero ---- */
.trial-hero{ background:linear-gradient(180deg,var(--t-cream) 0%,#fff 100%); }
.trial-hero__cta{ display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.6rem; }
.trial-hero__meta{ margin-top:1rem; font-size:.9rem; font-weight:600; letter-spacing:.02em; color:var(--t-muted); }

/* ---- Shared section heads ---- */
.trial-sec__head{ max-width:760px; margin:0 auto 2.4rem; text-align:center; }
.trial-sec__head .fc-h2{ margin:.4rem 0 0; }

/* ---- §2 Two sessions ---- */
.trial-sessions{ padding:4.5rem 0; }
.trial-sessions__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; }
.session-card{ background:#fff; border:1px solid var(--t-border); border-radius:18px; padding:2rem 1.9rem; box-shadow:0 14px 40px -28px rgba(0,0,0,.35); }
.session-card__no{ display:inline-block; font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--t-orange); }
.session-card__title{ margin:.5rem 0 .8rem; font-size:1.6rem; line-height:1.15; }
.session-card__lead{ color:var(--t-muted); margin:0 0 1.1rem; }
.session-card__foot{ margin:1.1rem 0 0; color:var(--t-muted); font-size:.95rem; }
.trial-list{ list-style:none; margin:0; padding:0; display:grid; gap:.7rem; }
.trial-list li{ position:relative; padding-left:1.5rem; line-height:1.55; }
.trial-list li::before{ content:""; position:absolute; left:0; top:.55em; width:8px; height:8px; border-radius:50%; background:var(--t-orange); }
.trial-list strong{ color:var(--t-ink); }

/* ---- §3 Value stack (on section--ink dark) ---- */
.trial-value{ padding:4.5rem 0; }
.trial-value .fc-h2, .trial-value .fc-eyebrow{ color:#fff; }
.value-stack{ max-width:680px; margin:0 auto; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.14); border-radius:18px; overflow:hidden; }
.value-row{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.05rem 1.5rem; border-bottom:1px solid rgba(255,255,255,.10); }
.value-row:last-child{ border-bottom:0; }
.value-row__main{ display:flex; flex-direction:column; gap:.15rem; }
.value-row__name{ color:#fff; font-weight:600; }
.value-row__desc{ color:rgba(255,255,255,.6); font-size:.86rem; }
.value-row__price{ color:#fff; font-weight:700; white-space:nowrap; }
.value-row--total{ background:rgba(255,255,255,.03); }
.value-row--total .value-row__price s{ color:rgba(255,255,255,.55); }
.value-row--pay{ background:var(--t-orange); }
.value-row--pay .value-row__name, .value-row--pay .value-row__price{ color:#1A1A1A; font-size:1.15rem; font-weight:800; }
.trial-value__cta{ text-align:center; margin-top:2rem; }

/* ---- §4 E.A.R.N. ---- */
.trial-earn{ padding:4.5rem 0; background:var(--t-cream); }
.earn-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; }
.earn-item{ background:#fff; border:1px solid var(--t-border); border-radius:16px; padding:1.7rem 1.4rem; text-align:center; }
.earn-item__letter{ display:inline-grid; place-items:center; width:52px; height:52px; margin:0 auto .8rem; border-radius:14px; background:var(--t-orange); color:#fff; font-weight:800; font-size:1.5rem; }
.earn-item__title{ font-size:1.15rem; margin:0 0 .4rem; }
.earn-item__body{ color:var(--t-muted); font-size:.92rem; margin:0; line-height:1.55; }
.trial-earn__note{ max-width:760px; margin:2.4rem auto 0; text-align:center; color:var(--t-muted); font-size:.95rem; }

/* ---- §5 Worries ---- */
.trial-worries{ padding:4.5rem 0; }
.worry-list{ max-width:820px; margin:0 auto; display:grid; gap:1rem; }
.worry-item{ border:1px solid var(--t-border); border-left:4px solid var(--t-orange); border-radius:12px; padding:1.3rem 1.5rem; background:#fff; }
.worry-item__q{ font-weight:700; color:var(--t-ink); margin:0 0 .45rem; }
.worry-item__a{ color:var(--t-muted); margin:0; line-height:1.6; }

/* ---- §6 FAQ ---- */
.trial-faq{ padding:4.5rem 0; background:var(--t-cream); }
.faq-list{ max-width:820px; margin:0 auto; display:grid; gap:.7rem; }
.faq-item{ background:#fff; border:1px solid var(--t-border); border-radius:12px; padding:0 1.4rem; }
.faq-item summary{ list-style:none; cursor:pointer; padding:1.1rem 2rem 1.1rem 0; font-weight:600; color:var(--t-ink); position:relative; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{ content:"+"; position:absolute; right:0; top:50%; transform:translateY(-50%); font-size:1.4rem; font-weight:400; color:var(--t-orange); line-height:1; }
.faq-item[open] summary::after{ content:"\2212"; }
.faq-item p{ margin:0; padding:0 0 1.2rem; color:var(--t-muted); line-height:1.65; }

/* ---- §7 Final CTA ---- */
.trial-finalcta .trial-hero__cta{ justify-content:center; }

/* ---- Responsive ---- */
@media (max-width:820px){
  .trial-sessions__grid{ grid-template-columns:1fr; }
  .earn-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:520px){
  .earn-grid{ grid-template-columns:1fr; }
  .value-row{ padding:.95rem 1.1rem; }
  .trial-hero__cta .fc-btn{ flex:1 1 auto; text-align:center; }
}
