:root{
  --cream:#EDEBDE;
  --cream-soft:#F8F7F0;
  --white:#FFFFFF;
  --sage:#A1B59C;
  --sage-light:#C3D0BE;
  --sage-dark:#71886A;
  --sage-darker:#57694F;
  --text:#2B2A22;
  --text-muted:#5B5A4E;
  --shadow:0 10px 30px rgba(43,42,34,0.08);
  --shadow-hover:0 16px 40px rgba(43,42,34,0.14);
  --radius:18px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Jost',sans-serif;
  color:var(--text);
  background:var(--cream);
  line-height:1.6;
  font-size:16px;
  overflow-x:hidden;
}
h1,h2,h3,h4{
  font-family:'Marcellus',serif;
  font-weight:600;
  line-height:1.2;
  color:var(--text);
}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
.container{max-width:1200px;margin:0 auto;padding:0 24px;}
.section{padding:88px 0;}
.section-sm{padding:56px 0;}
.eyebrow{
  display:inline-block;
  font-size:13px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--sage-darker);
  font-weight:700;
  margin-bottom:14px;
}
.section-title{font-size:clamp(28px,4vw,42px);margin-bottom:16px;}
.section-sub{font-size:17px;color:var(--text-muted);max-width:640px;}
.center{text-align:center;margin-left:auto;margin-right:auto;}
.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:16px 32px;
  border-radius:100px;
  font-weight:700;
  font-size:15px;
  letter-spacing:0.3px;
  cursor:pointer;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
  border:none;
}
.btn-primary{
  background:var(--sage-dark);
  color:var(--white);
  box-shadow:0 8px 24px rgba(87,105,79,0.35);
}
.btn-primary:hover{background:var(--sage-darker);transform:translateY(-3px);box-shadow:0 14px 30px rgba(87,105,79,0.45);}
.btn-outline{
  background:transparent;
  color:var(--sage-darker);
  border:1.5px solid var(--sage-dark);
}
.btn-outline:hover{background:var(--sage-dark);color:var(--white);transform:translateY(-3px);}
.btn svg{width:18px;height:18px;flex-shrink:0;}

/* ---------- reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease, transform .7s ease;}
.reveal.is-visible{opacity:1;transform:translateY(0);}

/* ---------- header ---------- */
.header{
  position:sticky;top:0;z-index:100;
  background:rgba(237,235,222,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(87,105,79,0.12);
  transition:box-shadow .3s ease;
}
.header.scrolled{box-shadow:0 4px 20px rgba(43,42,34,0.08);}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 24px;max-width:1200px;margin:0 auto;
}
.logo img{height:48px;width:auto;}
.header-brand{display:flex;align-items:center;gap:14px;}
.header-location{
  display:none;align-items:center;gap:6px;flex-shrink:0;white-space:nowrap;
  background:var(--cream-soft);color:var(--sage-darker);
  font-size:12.5px;font-weight:700;padding:7px 14px;border-radius:100px;
  border:1px solid rgba(87,105,79,0.15);
}
.header-location svg{width:14px;height:14px;flex-shrink:0;}
@media(min-width:640px){.header-location{display:flex;}}
.nav{display:flex;gap:32px;align-items:center;}
.nav a{font-size:14px;font-weight:600;color:var(--text);transition:color .2s;}
.nav a:hover{color:var(--sage-darker);}
.nav a.active{color:var(--sage-darker);}
.nav-cta{display:none;}
@media(min-width:860px){.nav-cta{display:flex;}}
.nav-cart-btn{
  position:relative;display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:14px;background:var(--white);border:none;cursor:pointer;
  box-shadow:var(--shadow);flex-shrink:0;transition:transform .2s ease, box-shadow .2s ease;
}
.nav-cart-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);}
.nav-cart-btn svg{width:21px;height:21px;color:var(--sage-darker);}
.nav-cart-badge{
  position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;border-radius:50%;
  background:#D9764A;color:var(--white);font-size:11px;font-weight:700;
  display:none;align-items:center;justify-content:center;padding:0 5px;
  box-shadow:0 2px 6px rgba(217,118,74,0.5);
}
.nav-cart-badge.pulse{animation:cart-pulse .4s ease;}
@keyframes cart-pulse{0%{transform:scale(1);}50%{transform:scale(1.35);}100%{transform:scale(1);}}
.nav-links{display:none;}
@media(min-width:860px){.nav-links{display:flex;}}
/* Menu "Categorias" (26/07/2026, pedido do Rafael) — <details>/<summary> nativo em vez de
   dropdown por :hover: funciona igual em mouse e em touch (tablet que bate os 860px de
   largura do nav desktop também usa toque, não tem hover) e não precisa de JS nenhum. */
.nav-dropdown{position:relative;}
.nav-dropdown summary{
  cursor:pointer;list-style:none;user-select:none;
  display:flex;align-items:center;gap:5px;
  font-size:14px;font-weight:600;color:var(--text);transition:color .2s;
}
.nav-dropdown summary::-webkit-details-marker{display:none;}
.nav-dropdown summary::after{
  content:"";width:6px;height:6px;margin-top:-3px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);transition:transform .2s ease;
}
.nav-dropdown:hover summary,
.nav-dropdown[open] summary{color:var(--sage-darker);}
.nav-dropdown[open] summary::after{transform:rotate(-135deg);margin-top:3px;}
.nav-dropdown-menu{
  position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%);
  background:var(--white);border-radius:14px;box-shadow:var(--shadow-hover);
  padding:8px;display:flex;flex-direction:column;min-width:190px;z-index:120;
}
.nav-dropdown-menu a{padding:9px 14px;border-radius:8px;font-size:14px;font-weight:600;white-space:nowrap;}
.nav-dropdown-menu a:hover{background:var(--cream-soft);}
.burger{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  background:var(--white);border:none;cursor:pointer;
  width:44px;height:44px;border-radius:14px;flex-shrink:0;
  box-shadow:var(--shadow);transition:transform .2s ease, box-shadow .2s ease;
}
.burger:active{transform:scale(0.94);}
@media(min-width:860px){.burger{display:none;}}
.burger span{width:20px;height:2.5px;background:var(--sage-darker);display:block;border-radius:2px;}

