/* ====== Design tokens ====== */
:root{
  --bg: #0f0d13;
  --bg-soft: #15121a;
  --txt: #eee9f5;
  --muted: #9a93a8;
  --stroke: #2a2531;
  --brand: #e9b5c9;
  --accent: #d4af37;
  --chip: rgba(233,181,201,.12);
  --shadow: 0 12px 34px rgba(0,0,0,.35);
}

/* ====== Base ====== */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:
    radial-gradient(900px 500px at 10% 5%, #171329 0%, transparent 60%),
    radial-gradient(1000px 600px at 100% 0%, #1a2a23 0%, transparent 60%),
    var(--bg);
  color:var(--txt);
  font: 400 16px/1.5 "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(1160px,92vw);margin:0 auto}

/* ====== Header / Nav ====== */
header{
  position:sticky; top:0; z-index:40;
  background: rgba(16,14,20,.65);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--stroke);
}
.nav{
  display:grid; grid-template-columns: 1fr auto auto auto; gap:18px;
  align-items:center; padding:14px 0;
}
.logo{display:flex;align-items:center;gap:10px;font-weight:700}
.logo-badge{width:26px;height:26px;border-radius:50%;
  background: conic-gradient(from 90deg at 50% 50%, var(--accent), var(--brand), var(--accent));
  box-shadow:0 0 0 2px rgba(255,255,255,.05) inset;
}
nav.desktop ul{display:flex;gap:18px;margin:0;padding:0;list-style:none}
nav.desktop a{color:var(--muted)}
nav.desktop a:hover{color:var(--txt)}

.menu-btn{
  display:none;
  border:1px solid var(--stroke);
  background:var(--bg-soft);
  color:var(--txt);
  border-radius:12px; padding:8px 12px; cursor:pointer;
}
.cta{
  background: linear-gradient(90deg, var(--accent), var(--brand));
  color:#231a2a; font-weight:700; border:none; cursor:pointer;
  padding:12px 18px; border-radius:14px;
}

/* Mobile menu */
.mobile{
  display:none;
  flex-direction:column;
  padding:12px 16px;
  border-top:1px solid var(--stroke);
  background:#100e14;
}
.mobile a{padding:10px 0;color:var(--muted)}
.mobile a:hover{color:var(--txt)}
.mobile.open{display:flex}

@media (max-width: 980px){
  nav.desktop{display:none}
  .menu-btn{display:inline-block}
  .nav{grid-template-columns: 1fr auto auto}
}

/* ====== Hero ====== */
.hero{padding:36px 0 10px}
.hero-wrap{
  display:grid; grid-template-columns: 1.2fr .8fr; gap:24px; align-items:center;
}
@media (max-width: 980px){ .hero-wrap{grid-template-columns:1fr} }

.hero h1{
  font-family:"Playfair Display",serif;
  font-size: clamp(28px, 4.6vw, 52px);
  line-height:1.12; margin:0 0 12px;
}
.hero p{color:var(--muted); margin:0 0 14px;}
.hero-cta{display:flex;gap:10px;align-items:center;margin:14px 0 10px}
.btn-outline{
  border:1px solid var(--stroke); padding:11px 16px; border-radius:14px; color:var(--txt);
  display:inline-flex; align-items:center; gap:8px;
}
.btn-outline:hover{border-color:#3a3344}

.hero-badge{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.chip{
  display:inline-block; padding:8px 12px; border-radius:999px;
  background: var(--chip); border:1px dashed rgba(233,181,201,.45); color:var(--brand);
  font-weight:600; font-size:14px;
}

.hero-media{position:relative}
.hero-media img{
  border-radius:18px; box-shadow: var(--shadow); aspect-ratio: 4 / 5; object-fit: cover; width:100%;
}
.glass{
  position:absolute; bottom:12px; left:12px; display:flex; align-items:center; gap:10px;
  padding:10px 12px; border-radius:14px;
  background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(8px); color:#fff;
}
.glass svg{width:22px;height:22px}

/* Destaques */
.highlights{
  display:grid; grid-template-columns: repeat(4, 1fr); gap:8px; padding:16px 0 6px;
}
.highlight{
  text-align:center; border:1px solid var(--stroke);
  background: var(--bg-soft); border-radius:14px; padding:10px;
}
.muted{color:var(--muted)}
.note{color:#cbbfde; font-size:14px}

/* ====== Coleção / Cards ====== */
.section-title{margin:26px 0 14px}
.section-title h2{
  margin:0 0 4px; font-family:"Playfair Display",serif; font-size: clamp(22px, 3.2vw, 34px);
}
.grid{display:grid; grid-template-columns: repeat(3, 1fr); gap:18px}
@media (max-width: 980px){ .grid{grid-template-columns:1fr} }

.card{
  border:1px solid var(--stroke); border-radius:18px; overflow:hidden;
  background: var(--bg-soft); box-shadow: var(--shadow);
}
.card-media{aspect-ratio: 4 / 3; overflow:hidden}
.card-media img{width:100%;height:100%;object-fit:cover}
.card-body{padding:14px}
.pill{
  display:inline-block; background: var(--chip); border:1px dashed rgba(233,181,201,.45);
  color:var(--brand); padding:6px 10px; border-radius:999px; font-weight:700;
}
.price{font-weight:800}
.row{display:flex;gap:10px;align-items:center;justify-content:space-between}
.row.wrap{flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--stroke);padding:10px 14px;border-radius:12px;background:#161219;cursor:pointer}
.btn:hover{border-color:#2a2531}

/* ====== Notas olfativas ====== */
.notes{display:grid;grid-template-columns:1.2fr .8fr;gap:28px}
@media (max-width: 940px){.notes{grid-template-columns:1fr}}
.pyramid{display:grid;gap:8px}
.stage{display:grid;grid-template-columns: 120px 1fr;gap:12px;align-items:center}
.tag{display:inline-block;background:rgba(233,181,201,.1);border:1px dashed rgba(233,181,201,.45);color:var(--brand);padding:6px 10px;border-radius:999px;margin:4px 6px 0 0}

/* ====== Depoimentos (slider) ====== */
.slider{position:relative;overflow:hidden;border:1px solid var(--stroke);border-radius:18px}
.slides{display:flex;transition:transform .5s ease}
.slide{min-width:100%;padding:24px;background:var(--bg-soft)}
.quote{font-family:"Playfair Display",serif;font-size:22px;line-height:1.4}
.author{margin-top:10px;color:var(--muted)}
.dots{display:flex;gap:8px;justify-content:center;margin-top:12px}
.dot{width:8px;height:8px;border-radius:50%;background:#4a4452;cursor:pointer;border:none}
.dot.active{background:linear-gradient(90deg,var(--accent),var(--brand))}

/* ====== Newsletter ====== */
.newsletter{display:grid;grid-template-columns:1fr .9fr;gap:22px;align-items:center}
@media (max-width: 940px){.newsletter{grid-template-columns:1fr}}
.field{display:flex;gap:10px;flex-wrap:wrap}
.field input{
  flex:1; min-width:220px; padding:14px 16px;border-radius:12px;border:1px solid var(--stroke);background:#131017;color:var(--txt)
}

/* ====== FAQ ====== */
.faq{display:grid;gap:12px}
.acc{border:1px solid var(--stroke);border-radius:14px;overflow:hidden;background:var(--bg-soft)}
.acc summary{list-style:none;cursor:pointer;padding:16px 18px;font-weight:600}
.acc summary::-webkit-details-marker{display:none}
.acc[open]{box-shadow:var(--shadow)}
.acc .content{padding:0 18px 18px;color:var(--muted)}

/* ====== Footer ====== */
footer{padding:40px 0;border-top:1px solid var(--stroke);background:#100e14}
.foot{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:20px}
@media (max-width: 900px){.foot{grid-template-columns:1fr}}
.credit{margin-top:16px;color:var(--muted);font-size:14px}
.h4{margin:0 0 8px;font-family:Playfair Display,serif}

/* ====== Floating CTA ====== */
.floating{position:fixed;right:18px;bottom:18px;z-index:40}
.floating .cta{box-shadow:0 10px 30px rgba(212,175,55,.35)}
