/* Componentes */
.topbar{background:var(--olive-dark);color:#fff;font-size:.78rem;text-align:center;padding:.5rem 0;letter-spacing:.04em}
.topbar span{margin:0 1rem}
.header{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.header .container{display:flex;align-items:center;gap:1.5rem;padding:1rem 0}
.logo{font-family:var(--font-head);font-size:1.9rem;font-weight:600;color:var(--olive-dark);letter-spacing:.02em}
.logo small{display:block;font-family:var(--font-body);font-size:.62rem;letter-spacing:.3em;color:var(--muted);text-transform:uppercase}
.search{flex:1;display:flex;max-width:460px;margin-inline:auto}
.search input{flex:1;padding:.65rem 1rem;border:1px solid var(--line);border-radius:999px;background:var(--bg);font:inherit}
.cart-btn{position:relative;padding:.6rem 1.1rem;border-radius:999px;background:var(--olive-soft);font-weight:500}
.cart-btn b{background:var(--olive-dark);color:#fff;border-radius:999px;padding:0 .5rem;margin-left:.3rem;font-size:.8rem}
.nav{background:var(--surface);border-bottom:1px solid var(--line)}
.nav ul{display:flex;gap:1.8rem;justify-content:center;flex-wrap:wrap;padding:.8rem 0;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}
.nav a:hover{color:var(--olive)}

.hero{background:linear-gradient(120deg,var(--rose-soft),var(--olive-soft));padding:5rem 0}
.hero .container{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.hero h1{font-family:var(--font-head);font-size:clamp(2.4rem,5vw,4rem);line-height:1.05;color:var(--olive-dark)}
.hero p{margin:1.2rem 0 2rem;color:var(--muted);max-width:46ch}
.btn{display:inline-block;padding:.85rem 1.8rem;border-radius:999px;background:var(--olive-dark);color:#fff;font-weight:500;transition:.2s}
.btn:hover{background:var(--olive);transform:translateY(-2px)}
.btn.ghost{background:transparent;border:1.5px solid var(--olive-dark);color:var(--olive-dark);margin-left:.6rem}
.hero-art{aspect-ratio:1;border-radius:50% 50% 24px 24px;background:radial-gradient(circle at 30% 30%,#fff,var(--rose) 70%);display:grid;place-items:center;font-size:7rem;box-shadow:var(--shadow)}

.section{padding:4rem 0}
.section h2{font-family:var(--font-head);font-size:2.2rem;text-align:center;color:var(--olive-dark)}
.section .sub{text-align:center;color:var(--muted);margin:.3rem 0 2rem}
.chips{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-bottom:2rem}
.chip{padding:.5rem 1.1rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:.85rem}
.chip.active,.chip:hover{background:var(--olive-dark);color:#fff;border-color:var(--olive-dark)}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.4rem}
.card{background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:.2s}
.card:hover{transform:translateY(-4px)}
.thumb{position:relative;aspect-ratio:1;display:grid;place-items:center;font-size:4rem}
.badge{position:absolute;top:.7rem;left:.7rem;background:var(--rose);color:#5a2a2e;font-size:.72rem;font-weight:600;padding:.2rem .6rem;border-radius:999px}
.card-body{padding:1rem;display:flex;flex-direction:column;gap:.3rem;flex:1}
.card h3{font-size:.92rem;font-weight:500}
.old{color:var(--muted);text-decoration:line-through;font-size:.82rem}
.price{font-size:1.15rem;font-weight:600;color:var(--olive-dark)}
.pix{font-size:.78rem;color:var(--muted)}
.card .btn{margin-top:auto;text-align:center;padding:.6rem}

.perks{background:var(--surface);border-block:1px solid var(--line)}
.perks .container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;padding:2.5rem 0;text-align:center}
.perks strong{display:block;color:var(--olive-dark)}
.perks span{font-size:.85rem;color:var(--muted)}

.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.2rem}
.review{background:var(--surface);padding:1.4rem;border-radius:var(--radius);box-shadow:var(--shadow)}
.review p{font-style:italic;margin:.5rem 0}
.stars{color:#d9a441}

.faq{max-width:760px;margin-inline:auto}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:.7rem;padding:1rem 1.2rem}
.faq summary{cursor:pointer;font-weight:500}
.faq p{margin-top:.6rem;color:var(--muted);font-size:.92rem}

.footer{background:var(--olive-dark);color:#f3f1e6;padding:3rem 0 1.5rem;font-size:.9rem}
.footer .container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem}
.footer h4{font-family:var(--font-head);font-size:1.3rem;margin-bottom:.6rem}
.footer li{margin:.3rem 0}.footer a:hover{text-decoration:underline}
.copy{text-align:center;margin-top:2rem;opacity:.7;font-size:.8rem}

.wa{position:fixed;right:1.2rem;bottom:1.2rem;width:56px;height:56px;border-radius:50%;background:#25d366;display:grid;place-items:center;font-size:1.6rem;box-shadow:var(--shadow);z-index:30}
.toast{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%,120%);background:var(--ink);color:#fff;padding:.7rem 1.3rem;border-radius:999px;transition:.3s;z-index:40}
.toast.show{transform:translate(-50%,0)}

@media(max-width:800px){
  .hero .container{grid-template-columns:1fr}.hero-art{max-width:260px;margin-inline:auto;font-size:5rem}
  .header .container{flex-wrap:wrap}.search{order:3;max-width:none;flex-basis:100%}
}
