/* ═══════════════════════════════════════════════════════════
   COCTELERÍA PREMIUM — Ultra-Premium Stylesheet
   Corporate Cocktail Service · Chile
   ═══════════════════════════════════════════════════════════ */

/* ── Reset & Base ─────────────────────────────────────────── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:'Montserrat',sans-serif;line-height:1.7;color:#e0e0e0;background:#08080f;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit;transition:.35s ease}
ul{list-style:none}
::selection{background:rgba(201,168,76,.35);color:#fff}

/* ── CSS Variables ────────────────────────────────────────── */
:root{
  --teal:#1a5f5f;
  --teal-light:#2a8a8a;
  --gold:#c9a84c;
  --gold-light:#e2c87a;
  --gold-dark:#a68a30;
  --white:#ffffff;
  --cream:#0d0d15;
  --cream-dark:#151520;
  --gray-100:#151520;
  --gray-200:#1e1e2e;
  --gray-300:#2a2a3d;
  --gray-500:#8888aa;
  --gray-700:#c0c0d0;
  --gray-900:#f0f0f5;
  --neon-cyan:#00f0ff;
  --neon-pink:#ff2d95;
  --neon-purple:#b14eff;
  --shadow-sm:0 2px 8px rgba(0,0,0,.3);
  --shadow-md:0 8px 30px rgba(0,0,0,.4);
  --shadow-lg:0 20px 60px rgba(0,0,0,.5);
  --shadow-xl:0 30px 80px rgba(0,0,0,.6);
  --shadow-gold:0 8px 30px rgba(201,168,76,.25);
  --radius-sm:8px;
  --radius-md:16px;
  --radius-lg:24px;
  --radius-xl:32px;
  --radius-full:9999px;
  --transition-fast:.25s cubic-bezier(.4,0,.2,1);
  --transition-base:.4s cubic-bezier(.4,0,.2,1);
  --transition-slow:.6s cubic-bezier(.4,0,.2,1);
  --font-heading:'Playfair Display',serif;
  --font-body:'Montserrat',sans-serif;
  --font-accent:'Raleway',sans-serif;
  --container:1240px;
}

/* ── Typography ───────────────────────────────────────────── */
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.15;color:#fff}
h1{font-size:clamp(2.4rem,5vw,4.2rem);letter-spacing:-.02em}
h2{font-size:clamp(1.8rem,3.5vw,3rem);letter-spacing:-.015em}
h3{font-size:clamp(1.4rem,2.5vw,2rem)}
h4{font-size:clamp(1.1rem,2vw,1.5rem)}
p{margin-bottom:1rem;color:rgba(255,255,255,.6);font-size:.97rem}