/* ---------- hero ---------- */
.hero{padding:56px 0 88px;position:relative;}
.hero-grid{display:grid;grid-template-columns:1fr;gap:48px;align-items:center;}
@media(min-width:900px){.hero-grid{grid-template-columns:1.05fr 0.95fr;}}
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--white);
  padding:8px 16px;border-radius:100px;
  font-size:13px;font-weight:700;color:var(--sage-darker);
  box-shadow:var(--shadow);margin-bottom:24px;
}
.hero-badge .dot{width:8px;height:8px;border-radius:50%;background:#D9764A;animation:pulse 1.8s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(217,118,74,0.5);}70%{box-shadow:0 0 0 8px rgba(217,118,74,0);}100%{box-shadow:0 0 0 0 rgba(217,118,74,0);}}
.hero-badges-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;}
.hero-badges-row .hero-badge{margin-bottom:0;}
.hero-location-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--sage-dark);color:var(--white);
  padding:8px 16px;border-radius:100px;
  font-size:13px;font-weight:700;
  box-shadow:0 8px 20px rgba(87,105,79,0.3);
}
.hero-location-badge svg{width:16px;height:16px;flex-shrink:0;}

/* Quadro de regras da categoria "data especial" (pedido do Rafael, 26/07/2026) */
.regras-data-especial{
  max-width:680px;margin:8px auto 0;text-align:left;
  background:var(--white);border-radius:16px;padding:22px 26px;
  box-shadow:var(--shadow);display:grid;gap:16px;
}
@media(min-width:640px){.regras-data-especial{grid-template-columns:1fr 1fr;}}
.regras-data-especial-item h3{font-family:'Jost',sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:.5px;color:var(--sage-dark);margin-bottom:6px;}
.regras-data-especial-item p{font-size:14px;line-height:1.6;color:var(--text-muted);white-space:pre-line;}
.hero h1{font-size:clamp(34px,5vw,54px);margin-bottom:20px;}
.hero h1 em{font-style:normal;color:var(--sage-darker);}
.hero p.lead{font-size:18px;color:var(--text-muted);max-width:520px;margin-bottom:28px;}
.hero-bullets{list-style:none;margin-bottom:32px;display:flex;flex-direction:column;gap:12px;}
.hero-bullets li{display:flex;align-items:flex-start;gap:10px;font-size:15px;font-weight:500;}
.hero-bullets svg{width:20px;height:20px;flex-shrink:0;color:var(--sage-dark);margin-top:1px;}
.hero-cta-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center;}
.hero-image-wrap{position:relative;}
.hero-image{position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-hover);aspect-ratio:4/5;}
.hero-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.hero-image:hover img.active{transform:scale(1.04);}
/* Banner do hero com várias fotos (26/07/2026, pedido do Rafael) — mesma técnica de
   crossfade do .cat-img-slide de produto, só que trocando sozinho por tempo. */
.hero-image .hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease;}
.hero-image .hero-slide.active{opacity:1;}
.hero-float-card{
  position:absolute;bottom:-24px;left:-24px;
  background:var(--white);padding:18px 22px;border-radius:16px;
  box-shadow:var(--shadow-hover);
  display:flex;align-items:center;gap:12px;
  animation:float 4s ease-in-out infinite;
}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
.hero-float-card .icon{width:40px;height:40px;border-radius:50%;background:var(--sage-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.hero-float-card .icon svg{width:20px;height:20px;color:var(--sage-darker);}
.hero-float-card strong{display:block;font-size:14px;}
.hero-float-card span{font-size:12px;color:var(--text-muted);}

/* countdown */
.countdown{display:flex;gap:14px;margin-top:32px;}
.countdown .box{background:var(--white);border-radius:14px;padding:14px 10px;text-align:center;min-width:64px;box-shadow:var(--shadow);}
.countdown .box .num{font-family:'Marcellus',serif;font-size:26px;font-weight:700;color:var(--sage-darker);}
.countdown .box .lbl{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);}

/* ---------- diferenciais ---------- */
.diff-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:48px;}
@media(min-width:760px){.diff-grid{grid-template-columns:repeat(3,1fr);}}
.diff-card{background:var(--white);border-radius:var(--radius);padding:32px 28px;box-shadow:var(--shadow);transition:transform .3s ease, box-shadow .3s ease;}
.diff-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover);}
.diff-icon{width:56px;height:56px;border-radius:16px;background:var(--sage-light);display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.diff-icon svg{width:28px;height:28px;color:var(--sage-darker);}
.diff-card h3{font-size:19px;margin-bottom:10px;}
.diff-card p{font-size:14.5px;color:var(--text-muted);}

/* ---------- contexto ---------- */
.contexto{background:var(--white);}
.contexto-inner{max-width:760px;margin:0 auto;text-align:center;}
.contexto p{font-size:18px;color:var(--text-muted);margin-bottom:18px;}
.contexto p strong{color:var(--text);}

.hero-list{margin-bottom:32px;}

/* ---------- categorias (home) ---------- */
.cat-links-grid{display:grid;grid-template-columns:1fr;gap:28px;margin-top:48px;}
@media(min-width:760px){.cat-links-grid{grid-template-columns:repeat(3,1fr);}}
.cat-link-card{
  background:var(--white);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);transition:transform .35s ease, box-shadow .35s ease;
  display:flex;flex-direction:column;
}
.cat-link-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-hover);}
.cat-link-img{aspect-ratio:4/3;overflow:hidden;}
.cat-link-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.cat-link-card:hover .cat-link-img img{transform:scale(1.08);}
.cat-link-body{padding:26px;display:flex;flex-direction:column;gap:10px;flex:1;}
.cat-link-body h3{font-size:22px;}
.cat-link-body p{font-size:14.5px;color:var(--text-muted);flex:1;}
.cat-link-body .btn{width:100%;justify-content:center;margin-top:6px;}

