/* Tema clean e flat: preto, branco e a paleta do vinho (bordô Pantone 7421 C, rosé, Chardonnay e folha de videira).
   Os nomes antigos dos tokens (cobre, creme...) continuam para não mexer no resto do CSS e nas telas da plataforma. */
:root{
  --preto:#111111; --branco:#ffffff;
  --bordo:#651d32;      /* Pantone 7421 C */
  --bordo-2:#8a2a44;
  --rose:#c99aa4;       /* rosé, para detalhes sobre fundo escuro */
  --rose-soft:#f7eef0;
  --ouro:#9a7637;       /* Chardonnay envelhecido (prêmios) */
  --folha:#3e4827;      /* Pantone 5743 C, folha de videira */

  --cobre:var(--bordo); --cobre-escuro:var(--bordo); --cobre-claro:var(--rose); --cobre-soft:var(--rose-soft);
  --vinho:var(--preto); --vinho-2:var(--bordo);
  --creme:var(--branco); --papel:var(--branco); --areia:#f5f3f2;
  --ink:var(--preto); --ink-2:#3d3d3d; --muted:#707070;
  --line:#e6e6e6; --line-2:#bdbdbd;
  --ok:var(--folha); --ok-soft:#eef0e6;
  --r-card:0; --r-field:0; --r-pill:0;
  --sh-s:none; --sh-m:none;
  --dots:radial-gradient(currentColor 1px, transparent 1.2px);
  /* 1120px × 1.3 — mesma largura para top bar e conteúdo */
  --conteudo:1456px;
  --conteudo-pad:28px;
}
*{box-sizing:border-box}
body{background:var(--creme); color:var(--ink); font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif; font-size:19px; line-height:1.55; margin:0; -webkit-font-smoothing:antialiased}
.wrap{max-width:var(--conteudo); margin:0 auto; padding:0 var(--conteudo-pad)}
h1,h2,h3,.btn,.kicker,.logo,.tag,.step-n{font-family:"Cormorant Garamond",Georgia,serif}
h1{font-size:clamp(2.4rem,5vw,3.6rem); line-height:1.05; font-weight:600; letter-spacing:-.01em; margin:0 0 16px}
h2{font-size:clamp(1.8rem,3.2vw,2.5rem); line-height:1.12; font-weight:600; margin:0 0 10px}
h3{font-size:1.2rem; font-weight:600; margin:0 0 6px}
p{margin:0 0 1em}
.grifo{color:var(--cobre-claro); font-style:italic}
a{color:var(--cobre-escuro)}
:focus-visible{outline:2px solid var(--cobre); outline-offset:3px}
.logo{display:inline-flex; align-items:center; gap:12px; font-weight:600; font-size:1.15rem; color:var(--ink); text-decoration:none; line-height:1.1; letter-spacing:.02em}
.logo small{display:block; font-family:"Montserrat",system-ui,sans-serif; font-size:.58rem; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); font-weight:500; margin-top:3px}
.marca{width:34px; height:34px; border-radius:50%; border:1.5px solid var(--cobre); background:
  radial-gradient(circle at 35% 30%, rgba(255,255,255,.45), transparent 40%),
  linear-gradient(145deg,var(--cobre-claro),var(--cobre-escuro)); flex:none}
