/* Bharat Warriors Cricket Club - Enhanced Brand System */

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

*::selection {
  background: rgba(255, 255, 255, 0.95) !important;
  color: #07111f !important;
  -webkit-text-fill-color: #07111f !important;
}
*::-moz-selection {
  background: rgba(255, 255, 255, 0.95) !important;
  color: #07111f !important;
}

/* Accessibility - Skip to Content Link */
.skip-to-content {
  position: absolute;
  top: -100px;
  left: 0;
  background: #007bff;
  color: white;
  padding: 12px 24px;
  text-decoration: none;
  font-weight: 600;
  z-index: 100000;
  border-radius: 0 0 8px 0;
  transition: top 0.3s ease;
}

.skip-to-content:focus {
  top: 0;
  outline: 3px solid #ffd700;
  outline-offset: 2px;
}

/* Accessibility - Visually Hidden (Screen reader only) */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  background: #07111f !important;
  background-image: none !important;
}

html.smooth-scroll {
  scroll-behavior: smooth;
}

body {
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 1rem;
  line-height: 1.6;
  color: #ffffff;
  background-color: #07111f !important;
  background-image: none !important;
  background-attachment: unset !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-height: 100vh;
  min-height: 100dvh;
  overflow-x: hidden;
  position: relative;
}

/* Simple shared navigation (matches index.html and gallery screenshot) */
nav {
  background:
    linear-gradient(90deg, #FF9933 33.3%, #ffffff 33.3%, #ffffff 66.6%, #138808 66.6%) bottom / 100% 3px no-repeat,
    #0c3054;
  padding: 0.85rem 2rem;
  position: sticky;
  top: 0;
  z-index: 999998 !important;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
nav .container {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  gap: 2rem;
  position: relative;
}
nav .logo {
  display: flex;
  align-items: center;
  gap: 1rem;
  text-decoration: none;
  z-index: 1001;
}
nav .logo img {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  border: 3px solid rgba(255,255,255,0.3);
  box-shadow: 0 4px 15px rgba(0,0,0,0.3);
}
nav .logo h1 {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 1.9rem !important;
  font-weight: 400 !important;
  margin: 0;
  line-height: 1.15 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase;
  -webkit-text-fill-color: #D89018 !important;
  color: #D89018 !important;
}
nav .logo .subtitle {
  display: block;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.65rem !important;
  font-weight: 600 !important;
  letter-spacing: 4px !important;
  text-transform: uppercase;
  -webkit-text-fill-color: #D89018 !important;
}

/* Mobile nav backdrop overlay */
.nav-overlay {
  display: none;
  position: fixed;
  top: 92px; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.55);
  z-index: 998;
  -webkit-tap-highlight-color: transparent;
}
.nav-overlay.active { display: block; }
@media (max-width: 480px) {
  .nav-overlay { top: 62px; }
}

/* Hamburger Menu Button */
.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 10px;
  z-index: 1001;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  min-width: 44px;
  min-height: 44px;
  justify-content: center;
  align-items: center;
}
.menu-toggle span {
  width: 22px;
  height: 2px;
  background: #D89018;
  border-radius: 1px;
  transition: all 0.3s ease;
  display: block;
}
.menu-toggle:hover span,
.menu-toggle:active span {
  background: #F5C040;
}
.menu-toggle.active span:nth-child(1) {
  transform: rotate(45deg) translate(8px, 8px);
}
.menu-toggle.active span:nth-child(2) {
  opacity: 0;
}
.menu-toggle.active span:nth-child(3) {
  transform: rotate(-45deg) translate(7px, -7px);
}

nav ul {
  display: flex;
  list-style: none;
  gap: 0.25rem;
  flex-wrap: nowrap;
  margin: 0;
  padding: 0;
  align-items: center;
}
nav ul li a {
  color: rgba(255,255,255,0.6);
  text-decoration: none;
  padding: 0.5rem 0.7rem;
  transition: color 0.2s ease;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 0.7rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  background: none;
  white-space: nowrap;
  position: relative;
}
nav ul li a:hover {
  color: #D89018;
}
nav ul li a.active {
  color: #D89018;
}
nav ul li a.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 16px;
  height: 2px;
  background: linear-gradient(90deg, #D89018, #F5C040);
  border-radius: 1px;
}

/* Mobile Responsive Navigation */
@media (max-width: 1100px) {
  nav {
    padding: 1.1rem 1rem;
  }
  nav .container {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  nav .logo {
    gap: 0.5rem;
    max-width: calc(100% - 60px);
  }
  nav .logo img {
    width: 64px;
    height: 64px;
    flex-shrink: 0;
  }
  nav .logo h1 {
    font-size: 1.5rem;
    line-height: 1.15;
    letter-spacing: 2px;
    white-space: nowrap;
  }
  nav .logo .subtitle {
    font-size: 0.55rem;
    letter-spacing: 3px;
  }
  .menu-toggle {
    display: flex;
    flex-shrink: 0;
  }
  nav ul {
    position: fixed !important;
    top: 92px;
    right: -100% !important;
    width: 280px;
    height: calc(100dvh - 92px);
    background: #0c3054;
    flex-direction: column;
    gap: 0;
    padding: 1.5rem 2rem 2rem;
    transition: right 0.3s ease;
    box-shadow: -5px 0 15px rgba(0,0,0,0.3);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 999;
    display: flex !important;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  nav ul.active {
    right: 0 !important;
  }
  nav ul li {
    width: 100%;
  }
  nav ul li a {
    display: block;
    width: 100%;
    padding: 0.85rem 1rem;
    text-align: left;
    font-size: 0.85rem;
    letter-spacing: 2px;
    background: none;
    border-radius: 0;
    border-left: 2px solid transparent;
    margin-bottom: 0;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }
  nav ul li a.active {
    color: #D89018;
    border-left-color: #D89018;
  }
  nav ul li a.active::after {
    display: none;
  }
  
  /* Mobile content improvements */
  body {
    font-size: 0.95rem;
  }
  
  h1 {
    font-size: 2rem !important;
  }
  
  h2 {
    font-size: 1.75rem !important;
  }
  
  h3 {
    font-size: 1.4rem !important;
  }
  
  .container {
    padding: 1rem;
  }
  
  /* Mobile grid layouts */
  div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }
  
  /* Better touch targets for all buttons */
  button, .btn, a {
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }
  
  /* Fix viewport for consistent mobile display */
  * {
    -webkit-tap-highlight-color: rgba(0,0,0,0);
  }
}

/* Extra small phones */
@media (max-width: 480px) {
  nav {
    padding: 0.85rem 0.75rem;
  }
  nav .logo img {
    width: 52px;
    height: 52px;
  }
  nav .logo h1 {
    font-size: 1.1rem;
    letter-spacing: 1px;
    white-space: nowrap;
  }
  nav .logo .subtitle {
    font-size: 0.5rem;
    letter-spacing: 1.5px;
  }
  nav ul {
    top: 76px;
    height: calc(100dvh - 76px);
  }
  .nav-overlay { top: 76px; }
}

:root {
  /* BCC Brand — Navy + Gold */
  --navy:        #0c3054;
  --navy-2:      #0a1e40;
  --navy-dark:   #07111f;
  --navy-card:   #0c1e38;
  --navy-light:  rgba(12, 48, 84, 0.8);

  /* Gold gradient — extracted from BCC logo */
  --gold-dark:    #9A6010;
  --gold-mid:     #D89018;
  --gold-bright:  #F5C040;
  --gold-gradient: linear-gradient(135deg, #9A6010, #D89018, #F5C040, #D89018, #9A6010);

  /* Indian flag accents */
  --saffron:       #FF9933;
  --green:         #138808;
  --green-light:   #2ecc71;
  --green-dark:    #27ae60;

  /* Functional */
  --blue:          #3b82f6;
  --orange:        #FF9933;
  --primary-color: #D89018;
  --secondary-color: #9A6010;
  --chakra:        #3b82f6;
  --accent-gradient: var(--gold-gradient);

  /* Typography */
  --ink:           #ffffff;
  --text-color:    #ffffff;
  --text-light:    rgba(255,255,255,0.6);
  --muted:         rgba(255,255,255,0.4);
  --text-accent:   #D89018;

  /* Surfaces */
  --bg:              #07111f;
  --bg-secondary:    #0a1e40;
  --paper:           #0c1e38;
  --surface-elevated: #0c3054;
  --line:            rgba(255,255,255,0.08);
  --line-light:      rgba(255,255,255,0.04);

  /* Nav */
  --nav-hover: rgba(216,144,24,0.15);
  --nav-bg:    rgba(12,48,84,0.95);

  /* Shadows — subtle on dark bg */
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.3);
  --shadow-md: 0 8px 20px rgba(0,0,0,0.4);
  --shadow-lg: 0 15px 35px rgba(0,0,0,0.5);
  --shadow-xl: 0 25px 50px rgba(0,0,0,0.6);

  /* Spacing */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;

  /* Border Radius */
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 10px;
  --radius-xl: 14px;
  --radius-full: 50%;
}

/* Scroll Progress Bar */
.scroll-progress, #scroll-progress-backup {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 0% !important;
  height: 5px !important;
  background: linear-gradient(90deg, #9A6010, #D89018, #F5C040, #D89018, #9A6010) !important;
  z-index: 9999 !important;
  transition: width 0.1s ease-out !important;
  border-radius: 0 3px 3px 0 !important;
  box-shadow: 0 3px 6px rgba(44, 90, 160, 0.5) !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

/* Backup scroll progress with inline styles */
#scroll-progress-backup {
  background: #dc3545 !important;
  height: 6px !important;
}
/* Enhanced Scroll Up/Down Buttons */
.scroll-buttons {
  position: fixed;
  right: 24px;
  bottom: 32px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 9998;
  pointer-events: none; /* Allow buttons to handle their own events */
}

.scroll-buttons button {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: none;
  background: linear-gradient(135deg, #2c5aa0 0%, #007bff 100%);
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  box-shadow: 0 4px 16px rgba(44, 90, 160, 0.25);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  outline: none;
  display: none;
  align-items: center;
  justify-content: center;
  pointer-events: auto; /* Restore pointer events for buttons */
  transform: translateY(10px);
}

.scroll-buttons button:hover {
  opacity: 1 !important;
  background: linear-gradient(135deg, #dc3545 0%, #28a745 100%);
  transform: translateY(0) scale(1.1);
  box-shadow: 0 6px 20px rgba(44, 90, 160, 0.4);
}

.scroll-buttons button:active {
  transform: translateY(0) scale(0.95);
}

/* Premium Navigation Links */
.premium-nav-link {
  background: rgba(255,255,255,0.12) !important;
  color: rgba(255,255,255,0.95) !important;
  padding: 0.6rem 1rem !important;
  border-radius: 18px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 0.8rem !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  white-space: nowrap !important;
  backdrop-filter: blur(5px) !important;
  position: relative !important;
  overflow: hidden !important;
}

.premium-nav-link::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.5s ease;
}

.premium-nav-link:hover::before {
  left: 100%;
}

.premium-nav-link:hover {
  background: rgba(255,255,255,0.25) !important;
  transform: translateY(-2px) scale(1.05) !important;
  box-shadow: 0 8px 25px rgba(0,0,0,0.2) !important;
  border-color: rgba(255,255,255,0.3) !important;
  color: white !important;
}

.premium-nav-link:active {
  transform: translateY(0) scale(0.98) !important;
}

/* Legacy nav-link support */
.nav-link {
  background: var(--nav-bg) !important;
  color: white !important;
  padding: 0.75rem 1.25rem !important;
  border-radius: 25px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  transition: all 0.3s ease !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  white-space: nowrap !important;
}

.nav-link:hover {
  background: var(--nav-hover) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.15) !important;
}

.nav-icon {
  font-size: 1rem;
  opacity: 0.9;
}

/* Player Showcase Styles */
.player-filter-btn {
  transition: all 0.3s ease !important;
}

.player-filter-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.2) !important;
}

.player-filter-btn.active {
  background: linear-gradient(135deg, #2c5aa0, #4472c4) !important;
  color: white !important;
  box-shadow: 0 4px 15px rgba(44, 90, 160, 0.3) !important;
}

.player-card {
  background: white;
  border-radius: 15px;
  padding: 1.5rem;
  box-shadow: 0 8px 25px rgba(0,0,0,0.1);
  transition: all 0.3s ease;
  border: 2px solid transparent;
  position: relative;
  overflow: hidden;
}

.player-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #2c5aa0, #dc3545, #28a745);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.player-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(0,0,0,0.15);
  border-color: rgba(44, 90, 160, 0.2);
}

.player-card:hover::before {
  opacity: 1;
}

