/* ============================================================
   Tokpeças — static site layout (framework-free).
   Links the design system: ../../styles.css provides tokens + .tp-* utils.
   ============================================================ */

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.86);backdrop-filter:var(--blur-md);
  border-bottom:1px solid var(--border-subtle);
}
.site-header__inner{display:flex;align-items:center;gap:var(--space-6);min-height:68px}
.site-header__logo{display:flex;align-items:center;gap:var(--space-3);margin-right:auto}
.site-header__logo img{height:30px}
.site-header__badge{
  font-family:var(--font-label);font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-pill);
  padding:.4em .7em;line-height:1;
}
.site-nav{display:flex;align-items:center;gap:var(--space-5)}
.site-nav a{font-size:var(--fs-small);font-weight:var(--fw-medium);color:var(--text-body)}
.site-nav a:hover{color:var(--accent)}
.site-header__switch{font-size:var(--fs-caption);color:var(--text-muted);font-weight:var(--fw-medium)}
.site-header__switch a{color:var(--accent);font-weight:var(--fw-semibold)}
@media(max-width:1040px){.site-nav{display:none}}
@media(max-width:680px){.site-header__switch{display:none}}

/* ---------- Generic section header ---------- */
.section-head{max-width:720px;margin-bottom:var(--space-8)}
.section-head--center{margin-inline:auto;text-align:center}
.section-head h2{margin:var(--space-3) 0 var(--space-4)}
.section-head p{font-size:var(--fs-body-lg);color:var(--text-muted)}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--grad-page)}
.hero::before{content:"";position:absolute;inset:0;background:var(--grad-hero-tint);pointer-events:none}
.hero__grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:var(--space-9);align-items:center;
  padding-block:clamp(3rem,1.5rem + 6vw,6rem)}
.hero__title{font-size:var(--fs-h1);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);margin:var(--space-4) 0}
.hero__title em{font-style:normal;color:var(--accent)}
.hero__lead{font-size:var(--fs-body-lg);color:var(--text-muted);max-width:34ch;margin-bottom:var(--space-6)}
.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-6)}
.hero__trust{display:flex;flex-wrap:wrap;gap:var(--space-5);font-size:var(--fs-small);color:var(--text-muted)}
.hero__trust b{color:var(--text-strong);font-weight:var(--fw-bold)}
@media(max-width:900px){.hero__grid{grid-template-columns:1fr;gap:var(--space-7)}}

/* ---------- Mock UI (product visuals, no deps) ---------- */
.mock{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);
  box-shadow:var(--shadow-lg);overflow:hidden}
.mock__bar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);
  background:var(--surface-sunken);border-bottom:1px solid var(--border-subtle)}
.mock__dot{width:9px;height:9px;border-radius:50%;background:var(--tp-slate-300)}
.mock__title{font-size:var(--fs-caption);color:var(--text-muted);font-weight:var(--fw-medium);margin-left:var(--space-2)}
.mock__body{padding:var(--space-5)}
.mock__search{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);
  border:1px solid var(--border-default);border-radius:var(--radius-pill);color:var(--text-muted);font-size:var(--fs-small)}
.mock__row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);
  border:1px solid var(--border-subtle);margin-top:var(--space-3);background:var(--surface-card)}
.mock__row--hit{border-color:var(--accent);box-shadow:var(--shadow-sm)}
.mock__thumb{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--surface-sunken);flex:none;
  display:flex;align-items:center;justify-content:center;color:var(--accent)}
.mock__rowmeta{flex:1;min-width:0}
.mock__rowmeta b{display:block;font-size:var(--fs-small);color:var(--text-strong)}
.mock__rowmeta span{font-size:var(--fs-caption);color:var(--text-muted)}
.mock__match{font-size:var(--fs-caption);font-weight:var(--fw-bold);color:var(--tp-success-600)}
.mock__kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}
.mock__kpi{padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-sunken)}
.mock__kpi .k{font-size:var(--fs-caption);color:var(--text-muted)}
.mock__kpi .v{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-h5);color:var(--text-strong);margin-top:4px}
.mock__kpi .v small{font-size:var(--fs-caption);color:var(--tp-success-600);font-weight:var(--fw-semibold);margin-left:6px}
.mock__chart{display:flex;align-items:flex-end;gap:6px;height:72px;margin-top:var(--space-4)}
.mock__chart span{flex:1;background:linear-gradient(180deg,var(--accent),var(--accent-strong));border-radius:4px 4px 0 0;opacity:.85}

/* ---------- Feature / benefit grid ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}
@media(max-width:860px){.grid-3{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}}
.feature__icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent);
  display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4)}
.feature h3{font-size:var(--fs-h6);margin-bottom:var(--space-2)}
.feature p{font-size:var(--fs-small);color:var(--text-muted)}
.feature__list{list-style:none;padding:0;margin:var(--space-4) 0 0;display:flex;flex-direction:column;gap:var(--space-2)}
.feature__list li{position:relative;padding-left:1.5em;font-size:var(--fs-small);color:var(--text-body)}
.feature__list li::before{content:"→";position:absolute;left:0;color:var(--accent);font-weight:var(--fw-bold)}

/* ---------- Section variants ---------- */
.section-dark{background:var(--grad-navy-deep);color:var(--text-on-dark-muted)}
.section-tint{background:var(--surface-tint)}
.section-sunken{background:var(--surface-sunken)}