/* ── Utility ──────────────────────────────────────────────── */
.container{max-width:var(--container);margin:0 auto;padding:0 2rem}
.section{padding:7rem 0;position:relative;background:#0a0a14}
.section--cream{background:#0d0d18}
.section--teal{background:linear-gradient(135deg,#0a1a1a,#0d1117);color:var(--white)}
.section--teal h2,.section--teal h3,.section--teal h4,.section--teal p{color:var(--white)}
.text-center{text-align:center}
.text-gold{color:var(--gold) !important}
.mb-1{margin-bottom:1rem}.mb-2{margin-bottom:2rem}.mb-3{margin-bottom:3rem}.mb-4{margin-bottom:4rem}

/* Gold separator line */
.gold-line{width:60px;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-light));margin:0 auto 2rem;border-radius:2px;position:relative}
.gold-line::after{content:'';position:absolute;width:8px;height:8px;background:var(--gold);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}

.section-header{text-align:center;max-width:680px;margin:0 auto 4rem}
.section-header h2{margin-bottom:.8rem}
.section-header p{font-size:1.05rem;color:rgba(255,255,255,.5)}

/* ── Custom Cursor (desktop) ──────────────────────────────── */
.cursor-dot,.cursor-ring{display:none}
@media(hover:hover){
  .cursor-dot{display:block;position:fixed;top:0;left:0;width:8px;height:8px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:99999;transition:transform .1s ease}
  .cursor-ring{display:block;position:fixed;top:0;left:0;width:36px;height:36px;border:2px solid var(--gold);border-radius:50%;pointer-events:none;z-index:99998;transition:transform .15s ease,width .3s,height .3s,border-color .3s}
  .cursor-ring.hover{width:56px;height:56px;border-color:var(--gold-light)}
}

/* ── Preloader ────────────────────────────────────────────── */
.preloader{position:fixed;inset:0;background:#08080f;z-index:100000;display:flex;align-items:center;justify-content:center;transition:opacity .6s ease,visibility .6s ease}
.preloader.hidden{opacity:0;visibility:hidden;pointer-events:none}
.preloader-inner{text-align:center}
.preloader-glass{width:60px;height:60px;margin:0 auto 1rem;animation:preloaderSpin 1.2s ease-in-out infinite}
@keyframes preloaderSpin{0%{transform:rotate(0deg) scale(1)}50%{transform:rotate(180deg) scale(1.1)}100%{transform:rotate(360deg) scale(1)}}
.preloader-text{font-family:var(--font-heading);font-size:1.1rem;color:var(--gold);letter-spacing:.15em;text-transform:uppercase}

/* ══════════════════════════════════════════════════════════
   HEADER / NAVIGATION
   ══════════════════════════════════════════════════════════ */
.header{position:fixed;top:36px;left:0;width:100%;z-index:9000;padding:.8rem 0;transition:var(--transition-base);background:#111;box-shadow:0 2px 20px rgba(0,0,0,.3)}
.header--scrolled{background:#000;backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);box-shadow:0 2px 30px rgba(0,0,0,.4);padding:.5rem 0}
.nav{display:flex;align-items:center;justify-content:space-between}
.nav-logo img{height:72px;width:72px;object-fit:cover;border-radius:50%;transition:var(--transition-base);border:2px solid rgba(201,168,76,.4)}
.header--scrolled .nav-logo img{height:58px;width:58px}
.nav-menu{display:flex;align-items:center;gap:.5rem}
.nav-link{font-family:'Nunito',Arial Rounded MT Bold,Arial,sans-serif;font-weight:700;font-size:.92rem;letter-spacing:.03em;text-transform:uppercase;color:#fff;padding:.6rem 1.2rem;border-radius:var(--radius-full);position:relative;transition:var(--transition-fast)}
.nav-link::after{content:'';position:absolute;bottom:4px;left:50%;width:0;height:2px;background:var(--gold);border-radius:2px;transform:translateX(-50%);transition:width .3s ease}
.nav-link:hover,.nav-link.active{color:var(--gold);background:rgba(201,168,76,.12)}
.nav-link:hover::after,.nav-link.active::after{width:50%}
.nav-cta{font-family:'Nunito',Arial Rounded MT Bold,Arial,sans-serif;font-weight:800;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;color:var(--white);background:linear-gradient(135deg,var(--gold),var(--gold-dark));padding:.7rem 1.8rem;border-radius:var(--radius-full);margin-left:.5rem;transition:var(--transition-fast);box-shadow:var(--shadow-gold)}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 12px 35px rgba(201,168,76,.35);color:var(--white)}

/* Social Top Bar */
.social-topbar{background:#050508;border-bottom:1px solid rgba(255,255,255,.06);padding:.45rem 0;position:fixed;top:0;left:0;width:100%;z-index:9001;font-family:'Nunito',Arial,sans-serif;font-size:.72rem;transition:transform .3s ease}
.social-topbar .container{display:flex;align-items:center;justify-content:space-between}
.social-topbar__left{display:flex;align-items:center;gap:1.5rem;color:rgba(255,255,255,.45)}
.social-topbar__left span{display:flex;align-items:center;gap:.4rem}
.social-topbar__left i{color:var(--gold);font-size:.65rem}
.social-topbar__right{display:flex;align-items:center;gap:.6rem}
.social-topbar__label{color:rgba(255,255,255,.35);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.65rem}
.social-topbar__right a{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-size:.7rem;transition:all .25s ease}
.social-topbar__right a:hover{background:var(--gold);color:#fff;transform:scale(1.15)}
.social-topbar__right a[aria-label="Instagram"]:hover{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}
.social-topbar__right a[aria-label="Facebook"]:hover{background:#1877F2}
.social-topbar__right a[aria-label="WhatsApp"]:hover{background:#25D366}
.social-topbar__right a[aria-label="TikTok"]:hover{background:#000;box-shadow:0 0 8px rgba(0,240,255,.4),0 0 8px rgba(255,45,149,.4)}
.social-topbar__right a[aria-label="YouTube"]:hover{background:#FF0000}

/* Nav social icons */
.nav-social{display:flex;align-items:center;gap:.3rem;margin-left:.5rem;padding-left:.8rem;border-left:1px solid rgba(255,255,255,.1)}
.nav-social a{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.45);font-size:.8rem;transition:all .25s ease}
.nav-social a:hover{color:#fff;transform:scale(1.15)}
.nav-social a[aria-label="Instagram"]:hover{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:#fff}
.nav-social a[aria-label="Facebook"]:hover{background:#1877F2;color:#fff}
.nav-social a[aria-label="WhatsApp"]:hover{background:#25D366;color:#fff}
.nav-social a[aria-label="TikTok"]:hover{background:#000;color:#fff;box-shadow:0 0 8px rgba(0,240,255,.5)}
.nav-social a[aria-label="YouTube"]:hover{background:#FF0000;color:#fff}

/* Mobile */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;z-index:9010;padding:4px}
.hamburger span{width:26px;height:2.5px;background:#fff;border-radius:2px;transition:var(--transition-fast);transform-origin:center}
.hamburger.active span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.hamburger.active span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.active span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* ══════════════════════════════════════════════════════════
   HERO SECTION
   ══════════════════════════════════════════════════════════ */
.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:#08080f}

/* ── Hero Slider (image background) ── */
.hero-slider{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.hero-slider__track{position:absolute;inset:0;z-index:0}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;transition:opacity 1.2s ease;animation:heroSliderKen 25s ease-in-out infinite alternate}
.hero-slide.active{opacity:1}
.hero-slide__overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.45) 0%,rgba(0,0,0,.3) 40%,rgba(0,0,0,.55) 100%)}
@keyframes heroSliderKen{
  0%{transform:scale(1) translate(0,0)}
  50%{transform:scale(1.08) translate(-1%,-1%)}
  100%{transform:scale(1.04) translate(1%,0)}
}
.hero-slider__content{position:relative;z-index:2;text-align:center;max-width:860px;padding:2rem}

/* Animated background layers (for non-slider pages) */
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg__gradient{position:absolute;inset:0;background:
  radial-gradient(ellipse 80% 60% at 20% 80%,rgba(201,168,76,.15) 0%,transparent 60%),
  radial-gradient(ellipse 60% 50% at 80% 20%,rgba(0,240,255,.06) 0%,transparent 55%),
  radial-gradient(ellipse 50% 40% at 50% 50%,rgba(177,78,255,.06) 0%,transparent 50%);
  animation:heroGradientShift 12s ease-in-out infinite alternate}
@keyframes heroGradientShift{
  0%{opacity:.7;transform:scale(1)}
  100%{opacity:1;transform:scale(1.05)}
}
.hero-bg__pattern{position:absolute;inset:0;opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23c9a84c' fill-opacity='1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}

/* Floating particles */
.hero-particles{position:absolute;inset:0;z-index:1;overflow:hidden}
.particle{position:absolute;border-radius:50%;pointer-events:none;animation:particleFloat linear infinite}
.particle--gold{background:var(--gold);opacity:.25}
.particle--teal{background:var(--teal);opacity:.15}
@keyframes particleFloat{
  0%{transform:translateY(100vh) rotate(0deg);opacity:0}
  10%{opacity:1}
  90%{opacity:1}
  100%{transform:translateY(-10vh) rotate(720deg);opacity:0}
}

.hero-content{position:relative;z-index:2;text-align:center;max-width:820px;padding:2rem}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-accent);font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.25);padding:.5rem 1.4rem;border-radius:var(--radius-full);margin-bottom:1.5rem}
.hero-badge i{font-size:.65rem}
.hero-title{margin-bottom:1.2rem}
.hero-title .line{display:block;overflow:hidden}
.hero-title .line span{display:inline-block;transform:translateY(110%);animation:heroLineReveal .9s cubic-bezier(.22,1,.36,1) forwards}
.hero-title .line:nth-child(2) span{animation-delay:.15s}
.hero-title .line:nth-child(3) span{animation-delay:.3s}
@keyframes heroLineReveal{to{transform:translateY(0)}}
.hero-subtitle{font-size:clamp(1rem,1.8vw,1.2rem);color:rgba(255,255,255,.6);max-width:600px;margin:0 auto 2.5rem;opacity:0;animation:fadeUp .8s .6s cubic-bezier(.22,1,.36,1) forwards}
.hero-cta-group{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;opacity:0;animation:fadeUp .8s .8s cubic-bezier(.22,1,.36,1) forwards}
.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--gray-500);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;font-family:var(--font-accent);opacity:0;animation:fadeUp .8s 1.2s ease forwards}
.hero-scroll__mouse{width:24px;height:38px;border:2px solid var(--gray-300);border-radius:12px;position:relative}
.hero-scroll__mouse::after{content:'';width:4px;height:8px;background:var(--gold);border-radius:2px;position:absolute;top:6px;left:50%;transform:translateX(-50%);animation:scrollMouse 1.8s ease-in-out infinite}
@keyframes scrollMouse{0%,100%{transform:translateX(-50%) translateY(0);opacity:1}50%{transform:translateX(-50%) translateY(12px);opacity:.3}}

/* ── Buttons ──────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-accent);font-weight:600;font-size:.88rem;letter-spacing:.06em;text-transform:uppercase;padding:.85rem 2.2rem;border-radius:var(--radius-full);transition:var(--transition-base);cursor:pointer;border:none;position:relative;overflow:hidden}
.btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease}
.btn:hover::before{left:100%}
.btn-primary{background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:var(--white);box-shadow:var(--shadow-gold)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(201,168,76,.4);color:var(--white)}
.btn-outline{background:transparent;color:var(--neon-cyan);border:2px solid var(--neon-cyan);padding:calc(.85rem - 2px) calc(2.2rem - 2px)}
.btn-outline:hover{background:var(--neon-cyan);color:#08080f;transform:translateY(-3px);box-shadow:0 12px 35px rgba(0,240,255,.25)}
.btn-white{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.2)}
.btn-white:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);color:#fff;background:rgba(255,255,255,.15)}
.btn i{font-size:.75rem;transition:transform .3s ease}
.btn:hover i{transform:translateX(3px)}

/* ══════════════════════════════════════════════════════════
   COCKTAIL CARDS
   ══════════════════════════════════════════════════════════ */
.cocktails-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.8rem}
.cocktail-card{background:rgba(255,255,255,.04);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);transition:var(--transition-base);position:relative;border:1px solid rgba(255,255,255,.06);backdrop-filter:blur(10px)}
.cocktail-card::after{content:'';position:absolute;inset:0;border-radius:var(--radius-lg);border:1px solid transparent;transition:var(--transition-base);pointer-events:none}
.cocktail-card:hover{transform:translateY(-12px);box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 30px rgba(201,168,76,.08)}
.cocktail-card:hover::after{border-color:rgba(201,168,76,.3)}
.cocktail-card__img{position:relative;height:300px;overflow:hidden}
.cocktail-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1),filter .5s ease}
.cocktail-card:hover .cocktail-card__img img{transform:scale(1.08);filter:brightness(1.05)}
.cocktail-card__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,95,95,.6) 0%,transparent 50%);opacity:0;transition:var(--transition-base);display:flex;align-items:flex-end;padding:1.5rem}
.cocktail-card:hover .cocktail-card__overlay{opacity:1}
.cocktail-card__tag{position:absolute;top:1rem;right:1rem;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);color:var(--gold);font-family:var(--font-accent);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .9rem;border-radius:var(--radius-full);z-index:2;border:1px solid rgba(201,168,76,.3)}
.cocktail-card__body{padding:1.5rem 1.5rem 1.8rem}
.cocktail-card__name{font-family:var(--font-heading);font-size:1.15rem;color:#fff;margin-bottom:.4rem;transition:color .3s ease}
.cocktail-card:hover .cocktail-card__name{color:var(--gold)}
.cocktail-card__desc{font-size:.88rem;color:rgba(255,255,255,.5);line-height:1.6;margin-bottom:0}

/* ══════════════════════════════════════════════════════════
   BRAND / MARCAS
   ══════════════════════════════════════════════════════════ */
.brands-marquee{overflow:hidden;position:relative;padding:2rem 0}
.brands-marquee::before,.brands-marquee::after{content:'';position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}
.brands-marquee::before{left:0;background:linear-gradient(90deg,#0a0a14,transparent)}
.brands-marquee::after{right:0;background:linear-gradient(-90deg,#0a0a14,transparent)}
.brands-track{display:flex;gap:2rem;animation:marquee 30s linear infinite;width:max-content}
.brands-track:hover{animation-play-state:paused}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.brand-item{flex-shrink:0;width:260px;height:180px;border-radius:var(--radius-md);overflow:hidden;position:relative;transition:var(--transition-base)}
.brand-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .5s ease;filter:brightness(.95)}
.brand-item:hover img{transform:scale(1.05);filter:brightness(1.05)}
.brand-item::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(26,95,95,.4) 0%,transparent 50%);transition:var(--transition-base)}
.brand-item:hover::after{background:linear-gradient(to top,rgba(201,168,76,.35) 0%,transparent 50%)}

/* Static brand grid fallback */
.brands-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.brand-card{border-radius:var(--radius-md);overflow:hidden;position:relative;height:200px;transition:var(--transition-base);cursor:pointer}
.brand-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.brand-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}
.brand-card:hover img{transform:scale(1.06)}
.brand-card__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.45) 0%,transparent 60%);display:flex;align-items:flex-end;padding:1.2rem;transition:var(--transition-base)}
.brand-card:hover .brand-card__overlay{background:linear-gradient(to top,rgba(201,168,76,.5) 0%,transparent 60%)}
.brand-card__name{font-family:var(--font-heading);color:var(--white);font-size:1rem;text-shadow:0 2px 8px rgba(0,0,0,.3)}

/* ══════════════════════════════════════════════════════════
   SERVICE PLANS — SHOWCASE
   ══════════════════════════════════════════════════════════ */
