/* Zipper Club: red metal / neon, golden zipper, desktop and touch effects. */
:root{--zc-red:#ff153c;--zc-metal:#8d001b;--zc-hot:#ff546d;--zc-gold:#dfb658;--blue:#c40025;--line:rgba(255,21,60,.18)}
.btn-primary,.reserve-btn,.party-date{background:linear-gradient(135deg,#650016 0%,var(--red,#ff153c) 42%,#ff6276 49%,#c90029 58%,#620013 100%);color:#fff;border:1px solid #ff6479;box-shadow:inset 0 1px 0 #ffffff55,0 5px 24px #ff153c28}
.btn-primary:hover,.btn-primary:focus-visible,.reserve-btn:hover,.btn-outline:hover,.reserve-btn:focus-visible,.btn-outline:focus-visible{background:linear-gradient(135deg,#90001c,#ff244d 45%,#ff6c80 50%,#c40025 65%,#7a0017);color:#fff;border-color:#ff6479;box-shadow:inset 0 1px 0 #ffffff66,0 0 18px #ff153c70,0 0 48px #ff153c33;transform:translateY(-3px) scale(1.015)}
.btn-outline{border-color:#ff153c66;background:#26000935;color:#ffe5ea}.btn:focus-visible,.reserve-btn:focus-visible,.floating-whatsapp:focus-visible{outline:2px solid #ff8a9c;outline-offset:4px}
.menu a:hover,.footer-links a:hover{color:#ff6079;text-shadow:0 0 15px #ff153c99}.menu a::after{background:#ff244d}.section-label,.hero-label{color:#ff758b}.hero h1,.section-title,.quote h2,.cta h2{text-shadow:0 0 35px #ff153c26}.hamburger span{background:#ff6b80;box-shadow:0 0 8px #ff153c50}
header.scrolled{box-shadow:0 0 25px #ff153c20}.popup-box,.reservation-dialog{border-color:#ff244d70;box-shadow:0 0 25px #ff153c25,0 22px 80px #0009;background:linear-gradient(145deg,#1f090eea,#090506fa)}.reservation-dialog input:focus,.reservation-dialog textarea:focus{outline:2px solid #ff274d;outline-offset:2px}.map iframe{filter:grayscale(.35) contrast(1.04)}.zc-map-route{display:block;text-align:center;padding:17px 14px;background:linear-gradient(120deg,#680016,#ed1740,#82001a);color:#fff;font-weight:600;font-size:13px;border-top:1px solid #ff758b55}.zc-map-route:hover{background:#fa244b;box-shadow:inset 0 0 30px #ff99aa35}
.floating-whatsapp{background:linear-gradient(140deg,#95001e,#ff244c);box-shadow:0 0 22px #ff153c66,0 0 50px #ff153c33}.floating-whatsapp:hover{box-shadow:0 0 30px #ff153c88,0 0 65px #ff153c44}
.choice-card,.day-card,.flyer-card,.party-card,.location-card{backdrop-filter:blur(12px);background-color:#160a0db8;border-color:#ff153c30}.gallery-item,.about-image,.choice-card,.day-card,.flyer-card,.party-card,.location-card,.video{transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s,border-color .5s;transform-style:preserve-3d}
.zc-tilt:hover,.zc-touch-active{border-color:#ff244d88!important;box-shadow:0 0 20px #ff153c30,0 0 48px #a0002020,0 20px 45px #0007!important;transform:perspective(1000px) rotateX(var(--zc-tilt-x,0deg)) rotateY(var(--zc-tilt-y,0deg)) translateY(-6px)}
.zc-magnetic{translate:var(--zc-magnet-x,0px) var(--zc-magnet-y,0px)}
.gallery-item,.about-image{--zc-parallax-y:0px}.gallery-item img,.about-image img{translate:0 var(--zc-parallax-y);scale:var(--zc-image-scale,1);transition:scale .8s,transform .8s;will-change:auto}.gallery-item:hover img,.about-image:hover img,.zc-touch-active img{--zc-image-scale:1.035}
.gallery-item::after,.zc-touch-active::after{background:linear-gradient(90deg,transparent,#fff0d930,transparent)}.gallery-item.zc-reflection::after{animation:zc-shine 1.3s ease both}@keyframes zc-shine{from{left:-80%}to{left:150%}}
.zc-effects-ready .zc-reveal{transition:opacity .85s,transform .85s cubic-bezier(.16,1,.3,1),filter .85s}.zc-effects-ready .zc-reveal:not(.zc-in-view){opacity:0;transform:translateY(25px);filter:blur(3px)}.zc-effects-ready .zc-reveal.zc-in-view{opacity:1;filter:none}
/* Gold fallback pointer; the DOM cursor follows the actual pointer when ready. */
@media(pointer:fine){body,a,button,.hamburger{cursor:url('zipper-gold.svg') 16 6,auto}.zc-cursor-ready,.zc-cursor-ready a,.zc-cursor-ready button,.zc-cursor-ready .hamburger,.zc-cursor-ready input,.zc-cursor-ready textarea{cursor:none!important}.cursor{display:none;left:0;top:0;width:31px;height:44px;border-radius:0;background:url('zipper-gold.svg') center/contain no-repeat;box-shadow:none;mix-blend-mode:normal;filter:drop-shadow(0 2px 3px #0008) drop-shadow(0 0 5px #dfb65855);transform:translate(-9px,-4px);z-index:2147483647;pointer-events:none}.zc-cursor-ready .cursor{display:block}.cursor.zc-cursor-hover{filter:drop-shadow(0 0 6px #ffd77d99);scale:1.08}.mouse-light{background:radial-gradient(circle,#ff153c16,transparent 70%);width:210px;height:210px}}
.zc-touch-glow{position:fixed;left:0;top:0;width:150px;height:150px;border-radius:50%;pointer-events:none;z-index:99999;background:radial-gradient(circle,#ff4f6744,#ff153c16 38%,transparent 70%);transform:translate(-50%,-50%);animation:zc-touch-pulse .8s ease-out forwards}@keyframes zc-touch-pulse{from{opacity:.9;scale:.55}to{opacity:0;scale:1.4}}
/* Opening zipper: red leather panels, gold teeth and pull tab. No click interception. */
.zc-zip-reveal{position:absolute;inset:0;overflow:hidden;z-index:30;border-radius:inherit;pointer-events:none;animation:zc-zip-finish 1.05s both}.zc-zip-side{position:absolute;inset:0;background:linear-gradient(110deg,#16060b,#420b16 46%,#180408);box-shadow:inset 0 0 25px #ff153c30}.zc-zip-left{clip-path:polygon(0 0,50% 0,50% 0,50% 100%,0 100%);animation:zc-unzip-left 1s cubic-bezier(.3,.1,.2,1) both}.zc-zip-right{clip-path:polygon(50% 0,100% 0,100% 100%,50% 100%,50% 0);animation:zc-unzip-right 1s cubic-bezier(.3,.1,.2,1) both}.zc-zip-teeth{position:absolute;top:0;bottom:0;width:8px;background:repeating-linear-gradient(180deg,#ffe3a0 0 3px,#956020 3px 4px,transparent 4px 7px);filter:drop-shadow(0 1px 1px #000);border-left:1px solid #dfba63}.zc-zip-left .zc-zip-teeth{left:calc(50% - 8px)}.zc-zip-right .zc-zip-teeth{left:50%;background-position:0 3px}.zc-zip-slider{position:absolute;left:50%;top:-8%;width:42px;height:62px;transform:translateX(-50%);filter:drop-shadow(0 2px 3px #000);animation:zc-zip-pull 1s cubic-bezier(.3,.1,.2,1) both;z-index:2}.zc-unzipping{animation:zc-panel-open 1s ease both}@keyframes zc-unzip-left{0%{clip-path:polygon(0 0,50% 0,50% 0,50% 100%,0 100%)}45%{clip-path:polygon(0 0,0 0,50% 62%,50% 100%,0 100%)}100%{clip-path:polygon(0 100%,0 100%,0 100%,0 100%,0 100%)}}@keyframes zc-unzip-right{0%{clip-path:polygon(50% 0,100% 0,100% 100%,50% 100%,50% 0)}45%{clip-path:polygon(100% 0,100% 0,100% 100%,50% 100%,50% 62%)}100%{clip-path:polygon(100% 100%,100% 100%,100% 100%,100% 100%,100% 100%)}}@keyframes zc-zip-pull{0%{top:-8%;rotate:-5deg}100%{top:108%;rotate:4deg}}@keyframes zc-zip-finish{0%,88%{opacity:1}100%{opacity:0}}@keyframes zc-panel-open{from{scale:.985}to{scale:1}}
@media(max-width:860px){.hero-laser{display:block!important;opacity:.2;animation-duration:14s!important}.hero-content{animation-duration:9s}.hero-laser:nth-of-type(2){animation-duration:18s!important}.zc-zip-reveal{animation-duration:.85s}.zc-zip-left,.zc-zip-right,.zc-zip-slider{animation-duration:.8s}.zc-zip-slider{width:35px;height:52px}.gallery-item.zc-touch-active{transform:translateY(-3px) scale(1.008)}.choice-card,.day-card,.flyer-card,.party-card,.location-card{backdrop-filter:blur(7px)}}
@media(pointer:coarse){.cursor,.mouse-light{display:none!important}.zc-magnetic{translate:0 0}.hero-laser{display:block!important}.zc-touch-active{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.zc-zip-reveal,.zc-touch-glow{display:none!important}.zc-effects-ready .zc-reveal{opacity:1!important;filter:none!important;transform:none!important}.hero-laser{animation:none!important}.zc-magnetic{translate:0 0!important}.gallery-item img,.about-image img{translate:0 0!important}.zc-unzipping{scale:1!important}}
@media(pointer:fine){.zc-cursor-ready dialog[open],.zc-cursor-ready dialog[open] *{cursor:url('zipper-gold.svg') 16 6,auto!important}}
.zc-touch-glow::before{content:'';position:absolute;left:50%;top:50%;width:25px;height:36px;background:url('zipper-gold.svg') center/contain no-repeat;transform:translate(-50%,-50%);filter:drop-shadow(0 1px 3px #0008)}
.zc-video-shell{position:relative;isolation:isolate;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:inherit;background:#090509}.zc-video-shell>video,.zc-video-shell>iframe{display:block;width:100%!important;height:100%!important;min-height:0!important;aspect-ratio:auto!important;border:0}.zc-video-shell.zc-video-photo{height:100%;aspect-ratio:auto}.zc-video-shell .zc-zip-reveal{z-index:5}.zc-embed-play{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:0;background:linear-gradient(0deg,#08020555,#08020515);color:#fff;cursor:pointer;font:600 14px Inter,Arial,sans-serif;text-shadow:0 2px 5px #000}.zc-embed-play span{width:66px;height:66px;display:grid;place-items:center;padding-left:4px;border:1px solid #ff9eae;background:linear-gradient(140deg,#970020,#ff1b46);border-radius:50%;box-shadow:0 0 25px #ff153c66;font-size:26px}.zc-embed-play:hover span{scale:1.06;box-shadow:0 0 35px #ff153c88}.zc-embed-play:focus-visible{outline:2px solid #ffb0bf;outline-offset:-5px}.zc-location-route{display:inline-flex;align-items:center;justify-content:center;gap:8px}.location-card .buttons{flex-wrap:wrap}.location-card .zc-location-route{white-space:normal;text-align:center}