.topbar{background:rgba(255,253,249,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20}
.topbar-grid{display:grid; grid-template-columns:minmax(160px,auto) minmax(0,1fr) auto; align-items:center; gap:18px 24px; padding-block:14px}
.topbar-nav{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px 14px; min-width:0}
.topbar .nav-link{
  font-family:"Montserrat",system-ui,sans-serif; font-size:.68rem; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; color:var(--ink-2); text-decoration:none; padding:8px 4px; border-bottom:2px solid transparent;
}
.topbar .nav-link:hover,.topbar .nav-link:focus-visible{color:var(--cobre-escuro); border-bottom-color:var(--cobre-claro)}
.topbar .nav-destaque{color:var(--vinho); border:1px solid var(--cobre); border-radius:var(--r-pill); padding:7px 12px; border-bottom:1px solid var(--cobre)}
.topbar .nav-destaque:hover{background:var(--cobre-soft); border-bottom-color:var(--cobre)}
.idioma{position:relative; justify-self:end}
.idioma-botao{
  display:inline-flex; align-items:center; gap:8px; border:1px solid var(--line); background:var(--papel);
  border-radius:var(--r-pill); padding:8px 12px; cursor:pointer; color:var(--ink);
  font-family:"Montserrat",system-ui,sans-serif; font-size:.68rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
}
.idioma-botao strong{color:var(--vinho); letter-spacing:.04em}
.idioma-lista{
  position:absolute; right:0; top:calc(100% + 8px); margin:0; padding:8px; list-style:none; min-width:160px;
  background:var(--papel); border:1px solid var(--line); border-radius:14px; box-shadow:var(--sh-m); z-index:30;
}
.idioma-lista button{
  width:100%; border:0; background:transparent; text-align:left; padding:10px 12px; border-radius:10px; cursor:pointer;
  font-family:"Montserrat",system-ui,sans-serif; font-size:.82rem; color:var(--ink);
}
.idioma-lista button:hover,.idioma-lista button[aria-selected="true"]{background:var(--cobre-soft); color:var(--vinho)}
#inicio,#terroir,#vinhos,#vinicolas,#comeca,#planos,#duvidas,#form,#form-membro,#rota,#servicos,#ferramentas,#dois-caixas,#topo,#cta-membro{scroll-margin-top:88px}
.dois-caixas-grade{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px}
.caixa-asaas{padding-top:22px}
.caixa-asaas::before{display:none}
@media (max-width:720px){.dois-caixas-grade{grid-template-columns:1fr}}
.hero-membro{min-height:auto}

.hero{position:relative; overflow:hidden; background:#1c1410; min-height:78vh}
.hero-bg{
  position:absolute; inset:0;
  background:
    url("/publico/imagens/hero-barricas.jpg") center 42% / cover no-repeat;
  transform:scale(1.02);
}
.hero-veil{
  position:absolute; inset:0;
  background:
    linear-gradient(105deg, rgba(28,18,14,.88) 0%, rgba(42,24,18,.72) 42%, rgba(28,18,14,.45) 72%, rgba(28,18,14,.28) 100%),
    linear-gradient(180deg, rgba(20,12,10,.35) 0%, transparent 28%, rgba(20,12,10,.55) 100%);
}
/* Convite: véu mais escuro atrás do texto para legibilidade */
.hero-membro .hero-veil{
  background:
    linear-gradient(105deg, rgba(20,12,10,.94) 0%, rgba(28,16,12,.86) 38%, rgba(28,18,14,.55) 68%, rgba(28,18,14,.32) 100%),
    linear-gradient(180deg, rgba(20,12,10,.4) 0%, transparent 30%, rgba(20,12,10,.58) 100%);
}
.hero .wrap{
  position:relative; z-index:1;
  display:grid; grid-template-columns:minmax(0,1.45fr) minmax(380px,480px);
  gap:44px 48px; align-items:start;
  /* Sobe o card e deixa folga da borda inferior/lateral do hero */
  padding-block:56px 112px;
}
.hero .form-card{
  margin-top:0;
  margin-bottom:20px;
  align-self:start;
  max-width:100%;
  width:100%;
}
.hero-copy{color:#fff; max-width:none; min-width:0}
.hero-copy h1{
  color:#fff;
  font-size:clamp(2.85rem,5.4vw,4.15rem);
  line-height:1.02;
  margin:0 0 20px;
  max-width:16ch;
}
.hero-copy .sub{
  color:rgba(255,255,255,.92);
  font-size:clamp(1.28rem,1.7vw,1.55rem);
  line-height:1.45;
  max-width:38ch;
  font-weight:400;
  margin:0 0 8px;
}
/* Convite: título/subtítulo largos, legíveis e alinhados à esquerda */
.hero-membro .hero-copy{
  text-align:left;
}
.hero-membro .hero-copy h1{
  max-width:26ch;
  margin-left:0;
  margin-right:0;
  text-shadow:0 2px 18px rgba(0,0,0,.45);
}
.hero-membro .hero-copy .sub{
  max-width:52ch;
  margin-left:0;
  margin-right:0;
  color:#fff;
  font-size:clamp(1.38rem,1.85vw,1.68rem);
  line-height:1.5;
  font-weight:500;
  text-shadow:0 1px 12px rgba(0,0,0,.55), 0 0 1px rgba(0,0,0,.8);
}
.hero-membro .kicker{
  margin-left:0;
  margin-right:0;
}
.hero-membro .checks{
  margin-top:22px;
  margin-left:0;
  margin-right:0;
  max-width:52ch;
  text-align:left;
}
.hero-membro .checks li{
  color:#fff;
  text-shadow:0 1px 8px rgba(0,0,0,.4);
}
.hero-membro .trust{
  margin-left:0;
  margin-right:0;
  max-width:52ch;
}
.kicker{display:inline-block; font-family:"Montserrat",system-ui,sans-serif; font-size:.72rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--cobre-claro); border:1px solid rgba(196,164,132,.55); border-radius:var(--r-pill); padding:7px 16px; margin:0 0 20px; background:rgba(28,18,14,.25)}
.checks{list-style:none; padding:0; margin:30px 0 0; display:grid; gap:14px}
.checks li{display:grid; grid-template-columns:18px 1fr; gap:14px; align-items:start; font-size:clamp(1.12rem,1.35vw,1.28rem); line-height:1.4; color:rgba(255,255,255,.95)}
.checks li::before{content:""; width:9px; height:9px; margin-top:11px; border-radius:50%; background:var(--cobre-claro); box-shadow:0 0 0 3px rgba(196,164,132,.25)}
.trust{margin-top:30px; padding-top:18px; border-top:1px solid rgba(255,255,255,.22); font-family:"Montserrat",system-ui,sans-serif; font-size:.78rem; letter-spacing:.04em; color:rgba(255,255,255,.74); max-width:42ch; line-height:1.5}

.form-card{background:var(--papel); border:1px solid var(--line); border-radius:var(--r-card); box-shadow:var(--sh-m); padding:28px; position:sticky; top:88px}
.form-card h2{font-size:1.7rem; margin-bottom:4px; color:var(--vinho)}
.form-card .lead{font-family:"Montserrat",system-ui,sans-serif; font-size:.82rem; color:var(--ink-2); margin-bottom:18px; line-height:1.5}
.fields{display:grid; gap:13px}
.row2{display:grid; grid-template-columns:1fr 1fr; gap:13px}
label,.campo-rotulo{display:block; font-family:"Montserrat",system-ui,sans-serif; font-size:.68rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-2); margin-bottom:6px}
.campo-caminhos{margin-bottom:2px}
.caminhos{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.caminho{
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
  gap:1px; width:100%; min-width:0; text-align:left; cursor:pointer;
  border:1px solid var(--line); border-radius:12px; padding:10px 10px 9px;
  background:linear-gradient(180deg, var(--papel) 0%, var(--creme) 100%);
  box-shadow:var(--sh-s);
  color:var(--ink);
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}
.caminho:hover,.caminho:focus-visible{
  border-color:var(--cobre);
  background:var(--cobre-soft);
  box-shadow:var(--sh-m);
  transform:translateY(-1px);
  outline:none;
}
.caminho[aria-pressed="true"]{
  border-color:var(--cobre-escuro);
  background:linear-gradient(135deg, rgba(143,109,79,.14) 0%, var(--cobre-soft) 48%, var(--papel) 100%);
  box-shadow:0 0 0 1px var(--cobre-escuro), var(--sh-m);
}
.caminho-eyebrow{
  font-family:"Montserrat",system-ui,sans-serif; font-size:.52rem; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; color:var(--cobre-escuro);
}
.caminho-titulo{
  font-family:"Cormorant Garamond",Georgia,serif; font-size:1.05rem; font-weight:600;
  line-height:1.1; color:var(--vinho); letter-spacing:-.01em;
}
.caminho-texto{display:none}
.caminho[aria-pressed="true"] .caminho-titulo{color:var(--cobre-escuro)}
@media (max-width:520px){
  .caminhos{grid-template-columns:1fr}
  .caminho-texto{display:block; font-family:"Montserrat",system-ui,sans-serif; font-size:.68rem; color:var(--ink-2); margin-top:2px}
  .caminho-titulo{font-size:1.25rem}
}
input,select,textarea{width:100%; font-family:"Montserrat",system-ui,sans-serif; font-size:.95rem; color:var(--ink); background:var(--areia); border:1px solid transparent; border-radius:var(--r-field); padding:12px 13px}
input:focus,select:focus,textarea:focus{border-color:var(--cobre); background:var(--papel); outline:none}
.consent{display:grid; grid-template-columns:18px 1fr; gap:10px; align-items:start}
.consent input{width:18px; height:18px; margin-top:3px; accent-color:var(--cobre-escuro)}
.consent label{font-family:"Cormorant Garamond",Georgia,serif; font-size:.95rem; font-weight:400; letter-spacing:0; text-transform:none; color:var(--muted); line-height:1.4; margin:0}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:9px; width:100%; border:none; border-radius:var(--r-pill); background:linear-gradient(100deg,var(--cobre-escuro) 0%,var(--cobre) 100%); color:#fff; font-family:"Montserrat",system-ui,sans-serif; font-size:.82rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; padding:15px 22px; cursor:pointer; text-decoration:none; box-shadow:0 8px 20px -12px rgba(113,66,45,.9)}
.btn:hover{filter:brightness(1.06)}
.btn.secundario{background:transparent; color:var(--cobre-escuro); border:1px solid var(--cobre); box-shadow:none}
.form-foot,.nota{font-family:"Montserrat",system-ui,sans-serif; font-size:.72rem; color:var(--muted); text-align:center; margin:13px 0 0; line-height:1.45}
.erro{color:#9a3412; font-family:"Montserrat",system-ui,sans-serif; font-size:.8rem; margin:0}

section.band{padding:80px 0; position:relative}
section.band.alt{background:var(--papel); border-block:1px solid var(--line)}
.band-head{max-width:46ch; margin-bottom:28px}
.band-head-largo{max-width:58ch}
.band-head .kicker{color:var(--cobre-escuro); border-color:var(--line-2); background:transparent}
.band-head p{color:var(--ink-2); margin:0; font-size:1.15rem}
.band-split{display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:40px 48px; align-items:center; margin-bottom:40px}
.band-split.invert{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); margin-bottom:0}
.band-split .band-head{margin-bottom:18px}
.band-media{margin:0; border-radius:var(--r-card); overflow:hidden; box-shadow:var(--sh-m); border:1px solid var(--line); aspect-ratio:16/10; background:var(--areia)}
.band-media img{display:block; width:100%; height:100%; object-fit:cover; object-position:center}
.band-media-retrato{aspect-ratio:4/5; max-height:560px}
.band-com-faixa{padding-top:0}
.faixa-foto{
  height:clamp(160px,22vw,260px); margin-bottom:40px;
  background-position:center 45%; background-size:cover; background-repeat:no-repeat;
  position:relative; border-bottom:1px solid var(--line);
}
.faixa-foto::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(28,18,14,.15) 0%, rgba(250,246,241,.08) 55%, var(--papel) 100%);
}
.dores,.mods,.vinicolas,.garrafas,.vizinhos{display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:18px}
.dor,.mod,.card,.garrafa,.suite{background:var(--papel); border:1px solid var(--line); border-radius:var(--r-card); padding:22px; box-shadow:var(--sh-s)}
section.band.alt .dor,section.band.alt .mod,section.band.alt .card,section.band.alt .garrafa{background:var(--creme)}
.dor .q{font-weight:600; font-size:1.2rem; line-height:1.25; margin-bottom:8px; color:var(--vinho)}
.dor p,.mod p,.card p,.garrafa p{font-size:1.05rem; color:var(--ink-2); margin:0}
.mod{position:relative; overflow:hidden; padding-top:0}
.mod::before{content:""; position:absolute; top:0; left:0; width:100%; height:3px; background:linear-gradient(90deg,var(--cobre-escuro),var(--cobre-claro)); z-index:1}
.mod-foto{
  height:132px; margin:0 -22px 16px; background-size:cover; background-position:center;
  border-bottom:1px solid var(--line);
}
.mod .tag,.card .tag,.garrafa .tag{display:block; font-family:"Montserrat",system-ui,sans-serif; font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:var(--cobre-escuro); font-weight:600; margin:4px 0 8px}
.card{text-decoration:none; color:inherit; transition:transform .2s ease, box-shadow .2s ease; overflow:hidden; padding-top:0; display:flex; flex-direction:column}
.card:hover{transform:translateY(-3px); box-shadow:var(--sh-m)}
.card-foto{
  height:148px; margin:0 -22px 14px; background-size:cover; background-position:center;
  border-bottom:1px solid var(--line); position:relative;
}
.card-foto::after{
  content:""; position:absolute; inset:auto 0 0 0; height:48%;
  background:linear-gradient(180deg, transparent, rgba(42,24,18,.35));
}
.card-foto[data-trecho="Pinhal"]{background-image:url("/publico/imagens/sec-terroir.jpg"); background-position:30% 45%}
.card-foto[data-trecho="Caminho de Campos do Jordão"]{background-image:url("/publico/imagens/sec-uvas.jpg"); background-position:center 40%}
.card-foto[data-trecho="Campos do Jordão"]{background-image:url("/publico/imagens/hero-barricas.jpg"); background-position:center 55%}
.card h3{color:var(--vinho); margin-top:2px}
.card .cidade{font-family:"Montserrat",system-ui,sans-serif; color:var(--muted); font-size:.72rem; letter-spacing:.04em; margin:0 0 10px}
.band-split .steps{display:grid; grid-template-columns:1fr; gap:18px; margin-top:8px}
.steps{display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:26px}
.steps-grade{grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px}
.steps-grade .step{padding:22px; border:1px solid var(--line); border-radius:var(--r-card); background:var(--papel); border-bottom:1px solid var(--line); box-shadow:var(--sh-s)}
.step{padding:4px 0 8px; border-bottom:1px solid var(--line)}
.step:last-child{border-bottom:0}
.faq-largo{max-width:72ch}
.band-sem-foto .mod{padding-top:22px}
.band-sem-foto .mod::before{top:0}
.step-n{display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:var(--r-pill); background:var(--cobre-soft); color:var(--cobre-escuro); font-weight:700; font-size:1rem; margin-bottom:12px}
.step p{font-size:1.05rem; color:var(--ink-2); margin:0}
.faq{max-width:none}
details{border-bottom:1px solid var(--line)}
summary{font-weight:600; font-size:1.15rem; padding:16px 0; cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:16px; color:var(--vinho)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+"; font-family:"Montserrat",monospace; color:var(--cobre); font-size:1.1rem}
details[open] summary::after{content:"–"}
details p{font-size:1.05rem; color:var(--ink-2); margin:0 0 16px}

.cta{position:relative; overflow:hidden; background:#1c1410; color:#fff; padding:72px 0}
.cta-bg{position:absolute; inset:0; background-position:center; background-size:cover; background-repeat:no-repeat; transform:scale(1.03)}
.cta-veil{
  position:absolute; inset:0;
  background:
    linear-gradient(105deg, rgba(28,18,14,.88) 0%, rgba(74,31,28,.72) 48%, rgba(28,18,14,.55) 100%),
    linear-gradient(180deg, rgba(20,12,10,.2), rgba(20,12,10,.45));
}
.cta .wrap{position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:30px; align-items:center}
.cta h2{color:#fff; margin-bottom:6px}
.cta p{color:rgba(255,255,255,.86); margin:0; max-width:42ch; font-size:1.15rem}
.cta .btn{width:auto; padding-inline:34px; background:linear-gradient(100deg,#fff 0%,var(--cobre-soft) 100%); color:var(--vinho); box-shadow:none}

.bloco-asaas{display:grid; grid-template-columns:160px 1fr; gap:18px; align-items:center; max-width:var(--conteudo); margin:0 auto; padding:24px var(--conteudo-pad); border-top:1px solid var(--line)}
.bloco-asaas .texto p{font-family:"Montserrat",system-ui,sans-serif; font-size:.72rem; color:var(--muted); margin:4px 0 0; line-height:1.5}
.selo-asaas{display:inline-flex; align-items:center; justify-content:center; width:160px; height:48px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--cobre-escuro); font-family:"Montserrat",system-ui,sans-serif; font-size:.62rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; text-align:center; padding:6px}
footer{padding:8px 0 48px; font-family:"Montserrat",system-ui,sans-serif; font-size:.72rem; color:var(--muted)}
footer a{color:var(--muted)}

.ciclo-switch{display:flex; justify-content:center; gap:4px; margin:0 auto 28px; background:var(--areia); border:1px solid var(--line); border-radius:var(--r-pill); padding:4px; width:max-content}
.ciclo{border:0; background:transparent; color:var(--ink-2); font-family:"Montserrat",system-ui,sans-serif; font-size:.78rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; padding:9px 18px; border-radius:var(--r-pill); cursor:pointer}
.ciclo.ativo{background:var(--papel); color:var(--vinho); box-shadow:var(--sh-s)}
.planos{display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(252px,1fr))}
.plano{background:var(--papel); border:1px solid var(--line); border-radius:var(--r-card); padding:26px 22px; display:flex; flex-direction:column; box-shadow:var(--sh-s)}
.plano.destaque{border-color:var(--cobre); box-shadow:var(--sh-m); position:relative}
.plano.destaque::before{content:"Mais escolhido"; position:absolute; top:-11px; left:22px; background:var(--cobre-escuro); color:#fff; font-family:"Montserrat",system-ui,sans-serif; font-size:.62rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:4px 10px; border-radius:var(--r-pill)}
.plano h3{margin:0 0 4px; font-size:1.5rem; color:var(--vinho)}
.plano .preco{display:flex; align-items:baseline; gap:6px; margin:14px 0 2px}
.plano .valor{font-size:2.1rem; font-weight:600; letter-spacing:-.02em; color:var(--vinho)}
.plano .por,.plano .equivale{font-family:"Montserrat",system-ui,sans-serif; font-size:.72rem; color:var(--muted)}
.plano ul{list-style:none; margin:0 0 22px; padding:0; display:grid; gap:9px}
.plano li{font-size:1.05rem; color:var(--ink-2)}
.plano .btn{margin-top:auto}
.escolhido{display:none; align-items:center; gap:10px; margin:0 0 16px; padding:11px 14px; background:var(--cobre-soft); border-left:3px solid var(--cobre); border-radius:0 var(--r-field) var(--r-field) 0; font-size:1rem}
.escolhido.visivel{display:flex}
.filtros{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px}
.filtro{border:1px solid var(--line); background:var(--papel); border-radius:var(--r-pill); padding:8px 14px; cursor:pointer; font-family:"Montserrat",system-ui,sans-serif; font-size:.7rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-2)}
.filtro.ativo{background:var(--vinho); color:#fff; border-color:var(--vinho)}
.filtros-vinhos{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px;
  margin:0 0 18px; padding:18px; background:var(--creme); border:1px solid var(--line); border-radius:var(--r-card);
}
section.band.alt .filtros-vinhos{background:var(--papel)}
.filtro-select{display:grid; gap:6px; min-width:0}
.filtro-select span{
  font-family:"Montserrat",system-ui,sans-serif; font-size:.62rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink-2);
}
.filtro-select select{
  width:100%; font-family:"Montserrat",system-ui,sans-serif; font-size:.9rem; color:var(--ink);
  background:var(--areia); border:1px solid transparent; border-radius:var(--r-field); padding:11px 12px;
}
.filtro-select select:focus{border-color:var(--cobre); background:var(--papel); outline:none}
.vinhos-meta{
  font-family:"Montserrat",system-ui,sans-serif; font-size:.72rem; color:var(--muted);
  letter-spacing:.04em; margin:0 0 16px;
}
.garrafa{
  display:flex; flex-direction:column; text-decoration:none; color:inherit;
  transition:transform .2s ease, box-shadow .2s ease;
}
.garrafa:hover{transform:translateY(-3px); box-shadow:var(--sh-m)}
/* Prêmio, preço e compra sempre no pé do card, alinhados entre os cards da linha. */
.garrafa-rodape{margin-top:auto; padding-top:4px}
.garrafa > .nota{text-align:left; font-size:.68rem !important; letter-spacing:.04em; margin:4px 0 0}
.garrafa-visual{
  display:flex; align-items:center; justify-content:center;
  height:168px; margin:0 -6px 14px; border-radius:12px; overflow:hidden;
  background:
    radial-gradient(ellipse at 50% 20%, rgba(255,253,249,.55), transparent 55%),
    linear-gradient(180deg, var(--areia) 0%, var(--cobre-soft) 100%);
  border:1px solid var(--line);
}
.garrafa-visual img{
  display:block; height:148px; width:auto; max-width:92%;
  object-fit:contain; object-position:center bottom;
  filter:drop-shadow(0 10px 18px rgba(42,20,16,.28));
}
.garrafa h3{color:var(--vinho); font-size:1.25rem; margin:0 0 4px}
.garrafa .casa{font-family:"Montserrat",system-ui,sans-serif; margin:6px 0 12px; padding-left:10px; border-left:3px solid var(--cobre-claro)}
.garrafa .casa strong{display:block; font-size:.86rem; font-weight:700; letter-spacing:.02em; line-height:1.3; color:var(--cobre-escuro)}
.garrafa .casa span{display:block; font-size:.68rem; letter-spacing:.04em; color:var(--muted); margin-top:2px}
.garrafa:hover .casa strong{color:var(--vinho-2)}
.garrafa .preco,.garrafa .premio{font-weight:600; font-size:1.15rem; margin:10px 0 8px; color:var(--vinho)}
.garrafa .premio{color:var(--cobre-escuro); font-style:italic}
.paginacao{display:flex; flex-wrap:wrap; gap:8px; justify-content:center; align-items:center; margin-top:28px}
.paginacao button{
  min-width:40px; border:1px solid var(--line); background:var(--papel); color:var(--ink-2);
  border-radius:var(--r-pill); padding:9px 14px; cursor:pointer;
  font-family:"Montserrat",system-ui,sans-serif; font-size:.72rem; font-weight:600; letter-spacing:.06em;
}
.paginacao button:hover{border-color:var(--cobre); color:var(--vinho)}
.paginacao button.ativo{background:var(--vinho); color:#fff; border-color:var(--vinho)}
.paginacao button:disabled{opacity:.45; cursor:default}
@media (max-width:720px){
  .filtros-vinhos{grid-template-columns:1fr}
}
.qtd{display:flex; gap:8px; align-items:center}
.qtd input{width:72px}
.carrinho-lista{display:grid; gap:10px; margin:0 0 12px; padding:0; list-style:none}
.carrinho-lista li{display:flex; justify-content:space-between; gap:12px; font-size:1.05rem}
.visita-lista{list-style:none; margin:0; padding:0; display:grid; gap:10px}
.visita-lista li{font-size:1.05rem; color:var(--ink-2); padding-left:14px; border-left:2px solid var(--cobre)}
.suite h3{color:var(--vinho)}
.suite .area{font-family:"Montserrat",system-ui,sans-serif; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--cobre-escuro); margin:0 0 8px}
.fluxo{max-width:640px; margin:48px auto 64px; background:var(--papel); border:1px solid var(--line); border-radius:var(--r-card); padding:32px; box-shadow:var(--sh-m)}
.ok-msg{background:var(--ok-soft); color:var(--ok); border-radius:var(--r-card); padding:16px; font-weight:600}

/* Assistente: círculo no canto; aberto, overlay sem empurrar o site. */
.atendimento{position:fixed; left:0; bottom:0; z-index:12000; pointer-events:none}
.atendimento-fab{
  pointer-events:auto; position:fixed; left:18px; bottom:18px; z-index:12002;
  width:64px; height:64px; border:0; border-radius:50%; cursor:pointer;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0;
  background:linear-gradient(145deg,var(--cobre) 0%,var(--vinho) 100%);
  color:#fff; box-shadow:0 10px 28px -10px rgba(74,31,28,.65), 0 0 0 3px rgba(255,253,249,.85);
}
.atendimento-fab:hover{filter:brightness(1.06)}
.atendimento-fab-icone{display:flex; line-height:0}
.atendimento-fab-texto{
  position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0);
}
.atendimento[data-aberto="true"] .atendimento-fab{opacity:.0; pointer-events:none; transform:scale(.85)}
.atendimento-painel{
  pointer-events:auto; position:fixed; left:16px; bottom:16px; z-index:12001;
  width:min(360px, calc(100vw - 32px)); height:min(560px, calc(100vh - 32px));
  display:none; flex-direction:column; gap:10px;
  background:rgba(255,253,249,.97); border:1px solid var(--line); border-radius:20px;
  box-shadow:0 24px 60px -24px rgba(74,31,28,.55); padding:16px 16px 14px;
  backdrop-filter:blur(8px);
}
.atendimento[data-aberto="true"] .atendimento-painel{display:flex}
.atendimento-painel[hidden]{display:none !important}
.atendimento-topo{display:flex; align-items:center; justify-content:space-between; gap:10px}
.atendimento-topo h2{font-size:1.35rem; margin:0; color:var(--vinho)}
.atendimento-fechar{
  width:36px; height:36px; border:0; border-radius:50%; cursor:pointer;
  background:var(--areia); color:var(--vinho); font-size:1.4rem; line-height:1;
}
.atendimento-nota{font-family:"Montserrat",system-ui,sans-serif; font-size:.7rem; color:var(--muted); margin:0; line-height:1.4}
.atendimento-msgs{overflow:auto; flex:1; display:flex; flex-direction:column; gap:8px; min-height:0}
.atendimento-msgs p{margin:0; padding:10px 12px; border-radius:var(--r-field); font-size:1rem; line-height:1.35}
.atendimento-msgs .visitante{background:var(--cobre-soft); align-self:flex-end; max-width:90%}
.atendimento-msgs .casa{background:var(--areia); align-self:flex-start; max-width:95%}
.atendimento-painel form{display:flex; gap:8px; margin:0}
.atendimento-painel form input{flex:1; height:44px; margin:0; padding:0 12px}
.atendimento-painel form .btn{width:auto; height:44px; margin:0; padding:0 14px; box-shadow:none; font-size:.7rem}
.atendimento-baloes{display:flex; justify-content:space-between; gap:6px; padding:4px 0 8px}
.atendimento-caminho{position:relative; flex:0 0 88px; width:88px; height:88px; border:0; border-radius:50%; cursor:pointer; font-family:"Montserrat",system-ui,sans-serif; font-size:.62rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; line-height:1.15; transform-origin:50% 100%; animation:balanco-balao 3.6s ease-in-out infinite}
.atendimento-caminho::before{content:""; position:absolute; left:50%; bottom:-6px; width:12px; height:10px; margin-left:-6px; background:inherit; clip-path:polygon(50% 100%,0 0,100% 0)}
.atendimento-caminho::after{content:""; position:absolute; left:50%; bottom:-20px; width:2px; height:16px; margin-left:-1px; background:var(--muted)}
.balao-tour{animation-delay:0s; color:#fff; background:radial-gradient(circle at 32% 28%, rgba(255,255,255,.4), transparent 38%), var(--cobre)}
.balao-plataforma{animation-delay:-1.2s; color:#fff; background:radial-gradient(circle at 32% 28%, rgba(255,255,255,.35), transparent 38%), var(--vinho)}
.balao-planos{animation-delay:-2.4s; color:#fff; background:radial-gradient(circle at 32% 28%, rgba(255,255,255,.35), transparent 38%), var(--ok)}
@keyframes balanco-balao{0%,100%{transform:translateY(0) rotate(-3deg)} 50%{transform:translateY(-5px) rotate(3deg)}}

.oculto{display:none !important}
/* Casa de visita: painel de visita acima do carrinho, separados por uma linha */
#painelVisita:not(.oculto) + #painelCarrinho{margin-top:28px; padding-top:24px; border-top:1px solid var(--line)}
.carrinho-lista .remover{
  margin-left:10px; border:0; background:none; color:var(--muted); cursor:pointer;
  font-size:1.1rem; line-height:1; padding:0 4px;
}
.carrinho-lista .remover:hover{color:var(--vinho)}

@media (max-width:960px){
  .hero .wrap,.cta .wrap,.bloco-asaas,.band-split,.band-split.invert{grid-template-columns:1fr}
  .hero-copy,.hero-copy .sub,.trust{max-width:none}
  .band-media-retrato{max-height:360px; aspect-ratio:16/10}
  .band-split{margin-bottom:28px}
  .steps-grade{grid-template-columns:1fr}
  .form-card{position:static}
  .atendimento-painel{width:calc(100vw - 24px); left:12px; bottom:12px; height:min(70vh, 520px)}
  .cta .btn{width:100%}
  .topbar-grid{grid-template-columns:1fr auto; gap:10px 12px}
  .topbar-nav{grid-column:1 / -1; justify-content:flex-start; gap:6px 10px}
  .topbar .nav-link{font-size:.62rem; letter-spacing:.06em}
}
@media (max-width:430px){.row2{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.atendimento-caminho{animation:none}}

/* ==========================================================================
   Tema flat (por cima das regras acima): sem caixas, sem sombras, sem degradês.
   Separação por espaço e filetes; tipografia faz o destaque.
   ========================================================================== */
body{background:var(--branco); font-family:"Montserrat",system-ui,sans-serif; font-size:16px; line-height:1.7; color:var(--ink)}
p,.dor p,.mod p,.card p,.garrafa p,.step p,details p,.plano li,.visita-lista li,.carrinho-lista li,.band-head p{font-size:.95rem; line-height:1.7}
.band-head p{font-size:1.02rem; color:var(--ink-2)}
h1,h2{font-weight:500; letter-spacing:-.02em; color:var(--ink)}
h1{font-size:clamp(2.6rem,5.6vw,4.4rem); line-height:1}
h2{font-size:clamp(2rem,3.6vw,3rem); line-height:1.05}
h3{font-weight:600; letter-spacing:-.005em}
a{color:var(--bordo); text-underline-offset:3px}
:focus-visible{outline:2px solid var(--bordo); outline-offset:3px}

/* Marca e topo */
.marca{background:var(--bordo); border:0; width:30px; height:30px}
.logo{color:var(--preto)}
.topbar{background:var(--branco); backdrop-filter:none; border-bottom:1px solid var(--preto)}
.topbar .nav-link{color:var(--preto); font-weight:600}
.topbar .nav-link:hover,.topbar .nav-link:focus-visible{color:var(--bordo); border-bottom-color:var(--bordo)}
.topbar .nav-destaque,.topbar .nav-destaque:hover{border:0; border-bottom:2px solid var(--bordo); border-radius:0; padding:8px 4px; color:var(--bordo); background:none}
.idioma-botao{border:0; background:none; padding:8px 0}
.idioma-lista{border:1px solid var(--preto); box-shadow:none; border-radius:0; padding:4px}
.idioma-lista button{border-radius:0}
.idioma-lista button:hover,.idioma-lista button[aria-selected="true"]{background:var(--preto); color:var(--branco)}

/* Hero e chamadas: foto com véu preto liso */
.hero,.cta{background:var(--preto)}
.hero-veil{background:rgba(10,10,10,.6)}
.hero-membro .hero-veil{background:rgba(10,10,10,.7)}
.cta-veil{background:rgba(10,10,10,.72)}
.hero-copy h1,.hero-membro .hero-copy h1,.hero-membro .hero-copy .sub,.hero-membro .checks li{text-shadow:none}
.hero-copy h1{font-weight:500}
.kicker,.band-head .kicker{border:0; background:none; padding:0; border-radius:0; letter-spacing:.24em}
.kicker::before{content:""; display:inline-block; width:32px; height:1px; background:currentColor; vertical-align:middle; margin:0 12px 3px 0}
.band-head .kicker{color:var(--bordo)}
.checks li::before{border-radius:0; width:8px; height:8px; background:var(--rose); box-shadow:none}
.trust{border-top-color:rgba(255,255,255,.3)}

/* Faixas: brancas, com a alternada em cinza-papel liso */
section.band{padding:96px 0}
section.band.alt{background:var(--areia); border-block:0}
.faixa-foto{border-bottom:0}
.faixa-foto::after,.card-foto::after{display:none}
.band-media{border:0; box-shadow:none; border-radius:0}

/* Cards sem caixa: só um filete preto em cima */
.dores,.mods,.vinicolas,.garrafas,.vizinhos{gap:48px 32px}
.dor,.mod,.card,.garrafa,.suite,.plano,.steps-grade .step,
section.band.alt .dor,section.band.alt .mod,section.band.alt .card,section.band.alt .garrafa{
  background:none; border:0; border-radius:0; box-shadow:none; padding:0}
.dor,.suite,.steps-grade .step,.plano,.band-sem-foto .mod{border-top:2px solid var(--preto); padding-top:20px}
.mod::before{display:none}
.mod-foto,.card-foto{margin:0 0 18px; border-bottom:0}
.card:hover,.garrafa:hover{transform:none; box-shadow:none}
.card:hover h3,.garrafa:hover h3{color:var(--bordo)}
.card .cidade{color:var(--muted)}
.mod .tag,.card .tag,.garrafa .tag{color:var(--bordo); letter-spacing:.2em}

/* Garrafas */
.garrafa-visual{height:240px; margin:0 0 18px; border:0; border-radius:0; background:var(--areia)}
.garrafa-visual img{width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; filter:none; transition:transform .4s ease}
.garrafa:hover .garrafa-visual img{transform:scale(1.03)}
.garrafa h3{color:var(--preto); font-size:1.45rem; line-height:1.15}
.garrafa .casa{border-left:2px solid var(--bordo); padding-left:12px}
.garrafa .casa strong{color:var(--bordo); font-size:.84rem; letter-spacing:.06em; text-transform:uppercase}
.garrafa:hover .casa strong{color:var(--bordo)}
.garrafa-rodape{border-top:1px solid var(--line); margin-top:auto; padding-top:12px}
.garrafa .preco{color:var(--preto); font-size:1.3rem; margin:0 0 8px}
.garrafa .premio{color:var(--ouro); margin:0 0 6px}

/* Passos, perguntas e planos */
.step-n{background:none; width:auto; height:auto; justify-content:flex-start; font-size:2.4rem; font-weight:500; color:var(--bordo); margin-bottom:6px}
details{border-bottom:1px solid var(--preto)}
summary{color:var(--preto)}
summary::after{color:var(--bordo)}
.ciclo-switch{background:none; border:0; padding:0; gap:28px}
.ciclo{padding:8px 0; border-bottom:2px solid transparent}
.ciclo.ativo{background:none; box-shadow:none; color:var(--preto); border-bottom-color:var(--bordo)}
.plano.destaque{border-top-color:var(--bordo); box-shadow:none}
.plano.destaque::before{position:static; align-self:flex-start; margin:0 0 14px; background:var(--bordo)}
.plano h3,.plano .valor{color:var(--preto)}
.escolhido{border-left-color:var(--bordo)}

/* Formulários: só a linha de baixo */
.form-card,.fluxo{background:var(--branco); border:0; border-top:3px solid var(--bordo); border-radius:0; box-shadow:none}
.form-card h2{color:var(--preto)}
input,select,textarea,.filtro-select select{background:transparent; border:0; border-bottom:1px solid var(--line-2); border-radius:0; padding:10px 2px}
input:focus,select:focus,textarea:focus,.filtro-select select:focus{background:transparent; border-bottom-color:var(--preto)}
input[type="checkbox"],input[type="radio"]{accent-color:var(--bordo)}
.caminho{background:var(--branco); border:1px solid var(--line-2); box-shadow:none}
.caminho:hover,.caminho:focus-visible{background:var(--branco); border-color:var(--preto); box-shadow:none; transform:none}
.caminho[aria-pressed="true"]{background:var(--preto); border-color:var(--preto); box-shadow:none}
.caminho[aria-pressed="true"] .caminho-titulo{color:var(--branco)}
.caminho[aria-pressed="true"] .caminho-eyebrow{color:var(--rose)}
.filtros-vinhos,section.band.alt .filtros-vinhos{background:none; border:0; border-bottom:1px solid var(--preto); padding:0 0 22px; gap:28px}

/* Botões: retângulos lisos */
.btn{background:var(--bordo); box-shadow:none; letter-spacing:.16em; font-size:.74rem; padding:16px 26px; transition:background .2s ease, color .2s ease}
.btn:hover{filter:none; background:var(--preto)}
.btn.secundario{background:transparent; color:var(--preto); border:1px solid var(--preto)}
.btn.secundario:hover{background:var(--preto); color:var(--branco)}
.cta .btn{background:var(--branco); color:var(--preto)}
.cta .btn:hover{background:var(--bordo); color:var(--branco)}
.filtro{border-color:var(--line-2)}
.filtro.ativo{background:var(--preto); border-color:var(--preto)}
.paginacao button{border:0; background:none; color:var(--ink-2)}
.paginacao button:hover{color:var(--bordo)}
.paginacao button.ativo{background:var(--preto); color:var(--branco)}

/* Rodapé e selo */
.bloco-asaas{border-top:1px solid var(--preto)}
.selo-asaas{border-color:var(--preto); color:var(--preto)}

/* Assistente */
.atendimento-fab{background:var(--bordo); box-shadow:0 0 0 3px var(--branco)}
.atendimento-fab:hover{filter:none; background:var(--preto)}
.atendimento-painel{background:var(--branco); border:1px solid var(--preto); border-radius:0; box-shadow:none; backdrop-filter:none}
.atendimento-topo h2{color:var(--preto)}
.atendimento-fechar{border-radius:0}
.atendimento-msgs .visitante{background:var(--rose-soft)}
.balao-tour{background:var(--bordo)}
.balao-plataforma{background:var(--preto)}
.balao-planos{background:var(--folha)}
.ok-msg{border-radius:0}
/* Ajustes finos do tema flat */
.card h3,.mod h3,.suite h3,.dor .q,.step h3{font-size:1.45rem; line-height:1.15; color:var(--preto)}
.mod:not(:has(.mod-foto)){border-top:2px solid var(--preto); padding-top:20px}
.plano.destaque::before{position:absolute; top:-11px; left:0; margin:0}
.caminho{border-radius:0}
.consent label{font-family:"Montserrat",system-ui,sans-serif; font-size:.78rem; color:var(--ink-2)}

/* Grade de vinhos: 4 colunas largas com respiro; 12 por página fecha as linhas. */
.garrafas{grid-template-columns:repeat(4,minmax(0,1fr)); gap:64px 48px; scroll-margin-top:120px}
.vinicolas,.vizinhos{grid-template-columns:repeat(4,minmax(0,1fr)); gap:56px 48px}
.garrafa-visual{height:280px}
@media (max-width:1180px){.garrafas,.vinicolas,.vizinhos{grid-template-columns:repeat(3,minmax(0,1fr)); gap:56px 36px}}
@media (max-width:820px){.garrafas,.vinicolas,.vizinhos{grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 24px} .garrafa-visual{height:220px}}
@media (max-width:520px){.garrafas,.vinicolas,.vizinhos{grid-template-columns:1fr; gap:48px}}

/* Paginação: Anterior à esquerda, números no centro, Próxima à direita, sobre um filete. */
.paginacao{display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:nowrap;
  margin:72px 0 0; padding-top:20px; border-top:1px solid var(--preto)}
.paginacao:empty{display:none}
.paginacao button{min-width:0; padding:0; border:0; background:none; cursor:pointer; color:var(--preto);
  font-family:"Montserrat",system-ui,sans-serif; font-size:.74rem; font-weight:600; letter-spacing:.08em}
.paginacao .seta{text-transform:uppercase; letter-spacing:.16em; padding:12px 0; white-space:nowrap}
.paginacao .seta:hover:not(:disabled){color:var(--bordo)}
.paginacao button:disabled{opacity:.3; cursor:default}
.paginacao-nums{display:flex; align-items:center; gap:6px}
.paginacao .num{width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; border-bottom:2px solid transparent}
.paginacao .num:hover{color:var(--bordo); border-bottom-color:var(--bordo)}
.paginacao .num.ativo{background:var(--preto); color:var(--branco); border-bottom-color:var(--preto)}
.paginacao .reticencias{width:24px; text-align:center; color:var(--muted)}
.paginacao-posicao{display:none; font-family:"Montserrat",system-ui,sans-serif; font-size:.78rem; font-weight:600; letter-spacing:.1em}
@media (max-width:640px){
  .paginacao .num,.paginacao .reticencias{display:none}
  .paginacao-posicao{display:inline}
}
.paginacao .reticencias{height:42px; display:inline-flex; align-items:center; justify-content:center; font-family:"Montserrat",system-ui,sans-serif}
@media (max-width:640px){.paginacao .reticencias{display:none}}
section.band:has(.paginacao){padding-bottom:64px}

/* ==========================================================================
   Página da vinícola: hero só com texto, história, terroir, vinhos, loja,
   carrinho na top bar, barra fixa e checkout abaixo da top bar.
   ========================================================================== */
.sr{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.topo-acoes{display:flex; align-items:center; gap:18px; justify-self:end}
.botao-carrinho{position:relative; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px;
  border:0; background:none; color:var(--preto); cursor:pointer}
.botao-carrinho:hover,.botao-carrinho[aria-expanded="true"]{color:var(--bordo)}
.botao-carrinho .contador{position:absolute; top:3px; right:0; min-width:19px; height:19px; padding:0 5px; display:inline-flex;
  align-items:center; justify-content:center; background:var(--bordo); color:var(--branco);
  font-family:"Montserrat",system-ui,sans-serif; font-size:.62rem; font-weight:700; border-radius:10px}
.botao-carrinho .contador[hidden]{display:none}

.hero-casa{min-height:74vh; display:flex; align-items:flex-end}
.hero-casa .hero-bg{background-size:cover; background-position:center 45%; background-repeat:no-repeat}
.hero-casa .wrap{display:block; width:100%; padding-block:140px 88px}
.hero-casa .hero-copy{max-width:760px}
.hero-casa .hero-copy h1{max-width:16ch}
.hero-casa .hero-copy .sub{max-width:52ch}
.hero-acoes{display:flex; flex-wrap:wrap; gap:14px; margin:28px 0 0}
.hero-acoes .btn{width:auto}
.btn.secundario-claro{background:transparent; color:var(--branco); border:1px solid rgba(255,255,255,.7); width:auto}
.btn.secundario-claro:hover{background:var(--branco); color:var(--preto)}

.casa-duas{display:grid; grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr); gap:48px 72px; align-items:start}
.casa-duas .band-head{max-width:none; margin:0}
.texto-longo p{font-size:1.08rem; line-height:1.85; color:var(--ink-2); max-width:64ch; margin:0 0 1.1em}
.texto-longo p:first-child::first-letter{font-family:"Cormorant Garamond",Georgia,serif; float:left; font-size:4.2rem; line-height:.82;
  padding:6px 10px 0 0; color:var(--bordo)}
.casa-ficha{border-top:2px solid var(--preto); padding-top:20px}
.casa-ficha h3{font-size:1.45rem; margin:0 0 14px}
.ficha-lista{list-style:none; margin:0 0 18px; padding:0; display:grid; gap:0}
.ficha-lista li{padding:12px 0; border-bottom:1px solid var(--line); font-size:.95rem; color:var(--ink-2)}
.ficha-lista li span{display:block; font-size:.62rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--bordo); margin-bottom:2px}
.casa-ficha .nota{text-align:left; margin:0 0 18px}
.casa-ficha .btn{width:auto}

#fatosTerroir .dor .q{font-family:"Cormorant Garamond",Georgia,serif; font-size:1.4rem; line-height:1.25; font-weight:500; color:var(--preto); margin:0}
#fatosTerroir .dor .tag{display:block; font-size:.62rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--bordo); margin:0 0 10px}

.vinhos-destaque{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px 56px}
.vinho-destaque{display:grid; grid-template-columns:170px minmax(0,1fr); gap:28px; align-items:start; border-top:2px solid var(--preto); padding-top:24px}
.vinho-destaque-foto{background:var(--areia); aspect-ratio:3/4; overflow:hidden}
.vinho-destaque-foto img{width:100%; height:100%; object-fit:cover; display:block}
.vinho-destaque h3{font-size:1.8rem; line-height:1.1; margin:2px 0 10px}
.vinho-destaque .tag{display:block; font-size:.62rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--bordo); margin:0 0 6px}
.vinho-destaque .premio{color:var(--ouro); font-style:italic; font-family:"Cormorant Garamond",Georgia,serif; font-size:1.15rem; margin:0 0 8px}
.vinho-destaque p{color:var(--ink-2)}
.ficha{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; margin:16px 0 18px}
.ficha div{padding:9px 0; border-bottom:1px solid var(--line)}
.ficha dt{font-size:.6rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--muted)}
.ficha dd{margin:2px 0 0; font-size:.9rem; color:var(--preto)}
.link-seta{font-family:"Montserrat",system-ui,sans-serif; font-size:.72rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--preto); text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:3px}
.link-seta:hover{color:var(--bordo)}
.nota-esq{font-family:"Montserrat",system-ui,sans-serif; font-size:.78rem; color:var(--muted); margin:0 0 12px; line-height:1.55}
.qtd .btn.ok{background:var(--folha)}

/* Barra fixa do carrinho */
.barra-carrinho{position:fixed; left:0; right:0; bottom:0; z-index:18; background:var(--preto); color:var(--branco)}
.barra-carrinho[hidden]{display:none}
.barra-carrinho-grid{display:flex; justify-content:space-between; align-items:center; gap:16px; padding-block:14px}
.barra-resumo{margin:0; font-family:"Montserrat",system-ui,sans-serif; font-size:.9rem}
.barra-resumo strong{font-weight:600; margin-right:10px}
.barra-resumo span{color:var(--rose); font-weight:600}
.barra-acoes{display:flex; gap:10px}
.barra-acoes .btn{width:auto; padding:13px 22px}
.barra-acoes .btn:not(.secundario-claro):hover{background:var(--branco); color:var(--preto)}
body.com-barra{padding-bottom:76px}
body.com-barra .atendimento-fab{bottom:92px}

/* Checkout: logo abaixo da top bar, largura total, até o fim da tela */
.checkout{position:fixed; left:0; right:0; bottom:0; top:72px; z-index:19; background:var(--branco); overflow-y:auto;
  border-top:1px solid var(--preto); overscroll-behavior:contain}
.checkout[hidden]{display:none}
body.checkout-aberto{overflow:hidden}
.checkout-grid{display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr); gap:48px 72px; padding-block:40px 64px}
.checkout-topo{display:flex; justify-content:space-between; align-items:baseline; gap:16px; border-bottom:2px solid var(--preto); padding-bottom:14px; margin-bottom:8px}
.checkout-topo h2,.checkout-pagamento h2{margin:0; outline:none}
.checkout-pagamento h2{border-bottom:2px solid var(--preto); padding-bottom:14px; margin-bottom:16px}
.checkout-fechar{border:0; background:none; cursor:pointer; color:var(--preto); font-family:"Montserrat",system-ui,sans-serif;
  font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; display:inline-flex; gap:10px; align-items:center}
.checkout-fechar span[aria-hidden]{font-size:1.4rem; line-height:1; letter-spacing:0}
.checkout-fechar:hover{color:var(--bordo)}
.checkout .carrinho-lista{gap:0; margin:0}
.checkout .carrinho-lista li{display:grid; grid-template-columns:minmax(0,1fr) auto 110px auto; align-items:center; gap:18px;
  padding:16px 0; border-bottom:1px solid var(--line); font-size:.95rem}
.checkout .carrinho-lista li.vazio{display:block; color:var(--muted)}
.item-nome strong{display:block; font-family:"Cormorant Garamond",Georgia,serif; font-size:1.3rem; font-weight:600; line-height:1.15}
.item-nome span{font-size:.76rem; color:var(--muted)}
.passo{display:inline-flex; align-items:center; border:1px solid var(--line-2)}
.passo button{width:34px; height:34px; border:0; background:none; cursor:pointer; font-size:1rem; color:var(--preto)}
.passo button:hover{background:var(--preto); color:var(--branco)}
.passo span{min-width:34px; text-align:center; font-weight:600; font-size:.9rem}
.item-valor{text-align:right; font-weight:600}
.checkout .remover{margin:0; font-family:"Montserrat",system-ui,sans-serif; font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted)}
.checkout-total{display:flex; justify-content:space-between; align-items:baseline; margin:20px 0 6px; font-size:.9rem;
  text-transform:uppercase; letter-spacing:.14em; font-weight:600}
