@import url('https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300;0,400;0,500;1,400;1,500&family=Karla:wght@300;400;500;600&display=swap');

:root{
  --void:#1B1220;
  --void-deep:#120C15;
  --plum:#3C2140;
  --gold:#D9B25C;
  --gold-soft:#EAD59B;
  --rose-glow:#B5527A;
  --text:#F3E8E0;
  --text-muted:#B39FAA;
  --accent:var(--gold);
  --accent-contrast:#241220;
  --line:rgba(243,232,224,.16);
  --glass:rgba(255,255,255,.045);
  --glass-strong:rgba(255,255,255,.07);
  --shadow:0 1px 1px rgba(0,0,0,.4), 0 20px 40px rgba(0,0,0,.45);
}

*{box-sizing:border-box;}
body{
  margin:0;
  min-height:100vh;
  overflow-x:hidden;
  background-color:var(--void);
  background-image:
    radial-gradient(rgba(217,178,92,.14) 1px, transparent 1.6px),
    radial-gradient(48% 38% at 82% 4%, rgba(217,178,92,.16) 0%, transparent 70%),
    radial-gradient(55% 42% at 12% 22%, rgba(181,82,122,.20) 0%, transparent 72%),
    radial-gradient(65% 50% at 50% 90%, rgba(60,33,64,.55) 0%, transparent 75%),
    linear-gradient(180deg, var(--void-deep) 0%, var(--void) 40%, var(--void-deep) 100%);
  background-size:28px 28px, auto, auto, auto, auto;
  background-position:0 0, 0 0, 0 0, 0 0, 0 0;
  background-attachment:fixed;
  color:var(--text);
  font-family:"Karla",system-ui,sans-serif;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:"Cormorant",Georgia,serif;
  font-weight:400;
  text-wrap:balance;
  margin:0;
  color:var(--text);
}
p{margin:0;}
a{color:inherit;}
.wrap{max-width:1080px;margin:0 auto;padding-inline:24px;}

/* ---------- CAPA (porta de entrada) ---------- */
.capa-screen{
  min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:22px;text-align:center;padding:24px;
}
.capa-mark{
  width:96px;height:96px;border-radius:50%;object-fit:cover;
  box-shadow:0 0 0 1px var(--line), 0 0 0 8px var(--glass), 0 24px 48px rgba(0,0,0,.5), 0 0 60px rgba(181,82,122,.25);
  animation:capaFloat 5s ease-in-out infinite;
}
.capa-link{
  font-family:"Cormorant",serif;font-style:italic;font-weight:400;
  font-size:clamp(2.1rem,7vw,3.4rem);letter-spacing:.01em;
  color:var(--text);text-decoration:none;position:relative;padding-bottom:8px;
  animation:capaGlow 3.5s ease-in-out infinite;
}
.capa-link::after{
  content:"";position:absolute;left:50%;bottom:0;width:0;height:1px;
  background:var(--gold-soft);transition:width .5s ease, left .5s ease;
}
.capa-link:hover::after{left:0;width:100%;}
.capa-link:hover{animation-play-state:paused;text-shadow:0 0 26px rgba(217,178,92,.55);}
.capa-hint{
  font-size:.66rem;text-transform:uppercase;letter-spacing:.3em;color:var(--text-muted);opacity:.65;
}
@keyframes capaFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
@keyframes capaGlow{
  0%,100%{text-shadow:0 0 16px rgba(217,178,92,0);}
  50%{text-shadow:0 0 22px rgba(217,178,92,.4);}
}

/* ---------- NAV ---------- */
.nav{display:flex;align-items:center;justify-content:space-between;padding-block:22px;gap:12px;flex-wrap:wrap;row-gap:10px;}
.brand{display:flex;align-items:center;gap:10px;font-family:"Cormorant",serif;font-size:1.25rem;font-weight:500;letter-spacing:.02em;}
.brand img{
  width:46px;height:46px;border-radius:50%;object-fit:cover;
  box-shadow:0 0 0 1px var(--line), 0 0 18px rgba(217,178,92,.35);
}
.nav-links{display:flex;align-items:center;gap:10px;list-style:none;margin:0;padding:0;}
.nav-links a,.nav-links button.nav-link-btn{
  font-size:.8rem;font-weight:500;text-decoration:none;color:var(--text-muted);
  background:var(--glass);border:1px solid var(--line);border-radius:999px;
  padding:8px 15px;backdrop-filter:blur(16px);box-shadow:var(--shadow);
  font-family:"Karla",sans-serif;cursor:pointer;
}
.lang-switch{
  display:flex;gap:2px;background:var(--glass);border:1px solid var(--line);
  border-radius:999px;padding:3px;backdrop-filter:blur(16px);
}
.lang-btn{
  border:none;background:transparent;color:var(--text-muted);font-size:.7rem;font-weight:700;
  letter-spacing:.03em;padding:6px 11px;border-radius:999px;cursor:pointer;font-family:"Karla",sans-serif;
}
.lang-btn.active{
  background:linear-gradient(180deg,var(--gold-soft),var(--gold));color:var(--accent-contrast);
}
.nav-cta{
  font-size:.78rem;font-weight:600;text-decoration:none;letter-spacing:.03em;
  color:var(--accent-contrast);background:linear-gradient(180deg,var(--gold-soft),var(--gold));
  padding:9px 19px;border-radius:999px;white-space:nowrap;box-shadow:0 8px 20px rgba(217,178,92,.28);
}
.nav-cart{
  position:fixed;bottom:24px;right:24px;z-index:80;
  display:inline-flex;align-items:center;justify-content:center;
  width:50px;height:50px;border-radius:50%;background:var(--glass);
  border:1px solid var(--line);font-size:1.25rem;text-decoration:none;flex-shrink:0;
  backdrop-filter:blur(16px);box-shadow:0 10px 28px rgba(0,0,0,.4), 0 0 0 1px var(--line);
}
.nav-cart:hover{border-color:var(--gold);}
.cart-badge{
  position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 3px;
  border-radius:999px;background:linear-gradient(180deg,var(--gold-soft),var(--gold));
  color:var(--accent-contrast);font-size:.62rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;line-height:1;
}