/* ---------- catalogo (grids de produto) ---------- */
.catalogo{background:var(--cream-soft);}
.cat-grid{display:grid;grid-template-columns:1fr;gap:28px;margin-top:48px;}
@media(min-width:680px){.cat-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1080px){.cat-grid{grid-template-columns:repeat(3,1fr);}}
.cat-card{
  background:var(--white);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);transition:transform .35s ease, box-shadow .35s ease;
  display:flex;flex-direction:column;
}
.cat-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-hover);}
.cat-img{aspect-ratio:1/1;overflow:hidden;position:relative;background:var(--cream-soft);}
.cat-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.cat-card:hover .cat-img img{transform:scale(1.08);}
.cat-tag{
  position:absolute;top:14px;left:14px;background:var(--white);
  padding:6px 14px;border-radius:100px;font-size:11px;font-weight:700;
  letter-spacing:0.5px;text-transform:uppercase;color:var(--sage-darker);
  box-shadow:var(--shadow);z-index:6;
}
/* Faixa "Esgotado" (26/07/2026, pedido do Rafael: "não quero mais cinza, quero um banner
   diagonal vermelho") — cruza o canto superior-direito da foto. Funciona em qualquer largura
   de tela porque quem corta a faixa certinha no contorno do card é o overflow:hidden do
   .cat-img (pai), não um cálculo de posição — não quebra em celular. */
.cat-ribbon-esgotado{
  position:absolute;top:18px;right:-42px;z-index:6;
  background:#DC2626;color:var(--white);
  padding:6px 46px;font-size:12px;font-weight:700;
  letter-spacing:0.5px;text-transform:uppercase;
  transform:rotate(45deg);box-shadow:0 2px 8px rgba(0,0,0,0.25);
  pointer-events:none;
}
/* Selo "chega hoje" (26/07/2026, redesenhado 27/07/2026 a pedido do Rafael: "mesma ideia do
   esgotado, só que dourado, e um selo mesmo, não um retângulo, do lado do nome") — calculado
   e aplicado 100% via JS (aplicarSelosDisponibilidadeHoje em script.js), inserido dentro do
   <h3> do produto, não mais sobre a foto. Ponta recortada de um lado (border-radius
   assimétrico) + gradiente + sombra dão a sensação de selo/fita em vez de pílula lisa. */
.selo-chega-hoje{
  display:inline-flex;align-items:center;gap:5px;vertical-align:middle;margin-left:8px;
  background:linear-gradient(135deg,#F4D888,#C9A227 60%,#B08A1C);
  color:#4A3B0A;padding:4px 12px 4px 9px;border-radius:3px 12px 12px 3px;
  font-size:10.5px;font-weight:800;letter-spacing:0.4px;text-transform:uppercase;
  box-shadow:0 3px 9px rgba(176,138,28,0.4), inset 0 1px 0 rgba(255,255,255,0.55);
  white-space:nowrap;
}
.selo-chega-hoje::before{content:'';width:5px;height:5px;border-radius:50%;background:#4A3B0A;opacity:0.5;flex-shrink:0;}
.cat-body{padding:24px;display:flex;flex-direction:column;gap:14px;flex:1;}
.cat-body h3{font-size:21px;}
.cat-body .tagline{font-size:13.5px;color:var(--sage-darker);font-weight:600;font-style:normal;font-family:'Marcellus',serif;}
.cat-items{list-style:none;display:flex;flex-direction:column;gap:8px;margin:4px 0 8px;}
.cat-items li{display:flex;gap:8px;font-size:13.5px;color:var(--text-muted);align-items:flex-start;}
.cat-items svg{width:15px;height:15px;color:var(--sage-dark);flex-shrink:0;margin-top:2px;}
.cat-price{display:flex;align-items:baseline;gap:6px;margin-top:2px;flex-wrap:wrap;}
.cat-price .value{font-family:'Marcellus',serif;font-size:24px;font-weight:700;color:var(--sage-darker);}
.cat-price .from{font-size:12px;color:var(--text-muted);}
.cat-cta{margin-top:auto;}
.cat-cta .btn{width:100%;justify-content:center;padding:13px 20px;font-size:14px;}
.cat-badge{
  display:inline-block;font-size:11px;font-weight:700;letter-spacing:0.3px;
  color:var(--sage-darker);background:var(--sage-light);padding:4px 10px;border-radius:100px;
  align-self:flex-start;
}
/* Aviso de tempo de produção (27/07/2026, pedido do Rafael: "melhore o destaque dessa
   informação") — antes era um <span class="muted"> quase invisível; virou um chip com
   contorno, no mesmo espírito visual do .cat-badge, mas com cor própria (âmbar) pra não se
   confundir com a tag de categoria (sage) nem com o selo dourado "chega hoje". */
.badge-tempo-producao{
  display:inline-flex;align-items:center;gap:5px;align-self:flex-start;
  font-size:11.5px;font-weight:700;color:#8A5A10;background:#FBF0DA;
  border:1px solid rgba(138,90,16,0.25);padding:5px 11px;border-radius:100px;margin:-2px 0 4px;
}

/* ---------- galeria de fotos no card ---------- */
.cat-gallery{cursor:pointer;}
.cat-gallery .cat-img-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s ease;}
.cat-gallery .cat-img-slide.active{opacity:1;}
.gal-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:7;
  width:34px;height:34px;border-radius:50%;border:none;cursor:pointer;
  background:rgba(255,255,255,0.85);color:var(--sage-darker);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 12px rgba(0,0,0,0.18);
  opacity:0;transition:opacity .25s ease, background .2s ease;
}
.gal-arrow svg{width:18px;height:18px;}
.cat-gallery:hover .gal-arrow{opacity:1;}
.gal-arrow:hover{background:var(--white);}
.gal-prev{left:10px;}
.gal-next{right:10px;}
.gal-dots{position:absolute;bottom:12px;left:0;right:0;z-index:7;display:flex;justify-content:center;gap:6px;}
.gal-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,0.6);border:none;cursor:pointer;padding:0;box-shadow:0 1px 3px rgba(0,0,0,0.3);}
.gal-dot.active{background:var(--white);width:9px;height:9px;}
.gal-count{
  position:absolute;top:14px;right:14px;z-index:6;
  background:rgba(43,42,34,0.55);color:var(--white);
  font-size:11px;font-weight:700;padding:4px 10px;border-radius:100px;
  display:flex;align-items:center;gap:5px;
}
.gal-count svg{width:12px;height:12px;}
@media(max-width:759px){.gal-arrow{opacity:1;width:30px;height:30px;}}

