:root{
  --neon:#b5f23d;--neon-dim:#8abf2a;--neon-glow:rgba(181,242,61,0.35);
  --dark:#060806;--dark-2:#0d110a;--dark-3:#141a0f;--dark-4:#1a2415;
  --mid:#2a3820;--text:#e6eedd;--muted:#728561;--white:#ffffff;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Barlow',sans-serif;background:var(--dark);color:var(--text);overflow-x:hidden;}

/* ── NOISE TEXTURE ── */
body::before{content:'';position:fixed;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E");
  pointer-events:none;z-index:9999;opacity:0.5;}

/* ── WHATSAPP FLOAT ── */
.wa-float{
  position:fixed;bottom:28px;right:28px;z-index:1000;
  width:58px;height:58px;border-radius:50%;
  background:#25D366;
  box-shadow:0 4px 20px rgba(37,211,102,0.5),0 0 0 0 rgba(37,211,102,0.4);
  display:flex;align-items:center;justify-content:center;
  text-decoration:none;
  animation:waPulse 2.5s ease-in-out infinite;
  transition:transform 0.2s,box-shadow 0.2s;
}
.wa-float:hover{transform:scale(1.1);box-shadow:0 6px 30px rgba(37,211,102,0.7);}
.wa-float svg{width:32px;height:32px;fill:#fff;}
@keyframes waPulse{
  0%{box-shadow:0 4px 20px rgba(37,211,102,0.5),0 0 0 0 rgba(37,211,102,0.4);}
  60%{box-shadow:0 4px 20px rgba(37,211,102,0.5),0 0 0 16px rgba(37,211,102,0);}
  100%{box-shadow:0 4px 20px rgba(37,211,102,0.5),0 0 0 0 rgba(37,211,102,0);}
}
.wa-tooltip{
  position:absolute;right:70px;white-space:nowrap;
  background:var(--dark-3);color:var(--text);
  font-family:'Barlow Condensed',sans-serif;font-size:0.78rem;font-weight:600;
  letter-spacing:0.1em;text-transform:uppercase;
  padding:7px 14px;border:1px solid rgba(37,211,102,0.3);
  opacity:0;pointer-events:none;transition:opacity 0.2s;
}
.wa-float:hover .wa-tooltip{opacity:1;}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 5vw;height:68px;
  background:rgba(6,8,6,0.0);
  backdrop-filter:blur(0px);
  border-bottom:1px solid rgba(181,242,61,0);
  transition:all 0.4s;
}
nav.scrolled{
  background:rgba(6,8,6,0.93);
  backdrop-filter:blur(16px);
  border-bottom-color:rgba(181,242,61,0.1);
  height:58px;
}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;cursor:pointer;}
.nav-logo-img{height:46px;width:auto;object-fit:contain;filter:drop-shadow(0 0 6px rgba(255,255,255,0.15));transition:height 0.3s;}
nav.scrolled .nav-logo-img{height:36px;}
.nav-links{display:flex;align-items:center;gap:1.8rem;list-style:none;}
.nav-links a{font-family:'Barlow Condensed',sans-serif;font-size:0.8rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.7);text-decoration:none;transition:color 0.2s;}
.nav-links a:hover{color:var(--neon);}
.btn-nav{font-family:'Barlow Condensed',sans-serif;font-size:0.76rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;padding:7px 16px;border:1.5px solid var(--neon);background:transparent;color:var(--neon);cursor:pointer;transition:all 0.2s;text-decoration:none;}
.btn-nav:hover{background:var(--neon);color:var(--dark);}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;}
.hamburger span{display:block;width:24px;height:2px;background:var(--neon);}
.mobile-menu{display:none;position:fixed;top:68px;left:0;right:0;background:rgba(6,8,6,0.97);backdrop-filter:blur(20px);z-index:199;padding:2rem 6vw;flex-direction:column;gap:1.5rem;border-bottom:1px solid rgba(181,242,61,0.1);}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-family:'Barlow Condensed',sans-serif;font-size:1.4rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--text);text-decoration:none;}
.mobile-menu a:hover{color:var(--neon);}
@media(max-width:900px){.nav-links{display:none;}.hamburger{display:flex;}}

/* ── HERO ── */
.hero{
  position:relative;min-height:100vh;
  display:flex;flex-direction:column;justify-content:center;
  padding:0 8vw;overflow:hidden;padding-bottom:6vh;padding-top:80px;
}