/* ---------- SECTIONS ---------- */
section{padding-block:34px;}
.section-divider{
  max-width:220px;height:1px;margin:0 auto;
  background:linear-gradient(90deg,transparent,var(--line),transparent);
}

/* ---------- HERO ---------- */
.hero-inner{padding-block:56px 64px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px;}
.hero-mark{
  width:108px;height:108px;border-radius:50%;object-fit:cover;
  box-shadow:0 0 0 1px var(--line), 0 0 0 8px var(--glass), 0 24px 48px rgba(0,0,0,.5), 0 0 60px rgba(181,82,122,.25);
}
.eyebrow{font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.22em;color:var(--gold-soft);}
.hero h1{
  font-size:clamp(2.2rem,5.4vw,3.5rem);line-height:1.15;max-width:17ch;
  font-style:italic;font-weight:400;letter-spacing:.01em;
}
.hero p.lede{font-size:1.05rem;letter-spacing:.02em;color:var(--text-muted);}
.btn{
  display:inline-flex;align-items:center;gap:8px;padding:14px 30px;border-radius:999px;
  font-weight:500;font-size:.92rem;letter-spacing:.02em;text-decoration:none;
  font-family:"Karla",sans-serif;border:none;cursor:pointer;
}
.btn-primary{
  background:linear-gradient(180deg,var(--gold-soft),var(--gold));
  color:var(--accent-contrast);box-shadow:0 12px 28px rgba(217,178,92,.3);
}
.btn-ghost{
  background:var(--glass);border:1px solid var(--line);color:var(--text);
  backdrop-filter:blur(16px);
}
.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;}
.btn-small{padding:11px 22px;font-size:.84rem;}

/* ---------- SECTION HEAD ---------- */
.section-head{display:flex;flex-direction:column;gap:8px;max-width:44ch;margin-inline:auto;text-align:center;}
.section-head h2{font-size:clamp(1.5rem,3vw,1.9rem);font-style:italic;font-weight:400;}

/* ---------- GLASS PANELS ---------- */
.kits{padding-block:52px;}
.photo-slot{
  margin-top:24px;padding:32px;border-radius:18px;text-align:center;
  border:1.5px dashed var(--line);color:var(--text-muted);font-size:.85rem;
  background:var(--glass);
}
.soon-note{
  text-align:center;margin-top:22px;font-size:.8rem;font-style:italic;
  color:var(--text-muted);font-family:"Cormorant",serif;
}
.kit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px;}
.kit-card{
  background:var(--glass);border:1px solid var(--line);border-radius:20px;
  padding:22px;position:relative;
  backdrop-filter:blur(18px);box-shadow:var(--shadow);
}
.kit-card summary{
  display:flex;flex-direction:column;gap:9px;
  list-style:none;cursor:pointer;
}
.kit-card summary::-webkit-details-marker{display:none;}
.kit-toggle{
  margin-top:6px;font-size:.74rem;font-weight:600;letter-spacing:.03em;
  color:var(--gold-soft);
}
.kit-card[open] .kit-toggle{opacity:.6;}
.kit-card[open] .kit-toggle::after{content:" ▲";}
.kit-toggle::after{content:" ▾";}
.kit-items{
  list-style:none;margin:14px 0 0;padding-top:14px;
  border-top:1px solid var(--line);
  display:flex;flex-direction:column;gap:7px;
}
.kit-items li{
  font-size:.8rem;color:var(--text-muted);line-height:1.4;
  padding-left:14px;position:relative;
  display:flex;justify-content:space-between;align-items:baseline;gap:10px;
}
.kit-items li::before{
  content:"";position:absolute;left:0;top:.55em;
  width:5px;height:5px;border-radius:50%;background:var(--gold-soft);
}
.item-price{color:var(--gold-soft);font-weight:600;white-space:nowrap;flex-shrink:0;}
.badge-best{
  position:absolute;top:-11px;right:16px;
  background:linear-gradient(180deg,var(--gold-soft),var(--gold));color:var(--accent-contrast);
  font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  padding:4px 10px;border-radius:999px;
}
.kit-card h3{font-size:1.15rem;font-weight:400;font-style:italic;}
.status-soon{
  align-self:flex-start;font-size:.6rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.06em;padding:3px 9px;border-radius:999px;background:var(--glass-strong);color:var(--text-muted);
}
.kit-price{font-family:"Cormorant",serif;font-size:1.05rem;color:var(--gold-soft);letter-spacing:.02em;}
.kit-payment{font-size:.72rem;color:var(--text-muted);margin-top:-4px;}
.kit-tagline{font-size:.83rem;color:var(--text-muted);line-height:1.5;}
.btn-add-cart, .quick-kit-add{
  align-self:flex-start;margin-top:4px;
  background:var(--glass-strong);border:1px solid var(--gold);color:var(--gold-soft);
  font-size:.76rem;font-weight:600;padding:7px 14px;border-radius:999px;cursor:pointer;
  font-family:"Karla",sans-serif;white-space:nowrap;
}
.btn-add-cart:hover, .quick-kit-add:hover{background:var(--gold);color:var(--accent-contrast);}
.btn-add-cart:disabled, .quick-kit-add:disabled{opacity:.7;cursor:default;}