/* ---------- SEM / COM comparison ---------- */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
@media(max-width:760px){.compare{grid-template-columns:1fr}}
.compare__col{border-radius:var(--radius-xl);padding:var(--space-6);border:1px solid var(--border-subtle);background:var(--surface-card)}
.compare__col--sem{border-color:color-mix(in srgb,var(--tp-danger-500) 40%,transparent)}
.compare__col--com{border-color:color-mix(in srgb,var(--tp-success-500) 45%,transparent)}
.compare__col h3{font-size:var(--fs-h5)}
.compare__col--sem h3{color:var(--tp-danger-600)}
.compare__col--com h3{color:var(--tp-success-600)}
.compare__list{list-style:none;padding:0;margin:var(--space-4) 0 0;display:flex;flex-direction:column;gap:var(--space-3)}
.compare__list li{display:flex;gap:var(--space-3);align-items:flex-start;font-size:var(--fs-small);color:var(--text-body)}
.compare__list .m{flex:none;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-top:1px}
.compare__col--sem .m{background:var(--tp-danger-50);color:var(--tp-danger-600)}
.compare__col--com .m{background:var(--tp-success-50);color:var(--tp-success-600)}

/* ---------- RASTRO grid ---------- */
.rastro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}
@media(max-width:860px){.rastro-grid{grid-template-columns:1fr}}

/* ---------- Stat band ---------- */
.stat-band{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6);text-align:center}
@media(max-width:760px){.stat-band{grid-template-columns:repeat(2,1fr);gap:var(--space-7)}}
.stat-band .tp-stat__value{font-size:var(--fs-h2)}

/* ---------- CTA band ---------- */
.cta-band{background:var(--grad-navy-deep);border-radius:var(--radius-xl);padding:clamp(2.5rem,1.5rem + 4vw,4.5rem);
  text-align:center;position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;inset:0;background:var(--grad-gear-glow);pointer-events:none}
.cta-band h2{color:var(--text-on-dark);position:relative}
.cta-band p{color:var(--text-on-dark-muted);max-width:52ch;margin:var(--space-4) auto var(--space-6);position:relative}
.cta-band .hero__actions{justify-content:center;position:relative}

/* ---------- Footer ---------- */
.site-footer{background:var(--surface-darker);color:var(--text-on-dark-muted);padding-block:var(--space-8)}
.site-footer__top{display:flex;flex-wrap:wrap;gap:var(--space-6);align-items:center;justify-content:space-between;
  padding-bottom:var(--space-6);border-bottom:1px solid var(--border-on-dark)}
.site-footer img{height:28px}
.site-footer__links{display:flex;flex-wrap:wrap;gap:var(--space-5)}
.site-footer__links a{color:var(--text-on-dark-muted);font-size:var(--fs-small)}
.site-footer__links a:hover{color:var(--text-on-dark)}
.site-footer__legal{font-size:var(--fs-caption);color:rgba(255,255,255,.5);padding-top:var(--space-5)}

/* icon sizing */
.ico{width:1.25em;height:1.25em;stroke-width:2;flex:none}
.feature__icon .ico,.mock__thumb .ico{width:24px;height:24px}

/* ---------- Fluid navigation (in-page scroll + page-load motion) ---------- */
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:88px}
body{animation:tp-page-in .45s var(--ease-out) both}
@keyframes tp-page-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body{animation:none}
}

/* ---------- WhatsApp floating button ---------- */
.wa-float{
  position:fixed;right:var(--space-6);bottom:var(--space-6);z-index:200;
  width:60px;height:60px;border-radius:50%;
  background:#25D366;color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-lg);
  transition:transform var(--dur) var(--ease-spring),box-shadow var(--dur) var(--ease-out);
}
.wa-float:hover{background:#25D366;color:#fff;transform:translateY(-3px) scale(1.06);box-shadow:var(--shadow-xl)}
.wa-float svg{width:30px;height:30px}
@media(max-width:600px){.wa-float{right:var(--space-4);bottom:var(--space-4);width:52px;height:52px}.wa-float svg{width:26px;height:26px}}

/* ---------- Footer social links ---------- */
.site-footer__social{display:flex;align-items:center;gap:var(--space-3)}
.site-footer__social a{
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;flex:none;
  background:rgba(255,255,255,.08);color:var(--text-on-dark-muted);
  transition:background var(--dur) var(--ease-out),color var(--dur) var(--ease-out),transform var(--dur) var(--ease-out);
}
.site-footer__social a:hover{background:var(--tp-blue-500);color:#fff;transform:translateY(-2px)}
.site-footer__social svg{width:18px;height:18px}