/* ---------- modal de agendamento (garantir cesta) ---------- */
.wa-modal{
  position:fixed;inset:0;z-index:410;background:rgba(20,19,14,0.55);
  display:none;align-items:center;justify-content:center;padding:20px;
}
.wa-modal.open{display:flex;}
.wa-modal-inner{
  background:var(--white);border-radius:20px;max-width:440px;width:100%;
  max-height:90vh;overflow-y:auto;overflow-x:hidden;padding:32px 28px;position:relative;
  box-shadow:var(--shadow-hover);
}
.wa-modal-close{
  position:absolute;top:16px;right:16px;background:var(--cream-soft);border:none;cursor:pointer;
  width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text);
}
.wa-modal-close svg{width:18px;height:18px;}
.wa-modal-inner h3{font-size:21px;margin-bottom:4px;padding-right:32px;}
.wa-modal-sub{color:var(--sage-darker);font-weight:700;font-size:15px;margin-bottom:22px;}
.wa-modal-field{display:block;font-size:13px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:18px;}
.wa-modal-field input[type="date"],
.wa-modal-field input[type="text"],
.wa-modal-field select{
  display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;
  margin-top:8px;padding:12px 14px;border-radius:10px;
  border:1.5px solid rgba(87,105,79,0.25);font-family:'Jost',sans-serif;font-size:14.5px;
  font-weight:500;color:var(--text);background:var(--cream);text-transform:none;letter-spacing:normal;
}
.wa-modal-field input[type="date"]{-webkit-appearance:none;appearance:none;}