/* ---------- MODAL "ANTES DE IR PRO CAIXA" ---------- */
.quick-cart-modal{max-width:680px;max-height:82vh;overflow-y:auto;text-align:left;}
.quick-cart-intro{font-size:.85rem;color:var(--text-muted);line-height:1.5;margin:10px 0 16px;}
.quick-kits{display:flex;flex-direction:column;gap:10px;}
.quick-kit-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  background:var(--glass-strong);border:1px solid var(--line);border-radius:14px;
  padding:12px 16px;font-size:.86rem;color:var(--text);
}
.quick-extras{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:14px;}
.quick-extras-cat h4{
  font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  color:var(--gold-soft);font-family:"Karla",sans-serif;margin:0 0 8px;
}
.quick-extra-item{
  display:flex;align-items:baseline;gap:8px;padding:5px 0;
  font-size:.8rem;color:var(--text-muted);cursor:pointer;line-height:1.4;
}
.quick-extra-item input{accent-color:var(--gold);flex-shrink:0;align-self:center;}
.quick-extra-item > span:not(.item-price){flex:1;}
.quick-extra-item .item-price{font-size:.78rem;}
.quick-cart-footer{
  display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  margin-top:26px;padding-top:18px;border-top:1px solid var(--line);
  position:sticky;bottom:-38px;background:linear-gradient(180deg, transparent, var(--void) 40%);
}
#quick-cart-count{font-size:.82rem;color:var(--text-muted);}
@media (max-width:560px){
  .quick-extras{grid-template-columns:1fr;}
  .quick-cart-modal{max-width:94vw;padding:28px 20px;}
}

/* ---------- CONFIANÇA (selos) ---------- */
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px;}
.trust-item{
  background:var(--glass);border:1px solid var(--line);border-radius:18px;padding:22px 16px;
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;
  backdrop-filter:blur(18px);box-shadow:var(--shadow);
}
.trust-icon{font-size:1.4rem;}
.trust-item h3{font-size:.9rem;font-family:"Cormorant",serif;font-style:italic;font-weight:400;color:var(--gold-soft);}
.trust-item p{font-size:.76rem;color:var(--text-muted);line-height:1.5;}
.cart-trust-note{margin-top:-8px;}
.clear-cart-btn{
  align-self:center;background:none;border:none;color:var(--text-muted);
  font-size:.74rem;text-decoration:underline;cursor:pointer;font-family:"Karla",sans-serif;
}
.clear-cart-btn:hover{color:var(--gold-soft);}

.band{
  background:var(--glass);border:1px solid var(--line);border-radius:26px;
  padding:40px 24px;margin-block:20px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:14px;
  backdrop-filter:blur(18px);box-shadow:var(--shadow);
}
.band h2{font-style:italic;font-weight:400;}
.band p{max-width:38ch;color:var(--text-muted);font-size:.95rem;line-height:1.6;}
.band summary{
  display:flex;flex-direction:column;align-items:center;gap:12px;
  list-style:none;cursor:pointer;
}
.band summary::-webkit-details-marker{display:none;}
.band[open] .kit-toggle::after{content:" ▲";}
.band .btn{margin-top:6px;}
.catalogo{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
  margin:22px 0 4px;text-align:left;width:100%;
}
.catalogo-cat h3{
  font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  font-family:"Karla",sans-serif;font-style:normal;color:var(--gold-soft);
  margin-bottom:10px;
}
.catalogo-note{
  font-size:.78rem;font-style:italic;color:var(--text-muted);
  max-width:40ch;margin-top:4px;
}

/* ---------- QUIZ DE PERFIL ---------- */
.quiz-form{
  margin-top:28px;display:flex;flex-direction:column;gap:24px;
  background:var(--glass);border:1px solid var(--line);border-radius:26px;
  padding:32px 26px;backdrop-filter:blur(18px);box-shadow:var(--shadow);
}
.quiz-q{display:flex;flex-direction:column;gap:12px;}
.quiz-q-label{font-family:"Cormorant",serif;font-style:italic;font-size:1.05rem;color:var(--text);}
.quiz-options{display:flex;gap:10px;flex-wrap:wrap;}
.quiz-option{
  display:flex;align-items:center;gap:8px;
  background:var(--glass-strong);border:1px solid var(--line);border-radius:999px;
  padding:9px 18px;cursor:pointer;font-size:.84rem;color:var(--text-muted);
}
.quiz-option input{accent-color:var(--gold);}
.quiz-option:has(input:checked){color:var(--text);border-color:var(--gold);}
.quiz-form > .btn{align-self:center;margin-top:4px;}

.quiz-result{
  margin-top:24px;background:var(--glass-strong);border:1px solid var(--line);
  border-radius:22px;padding:32px 26px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:12px;
  backdrop-filter:blur(18px);box-shadow:var(--shadow);
}
.quiz-result h3{font-size:1.3rem;font-style:italic;font-weight:400;color:var(--gold-soft);}
.quiz-result p{max-width:46ch;color:var(--text-muted);font-size:.88rem;line-height:1.6;}
.quiz-result-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:6px;}
.quiz-retry{
  margin-top:10px;background:none;border:none;color:var(--text-muted);
  font-size:.78rem;text-decoration:underline;cursor:pointer;font-family:"Karla",sans-serif;
}
@media (max-width:560px){
  .quiz-form{padding:24px 18px;}
}