.plans-section{position:relative;padding:6rem 0;background:#0d1117;overflow:hidden}
.plans-section__bg{position:absolute;inset:0;overflow:hidden}
.plans-particle{position:absolute;border-radius:50%;filter:blur(60px);opacity:.15}
.plans-particle--1{width:400px;height:400px;background:var(--gold);top:-100px;left:-100px;animation:planFloat1 15s ease-in-out infinite}
.plans-particle--2{width:300px;height:300px;background:var(--teal);bottom:-80px;right:-60px;animation:planFloat2 18s ease-in-out infinite}
.plans-particle--3{width:200px;height:200px;background:#7c3aed;top:30%;right:10%;animation:planFloat1 20s 3s ease-in-out infinite}
.plans-particle--4{width:250px;height:250px;background:var(--gold);bottom:20%;left:15%;animation:planFloat2 16s 5s ease-in-out infinite}
@keyframes planFloat1{0%,100%{transform:translate(0,0)}50%{transform:translate(30px,-40px)}}
@keyframes planFloat2{0%,100%{transform:translate(0,0)}50%{transform:translate(-25px,35px)}}

/* Plan Tabs */
.plan-tabs{display:flex;justify-content:center;gap:.5rem;margin-bottom:3rem}
.plan-tab{font-family:'Nunito',Arial,sans-serif;font-weight:700;font-size:.88rem;letter-spacing:.04em;color:rgba(255,255,255,.5);background:rgba(255,255,255,.05);border:1.5px solid rgba(255,255,255,.1);padding:.75rem 2rem;border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast);display:inline-flex;align-items:center;gap:.5rem}
.plan-tab i{font-size:.8rem}
.plan-tab:hover{color:rgba(255,255,255,.8);border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08)}
.plan-tab.active{color:#0d1117;background:var(--gold);border-color:var(--gold);box-shadow:0 4px 20px rgba(201,168,76,.4)}
.plan-tab.active i{color:#0d1117}

/* Plan Showcase Card */
.plan-showcase{display:none;grid-template-columns:1fr 1fr;gap:0;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl);overflow:hidden;backdrop-filter:blur(10px);animation:fadeIn .5s ease}
.plan-showcase.active{display:grid}

/* Left side */
.plan-showcase__left{padding:3rem;display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(255,255,255,.06)}
.plan-showcase__tag{display:inline-flex;align-items:center;gap:.4rem;font-family:'Nunito',Arial,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.2);padding:.3rem 1rem;border-radius:var(--radius-full);margin-bottom:1rem;width:fit-content}
.plan-showcase__tag--popular{color:#f97316;background:rgba(249,115,22,.1);border-color:rgba(249,115,22,.2)}
.plan-showcase__tag--exclusive{color:#a78bfa;background:rgba(167,139,250,.1);border-color:rgba(167,139,250,.2)}
.plan-showcase__title{font-family:var(--font-heading);font-size:2.5rem;color:#fff;margin-bottom:.8rem;line-height:1.1}
.plan-showcase__desc{font-size:.92rem;color:rgba(255,255,255,.55);line-height:1.7;margin-bottom:1.5rem}

/* Price */
.plan-showcase__price{margin-bottom:1.5rem}
.plan-showcase__amount{font-family:var(--font-heading);font-size:2.8rem;font-weight:700;color:var(--gold);line-height:1;display:block;text-shadow:0 0 30px rgba(201,168,76,.3)}
.plan-showcase__unit{font-family:'Nunito',Arial,sans-serif;font-size:.82rem;font-weight:600;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.06em;margin-top:.3rem;display:block}

/* Meta */
.plan-showcase__meta{display:flex;gap:1.5rem;flex-wrap:wrap}
.plan-showcase__meta-item{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:rgba(255,255,255,.5)}
.plan-showcase__meta-item i{color:var(--gold);font-size:.75rem}

/* Right side — Features */
.plan-showcase__right{padding:3rem;background:rgba(255,255,255,.02)}
.plan-showcase__features h4{font-size:1.05rem;color:#fff;margin-bottom:1.2rem;display:flex;align-items:center;gap:.5rem}
.plan-showcase__features ul{list-style:none;padding:0;margin:0}
.plan-showcase__features li{display:flex;align-items:flex-start;gap:.8rem;padding:.6rem 0;font-size:.88rem;color:rgba(255,255,255,.65);border-bottom:1px solid rgba(255,255,255,.04);transition:var(--transition-fast)}
.plan-showcase__features li:last-child{border-bottom:none}
.plan-showcase__features li:hover{color:#fff;transform:translateX(4px)}
.plan-check{width:24px;height:24px;border-radius:50%;background:rgba(201,168,76,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1rem}
.plan-check i{font-size:.55rem;color:var(--gold)}

/* Notes */
.plan-showcase__note{font-size:.78rem;padding:.6rem .8rem;border-radius:var(--radius-sm);display:flex;align-items:flex-start;gap:.4rem;margin-top:.8rem;line-height:1.5}
.plan-showcase__note i{margin-top:.1rem;flex-shrink:0}
.plan-showcase__note--warn{background:rgba(251,191,36,.06);color:rgba(251,191,36,.8);border:1px solid rgba(251,191,36,.12)}
.plan-showcase__note--alert{background:rgba(239,68,68,.06);color:rgba(239,68,68,.7);border:1px solid rgba(239,68,68,.12)}

/* Quote Box */
.quote-box{margin-top:3rem;background:rgba(255,255,255,.04);border:1px solid rgba(201,168,76,.15);border-radius:var(--radius-xl);padding:2.5rem;backdrop-filter:blur(10px);position:relative;overflow:hidden}
.quote-box::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.quote-box__header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}
.quote-box__header>i{font-size:2rem;color:var(--gold);flex-shrink:0}
.quote-box__header h3{font-family:var(--font-heading);font-size:1.4rem;color:#fff;margin-bottom:.2rem}
.quote-box__header p{font-size:.88rem;color:rgba(255,255,255,.5);margin-bottom:0}
.quote-box__grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}
.quote-box__field label{display:block;font-family:'Nunito',Arial,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem}
.quote-box__field label i{margin-right:.3rem;font-size:.65rem}
.quote-box__field .form-control{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#fff;transition:var(--transition-fast)}
.quote-box__field .form-control::placeholder{color:rgba(255,255,255,.3)}
.quote-box__field .form-control:focus{border-color:var(--gold);background:rgba(255,255,255,.08);box-shadow:0 0 0 3px rgba(201,168,76,.1)}
.quote-box__success{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 1rem;gap:.5rem}
.quote-box__success i{font-size:3rem;color:var(--gold)}
.quote-box__success h4{font-family:var(--font-heading);font-size:1.3rem;color:#fff;margin-bottom:0}
.quote-box__success p{font-size:.88rem;color:rgba(255,255,255,.5);max-width:400px;margin-bottom:0}

@media(max-width:768px){
  .plan-showcase{grid-template-columns:1fr}
  .plan-showcase__left{padding:2rem;border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}
  .plan-showcase__right{padding:2rem}
  .plan-showcase__title{font-size:1.8rem}
  .plan-showcase__amount{font-size:2rem}
  .plan-tabs{flex-direction:column;align-items:stretch}
  .plan-tab{justify-content:center}
  .plan-showcase__meta{gap:.8rem}
  .quote-box{padding:1.5rem}
  .quote-box__grid{grid-template-columns:1fr}
}

/* ══════════════════════════════════════════════════════════
   GLASSWARE / CRISTALERÍA
   ══════════════════════════════════════════════════════════ */
.glass-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}
.glass-card{position:relative;border-radius:var(--radius-md);overflow:hidden;height:260px;cursor:pointer;transition:var(--transition-base)}
.glass-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,1,.36,1),filter .4s ease}
.glass-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.glass-card:hover img{transform:scale(1.07);filter:brightness(1.08)}
.glass-card__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,95,95,.7) 0%,rgba(26,95,95,.1) 40%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;transition:var(--transition-base)}
.glass-card:hover .glass-card__overlay{background:linear-gradient(to top,rgba(201,168,76,.7) 0%,rgba(201,168,76,.1) 40%,transparent 100%)}
.glass-card__name{font-family:var(--font-heading);color:var(--white);font-size:1rem;text-shadow:0 2px 10px rgba(0,0,0,.3);transform:translateY(10px);transition:transform .4s ease}
.glass-card:hover .glass-card__name{transform:translateY(0)}
.glass-card__icon{position:absolute;top:1rem;right:1rem;width:36px;height:36px;background:rgba(255,255,255,.2);backdrop-filter:blur(8px);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);font-size:.75rem;opacity:0;transform:scale(.5);transition:var(--transition-base)}
.glass-card:hover .glass-card__icon{opacity:1;transform:scale(1)}

/* ══════════════════════════════════════════════════════════
   ABOUT / NOSOTROS
   ══════════════════════════════════════════════════════════ */
.about-split{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.about-img{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.about-img img{width:100%;height:100%;object-fit:cover}
.about-img::after{content:'';position:absolute;inset:0;border:2px solid rgba(201,168,76,.4);border-radius:var(--radius-lg);transform:translate(15px,15px);z-index:-1;transition:var(--transition-base)}
.about-img:hover::after{transform:translate(10px,10px)}
.about-text h2{margin-bottom:1rem}
.about-text .gold-line{margin:0 0 1.5rem}
.about-text p{font-size:1rem;line-height:1.8}

/* Stats counters */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:3rem}
.stat-box{text-align:center;padding:2rem 1rem;border-radius:var(--radius-md);background:rgba(255,255,255,.03);box-shadow:var(--shadow-sm);transition:var(--transition-base);border:1px solid rgba(255,255,255,.06);backdrop-filter:blur(8px)}
.stat-box:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(201,168,76,.1);border-color:rgba(201,168,76,.2)}
.stat-number{font-family:var(--font-heading);font-size:2.6rem;color:var(--gold);line-height:1;margin-bottom:.3rem}
.stat-label{font-family:var(--font-accent);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5)}

/* Values */
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem}
.value-card{text-align:center;padding:2rem 1.5rem;border-radius:var(--radius-md);background:rgba(255,255,255,.03);box-shadow:var(--shadow-sm);transition:var(--transition-base);border:1px solid rgba(255,255,255,.06);backdrop-filter:blur(8px)}
.value-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(201,168,76,.1);border-color:rgba(201,168,76,.25)}
.value-card__icon{width:52px;height:52px;border-radius:50%;background:rgba(201,168,76,.1);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;transition:var(--transition-base)}
.value-card__icon i{font-size:1.2rem;color:var(--gold);transition:var(--transition-base)}
.value-card:hover .value-card__icon{background:var(--gold)}
.value-card:hover .value-card__icon i{color:var(--white)}
.value-card h4{font-size:1.05rem;margin-bottom:.5rem}
.value-card p{font-size:.88rem;color:rgba(255,255,255,.45);margin-bottom:0}