/* ---------- calendario customizado (verde=disponivel, vermelho=indisponivel) ---------- */
.cal-input-btn{
  display:flex;align-items:center;gap:10px;width:100%;max-width:100%;min-width:0;box-sizing:border-box;
  margin-top:8px;padding:12px 14px;border-radius:10px;border:1.5px solid rgba(87,105,79,0.25);
  background:var(--cream);font-family:'Jost',sans-serif;font-size:14.5px;font-weight:500;
  color:var(--text);cursor:pointer;text-align:left;text-transform:none;letter-spacing:normal;
}
.cal-input-btn svg{width:18px;height:18px;color:var(--sage-dark);flex-shrink:0;}
.cal-popup{
  display:none;margin:-10px 0 18px;background:var(--white);border-radius:14px;
  box-shadow:var(--shadow);padding:16px;border:1px solid rgba(87,105,79,0.15);
  overflow-x:hidden;
}
.cal-popup.show{display:block;}
.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.cal-header span{font-family:'Marcellus',serif;font-size:15px;font-weight:700;color:var(--text);text-transform:capitalize;}
.cal-header button{
  background:var(--cream-soft);border:none;width:30px;height:30px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--sage-darker);flex-shrink:0;
}
.cal-header button:disabled{opacity:0.3;cursor:not-allowed;}
.cal-header button svg{width:15px;height:15px;}
.cal-semana{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:11px;font-weight:700;color:var(--text-muted);margin-bottom:6px;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.cal-dia{
  aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;border-radius:8px;
  font-size:13px;font-weight:600;border:none;background:none;color:var(--text);
  font-family:'Jost',sans-serif;
}
.cal-dia.vazio{visibility:hidden;}
.cal-dia.disponivel{background:rgba(113,136,106,0.18);color:var(--sage-darker);cursor:pointer;}
.cal-dia.disponivel:hover{background:var(--sage-dark);color:var(--white);}
.cal-dia.indisponivel{background:rgba(180,69,58,0.10);color:#B4453A;opacity:0.75;cursor:not-allowed;}
.cal-dia.selecionado{background:var(--sage-dark);color:var(--white);}
.cal-legenda{display:flex;gap:16px;justify-content:center;margin-top:12px;font-size:11.5px;color:var(--text-muted);flex-wrap:wrap;}
.cal-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:middle;}
.cal-dot-verde{background:var(--sage-dark);}
.cal-dot-vermelho{background:#B4453A;}
.wa-modal-field input[type="text"]::placeholder{color:var(--text-muted);opacity:0.7;}
.wa-modal-entrega-info{
  display:none;align-items:center;gap:8px;
  background:var(--cream-soft);border:1px solid rgba(87,105,79,0.18);
  border-radius:10px;padding:10px 14px;margin:-8px 0 18px;
  font-size:13px;color:var(--sage-darker);font-weight:600;
}
.wa-modal-entrega-info.show{display:flex;}
.wa-modal-entrega-info svg{width:17px;height:17px;flex-shrink:0;color:var(--sage-dark);}
.wa-modal-entrega-info.erro{background:#FBEAEA;color:#B4453A;border-color:rgba(180,69,58,0.25);}
.wa-modal-entrega-info.erro svg{color:#B4453A;}
.wa-modal-total{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding-top:14px;margin-bottom:18px;border-top:1.5px dashed rgba(87,105,79,0.25);
}
.wa-modal-total span{font-size:13px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:0.5px;}
.wa-modal-total strong{font-family:'Marcellus',serif;font-size:22px;color:var(--sage-darker);}
.wa-modal-adicionais{margin-bottom:22px;}
.wa-modal-adicionais > span{display:block;font-size:13px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:10px;}
.wa-modal-adicional{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  font-weight:500;font-size:14px;margin-bottom:8px;background:var(--cream-soft);
  padding:11px 14px;border-radius:10px;cursor:pointer;
}
.wa-modal-adicional .label-text{display:flex;align-items:center;gap:10px;}
.wa-modal-adicional-foto{width:38px;height:38px;border-radius:8px;object-fit:cover;flex-shrink:0;}
.wa-modal-adicional input[type="checkbox"]{width:18px;height:18px;accent-color:var(--sage-dark);flex-shrink:0;}
.wa-modal-adicional .price{color:var(--sage-darker);font-weight:700;font-size:13px;white-space:nowrap;}
.wa-modal-cartao-msg{display:none;margin:-2px 0 10px;}
.wa-modal-cartao-msg.show{display:block;}
.wa-modal-cartao-msg textarea{
  width:100%;padding:11px 14px;border-radius:10px;resize:vertical;
  border:1.5px solid rgba(87,105,79,0.25);font-family:'Jost',sans-serif;font-size:14px;
  font-weight:500;color:var(--text);background:var(--cream);
}
.wa-modal-cartao-msg textarea::placeholder{color:var(--text-muted);opacity:0.7;}
.wa-modal-foto-aviso{
  display:none;align-items:center;gap:8px;
  background:var(--cream-soft);border:1px solid rgba(87,105,79,0.18);
  border-radius:10px;padding:10px 14px;margin:8px 0 0;
  font-size:12.5px;color:var(--sage-darker);font-weight:600;
}
.wa-modal-foto-aviso.show{display:flex;}
.wa-modal-foto-aviso svg{width:16px;height:16px;flex-shrink:0;color:var(--sage-dark);}
.wa-modal-pagamento{margin-bottom:22px;}
.wa-modal-pagamento > span{display:block;font-size:13px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:10px;}
.wa-modal-pagamento-opcoes{display:flex;gap:10px;}
.wa-modal-pagamento-opcao{
  position:relative;flex:1;display:flex;align-items:center;justify-content:center;
  padding:12px 14px;border-radius:10px;border:1.5px solid rgba(87,105,79,0.25);
  background:var(--cream);cursor:pointer;font-weight:600;font-size:14px;color:var(--text);
  transition:border-color .2s ease, background .2s ease, color .2s ease;
}
.wa-modal-pagamento-opcao input{position:absolute;opacity:0;width:0;height:0;pointer-events:none;}
.wa-modal-pagamento-opcao.selected{border-color:var(--sage-dark);background:var(--sage-light);color:var(--sage-darker);}
.wa-modal-inner .btn{width:100%;justify-content:center;margin-top:6px;}
.carrinho-aviso-confirmacao{margin-top:12px;font-size:12px;color:var(--text-muted);text-align:center;line-height:1.5;}

/* ---------- carrinho ---------- */
.wa-modal-inner-carrinho{max-width:480px;}
.carrinho-itens{display:flex;flex-direction:column;gap:10px;margin:0 0 18px;max-height:240px;overflow-y:auto;overflow-x:hidden;}
.carrinho-item{
  display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
  background:var(--cream-soft);border-radius:12px;padding:12px 14px;
}
.carrinho-item-info strong{display:block;font-size:14.5px;margin-bottom:2px;}
.carrinho-item-preco{font-size:13px;color:var(--sage-darker);font-weight:700;}
.carrinho-item-adicionais{list-style:none;margin-top:6px;display:flex;flex-direction:column;gap:2px;}
.carrinho-item-adicionais li{font-size:12.5px;color:var(--text-muted);}
.carrinho-item-cartao-msg{font-size:12px;color:var(--text-muted);font-style:italic;margin-top:4px;}
.carrinho-item-remover{
  background:none;border:none;cursor:pointer;color:var(--text-muted);flex-shrink:0;
  width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;
  transition:background .2s ease, color .2s ease;
}
.carrinho-item-remover svg{width:16px;height:16px;}
.carrinho-item-remover:hover{background:rgba(180,69,58,0.12);color:#B4453A;}
.carrinho-vazio{display:none;text-align:center;color:var(--text-muted);font-size:14px;padding:20px 0 28px;}
.wa-modal-total-final{border-top:none;padding-top:0;margin-top:-6px;}
.wa-modal-total-final strong{font-size:26px;}
.carrinho-retirada-endereco{
  display:flex;align-items:center;gap:8px;background:var(--cream-soft);border:1px solid rgba(87,105,79,0.18);
  border-radius:10px;padding:10px 14px;margin:-8px 0 18px;font-size:13px;color:var(--sage-darker);font-weight:600;
}
.carrinho-retirada-endereco svg{width:17px;height:17px;flex-shrink:0;}

/* ---------- lightbox ---------- */
.lightbox{
  position:fixed;inset:0;z-index:400;background:rgba(20,19,14,0.92);
  display:none;align-items:center;justify-content:center;padding:24px;
}
.lightbox.open{display:flex;}
.lightbox-inner{position:relative;max-width:min(880px,92vw);max-height:88vh;width:100%;}
.lightbox-img{width:100%;max-height:80vh;object-fit:contain;border-radius:12px;display:block;margin:0 auto;background:#111;}
.lightbox-close{
  position:absolute;top:-46px;right:0;background:none;border:none;cursor:pointer;
  color:var(--white);width:36px;height:36px;display:flex;align-items:center;justify-content:center;
}
.lightbox-close svg{width:26px;height:26px;}
.lightbox-caption{color:rgba(255,255,255,0.85);text-align:center;font-size:14px;margin-top:14px;}
.lightbox-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:46px;height:46px;border-radius:50%;border:none;cursor:pointer;
  background:rgba(255,255,255,0.12);color:var(--white);
  display:flex;align-items:center;justify-content:center;
  transition:background .2s ease;
}
.lightbox-arrow:hover{background:rgba(255,255,255,0.25);}
.lightbox-arrow svg{width:24px;height:24px;}
.lb-prev{left:-58px;}
.lb-next{right:-58px;}
@media(max-width:760px){.lb-prev{left:6px;}.lb-next{right:6px;}.lightbox-arrow{background:rgba(0,0,0,0.4);}}
.lightbox-dots{display:flex;justify-content:center;gap:7px;margin-top:16px;}
.lightbox-dots .gal-dot{background:rgba(255,255,255,0.3);}
.lightbox-dots .gal-dot.active{background:var(--white);}

/* filtros de categoria */
.filter-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:32px;}
.filter-btn{
  background:var(--white);border:1.5px solid rgba(87,105,79,0.25);color:var(--text-muted);
  padding:10px 20px;border-radius:100px;font-size:13.5px;font-weight:700;cursor:pointer;
  transition:all .2s ease;
}
.filter-btn:hover{border-color:var(--sage-dark);color:var(--sage-darker);}
.filter-btn.active{background:var(--sage-dark);border-color:var(--sage-dark);color:var(--white);}

/* ---------- como funciona ---------- */
.steps-grid{display:grid;grid-template-columns:1fr;gap:28px;margin-top:52px;position:relative;}
@media(min-width:800px){.steps-grid{grid-template-columns:repeat(3,1fr);gap:24px;}}
.step{
  text-align:center;position:relative;
  background:var(--white);border-radius:var(--radius);
  padding:38px 26px 32px;box-shadow:var(--shadow);
  transition:transform .35s ease, box-shadow .35s ease;
}
.step:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover);}
.step-num{
  width:64px;height:64px;border-radius:50%;background:var(--sage-dark);color:var(--white);
  font-family:'Marcellus',serif;font-size:24px;font-weight:700;
  display:flex;align-items:center;justify-content:center;margin:0 auto 20px;
  box-shadow:0 10px 24px rgba(87,105,79,0.35);
}
.step-icon-wrap{position:relative;width:78px;height:78px;margin:0 auto 22px;}
.step-icon{
  width:78px;height:78px;border-radius:50%;background:var(--sage-dark);color:var(--white);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 24px rgba(87,105,79,0.35);
}
.step-icon svg{width:32px;height:32px;}
.step-num-badge{
  position:absolute;top:-4px;right:-4px;width:27px;height:27px;border-radius:50%;
  background:#D9764A;color:var(--white);font-size:13px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 10px rgba(217,118,74,0.45);border:2.5px solid var(--white);
}
.step h3{font-size:19px;margin-bottom:9px;}
.step p{font-size:14.5px;color:var(--text-muted);margin-bottom:18px;min-height:44px;}
.step-chip{
  display:inline-flex;align-items:center;gap:7px;
  background:var(--cream-soft);color:var(--sage-darker);font-size:13px;font-weight:700;
  padding:9px 18px;border-radius:100px;
}
.step-chip svg{width:15px;height:15px;flex-shrink:0;}
a.step-chip{cursor:pointer;transition:background .2s ease, transform .2s ease;}
a.step-chip:hover{background:var(--sage-light);transform:translateY(-2px);}
@media(min-width:800px){
  .steps-grid::before{
    content:"";
    position:absolute;
    top:77px;left:16.667%;right:16.667%;height:0;
    border-top:2px dashed var(--sage-light);
  }
}

/* ---------- empresarial / faixa destaque ---------- */
.empresarial{
  background:linear-gradient(135deg,var(--sage-dark),var(--sage-darker));
  color:var(--white);border-radius:28px;
  padding:56px 40px;display:flex;flex-direction:column;gap:20px;align-items:flex-start;
}
@media(min-width:800px){.empresarial{flex-direction:row;justify-content:space-between;align-items:center;}}
.empresarial h2{color:var(--white);font-size:clamp(24px,3vw,32px);max-width:480px;}
.empresarial p{color:rgba(255,255,255,0.85);max-width:480px;margin-top:10px;font-size:15.5px;}
.empresarial .btn-primary{background:var(--white);color:var(--sage-darker);box-shadow:0 8px 24px rgba(0,0,0,0.2);}
.empresarial .btn-primary:hover{background:var(--cream);}

/* ---------- info importante ---------- */
.info-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:40px;}
@media(min-width:700px){.info-grid{grid-template-columns:1fr 1fr;}}
.info-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px;}
.info-card h3{font-size:19px;color:var(--sage-darker);margin-bottom:16px;}
.info-card ul{list-style:none;display:flex;flex-direction:column;gap:12px;}
.info-card li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--text-muted);}
.info-card li svg{width:16px;height:16px;color:var(--sage-dark);flex-shrink:0;margin-top:3px;}
.info-card li strong{color:var(--text);}