/* ---------- CONTA (cadastro, login, minha conta) ---------- */
.auth-form{
  margin-top:24px;display:flex;flex-direction:column;gap:16px;max-width:420px;margin-inline:auto;
  background:var(--glass);border:1px solid var(--line);border-radius:26px;
  padding:32px 26px;backdrop-filter:blur(18px);box-shadow:var(--shadow);
}
.auth-field{display:flex;flex-direction:column;gap:6px;text-align:left;}
.auth-field label{font-size:.76rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;}
.auth-field input{
  font-family:"Karla",sans-serif;font-size:.9rem;color:var(--text);
  background:var(--void);border:1px solid var(--line);border-radius:10px;padding:11px 14px;
}
.auth-form > .btn{align-self:center;margin-top:4px;}
.auth-error{color:#E58989;font-size:.82rem;text-align:center;}
.auth-error:empty{display:none;}
.auth-switch{text-align:center;font-size:.82rem;color:var(--text-muted);margin-top:14px;}
.auth-switch a{color:var(--gold-soft);}
.auth-hint{font-size:.74rem;color:var(--text-muted);margin:0;}
.auth-checkbox{display:flex;align-items:center;gap:9px;font-size:.83rem;color:var(--text-muted);cursor:pointer;}
.auth-checkbox input{width:16px;height:16px;flex:none;}

.credits-box{
  margin-top:18px;background:var(--glass-strong);border:1px solid var(--line);border-radius:18px;
  padding:18px 20px;
}
.credits-box .credits-amount{font-size:1.6rem;font-style:italic;color:var(--gold-soft);}
.credits-box p{font-size:.82rem;color:var(--text-muted);margin:4px 0 0;}
.referral-row{
  margin-top:14px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;
}
.referral-row input{
  flex:1;min-width:180px;font-family:"Karla",sans-serif;font-size:.84rem;color:var(--text);
  background:var(--void);border:1px solid var(--line);border-radius:10px;padding:9px 12px;
}
.referral-row button{
  font-family:"Karla",sans-serif;font-size:.8rem;color:var(--void);background:var(--gold-soft);
  border:none;border-radius:10px;padding:9px 16px;cursor:pointer;
}
.account-card{
  margin-top:24px;max-width:520px;margin-inline:auto;
  background:var(--glass);border:1px solid var(--line);border-radius:26px;
  padding:28px 26px;backdrop-filter:blur(18px);box-shadow:var(--shadow);text-align:left;
}
.account-card h3{font-size:1.05rem;font-weight:400;font-style:italic;}
.account-card p{font-size:.86rem;color:var(--text-muted);margin:2px 0;}
.orders-list{margin-top:18px;display:flex;flex-direction:column;gap:10px;}
.order-item{
  background:var(--glass-strong);border:1px solid var(--line);border-radius:14px;
  padding:12px 16px;font-size:.83rem;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;
}
.order-status{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--gold-soft);}
.logout-btn{
  margin-top:18px;background:none;border:none;color:var(--text-muted);
  font-size:.8rem;text-decoration:underline;cursor:pointer;font-family:"Karla",sans-serif;
}

/* ---------- DESTAQUES (chamadas pro Quiz e Sob Encomenda, cada um em sua página) ---------- */
.destaques-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;}
.destaque-card{
  display:flex;flex-direction:column;gap:8px;text-align:left;text-decoration:none;color:inherit;
  background:var(--glass);border:1px solid var(--line);border-radius:20px;padding:22px;
  backdrop-filter:blur(18px);box-shadow:var(--shadow);transition:border-color .2s ease,transform .2s ease;
}
.destaque-card:hover{border-color:var(--gold);transform:translateY(-2px);}
.destaque-card h3{font-size:1.1rem;font-weight:400;font-style:italic;}
.destaque-card p{font-size:.83rem;color:var(--text-muted);line-height:1.5;}
@media (max-width:640px){
  .destaques-grid{grid-template-columns:1fr;}
}

/* ---------- OUTROS (lancamento escalonado) ---------- */
.outros-next{
  background:var(--glass);border:1.5px dashed var(--line);border-radius:20px;
  padding:26px;margin-top:24px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  backdrop-filter:blur(18px);
}
.outros-next h3{font-size:1.2rem;font-weight:400;font-style:italic;}
.outros-depois{
  display:flex;gap:10px;justify-content:center;flex-wrap:wrap;
  list-style:none;margin:18px 0 0;padding:0;
}
.outros-depois li{
  font-size:.78rem;color:var(--text-muted);background:var(--glass-strong);
  border:1px solid var(--line);border-radius:999px;padding:7px 16px;
}
.payment-chips{
  display:flex;gap:10px;justify-content:center;flex-wrap:wrap;
  list-style:none;margin:14px 0 0;padding:0;
}
.payment-chip{
  font-size:.84rem;font-weight:500;color:var(--gold-soft);background:var(--glass-strong);
  border:1px solid var(--line);border-radius:999px;padding:9px 20px;
}