/* Real gym photo as background */
.hero-img{
  position:absolute;inset:0;
  background:url('https://images.unsplash.com/photo-1534438327276-14e5300c3a48?w=1800&q=90&fit=crop') center 30%/cover no-repeat;
  transform:scale(1.06);
  animation:heroZoom 20s ease-in-out infinite alternate;
  filter:saturate(0.7) brightness(0.55);
}
@keyframes heroZoom{from{transform:scale(1.06);}to{transform:scale(1.0);}}

.hero-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(to top, rgba(6,8,6,1) 0%, rgba(6,8,6,0.82) 30%, rgba(6,8,6,0.45) 55%, rgba(6,8,6,0.15) 80%, rgba(6,8,6,0.05) 100%),
    linear-gradient(105deg, rgba(6,8,6,0.75) 0%, rgba(6,8,6,0.2) 55%, transparent 100%);
}
.hero-tint{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 55% at 75% 35%, rgba(181,242,61,0.08) 0%, transparent 60%),
    radial-gradient(ellipse 35% 40% at 15% 85%, rgba(181,242,61,0.04) 0%, transparent 55%);
}
.hero-scan{
  position:absolute;inset:0;
  background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,0.04) 2px,rgba(0,0,0,0.04) 3px);
  pointer-events:none;
}
/* Diagonal accent line */
.hero-accent-line{
  position:absolute;
  top:0;bottom:0;
  right:42%;
  width:2px;
  background:linear-gradient(to bottom, transparent 0%, rgba(181,242,61,0.4) 30%, rgba(181,242,61,0.15) 70%, transparent 100%);
  pointer-events:none;
}

/* LOGO badge on hero */
.hero-logo-badge{
  position:absolute;top:50%;right:7vw;
  transform:translateY(-50%);
  opacity:0;animation:fadeIn 1s 0.6s forwards;
  z-index:3;
}

/* Content */
.hero-content{position:relative;z-index:2;max-width:52%;}
.hero-eyebrow{
  font-family:'Barlow Condensed',sans-serif;font-size:clamp(0.68rem,1.1vw,0.82rem);
  font-weight:700;letter-spacing:0.38em;text-transform:uppercase;color:var(--neon);
  margin-bottom:1.2rem;display:flex;align-items:center;gap:12px;
  opacity:0;animation:fadeUp 0.6s 0.3s forwards;
}
.hero-eyebrow::before{content:'';width:32px;height:2px;background:var(--neon);flex-shrink:0;}
.hero-eyebrow::after{content:'';flex:1;height:1px;background:linear-gradient(to right,rgba(181,242,61,0.3),transparent);max-width:120px;}
.hero-title{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(5rem,14vw,13rem);
  line-height:0.88;letter-spacing:0.01em;color:var(--white);
  opacity:0;animation:fadeUp 0.7s 0.45s forwards;
}
.hero-title .t-neon{
  color:var(--neon);
  text-shadow:0 0 40px rgba(181,242,61,0.7),0 0 100px rgba(181,242,61,0.35),0 0 200px rgba(181,242,61,0.15);
  animation:neonPulse 3.5s ease-in-out infinite;
}
.hero-sub{
  font-size:clamp(0.9rem,1.4vw,1.05rem);font-weight:300;color:rgba(232,240,221,0.75);
  max-width:460px;margin-top:1.5rem;line-height:1.8;
  opacity:0;animation:fadeUp 0.7s 0.6s forwards;
}
.hero-cta{
  display:flex;gap:1rem;margin-top:2.5rem;flex-wrap:wrap;
  opacity:0;animation:fadeUp 0.7s 0.75s forwards;
}
.hero-logo-ring{
  position:relative;display:flex;flex-direction:column;align-items:center;gap:0;
  background:rgba(4,6,4,0.65);
  border:1px solid rgba(181,242,61,0.25);
  padding:20px 22px 14px;
  backdrop-filter:blur(16px);
  box-shadow:
    0 0 0 1px rgba(181,242,61,0.08),
    0 8px 40px rgba(0,0,0,0.7),
    0 0 60px rgba(181,242,61,0.06),
    inset 0 1px 0 rgba(255,255,255,0.05);
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);
}
.hero-logo-ring::before{
  content:'XTREME GYM';
  font-family:'Barlow Condensed',sans-serif;font-size:0.62rem;font-weight:700;
  letter-spacing:0.55em;text-transform:uppercase;color:rgba(181,242,61,0.6);
  display:block;text-align:center;margin-bottom:10px;
}
.hero-logo-img{width:160px;height:160px;object-fit:contain;display:block;
  filter:drop-shadow(0 4px 20px rgba(0,0,0,0.9)) brightness(1.05) saturate(1.1);
}
.hero-logo-sub{
  font-family:'Barlow Condensed',sans-serif;font-size:0.65rem;font-weight:700;
  letter-spacing:0.55em;text-transform:uppercase;color:var(--neon);text-align:center;
  margin-top:10px;padding-top:10px;border-top:1px solid rgba(181,242,61,0.18);width:100%;
}
.hero-live{
  display:flex;align-items:center;gap:8px;margin-top:1.6rem;
  opacity:0;animation:fadeUp 0.7s 0.9s forwards;
}
.live-dot{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 10px #4ade80;animation:blink 1.8s ease-in-out infinite;}
.hero-live span{font-family:'Barlow Condensed',sans-serif;font-size:0.8rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.55);}
.hero-live span b{color:#4ade80;}

/* Scroll hint */
.scroll-hint{
  position:absolute;bottom:2.5rem;right:8vw;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  opacity:0;animation:fadeIn 1s 1.4s forwards;
}
.scroll-hint span{font-family:'Barlow Condensed',sans-serif;font-size:0.65rem;letter-spacing:0.3em;text-transform:uppercase;color:rgba(255,255,255,0.35);writing-mode:vertical-rl;}
.scroll-line{width:1px;height:50px;background:linear-gradient(to bottom,var(--neon),transparent);}

/* ── BTNS ── */
.btn-primary{font-family:'Barlow Condensed',sans-serif;font-size:0.9rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;padding:15px 36px;background:var(--neon);color:var(--dark);border:none;cursor:pointer;transition:all 0.25s;text-decoration:none;display:inline-block;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);}
.btn-primary:hover{background:#ccff50;box-shadow:0 0 35px rgba(181,242,61,0.55);transform:translateY(-2px);}
.btn-secondary{font-family:'Barlow Condensed',sans-serif;font-size:0.9rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;padding:15px 36px;background:rgba(255,255,255,0.07);color:var(--white);border:1px solid rgba(255,255,255,0.2);cursor:pointer;transition:all 0.25s;text-decoration:none;display:inline-block;backdrop-filter:blur(4px);}
.btn-secondary:hover{border-color:var(--neon);color:var(--neon);background:rgba(181,242,61,0.05);}

/* ── STATS ── */
.stats-strip{background:var(--dark-3);border-top:1px solid rgba(181,242,61,0.15);border-bottom:1px solid rgba(181,242,61,0.06);padding:2rem 8vw;display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:2rem;}
.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center;}
.stat-number{font-family:'Bebas Neue',sans-serif;font-size:2.8rem;color:var(--neon);line-height:1;text-shadow:0 0 20px rgba(181,242,61,0.4);}
.stat-label{font-family:'Barlow Condensed',sans-serif;font-size:0.68rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);margin-top:4px;}

