

/* =========================================
RESET
========================================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

:root{

--bg:#050505;
--soft:#0d0d0d;
--card:#121212;

--white:#f5f5f5;
--gray:#9ca3af;

--red:#ff1744;
--blue:#00c2ff;

--line:rgba(255,255,255,.08);

}

body{
font-family:'Inter',sans-serif;
background:var(--bg);
color:var(--white);
overflow-x:hidden;
cursor:none;
}

img{
max-width:100%;
display:block;
}

a{
text-decoration:none;
color:inherit;
}

.container{
width:90%;
max-width:1380px;
margin:auto;
}

/* =========================================
CURSOR LASER
========================================= */

.cursor{
position:fixed;
width:18px;
height:18px;
border-radius:50%;
pointer-events:none;
z-index:999999;

background:
radial-gradient(circle,
rgba(255,255,255,1),
rgba(255,23,68,.9),
rgba(255,23,68,.1));

box-shadow:
0 0 10px rgba(255,255,255,.9),
0 0 25px rgba(255,23,68,.8),
0 0 50px rgba(255,23,68,.4);

transform:translate(-50%,-50%);
mix-blend-mode:screen;
}

.cursor-trail{
position:fixed;
width:12px;
height:12px;
border-radius:50%;
pointer-events:none;
z-index:999998;

background:
radial-gradient(circle,
rgba(0,194,255,.9),
rgba(255,23,68,.08));

animation:trailFade .8s linear forwards;
}

@keyframes trailFade{

0%{
opacity:1;
transform:scale(1);
}

100%{
opacity:0;
transform:scale(.1);
}

}

.mouse-light{
position:fixed;
width:260px;
height:260px;
border-radius:50%;
pointer-events:none;
z-index:9990;

background:
radial-gradient(circle,
rgba(255,23,68,.14),
rgba(0,194,255,.10),
transparent 70%);

mix-blend-mode:screen;

transform:translate(-50%,-50%);
filter:blur(20px);
}

/* =========================================
HEADER
========================================= */

header{
position:fixed;
top:0;
left:0;
width:100%;
z-index:9999;

background:rgba(5,5,5,.82);
backdrop-filter:blur(18px);

border-bottom:1px solid var(--line);

transition:.4s;
}

header.scrolled{

background:rgba(5,5,5,.92);

box-shadow:
0 0 20px rgba(255,23,68,.12),
0 0 40px rgba(0,194,255,.08);

}

nav{
height:92px;
display:flex;
align-items:center;
justify-content:space-between;
}

.logo{
width:auto;
max-width:120px;
height:auto;
max-height:64px;
object-fit:contain;
transition:.4s;
opacity:.95;
}

nav > a{
display:flex;
align-items:center;
height:100%;
flex-shrink:0;
overflow:hidden;
}

.logo:hover{
transform:scale(1.03);
opacity:1;
}

.menu{
display:flex;
align-items:center;
gap:42px;
}

.menu a{
font-size:12px;
font-weight:600;
letter-spacing:2px;
text-transform:uppercase;
color:#d1d5db;
position:relative;
transition:.3s;
}

.menu a::after{
content:'';
position:absolute;
left:0;
bottom:-10px;
width:0%;
height:1px;
background:#fff;
transition:.3s;
}

.menu a:hover{
color:#fff;

text-shadow:
0 0 10px rgba(255,255,255,.3),
0 0 20px rgba(255,23,68,.2);

}

.menu a:hover::after{
width:100%;
}

.reserve-btn{
padding:15px 28px;
border-radius:100px;
border:1px solid rgba(255,255,255,.15);
transition:.4s;
}

.reserve-btn:hover{
background:#fff;
color:#000;

box-shadow:
0 0 20px rgba(255,255,255,.2),
0 0 40px rgba(255,23,68,.2);

}

/* =========================================
HAMBURGER
========================================= */

.hamburger{
display:none;
width:34px;
height:24px;
flex-direction:column;
justify-content:space-between;
cursor:pointer;
z-index:1001;
}

.hamburger span{
height:2px;
width:100%;
background:#fff;
transition:.3s;
}

.hamburger.active span:nth-child(1){
transform:translateY(11px) rotate(45deg);
}

