/*
Theme Name:  EuropeesKampioenschap Child
Theme URI:   https://europeeskampioenschap.com
Description: EuropeesKampioenschap.com sport-portal child theme (parent: Astra).
             Gebruikt dezelfde Kampioenschap Shared plugin als WK-site.
Author:      europeeskampioenschap.com
Template:    astra
Version:     2.1.0
Text Domain: ekcom
*/

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:wght@400;500;600&display=swap');

/* ── EK TOKENS (overschrijft WK-oranje met EU-blauw/goud) ── */
:root {
  --accent:  #FFD700;   /* goud — hoofdaccent EK-site */
  --accent2: #e6c200;   /* donkerder goud voor hover */
  --d1: #08080F;
  --d2: #10101E;
  --d3: #18182A;
  --w:  #FFFFFF;
  --goud: #FFD700;
  --blauw: #003399;
  /* Gedeeld met WK-site via plugin: --accent wordt door shared.css opgepikt */
}

/* ── GLOBAL ─────────────────────────────────────────────── */
body { background: var(--d1) !important; color: var(--w) !important; font-family: 'DM Sans', sans-serif !important; }

/* ── HEADER ─────────────────────────────────────────────── */
.ast-primary-header-bar, .site-header {
  background: rgba(8,8,15,.97) !important;
  border-bottom: 1px solid rgba(255,215,0,.25) !important;
  backdrop-filter: blur(10px);
}
.ast-site-title a, .site-title a {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 1.5rem !important;
  color: var(--goud) !important;
  letter-spacing: 2px !important;
  text-decoration: none !important;
}
.ast-primary-nav > li > a, .main-navigation a {
  color: rgba(255,255,255,.65) !important;
  font-size: .88rem !important;
  font-weight: 500 !important;
}
.ast-primary-nav > li > a:hover, .main-navigation a:hover, .current-menu-item > a {
  color: var(--goud) !important;
}
.menu-item-cta > a {
  background: var(--goud) !important;
  color: #000 !important;
  padding: .4rem 1rem !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
}

/* ── PORTAL HERO ─────────────────────────────────────────── */
.ek-portal-hero {
  min-height: 82vh;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  text-align: center; padding: 5rem 2rem 4rem;
  background: linear-gradient(135deg, #08080F 0%, #0a0a20 50%, #08080F 100%);
  position: relative; overflow: hidden;
}
.ek-portal-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at center, rgba(0,51,153,.2) 0%, transparent 70%);
}
.ek-star-grid {
  position: absolute; inset: 0; opacity: .05;
  background-image: radial-gradient(circle, rgba(255,215,0,.9) 1px, transparent 1px);
  background-size: 40px 40px;
}
.ek-portal-content { position: relative; max-width: 860px; }
.ek-eyebrow {
  display: inline-flex; align-items: center; gap: .6rem;
  background: rgba(255,215,0,.08); border: 1px solid rgba(255,215,0,.25);
  color: var(--goud); font-size: .72rem; font-weight: 600;
  letter-spacing: 3px; text-transform: uppercase;
  padding: .4rem 1.2rem; border-radius: 100px; margin-bottom: 2rem;
}
.ek-portal-h1 {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(3.5rem, 9vw, 7rem) !important;
  line-height: .9 !important; letter-spacing: 4px !important;
  color: var(--w) !important; margin-bottom: 1.5rem;
}
.ek-portal-h1 em { color: var(--goud); font-style: normal; }

/* ── SEARCH ─────────────────────────────────────────────── */
.ek-search-wrap { position: relative; max-width: 480px; margin: 0 auto 1rem; }
.ek-search-input {
  width: 100%; background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,215,0,.2); color: var(--w);
  padding: 1rem 3.5rem 1rem 1.5rem; border-radius: 50px;
  font-family: 'DM Sans', sans-serif; font-size: 1rem; outline: none;
}
.ek-search-input:focus { border-color: var(--goud); background: rgba(255,215,0,.05); }
.ek-search-input::placeholder { color: rgba(255,255,255,.3); }
.ek-search-btn {
  position: absolute; right: .5rem; top: 50%; transform: translateY(-50%);
  background: var(--goud); color: #000; border: none;
  width: 40px; height: 40px; border-radius: 50%; cursor: pointer; font-size: 1rem;
}
.ek-search-btn:hover { background: var(--accent2); }