/* ── SECTIONS ── */
section{padding:6rem 8vw;}
.section-eyebrow{font-family:'Barlow Condensed',sans-serif;font-size:0.72rem;font-weight:700;letter-spacing:0.38em;text-transform:uppercase;color:var(--neon);margin-bottom:0.75rem;}
.section-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.4rem,5vw,4rem);line-height:1;color:var(--white);margin-bottom:1.25rem;}
.section-desc{font-size:0.95rem;color:var(--muted);max-width:460px;line-height:1.78;}

/* ── SERVICES ── */
.services{background:var(--dark-2);}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5px;margin-top:3.5rem;border:1.5px solid rgba(181,242,61,0.07);}
.service-card{background:var(--dark-3);padding:2.5rem 2rem;transition:background 0.3s;position:relative;overflow:hidden;}
.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--neon);transform:scaleX(0);transform-origin:left;transition:transform 0.35s;}
.service-card:hover{background:var(--dark-4);}
.service-card:hover::before{transform:scaleX(1);}
.service-icon{font-size:2rem;margin-bottom:1rem;display:block;}
.service-name{font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--white);margin-bottom:0.5rem;}
.service-desc{font-size:0.84rem;color:var(--muted);line-height:1.65;}

/* ── PLANS ── */
.plans{background:var(--dark);}
.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-top:3.5rem;}
.plan-card{background:var(--dark-3);border:1px solid rgba(181,242,61,0.08);padding:2.5rem 2rem;position:relative;transition:transform 0.3s,border-color 0.3s;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%);}
.plan-card:hover{transform:translateY(-5px);border-color:rgba(181,242,61,0.28);}
.plan-card.featured{background:var(--dark-4);border-color:var(--neon);box-shadow:0 0 50px rgba(181,242,61,0.1),inset 0 0 50px rgba(181,242,61,0.025);}
.plan-badge{font-family:'Barlow Condensed',sans-serif;font-size:0.67rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;background:var(--neon);color:var(--dark);padding:3px 10px;display:inline-block;margin-bottom:1.5rem;}
.plan-name{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;color:var(--white);letter-spacing:0.05em;}
.plan-price{font-family:'Bebas Neue',sans-serif;font-size:3.2rem;color:var(--neon);line-height:1.1;margin:0.75rem 0 0.25rem;text-shadow:0 0 20px rgba(181,242,61,0.3);}
.plan-currency{font-size:1.5rem;vertical-align:super;}
.plan-period{font-family:'Barlow Condensed',sans-serif;font-size:0.72rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted);margin-bottom:1.75rem;}
.plan-features{list-style:none;margin-bottom:2rem;}
.plan-features li{font-size:0.85rem;color:var(--text);padding:0.5rem 0;border-bottom:1px solid rgba(255,255,255,0.05);display:flex;align-items:center;gap:8px;}
.plan-features li::before{content:'—';color:var(--neon);font-weight:700;flex-shrink:0;}
.btn-plan{width:100%;font-family:'Barlow Condensed',sans-serif;font-size:0.84rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;padding:13px;background:transparent;border:1.5px solid rgba(181,242,61,0.28);color:var(--text);cursor:pointer;transition:all 0.25s;}
.btn-plan:hover,.plan-card.featured .btn-plan{background:var(--neon);border-color:var(--neon);color:var(--dark);}