.hamburger.active span:nth-child(2){
opacity:0;
}

.hamburger.active span:nth-child(3){
transform:translateY(-11px) rotate(-45deg);
}

/* =========================================
HERO
========================================= */

.hero{
min-height:100vh;
position:relative;
display:flex;
align-items:flex-end;
padding-bottom:120px;
overflow:hidden;
}

.hero::before{
content:'';
position:absolute;
inset:0;

background:
linear-gradient(
to top,
rgba(0,0,0,.96),
rgba(0,0,0,.65),
rgba(0,0,0,.25)
),

url('https://paulocarvalhopro.com.br/seven/wp-content/uploads/2026/05/WhatsApp-Image-2026-05-18-at-13.59.22.jpeg')
center/cover no-repeat;
}

.hero::after{
content:'';
position:absolute;
inset:0;

background:
linear-gradient(
120deg,
rgba(255,23,68,.18),
transparent 40%,
rgba(0,194,255,.12)
);
}

/* HERO LASERS */

.hero-laser{
position:absolute;
top:-20%;
width:2px;
height:140%;
opacity:.3;

background:
linear-gradient(
transparent,
rgba(255,23,68,.9),
rgba(0,194,255,.9),
transparent
);

filter:blur(1px);

animation:laserMove linear infinite;
}

.hero-laser:nth-child(1){
left:15%;
animation-duration:8s;
}

.hero-laser:nth-child(2){
left:50%;
animation-duration:12s;
}

.hero-laser:nth-child(3){
left:82%;
animation-duration:6s;
}

@keyframes laserMove{

0%{
transform:
translateX(-400px)
rotate(18deg);
}

100%{
transform:
translateX(400px)
rotate(18deg);
}

}

.hero-content{
position:relative;
z-index:2;
max-width:760px;

animation:heroFloat 6s ease-in-out infinite alternate;
}

@keyframes heroFloat{

0%{
transform:translateY(0px);
}

100%{
transform:translateY(-10px);
}

}

.hero-label{
font-size:12px;
letter-spacing:4px;
text-transform:uppercase;
color:#d1d5db;
margin-bottom:26px;
}

.hero h1{
font-size:98px;
line-height:.9;
font-weight:800;
letter-spacing:-4px;
margin-bottom:34px;

text-shadow:
0 0 12px rgba(255,255,255,.08),
0 0 40px rgba(255,23,68,.15);
}

.hero p{
font-size:18px;
line-height:1.9;
color:#d1d5db;
max-width:620px;
margin-bottom:44px;
}

/* =========================================
BUTTONS
========================================= */

.buttons{
display:flex;
gap:18px;
flex-wrap:wrap;
}

.btn{
padding:18px 34px;
border-radius:100px;
font-size:12px;
font-weight:700;
letter-spacing:2px;
text-transform:uppercase;
transition:.4s;
position:relative;
overflow:hidden;
}

.btn::before{
content:'';
position:absolute;
top:0;
left:-120%;
width:100%;
height:100%;

background:
linear-gradient(
90deg,
transparent,
rgba(255,255,255,.4),
transparent
);

transition:.8s;
}

.btn:hover::before{
left:120%;
}

.btn-primary{
background:#fff;
color:#000;

box-shadow:
0 0 20px rgba(255,255,255,.08),
0 0 30px rgba(255,23,68,.15);
}

.btn-primary:hover{

transform:
translateY(-4px)
scale(1.02);

box-shadow:
0 0 20px rgba(255,255,255,.2),
0 0 50px rgba(255,23,68,.3),
0 0 90px rgba(0,194,255,.15);

}

.btn-outline{
border:1px solid rgba(255,255,255,.15);
}

.btn-outline:hover{
background:#fff;
color:#000;
}

/* =========================================
SECTIONS
========================================= */

section{
padding:140px 0;
}

.section-header{
margin-bottom:80px;
}

.section-label{
font-size:12px;
letter-spacing:4px;
text-transform:uppercase;
color:#9ca3af;
margin-bottom:18px;
}

.section-title{
font-size:64px;
line-height:1;
font-weight:800;
letter-spacing:-2px;
margin-bottom:24px;

text-shadow:
0 0 12px rgba(255,255,255,.06),
0 0 30px rgba(255,23,68,.10);
}