/* ---------- PRODUTO REAL (biquíni sob encomenda) ---------- */
.produto-launch{
  background:var(--glass);border:1px solid var(--gold);border-radius:24px;
  padding:26px;margin-top:24px;position:relative;
  display:grid;grid-template-columns:220px 1fr;gap:26px;align-items:start;
  backdrop-filter:blur(18px);box-shadow:var(--shadow);text-align:left;
}
.produto-launch-img{
  width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:16px;
  box-shadow:0 0 0 1px var(--line);
}
.produto-launch-body{display:flex;flex-direction:column;gap:10px;}
.produto-launch h3{font-size:1.2rem;font-weight:400;font-style:italic;}
.frete-calc{
  margin-top:6px;background:var(--glass-strong);border:1px solid var(--line);
  border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;
}
.frete-calc label{font-size:.76rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em;}
.frete-calc select{
  font-family:"Karla",sans-serif;font-size:.86rem;color:var(--text);
  background:var(--void);border:1px solid var(--line);border-radius:10px;padding:9px 12px;
}
.frete-result{font-size:.82rem;color:var(--gold-soft);line-height:1.6;min-height:1.4em;}
.frete-note{font-size:.72rem;color:var(--text-muted);font-style:italic;}
.produto-launch .btn{align-self:flex-start;margin-top:4px;}

/* ---------- CARROSSEL DO PRODUTO (foto do item, com controles) ---------- */
.produto-carousel{
  position:relative;width:100%;aspect-ratio:3/4;
  border-radius:16px;overflow:hidden;
  box-shadow:0 0 0 1px var(--line);background:var(--glass-strong);
  touch-action:pan-y;
}
.produto-carousel-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .55s ease;pointer-events:none;
}
.produto-carousel-img.is-active{opacity:1;}
.produto-carousel-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:"Karla",sans-serif;font-size:1.25rem;line-height:1;
  color:var(--text);background:rgba(18,12,21,.55);
  border:1px solid var(--line);backdrop-filter:blur(6px);
  cursor:pointer;opacity:0;transition:opacity .3s ease, background .3s ease;
}
.produto-carousel-nav.prev{left:8px;}
.produto-carousel-nav.next{right:8px;}
.produto-carousel:hover .produto-carousel-nav,
.produto-carousel:focus-within .produto-carousel-nav{opacity:1;}
.produto-carousel-nav:hover{background:rgba(18,12,21,.8);}
.produto-carousel-nav:focus-visible{opacity:1;outline:2px solid var(--gold);outline-offset:2px;}
.produto-carousel-dots{
  position:absolute;left:0;right:0;bottom:10px;
  display:flex;justify-content:center;gap:7px;
}
.produto-carousel-dot{
  width:7px;height:7px;padding:0;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.4);border:1px solid rgba(18,12,21,.35);
  transition:background .3s ease, transform .3s ease;
}
.produto-carousel-dot.is-active{background:var(--gold);transform:scale(1.25);}
.produto-carousel-dot:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}

@media (max-width:640px){
  .produto-launch{grid-template-columns:1fr;}
  .produto-launch-img{aspect-ratio:16/10;}
  .produto-carousel{aspect-ratio:1/1;}
  .produto-carousel-nav{opacity:1;width:34px;height:34px;}
}
@media (prefers-reduced-motion: reduce){
  .produto-carousel-img{transition:none;}
}

/* ---------- CARROSSEL DE FOTOS DE REFERÊNCIA (full-bleed) ---------- */
.photo-carousel{
  position:relative;overflow:hidden;
  width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  margin-top:24px;border-radius:0;
  aspect-ratio:21/6;max-height:180px;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--glass);
}
.photo-carousel-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity 2.6s ease;
}
@media (max-width:640px){
  .photo-carousel{aspect-ratio:16/9;max-height:140px;}
}
.photo-carousel-img.active{opacity:1;}
.photo-carousel-label{
  position:absolute;left:0;right:0;bottom:0;
  background:linear-gradient(0deg, rgba(18,12,21,.86), transparent);
  color:var(--text);font-size:.7rem;line-height:1.4;padding:20px 18px 8px;
  font-family:"Karla",sans-serif;
}
@media (max-width:640px){
  .photo-carousel-label{font-size:.62rem;padding:14px 12px 6px;}
}

/* ---------- ANIMAÇÃO DE ENTRADA AO ROLAR ---------- */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease, transform .7s ease;}
.reveal.is-visible{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  .photo-carousel-img{transition:none;}
}

/* ---------- ANAMNESE (resultado do quiz) ---------- */
.anamnese{
  text-align:left;background:var(--glass-strong);border:1px solid var(--line);
  border-radius:16px;padding:16px 18px;margin-top:4px;width:100%;
}
.anamnese-label{
  display:block;font-family:"Karla",sans-serif;font-size:.68rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;color:var(--gold-soft);margin-bottom:6px;
}
.anamnese p{font-size:.86rem;color:var(--text);line-height:1.6;max-width:none;}
.anamnese-recs{
  width:100%;display:flex;flex-direction:column;gap:6px;margin-top:4px;text-align:left;
}
.anamnese-recs-label{
  font-family:"Karla",sans-serif;font-size:.68rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:var(--gold-soft);margin-bottom:2px;display:block;
}
.anamnese-recs .rec-item{
  display:flex;justify-content:space-between;gap:10px;font-size:.82rem;color:var(--text-muted);
  border-top:1px dashed var(--line);padding-top:6px;
}

