:root{
  --bg:#0b0b0c;
  --bg-alt:#141416;
  --bg-card:#18181a;
  --gold:#c6a15b;
  --gold-light:#e4cfa0;
  --white:#f3f1ec;
  --muted:#9c9990;
  --line: rgba(198,161,91,.22);
  --radius: 4px;
  --shadow: 0 20px 60px -20px rgba(0,0,0,.6);
  --display: "Fraunces", serif;
  --body: "Inter", -apple-system, sans-serif;
  --maxw: 1180px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg); color:var(--white); font-family:var(--body); line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden;}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
button{font-family:inherit; cursor:pointer; border:none; background:none;}
ul{list-style:none;}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important;}}
:focus-visible{outline:2px solid var(--gold-light); outline-offset:3px;}

.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
.eyebrow{font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); font-weight:600;}
h1,h2,h3{font-family:var(--display); font-weight:500; letter-spacing:-.01em; line-height:1.1;}
.section{padding:80px 0;}
.section-alt{background:var(--bg-alt);}
.muted{color:var(--muted); font-size:14.5px;}
.section-head{text-align:center; max-width:640px; margin:0 auto 48px;}
.section-head h2{font-size:clamp(26px,4vw,36px); margin-top:12px;}
.section-head p{color:var(--muted); margin-top:12px; font-size:16px;}