.section-description{
max-width:760px;
font-size:17px;
line-height:1.9;
color:#c8c8c8;
}

/* =========================================
ABOUT
========================================= */

.about{
display:grid;
grid-template-columns:1fr 1fr;
gap:70px;
align-items:center;
}

.about-image{
height:760px;
overflow:hidden;
border-radius:30px;
position:relative;
transition:1s;
}

.about-image img{
width:100%;
height:100%;
object-fit:cover;
transition:1s;
}

.about-image:hover img{
transform:scale(1.05);
}

.about-text h3{
font-size:56px;
line-height:1.05;
font-weight:800;
letter-spacing:-2px;
margin-bottom:34px;
}

.about-text p{
font-size:17px;
line-height:2;
color:#c8c8c8;
margin-bottom:28px;
}

.about-points{
display:flex;
flex-direction:column;
gap:18px;
margin-top:40px;
}

.about-points div{
padding-bottom:18px;
border-bottom:1px solid var(--line);

font-size:13px;
letter-spacing:2px;
text-transform:uppercase;
color:#d1d5db;
}

/* =========================================
GALLERY
========================================= */

.gallery-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
}

.gallery-item{
position:relative;
height:640px;
overflow:hidden;
border-radius:28px;
background:#111;
transition:1s;
}

.gallery-item img{
width:100%;
height:100%;
object-fit:cover;
transition:1s;
}

.gallery-item:hover{

transform:
translateY(-12px)
scale(1.015);

box-shadow:
0 0 20px rgba(255,23,68,.18),
0 0 60px rgba(0,194,255,.10),
0 20px 80px rgba(0,0,0,.65);

}

.gallery-item:hover img{
transform:scale(1.05);
}

.gallery-overlay{
position:absolute;
inset:0;

padding:40px;

display:flex;
flex-direction:column;
justify-content:flex-end;

background:
linear-gradient(
to top,
rgba(0,0,0,.92),
rgba(0,0,0,.15)
);
}

.gallery-overlay h3{
font-size:30px;
margin-bottom:12px;
}

.gallery-overlay p{
line-height:1.8;
color:#d1d5db;
}

/* NEON BORDER */