/* ── BOOKING ── */
.booking-section{background:var(--dark-2);}
.booking-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;margin-top:3.5rem;align-items:start;}
.booking-perks{list-style:none;display:flex;flex-direction:column;gap:0.75rem;margin-bottom:2rem;}
.booking-perks li{display:flex;align-items:center;gap:10px;font-size:0.9rem;color:var(--text);}
.booking-perks li::before{content:'✓';color:var(--neon);font-weight:900;}
.call-box{padding:1.5rem;background:var(--dark-3);border:1px solid rgba(181,242,61,0.12);}
.call-box .lbl{font-family:'Barlow Condensed',sans-serif;font-size:0.68rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--neon);margin-bottom:0.5rem;}
.call-box a.phone-link{font-family:'Bebas Neue',sans-serif;font-size:1.9rem;color:var(--white);text-decoration:none;letter-spacing:0.05em;display:block;transition:color 0.2s;}
.call-box a.phone-link:hover{color:var(--neon);}
.call-box small{font-size:0.78rem;color:var(--muted);}
.booking-form-wrap{background:var(--dark-3);border:1px solid rgba(181,242,61,0.12);padding:2.5rem;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%);}
.booking-form-wrap h3{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;color:var(--white);letter-spacing:0.05em;margin-bottom:1.75rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-group{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:1.2rem;}
.form-group label{font-family:'Barlow Condensed',sans-serif;font-size:0.68rem;font-weight:700;letter-spacing:0.28em;text-transform:uppercase;color:var(--muted);}
.form-group input,.form-group select,.form-group textarea{background:var(--dark-4);border:1px solid rgba(181,242,61,0.1);color:var(--text);padding:11px 14px;font-family:'Barlow',sans-serif;font-size:0.9rem;outline:none;transition:border-color 0.25s;width:100%;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--neon);}
.form-group select option{background:var(--dark-3);}
.form-group textarea{resize:vertical;min-height:80px;}
.booking-confirm{display:none;text-align:center;padding:2rem 0;}
.booking-confirm .check{font-size:3rem;margin-bottom:1rem;}
.booking-confirm h4{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;color:var(--neon);letter-spacing:0.05em;margin-bottom:0.5rem;}
.booking-confirm p{font-size:0.9rem;color:var(--muted);line-height:1.75;}