/* ── SISTER BANNER (WK → EK) ─────────────────────────────── */
.ek-wk-banner {
  background: linear-gradient(90deg, rgba(255,107,0,.1), rgba(255,107,0,.05));
  border-bottom: 1px solid rgba(255,107,0,.2);
  padding: .6rem 2rem;
  display: flex; align-items: center; justify-content: center; gap: 1rem; flex-wrap: wrap;
}
.ek-wk-banner span { font-size: .78rem; color: rgba(255,255,255,.6); }
.ek-wk-banner a { font-size: .78rem; color: #FF6B00; text-decoration: none; font-weight: 600; }
.ek-live-dot { width: 6px; height: 6px; background: #ff4444; border-radius: 50%; animation: ek-pulse 1.5s ease infinite; }
@keyframes ek-pulse { 0%,100%{box-shadow:0 0 0 0 rgba(255,68,68,.5)} 50%{box-shadow:0 0 0 5px rgba(255,68,68,0)} }

/* ── SPORT GRID (EK-variant van WK sport-grid) ───────────── */
.ek-sports-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 1.25rem; }
.ek-sport-card {
  background: var(--d2); border: 1px solid rgba(255,255,255,.06);
  border-radius: 14px; overflow: hidden;
  text-decoration: none; color: var(--w);
  transition: all .25s; display: flex; flex-direction: column;
}
.ek-sport-card:hover { border-color: rgba(255,215,0,.3); transform: translateY(-4px); color: var(--w); }
.ek-sport-card.featured { grid-column: span 2; flex-direction: row; }
.ek-sport-visual { height: 120px; background: var(--d3); display: flex; align-items: center; justify-content: center; font-size: 3.5rem; position: relative; }
.ek-sport-card.featured .ek-sport-visual { width: 170px; min-width: 170px; height: auto; }
.ek-sport-status { position: absolute; top: .6rem; right: .6rem; font-size: .62rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; padding: .2rem .55rem; border-radius: 100px; }
.ek-status-planning { background: rgba(255,215,0,.12); color: var(--goud); border: 1px solid rgba(255,215,0,.25); }
.ek-status-coming   { background: rgba(255,255,255,.05); color: rgba(255,255,255,.4); border: 1px solid rgba(255,255,255,.1); }
.ek-sport-body { padding: 1.25rem; flex: 1; display: flex; flex-direction: column; }
.ek-sport-naam { font-family: 'Bebas Neue', sans-serif; font-size: 1.4rem; letter-spacing: 1px; margin-bottom: .3rem; }
.ek-sport-editie { font-size: .78rem; color: rgba(255,255,255,.38); margin-bottom: .5rem; }
.ek-sport-desc { font-size: .82rem; color: rgba(255,255,255,.48); flex: 1; line-height: 1.5; margin-bottom: .75rem; }
.ek-sport-tags { display: flex; gap: .4rem; flex-wrap: wrap; margin-bottom: .75rem; }
.ek-stag { font-size: .65rem; font-weight: 600; padding: .18rem .55rem; border-radius: 100px; }
.ek-stag-goud { background: rgba(255,215,0,.1); color: var(--goud); }
.ek-stag-nl { background: rgba(255,107,0,.12); color: #FF6B00; }
.ek-stag-soon { background: rgba(255,255,255,.05); color: rgba(255,255,255,.35); }
.ek-btn-goud { background: var(--goud); color: #000; padding: .55rem 1.2rem; border-radius: 8px; font-size: .82rem; font-weight: 700; text-decoration: none; display: inline-block; transition: background .2s; }
.ek-btn-goud:hover { background: var(--accent2); color: #000; }
.ek-btn-ghost { background: transparent; border: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.45); padding: .55rem 1.2rem; border-radius: 8px; font-size: .82rem; font-weight: 600; text-decoration: none; display: inline-block; transition: all .2s; }
.ek-btn-ghost:hover { border-color: var(--goud); color: var(--goud); background: transparent; }

/* ── SECTION LABELS ─────────────────────────────────────── */
.ek-section-label { font-size: .72rem; font-weight: 600; letter-spacing: 3px; text-transform: uppercase; color: var(--goud); margin-bottom: .75rem; }
.ek-section-title { font-family: 'Bebas Neue', sans-serif !important; font-size: 2.8rem !important; letter-spacing: 2px; color: var(--w) !important; margin-bottom: .75rem; }
.ek-section-sub { color: rgba(255,255,255,.4); margin-bottom: 3rem; font-size: .92rem; }

/* ── PAGE HEADER ─────────────────────────────────────────── */
.ek-page-header { background: linear-gradient(135deg, #08080F, #0a0a20); padding: 4rem 2rem 3rem; text-align: center; border-bottom: 1px solid rgba(255,215,0,.15); }
.ek-page-header h1 { font-family: 'Bebas Neue', sans-serif !important; font-size: clamp(2.8rem, 7vw, 5rem) !important; letter-spacing: 3px; color: var(--w) !important; }
.ek-page-header h1 span { color: var(--goud); }
.ek-page-header p { color: rgba(255,255,255,.5); margin-top: .75rem; }

/* ── WK-SECTIE BLOK ─────────────────────────────────────── */
.ek-wk-block { background: var(--d2); border-radius: 16px; padding: 2.5rem; border: 1px solid rgba(255,107,0,.15); display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; margin: 3rem 0; }
.ek-wk-badge { display: inline-block; background: rgba(255,107,0,.1); border: 1px solid rgba(255,107,0,.2); color: #FF6B00; font-size: .7rem; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; padding: .28rem .8rem; border-radius: 100px; margin-bottom: 1rem; }
.ek-wk-sport-item { background: var(--d3); border: 1px solid rgba(255,255,255,.06); border-radius: 10px; padding: .85rem 1.25rem; display: flex; align-items: center; justify-content: space-between; text-decoration: none; color: var(--w); margin-bottom: .6rem; transition: border-color .2s; }
.ek-wk-sport-item:hover { border-color: rgba(255,107,0,.3); color: var(--w); }
.ek-live-badge { font-size: .62rem; font-weight: 700; background: rgba(255,68,68,.15); color: #ff8080; border: 1px solid rgba(255,68,68,.25); padding: .18rem .5rem; border-radius: 100px; }

/* ── FOOTER ─────────────────────────────────────────────── */
.site-footer, .ast-footer-overlay { background: var(--d2) !important; border-top: 1px solid rgba(255,255,255,.06) !important; }
.ast-footer-copyright { color: rgba(255,255,255,.25) !important; font-size: .78rem !important; }
.site-footer a { color: var(--goud) !important; }

/* ── OVERRIDES ───────────────────────────────────────────── */
.entry-content h1, .entry-content h2, .entry-content h3 { color: var(--w) !important; }
.entry-content p { color: rgba(255,255,255,.7) !important; }
.entry-content a { color: var(--goud) !important; }
.ast-container { max-width: 1100px !important; }
.ast-breadcrumbs-wrapper, .entry-meta, .ast-post-format-icon { display: none; }

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width: 768px) {
  .ek-sport-card.featured { grid-column: span 1; flex-direction: column; }
  .ek-sport-card.featured .ek-sport-visual { width: 100%; height: 110px; }
  .ek-wk-block { grid-template-columns: 1fr; }
}

/* ── SPEELSCHEMA FILTER (EK) ─────────────────────────────── */
.wk-filter-bar,.ek-filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.75rem 0}
.wk-filter-btn,.ek-filter-btn{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.6);padding:.4rem .9rem;border-radius:6px;font-family:'DM Sans',sans-serif;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}
.wk-filter-btn:hover,.ek-filter-btn:hover,.wk-filter-btn.active,.ek-filter-btn.active{background:rgba(255,215,0,.15);border-color:rgba(255,215,0,.4);color:var(--goud,#FFD700)}
/* ── FANSHOP FILTER (EK) ─────────────────────────────────── */
.ek-cat-btn{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.6);padding:.4rem .9rem;border-radius:6px;font-family:'DM Sans',sans-serif;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s;margin-right:.35rem}
.ek-cat-btn:hover,.ek-cat-btn.active{background:rgba(255,215,0,.15);border-color:rgba(255,215,0,.4);color:var(--goud,#FFD700)}
/* ── UITSLAGEN PAGINA ────────────────────────────────────── */
.ek-uitslagen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;margin:1.5rem 0}
