/* Revamped responsive styles for CamKerala site */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap');
:root{
  --accent:#ff6b35; /* warm orange */
  --accent-2:#0b6efd; /* blue for CTAs */
  --bg:#fbfbfd;
  --card:#ffffff;
  --muted:#6b7280;
  --text:#0f1724;
  --glass: rgba(255,255,255,0.6);
  --max-width:1200px;
  --radius:12px;
  --shadow: 0 8px 20px rgba(15,23,36,0.08);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  /* updated to use AI-generated SVG background with a soft gradient overlay and fallbacks */
  font-family:Poppins, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
  margin:0;
  color:#e6edf7; /* default text light over photo bg */

header {
  background: #0b3d2e;
}

.site-nav {
  display: flex;
  gap: 16px;
  padding: 12px 20px;
}

.site-nav a {
  color: #fff;
  text-decoration: none;
  padding: 8px 12px;
  border-radius: 6px;
}

.site-nav a:hover {
  background: rgba(255,255,255,0.15);
}

.site-nav a.active {
  background: #12a56b;
}

main {
  padding: 24px 20px;
  max-width: 1100px;
  margin: 0 auto;
}

.section {
  margin-bottom: 32px;
}

.cards-grid {
  display: grid;
  gap: 16px;
}
/* Horizontally scrollable row utility */
.h-scroll{display:flex;gap:16px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}
.h-scroll .card{min-width:260px;scroll-snap-align:start}
/* Desktop: switch horizontal scroll to 4-column grid */
@media (min-width: 900px){
  .h-scroll{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;scroll-snap-type:none}
  .h-scroll .card{min-width:auto}
}

.cards-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cards-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cards-grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Ensure consistent row heights for four-column card grids */
.cards-grid.four{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 1fr; /* make rows equal height */
  align-items:start;
}

@media (max-width: 900px) {
  .cards-grid.four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cards-grid.three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .cards-grid.four,
  .cards-grid.three,
  .cards-grid.two { grid-template-columns: 1fr; }
}

.card {
  background: #f7f7f7;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.card img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
}

.card-title {
  padding: 10px 12px;
  font-weight: 600;
}
.card.team-card .card-title{
  padding-top:12px;
  padding-bottom:8px;
}

.hierarchy .chairman {
  text-align: center;
  margin-bottom: 24px;
}

.hierarchy .chairman img {
  width: 100%;
  max-width: 800px;
  border-radius: 12px;
}

.hierarchy .chairman .name {
  margin-top: 8px;
  font-size: 1.2rem;
  font-weight: 700;
}
  background-color:var(--bg);
  /* Try multiple URLs: relative first (correct when CSS is in assets/css), absolute next (when served from site root),
     then the gradient overlay. A tiny inline SVG is appended as a last-resort fallback. This ordering improves
     reliability when opening files locally (file://) or when the site is hosted under a subpath. */
  background-image: url('../images/bg-cricket.jpg'), url('/assets/images/bg-cricket.jpg'), linear-gradient(180deg, rgba(255,255,255,0.85), rgba(243,247,251,0.7)), url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Crect width='10' height='10' fill='%23f8fafc'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-attachment: fixed;
  background-blend-mode: overlay;
}
/* Global darkening overlay to keep text readable over photo backgrounds */
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1; /* sits above the background image but below content */
  pointer-events:none;
  background:linear-gradient(180deg, rgba(7,18,38,0.35), rgba(7,18,38,0.35));
}
.container{max-width:var(--max-width);margin:0 auto;padding:1rem}
/* Header */
.site-header{backdrop-filter: blur(6px);position:sticky;top:0;z-index:40;background:linear-gradient(180deg,rgba(7,18,38,0.85),rgba(7,18,38,0.75));border-bottom:1px solid rgba(255,255,255,0.08)}
.site-header .container{display:flex;align-items:center;gap:1rem;padding:0.6rem 1rem}
.brand{font-weight:700;color:var(--accent);text-decoration:none;font-size:1.25rem;letter-spacing:0.2px}
.site-nav{display:flex;gap:0.5rem;margin-left:auto;align-items:center}
.site-nav a{display:inline-block;padding:0.5rem 0.75rem;border-radius:10px;text-decoration:none;color:#e6edf7;font-weight:600;transition:all .18s ease}
.site-nav a:hover{transform:translateY(-2px);background:linear-gradient(90deg,rgba(255,255,255,0.14),rgba(255,255,255,0.08))}
.nav-toggle{display:none;background:none;border:0;font-size:1.5rem;padding:0.35rem;border-radius:8px}
.site-nav .brand-logo img{height:42px;width:auto;margin-right:12px;border-radius:6px;display:inline-block}
/* Hero */
.hero{padding:4rem 0;background:
  linear-gradient(135deg, rgba(7,18,38,0.55), rgba(7,18,38,0.35)),
  linear-gradient(135deg, rgba(11,110,253,0.06), rgba(255,107,53,0.04));
border-bottom:1px solid rgba(15,23,36,0.02)}
.hero-inner{text-align:center;padding:2rem 1rem;max-width:900px;margin:0 auto}
.hero h1{margin:0 0 0.5rem;font-size:2.2rem;line-height:1.05;color:#ffffff;text-shadow:0 2px 10px rgba(0,0,0,0.35)}
.hero p{margin:0.35rem 0;color:#e6edf7;text-shadow:0 1px 6px rgba(0,0,0,0.25)}
.btn{display:inline-block;background:linear-gradient(90deg,var(--accent),#ff8f5a);color:#fff;padding:0.7rem 1.1rem;border-radius:10px;text-decoration:none;font-weight:600;box-shadow:0 8px 18px rgba(255,107,53,0.12);transition:transform .14s ease}
.btn:hover{transform:translateY(-3px)}
/* Features */
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1.5rem}
.card{background:rgba(255,255,255,0.88);backdrop-filter:saturate(120%) blur(6px);border-radius:var(--radius);padding:1.1rem;border:1px solid rgba(15,23,36,0.06);box-shadow:0 10px 24px rgba(2,6,23,0.12);color:var(--text)}
.card h3{margin:0 0 0.5rem}
/* Latest/News */
.latest{margin:2rem 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.news-card{background:linear-gradient(180deg,#fff,#fbfbff);padding:1rem;border-radius:10px;border:1px solid rgba(11,110,253,0.04);box-shadow:0 6px 16px rgba(11,110,253,0.03);color:var(--text)}
/* Team & Executives */
.team-grid, .exec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem}
.team-card, .exec-card{background:var(--card);border-radius:12px;padding:0.8rem;border:1px solid rgba(15,23,36,0.04);box-shadow:var(--shadow);overflow:hidden;color:var(--text)}
.team-card img, .exec-card img{width:100%;height:170px;object-fit:cover;border-radius:8px}
.exec-card h3{margin:0.5rem 0 0.15rem}
.exec-card .role{font-weight:600;color:var(--accent-2)}
.exec-card .desc{margin-top:0.5rem;color:var(--muted);font-size:0.95rem}
/* Players list */
.players-list{list-style:none;padding:0;margin:0;display:grid;gap:0.75rem}
.players-list li{display:flex;gap:0.75rem;align-items:center;padding:0.6rem;border-radius:10px;background:linear-gradient(180deg,#fff,#fbfbff);border:1px solid rgba(15,23,36,0.04);box-shadow:0 6px 14px rgba(11,110,253,0.02);color:var(--text)}
.players-list img{width:64px;height:64px;object-fit:cover;border-radius:10px}
.players-list strong{display:block}
.players-list span{color:var(--muted);font-size:0.95rem}
/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0.75rem}
.gallery-grid figure{margin:0;border-radius:10px;overflow:hidden;position:relative}
.gallery-grid img{width:100%;height:180px;object-fit:cover;display:block;transition:transform .35s ease}
.gallery-grid figure:hover img{transform:scale(1.05)}
.gallery-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:0.5rem 0.6rem;background:linear-gradient(180deg,transparent,rgba(0,0,0,0.45));color:#fff;font-size:0.95rem}
/* Contact form */
.contact-grid{display:grid;grid-template-columns:1fr 380px;gap:1.25rem;margin-top:1rem}
.contact-info{background:linear-gradient(180deg,#fff,#fbfbff);padding:1rem;border-radius:12px;border:1px solid rgba(15,23,36,0.04);box-shadow:var(--shadow);color:var(--text)}
.contact-form{background:var(--card);padding:1rem;border-radius:12px;border:1px solid rgba(15,23,36,0.04);box-shadow:var(--shadow);color:var(--text)}
.contact-form label{display:block;font-size:0.95rem;margin-bottom:0.6rem}
.contact-form input,.contact-form textarea{width:100%;padding:0.75rem;border-radius:10px;border:1px solid rgba(15,23,36,0.06);margin-top:0.35rem}
.contact-form button{margin-top:0.5rem}
/* Footer */
.site-footer{background:linear-gradient(180deg,#071226,#071226);color:#dbeafe;padding:2rem 0;margin-top:2.5rem;border-top:3px solid rgba(255,255,255,0.03)}
.site-footer .footer-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.site-footer address{font-style:normal;color:#c7d2fe}
.site-footer .social a{display:inline-block;padding:0.5rem 0.6rem;background:rgba(255,255,255,0.06);border-radius:8px;color:#fff;text-decoration:none;margin-left:0.35rem}
.footer-bottom{padding-top:1rem;border-top:1px solid rgba(255,255,255,0.03);margin-top:1rem;text-align:center;color:#a5b4fc}
/* Small screens */
@media (max-width:950px){
  .contact-grid{grid-template-columns:1fr}
}
@media (max-width:700px){
  .site-nav{display:none}
  .nav-toggle{display:block;margin-left:auto}
  .hero{padding:2.2rem 0}
  .hero h1{font-size:1.6rem}
  .team-card img, .exec-card img{height:150px}
}
/* Mobile nav panel (activated by JS) */
.mobile-nav{position:fixed;inset:0;z-index:60;background:linear-gradient(180deg,rgba(7,18,38,0.6),rgba(7,18,38,0.85));display:none;align-items:center;justify-content:center}
.mobile-nav.open{display:flex}
.mobile-nav nav{background:var(--card);border-radius:14px;padding:1rem 1.25rem;width:90%;max-width:420px;box-shadow:0 30px 60px rgba(2,6,23,0.6)}
.mobile-nav a{display:block;padding:0.85rem 0;border-bottom:1px solid rgba(15,23,36,0.03);color:var(--text);text-decoration:none;font-weight:600}
.mobile-nav .close-btn{text-align:right}
/* Players grid and badges */
.players-page .team-block{margin:1.25rem 0;padding:1rem;border-radius:12px;background:linear-gradient(180deg,#fff,#fbfbff);box-shadow:var(--shadow);border:1px solid rgba(15,23,36,0.04)}
.players-page .team-block h2{margin:0 0 0.5rem;display:flex;align-items:center;gap:0.6rem;font-size:1.05rem}
.players-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0.9rem}
.player-card{display:flex;flex-direction:column;background:var(--card);border-radius:10px;padding:0.75rem;border:1px solid rgba(15,23,36,0.04);align-items:flex-start}
.player-meta{display:flex;gap:0.75rem;align-items:center;width:100%}
.player-meta img{width:64px;height:64px;object-fit:cover;border-radius:8px}
.player-meta strong{display:block}
.player-meta .number{color:var(--muted);font-size:0.9rem}
.player-meta span{color:var(--muted);font-size:0.95rem}
.role-badges{margin-top:0.6rem;display:flex;gap:0.5rem;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;gap:0.45rem;padding:0.35rem 0.6rem;border-radius:999px;font-weight:700;font-size:0.85rem;background:rgba(11,110,253,0.06);color:var(--accent-2)}
.badge.captain{background:linear-gradient(90deg,#fff4f0,#fff7f3);color:var(--accent);box-shadow:0 6px 14px rgba(255,107,53,0.06)}
.badge.vc{background:linear-gradient(90deg,#f8fbff,#f4f9ff);color:var(--accent-2)}
.badge.wk{background:linear-gradient(90deg,#f0fff7,#eefef6);color:#059669}
.badge.batsman{background:linear-gradient(90deg,#fffaf0,#fff6ec);color:#a16207}
.badge.bowler{background:linear-gradient(90deg,#fff6f8,#fff4f6);color:#be123c}
.badge.allrounder{background:linear-gradient(90deg,#f6fffb,#eefff6);color:#047857}
.badge svg{width:16px;height:16px;display:block}
@media (max-width:520px){
  .player-meta img{width:56px;height:56px}
  .badge{font-size:0.8rem;padding:0.3rem 0.5rem}
}
/* Debug override: force background to show for troubleshooting. Removes blend and forces relative image path. Remove this block when you confirm the image is visible. */
body.debug-show-bg, body {
  background-image: url('../images/bg-cricket.jpg') !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: cover !important;
  background-blend-mode: normal !important;
  background-color: transparent !important;
  min-height: 100vh;
}

/* Team Grid */
.team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  margin-top: 40px;
}

/* Make four-column cards consistent in height and layout */
.cards-grid.four .card{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  height:100%;
}

/* Team Card Design */
.team-card {
  background: #ffffff;
  padding: 20px;
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
  transition: transform 0.2s, box-shadow 0.3s;
}

.team-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.18);
}

/* FIXED SIZE PHOTO BOX */
.team-photo-box {
  width: 100%;
  height: 220px;
  background: #f1f1f1;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Image inside – always fits without changing card size */
.team-photo-box img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Maintains layout, preserves proportions */
  border-radius: 12px;
}

/* Captains / Vice-Captains layout inside about page */
.team-card .person{
  text-align: center;
}
.team-card .person-row{
  display:flex;
  gap:6px;
  margin-top:10px;
  align-items:center;
}

.team-card .person-col{
  flex: 0 0 calc(50% - 6px);
  text-align:center;
  box-sizing:border-box;
}
.team-card .person img{
  width:100%;
  height:180px;
  object-fit:cover;
  border-radius:10px;
  border:1px solid rgba(230,237,247,0.8);
  display:block;
}
.person-img{display:block;width:100%;}

/* Ensure person columns have a fixed min-height to align captions */
.team-card .person-col{
  min-height: 280px; /* increase to fit two-line names */
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:center;
}

/* Prevent images from stretching in case of external CSS overrides */
.team-card .person-col img,
.team-card .person-col .person-img{
  width:100%;
  max-height:180px;
  height:180px;
  object-fit:cover;
}

/* Ensure names and roles wrap and are visible */
.team-card .person-name,
.team-card .person-role{
  white-space:normal;
  overflow:visible;
  text-overflow:unset;
  text-align:center;
  line-height:1.15;
}
.team-card .person-name{
  margin-top: 10px;
  font-weight: 700;
}
.team-card .person-role{
  color: #6b7280;
  font-size: 0.95rem;
}
.team-card .card-title{margin-bottom:6px}

@media (max-width:900px){
  .team-card .person img{width:100%;height:160px}
  .team-card .person-col{flex: 0 0 50%;}
}


/* Team Title */
.team-card h3 {
  margin-top: 15px;
  font-size: 1.4rem;
  color: #333;
  text-align: center;
}

/* Player List */
.team-card ul {
  list-style: none;
  padding: 0;
  margin-top: 10px;
  line-height: 1.6;
  font-size: 0.95rem;
}

.team-card li strong {
  color: #c0392b;
}

/* Container for top links */
.team-links {
  margin: 20px 0;
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
  justify-content: center;
}

/* Button-style links */
.team-btn {
  background: #28a745; /* Kerala green variant */
  color: white !important;
  padding: 10px 22px;
  font-size: 1.05rem;
  font-weight: 600;
  border-radius: 8px;
  text-decoration: none;
  transition: 0.25s ease-in-out;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

/* Hover effect */
.team-btn:hover {
  background: #1e7e34;
  transform: translateY(-2px);
  box-shadow: 0 6px 15px rgba(0,0,0,0.25);
}

/* Make sure the buttons remain readable on dark backgrounds */
.team-btn:visited {
  color: white;
}

/* HERO SECTION */
.page-hero {
  text-align: center;
  padding: 60px 20px 30px;
  color: white;
}

.page-hero h1 {
  font-size: 2.8rem;
  font-weight: 700;
}

.page-hero p {
  font-size: 1.1rem;
  opacity: 0.9;
}


/* Call-to-action join section: make background opaque to match site sections */
.cta-join{
  background-color: transparent; /* make transparent as requested */
  color: #ffffff;
  text-align: center;
  padding: 56px 20px;
  position:relative;
}
.cta-join > *{ position:relative; z-index:1 }
.cta-join h2, .cta-join p, .cta-join .hero-btn{ text-shadow: 0 2px 8px rgba(0,0,0,0.45) }
.cta-join{ border-radius:8px }
.cta-join h2{font-size:1.8rem;margin:0 0 0.6rem}
.cta-join p{opacity:0.95;margin:0 0 1rem}
.cta-join .hero-btn{background:linear-gradient(90deg,#2fb65b,#1e7e34);box-shadow:0 10px 30px rgba(2,6,23,0.25)}


/* ⭐ CHAIRMAN FEATURED CARD */
.chairman-section {
  display: flex;
  justify-content: center;
  margin-bottom: 40px;
}

.chairman-card {
  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.12);
  overflow: hidden;
  max-width: 850px;
  display: flex;
  gap: 20px;
  padding: 20px;
}

.chairman-photo-box {
  width: 260px;
  height: 260px;
  overflow: hidden;
  border-radius: 12px;
}

.chairman-photo-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.chairman-info h2 {
  margin: 10px 0 5px;
  font-size: 2rem;
}

/* Chairman Info Styles */
.chairman-info h2 {
  font-size: 2.3rem;
  font-weight: 700;
  color: #1f1f1f !important;
  margin-bottom: 8px;
}

.chairman-info .role {
  font-size: 1.2rem;
  font-weight: 600;
  color: #28a745 !important; /* Kerala Green highlight */
  margin-bottom: 14px;
}

.chairman-info .desc {
  font-size: 1.05rem;
  line-height: 1.6;
  color: #444 !important;
}

/* ⭐ EXECUTIVE GRID */
.exec-section h2 {
  text-align: center;
  margin-bottom: 20px;
  font-size: 2rem;
  color: white;
}

.exec-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 25px;
  margin-bottom: 50px;
}

/* Executive Cards */
.exec-card {
  background: #ffffff;
  padding: 18px;
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
  text-align: center;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.exec-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.22);
}

.exec-photo-box {
  width: 100%;
  height: 240px;
  overflow: hidden;
  border-radius: 12px;
  margin-bottom: 12px;
}

.exec-photo-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.exec-card h3 {
  margin: 8px 0;
  font-size: 1.2rem;
  font-weight: 600;
}

.exec-card .role {
  color: #28a745;
  font-weight: bold;
  margin-bottom: 8px;
}
/* About Page Button */
/* About Page Section Styling */
.about-section {
  max-width: 750px;
  margin: 40px auto;
  padding: 20px 10px;
  text-align: left; /* or center if you prefer */
}

/* Button styling (consistent with the site) */
.about-btn {
  display: inline-block;
  background: #28a745;
  color: white !important;
  padding: 12px 26px;
  font-size: 1.1rem;
  font-weight: 600;
  border-radius: 10px;
  text-decoration: none;
  margin-top: 20px;
  transition: all 0.25s ease;
  box-shadow: 0 4px 14px rgba(0,0,0,0.18);
}

.about-btn:hover {
  background: #1e7e34;
  transform: translateY(-3px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.26);
}
/* Fixtures Intro Section */
.fixtures-intro {
  max-width: 850px;
  margin: 40px auto;
  text-align: center;
  color: white;
}

.fixtures-intro h2 {
  font-size: 2.2rem;
  margin-bottom: 12px;
}

/* Fixture Grid */
.fixtures-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
  margin-top: 40px;
}

/* Fixture Cards */
.fixture-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.12);
  transition: 0.25s ease;
}

.fixture-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.22);
}

.fixture-photo-box {
  width: 100%;
  height: 230px;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 15px;
}

.fixture-photo-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fixture-card h3 {
  font-size: 1.4rem;
  margin-bottom: 6px;
  color: #222;
}

.fixture-card .league {
  font-weight: 600;
  color: #28a745;
  margin-bottom: 10px;
}

.fixture-card .detail {
  color: #555;
  font-size: 0.95rem;
  line-height: 1.55;
}

/* Full Fixtures Button */
.full-fixtures-section {
  text-align: center;
  margin: 50px 0 80px;
  color: white;
}

.fixtures-btn {
  display: inline-block;
  background: #28a745;
  padding: 14px 32px;
  color: white !important;
  font-size: 1.2rem;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600;
  transition: 0.25s;
  box-shadow: 0 6px 16px rgba(0,0,0,0.18);
}

.fixtures-btn:hover {
  background: #1e7e34;
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.25);
}
/* MOBILE RESPONSIVE NAVBAR */
@media (max-width: 768px) {
  .site-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    padding: 15px 10px;
  }

  .site-nav a {
    font-size: 0.95rem;
    padding: 10px 14px;
    border-radius: 8px;
  }

  /* Reduce active button size */
  .site-nav a.active {
    padding: 10px 16px;
  }
}
/* FOOTER RESPONSIVE */
@media (max-width: 768px) {
  .footer-inner {
    flex-direction: column;
    text-align: center;
    gap: 15px;
  }

  .footer-inner address {
    text-align: center;
  }
}
/* HOME HERO */
.home-hero {
  background: url('assets/images/ground.jpg') center/cover no-repeat;
  padding: 140px 0;
  position: relative;
  color: white;
  text-align: center;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.4);
}

.hero-content {
  position: relative;
  z-index: 2;
}

.hero-btn {
  background: #28a745;
  padding: 12px 26px;
  font-size: 1.2rem;
  border-radius: 10px;
  color: white !important;
}

/* ABOUT SECTION */
.about-home {
  text-align: center;
  margin: 60px auto;
  max-width: 850px;
}

/* TEAMS GRID */
.teams-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 35px;
  margin-top: 40px;
}

.team-card-home {
  background: white;
  padding: 18px;
  border-radius: 14px;
  text-align: center;
  box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}

.team-photo {
  height: 210px;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 12px;
}

.team-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.team-card-home .league {
  color: #28a745;
  font-weight: 600;
}

/* FIXTURES PREVIEW */
.fixtures-preview {
  background: #133d2f;
  color: white;
  text-align: center;
  padding: 70px 20px;
}

.btn-outline {
  border: 2px solid white;
  padding: 10px 22px;
  color: white !important;
  border-radius: 8px;
  margin-left: 10px;
}

/* NEWS GRID */
.latest-news .news-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
  gap: 30px;
}

/* CTA SECTION */
.cta-join {
  background: #1b592c;
  color: white;
  text-align: center;
  padding: 60px 20px;
}
/* Fixtures preview button container fix */
.fixtures-preview .container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px; /* spacing between buttons */
}

/* Make buttons full width on small screens */
@media (max-width: 600px) {
  .fixtures-preview .btn,
  .fixtures-preview .btn-outline {
    width: 90%;
    text-align: center;
  }
}
/* Center the Meet All Teams button */
.center-btn {
  display: flex;
  justify-content: center;
  margin-top: 25px;
}

/* Keep button centered on all screen sizes */
.center-btn .btn {
  text-align: center;
  min-width: 180px;
}
@media (max-width: 768px) {
  .btn,
  .btn-outline {
    padding: 12px 18px;
    font-size: 1rem;
  }
}