.gallery-item::before,
.about-image::before{

content:'';
position:absolute;
inset:-1px;
border-radius:inherit;
padding:1px;

background:
linear-gradient(
130deg,
rgba(255,23,68,.8),
rgba(0,194,255,.4),
rgba(255,23,68,.8)
);

-webkit-mask:
linear-gradient(#fff 0 0) content-box,
linear-gradient(#fff 0 0);

-webkit-mask-composite:xor;
mask-composite:exclude;

opacity:.35;
transition:.5s;
pointer-events:none;
}

.gallery-item:hover::before,
.about-image:hover::before{
opacity:1;
}

/* REFLEXO */

.gallery-item::after{

content:'';
position:absolute;
top:-120%;
left:-40%;
width:80%;
height:240%;

background:
linear-gradient(
to right,
transparent,
rgba(255,255,255,.15),
transparent
);

transform:rotate(24deg);
transition:1s;
pointer-events:none;
}

.gallery-item:hover::after{
left:150%;
}


/* =========================================
PROGRAMAÇÃO / FESTAS
========================================= */

.choice-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:26px;
margin-top:54px;
}

.choice-card{
padding:44px;
border-radius:30px;
background:
linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
border:1px solid var(--line);
position:relative;
overflow:hidden;
transition:.7s cubic-bezier(.16,1,.3,1);
}

.choice-card::before{
content:'';
position:absolute;
inset:0;
background:
radial-gradient(circle at top left,rgba(255,23,68,.22),transparent 38%),
radial-gradient(circle at bottom right,rgba(0,194,255,.16),transparent 42%);
opacity:.8;
pointer-events:none;
}

.choice-card:hover{
transform:translateY(-10px);
box-shadow:
0 0 25px rgba(255,23,68,.18),
0 0 70px rgba(0,194,255,.10);
}

.choice-card h3{
font-size:34px;
margin-bottom:16px;
position:relative;
}

.choice-card p{
color:#c8c8c8;
line-height:1.8;
margin-bottom:28px;
position:relative;
}

.week-grid{
display:grid;
grid-template-columns:repeat(7,1fr);
gap:16px;
align-items:stretch;
}

.day-card{
background:var(--card);
border:1px solid var(--line);
border-radius:24px;
overflow:hidden;
transition:.5s;
position:relative;
display:flex;
flex-direction:column;
padding:0;
min-height:auto;
height:100%;
}

.day-card:hover{
transform:translateY(-8px);
border-color:rgba(255,255,255,.22);
box-shadow:0 0 35px rgba(255,23,68,.14);
}

.day-card img{
width:100%;
height:320px;
object-fit:cover;
display:block;
flex-shrink:0;
transition:1s;
}

.day-card:hover img{
transform:scale(1.04);
}

.day-card-content{
padding:28px 22px 30px;
display:flex;
flex-direction:column;
flex:1;
}

.day-card span{
display:block;
font-size:11px;
letter-spacing:3px;
text-transform:uppercase;
color:var(--gray);
margin-bottom:16px;
}

.day-card h3{
font-size:22px;
margin-bottom:12px;
line-height:1.1;
}

.day-card p{
color:#c8c8c8;
font-size:14px;
line-height:1.7;
}


.party-calendar{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
}

.party-card{
background:var(--card);
border:1px solid var(--line);
border-radius:28px;
padding:34px;
transition:.7s;
position:relative;
overflow:hidden;
}

.party-card:hover{
transform:translateY(-10px);
box-shadow:
0 0 25px rgba(255,23,68,.18),
0 0 70px rgba(0,194,255,.10);
}

.party-date{
width:76px;
height:76px;
border-radius:22px;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
background:#fff;
color:#000;
font-weight:800;
margin-bottom:28px;
}

.party-date strong{
font-size:28px;
line-height:1;
}

.party-date small{
font-size:11px;
letter-spacing:2px;
text-transform:uppercase;
}

.party-card h3{
font-size:26px;
margin-bottom:14px;
}

.party-card p{
color:#c8c8c8;
line-height:1.8;
margin-bottom:28px;
}


.flyers-inside-programacao{
margin-top:90px;
padding-top:80px;
border-top:1px solid var(--line);
}

.flyers-inside-programacao .section-header{
margin-bottom:54px;
}

/* =========================================
POP-UP PROMOCIONAL
========================================= */

.promo-popup{
position:fixed;
inset:0;
z-index:100000;
background:rgba(0,0,0,.76);
backdrop-filter:blur(12px);
display:flex;
align-items:center;
justify-content:center;
padding:24px;
opacity:0;
pointer-events:none;
transition:.4s;
}

.promo-popup.active{
opacity:1;
pointer-events:auto;
}

.popup-box{
width:min(620px,100%);
background:
linear-gradient(145deg,rgba(18,18,18,.98),rgba(5,5,5,.98));
border:1px solid rgba(255,255,255,.12);
border-radius:34px;
padding:46px;
position:relative;
box-shadow:
0 0 40px rgba(255,23,68,.22),
0 0 90px rgba(0,194,255,.10);
overflow:hidden;
}

.popup-box::before{
content:'';
position:absolute;
inset:0;
background:
radial-gradient(circle at top left,rgba(255,23,68,.22),transparent 42%),
radial-gradient(circle at bottom right,rgba(0,194,255,.16),transparent 46%);
pointer-events:none;
}

.popup-close{
position:absolute;
top:22px;
right:24px;
width:38px;
height:38px;
border-radius:50%;
border:1px solid rgba(255,255,255,.16);
background:transparent;
color:#fff;
font-size:22px;
cursor:pointer;
z-index:2;
}

.popup-box small,
.popup-box h2,
.popup-box p,
.popup-box .buttons{
position:relative;
z-index:1;
}

.popup-box small{
display:block;
font-size:12px;
letter-spacing:4px;
text-transform:uppercase;
color:#9ca3af;
margin-bottom:18px;
}

.popup-box h2{
font-size:44px;
line-height:1;
letter-spacing:-1px;
margin-bottom:20px;
}

.popup-box p{
color:#d1d5db;
line-height:1.8;
margin-bottom:30px;
}

@media(max-width:1150px){

.week-grid,
.party-calendar{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:860px){

.choice-grid,
.week-grid,
.party-calendar{
grid-template-columns:1fr;
}

.popup-box{
padding:36px 26px;
}

.popup-box h2{
font-size:34px;
}

}


/* =========================================
EVENTS
========================================= */

.events-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
}

.event-card{
overflow:hidden;
border-radius:28px;
background:var(--card);
border:1px solid var(--line);
position:relative;
transition:1s;
}

.event-card img{
width:100%;
height:560px;
object-fit:cover;
transition:1s;
}

.event-card:hover{

transform:
translateY(-12px)
scale(1.015);

box-shadow:
0 0 20px rgba(255,23,68,.18),
0 0 60px rgba(0,194,255,.10),
0 20px 80px rgba(0,0,0,.65);

}

.event-card:hover img{
transform:scale(1.04);
}

.event-content{
padding:34px;
}

.event-content h3{
font-size:24px;
margin-bottom:14px;
}

.event-content p{
line-height:1.8;
color:#c8c8c8;
}

/* =========================================
VIDEOS
========================================= */

.video-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:30px;
}