.checkout-total strong{font-size:1.9rem; letter-spacing:0; text-transform:none}
.checkout-pagamento .fields{gap:16px}
.checkout-pagamento .btn{margin-top:6px}
#compraForm .so-loja{display:none}
#compraForm.com-endereco .so-loja{display:block}
#compraForm.com-endereco .row2.so-loja{display:grid}
.checkout-ok{border-top:3px solid var(--folha); padding-top:18px}
.checkout-ok h3{font-size:1.7rem; margin:0 0 8px}
.checkout-ok .btn{width:auto; margin:8px 0 16px}
.checkout-ok[hidden]{display:none}

@media (max-width:960px){
  .casa-duas,.checkout-grid,.vinhos-destaque{grid-template-columns:1fr}
  .topo-acoes{grid-column:2; grid-row:1}
}
@media (max-width:640px){
  .vinho-destaque{grid-template-columns:110px minmax(0,1fr); gap:18px}
  .vinho-destaque h3{font-size:1.45rem}
  .ficha{grid-template-columns:1fr}
  .barra-carrinho-grid{flex-wrap:wrap; gap:10px}
  .barra-acoes{width:100%}
  .barra-acoes .btn{flex:1; padding:12px 10px; font-size:.66rem; letter-spacing:.1em}
  body.com-barra{padding-bottom:124px}
  body.com-barra .atendimento-fab{bottom:140px}
  .checkout .carrinho-lista li{grid-template-columns:minmax(0,1fr) auto; gap:10px 14px}
  .item-valor{grid-column:2}
  .hero-casa .wrap{padding-block:96px 64px}
}
#fatosTerroir .dor .tag,.vinho-destaque .tag{font-family:"Montserrat",system-ui,sans-serif}