/* ── ADMIN ── */
.admin-section{background:var(--dark);border-top:2px solid rgba(181,242,61,0.18);}
.admin-login-wrap{max-width:380px;margin:3rem auto 0;}
.admin-login-wrap h3{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;color:var(--white);letter-spacing:0.05em;margin-bottom:0.5rem;text-align:center;}
.admin-login-wrap .sub{font-size:0.82rem;color:var(--muted);text-align:center;margin-bottom:2rem;}
.admin-panel-wrap{display:none;}
.admin-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem;}
.admin-top span{font-family:'Barlow Condensed',sans-serif;font-size:0.78rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--neon);}
.admin-tabs{display:flex;border-bottom:1px solid rgba(181,242,61,0.14);margin-bottom:2rem;overflow-x:auto;}
.tab-btn{font-family:'Barlow Condensed',sans-serif;font-size:0.78rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;padding:12px 20px;background:transparent;border:none;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;transition:all 0.2s;margin-bottom:-1px;white-space:nowrap;}
.tab-btn.active{color:var(--neon);border-bottom-color:var(--neon);}
.tab-content{display:none;}
.tab-content.active{display:block;}
.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem;}
.admin-header h4{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;color:var(--white);letter-spacing:0.05em;}
.filter-select{font-family:'Barlow Condensed',sans-serif;font-size:0.74rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;background:var(--dark-3);border:1px solid rgba(181,242,61,0.14);color:var(--muted);padding:7px 12px;cursor:pointer;outline:none;}
.filter-select:focus{border-color:var(--neon);}
.bookings-table{width:100%;border-collapse:collapse;font-size:0.84rem;}
.bookings-table th{font-family:'Barlow Condensed',sans-serif;font-size:0.66rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);padding:10px 14px;text-align:left;border-bottom:1px solid rgba(181,242,61,0.12);}
.bookings-table td{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,0.04);color:var(--text);vertical-align:middle;}
.bookings-table tr:hover td{background:rgba(181,242,61,0.025);}
.status-badge{font-family:'Barlow Condensed',sans-serif;font-size:0.64rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;padding:3px 10px;display:inline-block;}
.status-pending{background:rgba(255,200,0,0.14);color:#ffc800;}
.status-confirmed{background:rgba(181,242,61,0.14);color:var(--neon);}
.status-cancelled{background:rgba(255,68,68,0.14);color:#ff6b6b;}
.action-btn{font-family:'Barlow Condensed',sans-serif;font-size:0.66rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:5px 10px;border:none;cursor:pointer;transition:all 0.2s;margin-right:4px;}
.action-confirm{background:rgba(181,242,61,0.14);color:var(--neon);}
.action-confirm:hover{background:var(--neon);color:var(--dark);}
.action-cancel{background:rgba(255,68,68,0.1);color:#ff6b6b;}
.action-cancel:hover{background:#ff4444;color:#fff;}
.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:1rem;margin-bottom:2rem;}
.admin-stat-card{background:var(--dark-3);border:1px solid rgba(181,242,61,0.1);padding:1.5rem;text-align:center;}
.admin-stat-card .num{font-family:'Bebas Neue',sans-serif;font-size:2.2rem;color:var(--neon);line-height:1;}
.admin-stat-card .lbl{font-family:'Barlow Condensed',sans-serif;font-size:0.64rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);margin-top:4px;}
.schedule-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:1rem;}
.day-col{background:var(--dark-3);border:1px solid rgba(181,242,61,0.07);padding:0.75rem 0.5rem;}
.day-col-header{font-family:'Barlow Condensed',sans-serif;font-size:0.64rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted);text-align:center;margin-bottom:0.5rem;padding-bottom:0.5rem;border-bottom:1px solid rgba(181,242,61,0.08);}
.day-booking{background:rgba(181,242,61,0.09);border-left:2px solid var(--neon);padding:4px 6px;margin-bottom:4px;font-size:0.67rem;color:var(--text);line-height:1.35;}

/* ── LOCATION ── */
.location-section{background:var(--dark-2);}
.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:3.5rem;align-items:start;}
.map-container{position:relative;height:360px;border:1px solid rgba(181,242,61,0.14);overflow:hidden;}
.map-container iframe{width:100%;height:100%;border:none;filter:invert(90%) hue-rotate(130deg) saturate(0.6) brightness(0.82);}
.location-info{display:flex;flex-direction:column;gap:2rem;}
.info-lbl{font-family:'Barlow Condensed',sans-serif;font-size:0.68rem;letter-spacing:0.32em;text-transform:uppercase;color:var(--neon);margin-bottom:0.5rem;}
.info-val{font-size:0.95rem;color:var(--text);line-height:1.78;}
.info-val a{color:var(--neon);text-decoration:none;}
.info-val a:hover{text-decoration:underline;}
.hours-row{font-size:0.86rem;display:flex;justify-content:space-between;padding:0.4rem 0;border-bottom:1px solid rgba(255,255,255,0.05);}
.hours-row span:first-child{color:var(--muted);}
.hours-row .open{color:var(--neon);}
.google-badges{display:flex;gap:1rem;flex-wrap:wrap;}
.g-badge{display:flex;align-items:center;gap:8px;background:var(--dark-3);border:1px solid rgba(181,242,61,0.1);padding:10px 16px;text-decoration:none;transition:border-color 0.2s;}
.g-badge:hover{border-color:rgba(181,242,61,0.3);}
.g-badge-text{font-family:'Barlow Condensed',sans-serif;font-size:0.73rem;font-weight:600;letter-spacing:0.1em;color:var(--muted);}
.g-badge-text b{color:var(--neon);display:block;font-size:0.95rem;}