/* HEADER */
header{position:fixed; top:0; left:0; right:0; z-index:100; padding:16px 0; background:transparent; transition:.3s ease;}
header.scrolled{background:rgba(11,11,12,.94); backdrop-filter:blur(10px); box-shadow:0 1px 0 var(--line); padding:10px 0;}
.header-inner{display:flex; align-items:center; justify-content:space-between; gap:20px;}
.brand{font-family:var(--display); font-size:19px; letter-spacing:.05em; white-space:nowrap;}
.brand em{color:var(--gold); font-style:normal;}
.main-nav{display:none; gap:26px;}
.main-nav a{font-size:13px; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); transition:.2s; white-space:nowrap;}
.main-nav a:hover{color:var(--gold-light);}
.header-actions{display:flex; align-items:center; gap:14px;}
.cart-btn{position:relative; color:var(--gold-light);}
.cart-btn svg{width:22px; height:22px;}
.cart-count{position:absolute; top:-8px; right:-10px; background:var(--gold); color:#0b0b0c; font-size:10px; font-weight:700; border-radius:50%; width:17px; height:17px; display:flex; align-items:center; justify-content:center;}
.nav-toggle{display:block; font-size:20px; color:var(--white);}
@media(min-width:900px){ .main-nav{display:flex;} .nav-toggle{display:none;} }

/* HERO */
.hero{min-height:100svh; display:flex; align-items:center; padding:130px 0 70px; background:radial-gradient(60% 50% at 50% 18%, rgba(198,161,91,.14), transparent 70%), linear-gradient(180deg,#0b0b0c,#0e0e10);}
.hero-grid{display:grid; grid-template-columns:1fr; gap:44px; align-items:center; text-align:center;}
.hero-visual{order:-1; position:relative; display:flex; align-items:center; justify-content:center; height:300px;}
.bottle-glow{position:absolute; width:240px; height:240px; border-radius:50%; background:radial-gradient(circle, rgba(198,161,91,.32), transparent 70%); filter:blur(10px);}
.bottle-placeholder{position:relative; z-index:1; width:150px; height:220px; border:1px dashed var(--line); border-radius:6px; background:linear-gradient(160deg,#1c1c1e,#0f0f10); display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:12px; text-align:center; box-shadow:var(--shadow); padding:10px;}
.img-note{position:absolute; bottom:-24px; left:50%; transform:translateX(-50%); font-size:11px; color:var(--muted); white-space:nowrap;}
.hero h1{font-size:clamp(32px,7vw,56px);}
.hero h1 span{color:var(--gold);}
.hero p.lead{margin-top:16px; color:var(--muted); font-size:16px; max-width:520px; margin-left:auto; margin-right:auto;}
.price{font-family:var(--display); font-size:38px; color:var(--gold-light);}
.hero-btns{margin-top:26px; display:flex; flex-direction:column; gap:12px; align-items:center;}
.btn-primary{display:inline-flex; align-items:center; justify-content:center; gap:8px; background:linear-gradient(135deg,var(--gold-light),var(--gold)); color:#0b0b0c; font-weight:700; letter-spacing:.04em; text-transform:uppercase; font-size:13.5px; padding:16px 34px; border-radius:2px; box-shadow:0 12px 28px -10px rgba(198,161,91,.5); transition:.2s; width:100%; max-width:320px;}
.btn-primary:hover{transform:translateY(-2px);}
.btn-primary:disabled{opacity:.5; cursor:not-allowed; transform:none;}
.btn-ghost{border:1px solid var(--line); color:var(--gold-light); padding:14px 28px; font-size:13px; letter-spacing:.04em; text-transform:uppercase; border-radius:2px; transition:.2s;}
.btn-ghost:hover{border-color:var(--gold);}
.trust-line{margin-top:16px; font-size:13px; color:var(--muted); display:flex; align-items:center; justify-content:center; gap:8px;}
.trust-line svg{width:14px; height:14px; color:var(--gold);}

@media(min-width:860px){
  .hero-grid{grid-template-columns:1.1fr .9fr; text-align:left;}
  .hero-visual{order:0; height:400px;}
  .hero p.lead{margin-left:0;}
  .hero-btns{align-items:flex-start;}
  .trust-line{justify-content:flex-start;}
}

/* FILTERS */
.filters{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:40px;}
.filter-btn{border:1px solid var(--line); color:var(--muted); padding:8px 18px; border-radius:20px; font-size:12.5px; letter-spacing:.03em; text-transform:uppercase; transition:.2s;}
.filter-btn:hover{border-color:var(--gold);}
.filter-btn.active{background:var(--gold); color:#0b0b0c; border-color:var(--gold); font-weight:600;}

/* KIT GRID */
.kit-grid{display:grid; grid-template-columns:1fr; gap:22px;}
@media(min-width:640px){ .kit-grid{grid-template-columns:repeat(2,1fr);} }
@media(min-width:1000px){ .kit-grid{grid-template-columns:repeat(3,1fr);} }
.kit-card{background:var(--bg-card); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; transition:.25s;}
.kit-card:hover{transform:translateY(-4px); border-color:var(--gold);}
.kit-thumb{height:220px; background:radial-gradient(60% 60% at 50% 40%, rgba(198,161,91,.07), transparent 70%), var(--bg-card); display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:13px; position:relative;}
.kit-thumb .tag{position:absolute; top:12px; left:12px; background:var(--gold); color:#0b0b0c; font-size:10.5px; font-weight:700; letter-spacing:.05em; padding:4px 10px; border-radius:2px;}
.kit-body{padding:20px; display:flex; flex-direction:column; gap:10px; flex:1;}
.kit-body h3{font-size:18px; color:var(--white); font-weight:500;}
.kit-body .desc{font-size:13.5px; color:var(--muted); flex:1;}
.kit-body .price{font-size:22px;}
.kit-body .btn-primary{width:100%; max-width:none; padding:13px;}

/* COMPARE */
.compare-scroll{overflow-x:auto; -webkit-overflow-scrolling:touch;}
.compare-table{border-collapse:collapse; width:100%; min-width:760px;}
.compare-table th, .compare-table td{border:1px solid var(--line); padding:14px 16px; font-size:13.5px; text-align:left; white-space:nowrap;}
.compare-table th{color:var(--gold-light); font-weight:600; background:var(--bg-card);}
.compare-table td{color:var(--muted);}
.compare-table td:first-child, .compare-table th:first-child{color:var(--white); font-weight:600; position:sticky; left:0; background:var(--bg);}

/* COMBOS */
.combo-grid{display:grid; grid-template-columns:1fr; gap:16px;}
@media(min-width:640px){ .combo-grid{grid-template-columns:repeat(2,1fr);} }
@media(min-width:1000px){ .combo-grid{grid-template-columns:repeat(4,1fr);} }
.combo-card{border:1px dashed var(--line); border-radius:var(--radius); padding:30px 18px; text-align:center; color:var(--muted); font-size:14px;}

/* TRUST */
.trust-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px; max-width:640px; margin:0 auto;}
@media(min-width:640px){ .trust-grid{grid-template-columns:repeat(4,1fr);} }
.trust-item{text-align:center; padding:16px 8px;}
.trust-item svg{width:24px; height:24px; color:var(--gold); margin:0 auto 10px;}
.trust-item span{font-size:13px; color:var(--muted);}

/* FAQ */
.faq{max-width:720px; margin:0 auto;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{width:100%; text-align:left; padding:20px 4px; display:flex; justify-content:space-between; align-items:center; color:var(--white); font-size:16px; font-family:var(--display); font-weight:500;}
.faq-q .icon{color:var(--gold); font-size:20px; transition:.25s; margin-left:12px;}
.faq-item.open .faq-q .icon{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.faq-a p{padding:0 4px 20px; color:var(--muted); font-size:14px;}
.faq-a a{color:var(--gold-light); text-decoration:underline;}

/* FOOTER */
footer{background:var(--bg-alt); border-top:1px solid var(--line); padding:48px 0 110px;}
.disclaimer{font-size:12.5px; color:var(--gold-light); margin-bottom:30px; text-align:center; letter-spacing:.02em;}
.footer-grid{display:grid; grid-template-columns:1fr; gap:28px;}
@media(min-width:720px){ .footer-grid{grid-template-columns:1.2fr 1fr 1fr;} }
footer h4{font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); margin-bottom:12px;}
footer p{font-size:13px; color:var(--muted); line-height:1.8;}
footer ul li a{font-size:13px; color:var(--muted); display:block; padding:4px 0;}
footer ul li a:hover{color:var(--gold-light);}
.footer-bottom{margin-top:34px; padding-top:20px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); text-align:center;}

/* STICKY MOBILE + WHATSAPP */
.sticky-cta{position:fixed; left:0; right:0; bottom:-100px; z-index:90; background:rgba(11,11,12,.96); backdrop-filter:blur(10px); border-top:1px solid var(--line); padding:10px 16px calc(10px + env(safe-area-inset-bottom)); display:flex; align-items:center; justify-content:space-between; gap:12px; transition:bottom .3s ease;}
.sticky-cta.show{bottom:0;}
.sticky-cta .info b{display:block; font-size:13px;}
.sticky-cta .info span{color:var(--gold-light); font-size:14px;}
.sticky-cta button{background:var(--gold); color:#0b0b0c; font-weight:700; font-size:12px; text-transform:uppercase; padding:12px 18px; border-radius:2px;}
.whats-float{position:fixed; right:18px; bottom:86px; z-index:95; width:52px; height:52px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 20px -6px rgba(0,0,0,.6);}
.whats-float svg{width:26px; height:26px; fill:#fff;}
@media(min-width:860px){ .whats-float{bottom:24px;} }

/* MODALS */
.modal-overlay{position:fixed; inset:0; background:rgba(0,0,0,.7); z-index:200; display:none; align-items:flex-end; justify-content:center; padding:0;}
.modal-overlay.open{display:flex;}
@media(min-width:720px){ .modal-overlay{align-items:center;} }
.modal{background:var(--bg-alt); border:1px solid var(--line); width:100%; max-width:640px; max-height:92vh; overflow-y:auto; border-radius:12px 12px 0 0; padding:28px; position:relative;}
@media(min-width:720px){ .modal{border-radius:10px;} }
.modal-close{position:absolute; top:16px; right:16px; font-size:24px; color:var(--muted); line-height:1;}
.modal-close:hover{color:var(--gold-light);}
.produto-modal-grid{display:grid; grid-template-columns:1fr; gap:22px;}
@media(min-width:600px){ .produto-modal-grid{grid-template-columns:1fr 1.2fr;} }
.modal-img{height:220px; width:100%;}
.tag{display:inline-block; background:var(--gold); color:#0b0b0c; font-size:10.5px; font-weight:700; letter-spacing:.05em; padding:4px 10px; border-radius:2px; margin-bottom:10px;}
#modalNome{font-size:22px; margin-bottom:6px;}
#modalPreco{font-size:28px; margin-bottom:10px;}
.qty-row{margin:18px 0; display:flex; align-items:center; gap:14px;}
.qty-row label{font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--muted);}
.qty-control{display:flex; align-items:center; border:1px solid var(--line); border-radius:4px; overflow:hidden;}
.qty-control button{width:34px; height:34px; color:var(--gold-light); font-size:16px;}
.qty-control input{width:44px; text-align:center; background:transparent; border:none; color:var(--white); font-size:14px;}
.modal-actions{display:flex; flex-direction:column; gap:10px; margin-top:10px;}
@media(min-width:480px){ .modal-actions{flex-direction:row;} .modal-actions > *{flex:1;} }

.kit-itens-list{margin:14px 0; display:flex; flex-direction:column; gap:8px;}
.kit-itens-list .item{border:1px solid var(--line); border-radius:4px; padding:10px 12px; font-size:13px; color:var(--muted);}
.kit-itens-list .item b{color:var(--white); display:block; font-size:13.5px;}

/* CART */
.cart-modal{max-width:460px;}
.cart-items{display:flex; flex-direction:column; gap:14px; margin:20px 0;}
.cart-line{display:flex; gap:12px; align-items:center; border-bottom:1px solid var(--line); padding-bottom:14px;}
.cart-line .thumb{width:56px; height:56px; border-radius:4px; background:var(--bg-card); flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:9px; color:var(--muted); text-align:center; border:1px dashed var(--line);}
.cart-line .info{flex:1; min-width:0;}
.cart-line .info b{font-size:13.5px; display:block;}
.cart-line .info .price{font-size:14px; margin-top:2px;}
.cart-line .qty-control{transform:scale(.9);}
.cart-line .remove{color:var(--muted); font-size:12px; text-decoration:underline; margin-top:4px;}
.cart-summary{border-top:1px solid var(--line); padding-top:14px; margin-bottom:18px;}
.cart-summary .row{display:flex; justify-content:space-between; font-size:13.5px; color:var(--muted); padding:4px 0;}
.cart-summary .row.total{color:var(--white); font-weight:700; font-size:16px; padding-top:8px;}
.empty-cart{text-align:center; color:var(--muted); padding:30px 0; font-size:14px;}

/* CHECKOUT */
.checkout-modal{max-width:560px;}
.checkout-step h3{margin-bottom:16px;}
.order-summary{background:var(--bg-card); border:1px solid var(--line); border-radius:6px; padding:14px 16px; margin-bottom:18px; font-size:13.5px; color:var(--muted);}
.order-summary .row{display:flex; justify-content:space-between; padding:3px 0;}
.order-summary .row.total{color:var(--gold-light); font-weight:700; font-size:15px; margin-top:6px; border-top:1px solid var(--line); padding-top:8px;}
.form-grid{display:grid; grid-template-columns:1fr; gap:12px;}
@media(min-width:480px){ .form-grid{grid-template-columns:1fr 1fr;} }
.form-grid label{font-size:12px; color:var(--muted); display:flex; flex-direction:column; gap:6px;}
.form-grid input{background:var(--bg); border:1px solid var(--line); color:var(--white); padding:11px 12px; border-radius:4px; font-size:14px; font-family:var(--body);}
.form-grid input:focus{border-color:var(--gold);}
.hint{font-size:12px; color:var(--muted); margin:10px 0;}
.frete-opcoes{display:flex; flex-direction:column; gap:10px; margin:16px 0;}
.frete-opt{border:1px solid var(--line); border-radius:4px; padding:12px 14px; display:flex; justify-content:space-between; font-size:13.5px; cursor:pointer;}
.frete-opt.selected{border-color:var(--gold); background:rgba(198,161,91,.08);}
.pay-methods{display:flex; gap:16px; margin:18px 0;}
.pay-method{display:flex; align-items:center; gap:8px; font-size:14px; border:1px solid var(--line); padding:10px 16px; border-radius:4px; cursor:pointer;}
.pay-box{margin-top:16px;}
.pix-copy{display:flex; gap:8px; margin-top:10px;}
.pix-copy input{flex:1; background:var(--bg); border:1px solid var(--line); color:var(--white); padding:10px 12px; border-radius:4px; font-size:12px;}
.pix-copy button{border:1px solid var(--gold); color:var(--gold); padding:0 14px; border-radius:4px; font-size:12px; text-transform:uppercase;}
.status-pill{margin-top:14px; text-align:center; font-size:13px; padding:10px; border-radius:4px; background:var(--bg-card); color:var(--gold-light);}
.status-pill.paid{color:#7cd992;}

@media(min-width:600px){ .checkout-modal, .cart-modal, .produto-modal{margin-bottom:0;} }

/* ============================================================
   REVISÃO — frete grátis, imagens reais, comparação em cards,
   barra de progresso, rodapé condicional, menu mobile
   ============================================================ */

/* Imagens de produto / placeholder premium — nunca cortadas */
.product-img{width:100%; height:100%; object-fit:contain; object-position:center; padding:10px; background:radial-gradient(70% 70% at 50% 50%, rgba(255,255,255,.03), transparent 70%);}
.img-placeholder{
  width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:8px; color:var(--muted); background:var(--bg-card);
}
.img-placeholder svg{width:34px; height:56px; opacity:.5;}
.img-placeholder span{font-size:11px; letter-spacing:.03em;}

.kit-thumb{position:relative;}
.kit-thumb .product-img, .kit-thumb .img-placeholder{position:absolute; inset:0;}
.hero-visual{overflow:hidden; border-radius:6px;}
.hero-visual .product-img{width:220px; height:auto; max-height:100%; position:relative; z-index:1; border-radius:6px; box-shadow:var(--shadow);}
.hero-visual .img-placeholder{position:relative; z-index:1; width:150px; height:220px; border:1px dashed var(--line); border-radius:6px;}
.modal-img{height:240px; width:100%; border-radius:6px; overflow:hidden; position:relative; background:var(--bg-card);}
.modal-img .product-img, .modal-img .img-placeholder{position:absolute; inset:0;}
.cart-line .thumb{overflow:hidden; position:relative;}
.cart-line .thumb .product-img, .cart-line .thumb .img-placeholder{position:absolute; inset:0;}
.cart-line .thumb .img-placeholder svg{width:16px; height:26px;}
.cart-line .thumb .img-placeholder span{display:none;}
.compare-thumb{height:140px; border-radius:6px; overflow:hidden; position:relative; background:var(--bg-card); margin-bottom:14px;}
.compare-thumb .product-img, .compare-thumb .img-placeholder{position:absolute; inset:0;}

/* Preço em destaque / frete grátis */
.free-shipping-tag{color:var(--gold-light); font-size:13px; letter-spacing:.03em; margin-top:6px; font-weight:600;}
.gold{color:var(--gold-light); font-weight:700;}

/* Comparação — cards */
.compare-grid{display:grid; grid-template-columns:1fr; gap:20px;}
@media(min-width:640px){ .compare-grid{grid-template-columns:repeat(2,1fr);} }
@media(min-width:1000px){ .compare-grid{grid-template-columns:repeat(3,1fr);} }
.compare-card{background:var(--bg-card); border:1px solid var(--line); border-radius:var(--radius); padding:20px; transition:.25s;}
.compare-card:hover{border-color:var(--gold); transform:translateY(-3px);}
.compare-card h3{font-size:17px; margin-bottom:10px;}
.compare-row{display:flex; justify-content:space-between; gap:10px; font-size:13px; padding:6px 0; border-bottom:1px solid var(--line);}
.compare-row b{color:var(--gold-light); font-weight:600;}
.compare-row span{color:var(--muted); text-align:right;}
.compare-card .btn-ghost{width:100%; margin-top:14px; padding:11px;}

/* Rodapé — info da loja condicional */
.store-info{margin-top:10px; font-size:13px; color:var(--muted); line-height:1.8;}
.footer-bottom .disclaimer{font-size:12px; color:var(--muted); max-width:560px; margin:8px auto; line-height:1.7;}
.footer-bottom p{margin:4px 0;}

/* Menu mobile (hambúrguer) */
.main-nav{position:fixed; top:0; right:-100%; height:100svh; width:78%; max-width:320px; background:var(--bg-alt);
  flex-direction:column; padding:100px 32px 32px; gap:22px; border-left:1px solid var(--line); transition:right .3s ease; z-index:99;}
.main-nav.open{right:0; display:flex;}
.main-nav a{font-size:15px;}
@media(min-width:900px){ .main-nav{position:static; height:auto; width:auto; padding:0; border:none; background:none; flex-direction:row; right:0; gap:22px;} }

/* Barra de progresso do checkout */
.progress-bar{display:flex; justify-content:space-between; margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid var(--line); gap:4px;}
.progress-step{font-size:10.5px; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); flex:1; text-align:center; position:relative; padding-bottom:10px;}
.progress-step::after{content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--line);}
.progress-step.active{color:var(--gold-light); font-weight:700;}
.progress-step.active::after{background:var(--gold);}

/* CEP + frete grátis */
.cep-label{font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; display:block; margin-bottom:8px;}
.cep-confirm-row{display:flex; gap:8px; margin-top:8px;}
.cep-confirm-row input{flex:1; background:var(--bg); border:1px solid var(--line); color:var(--white); padding:12px 14px; border-radius:4px; font-size:15px;}
.cep-confirm-row input:focus{border-color:var(--gold);}
.field-error{color:#e08a8a; font-size:12.5px; margin-top:8px;}
.free-shipping-box{margin-top:16px; border:1px solid var(--gold); border-radius:6px; padding:18px; text-align:center; background:rgba(198,161,91,.06);}
.free-shipping-badge{color:var(--gold-light); font-weight:700; font-size:15px; margin-bottom:6px;}
.free-shipping-box p{font-size:13.5px; color:var(--muted); margin:2px 0;}
.gold-price{color:var(--gold-light) !important; font-family:var(--display); font-size:20px; margin:4px 0 !important;}

@media(min-width:900px){ .header-actions .nav-toggle{display:none;} }

/* ============================================================
   REDESIGN PREMIUM — profundidade, animações, microinterações
   ============================================================ */

/* Profundidade no fundo geral */
body{
  background:
    radial-gradient(60% 40% at 15% 0%, rgba(198,161,91,.05), transparent 60%),
    radial-gradient(50% 35% at 100% 30%, rgba(198,161,91,.04), transparent 60%),
    var(--bg);
}
.section-alt{
  background:
    radial-gradient(45% 60% at 50% 0%, rgba(198,161,91,.05), transparent 70%),
    var(--bg-alt);
}

/* Header — vidro ao rolar */
header{ -webkit-backdrop-filter:blur(0px); backdrop-filter:blur(0px); }
header.scrolled{ -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }

/* Hero — entrada cinematográfica */
.hero-visual{ animation:heroImgIn 900ms cubic-bezier(.2,.7,.2,1) both; }
.hero-grid > div:first-child > *:not(h1){ animation:heroTextIn 800ms cubic-bezier(.2,.7,.2,1) both; }
@keyframes heroImgIn{
  from{ opacity:0; transform:translateY(20px) scale(.97); }
  to{ opacity:1; transform:translateY(0) scale(1); }
}
@keyframes heroTextIn{
  from{ opacity:0; transform:translateY(14px); }
  to{ opacity:1; transform:translateY(0); }
}
.hero-visual .product-img, .hero-visual .img-placeholder{
  animation: floatSubtle 5.5s ease-in-out 1.1s infinite;
}
@keyframes floatSubtle{
  0%, 100%{ transform:translateY(0); }
  50%{ transform:translateY(-4px); }
}
@media (prefers-reduced-motion: reduce){
  .hero-visual, .hero-grid > div:first-child{ animation:none; }
  .hero-visual .product-img, .hero-visual .img-placeholder{ animation:none; }
}

/* Scroll reveal */
.reveal{ opacity:0; transform:translateY(22px) scale(.98); transition:opacity .6s ease, transform .6s ease; }
.reveal.revealed, .revealed{ opacity:1; transform:translateY(0) scale(1); }

/* Cards premium — elevação + zoom de imagem */
.kit-card{ border-radius:20px; }
.kit-card:hover{ box-shadow:0 24px 50px -24px rgba(198,161,91,.25); }
.kit-thumb{ overflow:hidden; }
.kit-card:hover .product-img{ transform:scale(1.045); }
.product-img{ transition:transform .5s ease; }
.compare-card, .combo-card{ border-radius:16px; }

/* Pills de categoria */
.filter-btn{ border-radius:999px; transition:background .25s ease, color .25s ease, border-color .25s ease; }

/* Botões — microinterações */
.btn-primary, .btn-ghost{ transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease; }
.btn-primary:active{ transform:translateY(0) scale(.98); }
.btn-primary.loading{ color:transparent; pointer-events:none; position:relative; }
.btn-primary.loading::after{
  content:''; position:absolute; inset:0; margin:auto; width:18px; height:18px; border-radius:50%;
  border:2px solid rgba(11,11,12,.35); border-top-color:#0b0b0c; animation:spin .7s linear infinite;
}
@keyframes spin{ to{ transform:rotate(360deg); } }

/* Links com underline animado */
footer ul li a, .faq-a a{ position:relative; }
footer ul li a::after{
  content:''; position:absolute; left:0; bottom:1px; width:0; height:1px; background:var(--gold-light);
  transition:width .25s ease;
}
footer ul li a:hover::after{ width:100%; }

/* Toast */
.toast{
  position:fixed; left:50%; bottom:100px; transform:translate(-50%, 12px); z-index:250;
  background:var(--bg-card); border:1px solid var(--gold); color:var(--gold-light);
  padding:12px 20px; border-radius:8px; font-size:13.5px; font-weight:600;
  opacity:0; pointer-events:none; transition:opacity .3s ease, transform .3s ease; box-shadow:var(--shadow);
}
.toast.show{ opacity:1; transform:translate(-50%, 0); }

/* Pulse no contador do carrinho */
.cart-count.pulse{ animation:pulse .45s ease; }
@keyframes pulse{ 0%{ transform:scale(1); } 40%{ transform:scale(1.4); } 100%{ transform:scale(1); } }

/* Modal — entrada fade + scale */
.modal-overlay{ transition:background .25s ease; }
.modal{ transform:translateY(16px) scale(.98); opacity:0; transition:transform .28s cubic-bezier(.2,.7,.2,1), opacity .28s ease; }
.modal-overlay.open .modal{ transform:translateY(0) scale(1); opacity:1; }
@media(min-width:720px){ .modal{ transform:scale(.96); } .modal-overlay.open .modal{ transform:scale(1); } }

/* Formulário — erro inline (substitui alert) */
.form-error-banner{
  background:rgba(224,138,138,.08); border:1px solid #e08a8a; color:#f0b3b3;
  font-size:13px; padding:10px 14px; border-radius:6px; margin:10px 0; display:none;
}
.form-error-banner.show{ display:block; }
.field-invalid{ border-color:#e08a8a !important; }

/* WhatsApp — tooltip discreto no hover */
.whats-float{ transition:transform .2s ease; }
.whats-float:hover{ transform:scale(1.06); }
.whats-float::before{
  content:'Precisa de ajuda?'; position:absolute; right:60px; top:50%; transform:translateY(-50%);
  background:var(--bg-card); border:1px solid var(--line); color:var(--white); font-size:12.5px;
  padding:8px 12px; border-radius:6px; white-space:nowrap; opacity:0; pointer-events:none; transition:opacity .2s ease;
}
.whats-float:hover::before{ opacity:1; }
@media(max-width:640px){ .whats-float::before{ display:none; } }

/* Rodapé — linha superior dourada discreta */
footer{ position:relative; }
footer::before{ content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg, transparent, var(--gold), transparent); opacity:.5; }

/* Sticky CTA some quando algum modal está aberto */
body.modal-open .sticky-cta{ transform:translateY(120%) !important; bottom:-100px !important; }

@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
}

/* ============================================================
   APROFUNDAMENTO PREMIUM — tipografia, espaço, editorial, pagamento
   ============================================================ */

/* Tipografia com mais presença */
h1,h2,h3{ letter-spacing:-.02em; }
.hero h1{ font-size:clamp(36px, 8vw, 68px); line-height:1.04; }
.section-head h2{ font-size:clamp(28px, 4.5vw, 42px); }
.eyebrow{ letter-spacing:.28em; }
.kit-body h3{ font-size:19px; letter-spacing:-.01em; }

/* Mais respiro entre seções e dentro dos cards */
.section{ padding:110px 0; }
@media(max-width:640px){ .section{ padding:72px 0; } }
.kit-body{ padding:24px 22px 26px; gap:12px; }
.section-head{ margin-bottom:64px; }

/* Botões — presença maior */
.btn-primary{ padding:18px 38px; letter-spacing:.06em; font-size:14px; }
.btn-ghost{ padding:16px 30px; letter-spacing:.06em; }

/* Editorial */
.editorial{
  background:
    radial-gradient(55% 55% at 75% 30%, rgba(198,161,91,.09), transparent 70%),
    linear-gradient(180deg, #0b0b0c, #0f0f11);
}
.editorial-grid{ display:grid; grid-template-columns:1fr; gap:44px; align-items:center; }
.editorial-grid h2{ font-size:clamp(30px,5vw,46px); margin:14px 0 16px; }
.editorial-grid .lead{ color:var(--muted); font-size:16px; margin-bottom:26px; max-width:440px; }
.editorial-visual{ position:relative; height:340px; }
.editorial-item{ position:absolute; width:44%; border-radius:16px; overflow:hidden; border:1px solid var(--line); background:var(--bg-card); box-shadow:var(--shadow); }
.editorial-item .product-img, .editorial-item .img-placeholder{ position:relative; height:220px; }
.editorial-item-0{ left:0; top:10px; z-index:2; }
.editorial-item-1{ left:30%; top:70px; z-index:1; opacity:.9; }
.editorial-item-2{ left:58%; top:0; z-index:3; }
@media(min-width:860px){
  .editorial-grid{ grid-template-columns:1fr 1fr; }
  .editorial-visual{ height:400px; }
  .editorial-item .product-img, .editorial-item .img-placeholder{ height:260px; }
}
@media(max-width:520px){
  .editorial-visual{ height:260px; }
  .editorial-item .product-img, .editorial-item .img-placeholder{ height:170px; }
  .editorial-item-1{ top:50px; }
}

/* Métodos de pagamento — cards selecionáveis */
.pay-methods{ display:flex; flex-direction:column; gap:12px; margin:20px 0; }
@media(min-width:480px){ .pay-methods{ flex-direction:row; } }
.pay-method{
  flex:1; display:flex; align-items:center; gap:12px; position:relative;
  border:1px solid var(--line); border-radius:12px; padding:16px 18px; cursor:pointer;
  transition:border-color .2s ease, background .2s ease;
}
.pay-method input{ position:absolute; opacity:0; width:0; height:0; }
.pay-method-icon{ color:var(--gold); flex-shrink:0; }
.pay-method-icon svg{ width:24px; height:24px; }
.pay-method-text{ display:flex; flex-direction:column; }
.pay-method-text b{ font-size:14px; color:var(--white); }
.pay-method-text small{ font-size:12px; color:var(--muted); }
.pay-method-check{ margin-left:auto; opacity:0; color:var(--gold); font-weight:700; transition:opacity .2s ease, transform .2s ease; transform:scale(.6); }
.pay-method:has(input:checked){ border-color:var(--gold); background:rgba(198,161,91,.07); }
.pay-method:has(input:checked) .pay-method-check{ opacity:1; transform:scale(1); }

/* Hero — leve refinamento de composição */
.hero{ padding:150px 0 90px; }
.trust-line{ letter-spacing:.02em; }

/* ============================================================
   INSPIRAÇÃO EDITORIAL — tipografia mais ousada + mais respiro
   (moderado: sem virar portfólio, mantendo a loja funcional)
   ============================================================ */
.hero h1{ font-size:clamp(40px, 9vw, 84px); line-height:.98; letter-spacing:-.03em; }
.section-head h2{ font-size:clamp(30px, 5.2vw, 48px); letter-spacing:-.025em; }
.editorial-grid h2{ font-size:clamp(32px, 5.5vw, 52px); letter-spacing:-.025em; }
.offer-card h3{ font-size:clamp(22px, 3vw, 28px); letter-spacing:-.02em; }

.eyebrow{ font-size:11px; letter-spacing:.32em; }

/* Mais ar entre seções e menos ruído decorativo */
.section{ padding:130px 0; }
@media(max-width:640px){ .section{ padding:80px 0; } }
.section-head{ margin-bottom:72px; }

/* Divisores finos entre seções — reforçam a grade editorial */
.section + .section, .section-alt + .section, .section + .section-alt{ position:relative; }
.section::before, .section-alt::before{
  content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:min(90%, 1180px); height:1px; background:linear-gradient(90deg, transparent, var(--line), transparent);
}
.hero + .section::before{ display:none; }

/* Cards com bordas mais restrained, menos sombra decorativa por padrão */
.kit-card{ box-shadow:none; }
.kit-card:hover{ box-shadow:0 20px 44px -26px rgba(198,161,91,.22); }

/* ============================================================
   TIPOGRAFIA CINÉTICA — palavra por palavra no título do hero
   ============================================================ */
.hero h1{ overflow:hidden; }
.hero h1 .kinetic-word{
  display:inline-block;
  opacity:0;
  transform:translateY(115%) rotate(2deg);
  animation:kineticWordIn 700ms cubic-bezier(.2,.8,.2,1) both;
}
@keyframes kineticWordIn{
  to{ opacity:1; transform:translateY(0) rotate(0deg); }
}
@media (prefers-reduced-motion: reduce){
  .hero h1 .kinetic-word{ opacity:1; transform:none; animation:none; }
}

/* ============================================================
   CONCEITO 02 — MAISON / EDITORIAL CLARO
   Uma direção visual totalmente diferente: off-white, vinho profundo,
   preto tipográfico e composição de revista de luxo.
   ============================================================ */
:root{
  --bg:#f0eee8;
  --bg-alt:#e7e2d9;
  --bg-card:#f8f6f1;
  --gold:#7a1727;
  --gold-light:#a64052;
  --white:#171313;
  --muted:#6d6660;
  --line:rgba(23,19,19,.16);
  --shadow:0 28px 80px -42px rgba(26,18,16,.35);
  --radius:0px;
}
html{background:#f0eee8;}
body{
  background:#f0eee8;
  color:#171313;
  font-family:"Inter",sans-serif;
  letter-spacing:-.01em;
}
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:9999; opacity:.055;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
}
.wrap{max-width:1320px; padding:0 32px;}
@media(max-width:640px){.wrap{padding:0 18px;}}

/* Header branco editorial */
header{padding:20px 0; color:#171313;}
header.scrolled{background:rgba(240,238,232,.92); border-bottom:1px solid var(--line); box-shadow:none; padding:14px 0;}
.brand{font-family:"Fraunces",serif; font-size:22px; letter-spacing:-.03em; font-weight:600;}
.brand em{color:#7a1727; font-size:.65em; letter-spacing:.12em; margin-left:5px;}
.main-nav a{color:#4d4742; font-size:11px; letter-spacing:.16em;}
.main-nav a:hover{color:#7a1727;}
.cart-btn{color:#171313;}
.cart-count{background:#7a1727; color:#fff;}
.nav-toggle{color:#171313;}

/* HERO — composição de campanha */
.hero{
  min-height:100svh; padding:120px 0 54px; display:flex; align-items:center;
  background:
    linear-gradient(90deg, transparent 0 66%, rgba(122,23,39,.055) 66% 100%),
    #f0eee8;
  position:relative; overflow:hidden;
}
.hero::before{
  content:"MALBEC / 01"; position:absolute; left:32px; bottom:28px; color:#171313;
  font-size:10px; letter-spacing:.28em; writing-mode:vertical-rl; transform:rotate(180deg); opacity:.52;
}
.hero::after{
  content:"EAU DE PARFUM • CURATED SELECTION"; position:absolute; right:32px; bottom:28px;
  font-size:10px; letter-spacing:.23em; color:#7a1727; opacity:.72;
}
.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr); gap:7vw; text-align:left; align-items:center;}
.hero-grid>div:first-child{position:relative; z-index:3;}
.hero .eyebrow{color:#7a1727; font-weight:700; font-size:10px; letter-spacing:.32em; margin-bottom:22px;}
.hero h1{
  color:#171313; font-family:"Fraunces",serif; font-size:clamp(58px,7.7vw,116px);
  font-weight:400; line-height:.82; letter-spacing:-.065em; max-width:850px; overflow:visible;
}
.hero h1 span{color:#7a1727; font-style:italic; font-weight:300;}
.hero p.lead{color:#67605b; font-size:14px; max-width:400px; margin:26px 0 0; line-height:1.75;}
.price-row{display:flex; align-items:flex-end; gap:22px; margin-top:32px;}
.price{font-family:"Fraunces",serif; font-size:42px; color:#171313; letter-spacing:-.045em;}
.free-shipping-tag{font-size:11px!important; color:#7a1727!important; text-transform:uppercase; letter-spacing:.1em; padding-bottom:8px;}
.hero-btns{flex-direction:row; align-items:center; margin-top:30px;}
.btn-primary{background:#171313; color:#f6f2ea; border:1px solid #171313; border-radius:0; box-shadow:none; padding:17px 27px; font-size:11px; letter-spacing:.15em; max-width:none; width:auto;}
.btn-primary:hover{background:#7a1727; border-color:#7a1727; transform:none;}
.btn-ghost{border:0; border-bottom:1px solid #171313; color:#171313; border-radius:0; padding:9px 0 7px; font-size:11px; letter-spacing:.13em;}
.btn-ghost:hover{border-color:#7a1727; color:#7a1727;}
.trust-line{justify-content:flex-start; color:#6d6660; font-size:11px; margin-top:20px;}
.trust-line svg{color:#7a1727;}
.hero-visual{order:0; height:min(68vh,700px); min-height:470px; position:relative;}
.hero-visual::before{
  content:""; position:absolute; inset:5% -10% 0 5%; background:#7a1727; z-index:0;
  transform:rotate(-2.2deg); box-shadow:0 40px 100px -65px rgba(44,15,20,.6);
}
.hero-visual::after{
  content:"SIGNATURE"; position:absolute; right:-2%; top:9%; z-index:2; color:#f0eee8;
  font-family:"Fraunces",serif; font-style:italic; font-size:clamp(24px,3vw,48px); transform:rotate(90deg); transform-origin:top right; opacity:.72;
}
.bottle-glow{background:radial-gradient(circle,rgba(255,255,255,.38),transparent 62%); filter:blur(4px); width:72%; height:72%; z-index:1;}
.hero-visual .product-img,.hero-visual .img-placeholder{
  width:min(84%,460px); height:84%; object-fit:contain; padding:28px; border-radius:0; box-shadow:none!important; z-index:2;
  background:transparent!important; filter:drop-shadow(0 24px 22px rgba(35,12,16,.24));
}
@media(max-width:859px){
  .hero{padding:112px 0 60px; min-height:auto; background:#f0eee8;}
  .hero-grid{grid-template-columns:1fr; gap:28px; text-align:left;}
  .hero-visual{order:-1; min-height:360px; height:48vh; max-height:500px;}
  .hero-visual::before{inset:2% 2% 0 8%;}
  .hero h1{font-size:clamp(50px,14vw,84px); max-width:680px;}
  .hero::before,.hero::after{display:none;}
  .hero-btns{align-items:flex-start; flex-direction:row; flex-wrap:wrap;}
  .hero p.lead{margin-left:0;margin-right:0;}
}

/* Seções — linguagem de catálogo */
.section{padding:116px 0; position:relative; background:#f0eee8;}
.section-alt{background:#e7e2d9;}
.section::before,.section-alt::before{background:var(--line); width:calc(100% - 64px); max-width:1256px;}
.section-head{text-align:left; max-width:none; display:grid; grid-template-columns:180px minmax(0,640px) 1fr; gap:32px; align-items:end; margin:0 0 58px;}
.section-head .eyebrow{grid-column:1; grid-row:1/3; align-self:start; color:#7a1727; font-size:10px; letter-spacing:.28em;}
.section-head h2{grid-column:2; font-family:"Fraunces",serif; color:#171313; font-size:clamp(42px,5vw,72px); font-weight:400; line-height:.95; letter-spacing:-.055em; margin:0;}
.section-head>p:not(.eyebrow){grid-column:3; color:#6d6660; font-size:13px; max-width:320px; justify-self:end; margin:0; line-height:1.65;}
@media(max-width:760px){
  .section{padding:78px 0;}
  .section-head{display:block; margin-bottom:40px;}
  .section-head .eyebrow{display:block; margin-bottom:16px;}
  .section-head h2{font-size:clamp(38px,11vw,58px);}
  .section-head>p:not(.eyebrow){margin-top:16px; max-width:420px;}
}

/* Filtros como índice de coleção */
.filters{justify-content:flex-start; gap:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:34px; overflow-x:auto; flex-wrap:nowrap;}
.filter-btn{border:0; border-right:1px solid var(--line); border-radius:0; color:#6d6660; padding:14px 20px; font-size:10px; letter-spacing:.16em; white-space:nowrap;}
.filter-btn.active{background:#7a1727; color:#fff;}
.filter-btn:hover{color:#7a1727;}
.filter-btn.active:hover{color:#fff;}

/* Produtos — cards que parecem páginas de catálogo */
.kit-grid{gap:1px; background:var(--line); border:1px solid var(--line); grid-template-columns:repeat(2,minmax(0,1fr));}
.kit-card{background:#f8f6f1; border:0; border-radius:0; transition:background .25s ease; box-shadow:none;}
.kit-card:hover{background:#fffdf9; transform:none; box-shadow:none;}
.kit-thumb{height:390px; background:#e9e5de; overflow:hidden;}
.kit-thumb::after{content:"VIEW"; position:absolute; right:16px; bottom:14px; font-size:9px; letter-spacing:.2em; color:#7a1727; opacity:0; transform:translateY(6px); transition:.25s;}
.kit-card:hover .kit-thumb::after{opacity:1; transform:translateY(0);}
.kit-thumb .tag{top:18px;left:18px;background:#171313;color:#fff;border-radius:0;font-size:9px;letter-spacing:.16em;padding:7px 10px;z-index:3;}
.product-img{background:transparent!important; padding:24px;}
.kit-card:hover .product-img{transform:scale(1.025);}
.kit-body{padding:24px 25px 28px; gap:10px;}
.kit-body h3{font-family:"Fraunces",serif; color:#171313; font-size:25px; font-weight:450; letter-spacing:-.035em;}
.kit-body .desc{color:#777069; font-size:12px; max-width:430px;}
.kit-body .price{color:#7a1727; font-size:26px; margin-top:5px;}
.kit-body .btn-primary{background:transparent;color:#171313;border:1px solid #171313;padding:13px 15px;width:100%;}
.kit-body .btn-primary:hover{background:#171313;color:#fff;}
@media(min-width:1080px){.kit-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.kit-thumb{height:430px;}}
@media(max-width:640px){.kit-grid{grid-template-columns:1fr;}.kit-thumb{height:360px;}}

/* Comparação */
.compare-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.compare-card{background:#f5f2ec;border:0!important;border-radius:0!important;color:#171313;}
.compare-card:hover{transform:none!important;background:#fbf9f4;}
.compare-thumb{background:#e5e0d8!important;}
.compare-card h3{font-family:"Fraunces",serif;color:#171313!important;}
.compare-card p,.compare-card li{color:#706963!important;}
@media(max-width:650px){.compare-grid{grid-template-columns:1fr;}}

/* Combos — blocos tipográficos */
.combo-grid{gap:1px;background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(2,1fr);}
.combo-card{background:#f0eee8;border:0;border-radius:0;color:#171313;padding:48px 28px;text-align:left;font-family:"Fraunces",serif;font-size:26px;min-height:145px;display:flex;align-items:flex-end;}
@media(min-width:920px){.combo-grid{grid-template-columns:repeat(4,1fr);}}

/* Editorial vinho */
.editorial{background:#7a1727;color:#f5eee8;}
.editorial::before{background:rgba(255,255,255,.25);}
.editorial .eyebrow{color:#e4bbc2;}
.editorial-grid h2{color:#fff8f1;font-size:clamp(58px,7vw,100px);line-height:.86;letter-spacing:-.06em;}
.editorial-grid .lead{color:#e9d4d2;max-width:430px;}
.editorial .btn-ghost{color:#fff;border-color:#fff;}
.editorial-visual{height:480px;}
.editorial-item{border:0;border-radius:0;background:#eee7dd;box-shadow:0 28px 60px -32px rgba(0,0,0,.4);}
.editorial-item-0{transform:rotate(-6deg);}
.editorial-item-1{transform:rotate(4deg);}
.editorial-item-2{transform:rotate(-1deg);}

/* Confiança */
.trust-grid{max-width:none;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.trust-item{background:#e7e2d9;padding:34px 24px;text-align:left;}
.trust-item svg{margin:0 0 22px;color:#7a1727;}
.trust-item span{color:#6d6660;font-size:12px;}
.trust-item b{color:#171313;font-family:"Fraunces",serif;font-size:20px;font-weight:450;}
@media(max-width:650px){.trust-grid{grid-template-columns:1fr 1fr;}.trust-item{padding:25px 18px;}}

/* FAQ */
.faq{max-width:none;border-top:1px solid var(--line);}
.faq-item{border-color:var(--line);}
.faq-q{color:#171313;font-family:"Fraunces",serif;font-size:clamp(20px,2.2vw,30px);padding:25px 4px;}
.faq-q .icon{color:#7a1727;}
.faq-a p{color:#6d6660;max-width:720px;}
.faq-a a{color:#7a1727;}

/* Footer */
footer{background:#171313;color:#f3eee5;border:0;padding:70px 0 110px;}
footer::before{display:none;}
footer .brand{color:#f3eee5;font-size:28px;}
footer .brand em{color:#ce8490;}
footer h4{color:#ce8490;}
footer p,footer ul li a,.footer-bottom{color:#a8a19a;}
footer ul li a:hover{color:#fff;}
.footer-bottom{border-color:rgba(255,255,255,.13);}
.disclaimer{color:#bbb0aa;}

/* Modais e checkout: claros, limpos, comerciais */
.modal-overlay{background:rgba(23,19,19,.56);backdrop-filter:blur(8px);}
.modal{background:#f7f4ee;color:#171313;border:1px solid rgba(23,19,19,.18);border-radius:0;box-shadow:0 34px 90px -35px rgba(0,0,0,.4);}
.modal-close{color:#171313;}
#modalNome,.cart-modal h3,.checkout-modal h3{color:#171313;}
.muted,.hint{color:#6d6660;}
.qty-control{border-color:var(--line);}
.qty-control button,.qty-control input{color:#171313;}
.cart-line,.order-summary,.kit-itens-list .item{border-color:var(--line)!important;background:#eeeae3!important;color:#171313!important;}
.cart-line .name,.order-summary b,.kit-itens-list .item b{color:#171313!important;}
.cart-line .sub,.order-summary small{color:#6d6660!important;}
.cart-summary .row{color:#6d6660;}
.cart-summary .total{color:#171313;}
.gold{color:#7a1727!important;}
.form-grid label,.cep-label{color:#5c5550;}
.form-grid input,.cep-confirm-row input{background:#fffdf9!important;color:#171313!important;border:1px solid rgba(23,19,19,.22)!important;border-radius:0!important;}
.free-shipping-box{background:#eee7df!important;border-color:#caa6ad!important;color:#5e202b!important;}
.pay-method{border-radius:0;background:#fffdf9;border-color:var(--line);}
.pay-method-text b{color:#171313;}.pay-method-text small{color:#6d6660;}.pay-method:has(input:checked){border-color:#7a1727;background:#f2e6e8;}.pay-method-icon,.pay-method-check{color:#7a1727;}
.progress-bar{border-color:var(--line)!important;}.progress-step{color:#817a74!important;}.progress-step.active{color:#7a1727!important;}

/* Mobile sticky */
.sticky-cta{background:rgba(240,238,232,.96);border-top:1px solid var(--line);color:#171313;}
.sticky-cta .info span{color:#7a1727;}
.sticky-cta button{background:#171313;color:#fff;border-radius:0;}
.toast{background:#171313;border-color:#171313;color:#fff;border-radius:0;}

@media(max-width:520px){
  .price-row{display:block;}.free-shipping-tag{padding:0;margin-top:6px;}
  .editorial-visual{height:300px;}.editorial-item .product-img,.editorial-item .img-placeholder{height:190px;}
  .combo-card{min-height:110px;font-size:22px;padding:30px 20px;}
}

/* Identificação da loja no rodapé */
.footer-cnpj{color:var(--gold-light);font-weight:600;letter-spacing:.02em;}


/* === Oferta de primeira compra === */
.promo-ribbon{display:inline-flex;align-items:center;gap:8px;margin-bottom:16px;padding:8px 12px;border:1px solid rgba(122,23,39,.28);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#7a1727;background:rgba(122,23,39,.045);}
.promo-price{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:6px;}
.promo-price .old-price{font-size:12px;color:#8a837b;text-decoration:line-through;text-decoration-thickness:1px;}
.promo-label{font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#7a1727;}
.promo-note,.promo-subcopy{font-size:11px;color:#7b746e;margin-top:3px;}
.hero-promo-price{display:flex;flex-direction:column;gap:2px;}
.promo-price.compact{margin:0 0 8px;}
.promo-price.compact .price{font-size:30px;}
.kit-card .promo-label{margin-bottom:1px;}
@media(max-width:640px){.promo-ribbon{font-size:9px;padding:7px 9px}.promo-subcopy{font-size:10px}}

/* Faixas de preço: primeira compra x preço normal */
.regular-label {
  display: inline-block;
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted, #887f76);
  margin-bottom: .2rem;
}
.first-purchase-confirm,
.regular-price-confirm {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: .82rem;
  line-height: 1.35;
}
.first-purchase-confirm {
  background: rgba(129, 93, 28, .10);
  border: 1px solid rgba(158, 116, 44, .25);
}
.regular-price-confirm {
  background: rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.10);
}

/* Meus Pedidos / acompanhamento */
.orders-page{min-height:70vh;padding:130px 0 70px;background:#f7f4ee;color:#171313}.orders-card{max-width:760px;margin:auto;background:#fff;border:1px solid rgba(23,19,19,.15);padding:28px}.orders-card h1{font-family:var(--heading);margin-bottom:8px}.orders-search{display:flex;gap:10px;margin:24px 0}.orders-search input{flex:1;padding:13px;border:1px solid #cfc8bf;background:#fff;color:#171313}.orders-search button,.track-order-btn{padding:13px 18px;background:#171313;color:#fff;border:0;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.tracking-box{border:1px solid #ddd4ca;padding:20px;margin-top:18px}.tracking-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid #e4ddd5;padding-bottom:16px;margin-bottom:18px}.tracking-code{font-size:12px;color:#766e67;word-break:break-all}.timeline{display:grid;gap:0;margin:18px 0}.timeline-step{position:relative;padding:0 0 24px 34px}.timeline-step:before{content:'';position:absolute;left:8px;top:8px;width:10px;height:10px;border-radius:50%;background:#c8c1ba;border:2px solid #c8c1ba}.timeline-step:after{content:'';position:absolute;left:13px;top:20px;width:2px;height:calc(100% - 8px);background:#ddd6cf}.timeline-step:last-child:after{display:none}.timeline-step.done:before,.timeline-step.current:before{background:#8d1730;border-color:#8d1730}.timeline-step.current strong{color:#8d1730}.timeline-step span{display:block;color:#766e67;font-size:13px;margin-top:3px}.tracking-note{background:#f2eee8;padding:14px;font-size:13px;color:#655d56}.order-address{font-size:13px;line-height:1.6;color:#655d56;margin-top:14px}@media(max-width:600px){.orders-page{padding-top:95px}.orders-card{margin:0 14px;padding:20px}.orders-search{flex-direction:column}.tracking-head{flex-direction:column}}