/* ---------- instagram cta ---------- */
.insta-cta{
  background:linear-gradient(135deg,#4f5bd5,#962fbf,#d62976,#fa7e1e,#feda75);
  color:var(--white);border-radius:28px;
  padding:44px;display:flex;flex-direction:column-reverse;gap:32px;align-items:center;
  box-shadow:0 20px 50px rgba(214,41,118,0.28);
}
@media(min-width:800px){.insta-cta{flex-direction:row;justify-content:space-between;align-items:center;padding:48px 52px;}}
.insta-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:10px;
  width:220px;flex-shrink:0;
}
.insta-grid img{
  width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;
  box-shadow:0 10px 24px rgba(0,0,0,0.25);
  border:3px solid rgba(255,255,255,0.85);
}
.insta-info{max-width:480px;text-align:center;}
@media(min-width:800px){.insta-info{text-align:left;}}
.insta-handle{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,0.18);backdrop-filter:blur(6px);
  padding:7px 16px 7px 10px;border-radius:100px;
  font-size:14px;font-weight:700;color:var(--white);margin-bottom:16px;
}
.insta-handle svg{width:22px;height:22px;flex-shrink:0;}
.insta-cta h2{color:var(--white);font-size:clamp(24px,3vw,32px);}
.insta-cta p{color:rgba(255,255,255,0.92);margin-top:10px;font-size:15.5px;}
.insta-cta .btn-primary{background:var(--white);color:#d62976;box-shadow:0 8px 24px rgba(0,0,0,0.2);margin-top:22px;}
.insta-cta .btn-primary:hover{background:var(--cream);}

/* ---------- cta final com foto (variante) ---------- */
.cta-final.has-photo{padding:0;text-align:left;display:grid;grid-template-columns:1fr;}
@media(min-width:760px){.cta-final.has-photo{grid-template-columns:0.9fr 1.1fr;}}
.cta-final-photo{position:relative;height:240px;}
@media(min-width:760px){.cta-final-photo{height:auto;}}
.cta-final-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.cta-final.has-photo .cta-final-content{max-width:none;margin:0;padding:44px 32px 48px;text-align:center;}
@media(min-width:760px){
  .cta-final.has-photo .cta-final-content{text-align:left;padding:56px 52px;display:flex;flex-direction:column;justify-content:center;}
}

/* ---------- faq ---------- */
.faq-list{max-width:800px;margin:48px auto 0;display:flex;flex-direction:column;gap:14px;}
.faq-item{background:var(--white);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;}
.faq-q{
  width:100%;text-align:left;padding:22px 26px;background:none;border:none;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  font-family:'Marcellus',serif;font-size:16.5px;font-weight:600;color:var(--text);
}
.faq-q .plus{width:28px;height:28px;border-radius:50%;background:var(--sage-light);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:transform .3s ease;}
.faq-item.open .faq-q .plus{transform:rotate(45deg);background:var(--sage-dark);}
.faq-item.open .faq-q .plus svg{color:var(--white);}
.faq-q .plus svg{width:14px;height:14px;color:var(--sage-darker);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.faq-a-inner{padding:0 26px 22px;font-size:14.5px;color:var(--text-muted);}

/* ---------- cta final ---------- */
.cta-final{background:var(--white);border-radius:28px;padding:64px 40px;text-align:center;box-shadow:var(--shadow);position:relative;overflow:hidden;}
.cta-final::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 20% 20%, rgba(161,181,156,0.18), transparent 50%),
             radial-gradient(circle at 80% 80%, rgba(161,181,156,0.14), transparent 50%);
}
.cta-final-content{position:relative;z-index:1;max-width:600px;margin:0 auto;}
.cta-final h2{font-size:clamp(26px,4vw,36px);margin-bottom:16px;}
.cta-final p{color:var(--text-muted);font-size:16px;margin-bottom:30px;}
.cta-final .ps{margin-top:24px;font-size:14px;font-style:normal;color:var(--sage-darker);font-family:'Marcellus',serif;}