/* ── FOOTER ── */
footer{background:var(--dark);border-top:1px solid rgba(181,242,61,0.1);padding:3rem 8vw;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;}
.footer-logo{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;letter-spacing:0.06em;color:var(--white);}
.footer-logo span{color:var(--neon);}
.footer-copy{font-size:0.76rem;color:var(--muted);line-height:1.6;}
.footer-social{display:flex;gap:1rem;}
.footer-social a{font-family:'Barlow Condensed',sans-serif;font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color 0.2s;}
.footer-social a:hover{color:var(--neon);}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.75s,transform 0.75s;}
.reveal.visible{opacity:1;transform:none;}

/* ── KEYFRAMES ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes neonPulse{0%,100%{text-shadow:0 0 40px rgba(181,242,61,0.65),0 0 90px rgba(181,242,61,0.3);}50%{text-shadow:0 0 70px rgba(181,242,61,1),0 0 140px rgba(181,242,61,0.55),0 0 240px rgba(181,242,61,0.2);}}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0.25;}}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .hero{padding:5vw 6vw;padding-top:90px;padding-bottom:6vh;flex-direction:column;justify-content:flex-end;}
  .hero-logo-badge{position:absolute;top:88px;right:5vw;transform:none;}
  .hero-logo-img{width:100px;height:100px;}
  .hero-logo-ring{padding:12px 14px 10px;}
  .hero-content{max-width:100%;}
  .hero-accent-line{display:none;}
  section{padding:4rem 6vw;}
  .stats-strip{padding:2rem 6vw;}
  .booking-layout,.location-grid{grid-template-columns:1fr;gap:2.5rem;}
  .map-container{height:260px;}
  .plans-grid{grid-template-columns:1fr;}
  .schedule-grid{grid-template-columns:repeat(3,1fr);}
  .form-row{grid-template-columns:1fr;}
  footer{flex-direction:column;align-items:flex-start;}
  .bookings-table th:nth-child(6),.bookings-table td:nth-child(6){display:none;}
}
@media(max-width:560px){
  .hero-logo-badge svg{width:90px;}
  .bookings-table th:nth-child(4),.bookings-table td:nth-child(4),.bookings-table th:nth-child(7),.bookings-table td:nth-child(7){display:none;}
  .wa-float{bottom:20px;right:20px;width:52px;height:52px;}
  .wa-float svg{width:28px;height:28px;}
}

/* LOGIN PAGE */

.login-page {
  min-height: calc(100vh - 220px);
  padding: 8rem 8vw 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 50% 0%, rgba(181,242,61,0.08), transparent 32%),
    var(--dark);
}

.login-card {
  width: 100%;
  max-width: 430px;
  background: var(--dark-3);
  border: 1px solid rgba(181,242,61,0.16);
  padding: 2.5rem;
  box-shadow:
    0 30px 90px rgba(0,0,0,0.55),
    inset 0 1px 0 rgba(255,255,255,0.04);
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%);
}

.login-brand {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 2rem;
}

.login-brand img {
  width: 52px;
  height: 52px;
  object-fit: contain;
  background: #fff;
  padding: 4px;
}

.login-brand span {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--neon);
}

.login-card h1 {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 3rem;
  line-height: 1;
  letter-spacing: 0.04em;
  color: var(--white);
  margin-bottom: 0.75rem;
}

.login-card p {
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.7;
  margin-bottom: 2rem;
}

.login-form .btn-primary {
  width: 100%;
  margin-top: 0.5rem;
}

.alert {
  padding: 12px 14px;
  margin-bottom: 1.25rem;
  background: rgba(181,242,61,0.09);
  border: 1px solid rgba(181,242,61,0.18);
  color: var(--text);
  font-size: 0.85rem;
}

.alert.error {
  background: rgba(255,68,68,0.09);
  border-color: rgba(255,68,68,0.25);
  color: #ff8b8b;
}

.back-link {
  display: inline-block;
  margin-top: 1.5rem;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
  text-decoration: none;
  transition: color 0.2s;
}

.back-link:hover {
  color: var(--neon);
}