.video{
border-radius:30px;
overflow:hidden;
transition:1s;
position:relative;
}

.video iframe{
width:100%;
height:620px;
border:none;
}

.video:hover{

transform:
translateY(-10px)
scale(1.01);

box-shadow:
0 0 20px rgba(255,23,68,.18),
0 0 60px rgba(0,194,255,.10),
0 20px 80px rgba(0,0,0,.65);

}

/* =========================================
QUOTE
========================================= */

.quote{
padding:240px 0;
position:relative;
overflow:hidden;
text-align:center;
}

.quote::before{
content:'';
position:absolute;
inset:0;

background:
linear-gradient(
rgba(0,0,0,.78),
rgba(0,0,0,.84)
),

url('https://paulocarvalhopro.com.br/seven/wp-content/uploads/2026/05/imgi_151_Seven-Cruising-Bar2-1.webp')
center/cover no-repeat;
}

.quote-content{
position:relative;
z-index:2;
max-width:940px;
margin:auto;
}

.quote h2{
font-size:78px;
line-height:1;
font-weight:800;
letter-spacing:-3px;
margin-bottom:30px;

text-shadow:
0 0 12px rgba(255,255,255,.06),
0 0 30px rgba(255,23,68,.10);
}

.quote p{
font-size:18px;
line-height:1.9;
color:#d1d5db;
}

/* =========================================
LOCATION
========================================= */

.location{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
align-items:stretch;
}

.location-card{
background:var(--card);
border:1px solid var(--line);

padding:60px;
border-radius:30px;

transition:1s;
}

.location-card:hover{

transform:
translateY(-10px)
scale(1.01);

box-shadow:
0 0 20px rgba(255,23,68,.18),
0 0 60px rgba(0,194,255,.10),
0 20px 80px rgba(0,0,0,.65);

}

.location-card h3{
font-size:38px;
margin-bottom:28px;
}

.location-card p{
line-height:2;
color:#c8c8c8;
margin-bottom:18px;
}

.map{
overflow:hidden;
border-radius:30px;
}

.map iframe{
width:100%;
height:100%;
min-height:520px;
border:none;
filter:grayscale(1);
}

/* =========================================
CTA
========================================= */

.cta{
text-align:center;
padding:180px 0;
border-top:1px solid var(--line);
}

.cta-logo{
width:150px;
margin:auto auto 40px;
}

.cta h2{
font-size:74px;
line-height:1;
font-weight:800;
letter-spacing:-3px;
margin-bottom:30px;
}

.cta p{
max-width:720px;
margin:auto;
font-size:18px;
line-height:1.9;
color:#c8c8c8;
margin-bottom:44px;
}

/* =========================================
FOOTER
========================================= */

footer{
padding:60px 0;
border-top:1px solid var(--line);
}

.footer-content{
display:flex;
justify-content:space-between;
align-items:center;
gap:30px;
flex-wrap:wrap;
}

.footer-left p{
margin-top:18px;
color:#9ca3af;
line-height:1.8;
}

.footer-links{
display:flex;
gap:30px;
flex-wrap:wrap;
}

.footer-links a{
color:#9ca3af;
transition:.3s;
}