/* Timeline */
.timeline{position:relative;max-width:800px;margin:3rem auto 0;padding-left:40px}
.timeline::before{content:'';position:absolute;left:14px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--gold),var(--teal))}
.timeline-item{position:relative;margin-bottom:2.5rem;padding-left:2rem}
.timeline-item::before{content:'';position:absolute;left:-32px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--gold);border:3px solid #0a0a14;box-shadow:0 0 0 3px var(--gold),0 0 15px rgba(201,168,76,.4);z-index:1}
.timeline-item h4{margin-bottom:.3rem}
.timeline-item p{color:rgba(255,255,255,.5);font-size:.92rem;margin-bottom:0}

/* ══════════════════════════════════════════════════════════
   PROCESS STEPS
   ══════════════════════════════════════════════════════════ */
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;counter-reset:step}
.process-step{text-align:center;position:relative;counter-increment:step}
.process-step::before{content:counter(step,decimal-leading-zero);font-family:var(--font-heading);font-size:3rem;color:rgba(201,168,76,.2);line-height:1;display:block;margin-bottom:.5rem;transition:var(--transition-base)}
.process-step:hover::before{color:var(--gold)}
.process-step__icon{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.04);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;transition:var(--transition-base);border:1px solid rgba(255,255,255,.08)}
.process-step__icon i{font-size:1.3rem;color:var(--neon-cyan);transition:var(--transition-base)}
.process-step:hover .process-step__icon{background:var(--gold);transform:scale(1.1)}
.process-step:hover .process-step__icon i{color:var(--white)}
.process-step h4{font-size:1.05rem;margin-bottom:.4rem}
.process-step p{font-size:.88rem;color:rgba(255,255,255,.45);margin-bottom:0}

/* Connector lines between steps */
.process-steps .process-step:not(:last-child)::after{content:'';position:absolute;top:80px;right:-1rem;width:calc(100% - 60px);height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:translateX(100%);opacity:.4}

/* ══════════════════════════════════════════════════════════
   CTA BANNER
   ══════════════════════════════════════════════════════════ */
.cta-banner{position:relative;border-radius:var(--radius-xl);overflow:hidden;padding:5rem 3rem;text-align:center;background:linear-gradient(135deg,#0d1117 0%,#1a1a2e 50%,#0d1117 100%);background-size:200% 200%;animation:ctaGradient 8s ease infinite;border:1px solid rgba(201,168,76,.15)}
@keyframes ctaGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.cta-banner::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23c9a84c' fill-opacity='0.06'%3E%3Cpath d='M20 20.5V18H0v-2h20V0h2v16h18v2H22v4.5a3.5 3.5 0 1 1-2 0z'/%3E%3C/g%3E%3C/svg%3E")}
.cta-banner h2{color:var(--white);margin-bottom:.8rem;position:relative}
.cta-banner p{color:rgba(255,255,255,.8);max-width:550px;margin:0 auto 2rem;font-size:1.05rem;position:relative}
.cta-banner .btn{position:relative}

/* ══════════════════════════════════════════════════════════
   CONTACT
   ══════════════════════════════════════════════════════════ */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:start}
.contact-info-panel{background:linear-gradient(135deg,#0d1a1a,#111825);border-radius:var(--radius-lg);padding:3rem;color:var(--white);position:relative;overflow:hidden;border:1px solid rgba(0,240,255,.1)}
.contact-info-panel::before{content:'';position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,rgba(0,240,255,.06) 0%,transparent 70%)}
.contact-info-panel h3{color:var(--white);margin-bottom:.5rem}
.contact-info-panel>p{color:rgba(255,255,255,.75);margin-bottom:2rem}
.contact-method{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.8rem}
.contact-method__icon{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-method__icon i{color:var(--gold);font-size:1rem}
.contact-method h5{color:var(--white);margin-bottom:.2rem;font-family:var(--font-accent);font-size:.88rem;letter-spacing:.05em;text-transform:uppercase}
.contact-method p,.contact-method a{color:rgba(255,255,255,.75);font-size:.9rem;margin-bottom:0}
.contact-method a:hover{color:var(--gold)}
.contact-social{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.15)}
.contact-social h5{color:var(--white);margin-bottom:1rem;font-family:var(--font-accent);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase}
.contact-social__links{display:flex;gap:.8rem}
.contact-social__links a{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:var(--white);transition:var(--transition-base)}
.contact-social__links a:hover{background:var(--gold);transform:translateY(-3px);color:var(--white)}

/* Form */
.contact-form-panel{background:rgba(255,255,255,.03);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.06);backdrop-filter:blur(10px)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{margin-bottom:1.2rem;position:relative}
.form-group label{display:block;font-family:var(--font-accent);font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin-bottom:.45rem}
.form-control{width:100%;padding:.85rem 1.1rem;border:1.5px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.92rem;color:#fff;background:rgba(255,255,255,.05);transition:var(--transition-fast)}
.form-control::placeholder{color:rgba(255,255,255,.3)}
.form-control:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,168,76,.1);background:rgba(255,255,255,.07)}
textarea.form-control{min-height:130px;resize:vertical}
select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}
.form-hint{font-size:.78rem;color:rgba(255,255,255,.4);margin-top:.3rem}
.btn-submit{width:100%;justify-content:center}

/* Calendar */
.calendar-wrapper{position:relative}
.calendar-display{display:flex;align-items:center;gap:.7rem;padding:.85rem 1.1rem;border:1.5px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);background:rgba(255,255,255,.05);user-select:none}
.calendar-display:hover{border-color:var(--gold)}
.calendar-display.active{border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,168,76,.1)}
.calendar-display i:first-child{color:var(--gold);font-size:1rem}
.calendar-display span{flex:1;font-family:var(--font-body);font-size:.92rem;color:rgba(255,255,255,.4)}
.calendar-display span.has-date{color:#fff;font-weight:500}
.calendar-display__arrow{color:var(--gray-300);font-size:.7rem;transition:transform .3s ease}
.calendar-display.active .calendar-display__arrow{transform:rotate(180deg)}

.calendar-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#12121e;border:1.5px solid rgba(255,255,255,.1);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s cubic-bezier(.22,1,.36,1);padding:1.2rem}
.calendar-dropdown.open{opacity:1;visibility:visible;transform:translateY(0)}

.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.calendar-nav{width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,.06);color:var(--gold);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast);font-size:.8rem}
.calendar-nav:hover{background:var(--gold);color:var(--white)}
.calendar-month-year{font-family:var(--font-heading);font-size:1.05rem;color:#fff;font-weight:600;text-transform:capitalize}

.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:.5rem}
.calendar-weekdays span{font-family:var(--font-accent);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500);padding:.4rem 0}

.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.calendar-day{width:100%;aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:.85rem;color:rgba(255,255,255,.7);cursor:pointer;transition:var(--transition-fast);border:2px solid transparent;font-weight:500}
.calendar-day:hover:not(.disabled):not(.empty){background:rgba(201,168,76,.1);color:var(--gold)}
.calendar-day.today{border-color:var(--gold);color:var(--gold);font-weight:700}
.calendar-day.selected{background:var(--gold);color:var(--white);font-weight:700;box-shadow:0 4px 12px rgba(201,168,76,.35)}
.calendar-day.disabled{color:var(--gray-300);cursor:not-allowed;opacity:.4}
.calendar-day.empty{cursor:default}
.calendar-day.weekend{color:var(--neon-cyan)}
.calendar-day.weekend.disabled{color:var(--gray-300)}

.calendar-footer{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--gray-100);gap:.5rem}
.calendar-today-btn{font-family:var(--font-accent);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.2);padding:.4rem 1rem;border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast)}
.calendar-today-btn:hover{background:var(--gold);color:var(--white)}
.calendar-hint{font-size:.7rem;color:var(--gray-500);display:flex;align-items:center;gap:.3rem}
.calendar-hint i{font-size:.65rem;color:var(--gold)}

@media(max-width:768px){
  .calendar-dropdown{position:fixed;top:auto;bottom:0;left:0;right:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:70vh;transform:translateY(100%);padding:1.5rem}
  .calendar-dropdown.open{transform:translateY(0)}
  .calendar-day{font-size:.9rem}
  .calendar-footer{flex-direction:column;align-items:stretch;text-align:center}
}

/* ══════════════════════════════════════════════════════════
   BOOKING WIZARD
   ══════════════════════════════════════════════════════════ */
.booking{background:rgba(255,255,255,.03);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:3rem;max-width:900px;margin:0 auto;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(10px)}

/* Progress bar */
.booking-progress{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:3rem}
.booking-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative;z-index:1}
.booking-step__circle{width:44px;height:44px;border-radius:50%;background:var(--gray-100);color:var(--gray-500);font-family:'Nunito',Arial,sans-serif;font-weight:800;font-size:.95rem;display:flex;align-items:center;justify-content:center;transition:var(--transition-base);border:2px solid var(--gray-200)}
.booking-step span{font-family:'Nunito',Arial,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-500);transition:var(--transition-base)}
.booking-step.active .booking-step__circle{background:var(--gold);color:var(--white);border-color:var(--gold);box-shadow:0 4px 15px rgba(201,168,76,.35)}
.booking-step.active span{color:var(--gold)}
.booking-step.done .booking-step__circle{background:var(--teal);color:var(--white);border-color:var(--teal)}
.booking-step.done span{color:var(--teal)}
.booking-step__line{width:60px;height:2px;background:var(--gray-200);margin:0 .5rem;margin-bottom:1.5rem;transition:background .4s ease}
.booking-step__line.active{background:var(--gold)}

/* Panels */
.booking-panel{display:none;animation:fadeIn .4s ease}
.booking-panel.active{display:block}