/* ---------- INDIQUE E GANHE ---------- */
.referral-box{width:100%;display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:4px;}
.referral-input{
  width:100%;max-width:320px;padding:11px 16px;border-radius:999px;
  border:1px solid var(--line);background:var(--glass-strong);color:var(--text);
  font-family:"Karla",sans-serif;font-size:.86rem;text-align:center;
}
.referral-input::placeholder{color:var(--text-muted);}

/* ---------- IMPACTO SOCIAL ---------- */
.impact-band p{max-width:44ch;}
.impact-band em{color:var(--gold-soft);font-style:normal;}

.more-links{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:8px 0 32px;}
.more-links a{
  font-size:.78rem;font-weight:500;text-decoration:none;color:var(--text-muted);
  background:var(--glass);border:1px solid var(--line);border-radius:999px;
  padding:8px 16px;backdrop-filter:blur(16px);
}
.more-links a:hover{color:var(--gold-soft);border-color:var(--gold);}

.parcerias-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px;text-align:left;}
.parceria-item{
  background:var(--glass);border:1px solid var(--line);border-radius:18px;padding:18px;
  display:flex;flex-direction:column;gap:5px;backdrop-filter:blur(18px);box-shadow:var(--shadow);
}
.parceria-item h3{font-size:1.05rem;font-family:"Cormorant",serif;font-style:italic;font-weight:400;}
.parceria-item p{font-size:.83rem;color:var(--text-muted);line-height:1.5;}

/* ---------- QUEM SOMOS (janela modal) ---------- */
.brand-modal{
  position:relative;max-width:480px;width:90%;border-radius:24px;padding:38px 34px;
  border:1px solid var(--line);color:var(--text);
  background:
    radial-gradient(rgba(217,178,92,.14) 1px, transparent 1.6px),
    radial-gradient(60% 60% at 20% 0%, rgba(217,178,92,.12) 0%, transparent 70%),
    linear-gradient(180deg,var(--void-deep),var(--plum));
  background-size:28px 28px, auto, auto;
  box-shadow:0 24px 64px rgba(0,0,0,.55);
}
.brand-modal::backdrop{background:rgba(10,6,12,.72);backdrop-filter:blur(4px);}
.brand-modal .eyebrow{display:block;margin-bottom:10px;}
.brand-modal h2{font-style:italic;font-weight:400;font-size:1.6rem;margin-bottom:16px;}
.brand-modal p{font-size:.9rem;line-height:1.65;color:var(--text-muted);margin-bottom:14px;}
.brand-modal p:last-of-type{margin-bottom:0;}
.brand-modal .sobre-founder{color:var(--text);font-size:.86rem;}
.brand-modal .sobre-founder strong{color:var(--gold-soft);}
.modal-close{
  position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;
  background:var(--glass-strong);border:1px solid var(--line);color:var(--text);
  cursor:pointer;font-size:.85rem;line-height:1;
}

footer{padding-block:34px 44px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;}
footer .foot-note{font-size:.76rem;color:var(--text-muted);max-width:34ch;}
footer .foot-links{display:flex;gap:12px;font-size:.83rem;font-weight:500;}
footer .foot-links a{
  text-decoration:none;color:var(--gold-soft);background:var(--glass);
  border:1px solid var(--line);border-radius:999px;padding:9px 17px;
  backdrop-filter:blur(16px);box-shadow:var(--shadow);
}

/* ---------- VENDAS (CTA band on main page) ---------- */
.sales-band{
  background:linear-gradient(180deg,var(--glass-strong),var(--glass));
  border:1px solid var(--line);border-radius:26px;
  padding:44px 24px;margin-block:20px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:14px;
  backdrop-filter:blur(18px);box-shadow:var(--shadow);
}
.sales-band h2{font-style:italic;font-weight:400;}
.sales-band p{max-width:40ch;color:var(--text-muted);font-size:.95rem;line-height:1.6;}

/* ---------- CARRINHO PAGE ---------- */
.back-link{
  font-size:.8rem;font-weight:500;text-decoration:none;color:var(--text-muted);
  display:inline-flex;align-items:center;gap:6px;
}
.cart-grid{display:flex;flex-direction:column;gap:14px;margin-top:28px;}
.cart-item{
  background:var(--glass);border:1px solid var(--line);border-radius:18px;
  padding:20px 22px;display:flex;align-items:center;justify-content:space-between;
  gap:16px;backdrop-filter:blur(18px);box-shadow:var(--shadow);flex-wrap:wrap;
}
.cart-item-info{display:flex;flex-direction:column;gap:4px;min-width:220px;}
.cart-item-info h3{font-size:1.05rem;font-weight:400;font-style:italic;}
.cart-item-info span.kit-tagline{font-size:.8rem;}
.cart-item-price{font-family:"Cormorant",serif;font-size:1.1rem;color:var(--gold-soft);white-space:nowrap;}
.qty-controls{display:flex;align-items:center;gap:10px;}
.qty-btn{
  width:32px;height:32px;border-radius:50%;border:1px solid var(--line);
  background:var(--glass-strong);color:var(--text);font-size:1rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.qty-btn:hover{background:var(--gold);color:var(--accent-contrast);}
.qty-value{min-width:1.4em;text-align:center;font-variant-numeric:tabular-nums;}

.extras-box{
  margin-top:18px;background:var(--glass);border:1px solid var(--line);border-radius:18px;
  padding:20px 22px;text-align:left;backdrop-filter:blur(18px);
}
.extras-box .kit-items{margin-top:10px;padding-top:0;border-top:none;}

.cart-summary{
  margin-top:28px;background:var(--glass-strong);border:1px solid var(--line);
  border-radius:20px;padding:26px;display:flex;flex-direction:column;gap:14px;
  align-items:center;text-align:center;box-shadow:var(--shadow);
}
.cart-total-row{display:flex;align-items:baseline;gap:10px;}
.cart-total-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);}
.cart-total-value{font-family:"Cormorant",serif;font-size:2rem;color:var(--gold-soft);font-variant-numeric:tabular-nums;}
.cart-fee-note{font-size:.75rem;color:var(--text-muted);max-width:38ch;}