.footer-links a:hover{
color:#fff;
}

/* =========================================
ANIMAÇÕES
========================================= */

.fade-up{
opacity:0;
transform:translateY(60px);
transition:1.2s cubic-bezier(.16,1,.3,1);
}

.fade-up.active{
opacity:1;
transform:translateY(0);
}

/* =========================================
SCROLLBAR
========================================= */

::-webkit-scrollbar{
width:10px;
}

::-webkit-scrollbar-track{
background:#050505;
}

::-webkit-scrollbar-thumb{

background:
linear-gradient(
180deg,
rgba(255,23,68,.8),
rgba(0,194,255,.7)
);

border-radius:999px;
}

/* =========================================
RESPONSIVO
========================================= */

@media(max-width:1150px){

.about,
.gallery-grid,
.events-grid,
.video-grid,
.location{
grid-template-columns:1fr;
}

.hero h1{
font-size:72px;
}

.section-title{
font-size:48px;
}

.quote h2{
font-size:54px;
}

.cta h2{
font-size:54px;
}

}

@media(max-width:860px){

nav{
height:82px;
}

.logo{
max-width:96px;
max-height:52px;
}

.menu{
top:82px;
height:calc(100vh - 82px);
}


    /* BOTÕES LADO A LADO NO MOBILE */

.buttons{
flex-wrap:nowrap;
}

.buttons .btn{
flex:1;
text-align:center;
padding:16px 14px;
font-size:11px;
letter-spacing:1px;
}

/* CARDS DA PROGRAMAÇÃO/FESTAS */

.choice-grid{
grid-template-columns:1fr 1fr;
gap:14px;
}

.choice-card{
padding:24px 18px;
}

.choice-card h3{
font-size:22px;
}

.choice-card p{
font-size:14px;
line-height:1.6;
}

/* BOTÕES DO POPUP */

.popup-box .buttons{
display:flex;
flex-direction:row;
gap:12px;
}

.popup-box .buttons .btn{
flex:1;
padding:15px 10px;
font-size:10px;
}

body{
cursor:auto;
}

.cursor,
.cursor-trail,
.mouse-light,
.hero-laser{
display:none;
}

.menu{
position:fixed;
top:82px;
left:0;

width:100%;
height:calc(100vh - 82px);

background:#090909;

flex-direction:column;
justify-content:center;
align-items:center;

transform:translateX(100%);
transition:.4s;
}

.menu.active{
transform:translateX(0);
}

.hamburger{
display:flex;
}

.hero{
padding-bottom:90px;
}

.hero h1{
font-size:54px;
letter-spacing:-2px;
}

.hero p{
font-size:16px;
}

.section-title{
font-size:40px;
}

.about-text h3{
font-size:40px;
}

.quote h2{
font-size:40px;
}

.cta h2{
font-size:40px;
}

.gallery-item{
height:500px;
}

.event-card img{
height:500px;
}

.video iframe{
height:420px;
}

.location-card{
padding:40px;
}

}
.flyers-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:24px;
}

.flyer-card{
background:var(--card);
border:1px solid var(--line);
border-radius:28px;
overflow:hidden;
transition:.7s;
position:relative;
}

.flyer-card img,
.flyer-card video{
width:100%;
height:520px;
object-fit:cover;
display:block;
transition:1s;
}

.flyer-card:hover{
transform:translateY(-10px) scale(1.015);
box-shadow:
0 0 25px rgba(255,23,68,.18),
0 0 70px rgba(0,194,255,.10),
0 20px 80px rgba(0,0,0,.65);
}

.flyer-card:hover img,
.flyer-card:hover video{
transform:scale(1.04);
}

@media(max-width:1150px){
.flyers-grid{
grid-template-columns:repeat(3,1fr);
}
}

@media(max-width:860px){
.flyers-grid{
grid-template-columns:1fr 1fr;
gap:14px;
}

.flyer-card img,
.flyer-card video{
height:340px;
}

.day-card img{
height:420px;
}
}


.popup-box{
width:min(520px,92vw);
max-height:92vh;
padding:18px;
overflow:hidden;
display:flex;
flex-direction:column;
align-items:center;
}