/* =========================================================
   XTREME GYM - FINAL FRONT MATCH OVERRIDES
   Ajustes finales para igualar mejor el index.html viejo
   ========================================================= */

/* NAV FINAL */
nav {
  padding: 0 5.4vw;
  height: 68px;
}

nav.scrolled {
  height: 58px;
}

.nav-logo-img {
  height: 46px;
}

.nav-links {
  gap: 1.85rem;
}

.nav-links a {
  font-size: 0.78rem;
  letter-spacing: 0.13em;
}

.btn-nav {
  padding: 7px 17px;
  font-size: 0.76rem;
}

/* HERO FINAL */
.hero {
  min-height: 100vh;
  padding: 90px 8vw 6vh;
  justify-content: center;
}

.hero-content {
  max-width: 52%;
}

.hero-title {
  font-size: clamp(5.5rem, 13vw, 12.5rem);
  line-height: 0.86;
}

.hero-sub {
  max-width: 465px;
  font-size: clamp(0.92rem, 1.2vw, 1.05rem);
}

.hero-logo-badge {
  right: 7.3vw;
}

.hero-logo-img {
  width: 160px;
  height: 160px;
}

.hero-logo-ring {
  padding: 20px 22px 14px;
}

/* STATS FINAL */
.stats-strip {
  padding: 2rem 8vw;
  grid-template-columns: repeat(4, minmax(145px, 1fr));
}

.stat-number {
  font-size: 2.8rem;
}

/* SECTION GENERAL */
section {
  padding: 6rem 8vw;
}

.section-title {
  font-size: clamp(2.7rem, 5vw, 4.15rem);
}

.section-desc {
  max-width: 470px;
}

/* SERVICES FINAL */
.services-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5px;
  margin-top: 3.5rem;
}

.service-card {
  min-height: 220px;
  padding: 2.5rem 2rem;
}

.service-icon {
  font-size: 2rem;
}

.service-name {
  font-size: 1.1rem;
}

/* PLANS FINAL */
.plans-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  align-items: stretch;
}

.plan-card {
  min-height: 505px;
  display: flex;
  flex-direction: column;
  padding: 2.5rem 2rem;
}

.plan-card.featured {
  transform: translateY(-6px);
}

.plan-card.featured:hover {
  transform: translateY(-10px);
}

.plan-name {
  font-size: 1.95rem;
}

.plan-price {
  font-size: 3.55rem;
}

.plan-period {
  min-height: 32px;
}

.plan-features {
  margin-top: 0.5rem;
  margin-bottom: 2rem;
  flex: 1;
}

.btn-plan {
  display: block;
  text-align: center;
  text-decoration: none;
  margin-top: auto;
}

/* BOOKING FINAL */
.booking-layout {
  grid-template-columns: 0.9fr 1.15fr;
  gap: 4rem;
  align-items: start;
}

.booking-info {
  padding-top: 0.5rem;
}

.booking-form-wrap {
  min-height: auto;
}

.booking-form-wrap .btn-primary {
  width: auto;
}

/* ADMIN FRONT SECTION */
.admin-login-wrap {
  max-width: 380px;
  margin: 3rem auto 0;
  text-align: center;
}

.admin-login-wrap .btn-primary {
  width: auto;
}

/* LOCATION FINAL */
.location-grid {
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
}

.map-container {
  height: 360px;
}

/* FOOTER FINAL */
footer {
  padding: 3rem 8vw;
}

/* LOGIN FINAL */
.login-page {
  min-height: 100vh;
  padding: 7.5rem 8vw 5rem;
}

.login-card {
  max-width: 430px;
}

.login-form .btn-primary {
  width: 100%;
}

.back-link {
  text-align: center;
}

/* MOBILE FINAL */
@media (max-width: 1100px) {
  .hero-title {
    font-size: clamp(5rem, 12vw, 10rem);
  }

  .hero-logo-img {
    width: 135px;
    height: 135px;
  }

  .plans-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  nav {
    padding: 0 6vw;
  }

  .hero {
    padding: 90px 6vw 6vh;
    justify-content: flex-end;
  }

  .hero-content {
    max-width: 100%;
  }

  .hero-title {
    font-size: clamp(4.8rem, 18vw, 7rem);
  }

  .hero-logo-badge {
    top: 88px;
    right: 5vw;
  }

  .hero-logo-img {
    width: 100px;
    height: 100px;
  }

  .stats-strip {
    grid-template-columns: repeat(2, 1fr);
  }

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

  .plans-grid {
    grid-template-columns: 1fr;
  }

  .plan-card.featured {
    transform: none;
  }

  .booking-layout,
  .location-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .hero-title {
    font-size: clamp(4.2rem, 20vw, 5.7rem);
  }

  .hero-sub {
    font-size: 0.92rem;
  }

  .stats-strip {
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
  }

  .stat-number {
    font-size: 2.2rem;
  }

  .services-grid {
    grid-template-columns: 1fr;
  }

  .service-card {
    min-height: auto;
  }

  .login-card {
    padding: 2rem 1.5rem;
  }
}