.payment-box{width:100%;display:flex;flex-direction:column;align-items:center;}
.payment-box summary{list-style:none;cursor:pointer;display:inline-flex;}
.payment-box summary::-webkit-details-marker{display:none;}
.payment-panel{
  margin-top:18px;display:flex;flex-direction:column;align-items:center;gap:14px;
  width:100%;
}
.payment-label{font-size:.78rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;}
.cart-hint{font-size:.85rem;color:var(--text-muted);font-style:italic;text-align:center;}
.payment-options{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}
.payment-option{
  display:flex;align-items:center;gap:8px;
  background:var(--glass-strong);border:1px solid var(--line);border-radius:999px;
  padding:9px 18px;cursor:pointer;font-size:.86rem;
}
.payment-option input{accent-color:var(--gold);}
.pay-panel{
  width:100%;display:flex;flex-direction:column;align-items:center;gap:10px;
  background:var(--glass-strong);border:1px solid var(--line);border-radius:16px;
  padding:18px;text-align:center;
}
.pix-qr{width:160px;height:160px;border-radius:10px;background:#fff;padding:6px;}
.pix-amount-label{font-size:.74rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;}
.pix-amount-value{font-family:"Cormorant",serif;font-size:1.5rem;color:var(--gold-soft);}
.pix-copia-cola{
  width:100%;resize:none;border-radius:10px;border:1px solid var(--line);
  background:var(--glass);color:var(--text-muted);font-family:Consolas,monospace;
  font-size:.68rem;padding:10px;word-break:break-all;
}
.payment-outros{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;}
.payment-outros summary{list-style:none;cursor:pointer;display:inline-flex;}
.payment-outros summary::-webkit-details-marker{display:none;}
.payment-outros-toggle{
  font-size:.76rem;font-weight:600;letter-spacing:.03em;color:var(--gold-soft);
  background:var(--glass);border:1px solid var(--line);border-radius:999px;padding:8px 18px;
}
.payment-outros-toggle::after{content:" ▾";}
.payment-outros[open] .payment-outros-toggle::after{content:" ▲";}
.payment-options-outros{margin-top:2px;}

@media (max-width:780px){
  .kit-grid{grid-template-columns:repeat(2,1fr);}
  .parcerias-grid{grid-template-columns:1fr;}
  .catalogo{grid-template-columns:repeat(2,1fr);}
  .trust-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
  .nav-links{display:none;}
  .kit-grid{grid-template-columns:1fr;}
  .catalogo{grid-template-columns:1fr;}
  .cart-item{flex-direction:column;align-items:flex-start;}
  .trust-grid{grid-template-columns:1fr;}
}

/* ---------- TODOS OS PRODUTOS (catálogo avulso) ---------- */
.produto-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:26px;margin:26px 0 8px;text-align:left;width:100%;
}
.produto-cat h3{
  font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  font-family:"Karla",sans-serif;font-style:normal;color:var(--gold-soft);
  margin-bottom:10px;
}
.produto-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.produto-item{
  display:flex;align-items:baseline;gap:10px;justify-content:space-between;
  padding:9px 10px;border-radius:12px;font-size:.84rem;
  border:1px solid transparent;
}
.produto-item:hover{background:var(--glass);border-color:var(--line);}
.produto-check{display:flex;align-items:baseline;gap:9px;cursor:pointer;flex:1;min-width:0;}
.produto-check input{accent-color:var(--gold);flex:none;cursor:pointer;}
.produto-nome{color:var(--text-muted);line-height:1.45;}
.produto-check:has(input:checked) .produto-nome{color:var(--text);}
.produto-preco{color:var(--gold-soft);white-space:nowrap;font-variant-numeric:tabular-nums;}

.produto-item.is-esgotado{opacity:.45;}
.produto-item.is-esgotado .produto-check{cursor:not-allowed;}
.produto-esgotado{
  font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;
  color:var(--text-muted);border:1px solid var(--line);border-radius:999px;
  padding:2px 8px;white-space:nowrap;
}

/* Barra fixa com o resumo da selecao — so aparece quando ha algo escolhido. */
.produto-barra{
  position:sticky;bottom:0;z-index:5;
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  background:var(--glass-strong);border:1px solid var(--line);border-radius:18px;
  padding:14px 18px;margin:22px 0 8px;backdrop-filter:blur(18px);box-shadow:var(--shadow);
}
.produto-barra-info{font-size:.84rem;color:var(--text-muted);}
.produto-barra-info strong{color:var(--text);}

@media (max-width:560px){
  .produto-grid{grid-template-columns:1fr;gap:20px;}
  .produto-barra{padding:12px 14px;}
}