.player-initials {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: linear-gradient(135deg, #2c5aa0, #4472c4);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 1.2rem;
  margin: 0 auto 1rem;
  box-shadow: 0 4px 15px rgba(44, 90, 160, 0.3);
}

.player-name {
  font-weight: 700;
  color: #2c5aa0;
  margin-bottom: 0.5rem;
  text-align: center;
}

.player-role {
  color: #6c757d;
  font-size: 0.9rem;
  text-align: center;
  margin-bottom: 1rem;
}

.player-badges {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: center;
}

.badge {
  background: linear-gradient(135deg, #dc3545, #e85d6d);
  color: white;
  padding: 0.25rem 0.75rem;
  border-radius: 15px;
  font-size: 0.8rem;
  font-weight: 600;
}

.badge.leader { background: linear-gradient(135deg, #2c5aa0, #4472c4); }
.badge.bowler { background: linear-gradient(135deg, #28a745, #4eca6a); }
.badge.fielder { background: linear-gradient(135deg, #ffc107, #ffcd39); color: #212529; }

/* Match Fixtures Styles */
.match-tab {
  transition: all 0.3s ease !important;
}

.match-tab:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.2) !important;
}

.match-tab.active {
  background: linear-gradient(135deg, #28a745, #20c997) !important;
  color: white !important;
  box-shadow: 0 4px 15px rgba(40, 167, 69, 0.3) !important;
}

.match-card {
  transition: all 0.3s ease;
}

.match-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.15) !important;
}

/* Individual button styling */
#scroll-to-top {
  background: linear-gradient(135deg, #2c5aa0 0%, #007bff 100%);
}

#scroll-to-bottom {
  background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .scroll-buttons {
    right: 16px;
    bottom: 20px;
    gap: 8px;
  }

/* High-specificity override: ensure mobile menu fully opaque and above all elements */
/* (removed nested override to prevent invalid CSS and accidental transparency) */
  
  .scroll-buttons button {
    width: 44px;
    height: 44px;
    font-size: 1.2rem;
  }
}

/* Global Reset and Typography */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

html, body {
  margin: 0;
  height: 100%;
}

body {
  font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: var(--ink);
  background: var(--bg);
  line-height: 1.6;
  overflow-x: hidden;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "kern" 1, "liga" 1;
}

/* Enhanced Typography Hierarchy */
h1, h2, h3, h4, h5, h6 {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
  letter-spacing: -0.025em;
}

p {
  margin: 0 0 1em;
  line-height: 1.7;
}

a {
  color: var(--primary-color);
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover {
  color: var(--saffron-dark);
}

/* Improved Focus States */
:focus-visible {
  outline: 2px solid var(--primary-color);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}

/* Typography Utilities */
.text-gradient {
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.text-navy { color: var(--navy); }
.text-saffron { color: var(--saffron); }
.text-green { color: var(--green); }
.text-blue { color: var(--blue); }
.text-muted { color: var(--muted); }

.fw-light { font-weight: 300; }
.fw-normal { font-weight: 500; }
.fw-semibold { font-weight: 600; }
.fw-bold { font-weight: 700; }
.fw-black { font-weight: 900; }
a{color:inherit;text-decoration:none}
.container{max-width:1160px;margin:0 auto;padding:0 18px;width:100%}
.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 6px 14px rgba(20,34,62,.06);transition:transform 0.3s ease, box-shadow 0.3s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(20,34,62,.12)}

/* Mahakal Badge in Navigation Menu */
.mahakal-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 75px;
  height: 75px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid rgba(255, 107, 53, 0.8);
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.3);
  transition: all 0.3s ease;
  margin-left: 8px;
  position: static;
  flex-shrink: 0;
}

.mahakal-badge:hover {
  transform: scale(1.1);
  border-color: #ff6b35;
  box-shadow: 0 5px 18px rgba(255, 107, 53, 0.6);
}

.mahakal-img {
  width: 71px;
  height: 71px;
  object-fit: cover;
  object-position: center;
  border-radius: 50%;
  transition: transform 0.3s ease;
  box-shadow: 0 2px 8px rgba(44,90,160,0.15);
}

.mahakal-badge:hover .mahakal-img {
  transform: scale(1.05);
}

/* Brand Logo Styling */
.brand-logo {
  width: 80px;
  height: 80px;
  object-fit: cover;
  object-position: center center;
  border-radius: 50%;
  background: transparent;
  border: 3px solid #ff6b35;
  margin-right: 16px;
  margin-top: 8px;
  transition: all 0.3s ease;
}

/* Comprehensive Mobile Styles */
@media (max-width: 768px) {
  /* Mobile Body and Container */
  body {
    overflow-x: hidden;
  }
  
  .container {
    padding: 0 15px;
    max-width: 100%;
    box-sizing: border-box;
  }
  
  /* Mobile Navigation */
  .nav {
    padding: 0;
  }
  
  .nav .wrap {
    padding: 10px 15px;
    gap: 10px;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    position: relative;
  }
  
  /* Show hamburger menu on mobile */
  .mobile-menu-toggle {
    display: flex !important;
    flex-direction: column;
    gap: 4px;
    background: none;
    border: none;
    padding: 8px;
    cursor: pointer;
    z-index: 1000000 !important;
  }
  
  .brand {
    flex: 1;
    min-width: 0;
    margin-right: 50px; /* Make space for Mahakal badge */
  }
  
  .brand-logo {
    width: 50px !important;
    height: 50px !important;
    margin-right: 10px !important;
    margin-top: 0 !important;
    border-width: 2px;
  }
  
  .brand .t {
    font-size: 14px !important;
    line-height: 1.1;
    margin: 0;
  }
  
  .brand .s {
    font-size: 10px !important;
    margin: 0;
  }
  
  /* Hide desktop menu items on mobile */
  .menu {
    display: none !important;
    position: fixed !important;
    top: 100%;
    left: 0;
    right: 0;
    bottom: 0;
    height: calc(100vh - 100%) !important;
    width: 100vw !important;
    background: #0c3054 !important;
    flex-direction: column;
    padding: 0;
    padding-top: 20px;
    padding-bottom: 20px;
    border-top: 2px solid rgba(255,255,255,0.1);
    z-index: 999999 !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
    backdrop-filter: none !important;
    max-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    transition: max-height 0.3s ease;
    opacity: 1 !important;
  }
  
  .menu.mobile-open {
    display: flex !important;
    animation: slideDown 0.3s ease;
    max-height: 100vh;
    min-height: 50vh;
    opacity: 1 !important;
    visibility: visible !important;
  }
  
  .menu a {
    padding: 15px 20px;
    font-size: 16px;
    width: 100%;
    text-align: left;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    background: none !important;
    border-radius: 0 !important;
    justify-content: flex-start;
    height: auto;
  }
  
  .menu a:hover {
    background: rgba(255,255,255,0.1) !important;
    transform: none !important;
    box-shadow: none !important;
  }
  
  .dropdown {
    width: 100%;
  }
  
  .dropdown button {
    width: 100%;
    text-align: left;
    padding: 15px 20px;
    font-size: 16px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    background: none !important;
    border-radius: 0 !important;
    height: auto;
    justify-content: flex-start;
  }
  
  .dropdown button:hover {
    background: rgba(255,255,255,0.1) !important;
    transform: none !important;
    box-shadow: none !important;
  }
  
  .dropdown-menu {
    position: static;
    background: rgba(0,0,0,0.3);
    padding: 0;
  }
  
  .dropdown-menu a {
    padding-left: 40px;
    font-size: 14px;
  }
  
  .mahakal-badge {
    width: 40px;
    height: 40px;
    margin: 10px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: static !important;
    flex-shrink: 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
  }
  
  .dropdown-menu {
    position: static !important;
    background: rgba(0,0,0,0.3) !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: none !important;
  }
  
  /* Mobile Menu Toggle */
  .mobile-menu-toggle {
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: none;
    border: none;
    padding: 8px;
    cursor: pointer;
  }
  
  .mobile-menu-toggle span {
    width: 25px;
    height: 3px;
    background: white;
    transition: all 0.3s ease;
  }
  
  .mobile-menu-toggle.active span:nth-child(1) {
    transform: rotate(45deg) translate(6px, 6px);
  }
  
  .mobile-menu-toggle.active span:nth-child(2) {
    opacity: 0;
  }
  
  .mobile-menu-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(6px, -6px);
  }
}

/* Enhanced Navigation */
.nav{position:sticky; top: 0; z-index:999998 !important; background:#0c3054;
     border-bottom:1px solid rgba(216,144,24,0.18); box-shadow:0 8px 22px rgba(10,28,60,.22);
     backdrop-filter:blur(10px); transition:all 0.3s ease;}

.nav.scrolled {
  background: linear-gradient(180deg, rgba(12, 30, 55, 0.95), rgba(15, 36, 72, 0.95));
  backdrop-filter: blur(20px);
  box-shadow: 0 12px 32px rgba(10,28,60,.35);
}

.nav .wrap{display:flex;align-items:center;gap:12px;padding:8px 14px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:16px;transition:transform 0.3s ease}
.brand:hover{transform:scale(1.02)}
.brand img{width:80px;height:80px;border-radius:50%;background:#fff;object-fit:contain;box-shadow:0 4px 12px rgba(0,0,0,.3);transition:box-shadow 0.3s ease}
.brand .t{font-family:"Oswald","Montserrat",sans-serif;font-size:18px;font-weight:700;letter-spacing:2px;background:linear-gradient(135deg, #9A6010, #D89018, #F5C040, #D89018, #9A6010);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand .s{font-family:"Montserrat",sans-serif;font-size:13px;color:#e7f0ff;opacity:.95;font-weight:500}
.menu{display:flex;gap:8px;align-items:center;margin-left:auto;flex-wrap:wrap}
.mobile-menu-toggle{display:none}

/* Hide hamburger on desktop */
@media (min-width: 769px) {
  .mobile-menu-toggle {
    display: none !important;
  }
}
.menu a,.dropdown>button{cursor:pointer;display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 14px;
  color:#eef4ff;font-family:"Montserrat",sans-serif;font-size:14px;font-weight:700;letter-spacing:.2px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);
  border-radius:12px;transition:all .3s ease;position:relative;overflow:hidden;border:none}

.menu a::before,.dropdown>button::before{content:'';position:absolute;inset:0;background:var(--accent-gradient);opacity:0;transition:all 0.3s ease}

.menu a::after{content:'';position:absolute;bottom:0;left:50%;width:0;height:3px;background:linear-gradient(90deg, #D89018, #F5C040);transform:translateX(-50%);transition:width 0.3s ease;border-radius:2px 2px 0 0}

.menu a:hover::before,.dropdown>button:hover::before{opacity:0.1}
.menu a:hover,.dropdown>button:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.25)}
.menu a:hover::after{width:80%}

.menu .active{background:rgba(255,255,255,.22);box-shadow:0 4px 12px rgba(0,0,0,.15);transform:translateY(-1px)}
.menu .active::after{width:80%;background:linear-gradient(90deg, #D89018, #F5C040)}
.dropdown{position:relative; z-index:1000001 !important;}
.dropdown-menu{position:absolute; top:calc(100% + 8px); right:0; min-width:220px; background:#0f2548; color:#fff;
  border:1px solid rgba(255,255,255,.18); border-radius:12px; padding:6px; display:none; 
  box-shadow:0 18px 36px rgba(0,0,0,.35);backdrop-filter:blur(10px); z-index:1000002 !important;}
.dropdown.open .dropdown-menu{display:block;animation:fadeIn 0.2s ease}
.dropdown-menu a{display:block;padding:9px 10px;border-radius:8px;white-space:nowrap;transition:all 0.2s ease;font-family:"Montserrat",sans-serif;font-size:14px;font-weight:600}
.dropdown-menu a:hover{background:rgba(255,255,255,.12);transform:translateX(4px)}
  .social{display:flex;gap:8px;margin-left:6px}
  .social a{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);transition:all 0.3s ease}
  .social a:hover{background:rgba(255,255,255,.2);transform:scale(1.1)}
  .social svg{width:18px;height:18px;fill:#fff}

  /* Hide social icons on desktop - they'll be shown in mobile menu */
  @media (min-width: 769px) {
    .social{display:none}
  }@keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}

/* Mobile menu slide animation */
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.section {
  padding: 80px 0;
  scroll-margin-top: 130px;
  position: relative;
}

.section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--line), transparent);
  opacity: 0.5;
}

.hero {
  scroll-margin-top: 0;
  position: relative;
  overflow: hidden;
}

/* Add subtle animations on scroll */
.section h2 {
  opacity: 0;
  transform: translateY(30px);
  animation: fadeInUp 0.8s ease forwards;
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Enhanced loading and entrance animations */
@keyframes slideInFromLeft {
  0% {
    opacity: 0;
    transform: translateX(-50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideInFromRight {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes scaleIn {
  0% {
    opacity: 0;
    transform: scale(0.8);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/* Enhanced pulse animation for important elements */
@keyframes pulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(44, 90, 160, 0.4);
  }
  50% {
    transform: scale(1.05);
    box-shadow: 0 0 0 10px rgba(44, 90, 160, 0);
  }
}

/* Modern Performance & Visual Enhancements */

/* Enhanced performance optimizations */
* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}

/* Better text selection */
::selection {
  background: rgba(44, 90, 160, 0.2);
  color: var(--navy);
}

::-moz-selection {
  background: rgba(44, 90, 160, 0.2);
  color: var(--navy);
}

/* Enhanced scrollbar styling */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 10px;
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(45deg, var(--blue), var(--saffron));
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(45deg, var(--saffron), var(--blue));
}

/* Improved accessibility */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}


/* Enhanced Hero with Indian flag and animations */
.hero{position:relative;border-bottom:1px solid var(--line);overflow:hidden;min-height:70vh;display:flex;align-items:center}
.hero.flag::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,var(--saffron) 0 33.333%, #ffffff 33.333% 66.666%, var(--green) 66.666% 100%);
  opacity:.15; pointer-events:none;
  animation:pulseFlag 6s ease-in-out infinite;
}
@keyframes pulseFlag{0%,100%{opacity:.15}50%{opacity:.25}}

.hero.flag::after{
  content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:min(50vw,420px); height:min(50vw,420px);
  background-repeat:no-repeat; background-position:center; background-size:contain; opacity:.25; pointer-events:none;
  animation:rotateChakra 20s linear infinite;
  background-image:url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'>\
<defs><g id='sp'><line x1='100' y1='100' x2='100' y2='16' stroke='%230a5aad' stroke-width='6'/></g></defs>\
<g>\
<use href='%23sp'/><use href='%23sp' transform='rotate(15 100 100)'/>\
<use href='%23sp' transform='rotate(30 100 100)'/><use href='%23sp' transform='rotate(45 100 100)'/>\
<use href='%23sp' transform='rotate(60 100 100)'/><use href='%23sp' transform='rotate(75 100 100)'/>\
<use href='%23sp' transform='rotate(90 100 100)'/><use href='%23sp' transform='rotate(105 100 100)'/>\
<use href='%23sp' transform='rotate(120 100 100)'/><use href='%23sp' transform='rotate(135 100 100)'/>\
<use href='%23sp' transform='rotate(150 100 100)'/><use href='%23sp' transform='rotate(165 100 100)'/>\
<use href='%23sp' transform='rotate(180 100 100)'/><use href='%23sp' transform='rotate(195 100 100)'/>\
<use href='%23sp' transform='rotate(210 100 100)'/><use href='%23sp' transform='rotate(225 100 100)'/>\
<use href='%23sp' transform='rotate(240 100 100)'/><use href='%23sp' transform='rotate(255 100 100)'/>\
<use href='%23sp' transform='rotate(270 100 100)'/><use href='%23sp' transform='rotate(285 100 100)'/>\
<use href='%23sp' transform='rotate(300 100 100)'/><use href='%23sp' transform='rotate(315 100 100)'/>\
<use href='%23sp' transform='rotate(330 100 100)'/><use href='%23sp' transform='rotate(345 100 100)'/>\
</g>\
<circle cx='100' cy='100' r='8' fill='%230a5aad'/>\
<circle cx='100' cy='100' r='92' fill='none' stroke='%230a5aad' stroke-width='6'/>\
</svg>");
}
@keyframes rotateChakra{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}

.hero .wrap{padding:60px 0 50px;position:relative;z-index:2;text-align:center}
.h-title{margin:0 0 12px;font-size:clamp(32px, 5vw, 48px);line-height:1.1;font-weight:900;color:#0e1d39;animation:slideInUp 0.8s ease}
.h-title .accent{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{color:#31476b;max-width:740px;margin:0 auto 8px;font-size:18px;animation:slideInUp 0.8s ease 0.2s both}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 0;animation:slideInUp 0.8s ease 0.4s both;justify-content:center}
.chip{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:#21335b;font-weight:800;
  transition:all 0.3s ease;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.chip:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(0,0,0,.12)}
.next{margin:30px auto 0;padding:20px;animation:slideInUp 0.8s ease 0.6s both;max-width:600px}
.next-list{display:grid;gap:8px;margin-top:8px}
.next-item{padding:12px;border:1px solid var(--line);border-radius:10px;background:#fbfdff;transition:all 0.3s ease}
.next-item:hover{background:#f0f6ff;transform:translateX(4px)}
.lg{font-weight:900;color:#0f66d2;margin-right:8px}

@keyframes slideInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

/* ANNOUNCEMENT BANNER SECTION */
.announcement-banner{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 50%,var(--chakra) 100%);
  padding:50px 0;position:relative;overflow:hidden;border-bottom:3px solid var(--accent-gradient)}
.announcement-banner::before{content:'';position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M0,0 Q50,25 100,0 L100,100 Q50,75 0,100 Z' fill='%23ffffff' opacity='0.05'/%3E%3C/svg%3E");
  background-size:200px 100px;animation:wave 20s linear infinite}
@keyframes wave{0%{background-position:0 0}100%{background-position:200px 0}}

.announcement-card{background:rgba(255,255,255,0.95);border-radius:20px;padding:40px;
  box-shadow:0 20px 40px rgba(0,0,0,0.15);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.2);
  animation:slideInUp 0.8s ease;max-width:900px;margin:0 auto;position:relative}

.announcement-header{text-align:center;margin-bottom:30px;position:relative}
.announcement-icon{font-size:3rem;margin-bottom:15px;animation:bounce 2s infinite}
.announcement-title{color:var(--navy);font-size:clamp(24px,4vw,32px);font-weight:900;margin:0 0 15px;
  background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.2}
.announcement-date{color:var(--muted);font-weight:600;font-size:16px;
  background:var(--line);padding:8px 20px;border-radius:20px;display:inline-block}

.announcement-content{text-align:left}
.announcement-intro{font-size:18px;font-weight:700;color:var(--navy);margin-bottom:25px;text-align:center}

.expansion-highlight{background:linear-gradient(135deg,#f8faff 0%,#e8f2ff 100%);
  border:2px solid var(--line);border-radius:16px;padding:25px;margin:25px 0;text-align:center}
.expansion-highlight h3{color:var(--navy);font-size:20px;font-weight:800;margin:0 0 20px}

.teams-showcase{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:20px;flex-wrap:wrap}
.team-box{background:var(--paper);border:2px solid var(--line);border-radius:16px;padding:20px;
  min-width:160px;text-align:center;transition:all 0.3s ease;position:relative;overflow:hidden}
.team-box::before{content:'';position:absolute;inset:0;background:var(--accent-gradient);opacity:0;transition:opacity 0.3s ease}
.team-box:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(0,0,0,0.15)}
.team-box:hover::before{opacity:0.05}
.team-warriors{border-color:var(--saffron)}
.team-yodhas{border-color:var(--green)}
.team-logo{width:45px;height:45px;margin:0 auto 10px;position:relative;z-index:2;display:flex;align-items:center;justify-content:center}
.team-logo .logo-img{width:100%;height:100%;object-fit:contain;border-radius:50%;background:#fff;
  border:1px solid transparent;transition:all 0.3s ease;box-shadow:0 2px 6px rgba(0,0,0,0.1)}
.team-warriors .logo-img{border-color:var(--saffron)}
.team-yodhas .logo-img{border-color:var(--green)}
.team-box:hover .logo-img{transform:scale(1.03);box-shadow:0 4px 12px rgba(0,0,0,0.15)}
.team-name{font-size:18px;font-weight:800;color:var(--navy);position:relative;z-index:2}
.vs-separator{font-size:24px;font-weight:900;color:var(--chakra);background:var(--paper);
  border:2px solid var(--line);border-radius:50%;width:50px;height:50px;display:flex;
  align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,0.1)}

.announcement-text{font-size:16px;line-height:1.7;color:var(--ink);margin-bottom:20px;text-align:justify}
.announcement-gratitude{font-size:16px;line-height:1.7;color:var(--navy);font-weight:600;
  text-align:center;margin:25px 0;font-style:italic}

.announcement-footer{text-align:center;margin-top:30px;padding-top:25px;border-top:2px solid var(--line)}
.announcement-footer .motto{font-size:24px;font-weight:900;
  background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}

@media (max-width: 768px) {
  .announcement-banner{padding:30px 0}
  .announcement-card{padding:25px;margin:0 15px}
  .announcement-title{font-size:24px}
  .teams-showcase{flex-direction:column;gap:15px}
  .team-box{min-width:140px}
  .vs-separator{width:40px;height:40px;font-size:20px}
}

/* Enhanced Typography System */
.section h1, .section h2 {
  margin: 0 0 16px;
  font-size: clamp(28px, 5vw, 36px);
  font-weight: 900;
  color: #0e1d39;
  position: relative;
  line-height: 1.2;
  letter-spacing: -0.02em;
  font-family: "Montserrat", sans-serif;
}

.section h1::after, .section h2::after {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 70px;
  height: 4px;
  background: var(--accent-gradient);
  border-radius: 2px;
  animation: slideInLeft 0.6s ease forwards;
}

@keyframes slideInLeft {
  from { width: 0; }
  to { width: 70px; }
}

.section h3 {
  color: var(--navy);
  font-size: clamp(20px, 3.5vw, 24px);
  font-weight: 800;
  margin: 0 0 12px;
  line-height: 1.3;
  letter-spacing: -0.01em;
  font-family: "Montserrat", sans-serif;
}

.section h4 {
  color: var(--text-color);
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 10px;
  line-height: 1.4;
  font-family: "Montserrat", sans-serif;
}

.sub {
  color: var(--muted);
  font-size: clamp(15px, 2.5vw, 17px);
  margin-bottom: 30px;
  line-height: 1.7;
  font-weight: 500;
  max-width: 800px;
}

/* League tabs */
.league-tabs{justify-content:center}
.league-tab{padding:12px 20px;border-radius:12px;font-weight:700;border:2px solid var(--line);
  background:#fff;color:var(--ink);cursor:pointer;transition:all 0.3s ease;
  display:inline-flex;align-items:center;gap:8px}
.league-tab:hover{background:#f0f6ff;border-color:var(--blue);transform:translateY(-2px)}
.league-tab.active{background:var(--accent-gradient);color:#fff;border-color:transparent;
  box-shadow:0 8px 20px rgba(255,122,26,.3)}

/* Enhanced Tables */
.table-wrapper{overflow-x:auto;border-radius:14px;box-shadow:0 6px 20px rgba(0,0,0,.08)}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{padding:16px 12px;border-bottom:1px solid var(--line);text-align:left}
th{background:linear-gradient(135deg, #f0f6ff 0%, #e8f2ff 100%);color:#0e1d39;font-weight:900;position:sticky;top:0;z-index:1}
tr:hover{background:#f8fbff}
.badge{padding:6px 12px;border-radius:999px;font-size:12px;border:1px solid var(--line);background:#fff;font-weight:700}
.league-dfcl{background:rgba(18,98,214,.15);color:#0f4fa8;border-color:rgba(18,98,214,.3)}
.league-leca{background:rgba(24,160,106,.15);color:#0d7a4a;border-color:rgba(24,160,106,.3)}
.result-win{color:#18a06a;font-weight:800}
.result-loss{color:#d64545;font-weight:800}



  /* Coming Soon Message Styling */
  .coming-soon-message{display:flex;align-items:center;justify-content:center;min-height:400px;
    background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border-radius:16px;border:2px dashed #cbd5e0;
    text-align:center;padding:40px 20px}
  
  .practice-upload-message{display:flex;align-items:center;justify-content:center;min-height:400px;
    background:linear-gradient(135deg,#fff7ed 0%,#fed7aa 100%);border-radius:16px;border:2px dashed var(--primary-color);
    text-align:center;padding:40px 20px}
    
  .upload-instructions {
    background: rgba(255, 107, 107, 0.1);
    border: 2px dashed var(--primary-color);
    border-radius: 12px;
    padding: 20px;
    margin: 20px 0;
  }
  
  .upload-instructions code {
    background: var(--primary-color);
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-family: monospace;
    font-weight: 600;
  }
  
  .coming-soon-content{max-width:400px}
  .coming-soon-icon{font-size:4rem;margin-bottom:20px;animation:bounce 2s infinite}
  .coming-soon-content h3{color:var(--navy);font-size:28px;font-weight:800;margin:0 0 16px;
    background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
  .coming-soon-content p{color:var(--muted);font-size:16px;line-height:1.6;margin-bottom:24px}
  .coming-soon-features{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
  .coming-soon-features span{background:var(--paper);padding:8px 16px;border-radius:20px;
    font-size:14px;font-weight:600;color:var(--navy);border:1px solid var(--line);
    box-shadow:0 2px 8px rgba(0,0,0,.08)}

  @keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}

  /* Enhanced lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.95);display:none;align-items:center;justify-content:center;z-index:1000;
  backdrop-filter:blur(8px);animation:lightboxFadeIn 0.3s ease forwards}
.lightbox.open{display:flex}
@keyframes lightboxFadeIn{from{opacity:0}to{opacity:1}}
.lb-wrap{max-width:90vw;max-height:90vh;text-align:center;position:relative;
  animation:lightboxSlideIn 0.4s cubic-bezier(0.4,0.0,0.2,1) forwards}
@keyframes lightboxSlideIn{from{opacity:0;transform:scale(0.8) translateY(30px)}
  to{opacity:1;transform:scale(1) translateY(0)}}
.lb-wrap img{max-width:100%;max-height:80vh;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,0.4)}
.lb-cap{margin-top:15px;text-align:center;color:white;font-size:16px;font-weight:600;
  background:rgba(255,255,255,0.1);backdrop-filter:blur(10px);padding:12px 24px;border-radius:30px;
  display:inline-block;border:1px solid rgba(255,255,255,0.2)}
.lb-close{position:absolute;top:20px;right:20px;background:rgba(255,255,255,0.1);color:white;
  border:2px solid rgba(255,255,255,0.2);padding:12px 20px;border-radius:30px;cursor:pointer;
  font-weight:700;font-size:14px;backdrop-filter:blur(15px);transition:all 0.3s cubic-bezier(0.4,0.0,0.2,1)}
.lb-close:hover{background:rgba(255,255,255,0.2);border-color:rgba(255,255,255,0.4);transform:scale(1.05)}

/* Enhanced Sponsors Section */
#sponsors {
  background: transparent;
  padding: 80px 0;
}

#sponsors h2 {
  color: var(--text-color);
  margin-bottom: 15px;
  font-size: 2.5rem;
  font-weight: 700;
}

#sponsors .sub {
  color: var(--muted);
  font-size: 1.2rem;
  margin-bottom: 50px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.sponsor-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  margin-bottom: 60px;
  opacity: 0;
  animation: fadeInUp 0.8s ease forwards;
  animation-delay: 0.2s;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.sponsor {
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
  border-radius: 20px;
  padding: 45px 35px;
  text-align: center;
  box-shadow: 0 12px 35px rgba(0,0,0,0.08), 0 4px 12px rgba(0,0,0,0.04);
  border: 1px solid rgba(255,255,255,0.14);
  transition: border-color 0.2s ease;
  position: relative;
  overflow: hidden;
  height: auto;
  display: block;
  backdrop-filter: blur(10px);
}

.sponsor:hover {
  border-color: rgba(255,235,59,0.4);
}

.logo-container {
  margin-bottom: 30px;
  position: relative;
  z-index: 2;
}

.logo-frame {
  width: 120px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 12px;
  padding: 15px;
  margin: 0 auto 15px;
  transition: all 0.4s cubic-bezier(0.4,0.0,0.2,1);
  box-shadow: 0 6px 16px rgba(0,0,0,.06), inset 0 1px 0 rgba(255,255,255,0.8);
  border: 2px solid rgba(255,255,255,0.9);
}


.logo-frame img {
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;
  border-radius: 8px;
  display: block;
}

.sponsor-info h3 {
  color: var(--text-color);
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 10px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sponsor-description {
  color: var(--muted);
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 20px;
}

.sponsor-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--primary-color);
  font-weight: 500;
  text-decoration: none;
  font-size: 0.9rem;
  transition: color 0.3s ease;
}

.sponsor-link:hover {
  color: var(--secondary-color);
}

.become-sponsor {
  text-align: center;
  padding: 50px 30px;
  background: rgba(255,255,255,0.07);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 20px;
  color: rgba(255,255,255,0.85);
  margin-top: 40px;
}

.become-sponsor h3 {
  font-size: 2rem;
  margin-bottom: 15px;
  font-weight: 900;
  letter-spacing: 1px;
  color: #FFEB3B;
}

.become-sponsor p {
  font-size: 1.2rem;
  margin-bottom: 25px;
  color: rgba(255,255,255,0.8);
}


/* Responsive Sponsor Section */
@media (max-width: 768px) {
  .sponsor-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .sponsor {
    padding: 30px 20px;
  }
  
  .logo-frame {
    width: 120px;
    height: 120px;
  }
  
  #sponsors h2 {
    font-size: 2rem;
  }
  
  .become-sponsor {
    padding: 40px 20px;
  }
}

/* Enhanced Donations */
.don-card{padding:24px}
.don-grid{display:grid;gap:24px;grid-template-columns:1fr}
@media (min-width:760px){.don-grid{grid-template-columns:1.2fr .8fr}}
.code{font-family:ui-monospace,Menlo,Consolas,monospace;background:#f8fbff;border:2px dashed #dbe6fb;
  border-radius:10px;padding:10px 12px;display:inline-block;font-weight:600;transition:all 0.3s ease}
.code:hover{background:#eef5ff;border-color:#b3d1ff}
/* Global Button System */
.btn {
  display: inline-block;
  padding: 12px 28px;
  border-radius: 3px;
  font-weight: 800;
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-decoration: none;
  font-family: "Montserrat", sans-serif;
  cursor: pointer;
  transition: opacity 0.2s ease;
  background: linear-gradient(135deg, #9A6010, #D89018, #F5C040, #D89018, #9A6010);
  color: #07111f;
  border: none;
}

.btn:hover {
  opacity: 0.85;
}

.btn:active {
  opacity: 0.75;
}

/* Secondary Button */
.btn-secondary {
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.15);
}

/* Outline Button */
.btn-outline {
  background: transparent;
  color: var(--orange);
  border: 2px solid var(--orange);
  box-shadow: none;
}

.btn-outline:hover {
  background: var(--orange);
  color: white;
  box-shadow: 0 8px 20px rgba(255,122,26,.3);
}
.qr{max-width:220px;width:100%;height:auto;border-radius:12px;box-shadow:0 12px 24px rgba(0,0,0,.12);
  transition:transform 0.3s ease}
.qr:hover{transform:scale(1.02)}

/* Enhanced Contact Form */
.contact-form{max-width:720px}
.form-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.form-label{display:block;margin-bottom:6px;font-weight:600;color:#334155}
.form-input{width:100%;padding:12px 16px;border:2px solid var(--line);border-radius:10px;
  font-size:16px;transition:all 0.3s ease;background:#fff}
.form-input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(18,98,214,.1)}
.form-textarea{width:100%;padding:12px 16px;border:2px solid var(--line);border-radius:10px;
  font-size:16px;transition:all 0.3s ease;background:#fff;resize:vertical;min-height:120px}
.form-textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(18,98,214,.1)}

/* Innovative Footer Design */
.innovative-footer {
  background: linear-gradient(135deg, #1e3a4a 0%, #2d4f5f 100%);
  color: #f8fafc;
  position: relative;
  overflow: visible;
  padding: 0;
  width: 100%;
  box-sizing: border-box;
}

.innovative-footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #2c5aa0, #dc3545, #2c5aa0);
  background-size: 200% 100%;
  animation: borderFlow 3s linear infinite;
}

.footer-main {
  display: grid;
  grid-template-columns: 1.5fr 2fr 1fr;
  gap: 25px !important;
  padding: 25px 0 15px !important;
  align-items: start;
}

/* Brand Hub Section */
.brand-hub {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.brand-identity {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.footer-logo {
  width: 45px !important;
  height: 45px !important;
  border-radius: 8px;
  object-fit: cover;
  transition: all 0.3s ease;
  box-shadow: 0 2px 6px rgba(44, 90, 160, 0.3);
}

.footer-logo:hover {
  transform: scale(1.05);
  box-shadow: 0 8px 20px rgba(44, 90, 160, 0.5);
}

.brand-text h3 {
  color: #fff;
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0;
  line-height: 1.2;
}

.brand-text span {
  color: #94a3b8;
  font-size: 0.85rem;
  font-weight: 400;
}

.club-motto {
  color: #2c5aa0;
  font-size: 0.95rem;
  font-weight: 600;
  margin: 5px 0;
  text-shadow: 0 2px 4px rgba(44, 90, 160, 0.3);
}

.club-desc {
  color: #cbd5e1;
  font-size: 0.8rem;
  line-height: 1.4;
  margin: 0;
}

/* Navigation Grid */
.nav-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.nav-column {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.nav-column h4 {
  color: #fff;
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 12px;
  position: relative;
  padding-bottom: 8px;
}

.nav-column h4::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 30px;
  height: 2px;
  background: linear-gradient(90deg, #2c5aa0, #dc3545);
  border-radius: 2px;
}

.nav-column a {
  color: #cbd5e1;
  text-decoration: none;
  font-size: 0.9rem;
  padding: 4px 0;
  transition: all 0.3s ease;
  position: relative;
  display: inline-block;
}

.nav-column a:hover {
  color: #2c5aa0;
  transform: translateX(5px);
}

.nav-column a::before {
  content: '→';
  position: absolute;
  left: -15px;
  opacity: 0;
  transition: all 0.3s ease;
  color: #2c5aa0;
}

.nav-column a:hover::before {
  opacity: 1;
  left: -20px;
}

.location {
  color: #94a3b8;
  font-size: 0.85rem;
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 5px;
}

/* Phone number special styling */
.nav-column a[href^="tel"] {
  color: #28a745 !important;
  font-weight: 600 !important;
  background: rgba(40, 167, 69, 0.1);
  padding: 8px 12px;
  border-radius: 8px;
  transition: all 0.3s ease;
  margin-bottom: 8px;
}

.nav-column a[href^="tel"]:hover {
  background: rgba(40, 167, 69, 0.2) !important;
  transform: translateX(4px) !important;
  box-shadow: 0 2px 8px rgba(40, 167, 69, 0.2);
}

/* Social & Actions */
.social-actions {
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: flex-start;
}

.social-actions h4 {
  color: #fff;
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0;
  position: relative;
  padding-bottom: 8px;
}

.social-actions h4::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 30px;
  height: 2px;
  background: linear-gradient(90deg, #2c5aa0, #dc3545);
  border-radius: 2px;
}

.social-links-compact {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.social-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  color: #cbd5e1;
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 500;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
  min-width: 120px;
}

.social-btn:hover {
  background: rgba(44, 90, 160, 0.2);
  border-color: #2c5aa0;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(44, 90, 160, 0.3);
}

.social-btn.instagram:hover {
  background: linear-gradient(135deg, #833ab4, #fd1d1d, #fcb045);
  border-color: #833ab4;
}

.social-btn.youtube:hover {
  background: #ff0000;
  border-color: #ff0000;
}

.social-btn svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
  flex-shrink: 0;
}

.cta-button {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: linear-gradient(135deg, #2c5aa0, #1e40af);
  border: none;
  border-radius: 10px;
  color: #fff;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
  transition: all 0.3s ease;
  box-shadow: 0 3px 10px rgba(44, 90, 160, 0.3);
}

.cta-button:hover {
  background: linear-gradient(135deg, #1e40af, #2c5aa0);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(44, 90, 160, 0.4);
}

.cta-button svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

/* Ultra-Compact Footer Bottom */
.footer-bottom-compact {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 12px 0;
  background: rgba(0, 0, 0, 0.3);
}

.footer-legal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
  font-size: 0.8rem;
}

.footer-legal span {
  color: #94a3b8;
  font-weight: 500;
}

.legal-links {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #64748b;
}

.legal-links a {
  color: #cbd5e1;
  text-decoration: none;
  transition: all 0.3s ease;
  padding: 2px 6px;
  border-radius: 4px;
}

.legal-links a:hover {
  color: #2c5aa0;
  background: rgba(44, 90, 160, 0.1);
}

/* Animations */
@keyframes borderFlow {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Ultra-Modern Responsive Design */
@media (max-width: 1024px) {
  .footer-mega-row {
    grid-template-columns: 1.5fr 2fr 1fr;
    gap: 30px;
  }
  
  .brand-stack h3 {
    font-size: 1rem;
  }
  
  .mega-logo {
    width: 50px;
    height: 50px;
  }
}

@media (max-width: 768px) {
  .ultra-modern-footer {
    min-height: auto;
  }
  
  .footer-mega-row {
    grid-template-columns: 1fr;
    gap: 25px;
    padding: 30px 0 20px;
    text-align: center;
  }
  
  .mega-brand {
    justify-content: center;
  }
  
  .brand-combo {
    flex-direction: column;
    gap: 15px;
  }
  
  .mega-nav {
    gap: 15px;
  }
  
  .nav-group {
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }
  
  .nav-group strong::after {
    left: 50%;
    transform: translateX(-50%);
  }
  
  .mega-actions {
    align-items: center;
  }
  
  .action-buttons {
    justify-content: center;
  }
  
  .social-compact {
    justify-content: center;
  }
  
  .footer-legal {
    flex-direction: column;
    text-align: center;
    gap: 8px;
  }
}

@media (max-width: 480px) {
  .footer-mega-row {
    padding: 25px 0 15px;
    gap: 20px;
  }
  
  .brand-stack h3 {
    font-size: 0.95rem;
  }
  
  .tagline {
    font-size: 0.8rem;
  }
  
  .nav-items {
    flex-direction: column;
    gap: 5px;
  }
  
  .nav-items a {
    display: block;
    padding: 4px 8px;
  }
  
  .action-buttons {
    flex-direction: column;
    width: 100%;
    max-width: 200px;
  }
  
  .primary-btn,
  .secondary-btn {
    justify-content: center;
    width: 100%;
  }
}

/* Mobile Footer Responsiveness */
@media (max-width: 768px) {
  .innovative-footer {
    padding: 20px 15px;
  }
  
  .footer-main {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    padding: 30px 0 20px !important;
    text-align: center;
  }
  
  .brand-hub {
    align-items: center;
    text-align: center;
  }
  
  .brand-identity {
    justify-content: center;
    flex-direction: column;
    gap: 10px;
  }
  
  .nav-grid {
    grid-template-columns: 1fr !important;
    gap: 25px;
    text-align: center;
  }
  
  .nav-column {
    margin-bottom: 20px;
  }
  
  .nav-column h4::after {
    left: 50%;
    transform: translateX(-50%);
  }
  
  .action-hub {
    align-items: center;
    text-align: center;
  }
  
  .social-compact {
    justify-content: center;
    gap: 15px;
  }
}

/* Extra Small Mobile */
@media (max-width: 480px) {
  .innovative-footer {
    padding: 15px 10px;
  }
  
  .footer-main {
    gap: 20px !important;
    padding: 20px 0 15px !important;
  }
  
  .footer-logo {
    width: 40px !important;
    height: 40px !important;
  }
  
  .nav-column h4 {
    font-size: 16px;
  }
  
  .nav-column a {
    font-size: 14px;
    padding: 8px 0;
  }
}

/* Simple footer for inner pages */
.site-footer {
  background: #07111f;
  padding: 2rem;
  text-align: center;
  border-top: 1px solid rgba(216,144,24,0.15);
  margin-top: 3rem;
}
.site-footer p {
  color: rgba(255,255,255,0.35);
  margin: 0;
  font-size: 0.85rem;
  font-family: 'Montserrat', sans-serif;
}
.site-footer p + p { margin-top: 0.5rem; }
.site-footer a {
  color: #D89018;
  text-decoration: none;
  font-weight: 600;
}

/* Final Animations */
.footer-mega-row {
  animation: fadeInUp 0.8s ease-out;
}

.mega-brand {
  animation: slideInLeft 0.8s ease-out 0.1s both;
}

.mega-nav {
  animation: fadeIn 0.8s ease-out 0.2s both;
}

.mega-actions {
  animation: slideInRight 0.8s ease-out 0.3s both;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.foot-social{display:none}

/* Mobile hamburger menu styles */
.mobile-menu-toggle {
  display: none;
  flex-direction: column;
  justify-content: space-around;
  width: 32px;
  height: 32px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 4px;
  margin-left: auto;
}

.mobile-menu-toggle span {
  width: 24px;
  height: 3px;
  background: #fff;
  border-radius: 2px;
  transition: all 0.3s ease;
}

.mobile-menu-toggle.active span:nth-child(1) {
  transform: rotate(45deg) translate(6px, 6px);
}

.mobile-menu-toggle.active span:nth-child(2) {
  opacity: 0;
}

.mobile-menu-toggle.active span:nth-child(3) {
  transform: rotate(-45deg) translate(6px, -6px);
}

/* Enhanced Mobile-First Responsive Design */

/* Extra Large Devices (1400px and up) */
@media (min-width: 1400px) {
  .container { max-width: 1320px; }
  .carousel-title { font-size: 4rem; }
  .carousel-subtitle { font-size: 1.5rem; }
  .stats-grid { grid-template-columns: repeat(4, 1fr); gap: 30px; }
}

/* Large Devices (1200px and up) */
@media (min-width: 1200px) {
  .container { max-width: 1140px; }
  .hero-carousel { height: 90vh; min-height: 600px; }
}

/* Medium Devices (992px and up) */
@media (min-width: 992px) {
  .container { max-width: 960px; }
  .stats-grid { grid-template-columns: repeat(3, 1fr); }
  .team-roster { grid-template-columns: repeat(3, 1fr); }
}

/* Small Devices - Tablets (768px and down) */
@media (max-width: 768px) {
  /* Enhanced Navigation for Tablets */
  .nav .wrap{justify-content:space-between;align-items:center;padding:12px 14px;flex-wrap:nowrap}
  .brand{margin-bottom:0}
  .brand img { width: 70px; height: 70px; }
  .brand .t { font-size: 18px; }
  .brand .s { font-size: 12px; }
  
  .mobile-menu-toggle{
    display:flex;
    z-index:1000000 !important;
  }
  
  /* Enhanced Mobile Menu */
  .menu{
    position:fixed !important;
    top:84px;
    left:0;
    right:0;
    bottom:0;
    height: calc(100vh - 84px) !important;
    width: 100vw !important;
    background:#1e3a4a !important;
    border-top:1px solid rgba(255,255,255,.08);
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:20px;
    box-shadow:0 8px 20px rgba(0,0,0,.3);
    transform:translateY(-100vh);
    transition:transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index:999999 !important;
    margin-left:0;
    overflow-y:auto;
    overflow-x:hidden;
    backdrop-filter: none !important;
    opacity: 1 !important;
  }
  
  .menu.mobile-open{
    transform:translateY(0);
    animation: mobileMenuSlide 0.4s ease-out;
    opacity: 1 !important;
    visibility: visible !important;
  }
  
  .menu a, .menu .dropdown > button{
    width:100%;
    justify-content:flex-start;
    padding:16px 20px;
    margin-bottom:8px;
    border-radius:12px;
    height:auto;
    font-size: 15px;
    transition: all 0.3s ease;
    transform: translateX(-20px);
    opacity: 0;
    animation: mobileMenuItemSlide 0.5s ease-out forwards;
  }
  
  .menu a:nth-child(1) { animation-delay: 0.1s; }
  .menu a:nth-child(2) { animation-delay: 0.2s; }
  .menu a:nth-child(3) { animation-delay: 0.3s; }
  .menu a:nth-child(4) { animation-delay: 0.4s; }
  .menu a:nth-child(5) { animation-delay: 0.5s; }
  
  .dropdown-menu{
    position:static;
    display:block;
    background:rgba(255,255,255,.1);
    margin:0;
    box-shadow:none;
    border-radius:8px;
    max-height:0;
    overflow:hidden;
    transition:max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border:none;
  }
  
  .dropdown.open .dropdown-menu{
    max-height:300px;
    margin:8px 0;
  }
  
  .dropdown-menu a{
    padding:12px 16px;
    margin-bottom:4px;
    background:rgba(255,255,255,.05);
    border-radius:6px;
  }
  
  .dropdown-menu a:hover{
    background:rgba(255,255,255,.15);
    transform:translateX(4px);
  }
  
  /* Enhanced Social Links for Mobile */
  .social{
    display:flex;
    justify-content:center;
    margin:20px 0 0;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.1);
    gap:16px;
  }
  
  .social a{
    width:50px;
    height:50px;
    background:rgba(255,255,255,.15);
    border:2px solid rgba(255,255,255,.3);
    border-radius: 12px;
    transition: all 0.3s ease;
  }
  
  .social a:hover{
    background:var(--accent-gradient);
    border-color:rgba(255,255,255,.8);
    transform:translateY(-3px) scale(1.1);
    box-shadow: 0 8px 20px rgba(255, 122, 26, 0.4);
  }
  
  /* Enhanced Hero for Tablets */
  .hero{min-height:70vh}
  .hero .wrap{padding:40px 0 50px}
  .carousel-title{font-size:3rem; line-height: 1.2;}
  .carousel-subtitle{font-size:1.3rem; line-height: 1.4;}
  .carousel-content{padding:0 20px}
  
  /* Enhanced sections for tablets */
  .section{padding:50px 0}
  .container{padding:0 20px}
  
  /* Enhanced Stats Grid */
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:20px}
  .stat-card {
    padding: 25px 20px;
  }
  .stat-number { font-size: 2.5rem; }
  .stat-label { font-size: 0.95rem; }
  
  
  /* Enhanced Layout */
  .s-row{grid-template-columns:1fr;gap:20px}
  .don-grid{grid-template-columns:1fr; gap: 20px;}
  .chips{justify-content:center; gap: 10px;}
  .team-roster{grid-template-columns:repeat(2,1fr);gap:15px}
  .player-card{padding:20px 15px}
  
  /* Squad players mobile responsive */
  .players-grid.squad {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 18px !important;
  }
  
  .players-grid.squad .modern-player-card {
    flex-direction: row !important;
    padding: 16px !important;
  }
  
  /* Enhanced Tables */
  .table-wrapper{font-size:14px; overflow-x: auto; -webkit-overflow-scrolling: touch;}
  th,td{padding:12px 8px}
  
  /* Enhanced Cards */
  .card { margin: 0 10px; }
  .floating-next-match{position:static;margin:20px;text-align:center}
  .floating-next-match .card{max-width:100%}
}

/* Extra Small Devices - Mobile Phones (576px and down) */
@media (max-width: 576px) {
  /* Mobile-First Typography */
  .carousel-title{font-size:2.2rem; line-height: 1.1;}
  .carousel-subtitle{font-size:1.1rem; line-height: 1.3;}
  .h-title{font-size:clamp(22px, 7vw, 32px);text-align:center; line-height: 1.2;}
  .lead{text-align:center;font-size:15px; line-height: 1.5;}
  
  /* Mobile Navigation Enhancements */
  .brand img { width: 60px; height: 60px; }
  .brand .t { font-size: 16px; }
  .brand .s { font-size: 11px; }
  
  /* Mobile Hero */
  .hero-carousel{height:75vh;min-height:480px}
  .carousel-content{padding:0 15px}
  .carousel-nav{width:45px;height:45px;font-size:18px}
  .carousel-nav.prev{left:15px}
  .carousel-nav.next{right:15px}
  .carousel-chips{gap:6px; flex-wrap: wrap; justify-content: center;}
  .carousel-chips .chip{padding:8px 14px;font-size:13px; min-height: 36px;}
  
  /* Mobile Layout */
  .section{padding:35px 0}
  .container{padding:0 15px}
  
  /* Mobile Stats - Single Column */
  .stats-grid{grid-template-columns:1fr;gap:15px; max-width: 400px; margin: 0 auto;}
  .stat-card {
    padding: 30px 20px;
    text-align: center;
  }
  .stat-number { font-size: 3rem; }
  .stat-label { font-size: 1rem; }
  
  }
  
  /* Mobile Team Roster - Single Column */
  .team-roster{grid-template-columns:1fr;gap:12px}
  .player-card{
    padding:20px 15px;
    text-align: center;
  }
  
  /* Mobile Tables with Enhanced Scroll */
  .table-wrapper{
    font-size:13px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  }
  th,td{padding:10px 6px; font-size: 12px;}
  
  /* Mobile Social Media */
  .social a{
    width:45px;
    height:45px;
    border-radius: 10px;
  }
  
  /* Mobile Buttons */
  .enhanced-btn {
    padding: 14px 24px;
    font-size: 14px;
    width: 100%;
    max-width: 280px;
    justify-content: center;
  }
  
  /* Mobile Form Elements */
  input, textarea, select {
    font-size: 16px; /* Prevents zoom on iOS */
  }
}

/* Extra Extra Small Devices - Tiny Phones (480px and down) */
@media (max-width: 480px) {
  .carousel-title{font-size:1.8rem}
  .carousel-subtitle{font-size:1rem}
  .carousel-nav{width:40px;height:40px;font-size:16px}
  .carousel-nav.prev{left:10px}
  .carousel-nav.next{right:10px}
  .carousel-content{padding:0 10px}
  
  .container{padding:0 10px}
  .section{padding:30px 0}
  
  .stat-card {
    padding: 20px 15px;
  }
  .stat-number { font-size: 2.5rem; }
  .stat-label { font-size: 0.9rem; }
  
  .player-card{padding:15px 10px}
  .table-wrapper{font-size:12px}
  th,td{padding:8px 4px; font-size: 11px;}
  
  .social a{
    width:40px;
    height:40px;
  }
  
  .enhanced-btn {
    padding: 12px 20px;
    font-size: 13px;
  }
}

/* Improve table responsiveness */
@media (max-width: 600px) {
  .table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}
  table{min-width:600px}
  .league-tabs{flex-direction:column;gap:8px}
  .league-tab{padding:10px 16px}
  .hero{min-height:50vh}
  .hero .wrap{padding:20px 0 30px}
  .h-title{font-size:clamp(20px, 10vw, 32px)}
  .lead{font-size:16px}
  .container{padding:0 8px}
}


/* Enhanced animations and micro-interactions */
.i { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; }
.time{ display:inline-flex; align-items:center; gap:6px; color:#31476b; font-weight:800; }

/* Enhanced Stats cards with animations */
.stats-grid{display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:40px 0;
  opacity:0;animation:fadeInUp 0.8s ease forwards;animation-delay:0.3s}
.stat-card{text-align:center;padding:32px 24px;background:var(--paper);border-radius:20px;
  box-shadow:0 8px 24px rgba(0,0,0,.08),0 4px 8px rgba(0,0,0,.04);
  transition:all 0.4s cubic-bezier(0.4,0.0,0.2,1);position:relative;overflow:hidden;
  border:1px solid rgba(255,255,255,0.8);backdrop-filter:blur(10px)}
.stat-card::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:3px;
  background:var(--accent-gradient);transition:left 0.4s ease}
.stat-card:hover::before{left:0}
.stat-card:hover{transform:translateY(-8px) scale(1.02);
  box-shadow:0 20px 40px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.1);
  border-color:rgba(255,107,107,0.3)}
.stat-card:nth-child(1){animation-delay:0.4s}.stat-card:nth-child(2){animation-delay:0.5s}
.stat-card:nth-child(3){animation-delay:0.6s}.stat-card:nth-child(4){animation-delay:0.7s}

/* Animated Counter Elements */
.stat-icon{font-size:32px;margin:0 0 16px;display:block;
  animation:bounceIn 0.6s ease forwards;opacity:0}
.stat-card[data-animate] .stat-icon{animation-delay:0.8s}
@keyframes bounceIn{
  0%{opacity:0;transform:scale(0.3)}
  50%{transform:scale(1.05)}
  70%{transform:scale(0.9)}
  100%{opacity:1;transform:scale(1)}
}

.stat-number{font-size:42px;font-weight:900;margin:0;
  background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;
  position:relative;transform:scale(1);transition:transform 0.3s ease;display:inline-block;
  font-family:"Montserrat",sans-serif;letter-spacing:-0.02em}
.stat-card:hover .stat-number{transform:scale(1.1)}
.stat-card.counting .stat-number{animation:numberGlow 0.5s ease}
@keyframes numberGlow{
  0%{transform:scale(1)}
  50%{transform:scale(1.05);filter:brightness(1.2)}
  100%{transform:scale(1);}
}

.stat-plus{display:inline-block;font-size:32px;font-weight:900;margin-left:4px;
  background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:pulse 2s ease-in-out infinite;opacity:0;animation-delay:2.5s;animation-fill-mode:forwards}
@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{transform:scale(1.1)}100%{opacity:1;transform:scale(1)}}

.stat-label{color:var(--muted);font-weight:700;font-size:14px;line-height:1.4;
  transition:color 0.3s ease;margin-top:12px}
.stat-card:hover .stat-label{color:var(--text-color)}

/* Counter completion effects */
.stat-card.completed .stat-number{
  animation:completionPulse 0.6s ease forwards;
}
@keyframes completionPulse{
  0%{transform:scale(1)}
  50%{transform:scale(1.15);filter:brightness(1.3)}
  100%{transform:scale(1)}
}

/* Team achievement highlights */
.achievement{background:linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
  border:2px solid #f59e0b;border-radius:16px;padding:20px;margin:20px 0;
  box-shadow:0 6px 20px rgba(245,158,11,.2),0 2px 8px rgba(245,158,11,.1);
  transition:all 0.3s cubic-bezier(0.4,0.0,0.2,1);position:relative;overflow:hidden}
.achievement::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);
  transition:left 0.6s ease}
.achievement:hover::before{left:100%}
.achievement:hover{transform:translateY(-3px) scale(1.01);
  box-shadow:0 10px 30px rgba(245,158,11,.3),0 4px 12px rgba(245,158,11,.2)}
.achievement-title{font-weight:800;color:#92400e;margin:0 0 8px;font-size:16px;
  display:flex;align-items:center;gap:8px}
.achievement-desc{color:#a16207;margin:0;font-weight:600;line-height:1.5}

/* Team roster styles */
/* Modern Team Roster Styles */
.modern-roster-section {
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  border-radius: 20px;
  padding: 30px;
  margin: 30px 0;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.roster-header {
  text-align: center;
  margin-bottom: 30px;
}

.roster-title {
  font-size: 2.2rem;
  font-weight: 800;
  color: #1e293b;
  margin: 0 0 10px 0;
  background: linear-gradient(135deg, #2c5aa0, #dc3545);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.roster-subtitle {
  color: #64748b;
  font-size: 1.1rem;
  margin: 0;
  max-width: 600px;
  margin: 0 auto;
}

/* Team Tabs */
.team-tabs {
  display: flex;
  gap: 15px;
  justify-content: center;
  margin-bottom: 40px;
}

.team-tab {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px 25px;
  background: rgba(255, 255, 255, 0.7);
  border: 2px solid rgba(44, 90, 160, 0.2);
  border-radius: 15px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 600;
  color: #475569;
}

.team-tab.active {
  background: linear-gradient(135deg, #2c5aa0, #1e40af);
  color: #fff;
  border-color: #2c5aa0;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(44, 90, 160, 0.3);
}

.tab-logo {
  width: 35px;
  height: 35px;
  border-radius: 8px;
  object-fit: cover;
}

.team-count {
  font-size: 0.85rem;
  opacity: 0.8;
}

/* Team Content */
.team-content {
  display: none;
}

.team-content.active {
  display: block;
}

/* Role Sections */
.role-section {
  margin-bottom: 35px;
}

.role-title {
  font-size: 1.3rem;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 20px;
  position: relative;
  padding-bottom: 8px;
}

.role-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 50px;
  height: 3px;
  background: linear-gradient(90deg, #2c5aa0, #dc3545);
  border-radius: 2px;
}

/* Players Grid */
.players-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.players-grid.leadership {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 25px;
}

.players-grid.squad {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
  gap: 24px !important;
  margin-top: 25px !important;
  width: 100% !important;
}

/* Enhanced squad player cards */
.players-grid.squad .modern-player-card {
  display: flex !important;
  align-items: center !important;
  padding: 20px !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 250, 252, 0.98) 100%) !important;
  border: 1px solid rgba(44, 90, 160, 0.15) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
  transition: all 0.3s ease !important;
  border-radius: 16px !important;
  gap: 15px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.players-grid.squad .modern-player-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(44, 90, 160, 0.2);
  border-color: rgba(44, 90, 160, 0.3);
}

.players-grid.squad .player-name {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 4px;
  color: #2c3e50;
}

.players-grid.squad .player-role {
  font-size: 14px;
  color: #6c757d;
  margin: 0;
}

.players-grid.squad .avatar-placeholder {
  width: 45px;
  height: 45px;
  font-size: 14px;
  font-weight: 600;
}

/* Modern Player Cards */
.modern-player-card {
  background: rgba(255, 255, 255, 0.95);
  border: 2px solid rgba(44, 90, 160, 0.1);
  border-radius: 18px;
  padding: 22px;
  display: flex;
  align-items: center;
  gap: 16px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(10px);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.1);
}

.modern-player-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(44, 90, 160, 0.1), transparent);
  transition: left 0.6s ease;
}

.modern-player-card:hover::before {
  left: 100%;
}

.modern-player-card:hover {
  background: #fff;
  border-color: #2c5aa0;
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(44, 90, 160, 0.2);
}

/* Player Avatar */
.player-avatar {
  position: relative;
  flex-shrink: 0;
}

.avatar-placeholder {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: linear-gradient(135deg, #2c5aa0, #1e40af);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 800;
  font-size: 1.2rem;
  box-shadow: 0 4px 12px rgba(44, 90, 160, 0.3);
}

/* Badges */
.captain-badge,
.vice-captain-badge,
.achievement-badge {
  position: absolute;
  top: -5px;
  right: -5px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  font-weight: 800;
  color: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.captain-badge {
  background: linear-gradient(135deg, #dc3545, #b91c1c);
}

.vice-captain-badge {
  background: linear-gradient(135deg, #f59e0b, #d97706);
}

.achievement-badge {
  background: linear-gradient(135deg, #10b981, #059669);
  font-size: 0.8rem;
}

/* Player Info */
.player-info {
  flex: 1;
}

.player-name {
  font-size: 1.1rem;
  font-weight: 700;
  color: #1e293b;
  margin: 0 0 5px 0;
}

.player-role {
  color: #64748b;
  font-size: 0.9rem;
  margin: 0 0 8px 0;
}

.player-stats {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.stat {
  font-size: 0.75rem;
  padding: 3px 8px;
  background: rgba(44, 90, 160, 0.1);
  border-radius: 12px;
  color: #2c5aa0;
  font-weight: 600;
}

/* Team Themes */
.yodhas-theme {
  border-color: rgba(220, 53, 69, 0.2) !important;
}

.yodhas-theme:hover {
  border-color: #dc3545 !important;
  box-shadow: 0 12px 30px rgba(220, 53, 69, 0.2) !important;
}

.yodhas-theme .avatar-placeholder {
  background: linear-gradient(135deg, #dc3545, #b91c1c) !important;
  box-shadow: 0 4px 12px rgba(220, 53, 69, 0.3) !important;
}

.yodhas-theme .stat {
  background: rgba(220, 53, 69, 0.1) !important;
  color: #dc3545 !important;
}

/* Squad Statistics */
.squad-stats {
  background: rgba(255, 255, 255, 0.8);
  border-radius: 15px;
  padding: 25px;
  margin-top: 30px;
  border: 2px solid rgba(44, 90, 160, 0.1);
}

.stats-title {
  font-size: 1.3rem;
  font-weight: 700;
  color: #1e293b;
  margin: 0 0 20px 0;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 20px;
}

.stat-card {
  text-align: center;
  padding: 15px;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 12px;
  border: 1px solid rgba(44, 90, 160, 0.1);
  transition: all 0.3s ease;
}

.stat-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.stat-number {
  font-size: 2rem;
  font-weight: 900;
  margin-bottom: 5px;
}

.stat-number.warriors { color: #2c5aa0; }
.stat-number.leagues { color: #10b981; }
.stat-number.captains { color: #dc3545; }
.stat-number.awards { color: #f59e0b; }

.stat-label {
  color: #64748b;
  font-size: 0.9rem;
  font-weight: 500;
}

/* Responsive Design */
@media (max-width: 768px) {
  /* Mobile Team Roster Overhaul */
  .modern-roster-section {
    padding: 20px 10px !important;
    margin: 0 !important;
  }
  
  .roster-header h3 {
    font-size: 1.5rem !important;
    margin-bottom: 8px !important;
  }
  
  .roster-header p {
    font-size: 13px !important;
    margin-bottom: 20px !important;
  }
  
  .team-tabs {
    flex-direction: column !important;
    gap: 12px !important;
    margin-bottom: 25px !important;
  }
  
  .team-tab {
    width: 100% !important;
    max-width: none !important;
    justify-content: center !important;
    padding: 16px !important;
    font-size: 16px !important;
    margin: 0 !important;
  }
  
  .tab-logo {
    width: 30px !important;
    height: 30px !important;
  }
  
  .team-count {
    font-size: 12px !important;
  }
  
  .team-content {
    padding: 0 5px !important;
  }
  
  .role-section {
    margin-bottom: 30px !important;
  }
  
  .role-title {
    font-size: 1.2rem !important;
    margin-bottom: 15px !important;
    text-align: center !important;
  }
  
  .players-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  
  .modern-player-card {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    text-align: left !important;
    gap: 15px !important;
    padding: 16px !important;
    margin: 0 !important;
    min-height: auto !important;
    border-radius: 12px !important;
  }
  
  .player-avatar {
    width: 55px !important;
    height: 55px !important;
    flex-shrink: 0 !important;
    position: relative !important;
  }
  
  .avatar-placeholder {
    font-size: 18px !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  
  .captain-badge, .vice-captain-badge, .achievement-badge {
    width: 22px !important;
    height: 22px !important;
    font-size: 11px !important;
    right: -8px !important;
    top: -8px !important;
  }
  
  .player-info {
    flex: 1 !important;
    min-width: 0 !important;
  }
  
  .player-name {
    font-size: 17px !important;
    font-weight: 600 !important;
    margin: 0 0 4px 0 !important;
  }
  
  .player-role {
    font-size: 14px !important;
    margin: 0 0 10px 0 !important;
    opacity: 0.8 !important;
  }
  
  .player-stats {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
  }
  
  .stat {
    font-size: 12px !important;
    padding: 6px 10px !important;
    border-radius: 6px !important;
    white-space: nowrap !important;
  }
  
  .squad-stats {
    padding: 20px 10px !important;
    margin-top: 25px !important;
  }
  
  .stats-title {
    font-size: 1.3rem !important;
    text-align: center !important;
    margin-bottom: 20px !important;
  }
  
  .stats-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 15px !important;
  }
  
  .stat-card {
    text-align: center !important;
    padding: 15px 10px !important;
  }
  
  .stat-number {
    font-size: 2rem !important;
    display: block !important;
    margin-bottom: 8px !important;
  }
  
  .stat-label {
    font-size: 13px !important;
  }
}

/* Legacy roster styles (hidden) */
.team-roster { display: none; }
.player-card { display: none; }

/* COMPACT AVAILABILITY MODAL */
.availability-modal{position:fixed;inset:0;background:rgba(0,0,0,0.7);display:none;align-items:center;justify-content:center;z-index:200;backdrop-filter:blur(5px)}
.availability-modal.open{display:flex;animation:fadeIn 0.3s ease}
.availability-modal-content{max-width:400px;width:90%;margin:20px;animation:scaleIn 0.3s ease;position:relative}
.availability-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid var(--line)}
.availability-modal-header h3{margin:0;color:var(--navy);font-size:20px;font-weight:800}
.modal-close{background:none;border:none;font-size:20px;cursor:pointer;padding:5px;border-radius:50%;transition:all 0.3s ease;color:var(--muted)}
.modal-close:hover{background:var(--line);transform:scale(1.1)}

.form-row{display:flex;gap:10px;margin-bottom:15px}
.form-input,.form-select,.form-textarea{width:100%;padding:10px;border:2px solid var(--line);border-radius:8px;font-family:inherit;transition:all 0.3s ease;font-size:14px}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--chakra);box-shadow:0 0 0 3px rgba(10,90,173,0.1)}

.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}
.btn-small{padding:8px 16px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all 0.3s ease;font-size:14px;color:#fff}
.btn-small:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,0.2)}

.btn-compact:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,0.2)}

/* League Tabs in Modal */
.league-tabs-modal{display:flex;gap:8px;margin-bottom:20px;justify-content:center}
.league-tab-modal{padding:8px 12px;border:2px solid var(--line);background:#fff;border-radius:8px;
  cursor:pointer;transition:all 0.3s ease;font-size:13px;font-weight:600;color:var(--navy)}
.league-tab-modal:hover{border-color:var(--chakra);transform:translateY(-1px)}
.league-tab-modal.active{background:var(--chakra);color:#fff;border-color:var(--chakra)}

@media (max-width: 480px) {
  .form-row{flex-direction:column}
  .availability-modal-content{width:95%;margin:10px}
  .league-tabs-modal{flex-wrap:wrap}
  .league-tab-modal{flex:1;min-width:80px}
}

/* Hero Carousel Styles - Enhanced */
.hero-carousel{position:relative;height:100vh;min-height:600px;overflow:hidden;
  background:linear-gradient(135deg, #0c1e37 0%, #16213e 100%)}

.carousel-container{position:relative;width:100%;height:100%}

.carousel-slides{width:100%;height:100%;position:relative}

.carousel-slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;
  transition:opacity 1.2s ease-in-out,transform 1.2s ease-in-out;
  display:flex;align-items:center;justify-content:center;
  transform:scale(1.1)}

.carousel-slide.active{opacity:1;transform:scale(1)}

.carousel-image{width:100%;height:100%;object-fit:cover;object-position:center;
  filter:brightness(0.8) saturate(1.2)}

.hero-overlay-pattern{position:absolute;top:0;left:0;right:0;bottom:0;
  background-image:radial-gradient(circle at 25% 25%, rgba(255,107,107,0.1) 0%, transparent 50%),
                   radial-gradient(circle at 75% 75%, rgba(78,84,200,0.1) 0%, transparent 50%);
  z-index:1}

.carousel-overlay{position:absolute;top:0;left:0;right:0;bottom:0;
  background:linear-gradient(45deg,rgba(12,30,55,0.6),rgba(19,43,79,0.5));
  display:flex;align-items:center;justify-content:center;text-align:center;z-index:2}

.carousel-content{color:#fff;max-width:900px;padding:0 20px;position:relative;z-index:3}

.hero-badge{display:inline-block;background:rgba(255,107,107,0.9);
  color:#fff;padding:10px 24px;border-radius:30px;font-size:14px;
  font-weight:700;margin-bottom:20px;border:2px solid rgba(255,255,255,0.2);
  box-shadow:0 4px 15px rgba(0,0,0,0.3);text-transform:uppercase;letter-spacing:1px}

.carousel-title{font-size:clamp(2.5rem, 6vw, 5rem);font-weight:900;margin:0 0 20px;
  text-shadow:0 2px 4px rgba(0,0,0,0.8), 0 4px 8px rgba(0,0,0,0.4);line-height:1.1;
  font-family:"Montserrat",sans-serif;color:#ffffff}

.animated-text{animation:slideInUp 0.8s ease-out}

.gradient-text{background:var(--accent-gradient);-webkit-background-clip:text;
  background-clip:text;color:transparent;animation:gradientShift 3s ease-in-out infinite}

.carousel-subtitle{font-size:clamp(1.1rem, 2.5vw, 1.6rem);margin:0 0 30px;
  color:rgba(255,255,255,0.9);font-weight:500;text-shadow:0 2px 4px rgba(0,0,0,0.3)}

.fade-in-up{animation:fadeInUp 0.8s ease-out 0.3s both}

.carousel-chips{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:30px 0}

.carousel-chips .chip{background:rgba(255,255,255,0.2);color:#fff;padding:10px 18px;
  border-radius:25px;font-size:14px;font-weight:600;
  border:1px solid rgba(255,255,255,0.3);transition:all 0.3s ease;
  transform:translateY(20px);opacity:0;box-shadow:0 4px 12px rgba(0,0,0,0.2)}

.animate-chip{animation:chipFadeIn 0.6s ease-out forwards}

.carousel-chips .chip:hover{background:rgba(255,255,255,0.25);transform:translateY(-2px)}

.carousel-action{margin-top:40px}

.enhanced-btn{display:inline-flex;align-items:center;gap:8px;
  padding:16px 32px;background:var(--accent-gradient);color:#fff;
  border-radius:12px;font-weight:700;font-size:16px;
  transition:all 0.3s ease;border:2px solid transparent;
  text-shadow:none;box-shadow:0 8px 25px rgba(255,107,107,0.3);
  position:relative;overflow:hidden}

.enhanced-btn::before{content:'';position:absolute;top:0;left:-100%;
  width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);
  transition:left 0.6s ease}

.enhanced-btn:hover::before{left:100%}

.enhanced-btn:hover{transform:translateY(-3px);
  box-shadow:0 15px 35px rgba(255,107,107,0.4);scale:1.05}

.enhanced-btn svg{transition:transform 0.3s ease}
.enhanced-btn:hover svg{transform:translateX(4px)}

/* Navigation Buttons - Enhanced */
.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);
  background:rgba(255,255,255,0.15);border:2px solid rgba(255,255,255,0.2);
  color:#fff;width:65px;height:65px;border-radius:50%;font-size:28px;
  cursor:pointer;transition:all 0.4s ease;backdrop-filter:blur(15px);
  display:flex;align-items:center;justify-content:center;z-index:10;
  box-shadow:0 8px 25px rgba(0,0,0,0.2)}

.carousel-nav:hover{background:rgba(255,255,255,0.25);
  transform:translateY(-50%) scale(1.15);
  box-shadow:0 12px 35px rgba(0,0,0,0.3)}

/* Animations */
@keyframes slideInUp{
  from{transform:translateY(50px);opacity:0}
  to{transform:translateY(0);opacity:1}
}

@keyframes fadeInUp{
  from{transform:translateY(30px);opacity:0}
  to{transform:translateY(0);opacity:1}
}

@keyframes chipFadeIn{
  to{transform:translateY(0);opacity:1}
}

@keyframes gradientShift{
  0%, 100%{background:var(--accent-gradient)}
  50%{background:linear-gradient(135deg, var(--blue) 0%, var(--saffron) 50%, var(--green) 100%)}
}

.carousel-nav.prev{left:30px}
.carousel-nav.next{right:30px}

/* Indicators */
.carousel-indicators{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);
  display:flex;gap:12px;z-index:10}

.indicator{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,0.4);
  border:2px solid rgba(255,255,255,0.6);cursor:pointer;transition:all 0.3s ease}

.indicator.active,.indicator:hover{background:rgba(255,255,255,0.9);
  transform:scale(1.2)}

/* Floating Next Match Card */
.floating-next-match{position:absolute;bottom:40px;right:40px;z-index:20}
.floating-next-match .card{background:rgba(255,255,255,0.95);
  backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.2);
  box-shadow:0 8px 32px rgba(0,0,0,0.15);max-width:320px}

/* Responsive Design */
@media (max-width: 768px) {
  .carousel-title{font-size:2.5rem}
  .carousel-subtitle{font-size:1.2rem}
  .carousel-nav{width:50px;height:50px;font-size:20px}
  .carousel-nav.prev{left:20px}
  .carousel-nav.next{right:20px}
  .floating-next-match{position:static;margin:20px;text-align:center}
  .floating-next-match .card{max-width:100%}
  .carousel-chips{gap:8px}
  .carousel-chips .chip{padding:6px 12px;font-size:12px}
}

@media (max-width: 480px) {
  .hero-carousel{height:80vh;min-height:500px}
  .carousel-title{font-size:2rem}
  .carousel-subtitle{font-size:1rem}
  .carousel-content{padding:0 15px}
}

/* Footer Animation Keyframes */
@keyframes footerSlideUp {
  from {
    transform: translateY(50px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes footerBorderGlow {
  0%, 100% { 
    background: linear-gradient(90deg, var(--primary-color), var(--secondary-color)); 
  }
  50% { 
    background: linear-gradient(90deg, var(--secondary-color), var(--primary-color)); 
  }
}

@keyframes footerShine {
  0% { left: -100%; }
  100% { left: 100%; }
}

@media (max-width: 768px) {
  /* Mobile Footer Enhancement */
  .innovative-footer {
    padding: 0 !important;
  }
  
  .innovative-footer .footer-main {
    flex-direction: column !important;
    text-align: center !important;
    padding: 30px 15px 20px !important;
    gap: 30px !important;
  }
  
  .innovative-footer .brand-hub {
    order: 1;
  }
  
  .innovative-footer .quick-links {
    order: 2;
  }
  
  .innovative-footer .connect-hub {
    order: 3;
  }
  
  .innovative-footer .footer-section h4 {
    font-size: 1.2rem !important;
    margin-bottom: 15px !important;
  }
  
  .innovative-footer .brand-text h3 {
    font-size: 1.1rem !important;
    line-height: 1.2 !important;
  }
  
  .innovative-footer .club-motto {
    font-size: 0.95rem !important;
    margin: 8px 0 !important;
  }
  
  .innovative-footer .club-desc {
    font-size: 0.85rem !important;
    line-height: 1.4 !important;
    max-width: 300px !important;
    margin: 0 auto !important;
  }
  
  .innovative-footer .quick-links ul {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  .innovative-footer .quick-links ul li {
    list-style: none !important;
  }
  
  .innovative-footer .quick-links ul li a {
    font-size: 15px !important;
    padding: 10px 16px !important;
    background: rgba(255, 255, 255, 0.15) !important;
    border-radius: 8px !important;
    display: block !important;
    transition: all 0.3s ease !important;
  }
  
  .innovative-footer .quick-links ul li a:hover {
    background: rgba(255, 255, 255, 0.25) !important;
    transform: translateY(-2px) !important;
  }
  
  .innovative-footer .social-actions {
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
  }
  
  .innovative-footer .social-btn {
    padding: 12px 20px !important;
    font-size: 15px !important;
    min-width: 120px !important;
  }
  
  .innovative-footer .cta-button {
    padding: 12px 24px !important;
    font-size: 16px !important;
    min-width: 160px !important;
  }
}

/* Force Compact Footer Override */
.innovative-footer .footer-main {
  padding: 20px 0 12px !important;
  gap: 20px !important;
}

.innovative-footer .brand-hub {
  gap: 8px !important;
}

.innovative-footer .brand-identity {
  gap: 10px !important;
  margin-bottom: 6px !important;
}

.innovative-footer .brand-text h3 {
  font-size: 1rem !important;
  margin: 0 !important;
}

.innovative-footer .brand-text span {
  font-size: 0.8rem !important;
}

.innovative-footer .club-motto {
  font-size: 0.9rem !important;
  margin: 4px 0 !important;
}

.innovative-footer .club-desc {
  font-size: 0.75rem !important;
  line-height: 1.3 !important;
}

.innovative-footer .social-actions {
  gap: 12px !important;
}

.innovative-footer .social-btn {
  padding: 6px 12px !important;
  font-size: 0.8rem !important;
  min-width: 110px !important;
}

.innovative-footer .cta-button {
  padding: 8px 16px !important;
  font-size: 0.85rem !important;
}

@keyframes footerContentFadeIn {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes footerSectionSlideIn {
  from {
    opacity: 0;
    transform: translateY(40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes footerHeadingSlide {
  from {
    transform: translateY(10px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes footerUnderlineExpand {
  from {
    width: 0;
  }
  to {
    width: 30px;
  }
}

@keyframes footerLogoScale {
  from {
    transform: scale(0.8);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes footerLinkSlideIn {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Mobile-Specific Animation Keyframes */
@keyframes mobileMenuSlide {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes mobileMenuItemSlide {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Enhanced Touch Interactions */
@media (max-width: 768px) {
  /* Larger touch targets for mobile */
  .menu a, .menu .dropdown > button,
  .carousel-nav, .enhanced-btn, 
  .social a, .gallery-controls button {
    min-height: 44px; /* iOS/Android recommended minimum */
    min-width: 44px;
  }
  
  /* Enhanced hover states for touch devices */
  .menu a:active,
  .enhanced-btn:active,
  .social a:active {
    transform: scale(0.98);
    transition: transform 0.1s ease;
  }
  
  /* Better scroll behavior on mobile */
  .hero-carousel,
  .gallery-grid,
  .stats-grid {
    -webkit-overflow-scrolling: touch;
  }
  
  /* Prevent text selection on interactive elements */
  .carousel-nav,
  .menu a,
  .enhanced-btn,
  .social a {
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
  }
  
  /* Better focus states for accessibility */
  .menu a:focus,
  .enhanced-btn:focus,
  .social a:focus {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
  }
}

/* Performance optimizations for animations on mobile */
@media (max-width: 768px) {
  * {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
  
  .carousel-nav,
  .social a,
  .menu a {
    will-change: transform;
  }
}

/* IANT Footer - Exact Match */
.iant-footer {
  background: linear-gradient(135deg, #1a237e 0%, #283593 100%);
  color: #ffffff;
  padding: 60px 0 20px;
  margin-top: 50px;
}

.footer-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 40px;
  margin-bottom: 50px;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.footer-column h4 {
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: 700;
  margin: 0 0 25px 0;
  letter-spacing: 0.5px;
}

.footer-column a,
.footer-column span {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
  display: block;
  margin-bottom: 12px;
  font-size: 0.95rem;
  transition: color 0.3s ease;
  line-height: 1.5;
}

.footer-column a:hover {
  color: #ffffff;
}

.contact-phone {
  color: #4caf50 !important;
  font-weight: 600;
}

.contact-email {
  color: #2196f3 !important;
}

.contact-location {
  color: rgba(255, 255, 255, 0.7) !important;
}

/* IANT Association Section */
.iant-association {
  text-align: center;
  padding: 40px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  margin-bottom: 30px;
}

.iant-logo-container {
  margin-bottom: 25px;
}

.iant-logo {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid rgba(255, 255, 255, 0.3);
  transition: all 0.3s ease;
}

.iant-logo:hover {
  transform: scale(1.05);
  border-color: rgba(255, 255, 255, 0.6);
}

.iant-association h3 {
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 700;
  margin: 20px 0 10px 0;
  letter-spacing: 0.5px;
}

.org-status {
  color: rgba(255, 255, 255, 0.8);
  font-size: 1rem;
  margin: 0 0 30px 0;
}

/* Social Media Icons */
.iant-social {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.social-icon {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  text-decoration: none;
  transition: all 0.3s ease;
}

.social-icon svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
}

.social-icon.facebook {
  background: #4267B2;
}

.social-icon.youtube {
  background: #FF0000;
}

.social-icon.twitter {
  background: #1DA1F2;
}

.social-icon:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}

/* Footer Bottom */
.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.8);
}

.footer-right strong {
  color: #ffffff;
  font-weight: 700;
}

/* Responsive Design */
@media (max-width: 1024px) {
  .footer-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }
}

@media (max-width: 768px) {
  .iant-footer {
    padding: 40px 0 20px;
  }
  
  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
  }
  
  .iant-association {
    padding: 30px 0;
  }
  
  .iant-logo {
    width: 80px;
    height: 80px;
  }
  
  .footer-bottom {
    flex-direction: column;
    gap: 10px;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .footer-grid {
    grid-template-columns: 1fr;
    text-align: center;
  }
  
  .iant-social {
    gap: 15px;
  }
  
  .social-icon {
    width: 45px;
    height: 45px;
  }
}

.iant-footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 20% 50%, rgba(255, 255, 255, 0.1) 0%, transparent 50%),
              radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.1) 0%, transparent 50%);
  pointer-events: none;
}

.iant-footer .container {
  position: relative;
  z-index: 1;
}

.footer-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 40px;
  margin-bottom: 40px;
}

.footer-column h4 {
  color: #ffffff;
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 20px 0;
  padding-bottom: 8px;
  border-bottom: 2px solid rgba(255, 255, 255, 0.2);
}

.footer-column a {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  display: block;
  padding: 8px 0;
  font-size: 0.95rem;
  transition: all 0.3s ease;
  border-left: 3px solid transparent;
  padding-left: 0;
}

.footer-column a:hover {
  color: #ffffff;
  border-left-color: #64b5f6;
  padding-left: 15px;
  transform: translateX(5px);
}

.social-link {
  display: flex !important;
  align-items: center;
  gap: 8px;
}

.social-icon {
  font-size: 1.1rem;
}

.get-in-touch {
  background: linear-gradient(135deg, #1976d2, #42a5f5);
  color: #ffffff !important;
  padding: 12px 16px !important;
  border-radius: 8px;
  margin-top: 8px;
  border-left: none !important;
  transition: all 0.3s ease;
}

.get-in-touch:hover {
  background: linear-gradient(135deg, #1565c0, #1976d2);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(25, 118, 210, 0.3);
  padding-left: 16px !important;
}

/* Contact Info Column */
.contact-info {
  grid-column: span 1;
}

.brand-section {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 15px;
}

.footer-brand-logo {
  width: 50px;
  height: 50px;
  border-radius: 8px;
  object-fit: cover;
}

.brand-text h3 {
  color: #ffffff;
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0;
  line-height: 1.2;
}

.brand-subtitle {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.85rem;
}

.brand-motto {
  color: #64b5f6;
  font-weight: 600;
  font-size: 1rem;
  margin: 8px 0;
}

.brand-desc {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.9rem;
  line-height: 1.5;
  margin-bottom: 20px;
}

.contact-details h4 {
  font-size: 1rem;
  margin: 20px 0 15px 0;
}

.contact-link {
  color: rgba(255, 255, 255, 0.9) !important;
  display: block;
  padding: 6px 0;
  font-size: 0.9rem;
  text-decoration: none;
}

.contact-link.phone {
  color: #4caf50 !important;
  font-weight: 600;
}

.contact-link.email {
  color: #2196f3 !important;
}

.contact-link:hover {
  color: #ffffff !important;
  padding-left: 0 !important;
  transform: none !important;
  border-left: none !important;
}

/* Association Section */
.association-section {
  padding: 40px 0;
  text-align: center;
  margin: 50px 0;
  position: relative;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.association-section h3 {
  color: #ffffff;
  font-size: 1.3rem;
  font-weight: 700;
  margin: 0 0 20px 0;
}

.ugnt-logo-container {
  margin: 25px 0;
  position: relative;
  display: inline-block;
}

.ugnt-logo-container::before {
  content: '';
  position: absolute;
  top: -10px;
  left: -10px;
  right: -10px;
  bottom: -10px;
  border-radius: 50%;
  background: linear-gradient(45deg, rgba(100, 181, 246, 0.1), rgba(255, 255, 255, 0.1));
  opacity: 0;
  transition: opacity 0.4s ease;
}

.ugnt-logo-container:hover::before {
  opacity: 1;
}

.ugnt-logo {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid rgba(255, 255, 255, 0.3);
  transition: all 0.4s ease;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
  filter: brightness(1.1) contrast(1.05);
}

.ugnt-logo:hover {
  transform: scale(1.15) rotate(5deg);
  border-color: #64b5f6;
  box-shadow: 0 12px 35px rgba(100, 181, 246, 0.4), 0 0 30px rgba(255, 255, 255, 0.2);
  filter: brightness(1.2) contrast(1.1);
}

.association-desc {
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  margin: 15px 0 5px 0;
}

.association-status {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.9rem;
  margin-bottom: 20px;
}

/* Association Social Icons */
.association-social {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-top: 20px;
}

.social-circle {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  text-decoration: none;
  transition: all 0.3s ease;
  border: 2px solid rgba(255, 255, 255, 0.3);
}

.social-circle svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

.social-circle.facebook {
  background: linear-gradient(135deg, #1877f2, #42a5f5);
}

.social-circle.youtube {
  background: linear-gradient(135deg, #ff0000, #ff5252);
}

.social-circle.twitter {
  background: linear-gradient(135deg, #1da1f2, #42a5f5);
}

.social-circle:hover {
  transform: translateY(-3px) scale(1.1);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
  border-color: rgba(255, 255, 255, 0.6);
}

/* Footer Bottom */
.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding-top: 20px;
}

.footer-legal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.7);
}

.legal-links {
  display: flex;
  gap: 15px;
  align-items: center;
}

.legal-links a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color 0.3s ease;
}

.legal-links a:hover {
  color: #ffffff;
}

.designed-by {
  font-size: 0.85rem;
}

.designed-by strong {
  color: #64b5f6;
}

/* Responsive Design */
@media (max-width: 1024px) {
  .footer-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }
  
  .contact-info {
    grid-column: span 3;
    order: -1;
  }
}

@media (max-width: 768px) {
  .iant-footer {
    padding: 40px 0 20px;
  }
  
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 25px;
    text-align: center;
  }
  
  .contact-info {
    grid-column: span 1;
    order: 0;
  }
  
  .brand-section {
    justify-content: center;
  }
  
  .association-section {
    padding: 25px 20px;
    margin: 30px 0;
  }
  
  .footer-legal {
    flex-direction: column;
    text-align: center;
    gap: 10px;
  }
  
  .legal-links {
    justify-content: center;
  }
  
  /* Mobile hero improvements */
  #home h1 {
    font-size: 2.5rem !important;
    line-height: 1.2 !important;
  }
  
  #home p {
    font-size: 1.1rem !important;
  }
  
  /* Teams overview mobile */
  #teams-overview > div > div:last-child {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
}

/* Additional Performance and Visual Improvements */
* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Smooth hover transitions for all interactive elements */
a, button, .card, [style*="transition"] {
  transition: all 0.3s ease !important;
}

/* Ensure proper scrolling */
html {
  scroll-behavior: smooth !important;
}

body {
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
}

/* Fix any layout issues */
section {
  position: relative;
  z-index: 1;
}

/* Improve button styling */
a[style*="background"] {
  cursor: pointer;
  display: inline-block;
  text-align: center;
}

/* Loading state */
.loaded {
  opacity: 1;
  transition: opacity 0.5s ease;
}

/* Float animation for hero images */
@keyframes float {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
}

/* Header mobile responsiveness */
@media (max-width: 768px) {
  header h1 {
    font-size: 1.4rem !important;
  }
  
  header nav {
    gap: 0.25rem !important;
  }
  
  header nav a {
    padding: 0.4rem 0.8rem !important;
    font-size: 0.8rem !important;
  }
  
  header div[style*="width: 50px"] {
    width: 40px !important;
    height: 40px !important;
    margin: 0 0.5rem !important;
  }
}

/* Hero section mobile responsiveness */
@media (max-width: 768px) {
  #home > div > div {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
    text-align: center !important;
  }
  
  #home h1 {
    font-size: 2.5rem !important;
  }
  
  #home img {
    width: 300px !important;
    height: 200px !important;
  }
  
  #home > div > div > div:first-child {
    order: 2;
  }
  
  #home > div > div > div:last-child {
    order: 1;
  }
}

/* Accessibility improvements */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  
  html {
    scroll-behavior: auto !important;
  }
}

/* iOS Safari stacking/painting fixes */
@supports (-webkit-overflow-scrolling: touch) {
  .menu,
  .menu.mobile-open {
    -webkit-transform: translateZ(0) !important;
    transform: translateZ(0) !important;
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
    will-change: transform, opacity !important;
  }

  /* Ensure children don't create new opaque layers that leak underlying content */
  .menu * {
    -webkit-transform: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

/* Final standalone override: ensure mobile menu covers viewport and fixes iOS stacking */
@media (max-width: 1024px) {
  .menu,
  .menu.mobile-open {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: #1e3a4a !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 2147483647 !important;
    backdrop-filter: none !important;
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
    pointer-events: auto !important;
  }
}

/* iOS Safari compositing fix */
@supports (-webkit-overflow-scrolling: touch) {
  .menu,
  .menu.mobile-open {
    -webkit-transform: translateZ(0) !important;
    transform: translateZ(0) !important;
    will-change: transform, opacity !important;
  }
}

/* Fullscreen overlay behind mobile menu (covers native inputs on iOS) */
#menu-overlay {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  background: #1e3a4a;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease;
  z-index: 2147483646;
  pointer-events: none;
}

#menu-overlay.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}