/* ===== Reset & Base ===== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',system-ui,sans-serif;color:#0d1b2a;background:#f6f7f9;line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5,h6{font-family:'Oswald',sans-serif;letter-spacing:.5px;margin:0 0 .6em;line-height:1.15}
h1{font-size:clamp(2rem,5vw,3.5rem);text-transform:uppercase}
h2{font-size:clamp(1.5rem,3.5vw,2.3rem);text-transform:uppercase}
h3{font-size:1.3rem;text-transform:uppercase}
p{margin:0 0 1em}
.container{width:min(1200px,92%);margin:0 auto}

:root{
  --brand:#0d1b2a;        /* blue-black */
  --brand-2:#1b263b;      /* slightly lighter */
  --brand-dark:#05070f;   /* deepest */
  --accent:#c1121f;       /* club red */
  --accent-dark:#8a0d16;
  --white:#ffffff;
  --ink:#0d1b2a;
  --muted:#5a6472;
  --line:#e4e7ec;
}

/* ===== Buttons ===== */
.btn{display:inline-block;padding:.8rem 1.6rem;border-radius:6px;font-weight:600;border:2px solid transparent;cursor:pointer;transition:.2s;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:1px;font-size:.95rem}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-dark)}
.btn-dark{background:var(--brand);color:#fff}
.btn-dark:hover{background:var(--brand-dark)}
.btn-accent{background:#fff;color:var(--accent)}
.btn-accent:hover{background:#fff1f2}
.btn-ghost{border-color:#fff;color:#fff}
.btn-ghost:hover{background:#fff;color:var(--brand)}

/* ===== Topbar + Carousel ===== */
.topbar{background:var(--brand);color:#fff;font-size:.88rem;padding:.5rem 0;border-bottom:2px solid var(--accent)}
.topbar .container{display:flex;gap:.75rem;align-items:center;justify-content:space-between}
.carousel{flex:1;position:relative;min-height:1.6em}
.carousel-slide{position:absolute;inset:0;display:flex;gap:.75rem;align-items:center;opacity:0;transform:translateX(8px);transition:opacity .4s,transform .4s;pointer-events:none}
.carousel-slide.on{opacity:1;transform:none;pointer-events:auto;position:relative}
.topbar-badge{background:var(--accent);color:#fff;font-weight:700;padding:.15rem .55rem;border-radius:3px;font-size:.72rem;letter-spacing:1px;white-space:nowrap}
.topbar-link{color:#fff;text-decoration:underline;font-weight:500}
.carousel-dots{display:flex;gap:.35rem}
.carousel-dots button{width:8px;height:8px;border-radius:50%;border:0;background:rgba(255,255,255,.35);cursor:pointer;padding:0}
.carousel-dots button.on{background:var(--accent)}

/* ===== Header ===== */
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}
.brand{display:flex;align-items:center;gap:.7rem;font-family:'Oswald',sans-serif;font-weight:700;font-size:1.25rem;text-transform:uppercase;color:var(--brand)}
.brand img{height:44px;width:auto}
.primary-nav{display:flex;gap:1.3rem;align-items:center}
.primary-nav a{font-weight:500;padding:.35rem 0;border-bottom:2px solid transparent;transition:.15s;color:var(--ink)}
.primary-nav a:hover,.primary-nav a.active{color:var(--accent);border-color:var(--accent)}
.primary-nav a.btn-nav{background:var(--accent);color:#fff;padding:.55rem 1.2rem;border-radius:5px;border:0}
.primary-nav a.btn-nav:hover{background:var(--accent-dark);color:#fff}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;width:40px;height:40px;padding:0;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.nav-toggle span{width:24px;height:3px;background:var(--ink);transition:.25s;border-radius:2px}

/* ===== Hero (HOMEPAGE ONLY) ===== */
.hero{position:relative;min-height:60vh;display:flex;align-items:center;color:#fff;padding:5rem 0;background-color:var(--brand);background-size:cover;background-position:center;background-repeat:no-repeat}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(13,27,42,.82),rgba(193,18,31,.55));z-index:0}
.hero .container{position:relative;z-index:1}
.hero h1{margin-bottom:.3em}
.hero p{font-size:1.15rem;max-width:640px;margin-bottom:2rem;opacity:.95}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}

/* ===== Solid page header (all non-home pages) ===== */
.page-head{background:var(--brand);color:#fff;padding:3.5rem 0 2.5rem;text-align:center;position:relative;border-bottom:4px solid var(--accent)}
.page-head h1{margin-bottom:.3em}
.page-head p{opacity:.9;max-width:600px;margin:0 auto}

/* ===== Sections ===== */
.section{padding:4rem 0}
.section-head{text-align:center;margin-bottom:2.5rem}
.section-head h2::after{content:"";display:block;width:60px;height:4px;background:var(--accent);margin:.6rem auto 0;border-radius:2px}
.muted{color:var(--muted)}

/* ===== Grids ===== */
.grid{display:grid;gap:1.5rem}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.grid-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

/* ===== Cards ===== */
.card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.06);transition:.2s;border:1px solid var(--line)}
.card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.08)}
.card img{aspect-ratio:4/3;object-fit:cover;width:100%}
.card-body{padding:1.2rem}
.card h3{font-size:1.1rem;margin-bottom:.3rem}

/* ===== Player Card ===== */
.player-card{position:relative;background:linear-gradient(180deg,#fff 60%,#f6f7f9);border:1px solid var(--line);border-radius:10px;overflow:hidden;text-align:center;transition:.25s;display:block;color:inherit}
.player-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px rgba(0,0,0,.1);border-color:var(--accent)}
.player-card .photo{aspect-ratio:4/5;object-fit:cover;width:100%;background:var(--brand)}
.player-card .number{position:absolute;top:10px;right:14px;font-family:'Oswald',sans-serif;font-size:3rem;font-weight:700;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.5);line-height:1}
.player-card .pos{display:inline-block;background:var(--accent);color:#fff;font-size:.72rem;padding:.2rem .6rem;border-radius:3px;text-transform:uppercase;letter-spacing:1px;margin-bottom:.4rem}
.player-card h3{font-size:1.15rem;margin:.3rem 0}
.player-card .meta{font-size:.85rem;color:var(--muted);padding:0 1rem 1rem}

/* ===== Player Detail ===== */
.player-detail{display:grid;grid-template-columns:1fr 1.4fr;gap:2.5rem;align-items:start}
.player-detail .photo-wrap{border-radius:12px;overflow:hidden;background:var(--brand);position:relative}
.player-detail .photo-wrap img{aspect-ratio:4/5;object-fit:cover;width:100%}
.player-detail .big-number{position:absolute;top:12px;left:18px;font-family:'Oswald',sans-serif;font-size:6rem;color:rgba(255,255,255,.4);line-height:1}
.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.5rem 0}
.stat{background:#fff;padding:1rem;border:1px solid var(--line);border-radius:8px;border-left:3px solid var(--accent)}
.stat .label{font-size:.75rem;text-transform:uppercase;color:var(--muted);letter-spacing:1px}
.stat .value{font-family:'Oswald',sans-serif;font-size:1.4rem;color:var(--ink)}

/* ===== Fixtures ===== */
.fixture-list{display:grid;gap:.75rem}
.fixture{display:grid;grid-template-columns:110px 1fr auto;gap:1rem;align-items:center;background:#fff;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:8px;border-left:3px solid var(--brand)}
.fixture.upcoming{border-left-color:var(--accent)}
.fixture .date{font-family:'Oswald',sans-serif;color:var(--brand)}
.fixture .vs{font-weight:500}
.fixture .tag{font-size:.7rem;text-transform:uppercase;padding:.2rem .5rem;border-radius:3px;background:#eef0f4;color:var(--brand);letter-spacing:1px}
.result-score{font-family:'Oswald',sans-serif;font-size:1.4rem;color:#fff;background:var(--brand);padding:.2rem .7rem;border-radius:4px}

/* ===== Table ===== */
.table-wrap{overflow-x:auto}
table.league{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
table.league th,table.league td{padding:.75rem;text-align:center;border-bottom:1px solid var(--line)}
table.league th{background:var(--brand);color:#fff;font-family:'Oswald',sans-serif;letter-spacing:1px;font-weight:500}
table.league tr:last-child td{border-bottom:0}
table.league td:nth-child(2){text-align:left;font-weight:500}
table.league tr.us{background:#fff1f2;border-left:3px solid var(--accent)}

/* ===== Gallery ===== */
.gallery-grid{columns:3 280px;column-gap:1rem}
.gallery-grid figure{margin:0 0 1rem;break-inside:avoid;border-radius:8px;overflow:hidden;position:relative;cursor:pointer}
.gallery-grid img{transition:.4s}
.gallery-grid figure:hover img{transform:scale(1.05)}
.gallery-grid figcaption{position:absolute;inset:auto 0 0 0;padding:.6rem .8rem;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.75));font-size:.85rem}

.video-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.video-card{background:#000;border-radius:10px;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.1)}
.video-card iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
.video-card .vbody{padding:.9rem 1rem;background:#fff}
.video-card h4{margin:0;font-family:'Oswald',sans-serif;font-size:1rem}

/* ===== CTA strip & Footer ===== */
.cta-strip{background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff;padding:3rem 0;text-align:center}
.cta-strip h2{margin-bottom:.3em}
.cta-strip p{margin-bottom:1.5rem;opacity:.95}

.site-footer{background:var(--brand-dark);color:#b7bec7;padding:3rem 0 1rem}
.site-footer h4{color:#fff;font-size:1rem;margin-bottom:.8rem}
.site-footer a{color:#b7bec7;transition:.15s}
.site-footer a:hover{color:var(--accent)}
.brand-footer{color:#fff;margin-bottom:.8rem}
.footer-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding-bottom:2rem;border-bottom:1px solid #2a323c}
.footer-links{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}
.footer-tag{font-size:.9rem;opacity:.9}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;padding-top:1rem;font-size:.85rem}
.newsletter{display:flex;gap:.5rem;flex-wrap:wrap}
.newsletter input{flex:1;min-width:0;padding:.65rem .8rem;border:1px solid #2a323c;background:#1a222c;color:#fff;border-radius:5px}
.newsletter input::placeholder{color:#7e8793}

/* ===== Forms ===== */
.form-card{background:#fff;padding:2rem;border-radius:10px;border:1px solid var(--line);max-width:620px;margin:0 auto}
.form-row{display:grid;gap:.3rem;margin-bottom:1rem}
.form-row label{font-weight:500;font-size:.9rem}
.form-row input,.form-row textarea,.form-row select{padding:.7rem .9rem;border:1px solid var(--line);border-radius:6px;font:inherit;background:#fff}
.form-row textarea{min-height:140px;resize:vertical}
.form-row input:focus,.form-row textarea:focus,.form-row select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.flash{padding:.9rem 1.1rem;border-radius:6px;margin-bottom:1.2rem;font-weight:500}
.flash.success{background:#e6f5ec;color:#0b6b3a;border:1px solid #9bd0b1}
.flash.error{background:#fdecea;color:#a72422;border:1px solid #f1b6b2}

/* ===== Filters ===== */
.filters{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2rem}
.filters button{background:#fff;border:1px solid var(--line);padding:.5rem 1rem;border-radius:999px;cursor:pointer;font:inherit;font-size:.85rem;transition:.15s}
.filters button:hover{border-color:var(--accent)}
.filters button.on{background:var(--accent);color:#fff;border-color:var(--accent)}

/* ===== Tickets ===== */
.ticket-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.5rem;border-top:4px solid var(--accent)}
.ticket-card h3{margin-top:0}
.ticket-types{display:grid;gap:.6rem;margin:1rem 0}
.ticket-type{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center;padding:.8rem;background:#f6f7f9;border-radius:6px}
.ticket-type .price{font-family:'Oswald',sans-serif;font-size:1.2rem;color:var(--accent)}
.price-tag{background:var(--accent);color:#fff;padding:.2rem .6rem;border-radius:4px;font-family:'Oswald',sans-serif;font-size:.9rem}
.sold-out{color:#a72422;font-weight:600}

/* ===== Responsive ===== */
@media(max-width:820px){
  .nav-toggle{display:flex}
  .primary-nav{position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:1rem;border-top:1px solid var(--line);display:none;gap:.25rem}
  .primary-nav.open{display:flex}
  .primary-nav a{padding:.75rem .5rem;width:100%;border-bottom:1px solid var(--line)}
  .primary-nav a.btn-nav{text-align:center}
  .player-detail{grid-template-columns:1fr}
  .fixture{grid-template-columns:1fr;text-align:center}
  .footer-bottom{justify-content:center;text-align:center;gap:.5rem}
  .topbar .container{flex-direction:column;gap:.4rem}
}