/* ---------- AVALIAÇÃO PÓS-COMPRA ---------- */
.avaliacao-box{
  background:var(--glass-strong);border:1px solid var(--line);border-radius:22px;
  padding:26px 22px;margin:22px 0;text-align:center;backdrop-filter:blur(18px);
  box-shadow:var(--shadow);
}
.avaliacao-box h3{font-family:"Cormorant",serif;font-style:italic;font-size:1.3rem;color:var(--text);margin-bottom:6px;}
.avaliacao-box p{font-size:.84rem;color:var(--text-muted);margin-bottom:16px;}
.estrelas{display:flex;justify-content:center;gap:6px;margin-bottom:16px;}
.estrela{
  background:none;border:none;cursor:pointer;padding:2px;line-height:1;
  font-size:2rem;color:var(--line);transition:color .12s,transform .12s;
}
.estrela:hover,.estrela:focus-visible{transform:scale(1.15);outline:none;}
.estrela.ativa{color:var(--gold);}
.avaliacao-box textarea{
  width:100%;min-height:74px;resize:vertical;font:inherit;font-size:.84rem;
  background:var(--glass);border:1px solid var(--line);border-radius:14px;
  padding:11px 13px;color:var(--text);margin-bottom:14px;
}
.avaliacao-obrigado{font-size:.9rem;color:var(--gold-soft);}
@media (prefers-reduced-motion:reduce){
  .estrela{transition:none;}
  .estrela:hover,.estrela:focus-visible{transform:none;}
}

/* ---------- MENU PELO LOGO (todas as páginas) ---------- */
.brand-clicavel{cursor:pointer;border-radius:999px;}
.brand-clicavel:focus-visible{outline:2px solid var(--gold);outline-offset:4px;}
.site-menu-links{display:flex;flex-direction:column;gap:4px;margin-top:14px;}
.site-menu-links a{
  color:var(--text);text-decoration:none;font-size:1rem;padding:12px 4px;
  border-bottom:1px solid var(--line);
}
.site-menu-links a:last-child{border-bottom:none;}
.site-menu-links a:hover{color:var(--gold-soft);}

/* ---------- LISTA DE DESEJOS (coração) ---------- */
.desejo-btn{
  background:none;border:none;cursor:pointer;color:var(--gold-soft);
  font-size:1.15rem;line-height:1;padding:4px 6px;margin-left:6px;vertical-align:middle;
}
.desejo-btn.ativo{color:#E58FB0;}
.desejo-btn:focus-visible{outline:2px solid var(--gold);border-radius:6px;}

/* ---------- MINHA CONTA (área da cliente) ---------- */
.conta-atalhos{
  display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px auto 0;max-width:620px;
}
.conta-atalhos a{
  font-size:.78rem;color:var(--text-muted);text-decoration:none;background:var(--glass);
  border:1px solid var(--line);border-radius:999px;padding:7px 13px;
}
.conta-atalhos a:hover{color:var(--gold-soft);border-color:var(--gold);}
.conta-badge{
  display:inline-block;min-width:18px;padding:1px 6px;margin-left:4px;border-radius:999px;
  background:var(--gold);color:var(--accent-contrast);font-size:.68rem;font-weight:700;text-align:center;
}
#conta-area .account-card{scroll-margin-top:16px;}
#conta-area .account-card .eyebrow{display:block;margin-bottom:10px;}
.conta-btn{margin-top:12px;}
.perfil-lista{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:0 0 12px;font-size:.86rem;}
.perfil-lista dt{color:var(--text-muted);}
.perfil-lista dd{margin:0;color:var(--text);}
.perfil-kit{margin-bottom:4px !important;}
.perfil-kit strong{color:var(--gold-soft);font-weight:500;}

.order-item{flex-direction:column;}
.order-topo{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;}
.order-status.pago{color:#9BD3A6;}
.order-itens{margin:6px 0 0;padding-left:18px;color:var(--text-muted);font-size:.8rem;}

.desejos-lista{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px;}
.desejos-lista li{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.84rem;
  background:var(--glass-strong);border:1px solid var(--line);border-radius:14px;padding:10px 14px;
}
.desejo-nome{flex:1 1 180px;}
.desejo-acao{
  font-family:"Karla",sans-serif;font-size:.75rem;cursor:pointer;border-radius:999px;padding:6px 12px;
  background:var(--gold-soft);color:var(--accent-contrast);border:none;
}
.desejo-tirar{background:none;color:var(--text-muted);border:1px solid var(--line);}

.conversa{
  display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto;
  margin:12px 0;padding:4px 2px;
}
.msg{max-width:85%;border-radius:14px;padding:8px 12px;font-size:.84rem;border:1px solid var(--line);}
.msg p{margin:2px 0 0 !important;color:var(--text) !important;white-space:pre-wrap;overflow-wrap:anywhere;}
.msg-quem{font-size:.68rem;color:var(--text-muted);}
.msg-cliente{align-self:flex-end;background:rgba(217,178,92,.12);}
.msg-loja{align-self:flex-start;background:var(--glass-strong);}
.conversa-form{display:flex;flex-direction:column;gap:8px;}
.conversa-form textarea{
  font-family:"Karla",sans-serif;font-size:.9rem;color:var(--text);resize:vertical;
  background:var(--void);border:1px solid var(--line);border-radius:10px;padding:10px 12px;
}
.conversa-form .btn{align-self:flex-end;}
.conta-dados{display:flex;flex-direction:column;gap:14px;}
.conta-dados .btn{align-self:flex-start;}
.auth-field input:disabled{opacity:.6;}
.auth-field input[type="date"]{color-scheme:dark;}
select.referral-input{appearance:auto;}
.conta-link{display:inline-block;margin-top:6px;font-size:.8rem;color:var(--gold-soft);}
