/* HistóriaSocial — CSS compartilhado (redesign 11/10/2026). Mobile-first, sem framework. */
:root{
  --bg:#fbf7f0;--bg2:#f3ece1;--card:#fff;--fg:#1f2a37;--mut:#4f5867;--bd:#e7dfd2;
  --c:#1f6474;--c-h:#174f5c;--c-soft:#e2eff0;--sage:#e5efe6;--peach:#f8e6d3;--sand:#fdf3e4;
  --r:16px;--sh:0 1px 2px rgba(31,42,55,.05),0 6px 20px rgba(31,42,55,.06);
  --ff:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --fh:ui-rounded,"SF Pro Rounded","Nunito","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--ff);background:var(--bg);color:var(--fg);line-height:1.55;font-size:17px}
img{max-width:100%;height:auto;display:block}
a{color:var(--c)}
:focus-visible{outline:3px solid #e0a23b;outline-offset:2px;border-radius:6px}
.w{max-width:1080px;margin:0 auto;padding:0 18px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
h1,h2,h3{font-family:var(--fh);line-height:1.2;letter-spacing:-.01em}
h2{font-size:clamp(24px,4.4vw,32px);margin:0 0 8px}
.lead{color:var(--mut);margin:0 0 20px}
.small{font-size:14px;color:var(--mut)}
section.s{padding:44px 0}
section.s.alt{background:var(--bg2)}

/* Topo */
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}
.logo{font-family:var(--fh);font-weight:700;font-size:18px;color:var(--fg);text-decoration:none;display:flex;align-items:center;gap:8px}
.logo svg{flex:none}
.top a.mh{font-size:15px;color:var(--c);text-decoration:none;padding:10px 4px;min-height:44px;display:inline-flex;align-items:center}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:14px 24px;border:0;border-radius:14px;background:var(--c);color:#fff;font-weight:700;font-size:17px;font-family:inherit;text-decoration:none;cursor:pointer;transition:background .15s}
.btn:hover{background:var(--c-h)}
.btn:disabled{opacity:.7;cursor:wait}
.btn.full{width:100%}
.btn.ghost{background:transparent;color:var(--c);border:2px solid var(--c)}
.btn.ghost:hover{background:var(--c-soft)}

/* Hero */
.hero{padding:4px 0 28px}
.hero .eyebrow{display:inline-block;font-size:13.5px;font-weight:600;color:var(--c);background:var(--c-soft);border-radius:99px;padding:4px 12px;margin:0 0 10px}
.hero h1{font-size:clamp(23px,6.2vw,44px);margin:0 0 14px}
.book{position:relative;border-radius:18px;overflow:hidden;box-shadow:0 2px 4px rgba(31,42,55,.06),0 14px 34px rgba(31,42,55,.12);background:#f6ead6;border:6px solid #fff}
.book img{width:100%;aspect-ratio:3/2;object-fit:cover}
.book .ttl{position:absolute;left:50%;bottom:10px;margin:0;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);background:rgba(255,253,248,.94);color:#24323f;font-family:var(--fh);font-weight:800;font-size:clamp(17px,4.8vw,30px);line-height:1.15;padding:7px 16px 8px;border-radius:12px;text-align:center;box-shadow:0 2px 8px rgba(31,42,55,.12);overflow-wrap:anywhere}
.book .ttl small{display:block;font-size:.5em;font-weight:600;color:var(--mut);letter-spacing:.02em}
.nm{display:flex;align-items:center;gap:10px;margin:12px 0 0;background:#fff;border:1px solid var(--bd);border-radius:14px;padding:6px 6px 6px 14px}
.nm label{font-size:14px;font-weight:600;white-space:nowrap;color:var(--mut)}
.nm input{flex:1;min-width:0;border:0;background:var(--sand);border-radius:10px;padding:10px 12px;font-size:16px;font-family:inherit;min-height:44px;color:var(--fg)}
.buy{display:flex;align-items:center;gap:14px;margin:16px 0 8px}
.price{font-family:var(--fh);font-weight:800;font-size:30px;line-height:1;white-space:nowrap}
.price small{display:block;font-family:var(--ff);font-size:13px;font-weight:500;color:var(--mut);margin-top:4px}
.buy .btn{flex:1}
.ticks{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:14px;color:var(--mut)}
.ticks li{display:flex;align-items:center;gap:6px}
.ticks li::before{content:"";width:16px;height:16px;flex:none;border-radius:50%;background:var(--sage) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.3l2.2 2.2 4.8-4.8' fill='none' stroke='%232f6b4a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.hero .sub{display:none;font-size:18px;color:var(--mut);margin:0}
.hero .for{font-size:15px;color:var(--mut);margin:14px 0 0}
@media(min-width:900px){
  .hero{padding:24px 0 48px}
  .hero .g{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center}
  .hero .sub{display:block}
  .hero h1{margin-bottom:18px}
}

/* Amostras (livro) */
.tabs{display:flex;gap:8px;margin:0 0 14px;overflow-x:auto;padding-bottom:2px}
.tabs button{flex:none;min-height:44px;padding:8px 16px;border-radius:99px;border:1px solid var(--bd);background:#fff;color:var(--fg);font:600 15px var(--ff);cursor:pointer}
.tabs button[aria-selected=true]{background:var(--c);border-color:var(--c);color:#fff}
.sample{background:#fff;border:1px solid var(--bd);border-radius:var(--r);box-shadow:var(--sh);padding:12px}
.sample[hidden]{display:none}
.pages{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;scrollbar-width:none;border-radius:12px;overscroll-behavior-x:contain}
.pages::-webkit-scrollbar{display:none}
.pg{flex:0 0 100%;scroll-snap-align:center;margin:0}
.pg img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:12px;background:var(--sand)}
.pg figcaption{font-size:17px;line-height:1.45;margin:10px 4px 0;min-height:3em}
.pg figcaption b{font-family:var(--fh)}
.pg .n{display:block;font-size:12.5px;color:var(--mut);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}
.nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 4px}
.nav button{width:48px;height:48px;border-radius:50%;border:1px solid var(--bd);background:#fff;color:var(--c);font-size:22px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.nav button:disabled{opacity:.35;cursor:default}
.dots{display:flex;gap:6px}
.dots span{width:8px;height:8px;border-radius:50%;background:var(--bd)}
.dots span.on{background:var(--c)}
.aud{display:flex;flex-direction:column;gap:6px;margin:10px 0 2px;padding:12px;border-radius:12px;background:var(--sand)}
.aud p{margin:0;font-size:14px;color:var(--mut)}
.aud audio{width:100%;height:44px}
.sample .more{display:inline-flex;align-items:center;min-height:44px;font-weight:700;margin-top:4px;text-decoration:none}
.note{margin:14px 0 0}
@media(min-width:900px){
  .smp{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:start}
  .sample{padding:18px}
}

/* Passos */
.steps{list-style:none;padding:0;margin:0;display:grid;gap:12px;counter-reset:s}
.steps li{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--bd);border-radius:var(--r);padding:16px}
.steps li::before{counter-increment:s;content:counter(s);flex:none;width:40px;height:40px;border-radius:50%;background:var(--peach);color:#7a3e16;font:800 19px var(--fh);display:flex;align-items:center;justify-content:center}
.steps h3{margin:0 0 4px;font-size:18px}
.steps p{margin:0;color:var(--mut);font-size:15.5px}
@media(min-width:760px){.steps{grid-template-columns:repeat(3,1fr)}.steps li{flex-direction:column}}

/* Garantia (placeholder) */
.garantia{display:flex;gap:14px;align-items:center;background:var(--sage);border:1px solid #c9dfcd;border-radius:var(--r);padding:18px;margin:28px 0 0}
.garantia svg{flex:none}
.garantia p{margin:0;font-weight:700;font-family:var(--fh);font-size:19px;color:#23442f}
.garantia--oculta{display:none!important}
.garantia-prazo{display:block;margin-top:4px;font-family:var(--ff);font-weight:400;font-size:15px;color:#23442f}
.garantia-prazo a{color:#23442f}

/* Selos */
.badges{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.badges li{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--bd);border-radius:14px;padding:14px;font-size:14.5px;font-weight:600;line-height:1.35}
.badges svg{color:var(--c)}
@media(min-width:760px){.badges{grid-template-columns:repeat(4,1fr)}}

/* Pedido */
.order{display:grid;gap:18px}
.inc{background:#fff;border:1px solid var(--bd);border-radius:var(--r);padding:18px}
.inc h3{margin:0;font-size:18px}
.inc .v{font:800 34px var(--fh);margin:4px 0 8px}
.inc ul{margin:0;padding-left:20px;color:var(--mut);font-size:15.5px}
.inc li{margin:4px 0}
.inc .ter{border-top:1px solid var(--bd);margin-top:14px;padding-top:12px;font-size:14.5px;color:var(--mut)}
form#f{display:grid;gap:14px;background:#fff;border:1px solid var(--bd);border-radius:var(--r);padding:18px;box-shadow:var(--sh)}
form#f label{font-weight:600;font-size:15px;display:grid;gap:6px}
form#f input,form#f select{width:100%;padding:12px 14px;min-height:48px;border-radius:12px;border:1px solid #cfc6b8;background:#fff;font-size:16px;font-family:inherit;color:var(--fg)}
form#f label.ck{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px;color:var(--mut)}
form#f label.ck input{width:22px;height:22px;min-height:0;margin:1px 0 0;flex:none;accent-color:var(--c)}
.pay{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13.5px;color:var(--mut);margin:0}
.ok{display:none;background:#e7f4ec;border:1px solid #a9d3b9;border-radius:var(--r);padding:18px}
@media(min-width:900px){.order{grid-template-columns:1fr 1.3fr;align-items:start;gap:32px}}

/* FAQ */
.faq details{background:#fff;border:1px solid var(--bd);border-radius:14px;margin:0 0 10px}
.faq summary{cursor:pointer;list-style:none;padding:14px 48px 14px 16px;min-height:52px;font-weight:700;position:relative;display:flex;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:24px;font-weight:400;color:var(--c)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0;padding:0 16px 16px;color:var(--mut)}

footer.ft{color:var(--mut);font-size:14px;border-top:1px solid var(--bd);padding:22px 0 96px}
footer.ft a{display:inline-block;padding:10px 0}

/* Barra fixa (celular) */
.bar{position:fixed;left:0;right:0;bottom:0;z-index:5;background:rgba(251,247,240,.97);border-top:1px solid var(--bd);padding:10px 14px calc(10px + env(safe-area-inset-bottom));display:flex;gap:12px;align-items:center;transform:translateY(110%);transition:transform .2s}
.bar.on{transform:none}
.bar .price{font-size:22px}
.bar .btn{flex:1;min-height:48px}
@media(min-width:900px){.bar{display:none}footer.ft{padding-bottom:28px}}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