/* ---------- dúvidas frequentes (26/07/2026) ---------- */
.duvidas-lista{display:flex;flex-direction:column;gap:10px;}
.duvida-item{border:1px solid rgba(0,0,0,0.1);border-radius:12px;padding:4px 20px;background:var(--white);}
.duvida-pergunta{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;font-weight:700;cursor:pointer;list-style:none;}
.duvida-pergunta::-webkit-details-marker{display:none;}
.duvida-seta{width:20px;height:20px;flex-shrink:0;color:var(--sage-darker);transition:transform .2s;}
.duvida-item[open] .duvida-seta{transform:rotate(180deg);}
.duvida-resposta{padding:0 0 18px;color:var(--text-muted);font-size:15px;line-height:1.6;white-space:pre-line;}

/* ---------- footer ---------- */
footer{background:var(--text);color:rgba(255,255,255,0.75);padding:56px 0 24px;margin-top:0;}
.footer-grid{display:grid;grid-template-columns:1fr;gap:32px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,0.12);}
@media(min-width:700px){.footer-grid{grid-template-columns:1.3fr 1fr 1fr;}}
.footer-grid img{height:40px;margin-bottom:14px;filter:brightness(0) invert(1);opacity:0.9;}
.footer-grid p{font-size:13.5px;line-height:1.7;max-width:320px;}
.footer-col h4{color:var(--white);font-family:'Jost',sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:1px;margin-bottom:16px;}
.footer-col a{display:block;font-size:14px;margin-bottom:10px;color:rgba(255,255,255,0.75);transition:color .2s;}
.footer-col a:hover{color:var(--sage-light);}
/* padding-right reserva o espaço do balão flutuante do WhatsApp (position:fixed,
   bottom-right, ver .wa-float) — sem isso "Área da loja" ficava embaixo dele, os dois
   brigando pelo mesmo cantinho (pedido do Rafael, 26/07/2026). */
.footer-bottom{padding-top:24px;padding-right:84px;font-size:12.5px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:rgba(255,255,255,0.5);}
/* Ícones do Contato (WhatsApp/Instagram/Área da loja) sempre no mesmo tom da letra do
   rodapé — sem cor de marca (WhatsApp verde, etc.), pedido do Rafael (26/07/2026): "estilo
   do painel", mesmo espírito dos ícones de contorno usados no Portal. Sequencial na mesma
   coluna "Contato" — Área da loja saiu da linha de copyright pra ficar junto dos outros dois. */