/* STAFF MENU */
.staff-link {
  border: 2px solid var(--neon);
  padding: 10px 22px;
  color: var(--white) !important;
}

.staff-link span {
  color: var(--neon);
  margin-left: 8px;
}

/* HERO MOTION */
.hero-img {
  animation: heroBreath 13s ease-in-out infinite alternate;
}

@keyframes heroBreath {
  0% {
    transform: scale(1.04) translateX(0);
    filter: saturate(.7) brightness(.48);
  }
  100% {
    transform: scale(1.11) translateX(-18px);
    filter: saturate(.85) brightness(.58);
  }
}

/* HERO LOGO PRO */
.hero-logo-badge {
  opacity: .72;
  animation: heroLogoFloat 6s ease-in-out infinite;
}

.hero-logo-ring {
  background: rgba(4,6,4,.42);
  backdrop-filter: blur(10px);
}

.hero-logo-img {
  opacity: .88;
}

@keyframes heroLogoFloat {
  0%,100% {
    transform: translateY(-50%) translateX(0) scale(1);
  }
  50% {
    transform: translateY(-55%) translateX(-12px) scale(1.04);
  }
}

/* SHINE TEXT EFFECT */
.hero-title {
  position: relative;
  overflow: hidden;
}

.hero-title::after {
  content: "";
  position: absolute;
  top: -20%;
  left: -120%;
  width: 70%;
  height: 140%;
  background: linear-gradient(
    115deg,
    transparent 0%,
    rgba(255,255,255,.05) 35%,
    rgba(181,242,61,.38) 50%,
    rgba(255,255,255,.12) 65%,
    transparent 100%
  );
  transform: skewX(-18deg);
  animation: titleShine 4.8s ease-in-out infinite;
  pointer-events: none;
}

@keyframes titleShine {
  0% { left: -120%; }
  45% { left: 120%; }
  100% { left: 120%; }
}

/* SERVICES OLD STYLE */
.services-grid-large {
  grid-template-columns: repeat(6, 1fr);
  gap: 0;
}

.services-grid-large .service-card {
  min-height: 260px;
  padding: 3.5rem 2rem;
  border-right: 1px solid rgba(0,0,0,.35);
}

.services-grid-large .service-icon {
  font-size: 1.7rem;
  margin-bottom: 2rem;
}

.services-grid-large .service-name {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.8rem;
  letter-spacing: .08em;
}

.services-grid-large .service-desc {
  font-size: .95rem;
  line-height: 1.8;
}

/* REMOVE OLD BODY STAFF BLOCK SPACE IF ANY */
.admin-section {
  display: none !important;
}

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

@media(max-width:700px) {
  .services-grid-large {
    grid-template-columns: 1fr;
  }

  .staff-link {
    display: inline-block;
    width: fit-content;
  }
}

.staff-link {
    position: relative;
    padding-right: 20px;
}

.staff-link::after {
    content: ">";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    color: var(--neon);
    font-weight: 700;
}
.g-recaptcha {
    margin-top: 20px;
    margin-bottom: 20px;
}

/* CAPTCHA SIMPLE */

.captcha-group{
    margin-top:20px;
}

.captcha-box{
    display:grid;
    grid-template-columns:1fr 150px;
    gap:12px;
    align-items:center;
}

.captcha-box span{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(181,242,61,.15);
    padding:12px 15px;
    color:#fff;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.captcha-box input{
    margin:0;
}

@media(max-width:600px){

    .captcha-box{
        grid-template-columns:1fr;
    }

}


..hp-field {
    position: absolute !important;
    left: -9999px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}


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

.footer-social{
    display:flex;
    align-items:center;
    gap:16px;
}

.social-link{
    width:46px;
    height:46px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid rgba(181,242,61,.25);
    border-radius:50%;

    color:#b5f23d;

    transition:all .30s ease;
}

.social-link svg{
    width:22px;
    height:22px;
}

.social-link:hover{

    background:#b5f23d;

    color:#081006;

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

    box-shadow:0 0 20px rgba(181,242,61,.55);

}