/* Guarda Rios — guardarios.pt | WineStone Group */
:root{
  --black:#000;--blue:#3967D7;--teal:#3E5E6F;--blue-deep:#16252D;--orange:#FC8738;--yellow:#F3D88A;--gold:#FC8738;--gold-light:#F3D88A;--grey:#8C8C8A;
  --ground:#EEF0EE;--paper:#fff;--muted:#4A5357;
  --serif:'Sorts Mill Goudy','Goudy Old Style BT','Goudy Old Style',Palatino,'Palatino Linotype',Georgia,serif;
  --display:'Bebas Neue','Arial Narrow',Impact,sans-serif;
  box-sizing:border-box;
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--ground);color:#000;font-family:var(--serif);font-size:1.2rem;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.wrap{width:min(1320px,100% - 3rem);margin-inline:auto}
.lbl{font-family:var(--display);letter-spacing:.18em;font-size:1rem;color:var(--blue)}
.h2{margin:.7rem 0 1.4rem;font-weight:400;font-size:clamp(2.5rem,5vw,4.4rem);line-height:1.05}
.h2 em{color:var(--blue)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:52px;padding:0 1.8rem;font-family:var(--display);font-size:1.15rem;letter-spacing:.14em;text-decoration:none;border:1px solid currentColor;background:none;color:inherit;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.btn.gold{background:var(--orange);border-color:var(--orange);color:#000}
.btn.gold:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.btn.line:hover{background:#fff;color:#000;border-color:#fff}
.btn.ink{background:#000;color:#fff;border-color:#000}
.btn.ink:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.link{font-family:var(--display);letter-spacing:.14em;font-size:1.15rem;text-decoration:none;border-bottom:2px solid var(--orange);padding-bottom:.25rem}

/* porta de idade */
#gate{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:1.5rem;color:#fff;
  background:linear-gradient(rgba(10,18,22,.82),rgba(10,18,22,.92)),url(../img/fotos/hero-vinha.webp) center/cover;transition:opacity .7s}
#gate.hide{opacity:0;pointer-events:none}
html[data-age-ok] #gate{display:none}
.gate-box{max-width:580px;text-align:center;display:grid;gap:1.8rem;justify-items:center}
.gate-box img{width:220px}
.gate-box p{font-size:clamp(1.35rem,3vw,1.85rem);line-height:1.35;margin:0}
.gate-actions{display:flex;gap:1rem}
.gate-actions .btn{min-width:150px}
.gate-no{font-style:italic;color:#CFD6D8;min-height:1.6em}
.langs{display:flex;font-family:var(--display);letter-spacing:.14em}
.langs button{background:none;border:0;color:var(--grey);font:inherit;letter-spacing:inherit;min-width:44px;min-height:44px;cursor:pointer}
.langs button[aria-pressed="true"]{color:var(--gold-light)}

/* cabeçalho */
header{position:fixed;top:0;left:0;right:0;z-index:50;color:#000;transition:background .4s,color .4s,box-shadow .4s}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:84px}
header.solid{background:rgba(238,240,238,.95);backdrop-filter:blur(10px);color:#000;box-shadow:0 1px 0 rgba(0,0,0,.08)}
.logo{display:flex;align-items:center;height:84px}
.logo img{height:auto;width:clamp(170px,14vw,235px)}
nav ul{display:flex;gap:2.4rem;list-style:none;margin:0;padding:0;font-family:var(--display);letter-spacing:.16em;font-size:1.1rem}
nav a{text-decoration:none;padding:.6rem 0;position:relative}
nav a::after{content:"";position:absolute;left:0;right:100%;bottom:.3rem;height:1px;background:var(--gold);transition:right .35s}
nav a:hover::after{right:0}
.navright{display:flex;align-items:center;gap:1.6rem}
header .langs button[aria-pressed="false"]{color:inherit;opacity:.5}
header .langs button[aria-pressed="true"]{color:var(--blue)}
.burger{display:none;background:none;border:0;color:inherit;width:44px;height:44px;cursor:pointer}

/* hero */
.hero{position:relative;min-height:100svh;color:#000;overflow:hidden;display:grid;align-items:center;background:#A9CEDA}
.hero-bg{position:absolute;inset:0;background:url(../img/fotos/hero-gama.webp) left center/cover no-repeat;animation:kb 20s ease-out forwards;transform-origin:85% 60%}
@keyframes kb{from{transform:scale(1.05)}to{transform:scale(1)}}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(169,206,218,.6) 0%,rgba(169,206,218,0) 40%)}
.hero-copy{position:relative;z-index:3;display:grid;gap:1.5rem;grid-template-columns:min(34vw,520px);justify-content:start;padding:7rem 0 4rem;grid-template-columns:min(600px,100%)}
.hero h1{margin:0;font-weight:400;font-size:clamp(3rem,7.2vw,7.6rem);line-height:1.02;letter-spacing:-.01em;white-space:nowrap}
.hero h1 span{display:block;font-style:italic;color:var(--orange)}
.hero .sub{max-width:none;font-size:clamp(1.15rem,1.4vw,1.5rem);line-height:1.45;color:#1E2E35;margin:0;text-wrap:balance}
.awards{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;white-space:nowrap;row-gap:.35rem;gap:1.2rem;font-family:var(--display);letter-spacing:.1em;font-size:clamp(.8rem,1vw,1.05rem);color:#1E2E35}
.awards li{display:flex;align-items:center;gap:.6rem}
.awards li::before{content:"";width:18px;height:2px;background:var(--orange)}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}
.hero .btn.line:hover{background:#000;color:#fff;border-color:#000}

/* intro */
.intro{padding:clamp(6rem,12vw,10rem) 0}
.intro .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.intro h2{margin:0 0 2rem;font-weight:400;font-size:clamp(2.2rem,4.2vw,3.7rem);line-height:1.15}
.intro h2 em{color:var(--blue)}
.intro p{margin:0 0 2rem;font-size:1.35rem;color:var(--muted);max-width:42ch}
.intro figure{margin:0;position:relative}
.intro figure img{width:100%;aspect-ratio:5/4;max-height:420px;object-fit:cover;object-position:center 60%}
.intro figure::after{content:"";position:absolute;inset:1.4rem -1.4rem -1.4rem 1.4rem;background:var(--yellow);z-index:-1}

/* sobre */
.sobre{background:var(--blue);color:#fff;padding:clamp(6rem,12vw,10rem) 0}
.sobre .wrap{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,6vw,6rem)}
.sobre figure{margin:0;position:sticky;top:110px;align-self:start}
.sobre figure img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:52% center}
.sobre figcaption{margin-top:1rem;font-size:.95rem;color:#DCE4FA;font-style:italic}
.sobre-lead{font-size:clamp(1.45rem,2.3vw,1.95rem);line-height:1.45;margin:1rem 0 1.4rem}
.sobre-2{font-size:1.25rem;color:#E4EAFB;font-style:italic;margin:0 0 3rem;max-width:48ch}
.pillar{display:grid;grid-template-columns:1fr auto;gap:2rem;padding:2.2rem 0;border-top:1px solid rgba(255,255,255,.3)}
.pillar h3{margin:0 0 .6rem;font-weight:400;font-size:1.75rem;color:var(--yellow)}
.pillar p{margin:0;color:#E4EAFB;font-size:1.15rem;max-width:56ch}
.pillar .n{font-family:var(--display);font-size:2.6rem;color:var(--orange);line-height:1}

/* manifesto */
.manifesto{padding:clamp(6rem,12vw,10rem) 0;overflow:hidden}
.manifesto .wrap{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.manifesto p{margin:0 0 1.4rem;font-size:1.3rem;color:var(--muted);max-width:40ch}
.manifesto .quote{font-style:italic;font-size:1.6rem;color:#000}
.board{position:relative;height:min(80vw,740px)}
.pol{position:absolute;width:clamp(150px,19vw,255px);background:#fff;padding:12px 12px 50px;box-shadow:0 18px 40px rgba(22,37,45,.2);cursor:grab;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .4s;touch-action:none;text-decoration:none;color:#000;user-select:none;margin:0}
.pol:active{cursor:grabbing}
.pol img{width:100%;aspect-ratio:1;object-fit:cover;pointer-events:none;filter:saturate(.92) contrast(1.03)}
.pol figcaption{position:absolute;left:14px;right:14px;bottom:12px;font-style:italic;font-size:.95rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pol.top{box-shadow:0 30px 60px rgba(22,37,45,.32)}
.board-tools{display:flex;gap:1rem;margin-top:1.6rem;align-items:center;font-size:1rem;color:var(--muted);flex-wrap:wrap}
.board-tools .btn{min-height:44px;font-size:1rem;padding:0 1.2rem}

/* vinhos */
.vinhos{background:#F4F6FB;padding:clamp(6rem,11vw,9rem) 0}
.vin-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:3rem}
.vin-head p{margin:0;font-size:1.3rem;color:var(--muted);max-width:46ch}
.ctrls{display:flex;align-items:center;gap:.8rem}
.count{font-family:var(--display);font-size:1.4rem;letter-spacing:.1em;margin-right:1rem;min-width:5ch}
.arrow{width:60px;height:60px;border-radius:50%;border:1px solid #000;background:none;cursor:pointer;display:grid;place-items:center;transition:background .3s,border-color .3s}
.arrow.dark{background:#000}
.arrow:hover{background:var(--orange);border-color:var(--orange)}
.track{display:flex;gap:1.6rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:1rem max(1.5rem,calc((100vw - 1320px)/2)) 1.5rem;cursor:grab}
.track::-webkit-scrollbar{display:none}
.card{flex:0 0 clamp(270px,27vw,370px);scroll-snap-align:start;background:#fff;border:1px solid transparent;padding:2rem;display:flex;flex-direction:column;gap:1.4rem;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:background .4s,border-color .4s,transform .5s}
.card[aria-current="true"]{background:#fff;border-color:var(--blue);box-shadow:0 18px 40px rgba(57,103,215,.18);transform:translateY(-8px)}
.card .top{display:flex;justify-content:space-between;font-family:var(--display);letter-spacing:.14em;color:var(--blue)}
.card .stage{height:380px;display:flex;align-items:flex-end;justify-content:center;background:radial-gradient(60% 40% at 50% 92%,rgba(0,0,0,.12),transparent 70%)}
.card .stage img{height:100%;width:auto;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.card:hover .stage img,.card[aria-current="true"] .stage img{transform:rotate(-3deg) translateY(-8px)}
.card h3{margin:0;font-weight:400;font-size:1.7rem;line-height:1.15}
.card small{font-style:italic;color:var(--muted);font-size:1.05rem}
.detail{margin-top:2.4rem;background:#000;color:#fff;padding:clamp(2rem,4vw,3.2rem);display:grid;grid-template-columns:110px 1.1fr 1.2fr 1.3fr 1fr;gap:2.4rem;align-items:start}
.detail h4{margin:0 0 .5rem;font-family:var(--display);font-weight:400;letter-spacing:.16em;color:var(--yellow);font-size:1rem}
.detail h4+p{margin-bottom:1.4rem}
.detail .big{font-size:1.9rem;line-height:1.15;margin-bottom:.5rem}
.detail p{margin:0;font-size:1.08rem;color:#EEF2FD}
.detail .mini img{height:300px;width:auto}
.detail .acts{display:grid;gap:.8rem;margin-top:1.4rem}
.detail .acts .btn{min-height:46px;font-size:1rem;padding:0 1rem}
.fade{animation:fade .5s}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.dots{display:flex;gap:.5rem;margin-top:1.8rem}
.dots button{height:44px;width:34px;background:none;border:0;cursor:pointer;padding:0;display:flex;align-items:center;transition:width .4s}
.dots button span{display:block;height:3px;width:100%;background:var(--grey)}
.dots button[aria-current="true"]{width:80px}
.dots button[aria-current="true"] span{background:var(--orange)}

/* filme */
.filme{background:var(--ground);color:#000;padding:clamp(4rem,8vw,7rem) 0 0}
.filme .h2 em{color:var(--blue)}
.filme .wrap{margin-bottom:2rem}
.screen{position:relative;display:block;width:fit-content;max-width:100%;margin:0 auto;background:transparent;line-height:0}
.screen video{display:block;width:auto;max-width:100%;max-height:calc(100svh - 84px);max-height:calc(100dvh - 84px);height:auto;background:transparent}
.vplay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:clamp(72px,8vw,112px);aspect-ratio:1;border-radius:50%;border:0;background:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.3);transition:transform .3s,background .3s}
.vplay:hover{transform:translate(-50%,-50%) scale(1.08);background:var(--orange)}
.vplay[hidden]{display:none}
.vsound{position:absolute;right:1rem;bottom:1rem;z-index:4;background:rgba(0,0,0,.45);color:#fff;border:1px solid rgba(255,255,255,.6);border-radius:18px;font-family:var(--display);letter-spacing:.12em;font-size:.85rem;min-height:36px;padding:0 1rem;cursor:pointer;line-height:1}
.vsound:hover{background:var(--orange);color:#000;border-color:var(--orange)}
.vsound[hidden]{display:none}
@media (max-width:720px){.vsound{right:.6rem;bottom:.6rem;min-height:30px;font-size:.7rem;padding:0 .7rem}}

/* instagram */
.insta{padding:clamp(6rem,11vw,9rem) 0}
.insta-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1.5rem;margin-bottom:2.6rem}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
.grid a{aspect-ratio:4/5;overflow:hidden;position:relative}
.grid img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.grid a::after{content:"";position:absolute;inset:0;background:rgba(252,135,56,0);transition:background .4s}
.grid a:hover img{transform:scale(1.07)}
.grid a:hover::after{background:rgba(252,135,56,.22)}

/* contactos */
.contact{background:var(--orange);color:#000;padding:clamp(4rem,7vw,6rem) 0}
.contact .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.contact .lbl{color:#000}
.contact p{margin:0 0 1.4rem;font-size:1.2rem;line-height:1.45;max-width:38ch}
.contact .mail{font-size:1.35rem;border-bottom:2px solid #000;text-decoration:none;padding-bottom:.2rem}
form{display:grid;gap:.8rem}
label{display:grid;gap:.1rem;font-family:var(--display);letter-spacing:.14em;font-size:.95rem}
input,select,textarea{font:inherit;font-family:var(--serif);letter-spacing:0;font-size:1.1rem;background:transparent;border:0;border-bottom:1px solid rgba(0,0,0,.6);color:#000;padding:.45rem 0;border-radius:0}
select option{color:#000}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue)}
textarea{resize:vertical;min-height:80px}
.err{font-family:var(--serif);letter-spacing:0;font-size:.95rem;color:#5A1600;min-height:0}
.err:empty{display:none}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.cap{display:flex;align-items:center;gap:1rem;font-family:var(--serif);letter-spacing:0;font-size:1.3rem}
.cap input{width:5.5rem;text-align:center}
.cap button{background:none;border:1px solid rgba(0,0,0,.5);color:#000;width:44px;height:44px;cursor:pointer;font-size:1.2rem}
.consent{display:flex;gap:.8rem;align-items:flex-start;font-family:var(--serif);letter-spacing:0;font-size:.95rem;line-height:1.35;margin-top:.4rem}
.consent input{width:20px;height:20px;margin-top:.2rem;accent-color:var(--blue)}
form .btn{justify-self:start;background:#000;color:#fff;border-color:#000}
form .btn:hover{background:var(--blue);border-color:var(--blue)}
.thanks{border:2px solid #000;padding:3rem;display:none;align-content:center;gap:1rem}
.thanks.show{display:grid;animation:fade .6s}
.thanks strong{font-weight:400;font-style:italic;font-size:2.4rem}

/* rodapé */
footer{background:#000;color:#fff;padding:5rem 0 3rem}
.foot{display:flex;justify-content:space-between;gap:3rem;flex-wrap:wrap;align-items:flex-start}
.foot .brand img{width:220px}

.cols{display:flex;gap:3.5rem;flex-wrap:wrap;font-family:var(--display);letter-spacing:.14em;font-size:1.02rem}
.cols div{display:grid;gap:.6rem;align-content:start}
.cols span{color:var(--grey)}
.cols a{text-decoration:none}.cols a:hover{color:var(--orange)}
.legal{margin-top:4rem;padding-top:1.6rem;border-top:1px solid #333;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;color:var(--grey);font-size:.95rem}

/* revelação */
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s,transform .9s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;transform:none}

@media (max-width:1100px){.detail{grid-template-columns:1fr 1fr}.detail .mini{display:none}}
@media (max-width:960px){
  nav ul{display:none}
  nav.open ul{display:flex;position:fixed;inset:84px 0 auto 0;flex-direction:column;gap:0;background:var(--ground);color:#000;padding:1rem 1.5rem 2rem}
  nav.open ul a{display:block;padding:1rem 0;border-bottom:1px solid #CBD2D2}
  .burger{display:grid;place-items:center}
    .intro .wrap,.sobre .wrap,.manifesto .wrap,.contact .wrap{grid-template-columns:1fr}
  .sobre figure{position:relative;top:0}
  .board{height:125vw}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .logo img{width:clamp(135px,36vw,175px)}
}
@media (max-width:560px){.detail{grid-template-columns:1fr}.navright{gap:.4rem}.navright .langs button{min-width:36px;font-size:.95rem}.find{display:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-bottles img{opacity:1;transform:none}.rv{opacity:1;transform:none}}

/* ---------- Encontre o seu (quiz) ---------- */
.find{background:none;border:1px solid var(--blue);color:inherit;font-family:var(--display);letter-spacing:.16em;font-size:1rem;min-height:44px;padding:0 1.1rem;cursor:pointer;transition:background .3s,color .3s}
.find:hover{background:var(--blue);color:#fff}
.qz{position:fixed;inset:0;z-index:90;background:rgba(10,18,22,.78);backdrop-filter:blur(6px);display:grid;place-items:center;padding:1rem}
.qz[hidden]{display:none}
.qz-box{position:relative;width:min(860px,100%);max-height:92vh;overflow:auto;background:var(--ground);padding:clamp(1.6rem,4vw,3.2rem);animation:fade .4s}
.qz-x{position:absolute;right:.8rem;top:.6rem;background:none;border:0;font-size:2rem;width:44px;height:44px;cursor:pointer}
.qz-prog{display:flex;gap:.4rem;margin:1rem 0 2rem}.qz-prog i{flex:1;height:3px;background:#C8CFCF}.qz-prog i.on{background:var(--orange)}
.qz h2{font-weight:400;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.1;margin:.4rem 0 .4rem}
.qz-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.6rem}
.qz-opt{background:#fff;border:1px solid #D3D8D8;padding:1.3rem 1.4rem;text-align:left;font:inherit;font-size:1.2rem;cursor:pointer;transition:border-color .3s,transform .3s;display:grid;gap:.2rem}
.qz-opt small{font-size:.95rem;color:var(--muted);font-style:italic}
.qz-opt:hover{border-color:var(--blue);transform:translateY(-2px)}
.qz-res{display:grid;grid-template-columns:auto 1fr;gap:2.4rem;align-items:center}
.qz-res img{height:min(52vh,440px);width:auto;filter:drop-shadow(14px 22px 26px rgba(0,0,0,.25));animation:rise 1s cubic-bezier(.2,.8,.2,1) forwards;opacity:0;transform:translateY(40px)}
.qz-res p{margin:.4rem 0 1rem;color:var(--muted)}
.qz-acts{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem}
.qz-alt{margin-top:1rem;font-size:1rem;color:var(--muted)}
.qz-alt button{background:none;border:0;border-bottom:1px solid var(--orange);font:inherit;cursor:pointer;padding:0}
@media (max-width:640px){.qz-opts{grid-template-columns:1fr}.qz-res{grid-template-columns:1fr;justify-items:center}.qz-res img{height:300px}.find{padding:0 .7rem;font-size:.9rem}}

/* ---------- Sommelier ---------- */
.som-fab{position:fixed;right:1.2rem;bottom:calc(1.2rem + env(safe-area-inset-bottom,0px));z-index:80;display:flex;align-items:center;gap:.7rem;background:var(--blue);color:#fff;border:1px solid var(--blue);border-radius:40px;padding:.4rem 1.2rem .4rem .5rem;cursor:pointer;font-family:var(--display);letter-spacing:.14em;font-size:.95rem;box-shadow:0 12px 30px rgba(0,0,0,.3);transition:transform .3s}
.som-fab:hover{transform:translateY(-3px)}
.som-fab .som-av{width:54px;height:54px}
.som{position:fixed;right:1.2rem;bottom:calc(1.2rem + env(safe-area-inset-bottom,0px));z-index:85;width:min(400px,calc(100vw - 2rem));height:min(620px,calc(100vh - 7rem));background:var(--ground);display:flex;flex-direction:column;box-shadow:0 24px 60px rgba(0,0,0,.35);animation:fade .35s;border-radius:22px;overflow:hidden}
.som[hidden]{display:none}
.som-h{display:flex;align-items:center;gap:.8rem;background:var(--blue);color:#fff;padding:.8rem 1rem}
.som-h .som-av{width:50px;height:50px}
.som-h div{flex:1;display:grid;line-height:1.2}.som-h strong{font-weight:400;font-size:1.25rem}.som-h span{font-family:var(--display);letter-spacing:.12em;font-size:.8rem;color:var(--yellow)}
.som-h button{background:none;border:0;color:#fff;font-size:1.8rem;width:44px;height:44px;cursor:pointer}
.som-log{flex:1;overflow:auto;padding:1rem;display:flex;flex-direction:column;gap:.8rem}
.msg{max-width:88%;padding:.7rem 1rem;font-size:1.02rem;line-height:1.5;white-space:pre-wrap;border-radius:16px}
.msg.bot{background:#fff;border-bottom-left-radius:4px;align-self:flex-start}
.msg.me{background:var(--blue);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.msg.wait{color:var(--muted);font-style:italic}
.som-chips{display:flex;flex-wrap:wrap;gap:.4rem;padding:0 1rem .6rem}
.som-chips button{background:#fff;border:1px solid #CBD2D2;border-radius:20px;font:inherit;font-size:.9rem;padding:.35rem .9rem;cursor:pointer;min-height:36px}
.som-chips button:hover{border-color:var(--blue)}
.som-f{display:flex;border-top:1px solid #CBD2D2}
.som-f input{flex:1;border:0;padding:1rem 1.2rem;font:inherit;font-size:1.05rem;background:#fff;color:#000}
.som-f input:focus{outline:none}
.som-f button{width:56px;border:0;background:var(--orange);font-size:1.4rem;cursor:pointer;border-radius:0}
.som-note{margin:0;padding:.5rem 1rem .7rem;font-size:.8rem;color:var(--muted);background:#fff}
@media (max-width:560px){.som-fab span[data-i18n]{display:none}.som-fab{padding:.35rem;gap:0}.som-fab .som-av{width:54px;height:54px}}

.vsound:hover{background:var(--orange);color:#000}
@media (max-width:720px){.vsound{right:.8rem;bottom:.8rem;min-height:34px;font-size:.75rem;padding:0 .7rem;letter-spacing:.1em}}
.detail-wide{background:var(--blue);margin-top:2.4rem}
.detail{margin-top:0;background:none}
@media (max-width:960px){
  .hero{min-height:0;display:block;padding-top:84px}
  .awards{flex-wrap:wrap;white-space:normal;width:auto}
  .hero-bg{position:relative;inset:auto;height:62vw;max-height:60vh;background-size:cover;background-position:right 20%;animation:none}
  .hero::before{display:none}
  .hero-copy{grid-template-columns:1fr;padding:2.2rem 0 3rem}
  .hero h1{font-size:clamp(2.8rem,11vw,4rem);white-space:normal}
  .awards{flex-wrap:wrap;white-space:normal;width:auto}

}

.sobre .lbl{color:var(--yellow)}
.manifesto{background:var(--yellow)}
.manifesto p{color:#3A2E12}
.manifesto .board-tools{color:#5A4A22}

@media (max-width:720px){.hero .sub{font-size:1.1rem}}

/* ---------- Cookies ---------- */
.ck{position:fixed;left:1rem;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:95;margin:0 auto;max-width:720px;background:#fff;color:#000;border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.3);padding:1.2rem 1.4rem;display:grid;gap:.9rem;animation:fade .4s}
.ck[hidden]{display:none}
.ck p{margin:0;font-size:1rem;line-height:1.45}
.ck p a{color:var(--blue)}
.ck-acts{display:flex;gap:.6rem;flex-wrap:wrap}
.ck-acts .btn{min-height:42px;font-size:1rem;padding:0 1.2rem;border-radius:21px}
@media (max-width:560px){.som-fab{bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.ck:not([hidden])~.som-fab{display:none}}

/* ---------- Página legal ---------- */
.legalpage{padding:9rem 0 5rem;max-width:860px}
.legalpage h1{font-weight:400;font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.1;margin:.4rem 0 1.4rem}
.legalpage h2{font-weight:400;font-size:1.6rem;margin:2.4rem 0 .6rem;color:var(--blue)}
.legalpage p,.legalpage li{font-size:1.1rem;line-height:1.6;color:#2A2A2A}
.legalpage .upd{font-size:.95rem;color:var(--muted)}
.legalpage [hidden]{display:none}
.ck-manage{background:none;border:0;color:inherit;font:inherit;letter-spacing:inherit;padding:0;text-align:left;cursor:pointer}
.ck-manage:hover{color:var(--orange)}
.legal-body header{position:static;background:var(--ground)}
.legal-body .legalpage{padding-top:3rem}
.ink-text{color:#000}
.nomb{margin-bottom:0}
.consent-l{display:block;font-family:var(--serif);letter-spacing:0;font-size:1rem}

/* âncora da gama: destaque breve da barra azul ao escolher um vinho */
.detail-wide{scroll-margin-top:100px}
.detail-wide.pulse{animation:grPulse 1.1s ease-out}
@keyframes grPulse{0%{box-shadow:inset 0 0 0 0 rgba(252,135,56,0);background:#5F86E6}35%{box-shadow:inset 0 0 0 4px var(--orange)}100%{box-shadow:inset 0 0 0 0 rgba(252,135,56,0);background:var(--blue)}}
.detail .big:focus{outline:none}
.card .more{font-family:var(--display);letter-spacing:.14em;font-size:.85rem;color:var(--blue);margin-top:-.4rem}

/* sommelier: oferta de contacto e envio à equipa */
.som-chips .team{background:var(--blue);color:#fff;border-color:var(--blue)}
.som-chips .team:hover{background:var(--orange);border-color:var(--orange);color:#000}
.msg-acts{display:flex;gap:.5rem;flex-wrap:wrap;align-self:flex-start}
.msg-acts button{border-radius:18px;border:1px solid var(--blue);background:#fff;color:var(--blue);font:inherit;font-size:.92rem;padding:.4rem .9rem;cursor:pointer;min-height:36px}
.msg-acts .yes{background:var(--blue);color:#fff}
.som-hand{background:#fff;border-radius:16px;padding:.9rem 1rem;display:grid;gap:.5rem;align-self:stretch;font-size:.95rem}
.som-hand p{margin:0;line-height:1.4}
.som-hand input[name=nome],.som-hand input[name=email],.som-hand input[name=telefone],.som-hand .h-cap input{border:1px solid #CBD2D2;border-radius:10px;padding:.5rem .7rem;font:inherit;font-size:1rem;color:#000;background:#fff}
.som-hand input:focus{outline:none;border-color:var(--blue)}
.som-hand .h-cap{display:flex;align-items:center;gap:.6rem}
.som-hand .h-cap input{width:4.5rem;text-align:center}
.som-hand .h-ck{display:flex;gap:.5rem;align-items:flex-start;font-family:var(--serif);letter-spacing:0;font-size:.85rem;line-height:1.35}
.som-hand .h-ck input{margin-top:.15rem;accent-color:var(--blue)}
.som-hand .h-ck a{color:var(--blue)}
.som-hand .h-err{color:#B3261E;font-size:.88rem;min-height:0}
.som-hand .h-err:empty{display:none}
.som-hand .h-acts{display:flex;gap:.5rem}
.som-hand .h-acts button{border-radius:18px;border:1px solid var(--blue);font:inherit;font-size:.92rem;padding:.45rem 1rem;cursor:pointer;min-height:36px;background:var(--blue);color:#fff}
.som-hand .h-acts .cancel{background:#fff;color:var(--blue)}

/* sommelier: convite (o pássaro "acorda" e aparece um balão) */
.som-fab.hop .som-av{animation:grHop 1.3s ease-in-out 2;transform-origin:50% 85%}
@keyframes grHop{
  0%{transform:none}
  12%{transform:translateY(-7px) rotate(-10deg)}
  20%{transform:translateY(-7px) rotate(-10deg) scaleX(.86)}
  28%{transform:translateY(-8px) rotate(-6deg) scaleX(1.08)}
  36%{transform:translateY(-7px) rotate(-10deg) scaleX(.86)}
  44%{transform:translateY(-6px) rotate(-6deg) scaleX(1.06)}
  60%{transform:translateY(0) rotate(4deg)}
  72%{transform:translateY(-2px) rotate(-3deg)}
  100%{transform:none}}
.som-fab.hop{box-shadow:0 0 0 0 rgba(57,103,215,.5),0 12px 30px rgba(0,0,0,.3);animation:grRing 1.6s ease-out 2}
@keyframes grRing{0%{box-shadow:0 0 0 0 rgba(57,103,215,.55),0 12px 30px rgba(0,0,0,.3)}100%{box-shadow:0 0 0 18px rgba(57,103,215,0),0 12px 30px rgba(0,0,0,.3)}}
.som-bubble{position:fixed;right:1.2rem;bottom:calc(5.6rem + env(safe-area-inset-bottom,0px));z-index:81;display:flex;align-items:center;background:#fff;border-radius:18px 18px 4px 18px;box-shadow:0 14px 34px rgba(0,0,0,.25);opacity:0;transform:translateY(10px) scale(.96);transform-origin:100% 100%;transition:opacity .35s,transform .35s}
.som-bubble.show{opacity:1;transform:none}
.som-bubble .b-txt{background:none;border:0;font:inherit;font-family:var(--serif);font-size:1.05rem;color:#000;padding:.75rem .4rem .75rem 1.1rem;cursor:pointer;text-align:left}
.som-bubble .b-txt:hover{color:var(--blue)}
.som-bubble .b-x{background:none;border:0;font-size:1.3rem;line-height:1;color:var(--muted);width:40px;height:40px;cursor:pointer}
@media (max-width:560px){.som-bubble{bottom:calc(9.6rem + env(safe-area-inset-bottom,0px));right:.8rem;max-width:calc(100vw - 1.6rem)}}
@media (prefers-reduced-motion:reduce){.som-fab.hop,.som-fab.hop img{animation:none}}

/* Sobre: título e CTA (só aparecem quando há texto no idioma ativo) */
.sobre-h{color:#fff;margin:.6rem 0 1rem;font-size:clamp(2rem,3.6vw,3.3rem);line-height:1.1}
.sobre-h em{color:var(--yellow)}
.sobre-h:empty,.sobre-2:empty,.sobre-cta a:empty{display:none}
.sobre-cta{margin:0 0 2.6rem}
.sobre-cta .link{color:#fff;border-bottom-color:var(--yellow)}
.sobre-cta:has(a:empty){display:none}

/* avatar do sommelier: o guarda-rios a espreitar, com pestanejo */
.som-av{position:relative;display:inline-block;flex-shrink:0;transition:transform .35s}
.som-av img{width:100%;height:100%;object-fit:contain;display:block}
.som-av .eye{position:absolute;left:27.5%;top:22.5%;width:12%;height:9.5%;background:#0c3144;border-radius:50%;transform:scaleY(0);transform-origin:50% 50%;animation:grBlink 5.2s ease-in-out infinite}
.som-fab:hover .som-av{transform:rotate(-8deg) scale(1.06)}
@keyframes grBlink{0%,91%{transform:scaleY(0)}94%{transform:scaleY(1)}97%,100%{transform:scaleY(0)}}
@media (prefers-reduced-motion:reduce){.som-av .eye{animation:none}.som-fab:hover .som-av{transform:none}}

/* cursor da escrita progressiva do sommelier */
.som-log .msg.typing::after{content:"";display:inline-block;width:.5em;height:1em;margin-left:2px;vertical-align:-.15em;background:var(--blue);animation:grCaret .8s steps(1) infinite}
@keyframes grCaret{50%{opacity:0}}

/* links e quebra de palavras longas nas mensagens do sommelier */
.som-log .msg{overflow-wrap:anywhere}
.som-log .msg a{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:2px;word-break:break-all}
.som-log .msg a:hover{color:var(--orange)}