.footer-col a.footer-contato-link{display:flex;align-items:center;gap:9px;}
.footer-col a.footer-contato-link svg{width:19px;height:19px;flex-shrink:0;}

/* Selo "Maior hub de soluções para cesteira" + selos de segurança (29/07/2026, pedido do
   Rafael — 2ª versão: ele pediu pra NÃO ser só crédito discreto, e sim espaço de venda,
   "pense no marketing forte", maior e centralizado). Linha própria FORA de .footer-grid de
   propósito: aquela regra deixa toda <img> branca (filter:invert), e aqui a logo precisa
   aparecer COLORIDA — por isso fica num bloco separado, com fundo branco próprio (a logo já
   nasce com fundo branco, então vira um "selo" natural em cima do rodapé escuro). Selos de
   segurança são texto/ícone honesto (SSL/dados protegidos) — não são certificação real de
   terceiro, de propósito, pra não passar um selo que a loja não tem de verdade. */
.footer-parceiro{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;
  padding-top:32px;margin-top:24px;border-top:1px solid rgba(255,255,255,0.12);
}
.footer-parceiro-selo{
  display:inline-flex;flex-direction:column;align-items:center;gap:10px;background:#fff;
  border-radius:16px;padding:20px 32px;text-decoration:none;transition:transform .2s ease;
}
.footer-parceiro-selo:hover{transform:scale(1.03);}
.footer-parceiro-selo span{
  font-family:'Jost',sans-serif;font-size:17px;font-weight:600;letter-spacing:.02em;
  color:var(--text);white-space:nowrap;
}
.footer-parceiro-selo img{height:36px;display:block;}
@media(max-width:520px){
  .footer-parceiro-selo{padding:16px 20px;}
  .footer-parceiro-selo span{font-size:14px;white-space:normal;}
}
.footer-selos-seguranca{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
.footer-selo-seguranca{
  display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,0.08);
  border-radius:999px;padding:6px 12px;font-size:11.5px;color:rgba(255,255,255,0.75);
  white-space:nowrap;
}
.footer-selo-seguranca svg{width:15px;height:15px;flex-shrink:0;}

/* ---------- whatsapp float ---------- */
.wa-float{
  position:fixed;bottom:24px;right:24px;z-index:200;
  width:60px;height:60px;border-radius:50%;background:#25D366;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 30px rgba(37,211,102,0.5);
  animation:wa-pulse 2.4s infinite;
  transition:transform .25s ease;
}
.wa-float:hover{transform:scale(1.1);}
.wa-float svg{width:30px;height:30px;color:white;}
@keyframes wa-pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,0.55);}70%{box-shadow:0 0 0 16px rgba(37,211,102,0);}100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}}

/* ---------- cookie banner ---------- */
.cookie-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:250;
  background:var(--text);color:rgba(255,255,255,0.9);
  padding:18px 24px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;
  transform:translateY(100%);transition:transform .4s ease;
}
.cookie-banner.show{transform:translateY(0);}
.cookie-banner p{font-size:13px;max-width:640px;}
.cookie-banner .btn{padding:10px 22px;font-size:13px;}

/* mobile nav */
.mobile-nav{
  position:fixed;inset:0;background:var(--cream);z-index:300;
  display:flex;flex-direction:column;padding:24px;gap:8px;
  transform:translateX(100%);transition:transform .35s ease;
}
.mobile-nav.open{transform:translateX(0);}
.mobile-nav .close-btn{align-self:flex-end;background:none;border:none;font-size:28px;cursor:pointer;color:var(--text);padding:8px;}
.mobile-nav a{font-family:'Marcellus',serif;font-size:24px;padding:14px 0;border-bottom:1px solid rgba(87,105,79,0.15);}
/* Rótulo "Categorias" no menu mobile (26/07/2026) — só agrupa visualmente, não é clicável
   (menu mobile já é uma lista vertical de tela cheia, nunca teve problema de largura). */
.mobile-nav-label{
  font-family:'Jost',sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;
  letter-spacing:0.8px;color:var(--text-muted);margin-top:12px;
}

::selection{background:var(--sage-light);}

/* ---------- glow spotlight (hover) ---------- */
.glow-frame{position:relative;isolation:isolate;--mx:50%;--my:50%;}
.glow-frame::before,
.glow-frame::after{
  content:"";position:absolute;inset:0;z-index:5;
  pointer-events:none;opacity:0;border-radius:inherit;
  transition:opacity .45s ease;
}
.glow-frame::before{
  background:radial-gradient(220px 220px at var(--mx) var(--my), rgba(161,181,156,0.65), transparent 70%);
  mix-blend-mode:soft-light;
}
.glow-frame::after{
  background:radial-gradient(160px 160px at var(--mx) var(--my), rgba(255,255,255,0.4), transparent 70%);
  box-shadow:inset 0 0 0 2px rgba(161,181,156,0.85);
  mix-blend-mode:overlay;
}
.glow-frame:hover::before,.glow-frame:hover::after{opacity:1;}

/* ---------- adicionais (maternidade) ---------- */
.adicionais{background:var(--white);border-radius:var(--radius);padding:40px;box-shadow:var(--shadow);margin-top:56px;}
.adicionais-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:24px;}
@media(min-width:640px){.adicionais-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:900px){.adicionais-grid{grid-template-columns:repeat(3,1fr);}}
.adicional-item{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:var(--cream-soft);border-radius:12px;font-size:14px;font-weight:600;}
.adicional-item span.price{color:var(--sage-darker);font-family:'Marcellus',serif;font-size:16px;}
