@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,500;6..96,600&family=Manrope:wght@400;600;700&display=swap');
:root{color-scheme:dark;--ink:#110d10;--panel:#20151c;--paper:#fff1e7;--soft:#d6bbc5;--rose:#f397ad;--line:#63434e;--serif:"Bodoni Moda",Georgia,serif;--edge:clamp(1.25rem,6vw,6.5rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;background:var(--ink);color:var(--paper);font:400 1rem/1.65 Manrope,Arial,sans-serif}::selection{background:var(--rose);color:var(--ink)}[hidden]{display:none!important}a{color:inherit;text-underline-offset:.25em}a:hover{color:var(--rose)}:focus-visible{outline:2px solid var(--rose);outline-offset:5px}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}img{display:block;width:100%;object-fit:cover}p{max-width:70ch;color:var(--soft)}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1;letter-spacing:-.035em;margin:0 0 .35em;text-wrap:balance}h1{font-size:clamp(3.7rem,8vw,6rem);max-width:10ch}h2{font-size:clamp(2.75rem,6vw,5.3rem)}h3{font-size:clamp(1.7rem,3vw,2.8rem)}.wrap{width:min(100% - var(--edge)*2,1300px);margin-inline:auto}.skip{position:absolute;z-index:9;top:0;transform:translateY(-150%);background:var(--ink);padding:1rem}.skip:focus{transform:none}
.top{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:.85rem var(--edge);background:var(--ink);border-bottom:1px solid var(--line)}.top a{text-decoration:none}.brand{font:500 2rem/.85 var(--serif);text-align:center;flex-shrink:0}.top nav{display:flex;gap:clamp(.8rem,2vw,2rem);font-size:.84rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.4rem;border:1px solid transparent;background:var(--rose);color:var(--ink);padding:.8rem 1.2rem;font-weight:700;font-size:.83rem;text-decoration:none;min-height:44px;transition:background .2s,color .2s,border-color .2s}.button:hover{color:var(--ink);background:var(--paper)}.outline{background:transparent;border-color:var(--line);color:var(--paper)}.outline:hover{color:var(--paper);background:var(--panel);border-color:var(--rose)}
.hero{min-height:min(48rem,84svh);position:relative;display:grid;align-items:center;overflow:hidden;isolation:isolate}.hero>img{position:absolute;inset:0;height:100%;z-index:-2;object-position:60% center;animation:photo-arrive 1.8s cubic-bezier(.16,1,.3,1) both}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#130a10f2 4%,#170b13c7 36%,#2a112241 82%),linear-gradient(0deg,#110d10 0%,transparent 40%)}.hero-copy{padding:4.5rem var(--edge) 6rem}.hero-copy p{font-size:clamp(1rem,2vw,1.25rem);max-width:34ch;margin:0 0 1.7rem}.hero-foot{position:absolute;inset:auto var(--edge) 1.4rem;display:flex;justify-content:space-between;gap:1rem;color:var(--soft);font-size:.68rem;letter-spacing:.18em}
.event,.club,.bar,.guest{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.8rem,7vw,7rem);align-items:center;padding-block:clamp(3.5rem,8vw,8rem)}.event{grid-template-columns:1fr minmax(180px,29%);border-top:1px solid var(--line)}#flyer-link{max-width:21rem;justify-self:end}#flyer{height:auto}.event article{border-top:1px solid var(--line);padding:1rem 0}.event article img{max-width:13rem;height:auto}.event time{color:var(--rose);font-size:.9rem;font-weight:700}.night,.visit,.contact{background:var(--panel);padding-block:clamp(3.5rem,7vw,6rem)}.copy p{white-space:pre-line}.night .copy{display:flex;gap:2rem;flex-wrap:wrap}.night .copy p{flex:1 1 14rem;border-top:1px solid var(--line);padding-top:1rem}.club img,.bar img{height:auto}.gallery{padding-block:1rem 3rem}figcaption{color:var(--soft);margin-top:.5rem}.bar{border-top:1px solid var(--line)}#drinks p{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem 1rem;border-bottom:1px solid var(--line);padding-bottom:.7rem}.visit details{border-bottom:1px solid var(--line);padding:.85rem 0}.visit summary{cursor:pointer;font-weight:700}.visit details p{white-space:pre-line}.guest{align-items:start}#entries article{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}#entries article p{margin:0;overflow-wrap:anywhere}.contact{text-align:center}.contact p{margin-inline:auto}#contacts{display:flex;justify-content:center;gap:1rem 2rem;flex-wrap:wrap;margin-top:1.25rem}footer{display:flex;justify-content:space-between;gap:1rem;padding-block:1.5rem;color:var(--soft);font-size:.82rem}#load-status:empty{display:none}#load-status{margin:1rem var(--edge)}
form label{display:grid;gap:.3rem;margin-bottom:.9rem;color:var(--soft)}input,textarea{width:100%;min-width:0;background:var(--ink);border:1px solid var(--line);color:var(--paper);padding:.65rem .8rem;border-radius:0}textarea{resize:vertical}.admin{padding-block:3rem 6rem}.admin h1{max-width:none}.admin fieldset{border:1px solid var(--line);background:var(--panel);padding:1rem clamp(1rem,3vw,2rem);margin:0 0 1.5rem;min-width:0}.admin legend{font-weight:700;padding:0 .5rem}.admin .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:0 1rem}.editor-row{border-top:1px solid var(--line);padding:1rem 0}.editor-row:last-child{padding-bottom:0}.editor-row .button{margin-right:.5rem}.admin-actions{position:sticky;bottom:0;background:var(--ink);border-top:1px solid var(--line);padding:.7rem 0;display:flex;gap:.8rem;align-items:center;z-index:1}.admin-actions p{margin:0}.admin article{overflow-wrap:anywhere}.thumb{width:min(100%,10rem);max-height:9rem;object-fit:contain;margin-bottom:.6rem}.upload{font-size:.85rem}
@media(max-width:720px){.top{flex-wrap:wrap;gap:.45rem 1rem}.top nav{order:3;flex:1 0 100%;overflow:auto;padding:.45rem 0;white-space:nowrap}.top .button{padding:.4rem .65rem}.hero{min-height:36rem}.hero:after{background:linear-gradient(90deg,#130a10e8,#170b1366),linear-gradient(0deg,#110d10,transparent 60%)}.event,.club,.bar,.guest{grid-template-columns:1fr}.bar img{order:2}#flyer-link{justify-self:start}.hero-foot{letter-spacing:.08em}html{scroll-padding-top:7rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
footer{align-items:center;flex-wrap:wrap}
.hero-foot{font-size:.7rem}

@supports (animation-timeline:view()){
  @media(prefers-reduced-motion:no-preference){
    @keyframes flyer-reveal{from{clip-path:inset(0 0 18% 0);transform:translateY(1.25rem)}to{clip-path:inset(0);transform:translateY(0)}}
    #flyer-link{animation:flyer-reveal linear both;animation-timeline:view();animation-range:entry 0% entry 95%}
  }
}
a{text-decoration:none}
a:not(.button):not(.wa-float):hover{color:var(--rose)}
.guest>div>a,.visit details>a,#contacts a,.site-footer a{color:var(--rose)}
.guest>div>a:hover,.visit details>a:hover,#contacts a:hover,.site-footer a:hover{color:var(--paper)}
.site-footer{border-top:1px solid var(--line);background:var(--ink);padding-block:1.25rem}
.footer-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem 1.5rem;font-size:.85rem}
.wa-button{gap:.55rem}
.wa-icon{width:20px;height:20px;flex:none}
.wa-float{position:fixed;z-index:4;display:grid;place-items:center;width:56px;height:56px;right:max(18px,env(safe-area-inset-right));bottom:max(calc(18px + env(safe-area-inset-bottom)),var(--footer-clearance,0px));border-radius:50%;background:#25d366;color:#081810;box-shadow:0 7px 22px #0006}
.wa-float:hover{background:#63e68e;color:#081810}
.wa-float .wa-icon{width:30px;height:30px}
.hero>img{filter:brightness(1.16) saturate(.82);animation-name:photo-arrive}
@keyframes photo-arrive{from{transform:scale(1.075);filter:brightness(.94) saturate(.82)}to{transform:scale(1);filter:brightness(1.16) saturate(.82)}}
.club img,.bar img,


.brand-mark{width:clamp(5.5rem,9vw,8rem);height:3.4rem;object-fit:contain}
@media(max-width:520px){.footer-row{align-items:flex-start;flex-direction:column}.wa-float{width:56px;height:56px}.guest form{padding-bottom:1.25rem}}

.brand-mark{height:4rem}
body:has(#guest-form :focus) .wa-float{visibility:hidden}

.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,3vw,2.25rem);align-items:start}
.photo-grid figure,.photo-viewer figure{margin:0}
.photo-grid a{display:block;background:var(--panel);overflow:hidden}
.photo-grid img{height:auto;transition:transform .3s}
.photo-grid a:hover img{transform:scale(1.025)}
.photo-viewer{width:min(94vw,72rem);max-height:92dvh;padding:clamp(.8rem,2vw,1.5rem);color:var(--paper);background:var(--ink);border:1px solid var(--line)}
.photo-viewer::backdrop{background:#080609e8}
.viewer-top,.viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.viewer-top{margin-bottom:.75rem}
.viewer-controls{margin-top:.75rem}
.photo-viewer img{width:auto;max-width:100%;max-height:calc(92dvh - 12rem);margin-inline:auto;object-fit:contain}
.photo-viewer figcaption{text-align:center}
.club img,.bar img,.photo-grid img,.photo-viewer img{filter:brightness(1.12) contrast(.97) saturate(.94)}
:is(.photo-grid,.photo-viewer) img:is([src$="/ambiente-2.jpg"],[src$="/ambiente-4.jpg"],[src$="/ambiente-9.jpg"],[src$="/ambiente-10.jpg"],[src$="/ambiente-13.jpg"],[src$="/ambiente-14.jpg"],[src$="/ambiente-15.jpg"],[src$="/ambiente-16.jpg"],[src$="/ambiente-17.jpg"]){filter:brightness(1.34) contrast(.93) saturate(.9)}
:is(.photo-grid,.photo-viewer) img:is([src$="/ambiente-1.jpg"],[src$="/ambiente-5.jpg"],[src$="/ambiente-18.jpg"]){filter:none}
@media(max-width:760px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.photo-grid{gap:1rem .75rem}.photo-grid figcaption{font-size:.85rem}}

/* ===== Camada de composição (abertura, agenda, bar, contato) — aplicada sobre as regras acima ===== */
:root{--wine:#6e1736}
.kicker{margin:0 0 .9rem;color:var(--rose);font:700 .7rem/1 Manrope,sans-serif;letter-spacing:.24em;text-transform:uppercase}
/* Correção: o seletor cortado acima fazia as fotos do clube e do bar encolherem. Proporção original preservada. */
.club img,.bar img{width:100%;height:auto;object-fit:cover}

/* Abertura: entrada do clube depois do anoitecer */
.hero{align-items:end;background:#0a0508}
.hero>img{object-position:47% 40%}
.hero:after{background:linear-gradient(90deg,#0a0508f2 0%,#0f060bcc 30%,#1d0a1470 58%,#0a050845 100%),linear-gradient(0deg,#110d10 0%,#110d10b0 14%,transparent 48%),radial-gradient(60% 55% at 46% 42%,transparent 40%,#07030688 100%)}
.glow{position:absolute;inset:0;z-index:-1;opacity:0;background:radial-gradient(22rem circle at var(--mx,46%) var(--my,40%),#f397ad59,transparent 65%);mix-blend-mode:screen;pointer-events:none;transition:opacity .6s}
.hero.lit .glow{opacity:1}
.hero-copy{padding-bottom:5.2rem;justify-items:start}.hero-copy p{color:var(--paper)}.hero-copy h1{text-shadow:0 2px 30px #000a}
.hero-foot{text-transform:uppercase}
@keyframes rise{from{opacity:0;transform:translateY(1.1rem)}to{opacity:1;transform:none}}
.hero-copy>*{animation:rise 1.1s cubic-bezier(.16,1,.3,1) both}.hero-copy>:nth-child(2){animation-delay:.25s}.hero-copy>:nth-child(3){animation-delay:.4s}

/* Agenda: próxima noite em destaque, demais datas compactas */
.event{position:relative;align-items:start}
.event:before{content:"";position:absolute;top:-1px;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--rose),var(--line) 40%,transparent);transform-origin:left}
#flyer-link{border:1px solid var(--line)}
#events{margin-bottom:1.5rem}
#events article{display:grid;grid-template-columns:auto 1fr;gap:.2rem 1.4rem;align-items:start;border-top:1px solid var(--line);padding:1.1rem 0}
.when{display:grid;justify-items:center;min-width:6rem;color:var(--rose);text-transform:uppercase;font:700 .7rem/1.2 Manrope,sans-serif;letter-spacing:.14em;grid-row:span 3}
.when b{font:500 2.6rem/1 var(--serif);letter-spacing:-.03em;color:var(--paper)}
#events h3{margin:0;font-size:1.35rem;letter-spacing:-.02em}#events p{margin:0;font-size:.95rem}
#events .tag{color:var(--rose);font:700 .68rem/1 Manrope,sans-serif;letter-spacing:.22em;text-transform:uppercase;margin-bottom:.3rem}
#events article.next{padding-block:1.4rem}#events article.next .when b{font-size:clamp(4rem,9vw,6.5rem)}
#events article.next h3{font-size:clamp(1.9rem,3.6vw,3rem);letter-spacing:-.035em;margin-bottom:.35rem}#events article.next p{font-size:1rem}
#events .thumb-link{grid-column:2;width:4.5rem;margin-top:.5rem}#events .thumb-link img{width:100%;height:auto}

/* Bar: cardápio em lista, aviso quando ainda não há valores */
.bar{background:linear-gradient(180deg,#1a0e15,var(--ink))}
.bar-copy h2{margin-bottom:.5em}.bar-copy>p{margin-bottom:1.2rem}
#drinks p{align-items:baseline}#drinks p strong{color:var(--paper)}#drinks p span{color:var(--rose);font-weight:700}
#drinks p.note{display:block;border:1px dashed var(--line);padding:.9rem 1rem;color:var(--soft)}

/* Contato: fecho do percurso com luz vinho */
.contact{background:radial-gradient(50rem 24rem at 50% 100%,#6e173659,transparent 70%),var(--panel)}
.contact .button{margin-top:.6rem}

/* Galeria: legendas no mesmo padrão */
.photo-grid figcaption{font-size:.9rem;line-height:1.35}

/* Painel */
.admin-nav{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-size:.9rem;margin-block:1rem}
.admin-actions{flex-wrap:wrap}.upload span{display:block;margin-top:.3rem}.err{color:#ffb4a8}

@media(max-width:720px){
.hero{min-height:max(34rem,82svh)}.hero>img{object-position:47% 40%}
.hero:after{background:linear-gradient(0deg,#0a0508 0%,#0a0508eb 32%,#0a050866 62%,#0a050833 100%),radial-gradient(80% 60% at 47% 38%,transparent 35%,#07030688 100%)}
.hero-copy{padding-bottom:4.6rem}
#events article{gap:.2rem 1rem}.when{min-width:4.6rem}
}

/* Movimento: só na entrada, na passagem para a agenda e na galeria. Sem interceptar a rolagem. */
@supports (animation-timeline:view()){
@media(prefers-reduced-motion:no-preference){
@keyframes copy-leave{to{opacity:.15;transform:translateY(-1.5rem)}}
.hero-copy{animation:copy-leave linear both;animation-timeline:view();animation-range:exit 15% exit 85%}
@keyframes line-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.event:before{animation:line-in linear both;animation-timeline:view();animation-range:entry 20% entry 90%}
@keyframes photo-in{from{opacity:.25;transform:translateY(1.5rem)}to{opacity:1;transform:none}}
.photo-grid figure{animation:photo-in linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
}}
@media(prefers-reduced-motion:reduce){.glow{display:none}}

/* ===== Vermelho e preto: cor, mouse e movimento ===== */
:root{--red:#c4122f;--red-hot:#ff2d55;--red-soft:#ff6b81;--blood:#5a0a1c}
.kicker,.when,#events .tag,figcaption span{color:var(--red-soft)}
.button{background:linear-gradient(180deg,#d8183a,var(--red) 55%,#9d0e25);color:var(--paper);border-color:#ff4d6d55;position:relative;overflow:hidden;transform:translate(var(--mx2,0),var(--my2,0));transition:background .25s,color .25s,border-color .25s,box-shadow .3s,transform .25s}
.button:hover{background:linear-gradient(180deg,#ff3b5f,var(--red-hot) 55%,#c4122f);color:#fff;box-shadow:0 0 28px #ff2d5566}
.button:before,.wa-float:before{content:"";position:absolute;inset:0;background:radial-gradient(7rem circle at var(--px,50%) var(--py,50%),#ffffff40,transparent 70%);opacity:0;transition:opacity .25s;pointer-events:none}
.button:hover:before,.wa-float:hover:before{opacity:1}
.outline{background:transparent;color:var(--paper);border-color:#8e1f35}
.outline:hover{background:#2a0b14;color:#fff;border-color:var(--red-hot);box-shadow:0 0 22px #ff2d5544}
/* WhatsApp: vermelho e preto, mesmo ícone */
.wa-button.button:not(.outline){background:linear-gradient(180deg,#d8183a,var(--red) 55%,#9d0e25)}
.wa-float{background:radial-gradient(circle at 30% 25%,#ff4d6d,var(--red) 45%,#4a0816);color:#fff;border:1px solid #ff6b8166;box-shadow:0 0 0 0 #ff2d5566,0 8px 26px #000a;overflow:hidden;transform:translate(var(--mx2,0),var(--my2,0));transition:transform .25s,box-shadow .3s}
.wa-float:hover{background:radial-gradient(circle at 30% 25%,#ff7a92,var(--red-hot) 45%,#7a0c20);color:#fff;box-shadow:0 0 0 6px #ff2d5533,0 10px 30px #000b}
a:not(.button):not(.wa-float):hover,.guest>div>a,.visit details>a,#contacts a,.site-footer a{color:var(--red-soft)}
.guest>div>a:hover,.visit details>a:hover,#contacts a:hover,.site-footer a:hover{color:var(--paper)}
.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(30rem 22rem at 46% 40%,#d4143a33,transparent 70%);pointer-events:none}
#events article,.visit details{position:relative;transition:background .3s}
#events article:hover,.visit details:hover{background:radial-gradient(18rem circle at var(--px,50%) var(--py,50%),#c4122f1f,transparent 70%)}

/* Faixa de passagem da abertura para a agenda */
.ticker{overflow:hidden;border-block:1px solid #5b1426;background:linear-gradient(90deg,#1a0710,#2a0a16 50%,#1a0710);color:var(--paper);font:700 .72rem/1 Manrope,sans-serif;letter-spacing:.22em;text-transform:uppercase}
.ticker-track{display:flex;width:max-content;animation:ticker 38s linear infinite}
.ticker span{padding:1rem 1.6rem;white-space:nowrap}.ticker span:after{content:"✦";margin-left:3.2rem;color:var(--red-hot)}
@keyframes ticker{to{transform:translateX(-50%)}}

/* Título entra palavra por palavra */
#headline .w{display:inline-block;animation:rise 1s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.2s + var(--i,0)*.12s)}

/* Halo do mouse */
.halo{position:fixed;left:0;top:0;z-index:5;width:26rem;height:26rem;margin:-13rem 0 0 -13rem;border-radius:50%;pointer-events:none;opacity:0;mix-blend-mode:screen;background:radial-gradient(circle,#ff2d5540,#c4122f1f 40%,transparent 68%);transition:opacity .4s,width .3s,height .3s,margin .3s,background .3s;will-change:transform}
.halo.on{opacity:1}.halo.over{width:15rem;height:15rem;margin:-7.5rem 0 0 -7.5rem;background:radial-gradient(circle,#ff6b8166,#ff2d5526 45%,transparent 70%)}

/* Fotos e flyer: inclinação suave e brilho sob o ponteiro (proporção original) */
#flyer-link,.photo-grid a{transform:perspective(800px) rotateX(var(--rx,0)) rotateY(var(--ry,0));transition:transform .25s ease-out,box-shadow .3s}
.photo-grid a{position:relative}.photo-grid a:after{content:"";position:absolute;inset:0;background:radial-gradient(10rem circle at var(--px,50%) var(--py,50%),#ff2d5540,transparent 70%);opacity:0;transition:opacity .3s;pointer-events:none}.photo-grid a:hover:after{opacity:1}
.photo-grid a:hover,#flyer-link:hover{box-shadow:0 0 34px #c4122f55}

@media(max-width:720px){.hero-foot{flex-direction:column;gap:.3rem;padding-right:4.5rem}.ticker span{padding:.85rem 1.2rem}.halo{display:none}}

@media(prefers-reduced-motion:no-preference){
@keyframes pulse-light{0%,100%{opacity:.55}50%{opacity:1}}
.hero:before{animation:pulse-light 5.5s ease-in-out infinite}
@keyframes wa-ring{0%{box-shadow:0 0 0 0 #ff2d5577,0 8px 26px #000a}70%,100%{box-shadow:0 0 0 16px #ff2d5500,0 8px 26px #000a}}
.wa-float{animation:wa-ring 3s ease-out infinite}
}
@supports (animation-timeline:view()){
@media(prefers-reduced-motion:no-preference){
@keyframes section-in{from{opacity:0;transform:translateY(2.2rem)}to{opacity:1;transform:none}}
.night .wrap,.club>*,.bar>*,.visit .wrap,.guest>*,.contact .wrap{animation:section-in linear both;animation-timeline:view();animation-range:entry 0% entry 45%}
}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}.ticker span:nth-child(n+6){display:none}.halo{display:none}.wa-float{animation:none}}
.photo-grid a{aspect-ratio:4/3}
.photo-grid a img{width:100%;height:100%;object-fit:cover}
.login-page{min-height:100dvh;display:flex;flex-direction:column}
.login-box{width:min(100% - 2rem,27rem);margin:auto;padding-block:2rem}
.login-box h1{font-size:clamp(2.8rem,8vw,4rem);margin-top:1rem}
.login-box label{margin:.8rem 0 .25rem}
.login-box details{margin-top:1.5rem}
.login-box [role="alert"]{color:var(--rose)}
.login-box [role="alert"]:empty{display:none}
.password-field{display:flex;gap:.4rem}
.password-field button{flex:none;padding:.5rem .7rem}
.login-page .footer-row{justify-content:center;display:block;text-align:center}
.top-social,.carousel-controls{display:flex;align-items:center;gap:.45rem}
.social-icon{padding:.55rem}
.carousel-controls{margin-bottom:1rem}
.carousel-controls button{min-width:44px}
#events .reserve{margin-top:.65rem}
#events details{border-top:1px solid var(--line);padding-top:1rem}
#events summary{cursor:pointer;margin-bottom:1rem}
#photo-close{font-size:1.3rem;line-height:1}
.hero-copy h1,#events h3{overflow-wrap:anywhere}
.login-box form{display:grid;gap:.55rem}
.login-box form>button[type=submit]{width:100%;margin-top:.65rem}
.login-options{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.6rem;font-size:.85rem}
.login-options label{display:flex;align-items:center;gap:.45rem;margin:0}
.login-options input{width:auto;accent-color:var(--rose)}
.login-options a,.login-page footer a{color:var(--rose)}

.club-carousel{min-width:0}
.club-track{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.club-track figure{position:relative;scroll-snap-align:start;margin:0}
.club-track img{aspect-ratio:4/3;width:100%;height:auto;object-fit:cover}
.club-track figcaption{position:absolute;inset:auto 0 0;margin:0;padding:1.6rem 1rem .65rem;background:linear-gradient(transparent,#110d10e8);color:var(--paper)}
.club-carousel .carousel-controls{justify-content:flex-end;margin:.6rem 0 0}
.login-heading{display:flex;align-items:center;gap:clamp(.5rem,3vw,1.25rem)}
.login-heading h1{margin:0;font-size:clamp(2.15rem,7vw,3.8rem);overflow-wrap:anywhere}
.login-heading .brand-mark{width:clamp(4.5rem,16vw,6.75rem);height:4rem}
.login-box>p{margin:.5rem 0 1.2rem}
.login-box input:not([type=checkbox]),.login-box .password-field button{border-radius:.65rem;background:#1b1318}
.login-box form>button[type=submit]{border-radius:.65rem;background:#f397ad;color:#211017}
.login-box form>button[type=submit]:hover{background:#ffc2cf}
.login-heading{justify-content:center}
.login-heading .brand-mark{width:clamp(10rem,42vw,14rem);height:8rem}
.login-box>h1{text-align:center;font-size:clamp(1.15rem,5vw,1.65rem);white-space:nowrap;margin:.35rem 0 1.65rem}

.event{width:min(100% - var(--edge)*2,70rem);grid-template-columns:minmax(0,1fr) minmax(0,17rem);gap:1.25rem clamp(1.5rem,4vw,3.5rem);padding-block:clamp(2.75rem,6vw,5rem)}
.event>h2{grid-column:1/-1;margin:0;font-size:clamp(2.35rem,5vw,4rem)}
.event-main{min-width:0}
.event:has(#flyer-link[hidden]) .event-main{grid-column:1/-1}
#flyer-link{width:100%;justify-self:start;animation:none}
#events{margin-bottom:0}
#events article.next{padding-block:1rem}
#events article.next .when b{font-size:clamp(2.65rem,6vw,4rem)}
#events article.next h3{font-size:clamp(1.65rem,3vw,2.5rem)}
.event-main>.wa-button{margin-top:1rem}
.event-main:has(.reserve)>.wa-button{display:none}
@media(max-width:720px){.event{grid-template-columns:minmax(0,1fr);row-gap:1rem}#flyer-link{max-width:17rem}#events article{column-gap:.75rem}.event .when{min-width:3.25rem}}

/* ===== Anel do mouse (refino) e página de acesso ===== */
.halo{width:2.4rem;height:2.4rem;margin:-1.2rem 0 0 -1.2rem;border:1.5px solid #ff6b81b3;background:radial-gradient(circle,#ff2d5518,transparent 70%);box-shadow:0 0 18px #ff2d5533;mix-blend-mode:normal;transition:opacity .3s,width .3s,height .3s,margin .3s,border-color .3s,background .3s}
.halo.over{width:3.8rem;height:3.8rem;margin:-1.9rem 0 0 -1.9rem;border-color:#ffb0bce6;background:radial-gradient(circle,#ff6b8133,transparent 70%)}
.halo.hide{opacity:0}
.login-box>h1{max-width:none;width:100%}
.login-box form>button[type=submit]{background:linear-gradient(180deg,#d8183a,#c4122f 55%,#9d0e25);color:var(--paper);border:1px solid #ff4d6d55}
.login-box form>button[type=submit]:hover{background:linear-gradient(180deg,#ff3b5f,#ff2d55 55%,#c4122f);color:#fff}
.login-box p:has(>a[href="/admin"]){text-align:center;margin-top:1rem}
.login-box p:has(>a[href="/admin"]) a{color:var(--red-soft)}
.login-box input:focus-visible,.login-box button:focus-visible,.login-box a:focus-visible{outline:2px solid var(--red-soft);outline-offset:3px}
@media(max-width:520px){.login-box{padding-block:1rem}.login-heading .brand-mark{height:6.5rem}}
.public-top{display:grid;grid-template-columns:1fr auto 1fr}
.public-top .brand{justify-self:start}
.public-top .top-social{justify-self:end}
.public-top .menu-toggle,.footer-social{display:none}
.social-icon{position:relative;width:44px;min-height:44px;padding:0}
.social-label{position:absolute;top:calc(100% + .4rem);right:0;padding:.35rem .6rem;background:var(--ink);border:1px solid var(--line);color:var(--paper);white-space:nowrap;visibility:hidden;opacity:0;transform:translateY(-.2rem);transition:opacity .18s,transform .18s,visibility .18s;pointer-events:none}
.social-icon:focus-visible .social-label{visibility:visible;opacity:1;transform:none}
@media(hover:hover){.social-icon:hover .social-label{visibility:visible;opacity:1;transform:none}}
@media(max-width:900px){
  .public-top{grid-template-columns:minmax(0,1fr) auto auto;gap:.65rem;padding-block:.45rem}
  .public-top .menu-toggle{display:inline-flex;padding:0;width:44px}
  .public-top nav{grid-column:1/-1;grid-row:2;flex-direction:column;gap:0;padding:0;overflow:visible}
  .public-top nav a{display:flex;align-items:center;min-height:44px;padding:.5rem 0;border-top:1px solid var(--line)}
  .footer-social{display:flex;gap:.55rem}
  .site-footer:has(.footer-social) .footer-row{align-items:center;text-align:center}
}
/* O reflexo acompanha o ponteiro, que continua visível. */
.halo,.halo.over{border:0;box-shadow:none;background:radial-gradient(ellipse,#f67b9d24 0%,#a61b4920 38%,transparent 72%)}
.halo::before,.halo::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.halo::before{inset:0;border:1px solid transparent;border-top-color:#ffbbcf;border-right-color:#d8548380;transform:rotate(-32deg);filter:drop-shadow(0 0 5px #ea517c80);transition:transform .35s}
.halo::after{width:4px;height:4px;top:12%;right:15%;background:#ffe2ec;box-shadow:0 0 9px #ff8bad}
.halo.over::before{transform:rotate(24deg);border-bottom-color:#f1a0b655}
.halo.over::after{box-shadow:0 0 13px 2px #ff8bad}
@media(prefers-reduced-motion:reduce){.social-label{transition:none}}
.club-track{grid-auto-columns:82%;gap:2%;padding-inline:9%}
.club-track figure{scroll-snap-align:center;border-radius:.65rem;overflow:hidden}
.club-track:has(.is-active) figure{opacity:.55;transform:scale(.92);transition:opacity .35s,transform .35s}
.club-track:has(.is-active) .is-active{opacity:1;transform:none}
.club-carousel .carousel-controls{justify-content:center;flex-wrap:wrap;margin-top:.85rem}
.carousel-dots{display:flex;align-items:center;gap:.1rem}
.carousel-dots button{min-width:25px;width:25px;height:44px;padding:0;border:0;background:transparent;color:var(--soft);cursor:pointer}
.carousel-dots button::before{content:"";display:block;margin:auto;width:6px;height:6px;border-radius:9px;background:currentColor;transition:width .25s}
.carousel-dots button[aria-current="true"]{color:var(--rose)}
.carousel-dots button[aria-current="true"]::before{width:17px}
@media(prefers-reduced-motion:reduce){.club-track:has(.is-active) figure,.carousel-dots button::before{transition:none}}
@media(max-width:720px){
  .event{text-align:center}
  .event #flyer-link{justify-self:center}
  .event #events article{grid-template-columns:minmax(0,1fr);justify-items:center;row-gap:.65rem}
  .event #events .when{grid-row:auto;display:flex;align-items:baseline;justify-content:center;gap:.45rem}
  .event #events .when b{font-size:1.75rem}
  .event #events article p{margin-inline:auto}
  .event #events .thumb-link{grid-column:1}
}
.social-icon{overflow:visible}
.footer-social .social-label{top:auto;bottom:calc(100% + .4rem)}
#headline{max-width:min(100%,13.5ch)}#headline .w{overflow-wrap:normal;word-break:normal}
.admin-page .admin{max-width:72rem;padding-top:2rem}
.admin-page .admin h1{font-family:inherit;font-size:clamp(1.8rem,5vw,2.6rem);letter-spacing:-.025em}
.admin-layout{display:grid;grid-template-columns:minmax(11rem,14rem) minmax(0,1fr);gap:clamp(1rem,4vw,3rem);align-items:start;margin-top:1.6rem}
.admin-page .admin-nav{display:grid;gap:.35rem;margin:0}
.admin-page .admin-nav a{display:flex;align-items:center;min-height:44px;padding:.5rem .8rem;border:1px solid transparent;border-radius:.5rem}
.admin-page .admin-nav [aria-current]{background:var(--panel);border-color:var(--line);color:var(--rose)}
.admin-content{min-width:0}
.admin-page fieldset{min-width:0;margin:0;padding:clamp(1rem,3vw,1.6rem);border-radius:.75rem}
.admin-page legend{font-size:1.15rem;font-weight:700}
.admin-page fieldset>p{margin-top:0}
.section-actions{display:flex;align-items:center;gap:.7rem 1rem;flex-wrap:wrap;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line)}
.section-actions p{flex-basis:100%;margin:0}
.section-actions p:empty{display:none}
@media(max-width:720px){.admin-layout{grid-template-columns:1fr}.admin-page .admin-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-page .admin-nav a{overflow-wrap:anywhere}}
@media(max-width:720px){
  .hero-copy{text-align:center;justify-items:center}
  .hero-copy p{margin-inline:auto}
  #headline{max-width:100%;font-size:clamp(1.9rem,8.5vw,3.45rem);overflow-wrap:normal;word-break:normal;text-wrap:balance}
  .hero-foot{align-items:center;text-align:center;padding-right:0}
}
/* Taça que acompanha o ponteiro, com reflexo no vidro. */
.halo,.halo.over{width:2.5rem;height:2.5rem;margin:.15rem 0 0 .45rem;background:none}
.halo::before{inset:0;border:0;border-radius:0;background:center/29px no-repeat url("/assets/taca-cursor.svg");transform:rotate(-8deg);filter:drop-shadow(0 0 5px #ff6790a0)}
.halo::after{
  content:"";position:absolute;z-index:-1;inset:auto;top:-.15rem;left:-.45rem;right:auto;bottom:auto;
  width:17rem;height:17rem;transform:translate(-50%,-50%);border-radius:50%;box-shadow:none;
  background:radial-gradient(circle,#ff709c3d,#a8275626 32%,transparent 68%);
}
.halo.over::after{box-shadow:none;background:radial-gradient(circle,#ff92b249,#a8275628 35%,transparent 68%)}
.halo.over::before{transform:rotate(13deg) scale(1.12)}

.guest form{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:.75rem;padding:clamp(1rem,3vw,2rem)}
.guest-actions{display:flex;flex-wrap:wrap;gap:.65rem}
#guest-preview{margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:.5rem}
#guest-preview h4{margin:0 0 .5rem}
#guest-preview p,#entries p{white-space:pre-wrap;overflow-wrap:anywhere}
#guest-email-help{font-size:.85rem;margin:-.35rem 0 1rem}

@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  body:has(.halo),body:has(.halo) :is(a,button,summary,[role="button"],label){
    cursor:url("/assets/taca-cursor.svg") 3 3,auto;
  }
  body:has(.halo) :is(input:not([type="checkbox"],[type="radio"],[type="button"],[type="submit"]),textarea,[contenteditable]){cursor:text}
  body:has(.halo) :is(dialog,dialog *){cursor:revert}
  .halo::before{content:none}
}

.photo-editor{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:.4rem .9rem;align-items:start}
.photo-editor-thumb{grid-row:span 2;aspect-ratio:4/3;background:var(--ink);border-radius:.4rem;overflow:hidden}
.photo-editor-thumb .thumb{width:100%;height:100%;object-fit:cover;margin:0}
.photo-editor-title{display:flex;gap:.5rem 1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;overflow-wrap:anywhere}
.photo-editor details{grid-column:2;min-width:0}
.photo-editor details[open]{grid-column:1/-1}
.photo-editor summary{cursor:pointer;color:var(--rose);margin-bottom:.5rem}

.event { grid-template-columns:minmax(0,1fr); }
#events .event-week { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem; }
#events .event-week + .event-week { margin-top:1.5rem; }
.event #events article { display:flex;align-items:start;gap:clamp(.8rem,2vw,1.5rem);min-width:0;padding:1.2rem 0; }
#events article > div { min-width:0; }
#events .tag { display:block;line-height:1.5;letter-spacing:.08em; }
#events h3 { font-size:clamp(1.45rem,2.5vw,2.2rem);line-height:1.1;margin:.25rem 0 .55rem; }
.event-poster-button { flex:0 0 min(32%,9rem);min-width:0;padding:0;border:1px solid var(--line);background:transparent;cursor:zoom-in; }
.event #events .event-poster-button img { display:block;width:100%;max-width:none;height:auto; }
#event-poster { padding:0;border:1px solid var(--line);background:#110d10;color:#fff;max-width:calc(100vw - 2rem);max-height:calc(100dvh - 2rem);overflow:visible; }
#event-poster::backdrop { background:#070407e8; }
#event-poster img { display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 2rem);object-fit:contain; }
#event-poster button { position:absolute;top:.4rem;right:.4rem;border:1px solid #fff8;border-radius:50%;width:2.65rem;height:2.65rem;color:white;background:#110d10e8;font-size:1.45rem;cursor:pointer; }
@media(max-width:720px) {
  #events .event-week { grid-template-columns:minmax(0,1fr); }
  .event #events article { flex-direction:column;align-items:center;text-align:center; }
  .event-poster-button { flex:none;width:min(55%,10rem); }
}

/* Luz de pista enquanto a marca estiver sob o ponteiro. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  body:has(header .brand:hover)::after {
    content:"";
    position:fixed;
    inset:0;
    z-index:30;
    pointer-events:none;
    background:
      radial-gradient(ellipse at 15% 22%,#e8306960,transparent 46%),
      radial-gradient(ellipse at 78% 62%,#7d32d44f,transparent 48%),
      radial-gradient(ellipse at 48% 105%,#bd183d49,transparent 52%);
    mix-blend-mode:screen;
    animation:club-lights 5s ease-in-out infinite alternate;
  }
  @keyframes club-lights {
    from { opacity:.58;transform:scale(1.08) translateX(-2%); }
    to { opacity:.92;transform:scale(1.2) translateX(4%); }
  }
}
/* Visualizador manual de Ambientes. */
.photo-viewer { box-sizing:border-box;width:min(calc(100% - 1rem),62rem);max-height:calc(100dvh - 1rem);padding:clamp(.55rem,2vw,1rem);border-radius:1rem; }
body:has(.photo-viewer[open]) { overflow:hidden; }
.photo-viewer .viewer-top { margin-bottom:.55rem; }
.viewer-tools { display:flex;gap:.45rem; }
.viewer-stage { position:relative;display:grid;place-items:center;height:clamp(6rem,calc(100dvh - 9rem),43rem);overflow:hidden;border-radius:.65rem;background:var(--ink); }
.photo-viewer .viewer-stage img { width:100%;height:100%;max-height:100%;min-height:0;object-fit:contain; }
.photo-viewer.is-zoomed img { transform:scale(1.18); }
.photo-viewer .button { display:grid;place-items:center;width:2.75rem;height:2.75rem;min-height:0;padding:0;border-radius:50%;background:var(--ink); }
.photo-viewer .button[hidden] { display:none; }
.photo-viewer .button:is(:hover,[aria-pressed="true"]) { background:var(--panel);border-color:var(--rose); }
.photo-viewer .button:focus-visible { outline:2px solid var(--rose);outline-offset:2px; }
.photo-viewer .button svg { width:1.25rem;height:1.25rem; }
.viewer-stage .button { position:absolute;top:50%;translate:0 -50%; }
#photo-prev { left:.45rem; }
#photo-next { right:.45rem; }
@media (prefers-reduced-motion:no-preference) {
  .photo-viewer .viewer-stage img { transition:transform .24s ease-out; }
}
#events.single-event .event-week { grid-template-columns:minmax(0,1fr); }
.event #events.single-event article { align-items:center;gap:clamp(1rem,4vw,3rem); }
#events.single-event .event-poster-button { flex-basis:min(35%,16rem); }
#events.single-event h3 { font-size:clamp(1.8rem,4vw,3.2rem); }
#events .event-details { margin-top:.55rem;padding-top:.5rem; }
#events .event-details summary { margin:0;color:var(--rose); }
#events .event-details p { margin-top:.45rem;white-space:pre-line; }
@media(max-width:720px) { #events.single-event .event-poster-button { flex-basis:auto;width:min(64%,13rem); } }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  body:has(header .brand:hover)::after {
    background:
      conic-gradient(from 105deg at 12% 0%,transparent 0deg,#fd427a68 10deg,#fd427a22 22deg,transparent 34deg),
      conic-gradient(from 205deg at 88% 0%,transparent 0deg,#9861ff70 12deg,#9861ff20 25deg,transparent 38deg),
      radial-gradient(ellipse at 50% 85%,#dc236036,transparent 60%);
    transform-origin:50% 0;
    animation:club-sweep 4.6s ease-in-out infinite alternate;
  }
  @keyframes club-sweep {
    0% { opacity:.42;transform:scale(1.2) rotate(-15deg); }
    32% { opacity:.85; }
    55% { opacity:.53; }
    78% { opacity:.92; }
    100% { opacity:.64;transform:scale(1.2) rotate(15deg); }
  }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  body:has(header .brand:hover)::after {
    animation-duration:2.3s;
    background:
      radial-gradient(circle at 23% 40%,#ff9dc780 0 2px,transparent 5px),
      radial-gradient(circle at 68% 55%,#cbaaff90 0 3px,transparent 7px),
      radial-gradient(circle at 83% 27%,#ffccdd90 0 2px,transparent 5px),
      radial-gradient(circle at 41% 72%,#ff74a980 0 3px,transparent 6px),
      conic-gradient(from 105deg at 12% 0%,transparent,#fd427a85 10deg,#fd427a25 22deg,transparent 34deg),
      conic-gradient(from 205deg at 88% 0%,transparent,#9861ff90 12deg,#9861ff25 25deg,transparent 38deg);
  }
  body:has(header .brand:hover)::before {
    content:"";
    position:fixed;
    z-index:31;
    top:clamp(6rem,17vh,10rem);
    left:calc(50% - 1.75rem);
    width:3.5rem;
    aspect-ratio:1;
    border-radius:50%;
    pointer-events:none;
    background:
      radial-gradient(circle at 29% 24%,#fff9,transparent 36%,#150b22c9 85%),
      repeating-linear-gradient(0deg,transparent 0 5px,#110d1090 5px 6px),
      repeating-linear-gradient(90deg,#e5c7e9 0 3px,#a075b6 3px 6px,#372242 6px 7px);
    box-shadow:0 0 1.6rem #f397ad70;
    animation:club-mirror 1.9s ease-in-out infinite alternate;
  }
  @keyframes club-mirror {
    from { transform:rotate(-14deg);background-position:0 0,0 0,0 0; }
    to { transform:rotate(14deg);background-position:0 0,0 0,21px 0; }
  }
}
#event-poster .poster-scroll { max-height:calc(100dvh - 2rem);overflow:auto; }
#event-poster #poster-zoom { right:3.45rem;display:grid;place-items:center; }
#event-poster #poster-zoom[aria-pressed="true"] { background:var(--rose);color:var(--ink); }
#event-poster.is-zoomed { width:min(calc(100vw - 2rem),56rem); }
#event-poster.is-zoomed img { width:100%;min-width:32rem;max-width:none;max-height:none; }
#event-poster button:focus-visible { outline:2px solid var(--rose);outline-offset:2px; }
#livro { padding-block:clamp(2rem,5vw,4rem); }
#livro h1 { font-size:clamp(2.6rem,7vw,5.4rem); }
#livro h2 { font-size:clamp(1.55rem,3vw,2.4rem);margin-top:1.6rem; }
#entries time { display:block;color:var(--soft);font-size:.82rem;margin:.2rem 0 .55rem; }
#entries article p { white-space:pre-line; }
#guest-more[hidden] { display:none; }
#livro.guest { display:block;width:min(calc(100% - 2rem),48rem); }
#livro.guest > div { text-align:center; }
#livro.guest > div > p { margin-inline:auto; }
#guest-open { margin:.7rem 0 1rem; }
#entries article { text-align:start;background:var(--panel);border:1px solid var(--line);border-radius:.75rem;padding:clamp(.9rem,3vw,1.4rem); }
#entries article p { text-align:justify;hyphens:auto; }
#guest-dialog { width:min(calc(100% - 1.5rem),36rem);max-height:calc(100dvh - 1.5rem);box-sizing:border-box;padding:clamp(.85rem,3vw,1.6rem);border:1px solid var(--line);border-radius:1rem;background:var(--ink);color:var(--paper); }
#guest-dialog::backdrop { background:#080609e8; }
body:has(#guest-dialog[open]) { overflow:hidden; }
.guest-dialog-head { display:flex;align-items:center;justify-content:space-between;gap:1rem; }
#livro .guest-dialog-head h2 { margin:0; }
#guest-close { flex:none;min-width:2.75rem;padding:.4rem .65rem; }
#livro.guest { padding-block:clamp(1.6rem,4vw,3.25rem); }
#livro #guest-title { max-width:none;white-space:nowrap;font-size:clamp(1.7rem,7.6vw,4.75rem);line-height:1.1;margin:0 auto .85rem; }
#livro.guest h2 { margin-bottom:.7rem; }
#livro #entries article { margin:0;padding:.85rem clamp(.65rem,2.3vw,1.2rem);border:0;border-top:1px solid var(--line);border-radius:0;background:transparent; }
#livro #entries article:nth-child(even) { background:#20151c88; }
#livro #entries article strong { color:var(--paper);overflow-wrap:anywhere; }
#livro #entries article time { display:inline-block;margin:0 0 .35rem .7rem; }
#livro #entries article p { max-width:none;text-align:start;line-height:1.55; }
.guest-top { position:fixed;z-index:20;left:max(.75rem,env(safe-area-inset-left));bottom:max(.85rem,env(safe-area-inset-bottom));display:grid;place-items:center;width:3rem;height:3rem;border:1px solid var(--line);border-radius:50%;background:var(--ink);color:var(--paper); }
.guest-top[hidden] { display:none; }
.guest-top:is(:hover,:focus-visible) { border-color:var(--rose);color:var(--rose); }
body:has(.guest-top) .wa-float { right:max(.75rem,env(safe-area-inset-right));bottom:max(.85rem,env(safe-area-inset-bottom)); }
@media(max-width:720px) {
  body:has(.guest-top) .wa-float { width:3rem;height:3rem; }
  body:has(.guest-top) .site-footer { padding-bottom:4rem; }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  body:has(header .brand:hover)::before { content:none; }
  body:has(header .brand:hover)::after {
    background:
      radial-gradient(circle at 8% 34%,#f789bb 0 2px,#ea519364 4px,transparent 12px),
      radial-gradient(circle at 15% 62%,#e2a8ff 0 2px,#a34bdb70 5px,transparent 14px),
      radial-gradient(circle at 24% 81%,#ffc5da 0 1px,#fa579666 4px,transparent 10px),
      radial-gradient(circle at 85% 30%,#d9baff 0 2px,#9a62ee60 5px,transparent 15px),
      radial-gradient(circle at 94% 57%,#ffc0da 0 2px,#fd518c65 4px,transparent 11px),
      radial-gradient(circle at 78% 86%,#c3a7ff 0 2px,#8d56e975 5px,transparent 13px),
      linear-gradient(90deg,#d02d6a38,transparent 32% 68%,#8b43dc3d);
    transform-origin:center;
    animation:club-edge-reflections 2.7s ease-in-out infinite alternate;
  }
  @keyframes club-edge-reflections {
    0% { opacity:.28;transform:scale(1.06) rotate(-6deg); }
    35% { opacity:.92; }
    62% { opacity:.38; }
    82% { opacity:.8; }
    100% { opacity:.54;transform:scale(1.12) rotate(7deg); }
  }
}
#visita details p { max-width:94ch; }
#visita { scroll-margin-top:2rem; }
#livro.guest { width:min(calc(100% - 2rem),56rem); }
@media(min-width:721px) {
  #visita details p { text-align:justify;hyphens:auto; }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  body:has(header .brand:hover)::after { content:none; }
  body:has(.public-top .brand:hover) .hero { isolation:isolate;overflow:hidden; }
  body:has(.public-top .brand:hover) .hero .glow {
    position:absolute;inset:0;z-index:1;opacity:1;pointer-events:none;
    background:
      radial-gradient(circle at 18% 22%,#ffc9e9 0 2px,#ee528f88 4px,transparent 12px),
      radial-gradient(circle at 12% 58%,#f3a6df 0 2px,transparent 8px),
      radial-gradient(circle at 25% 74%,#bd8aff 0 2px,transparent 11px),
      radial-gradient(circle at 86% 28%,#dbafff 0 3px,transparent 14px),
      radial-gradient(circle at 79% 67%,#fc80ab 0 2px,transparent 10px),
      radial-gradient(circle at 92% 79%,#bd99ff 0 2px,transparent 12px),
      conic-gradient(from 112deg at 4% 5%,transparent,#df346d65 12deg,transparent 26deg),
      conic-gradient(from 204deg at 96% 8%,transparent,#a163f875 14deg,transparent 30deg);
    mix-blend-mode:screen;
    animation:club-edge-reflections 1.9s ease-in-out infinite alternate;
  }
}
.admin-page .admin-layout { grid-template-columns:minmax(0,1fr);gap:1rem; }
.admin-page .admin-nav { display:flex;flex-wrap:wrap;gap:.4rem;padding-bottom:.65rem;border-bottom:1px solid var(--line); }
.admin-page .admin-nav [aria-current] { border-color:transparent;background:#39232e; }
.admin-page .admin-exit { display:inline-flex;align-items:center;gap:.45rem;border-radius:2rem; }
.admin-page #editor :is(input:not([type="checkbox"]),textarea):focus { outline:none;background:#2d1d28; }
.admin-page #editor :is(input,textarea):focus::placeholder { color:var(--rose); }
.admin-field { position:relative;min-width:0; }
.admin-field:has(.admin-help) > label { padding-inline-end:2.4rem; }
.admin-help { margin-top:.25rem; }
.admin-help summary { position:absolute;right:0;top:0;display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;background:#39232e;color:var(--paper);cursor:pointer;list-style:none; }
.admin-help summary::-webkit-details-marker { display:none; }
.admin-help p { margin:.25rem 0 .75rem;font-size:.9rem; }
#agenda-admin > div:first-of-type > .button { margin-block:.5rem; }
#contato #contacts { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1.25rem;width:min(100%,42rem); }
#contacts a { display:flex;align-items:center;gap:.75rem;text-align:start;padding:.75rem .3rem;border-bottom:1px solid var(--line);min-width:0; }
#contacts a > span:last-child { min-width:0;overflow-wrap:anywhere; }
#contacts a strong { display:block;color:var(--paper);font-size:.88rem; }
#contacts .contact-icon { flex:none;display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:#39232e; }
#contacts svg { width:1.2rem;height:1.2rem; }
#contato .wa-button { border-radius:2rem; }
@media(max-width:620px) { #contato #contacts { grid-template-columns:minmax(0,1fr);max-width:27rem; } }
#event-poster button[aria-label="Fechar cartaz"] { background:#a61130;border-color:#f397ad;color:#fff;line-height:1; }
#event-poster button[aria-label="Fechar cartaz"]:hover { background:#c71940; }
#event-poster #poster-zoom { top:auto;bottom:.4rem;right:.4rem; }
#contato #contacts { margin-inline:auto;width:min(100%,48rem); }
.ticker-group { display:flex;min-width:100vw;justify-content:space-around; }
.ticker[hidden] { display:none; }
@media(max-width:620px) { #contato #contacts { width:min(100%,27rem); } }
@media(prefers-reduced-motion:reduce) {
  .ticker-group { min-width:0;flex-wrap:wrap;justify-content:center; }
  .ticker-group + .ticker-group { display:none; }
  .ticker-group span:nth-child(n+6) { display:inline; }
}
/* Correção de exibição nas fotos originais, sem reconstruir detalhes. */
:is(.photo-grid,.photo-viewer) img:is([src*="/ambiente-1.jpg?v=original"],[src*="/ambiente-3.jpg?v=original"]) { filter:brightness(.96) contrast(.93) saturate(.88); }
:is(.photo-grid,.photo-viewer) img[src*="/ambiente-2.jpg?v=original"] { filter:brightness(1.14) contrast(.94) saturate(.68); }
:is(.photo-grid,.photo-viewer) img:is([src*="/ambiente-19.jpg?v=original"],[src*="/ambiente-20.jpg?v=original"]) { filter:brightness(1.08) contrast(.94) saturate(.60); }
/* Compacta a abertura sem aproximar o título do menu fixo. */
.hero { min-height:clamp(28rem,67svh,39rem);align-items:center; }
.hero-copy { padding-block:clamp(2rem,6svh,3.5rem) clamp(4.25rem,8svh,5rem); }
#clube,#bar,#noites,#visita,#contato { padding-block:clamp(2.75rem,5.6vw,5rem); }
@media(max-width:720px) {
  .hero { min-height:clamp(27rem,64svh,34rem); }
  .hero-copy { padding-block:2rem 5.5rem; }
}
#drinks { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.65rem 1.1rem;list-style:none;margin:0 0 1.1rem;padding:0; }
#drinks[hidden] { display:none; }
#drinks li { min-width:0;border-top:1px solid var(--line);padding:.7rem 0;overflow-wrap:anywhere; }
#drinks li span { display:block;color:var(--soft);font-size:.92rem;white-space:pre-line;margin-top:.25rem; }
:is(.photo-grid,.photo-viewer) img[src$="-revisado.jpg"] { filter:none; }
:is(.photo-grid,.photo-viewer) img[src$="/ambiente-2-revisado.jpg"] { filter:brightness(1.22) contrast(.90) saturate(.34); }
.club-track { grid-auto-columns:72%;padding-inline:14%;gap:1%; }
.club-track figure a { display:block;cursor:zoom-in; }
.club-track figure a:focus-visible { outline:2px solid var(--rose);outline-offset:-4px; }
.club-track figcaption { pointer-events:none; }
@media(max-width:620px) { .club-track { grid-auto-columns:84%;padding-inline:8%; } }