/* Step 1: Event types grid */
.booking-types{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.booking-type{cursor:pointer}
.booking-type__card{border:2px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:1.5rem 1rem;text-align:center;transition:var(--transition-fast);background:rgba(255,255,255,.03)}
.booking-type__card i{font-size:1.8rem;color:var(--gray-300);margin-bottom:.8rem;display:block;transition:var(--transition-fast)}
.booking-type__card h4{font-size:.95rem;margin-bottom:.3rem;color:rgba(255,255,255,.8);transition:color .3s ease}
.booking-type__card p{font-size:.75rem;color:rgba(255,255,255,.4);margin-bottom:0;line-height:1.4}
.booking-type__card:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:var(--shadow-md)}
.booking-type__card:hover i{color:var(--gold)}
.booking-type input:checked+.booking-type__card{border-color:var(--gold);background:rgba(201,168,76,.04);box-shadow:0 0 0 4px rgba(201,168,76,.12)}
.booking-type input:checked+.booking-type__card i{color:var(--gold)}
.booking-type input:checked+.booking-type__card h4{color:#fff}

/* Step 2: Details grid */
.booking-details{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.booking-field{margin-bottom:0}
.booking-field label{display:block;font-family:var(--font-accent);font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin-bottom:.45rem}
.booking-field label i{margin-right:.3rem}

/* Step 3: Options chips */
.booking-options{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}
.booking-option{cursor:pointer}
.booking-option__card{border:1.5px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);padding:.8rem;text-align:center;transition:var(--transition-fast);display:flex;flex-direction:column;align-items:center;gap:.4rem;background:rgba(255,255,255,.03)}
.booking-option__card i{font-size:1.2rem;color:var(--gray-400);transition:color .3s ease}
.booking-option__card span{font-family:'Nunito',Arial,sans-serif;font-size:.72rem;font-weight:700;color:rgba(255,255,255,.6);letter-spacing:.02em}
.booking-option__card:hover{border-color:var(--gold);background:rgba(201,168,76,.03)}
.booking-option__card:hover i{color:var(--gold)}
.booking-option input:checked+.booking-option__card{border-color:var(--gold);background:rgba(201,168,76,.06);box-shadow:0 0 0 3px rgba(201,168,76,.1)}
.booking-option input:checked+.booking-option__card i{color:var(--gold)}
.booking-option input:checked+.booking-option__card span{color:#fff}

/* Step 4: Summary */
.booking-summary__card{background:rgba(255,255,255,.03);border-radius:var(--radius-md);padding:1.5rem;border:1px solid rgba(255,255,255,.08)}
.booking-summary__row{display:flex;justify-content:space-between;align-items:flex-start;padding:.7rem 0;border-bottom:1px solid rgba(0,0,0,.05)}
.booking-summary__row:last-child{border-bottom:none}
.booking-summary__label{font-family:var(--font-accent);font-size:.78rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:.4rem;min-width:140px}
.booking-summary__label i{color:var(--gold);font-size:.75rem}
.booking-summary__value{font-family:'Nunito',Arial,sans-serif;font-weight:700;font-size:.9rem;color:var(--gold);text-align:right}

/* Navigation */
.booking-nav{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--gray-100)}

/* Shake animation for validation */
@keyframes shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.shake{animation:shake .4s ease}

@media(max-width:768px){
  .booking{padding:1.5rem}
  .booking-types{grid-template-columns:repeat(2,1fr)}
  .booking-details{grid-template-columns:1fr}
  .booking-options{grid-template-columns:repeat(2,1fr)}
  .booking-step span{font-size:.6rem}
  .booking-step__circle{width:36px;height:36px;font-size:.8rem}
  .booking-step__line{width:30px}
  .booking-summary__row{flex-direction:column;gap:.2rem}
  .booking-summary__value{text-align:left}
}

/* Alerts */
.alert{padding:1rem 1.4rem;border-radius:var(--radius-sm);margin-bottom:1.5rem;font-size:.9rem;display:flex;align-items:center;gap:.7rem}
.alert i{font-size:1.1rem}
.alert--success{background:rgba(34,197,94,.1);color:#15803d;border:1px solid rgba(34,197,94,.2)}
.alert--error{background:rgba(239,68,68,.1);color:#dc2626;border:1px solid rgba(239,68,68,.2)}

/* FAQ */
.faq-list{max-width:800px;margin:0 auto}
.faq-item{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);margin-bottom:1rem;overflow:hidden;transition:var(--transition-base)}
.faq-item:hover{border-color:var(--gold)}
.faq-question{display:flex;justify-content:space-between;align-items:center;padding:1.3rem 1.6rem;cursor:pointer;transition:var(--transition-fast)}
.faq-question h4{margin-bottom:0;font-size:1rem;flex:1}
.faq-question i{color:var(--gold);transition:transform .3s ease;flex-shrink:0;margin-left:1rem}
.faq-item.active .faq-question i{transform:rotate(180deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease;padding:0 1.6rem}
.faq-item.active .faq-answer{max-height:300px;padding-bottom:1.3rem}
.faq-answer p{font-size:.92rem;color:rgba(255,255,255,.5);margin-bottom:0}

/* ══════════════════════════════════════════════════════════
   MENU / PEDIDOS — Dark Premium
   ══════════════════════════════════════════════════════════ */
/* Section wrapper */
.menu-section{position:relative;padding:6rem 0;background:linear-gradient(165deg,#0a0a12 0%,#0d1a1a 30%,#120e1e 60%,#0a0a12 100%);overflow:hidden}
.menu-section__bg{position:absolute;inset:0;pointer-events:none}

/* Floating particles */
.menu-particle{position:absolute;border-radius:50%;filter:blur(60px);opacity:.18;animation:menuFloat 12s ease-in-out infinite}
.menu-particle--1{width:250px;height:250px;background:var(--gold);top:5%;left:-5%;animation-delay:0s}
.menu-particle--2{width:200px;height:200px;background:#7c3aed;bottom:10%;right:-3%;animation-delay:-3s}
.menu-particle--3{width:180px;height:180px;background:var(--teal);top:40%;right:20%;animation-delay:-6s;opacity:.12}
.menu-particle--4{width:150px;height:150px;background:#ef4444;bottom:30%;left:15%;animation-delay:-9s;opacity:.1}
.menu-particle--5{width:120px;height:120px;background:#3b82f6;top:15%;right:40%;animation-delay:-4s;opacity:.08}
@keyframes menuFloat{0%,100%{transform:translate(0,0) scale(1)}25%{transform:translate(30px,-20px) scale(1.1)}50%{transform:translate(-20px,30px) scale(.95)}75%{transform:translate(15px,15px) scale(1.05)}}

/* Header */
.menu-section__header{text-align:center;margin-bottom:3rem}
.menu-section__badge{display:inline-flex;align-items:center;gap:.5rem;font-family:'Nunito',Arial,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.2);padding:.5rem 1.2rem;border-radius:var(--radius-full);margin-bottom:1.2rem}
.menu-section__badge i{font-size:.7rem}
.menu-section__title{font-family:var(--font-heading);font-size:2.8rem;color:#fff;margin-bottom:.8rem;line-height:1.15}
.menu-section__title em{color:var(--gold);font-style:normal}
.menu-section__subtitle{font-size:1rem;color:rgba(255,255,255,.5);max-width:600px;margin:0 auto;line-height:1.7}

/* Tabs */
.menu-tabs{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap;margin-bottom:3rem}
.menu-tab{font-family:'Nunito',Arial,sans-serif;font-weight:700;font-size:.85rem;letter-spacing:.04em;color:rgba(255,255,255,.5);background:rgba(255,255,255,.04);border:1.5px solid rgba(255,255,255,.08);padding:.7rem 1.6rem;border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast);display:inline-flex;align-items:center;gap:.5rem;backdrop-filter:blur(8px)}
.menu-tab i{font-size:.8rem;color:rgba(255,255,255,.3);transition:color .3s ease}
.menu-tab:hover{border-color:rgba(201,168,76,.4);color:rgba(255,255,255,.8);background:rgba(255,255,255,.06)}
.menu-tab:hover i{color:var(--gold)}
.menu-tab.active{background:linear-gradient(135deg,var(--gold),#e8d48b);color:#0a0a12;border-color:var(--gold);box-shadow:0 4px 20px rgba(201,168,76,.3)}
.menu-tab.active i{color:#0a0a12}

/* Category visibility */
.menu-category{display:none}
.menu-category.active{display:block;animation:fadeIn .4s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* Menu grid */
.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}

/* Menu card — Dark glassmorphism */
.menu-card{background:rgba(255,255,255,.04);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.3);transition:var(--transition-base);border:1px solid rgba(255,255,255,.06);position:relative;backdrop-filter:blur(12px)}
.menu-card::before{content:'';position:absolute;inset:0;border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(201,168,76,.06) 0%,transparent 50%,rgba(124,58,237,.04) 100%);z-index:0;pointer-events:none}
.menu-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px rgba(0,0,0,.4),0 0 30px rgba(201,168,76,.08);border-color:rgba(201,168,76,.2)}
.menu-card__img{position:relative;height:220px;overflow:hidden}
.menu-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.menu-card:hover .menu-card__img img{transform:scale(1.06)}
.menu-card__img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(to top,rgba(10,10,18,.6),transparent);pointer-events:none}
.menu-card__badge{position:absolute;top:.8rem;left:.8rem;font-family:'Nunito',Arial,sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,var(--gold),#e8d48b);padding:.3rem .9rem;border-radius:var(--radius-full);z-index:1;box-shadow:0 2px 10px rgba(201,168,76,.3)}
.menu-card__badge.buffet{background:linear-gradient(135deg,var(--teal),#2d8d8d)}
.menu-card__badge.disp{background:linear-gradient(135deg,#7c3aed,#a855f7)}
.menu-card__body{padding:1.3rem 1.5rem 1.5rem;position:relative;z-index:1}
.menu-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}
.menu-card__name{font-family:var(--font-heading);font-size:1.1rem;color:#fff;line-height:1.2;flex:1;margin-bottom:0}
.menu-card__price{font-family:var(--font-heading);font-size:1.4rem;color:var(--gold);font-weight:700;white-space:nowrap;line-height:1;text-shadow:0 0 20px rgba(201,168,76,.3)}
.menu-card__desc{font-size:.85rem;color:rgba(255,255,255,.45);line-height:1.6;margin-bottom:1rem}
.menu-card__btn{width:100%;padding:.7rem;border:none;border-radius:var(--radius-sm);font-family:'Nunito',Arial,sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:var(--gold);background:rgba(201,168,76,.08);cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid rgba(201,168,76,.15)}
.menu-card__btn i{font-size:.7rem}
.menu-card__btn:hover{background:linear-gradient(135deg,var(--gold),#e8d48b);color:#0a0a12;border-color:var(--gold);transform:translateY(-1px);box-shadow:0 4px 15px rgba(201,168,76,.3)}

/* Floating cart button */
.cart-float{position:fixed;bottom:2rem;right:2rem;z-index:8000;animation:fadeIn .4s ease}
.cart-float__btn{width:60px;height:60px;border-radius:50%;border:none;background:var(--gold);color:var(--white);font-size:1.3rem;cursor:pointer;box-shadow:0 8px 30px rgba(201,168,76,.4);transition:var(--transition-fast);display:flex;align-items:center;justify-content:center}
.cart-float__btn:hover{transform:scale(1.1);box-shadow:0 12px 40px rgba(201,168,76,.5)}
.cart-float__badge{position:absolute;top:-4px;right:-4px;width:24px;height:24px;border-radius:50%;background:#ef4444;color:var(--white);font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:'Nunito',Arial,sans-serif;border:2px solid var(--white);z-index:1}

/* Cart overlay */
.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9500;opacity:0;visibility:hidden;transition:var(--transition-base)}
.cart-overlay.open{opacity:1;visibility:visible}

/* Cart panel */
.cart-panel{position:fixed;top:0;right:-420px;width:400px;max-width:90vw;height:100vh;background:#0d0d18;z-index:9600;box-shadow:-10px 0 50px rgba(0,0,0,.5);display:flex;flex-direction:column;transition:right .4s cubic-bezier(.22,1,.36,1);border-left:1px solid rgba(255,255,255,.06)}
.cart-panel.open{right:0}
.cart-panel__header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.06)}
.cart-panel__header h3{margin-bottom:0;font-size:1.2rem;display:flex;align-items:center;gap:.5rem;color:#fff}
.cart-panel__header h3 i{color:var(--gold)}
.cart-panel__close{width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,.06);color:rgba(255,255,255,.6);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)}
.cart-panel__close:hover{background:var(--gold);color:#fff}
.cart-panel__body{flex:1;overflow-y:auto;padding:1.5rem}
.cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;text-align:center;color:rgba(255,255,255,.2)}
.cart-empty i{font-size:3rem;margin-bottom:1rem}
.cart-empty p{font-family:var(--font-heading);font-size:1.1rem;color:rgba(255,255,255,.4);margin-bottom:.3rem}
.cart-empty span{font-size:.85rem;color:rgba(255,255,255,.2)}

/* Cart items */
.cart-item{display:grid;grid-template-columns:1fr auto auto auto;gap:.8rem;align-items:center;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.06)}
.cart-item:last-child{border-bottom:none}
.cart-item__info h5{font-family:var(--font-heading);font-size:.95rem;color:#fff;margin-bottom:.2rem}
.cart-item__price{font-size:.78rem;color:rgba(255,255,255,.4)}
.cart-item__controls{display:flex;align-items:center;gap:.4rem}
.cart-item__qty-btn{width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:rgba(255,255,255,.6);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.65rem;transition:var(--transition-fast)}
.cart-item__qty-btn:hover{border-color:var(--gold);color:var(--gold)}
.cart-item__qty{font-family:'Nunito',Arial,sans-serif;font-weight:700;font-size:.9rem;min-width:20px;text-align:center;color:#fff}
.cart-item__subtotal{font-family:var(--font-heading);font-weight:700;color:var(--gold);font-size:1rem;min-width:40px;text-align:right}
.cart-item__remove{width:28px;height:28px;border-radius:50%;border:none;background:rgba(239,68,68,.08);color:#ef4444;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.7rem;transition:var(--transition-fast)}
.cart-item__remove:hover{background:#ef4444;color:var(--white)}

/* Cart footer */
.cart-panel__footer{padding:1.5rem;border-top:1px solid rgba(255,255,255,.06)}
.cart-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.cart-total span:first-child{font-family:var(--font-accent);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.5)}
.cart-total__amount{font-family:var(--font-heading);font-size:1.8rem;color:var(--gold);font-weight:700}
.cart-panel__note{font-size:.75rem;color:var(--gray-500);text-align:center;margin-top:.8rem;margin-bottom:0;display:flex;align-items:center;justify-content:center;gap:.3rem}
.cart-panel__note i{color:var(--gold);font-size:.65rem}

/* Toast notification */
.order-toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(20px);background:var(--teal);color:var(--white);padding:.8rem 1.6rem;border-radius:var(--radius-full);font-family:'Nunito',Arial,sans-serif;font-size:.88rem;font-weight:600;box-shadow:var(--shadow-lg);z-index:99999;opacity:0;transition:all .4s cubic-bezier(.22,1,.36,1);display:flex;align-items:center;gap:.5rem;white-space:nowrap}
.order-toast i{color:var(--gold-light)}
.order-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ══════════════════════════════════════════════════════════
   CHECKOUT MODAL
   ══════════════════════════════════════════════════════════ */
.checkout-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:10000;opacity:0;visibility:hidden;transition:var(--transition-base)}
.checkout-overlay.open{opacity:1;visibility:visible}
.checkout-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);width:560px;max-width:94vw;max-height:90vh;overflow-y:auto;background:#0d0d18;border-radius:var(--radius-xl);box-shadow:0 25px 80px rgba(0,0,0,.6);z-index:10001;padding:2.5rem;opacity:0;visibility:hidden;transition:all .4s cubic-bezier(.22,1,.36,1);border:1px solid rgba(255,255,255,.08)}
.checkout-modal.open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}
.checkout-modal__close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,.06);color:rgba(255,255,255,.6);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast);z-index:1}
.checkout-modal__close:hover{background:var(--gold);color:#fff}
.checkout-modal h3{font-size:1.15rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}

/* Steps */
.checkout-step{display:none;animation:fadeIn .35s ease}
.checkout-step.active{display:block}

/* Method cards */
.checkout-methods{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.checkout-method{cursor:pointer}
.checkout-method__card{border:2px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:1.5rem;text-align:center;transition:var(--transition-fast);background:rgba(255,255,255,.03)}
.checkout-method__icon{font-size:2.2rem;color:rgba(255,255,255,.25);margin-bottom:.8rem;transition:color .3s ease}
.checkout-method__card h4{font-size:1rem;margin-bottom:.3rem;color:rgba(255,255,255,.8)}
.checkout-method__card p{font-size:.8rem;color:rgba(255,255,255,.4);margin-bottom:.6rem;line-height:1.4}
.checkout-method__tag{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:700;color:var(--neon-cyan);background:rgba(0,240,255,.06);padding:.3rem .7rem;border-radius:var(--radius-full)}
.checkout-method__card:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:var(--shadow-md)}
.checkout-method__card:hover .checkout-method__icon{color:var(--gold)}
.checkout-method input:checked+.checkout-method__card{border-color:var(--gold);background:rgba(201,168,76,.03);box-shadow:0 0 0 4px rgba(201,168,76,.1)}
.checkout-method input:checked+.checkout-method__card .checkout-method__icon{color:var(--gold)}

/* Branch cards */
.checkout-branches{display:flex;flex-direction:column;gap:.8rem}
.checkout-branch{cursor:pointer}
.checkout-branch__card{border:2px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:1rem 1.2rem;transition:var(--transition-fast);background:rgba(255,255,255,.03)}
.checkout-branch__card:hover{border-color:var(--gold);box-shadow:var(--shadow-sm)}
.checkout-branch__info h5{font-size:.95rem;margin-bottom:.2rem;display:flex;align-items:center;gap:.4rem}
.checkout-branch__info p{font-size:.82rem;color:rgba(255,255,255,.4);margin-bottom:.3rem}
.checkout-branch__hours{font-size:.72rem;color:var(--neon-cyan);font-weight:600;display:flex;align-items:center;gap:.3rem}
.checkout-branch input:checked+.checkout-branch__card{border-color:var(--gold);background:rgba(201,168,76,.03);box-shadow:0 0 0 4px rgba(201,168,76,.1)}

/* Checkout form */
.checkout-form__row{margin-bottom:1rem}
.checkout-form__row--2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.checkout-form__field label{display:block;font-family:var(--font-accent);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem}

/* Checkout summary */
.checkout-summary{background:rgba(255,255,255,.03);border-radius:var(--radius-md);padding:1.3rem;border:1px solid rgba(255,255,255,.08)}
.checkout-summary__item{display:flex;justify-content:space-between;padding:.4rem 0;font-size:.88rem}
.checkout-summary__item span:first-child{color:rgba(255,255,255,.6)}
.checkout-summary__item span:last-child{font-weight:700;color:var(--gold)}
.checkout-summary__divider{height:1px;background:rgba(0,0,0,.08);margin:.8rem 0}
.checkout-summary__detail{display:flex;justify-content:space-between;align-items:flex-start;padding:.4rem 0;font-size:.82rem}
.checkout-summary__detail span:first-child{color:rgba(255,255,255,.4);display:flex;align-items:center;gap:.3rem}
.checkout-summary__detail span:first-child i{color:var(--gold);font-size:.7rem}
.checkout-summary__detail span:last-child{font-weight:700;color:rgba(255,255,255,.8);text-align:right;max-width:60%}
.checkout-summary__total{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0}
.checkout-summary__total span:first-child{font-family:var(--font-accent);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.6)}
.checkout-summary__total span:last-child{font-family:var(--font-heading);font-size:1.6rem;font-weight:700;color:var(--gold)}

/* Checkout nav */
.checkout-nav{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--gray-100)}

/* Payment methods */
.payment-methods{display:flex;flex-direction:column;gap:.8rem;margin-bottom:1.2rem}
.payment-method{cursor:pointer}
.payment-method__card{border:2px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:1rem 1.2rem;transition:var(--transition-fast);background:rgba(255,255,255,.03)}
.payment-method__card:hover{border-color:var(--gold);box-shadow:var(--shadow-sm)}
.payment-method__header{display:flex;align-items:center;gap:1rem}
.payment-method__icon{width:44px;height:44px;border-radius:var(--radius-sm);background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:rgba(255,255,255,.3);transition:all .3s ease;flex-shrink:0}
.payment-method__card h4{font-size:.95rem;margin-bottom:.1rem;color:rgba(255,255,255,.8)}
.payment-method__card p{font-size:.78rem;color:rgba(255,255,255,.4);margin-bottom:0}
.payment-method__brands{display:flex;gap:.6rem;margin-top:.6rem;padding-left:3.5rem;font-size:1.6rem;color:rgba(255,255,255,.2)}
.payment-method input:checked+.payment-method__card{border-color:var(--gold);background:rgba(201,168,76,.03);box-shadow:0 0 0 4px rgba(201,168,76,.1)}
.payment-method input:checked+.payment-method__card .payment-method__icon{background:var(--gold);color:var(--white)}

/* Card form visual */
.card-form{margin-top:1.2rem;animation:fadeIn .35s ease}
.card-form__visual{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);border-radius:14px;padding:1.5rem;color:#fff;margin-bottom:1.2rem;position:relative;overflow:hidden;aspect-ratio:1.6/1;max-width:360px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 10px 40px rgba(0,0,0,.25)}
.card-form__visual::before{content:'';position:absolute;top:-40%;right:-20%;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.04)}
.card-form__visual::after{content:'';position:absolute;bottom:-30%;left:-10%;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.03)}
.card-form__visual.visa{background:linear-gradient(135deg,#1a237e,#1565c0,#42a5f5)}
.card-form__visual.mastercard{background:linear-gradient(135deg,#b71c1c,#e65100,#ff8f00)}
.card-form__visual.amex{background:linear-gradient(135deg,#004d40,#00695c,#00897b)}
.card-form__chip{width:40px;height:28px;border-radius:5px;background:linear-gradient(135deg,#d4af37,#f5d76e);opacity:.8}
.card-form__number{font-family:'Courier New',monospace;font-size:1.25rem;letter-spacing:.12em;margin:.8rem 0;text-shadow:0 1px 3px rgba(0,0,0,.3)}
.card-form__bottom{display:flex;justify-content:space-between;align-items:flex-end}
.card-form__label{font-size:.55rem;text-transform:uppercase;letter-spacing:.1em;opacity:.6;display:block;margin-bottom:.15rem}
.card-form__name{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.card-form__expiry{font-family:'Courier New',monospace;font-size:.9rem;letter-spacing:.1em}
.card-form__fields{display:flex;flex-direction:column;gap:.8rem}
.card-form__secure{display:flex;align-items:center;gap:.4rem;margin-top:1rem;font-size:.75rem;color:rgba(255,255,255,.4);justify-content:center}
.card-form__secure i{color:#16a34a;font-size:.8rem}

/* Transfer info */
.transfer-info{margin-top:1.2rem;animation:fadeIn .35s ease}
.transfer-info__card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:1.2rem}
.transfer-info__card h5{font-size:.95rem;margin-bottom:.8rem;display:flex;align-items:center;gap:.4rem}
.transfer-info__row{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0;border-bottom:1px solid rgba(0,0,0,.05);font-size:.85rem}
.transfer-info__row:last-child{border-bottom:none}
.transfer-info__row span{color:rgba(255,255,255,.4)}
.transfer-info__row strong{color:var(--gold);font-family:'Nunito',Arial,sans-serif;font-weight:700}
.transfer-info__note{font-size:.78rem;color:rgba(255,255,255,.4);margin-top:.8rem;margin-bottom:0;display:flex;align-items:flex-start;gap:.4rem;line-height:1.5}
.transfer-info__note i{color:var(--gold);margin-top:.15rem;flex-shrink:0}

/* Cash info */
.cash-info{margin-top:1.2rem;animation:fadeIn .35s ease}

@media(max-width:600px){
  .checkout-modal{padding:1.5rem;max-height:95vh}
  .checkout-methods{grid-template-columns:1fr}
  .checkout-form__row--2{grid-template-columns:1fr}
  .card-form__visual{max-width:100%}
  .card-form__number{font-size:1rem}
  .payment-method__brands{padding-left:0}
}

/* ══════════════════════════════════════════════════════════
   WHATSAPP FLOAT
   ══════════════════════════════════════════════════════════ */
.whatsapp-float{position:fixed;bottom:2rem;left:2rem;z-index:8500;width:60px;height:60px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.8rem;box-shadow:0 6px 25px rgba(37,211,102,.4);transition:all .3s ease;text-decoration:none}
.whatsapp-float:hover{transform:scale(1.1) translateY(-3px);box-shadow:0 10px 35px rgba(37,211,102,.5);color:#fff}
.whatsapp-float::before{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(37,211,102,.3);animation:whatsappPulse 2s ease-in-out infinite}
@keyframes whatsappPulse{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(1.2);opacity:0}}
.whatsapp-float__tooltip{position:absolute;left:calc(100% + 12px);background:#111;color:#fff;font-family:'Nunito',Arial,sans-serif;font-size:.78rem;font-weight:700;padding:.4rem .9rem;border-radius:var(--radius-full);white-space:nowrap;opacity:0;transform:translateX(-8px);transition:all .3s ease;pointer-events:none}
.whatsapp-float__tooltip::before{content:'';position:absolute;right:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:#111}
.whatsapp-float:hover .whatsapp-float__tooltip{opacity:1;transform:translateX(0)}

/* ══════════════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════════════ */
.footer{background:#060610;color:var(--white);padding:5rem 0 0;position:relative;overflow:hidden}
.footer::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--neon-cyan),var(--gold),var(--neon-pink),var(--gold),var(--neon-cyan));z-index:2;box-shadow:0 0 15px rgba(0,240,255,.3),0 0 30px rgba(201,168,76,.2)}

/* Smoke Effect */
.footer-smoke{position:absolute;top:-140px;left:0;right:0;height:220px;pointer-events:none;z-index:3;overflow:visible;mix-blend-mode:screen}
.smoke-particle{position:absolute;bottom:0;border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,255,255,.35) 0%,rgba(220,220,240,.18) 35%,rgba(201,168,76,.08) 60%,transparent 75%);filter:blur(18px);animation-timing-function:ease-in-out;animation-iteration-count:infinite;will-change:transform,opacity}
.smoke-1{width:200px;height:90px;left:4%;animation:smokeRise1 7s infinite}
.smoke-2{width:240px;height:100px;left:18%;animation:smokeRise2 9s .8s infinite}
.smoke-3{width:180px;height:80px;left:35%;animation:smokeRise3 8s 1.6s infinite}
.smoke-4{width:220px;height:95px;left:50%;animation:smokeRise1 10s .4s infinite}
.smoke-5{width:260px;height:110px;left:66%;animation:smokeRise2 7.5s 1.2s infinite}
.smoke-6{width:170px;height:75px;left:84%;animation:smokeRise3 9s 2.4s infinite}
.smoke-7{width:210px;height:85px;left:10%;animation:smokeRise2 11s 3.2s infinite}
.smoke-8{width:190px;height:90px;left:58%;animation:smokeRise1 8.5s 2s infinite}

@keyframes smokeRise1{
  0%{transform:translateY(20px) scale(.6) translateX(0);opacity:0}
  15%{opacity:.9}
  40%{transform:translateY(-80px) scale(1.3) translateX(20px);opacity:.7}
  70%{transform:translateY(-150px) scale(1.8) translateX(-15px);opacity:.35}
  100%{transform:translateY(-220px) scale(2.4) translateX(10px);opacity:0}
}
@keyframes smokeRise2{
  0%{transform:translateY(20px) scale(.6) translateX(0);opacity:0}
  18%{opacity:.85}
  45%{transform:translateY(-70px) scale(1.4) translateX(-25px);opacity:.6}
  75%{transform:translateY(-160px) scale(2) translateX(15px);opacity:.25}
  100%{transform:translateY(-230px) scale(2.6) translateX(-10px);opacity:0}
}
@keyframes smokeRise3{
  0%{transform:translateY(20px) scale(.6) translateX(0);opacity:0}
  12%{opacity:.95}
  50%{transform:translateY(-90px) scale(1.5) translateX(15px);opacity:.55}
  80%{transform:translateY(-170px) scale(2.1) translateX(-20px);opacity:.2}
  100%{transform:translateY(-240px) scale(2.8) translateX(5px);opacity:0}
}
@media(prefers-reduced-motion:reduce){
  .smoke-particle{animation:none;display:none}
}

/* ══════════════════════════════════════════════════════════
   NOSOTROS GALLERY
   ══════════════════════════════════════════════════════════ */
.nosotros-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}
.nosotros-gallery__item{position:relative;display:block;overflow:hidden;border-radius:var(--radius-md);aspect-ratio:1/1;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.15);border:2px solid transparent;transition:all .4s cubic-bezier(.22,1,.36,1)}
.nosotros-gallery__item:nth-child(1),.nosotros-gallery__item:nth-child(6){grid-column:span 2;grid-row:span 2;aspect-ratio:1/1}
.nosotros-gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,1,.36,1);display:block}
.nosotros-gallery__item:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 14px 40px rgba(201,168,76,.3)}
.nosotros-gallery__item:hover img{transform:scale(1.1)}
.nosotros-gallery__overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,95,95,.6),rgba(201,168,76,.4));display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.8rem;opacity:0;transition:opacity .4s ease}
.nosotros-gallery__item:hover .nosotros-gallery__overlay{opacity:1}
@media(max-width:1024px){
  .nosotros-gallery{grid-template-columns:repeat(3,1fr)}
  .nosotros-gallery__item:nth-child(1),.nosotros-gallery__item:nth-child(6){grid-column:span 2;grid-row:span 2}
}
@media(max-width:640px){
  .nosotros-gallery{grid-template-columns:repeat(2,1fr);gap:.6rem}
  .nosotros-gallery__item:nth-child(1),.nosotros-gallery__item:nth-child(6){grid-column:span 2;grid-row:auto}
}

/* ══════════════════════════════════════════════════════════
   MUSIC PLAYER (Background Audio Toggle)
   ══════════════════════════════════════════════════════════ */
.music-toggle{position:fixed;bottom:30px;left:30px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#1a5f5f,#0d3a3a);color:#c9a84c;border:2px solid rgba(201,168,76,.5);display:flex;align-items:center;justify-content:center;font-size:1.2rem;cursor:pointer;z-index:9999;box-shadow:0 6px 24px rgba(0,0,0,.4),0 0 0 rgba(201,168,76,.5);transition:all .3s ease;backdrop-filter:blur(10px)}
.music-toggle:hover{transform:scale(1.1);box-shadow:0 8px 30px rgba(201,168,76,.5);color:#fff;border-color:#c9a84c}
.music-toggle.playing{animation:musicPulse 2s infinite;background:linear-gradient(135deg,#c9a84c,#b8943a);color:#fff;border-color:#fff}
.music-toggle.playing .music-bars{display:flex}
.music-toggle.playing .music-icon{display:none}
.music-toggle .music-bars{display:none;gap:2px;align-items:flex-end;height:18px}
.music-toggle .music-bars span{width:3px;background:#fff;border-radius:2px;animation:musicBar 1s infinite ease-in-out}
.music-toggle .music-bars span:nth-child(1){animation-delay:0s;height:40%}
.music-toggle .music-bars span:nth-child(2){animation-delay:.2s;height:100%}
.music-toggle .music-bars span:nth-child(3){animation-delay:.4s;height:60%}
.music-toggle .music-bars span:nth-child(4){animation-delay:.6s;height:80%}
.music-toggle__tooltip{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) translateX(-10px);background:#111;color:#fff;padding:.4rem .8rem;border-radius:6px;font-size:.75rem;white-space:nowrap;opacity:0;pointer-events:none;transition:all .3s ease;font-family:var(--font-body);border:1px solid rgba(201,168,76,.3)}
.music-toggle__tooltip::before{content:'';position:absolute;right:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:#111}
.music-toggle:hover .music-toggle__tooltip{opacity:1;transform:translateY(-50%) translateX(0)}
.music-hidden-player{position:fixed;bottom:-500px;left:-500px;width:1px;height:1px;opacity:0;pointer-events:none;visibility:hidden}

@keyframes musicPulse{
  0%,100%{box-shadow:0 6px 24px rgba(0,0,0,.4),0 0 0 0 rgba(201,168,76,.6)}
  50%{box-shadow:0 6px 24px rgba(0,0,0,.4),0 0 0 20px rgba(201,168,76,0)}
}
@keyframes musicBar{
  0%,100%{transform:scaleY(.5)}
  50%{transform:scaleY(1)}
}
@media(max-width:768px){
  .music-toggle{bottom:90px;left:20px;width:48px;height:48px;font-size:1rem}
}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;margin-bottom:4rem}
.footer-brand p{color:rgba(255,255,255,.6);font-size:.9rem;margin-top:1rem}
.footer-brand img{height:60px;width:60px;object-fit:cover;border-radius:50%;margin-bottom:.5rem;border:2px solid rgba(201,168,76,.4);box-shadow:0 0 20px rgba(201,168,76,.15)}
.footer h5{color:var(--gold);font-family:var(--font-accent);font-size:.82rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.2rem;text-shadow:0 0 20px rgba(201,168,76,.25)}
.footer ul li{margin-bottom:.6rem}
.footer ul li a{color:rgba(255,255,255,.6);font-size:.9rem;transition:var(--transition-fast);display:inline-flex;align-items:center;gap:.4rem}
.footer ul li a:hover{color:var(--gold);transform:translateX(3px);text-shadow:0 0 8px rgba(201,168,76,.3)}
.footer-social{display:flex;gap:.7rem;margin-top:1.2rem}
.footer-social a{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);transition:all .3s ease;font-size:1rem;border:1px solid rgba(255,255,255,.08)}
.footer-social a:hover{transform:translateY(-4px) scale(1.1);color:#fff}
.footer-social a[aria-label="Instagram"]:hover{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);border-color:transparent;box-shadow:0 4px 20px rgba(225,48,108,.4)}
.footer-social a[aria-label="Facebook"]:hover{background:#1877F2;border-color:#1877F2;box-shadow:0 4px 20px rgba(24,119,242,.4)}
.footer-social a[aria-label="WhatsApp"]:hover{background:#25D366;border-color:#25D366;box-shadow:0 4px 20px rgba(37,211,102,.4)}
.footer-social a[aria-label="TikTok"]:hover{background:#000;border-color:rgba(0,240,255,.5);box-shadow:0 0 12px rgba(0,240,255,.4),0 0 12px rgba(255,45,149,.4)}
.footer-social a[aria-label="YouTube"]:hover{background:#FF0000;border-color:#FF0000;box-shadow:0 4px 20px rgba(255,0,0,.4)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:1.5rem 0;text-align:center;background:rgba(0,0,0,.3)}
.footer-bottom p{color:rgba(255,255,255,.4);font-size:.82rem;margin-bottom:0}

/* ══════════════════════════════════════════════════════════
   SCROLL ANIMATIONS (Intersection Observer)
   ══════════════════════════════════════════════════════════ */
[data-animate]{opacity:0;transition:all .8s cubic-bezier(.22,1,.36,1)}
[data-animate="fade-up"]{transform:translateY(50px)}
[data-animate="fade-down"]{transform:translateY(-50px)}
[data-animate="fade-left"]{transform:translateX(-50px)}
[data-animate="fade-right"]{transform:translateX(50px)}
[data-animate="zoom-in"]{transform:scale(.85)}
[data-animate="flip-up"]{transform:perspective(800px) rotateX(10deg) translateY(40px)}
[data-animate].is-visible{opacity:1;transform:none}

/* Stagger delays */
[data-delay="100"]{transition-delay:.1s}
[data-delay="200"]{transition-delay:.2s}
[data-delay="300"]{transition-delay:.3s}
[data-delay="400"]{transition-delay:.4s}
[data-delay="500"]{transition-delay:.5s}
[data-delay="600"]{transition-delay:.6s}
[data-delay="700"]{transition-delay:.7s}
[data-delay="800"]{transition-delay:.8s}

/* ══════════════════════════════════════════════════════════
   LIGHTBOX
   ══════════════════════════════════════════════════════════ */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:100000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:var(--transition-base)}
.lightbox.active{opacity:1;visibility:visible}
.lightbox img{max-width:90%;max-height:85vh;border-radius:var(--radius-md);box-shadow:var(--shadow-xl);transform:scale(.9);transition:transform .4s ease}
.lightbox.active img{transform:scale(1)}
.lightbox-close{position:absolute;top:1.5rem;right:2rem;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);color:var(--white);font-size:1.2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-fast);border:none}
.lightbox-close:hover{background:var(--gold);transform:rotate(90deg)}
.lightbox-caption{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);font-family:var(--font-heading);font-size:1.1rem;color:var(--white);text-shadow:0 2px 10px rgba(0,0,0,.5)}

/* ══════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════ */
@media(max-width:1024px){
  .cocktails-grid{grid-template-columns:repeat(2,1fr)}
  .plans-grid{grid-template-columns:1fr}
  .brands-grid{grid-template-columns:repeat(2,1fr)}
  .stats-row{grid-template-columns:repeat(2,1fr)}
  .values-grid{grid-template-columns:repeat(2,1fr)}
  .process-steps{grid-template-columns:repeat(2,1fr)}
  .process-steps .process-step::after{display:none}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  .menu-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:768px){
  .social-topbar{display:none}
  .header{top:0}
  .hamburger{display:flex}
  .nav-menu{position:fixed;top:0;right:-100%;width:85%;max-width:380px;height:100vh;background:#0d0d18;flex-direction:column;align-items:stretch;padding:6rem 2rem 2rem;gap:0;box-shadow:-10px 0 40px rgba(0,0,0,.5);transition:right .4s cubic-bezier(.22,1,.36,1);z-index:9005}
  .nav-menu.active{right:0}
  .nav-social{border-left:none;padding-left:0;margin-left:0;justify-content:center;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.06)}
  .nav-link{padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.06);border-radius:0;font-size:.95rem}
  .nav-link::after{display:none}
  .nav-cta{text-align:center;margin:1rem 0 0;display:block}
  .hero-content{padding:1.5rem}
  .cocktails-grid{grid-template-columns:1fr}
  .menu-grid{grid-template-columns:1fr}
  .about-split{grid-template-columns:1fr;gap:2rem}
  .contact-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .menu-tabs{gap:.4rem}
  .menu-tab{padding:.6rem 1rem;font-size:.78rem}
  .stats-row{grid-template-columns:repeat(2,1fr);gap:1rem}
  .values-grid{grid-template-columns:1fr}
  .process-steps{grid-template-columns:1fr}
  .brands-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;text-align:center}
  .footer-social{justify-content:center}
  .section{padding:5rem 0}
  .section-header{margin-bottom:3rem}
  .container{padding:0 1.2rem}
}

@media(max-width:480px){
  .hero-cta-group{flex-direction:column}
  .hero-cta-group .btn{width:100%;justify-content:center}
}

/* ══════════════════════════════════════════════════════════
   GLOBAL KEYFRAMES
   ══════════════════════════════════════════════════════════ */
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes scaleIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
@keyframes slideRight{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes countUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