.popup-box img{
width:100%;
height:auto;
max-height:72vh;
object-fit:contain;
border-radius:22px;
margin-bottom:18px;
}

.popup-box .buttons{
width:100%;
flex-shrink:0;
}

@media(max-width:860px){
.popup-box{
width:94vw;
max-height:94vh;
padding:12px;
border-radius:24px;
}

.popup-box img{
max-height:76vh;
border-radius:18px;
margin-bottom:12px;
}

.popup-box .buttons .btn{
padding:12px 8px;
font-size:10px;
}
}

/* CORREÇÃO FINAL — IMAGENS DA PROGRAMAÇÃO SEMANAL */
@media(max-width:1150px){
.week-grid{
grid-template-columns:repeat(2,1fr);
}
}

@media(max-width:860px){
.week-grid{
grid-template-columns:1fr;
gap:18px;
}

.day-card img{
height:420px;
}
}




.floating-whatsapp{
position:fixed;
right:22px;
bottom:22px;
width:68px;
height:68px;
border-radius:50%;
background:#25D366;
display:flex;
align-items:center;
justify-content:center;
z-index:999999;

color:#fff;

box-shadow:
0 0 20px rgba(37,211,102,.45),
0 0 50px rgba(37,211,102,.25);

transition:.35s ease;
animation:whatsappPulse 2.5s infinite;
}

.floating-whatsapp svg{
width:34px;
height:34px;
}

.floating-whatsapp:hover{
transform:translateY(-6px) scale(1.06);

box-shadow:
0 0 25px rgba(37,211,102,.65),
0 0 70px rgba(37,211,102,.35);
}

@keyframes whatsappPulse{

0%{
transform:scale(1);
}

50%{
transform:scale(1.06);
}

100%{
transform:scale(1);
}

}

@media(max-width:860px){

.floating-whatsapp{
width:62px;
height:62px;
right:16px;
bottom:16px;
}

.floating-whatsapp svg{
width:30px;
height:30px;
}

}


body{cursor:auto} .fade-up{opacity:1;transform:none} [hidden]{display:none!important} .hero{padding-top:150px}.hero::before{background-image:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,.25)),var(--hero-image)}.quote::before{background-image:linear-gradient(rgba(0,0,0,.78),rgba(0,0,0,.84)),var(--quote-image)}.hero-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero:has(.hero-bg-video)::before{z-index:1;background-image:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,.15))}.hero::after{pointer-events:none}.gallery-item img,.day-card img,.flyer-card img,.party-card img{object-fit:contain!important;height:auto!important;max-height:640px}.video video,.video iframe{width:100%;aspect-ratio:16/9;height:auto;min-height:240px}.day-card a{display:block}.post-title{padding:18px}.reservation-dialog{color:#fff;background:#111;border:1px solid #555;border-radius:24px;width:min(560px,94vw);padding:32px;max-height:90dvh;overflow:auto}.reservation-dialog::backdrop{background:#000b;backdrop-filter:blur(7px)}.reservation-dialog h2{font-size:30px;margin-bottom:12px}.reservation-dialog form{display:grid;gap:14px}.reservation-dialog label{display:grid;gap:6px;text-align:left}.reservation-dialog input,.reservation-dialog textarea,.reservation-dialog select{width:100%;padding:12px;background:#222;color:#fff;border:1px solid #555;border-radius:8px;font:inherit}.reservation-dialog button{cursor:pointer}.reservation-dialog .popup-close{position:static;margin-left:auto;display:block}.reservation-dialog .btn{border:0}.reserve-status{line-height:1.5}.promo-popup{z-index:10000}.popup-box{overflow:auto}.hamburger{background:transparent;border:0}.sc-empty{color:#aaa;padding:24px}.admin-bar header{top:32px}@media(max-width:782px){.admin-bar header{top:46px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.sc-media{display:contents}.logo{max-width:120px;max-height:64px;object-fit:contain}.sc-standalone .sc-media:has(video){display:block}.gallery-item .sc-media video,.about-image .sc-media video{width:100%;height:100%;object-fit:contain}.hero .hero-content{position:relative;z-index:2}.sc-standalone dialog:modal{margin:auto}.reservation-dialog p{margin-bottom:14px}.sc-standalone .map .sc-media iframe{min-height:520px}
