/* ==========================================================================
   FourFourTwo Cup — site stilleri
   Açık, temiz, kurumsal. Lacivert kimlik + saha yeşili vurgu.
   ========================================================================== */

:root {
  /* renk */
  --navy-900:#0a2540; --navy-800:#0d3b66; --navy-700:#144e8c; --navy-50:#eef4fb;
  --green-700:#0b7a44; --green-600:#0f9d58; --green-500:#16b364; --green-50:#e9f8f0;
  --ink:#0f172a; --ink-2:#334155; --ink-3:#64748b; --ink-4:#94a3b8;
  --line:#e2e8f0; --line-2:#eef2f7;
  --bg:#ffffff; --bg-2:#f7f9fc; --bg-3:#f1f5f9;
  --amber:#b45309; --red:#b91c1c; --red-50:#fef2f2;

  --brand:var(--navy-800); --accent:var(--green-600);

  /* ölçü */
  --wrap:1180px;
  --r-sm:6px; --r:10px; --r-lg:16px; --r-xl:22px;
  --sh-sm:0 1px 2px rgba(15,23,42,.06);
  --sh:0 1px 3px rgba(15,23,42,.08), 0 8px 24px -12px rgba(15,23,42,.14);
  --sh-lg:0 4px 12px rgba(15,23,42,.08), 0 24px 48px -24px rgba(15,23,42,.24);

  --font:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --head-h:72px;
}

*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:calc(var(--head-h) + 16px); }
body {
  margin:0; background:var(--bg); color:var(--ink);
  font:400 16px/1.65 var(--font);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img,svg { max-width:100%; height:auto; display:block; }
a { color:var(--navy-700); text-decoration:none; }
a:hover { color:var(--navy-800); }
h1,h2,h3,h4 { margin:0 0 .5em; line-height:1.2; letter-spacing:-.02em; color:var(--ink); font-weight:700; }
h1 { font-size:clamp(1.9rem, 1.2rem + 2.6vw, 3rem); font-weight:800; }
h2 { font-size:clamp(1.4rem, 1.05rem + 1.3vw, 2rem); }
h3 { font-size:1.15rem; }
p  { margin:0 0 1em; }
ul,ol { margin:0 0 1em; padding-left:1.2em; }
hr { border:0; border-top:1px solid var(--line); margin:2rem 0; }
:focus-visible { outline:3px solid var(--green-500); outline-offset:2px; border-radius:4px; }

.wrap { width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:20px; }
.sr-only { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.skip { position:absolute; left:-9999px; top:0; background:var(--navy-800); color:#fff; padding:12px 18px; z-index:200; border-radius:0 0 var(--r) 0; }
.skip:focus { left:0; color:#fff; }

/* ------------------------------------------------------------------ başlık */
.site-head {
  position:sticky; top:0; z-index:100; border-bottom:1px solid var(--line);
}
/* buzlu cam efekti ayrı katmanda: backdrop-filter başlığın kendisinde olursa
   mobil menü (position:fixed) ekrana değil başlığa göre konumlanıp kırpılıyor */
.site-head::before {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:rgba(255,255,255,.94); backdrop-filter:saturate(180%) blur(12px);
}
.head-inner { display:flex; align-items:center; gap:20px; min-height:var(--head-h); }

.brand { display:flex; align-items:center; gap:12px; color:var(--ink); flex-shrink:0; }
.ffc-crest { flex-shrink:0; display:block; }
.brand .ffc-crest { filter:drop-shadow(0 1px 2px rgba(15,23,42,.16)); }
.brand-logo { height:42px; width:auto; max-width:190px; object-fit:contain; }
/* yatay logo yazısı: [arma] 442 CUP | slogan */
.brand-text { display:flex; align-items:center; gap:12px; line-height:1.1; min-width:0; }
.brand-name { display:inline-flex; align-items:baseline; gap:7px; white-space:nowrap; }
.bn-num { font-size:1.5rem; font-weight:800; font-style:italic; letter-spacing:-.03em; color:var(--navy-900); }
.bn-word { font-size:.82rem; font-weight:700; font-style:italic; letter-spacing:.22em; text-transform:uppercase; color:var(--green-600); }
.brand-text strong { font-size:1.02rem; font-weight:800; letter-spacing:-.02em; }
.brand-text small {
  font-size:.76rem; color:var(--ink-3); font-weight:500; white-space:nowrap;
  padding-left:12px; border-left:1px solid var(--line);
}
.brand-foot { margin-bottom:14px; gap:10px; color:#fff; }
.brand-foot strong { font-size:1.05rem; }

.nav-toggle { display:none; margin-left:auto; width:44px; height:44px; border:1px solid var(--line); background:#fff; border-radius:var(--r); cursor:pointer; align-items:center; justify-content:center; }
.nav-toggle-bars { display:grid; gap:4px; width:18px; }
.nav-toggle-bars i { display:block; height:2px; background:var(--ink); border-radius:2px; transition:.25s; }
.nav-toggle[aria-expanded="true"] .nav-toggle-bars i:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle-bars i:nth-child(2) { opacity:0; }
.nav-toggle[aria-expanded="true"] .nav-toggle-bars i:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }

.main-nav { display:flex; align-items:center; gap:18px; margin-left:auto; }
.main-nav > ul { display:flex; align-items:center; gap:2px; list-style:none; margin:0; padding:0; }
.main-nav > ul a {
  display:block; padding:9px 11px; border-radius:8px; font-size:.895rem; font-weight:600;
  color:var(--ink-2); white-space:nowrap; transition:background .15s, color .15s;
}
.main-nav > ul a:hover { background:var(--bg-3); color:var(--navy-800); }
.main-nav > ul a.is-active { color:var(--navy-800); background:var(--navy-50); }
.nav-actions { display:flex; align-items:center; gap:12px; flex-shrink:0; }

.lang-switch { display:inline-flex; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:#fff; }
.lang-switch a { padding:6px 10px; font-size:.75rem; font-weight:700; color:var(--ink-3); letter-spacing:.04em; }
.lang-switch a + a { border-left:1px solid var(--line); }
.lang-switch a.is-active { background:var(--navy-800); color:#fff; }

/* ------------------------------------------------------------------ butonlar */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 22px; border-radius:var(--r); border:1px solid transparent;
  font-size:.94rem; font-weight:600; line-height:1.2; cursor:pointer;
  transition:transform .12s, box-shadow .15s, background .15s, border-color .15s;
  text-align:center;
}
.btn:active { transform:translateY(1px); }
.btn-primary { background:var(--navy-800); color:#fff; box-shadow:var(--sh-sm); }
.btn-primary:hover { background:var(--navy-900); color:#fff; box-shadow:var(--sh); }
.btn-accent { background:var(--green-600); color:#fff; box-shadow:var(--sh-sm); }
.btn-accent:hover { background:var(--green-700); color:#fff; box-shadow:var(--sh); }
.btn-ghost { background:#fff; color:var(--ink); border-color:var(--line); }
.btn-ghost:hover { border-color:var(--ink-4); color:var(--navy-800); background:#fff; }
.btn-outline-light { background:transparent; color:#fff; border-color:rgba(255,255,255,.42); }
.btn-outline-light:hover { background:rgba(255,255,255,.12); color:#fff; border-color:#fff; }
.btn-sm { padding:8px 15px; font-size:.85rem; border-radius:8px; }
.btn-lg { padding:15px 30px; font-size:1rem; }
.btn-block { width:100%; }
.btn[disabled],.btn.is-busy { opacity:.6; pointer-events:none; }

/* -------------------------------------------------------------------- hero */
.hero {
  position:relative; overflow:hidden; color:#fff;
  background:linear-gradient(135deg, var(--navy-900) 0%, var(--navy-800) 55%, #10527f 100%);
}
.hero::after {
  content:''; position:absolute; inset:0; opacity:.16; pointer-events:none;
  background:
    radial-gradient(700px 340px at 84% -8%, var(--green-500), transparent 62%),
    radial-gradient(560px 300px at 4% 108%, #38bdf8, transparent 60%);
}
.hero-bg { position:absolute; inset:0; object-fit:cover; width:100%; height:100%; opacity:.24; }
.hero-inner { position:relative; z-index:2; padding:clamp(48px,6vw,84px) 0 clamp(44px,5vw,72px); }
.hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:center; }
.hero h1 { color:#fff; margin-bottom:.35em; }
.hero-lead { font-size:1.08rem; color:rgba(255,255,255,.86); max-width:56ch; margin-bottom:1.6em; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }

.eyebrow {
  display:inline-flex; align-items:center; gap:8px; margin-bottom:18px;
  padding:6px 14px; border-radius:999px; font-size:.75rem; font-weight:700;
  letter-spacing:.09em; text-transform:uppercase;
  background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.2);
}
.eyebrow-dot { width:7px; height:7px; border-radius:50%; background:var(--green-500); box-shadow:0 0 0 4px rgba(22,179,100,.28); }
.eyebrow-dot.is-live { animation:pulse 1.8s infinite; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.35} }

.hero-facts { list-style:none; margin:26px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:10px 26px; }
.hero-facts li { display:flex; flex-direction:column; gap:2px; }
.hero-facts dt,.hero-facts .k { font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,255,255,.62); font-weight:600; }
.hero-facts .v { font-size:.98rem; font-weight:600; color:#fff; }

/* geri sayım */
.countdown { background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.17); border-radius:var(--r-xl); padding:26px; backdrop-filter:blur(6px); }
.countdown-label { font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.7); font-weight:700; margin-bottom:16px; text-align:center; }
.countdown-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.cd-cell { background:rgba(255,255,255,.1); border-radius:12px; padding:14px 6px; text-align:center; }
.cd-num { display:block; font-size:clamp(1.5rem,1rem+1.6vw,2.15rem); font-weight:800; line-height:1; font-variant-numeric:tabular-nums; color:#fff; }
.cd-unit { display:block; margin-top:6px; font-size:.68rem; text-transform:uppercase; letter-spacing:.07em; color:rgba(255,255,255,.66); font-weight:600; }
.countdown.is-live .cd-num { color:var(--green-500); }

/* --------------------------------------------------------------- bölümler */
.section { padding:clamp(44px,5vw,72px) 0; }
.section-alt { background:var(--bg-2); }
.section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:28px; flex-wrap:wrap; }
.section-head h2 { margin:0; }
.section-head .link-more { font-size:.9rem; font-weight:600; color:var(--navy-700); white-space:nowrap; }
.section-head .link-more::after { content:' →'; }
.section-sub { color:var(--ink-3); margin:.35em 0 0; font-size:.96rem; }

.page-head { background:var(--bg-2); border-bottom:1px solid var(--line); padding:clamp(32px,4vw,56px) 0; }
.page-head h1 { margin-bottom:.25em; }
.page-head p { color:var(--ink-3); margin:0; max-width:65ch; }
.breadcrumb { list-style:none; display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0 0 14px; font-size:.85rem; color:var(--ink-4); }
.breadcrumb li+li::before { content:'/'; margin-right:8px; color:var(--ink-4); }
.breadcrumb a { color:var(--ink-3); }

/* ---------------------------------------------------------------- kartlar */
.grid { display:grid; gap:22px; }
.grid-2 { grid-template-columns:repeat(2,1fr); }
.grid-3 { grid-template-columns:repeat(3,1fr); }
.grid-4 { grid-template-columns:repeat(4,1fr); }
.grid-sidebar { grid-template-columns:minmax(0,1fr) 340px; gap:40px; align-items:start; }

.card {
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  overflow:hidden; display:flex; flex-direction:column;
  transition:box-shadow .18s, transform .18s, border-color .18s;
}
.card:hover { box-shadow:var(--sh); border-color:#d5dee8; transform:translateY(-2px); }
.card-media { position:relative; aspect-ratio:16/9; background:var(--bg-3); overflow:hidden; }
.card-media img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.card:hover .card-media img { transform:scale(1.04); }
.card-body { padding:20px; display:flex; flex-direction:column; gap:8px; flex:1; }
.card-body h3 { margin:0; font-size:1.08rem; }
.card-body h3 a { color:var(--ink); }
.card-body h3 a:hover { color:var(--navy-700); }
.card-meta { display:flex; flex-wrap:wrap; gap:6px 14px; font-size:.82rem; color:var(--ink-3); }
.card-text { color:var(--ink-2); font-size:.93rem; margin:0; }
.card-foot { margin-top:auto; padding-top:14px; font-size:.88rem; font-weight:600; }

.badge {
  display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:999px;
  font-size:.72rem; font-weight:700; letter-spacing:.03em; text-transform:uppercase;
  background:var(--bg-3); color:var(--ink-2); border:1px solid var(--line);
}
.badge-planned  { background:#fff7e6; color:#92400e; border-color:#f5d38a; }
.badge-upcoming { background:var(--navy-50); color:var(--navy-800); border-color:#cfe0f2; }
.badge-ongoing  { background:var(--green-50); color:var(--green-700); border-color:#bfe8d3; }
.badge-finished { background:var(--bg-3); color:var(--ink-3); }
.badge-open     { background:var(--green-50); color:var(--green-700); border-color:#bfe8d3; }
.badge-closed   { background:#fff5f5; color:var(--red); border-color:#fbd5d5; }
.badge-float    { position:absolute; top:12px; left:12px; z-index:2; background:rgba(255,255,255,.94); backdrop-filter:blur(4px); }

/* ------------------------------------------------------------------ maçlar */
.match-list { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.match {
  display:grid; grid-template-columns:88px minmax(0,1fr) 88px; align-items:center; gap:14px;
  background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:14px 16px;
  transition:border-color .15s, box-shadow .15s;
}
.match:hover { border-color:#d5dee8; box-shadow:var(--sh-sm); }
.match-when { font-size:.78rem; color:var(--ink-3); line-height:1.35; }
.match-when strong { display:block; color:var(--ink); font-size:.85rem; font-weight:700; }
.match-teams { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; min-width:0; }
.match-team { display:flex; align-items:center; gap:10px; min-width:0; }
.match-team.home { justify-content:flex-end; text-align:right; }
.match-team.away { justify-content:flex-start; }
.match-team .name { font-weight:600; font-size:.95rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink); }
.match-team .name.tbd { color:var(--ink-4); font-weight:500; font-style:italic; }
.team-crest { width:32px; height:32px; object-fit:contain; flex-shrink:0; border-radius:6px; background:var(--bg-3); }
.team-crest-sm { width:22px; height:22px; }
.match-score {
  display:flex; align-items:center; gap:6px; padding:5px 12px; border-radius:8px;
  background:var(--bg-3); font-weight:800; font-size:1.02rem; font-variant-numeric:tabular-nums;
  color:var(--ink); min-width:62px; justify-content:center;
}
.match-score.pending { background:transparent; color:var(--ink-4); font-weight:600; font-size:.9rem; }
.match-score .pens { font-size:.7rem; font-weight:600; color:var(--ink-3); }
.match-tag { text-align:right; font-size:.72rem; color:var(--ink-4); font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
.match.is-live { border-color:#bfe8d3; background:linear-gradient(0deg,var(--green-50),#fff); }
.match-round-head { margin:22px 0 10px; font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-3); }
.match-round-head:first-child { margin-top:0; }

/* ------------------------------------------------------------ puan durumu */
.table-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--line); border-radius:var(--r-lg); background:#fff; }
table.standings { width:100%; border-collapse:collapse; min-width:620px; font-size:.92rem; }
table.standings th, table.standings td { padding:12px 10px; text-align:center; border-bottom:1px solid var(--line-2); }
table.standings thead th { background:var(--bg-2); font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-3); font-weight:700; border-bottom:1px solid var(--line); position:sticky; top:0; }
table.standings td.pos { width:44px; color:var(--ink-3); font-weight:700; font-variant-numeric:tabular-nums; }
table.standings td.team { text-align:left; min-width:190px; }
table.standings td.team a { display:flex; align-items:center; gap:10px; color:var(--ink); font-weight:600; }
table.standings td.team a:hover { color:var(--navy-700); }
table.standings td.pts { font-weight:800; color:var(--navy-800); font-size:1rem; }
table.standings tbody tr:last-child td { border-bottom:0; }
table.standings tbody tr:hover { background:var(--bg-2); }
table.standings tr.qualify td.pos { color:var(--green-700); position:relative; }
table.standings tr.qualify td.pos::before { content:''; position:absolute; left:0; top:8px; bottom:8px; width:3px; border-radius:3px; background:var(--green-600); }
.form-run { display:inline-flex; gap:3px; }
.form-run span { width:19px; height:19px; border-radius:5px; display:grid; place-items:center; font-size:.63rem; font-weight:800; color:#fff; }
.form-run .W { background:var(--green-600); } .form-run .D { background:var(--ink-4); } .form-run .L { background:#dc6868; }
.standings-legend { display:flex; flex-wrap:wrap; gap:6px 18px; margin-top:12px; font-size:.78rem; color:var(--ink-4); }
.group-block + .group-block { margin-top:36px; }
.group-title { display:flex; align-items:center; gap:10px; margin-bottom:12px; font-size:1.02rem; }
.group-title::before { content:''; width:4px; height:18px; border-radius:3px; background:var(--navy-800); }

/* --------------------------------------------------------------- takımlar */
.team-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(178px,1fr)); gap:16px; }
.team-card { display:flex; flex-direction:column; align-items:center; gap:10px; padding:22px 16px; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); text-align:center; transition:box-shadow .18s, transform .18s; }
.team-card:hover { box-shadow:var(--sh); transform:translateY(-2px); }
.team-card img,.team-card .crest-ph { width:64px; height:64px; object-fit:contain; }
.crest-ph { display:grid; place-items:center; border-radius:14px; background:var(--navy-50); color:var(--navy-800); font-weight:800; font-size:1.1rem; }
.team-card .t-name { font-weight:700; font-size:.94rem; color:var(--ink); line-height:1.3; }
.team-card .t-city { font-size:.8rem; color:var(--ink-3); }

/* ------------------------------------------------------------------ galeri */
.photo-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px; }
.photo-grid a { display:block; aspect-ratio:4/3; border-radius:var(--r); overflow:hidden; background:var(--bg-3); }
.photo-grid img { width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.photo-grid a:hover img { transform:scale(1.05); }

.lightbox { position:fixed; inset:0; z-index:200; background:rgba(10,20,35,.94); display:none; place-items:center; padding:24px; }
.lightbox.is-open { display:grid; }
.lightbox img { max-width:min(1100px,94vw); max-height:86vh; object-fit:contain; border-radius:8px; }
.lightbox-close,.lightbox-nav { position:absolute; background:rgba(255,255,255,.12); border:0; color:#fff; width:46px; height:46px; border-radius:50%; font-size:22px; cursor:pointer; display:grid; place-items:center; }
.lightbox-close { top:20px; right:20px; }
.lightbox-nav.prev { left:20px; top:50%; transform:translateY(-50%); }
.lightbox-nav.next { right:20px; top:50%; transform:translateY(-50%); }
.lightbox-cap { position:absolute; bottom:22px; left:0; right:0; text-align:center; color:rgba(255,255,255,.8); font-size:.88rem; padding:0 60px; }

/* --------------------------------------------------------------- sponsorlar */
.sponsor-strip { border-top:1px solid var(--line); background:var(--bg-2); padding:34px 0; }
.strip-title { text-align:center; font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-4); font-weight:700; margin-bottom:20px; }
.sponsor-logos { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:16px 40px; }
.sponsor-logos img { max-height:46px; width:auto; opacity:.72; filter:grayscale(1); transition:.22s; }
.sponsor-logos a:hover img { opacity:1; filter:none; }
.sponsor-name { font-weight:700; color:var(--ink-3); font-size:.95rem; }
.sponsor-tier { margin-bottom:34px; }
.sponsor-tier h2 { font-size:1.05rem; color:var(--ink-3); text-transform:uppercase; letter-spacing:.07em; margin-bottom:16px; }
.sponsor-tier .sponsor-logos { justify-content:flex-start; }
.sponsor-tier.tier-main .sponsor-logos img { max-height:86px; }

/* -------------------------------------------------------------- istatistik */
.stat-row { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.stat { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:24px 20px; text-align:center; }
.stat-num { font-size:clamp(1.6rem,1.1rem+1.6vw,2.3rem); font-weight:800; color:var(--navy-800); line-height:1; font-variant-numeric:tabular-nums; }
.stat-label { margin-top:8px; font-size:.8rem; text-transform:uppercase; letter-spacing:.07em; color:var(--ink-3); font-weight:600; }

/* ------------------------------------------------------------------ içerik */
.prose { font-size:1.02rem; color:var(--ink-2); line-height:1.75; }
.prose h2 { margin:1.8em 0 .5em; font-size:1.35rem; color:var(--ink); }
.prose h3 { margin:1.5em 0 .4em; font-size:1.12rem; color:var(--ink); }
.prose ul,.prose ol { padding-left:1.4em; }
.prose li { margin-bottom:.4em; }
.prose img { border-radius:var(--r); margin:1.4em 0; }
.prose blockquote { margin:1.4em 0; padding:4px 0 4px 20px; border-left:3px solid var(--green-600); color:var(--ink-2); font-style:italic; }
.prose table { width:100%; border-collapse:collapse; margin:1.4em 0; font-size:.94rem; }
.prose th,.prose td { padding:10px 12px; border:1px solid var(--line); text-align:left; }
.prose th { background:var(--bg-2); font-weight:700; }
.prose a { text-decoration:underline; text-underline-offset:2px; }

.info-list { list-style:none; margin:0; padding:0; }
.info-list li { display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--line-2); font-size:.93rem; }
.info-list li:last-child { border-bottom:0; }
.info-list .k { color:var(--ink-3); flex-shrink:0; }
.info-list .v { font-weight:600; text-align:right; color:var(--ink); }

.panel { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:24px; }
.panel + .panel { margin-top:20px; }
.panel h3 { margin-top:0; font-size:1.02rem; }
.panel-accent { background:linear-gradient(160deg,var(--navy-50),#fff); border-color:#cfe0f2; }

.empty { text-align:center; padding:56px 24px; color:var(--ink-3); background:var(--bg-2); border:1px dashed var(--line); border-radius:var(--r-lg); }
.empty p { margin:0; }

/* ------------------------------------------------------------------ formlar */
.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.field { display:flex; flex-direction:column; gap:6px; }
.field.full { grid-column:1/-1; }
.field label { font-size:.86rem; font-weight:600; color:var(--ink-2); }
.field .req { color:var(--red); }
.field .hint { font-size:.78rem; color:var(--ink-4); font-weight:400; }
.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=number],
.field input[type=date],.field input[type=password],.field select,.field textarea {
  width:100%; padding:11px 14px; border:1px solid var(--line); border-radius:var(--r);
  font:inherit; font-size:.95rem; color:var(--ink); background:#fff;
  transition:border-color .15s, box-shadow .15s;
}
.field textarea { min-height:130px; resize:vertical; }
.field select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M6 8 0 0h12z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:38px; }
.field :is(input,select,textarea):focus { outline:none; border-color:var(--navy-700); box-shadow:0 0 0 3px rgba(20,78,140,.13); }
.field.has-error :is(input,select,textarea) { border-color:var(--red); background:var(--red-50); }
.field-error { font-size:.8rem; color:var(--red); font-weight:500; }
.check { display:flex; align-items:flex-start; gap:10px; font-size:.88rem; color:var(--ink-2); line-height:1.5; }
.check input { margin-top:3px; width:17px; height:17px; accent-color:var(--green-600); flex-shrink:0; }
.hp-field { position:absolute!important; left:-9999px; opacity:0; height:0; overflow:hidden; }

.alert { padding:14px 18px; border-radius:var(--r); margin-bottom:22px; font-size:.93rem; border:1px solid; display:flex; gap:10px; align-items:flex-start; }
.alert-success { background:var(--green-50); border-color:#bfe8d3; color:#0a5c34; }
.alert-error   { background:var(--red-50); border-color:#fbd5d5; color:#8f1a1a; }
.alert-info    { background:var(--navy-50); border-color:#cfe0f2; color:var(--navy-800); }
.alert-warn    { background:#fffbeb; border-color:#fde68a; color:#92400e; }
.alert ul { margin:6px 0 0; padding-left:18px; }

.success-box { text-align:center; padding:56px 28px; background:var(--green-50); border:1px solid #bfe8d3; border-radius:var(--r-xl); }
.success-box .tick { width:62px; height:62px; margin:0 auto 20px; border-radius:50%; background:var(--green-600); color:#fff; display:grid; place-items:center; font-size:30px; }
.success-box h2 { color:#0a5c34; }
.success-box p { color:#166534; max-width:52ch; margin-inline:auto; }

/* ---------------------------------------------------------------- sekmeler */
.tabs { display:flex; gap:4px; border-bottom:1px solid var(--line); margin-bottom:26px; overflow-x:auto; }
.tabs a { padding:11px 16px; font-size:.9rem; font-weight:600; color:var(--ink-3); border-bottom:2px solid transparent; white-space:nowrap; }
.tabs a:hover { color:var(--navy-800); }
.tabs a.is-active { color:var(--navy-800); border-bottom-color:var(--navy-800); }

.filter-bar { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-bottom:26px; padding:16px; background:var(--bg-2); border:1px solid var(--line); border-radius:var(--r-lg); }
.filter-bar label { font-size:.84rem; font-weight:600; color:var(--ink-2); }
.filter-bar select { padding:9px 34px 9px 12px; border:1px solid var(--line); border-radius:8px; font:inherit; font-size:.9rem; background:#fff; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M6 8 0 0h12z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; min-width:230px; }

.pager { display:flex; justify-content:center; align-items:center; gap:8px; margin-top:36px; }
.pager a,.pager span { padding:9px 14px; border:1px solid var(--line); border-radius:8px; font-size:.88rem; font-weight:600; color:var(--ink-2); background:#fff; }
.pager .is-active { background:var(--navy-800); color:#fff; border-color:var(--navy-800); }
.pager .disabled { opacity:.45; }

/* ------------------------------------------------------------------- alt bilgi */
.site-foot { background:var(--navy-900); color:rgba(255,255,255,.72); padding:52px 0 0; margin-top:0; font-size:.92rem; }
.foot-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1.1fr 1.1fr; gap:34px; padding-bottom:38px; }
.site-foot h3 { color:#fff; font-size:.8rem; text-transform:uppercase; letter-spacing:.09em; margin-bottom:16px; font-weight:700; }
.site-foot ul { list-style:none; margin:0; padding:0; display:grid; gap:9px; }
.site-foot a { color:rgba(255,255,255,.72); }
.site-foot a:hover { color:#fff; }
.foot-about p { max-width:44ch; line-height:1.65; }
.foot-social { display:flex!important; flex-wrap:wrap; gap:8px 16px; margin-top:14px!important; }
.foot-social a { font-size:.85rem; font-weight:600; }
.foot-contact li { line-height:1.5; }
.foot-bottom { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; padding:20px 20px 26px; border-top:1px solid rgba(255,255,255,.11); font-size:.85rem; }
.foot-bottom p { margin:0; }
.foot-lang { display:flex; gap:14px; }
.foot-lang a.is-active { color:#fff; font-weight:600; }

/* ---------------------------------------------------------------- duyarlılık */
@media (max-width:1080px) {
  .grid-4 { grid-template-columns:repeat(2,1fr); }
  .foot-grid { grid-template-columns:1fr 1fr; gap:32px; }
}
@media (max-width:960px) {
  :root { --head-h:64px; }
  .nav-toggle { display:flex; }
  .main-nav {
    position:fixed; inset:var(--head-h) 0 0 auto; width:min(340px,86vw);
    background:#fff; border-left:1px solid var(--line); flex-direction:column;
    align-items:stretch; gap:0; padding:18px; overflow-y:auto;
    transform:translateX(100%); transition:transform .26s ease; box-shadow:var(--sh-lg);
  }
  .main-nav.is-open { transform:translateX(0); }
  .main-nav > ul { flex-direction:column; align-items:stretch; gap:2px; }
  .main-nav > ul a { padding:13px 14px; font-size:1rem; border-radius:10px; }
  .nav-actions { margin-top:18px; padding-top:18px; border-top:1px solid var(--line); justify-content:space-between; }
  .nav-actions .btn { flex:1; }
  .hero-grid { grid-template-columns:1fr; gap:34px; }
  .grid-sidebar { grid-template-columns:1fr; gap:32px; }
  .grid-3 { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:720px) {
  .grid-2,.grid-3,.grid-4 { grid-template-columns:1fr; }
  .stat-row { grid-template-columns:repeat(2,1fr); }
  .form-grid { grid-template-columns:1fr; }
  .match { grid-template-columns:66px minmax(0,1fr); gap:10px; padding:12px; }
  .match-tag { display:none; }
  .match-teams { gap:8px; }
  .match-team .name { font-size:.88rem; }
  .team-crest { width:26px; height:26px; }
  .foot-grid { grid-template-columns:1fr; gap:28px; }
  .section-head { align-items:flex-start; }
}
@media (max-width:420px) {
  .team-grid { grid-template-columns:repeat(2,1fr); }
  .countdown { padding:18px; }
  .countdown-grid { gap:6px; }
}

@media print {
  .site-head,.site-foot,.sponsor-strip,.nav-toggle,.hero-actions,.filter-bar { display:none!important; }
  body { font-size:12px; }
  .card,.panel,.table-scroll { break-inside:avoid; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
}

/* ==========================================================================
   Sezon yapısı, yaş kategorileri ve ücret yönlendirmesi
   ========================================================================== */

:root {
  --s-winter:#3b82f6; --s-winter-bg:#eff6ff;
  --s-spring:#10a35a; --s-spring-bg:#ecfdf3;
  --s-summer:#d97706; --s-summer-bg:#fffbeb;
  --s-autumn:#b45309; --s-autumn-bg:#fef6ee;
}
.season-winter { --s:var(--s-winter); --s-bg:var(--s-winter-bg); }
.season-spring { --s:var(--s-spring); --s-bg:var(--s-spring-bg); }
.season-summer { --s:var(--s-summer); --s-bg:var(--s-summer-bg); }
.season-autumn { --s:var(--s-autumn); --s-bg:var(--s-autumn-bg); }

/* --- kart üzerindeki mevsim etiketi */
.season-chip {
  position:absolute; top:12px; right:12px; z-index:2;
  padding:4px 11px; border-radius:999px; font-size:.7rem; font-weight:800;
  letter-spacing:.05em; text-transform:uppercase;
  background:var(--s, var(--navy-800)); color:#fff; box-shadow:var(--sh-sm);
}

/* --- yaş kategorisi rozetleri */
.age-chips { display:flex; flex-wrap:wrap; gap:5px; margin:2px 0 0; }
.age-chip {
  padding:3px 9px; border-radius:6px; font-size:.73rem; font-weight:700;
  background:var(--navy-50); color:var(--navy-800); border:1px solid #cfe0f2;
  font-variant-numeric:tabular-nums;
}
.age-chip.is-off { background:var(--bg-3); color:var(--ink-4); border-color:var(--line); }
.age-chip.is-more { background:transparent; color:var(--ink-3); border-style:dashed; }

table.age-table td:first-child { text-align:left; }
table.age-table .badge { font-size:.65rem; padding:2px 7px; }

/* --- pakete dahil listesi */
.included-list { list-style:none; padding:0; margin:0; display:grid; gap:9px; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); }
.included-list li {
  position:relative; padding:11px 14px 11px 38px; background:var(--green-50);
  border:1px solid #bfe8d3; border-radius:var(--r); font-size:.92rem; color:#0a5c34; line-height:1.5;
}
.included-list li::before {
  content:'✓'; position:absolute; left:13px; top:11px;
  width:16px; height:16px; border-radius:50%; background:var(--green-600); color:#fff;
  font-size:.65rem; font-weight:800; display:grid; place-items:center;
}

/* --- ücret yerine başvuru yönlendirmesi */
.price-ask {
  background:linear-gradient(160deg, var(--navy-900), var(--navy-800));
  color:#fff; border-radius:var(--r-lg); padding:22px; margin-bottom:20px;
  box-shadow:var(--sh);
}
.price-ask-head { display:flex; gap:14px; align-items:flex-start; margin-bottom:14px; }
.price-ask-icon {
  width:38px; height:38px; flex-shrink:0; display:grid; place-items:center;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.2);
  border-radius:10px; font-size:1.1rem; font-weight:800;
}
.price-ask-head strong { display:block; font-size:1rem; margin-bottom:3px; }
.price-ask-head p { margin:0; font-size:.86rem; color:rgba(255,255,255,.76); line-height:1.55; }
.price-ask-note { font-size:.82rem; color:rgba(255,255,255,.62); line-height:1.6; margin:0 0 16px; }
.price-ask .btn-ghost { background:rgba(255,255,255,.1); color:#fff; border-color:rgba(255,255,255,.28); }
.price-ask .btn-ghost:hover { background:rgba(255,255,255,.18); color:#fff; }
.price-ask.is-compact { padding:18px; }

.side-note { font-size:.82rem; color:var(--ink-3); line-height:1.6; margin:-8px 0 20px; padding:0 4px; }

/* --- yıl sekmeleri */
.year-tabs { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:22px; }
.year-tabs a {
  padding:9px 18px; border-radius:999px; border:1px solid var(--line); background:#fff;
  font-size:.9rem; font-weight:700; color:var(--ink-2); font-variant-numeric:tabular-nums;
}
.year-tabs a:hover { border-color:var(--ink-4); color:var(--navy-800); }
.year-tabs a.is-active { background:var(--navy-800); border-color:var(--navy-800); color:#fff; }
.season-summary { color:var(--ink-3); font-size:.95rem; margin-bottom:24px; }
.season-summary strong { color:var(--ink); }

/* --- takvim: dört ayak */
.season-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.season-card {
  display:flex; flex-direction:column; gap:14px; padding:22px;
  background:#fff; border:1px solid var(--line); border-top:4px solid var(--s, var(--navy-800));
  border-radius:var(--r-lg); transition:box-shadow .18s, transform .18s;
}
.season-card:hover { box-shadow:var(--sh); transform:translateY(-2px); }
.season-card.is-empty { background:var(--bg-2); border-top-color:var(--line); box-shadow:none; transform:none; }
.season-card-head { display:flex; align-items:center; gap:12px; }
.season-num {
  width:34px; height:34px; flex-shrink:0; display:grid; place-items:center;
  border-radius:10px; background:var(--s-bg, var(--bg-3)); color:var(--s, var(--ink-3));
  font-weight:800; font-size:.95rem;
}
.season-card-head h2 { margin:0; font-size:1rem; }
.season-card-head p { margin:1px 0 0; font-size:.76rem; color:var(--ink-4); font-weight:600; text-transform:uppercase; letter-spacing:.05em; }
.season-name { margin:0; font-size:1.02rem; line-height:1.35; }
.season-name a { color:var(--ink); }
.season-name a:hover { color:var(--navy-700); }
.season-facts { list-style:none; padding:0; margin:0; display:grid; gap:7px; font-size:.86rem; color:var(--ink-2); }
.season-facts li { display:flex; gap:8px; align-items:flex-start; }
.season-facts span { flex-shrink:0; opacity:.7; }
.season-empty { margin:0; color:var(--ink-4); font-size:.9rem; font-style:italic; }
.season-card-foot { margin-top:auto; padding-top:14px; border-top:1px solid var(--line-2); display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }

/* --- ana sayfa sezon şeridi */
.season-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.season-mini {
  display:flex; flex-direction:column; gap:6px; padding:18px;
  background:#fff; border:1px solid var(--line); border-left:4px solid var(--s, var(--navy-800));
  border-radius:var(--r); transition:box-shadow .18s, transform .18s;
}
.season-mini:hover { box-shadow:var(--sh); transform:translateY(-2px); }
.season-mini.is-empty { background:var(--bg-2); border-left-color:var(--line); }
.season-mini-num { font-size:.7rem; font-weight:800; color:var(--s, var(--ink-4)); letter-spacing:.08em; }
.season-mini-name { font-weight:700; font-size:.98rem; color:var(--ink); line-height:1.3; }
.season-mini-date { font-size:.83rem; color:var(--ink-3); }
.season-mini .badge { align-self:flex-start; margin-top:4px; }

@media (max-width:960px) {
  .season-grid, .season-strip { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px) {
  .season-grid, .season-strip { grid-template-columns:1fr; }
  .included-list { grid-template-columns:1fr; }
}

/* ==========================================================================
   Yaş kategorisi sayfası ve ödüller
   ========================================================================== */

.cat-head { background:linear-gradient(150deg, var(--navy-50), var(--bg-2) 60%); }
.cat-title { display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-bottom:22px; }
.cat-title h1 { margin:0 0 .15em; font-size:clamp(1.5rem,1.1rem+1.6vw,2.2rem); }
.cat-title p { margin:0; color:var(--ink-3); font-size:.95rem; }
.cat-badge {
  flex-shrink:0; min-width:78px; height:78px; padding:0 14px;
  display:grid; place-items:center; border-radius:18px;
  background:linear-gradient(135deg, var(--navy-800), var(--navy-700));
  color:#fff; font-size:1.6rem; font-weight:800; letter-spacing:-.02em;
  box-shadow:var(--sh);
}
.cat-facts { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:10px 32px; }
.cat-facts li { display:flex; flex-direction:column; gap:2px; }
.cat-facts .k { font-size:.72rem; text-transform:uppercase; letter-spacing:.07em; color:var(--ink-4); font-weight:700; }
.cat-facts .v { font-size:1rem; font-weight:700; color:var(--ink); }

/* kategori geçiş çubuğu */
.cat-switch-bar { background:#fff; border-bottom:1px solid var(--line); position:sticky; top:var(--head-h); z-index:40; }
.cat-switch-bar .wrap { display:flex; align-items:center; gap:16px; padding-block:12px; flex-wrap:wrap; }
.cat-switch-label { font-size:.75rem; text-transform:uppercase; letter-spacing:.07em; color:var(--ink-4); font-weight:700; flex-shrink:0; }
.cat-switch { display:flex; gap:6px; overflow-x:auto; padding-bottom:2px; }
.cat-switch a {
  padding:7px 15px; border-radius:999px; border:1px solid var(--line); background:#fff;
  font-size:.85rem; font-weight:700; color:var(--ink-2); white-space:nowrap;
}
.cat-switch a:hover { border-color:var(--ink-4); color:var(--navy-800); }
.cat-switch a.is-active { background:var(--navy-800); border-color:var(--navy-800); color:#fff; }

/* --- ödül başlıkları */
.award-h { display:flex; align-items:center; gap:10px; font-size:1.05rem; margin:0 0 14px; }
.award-icon {
  width:32px; height:32px; flex-shrink:0; display:grid; place-items:center;
  border-radius:9px; background:var(--navy-50); font-size:1rem; line-height:1;
}
.award-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:32px; align-items:start; }
.award-block { min-width:0; }

table.scorer-table { min-width:460px; }
table.scorer-table td.pts { color:var(--green-700); }

/* --- özel ödül kartları */
.special-awards { display:grid; gap:34px; margin-top:40px; }
.special-block { min-width:0; }
.player-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; }

.player-card {
  display:flex; align-items:center; gap:14px; padding:16px;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  transition:box-shadow .18s, transform .18s;
}
.player-card:hover { box-shadow:var(--sh); transform:translateY(-2px); }
.player-photo { position:relative; width:62px; height:62px; flex-shrink:0; }
.player-photo img { width:62px; height:62px; object-fit:cover; border-radius:50%; background:var(--bg-3); }
.player-initials {
  width:62px; height:62px; display:grid; place-items:center; border-radius:50%;
  background:var(--navy-50); color:var(--navy-800); font-size:1.4rem; font-weight:800;
}
.player-badge {
  position:absolute; right:-4px; bottom:-4px; width:26px; height:26px;
  display:grid; place-items:center; border-radius:50%; background:#fff;
  border:1px solid var(--line); font-size:.8rem; box-shadow:var(--sh-sm);
}
.player-info { display:flex; flex-direction:column; gap:3px; min-width:0; }
.player-info strong { font-size:1rem; color:var(--ink); line-height:1.3; }
.player-team { display:flex; align-items:center; gap:6px; font-size:.83rem; color:var(--ink-3); }
.player-team img { width:16px; height:16px; object-fit:contain; border-radius:3px; }
.player-stats { font-size:.8rem; color:var(--ink-4); font-weight:600; }
.player-note { font-size:.8rem; color:var(--ink-3); font-style:italic; line-height:1.45; margin-top:2px; }

.award-fair_play   .player-badge { background:var(--green-50); border-color:#bfe8d3; }
.award-rising_star .player-badge { background:#fffbeb; border-color:#fde68a; }
.award-promising   .player-badge { background:var(--navy-50); border-color:#cfe0f2; }

/* kategori bağlantılı yaş tablosu */
table.age-table td:first-child a { color:var(--navy-800); font-weight:700; }
table.age-table td:first-child a:hover { text-decoration:underline; }

@media (max-width:900px) {
  .award-grid { grid-template-columns:1fr; gap:36px; }
  .cat-switch-bar { position:static; }
}
@media (max-width:600px) {
  .cat-badge { min-width:60px; height:60px; font-size:1.2rem; border-radius:14px; }
  .cat-facts { gap:10px 20px; }
  .player-cards { grid-template-columns:1fr; }
}

/* --- her şey dahil konsept rozeti */
.concept-badge {
  display:inline-flex; align-items:center; gap:5px; padding:4px 11px; border-radius:999px;
  font-size:.72rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase;
  background:linear-gradient(135deg,#b45309,#d97706); color:#fff; white-space:nowrap;
}
.concept-badge.light { background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.28); }
.card-body .concept-badge { align-self:flex-start; }
.concept-strip {
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  margin:0 0 1.4em; padding:12px 16px; border-radius:var(--r);
  background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.15);
  color:rgba(255,255,255,.86); font-size:.9rem; line-height:1.5;
}
.cat-venue { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:6px 0 0; font-size:.92rem; color:var(--ink-2); font-weight:500; }

/* --- çerez onay bildirimi */
.cookie-bar {
  position:fixed; left:0; right:0; bottom:0; z-index:150;
  background:#fff; border-top:1px solid var(--line);
  box-shadow:0 -8px 32px -16px rgba(15,23,42,.35);
  transform:translateY(100%); transition:transform .3s ease;
}
.cookie-bar.is-open { transform:translateY(0); }
.cookie-inner {
  max-width:var(--wrap); margin-inline:auto; padding:18px 20px;
  display:flex; align-items:center; gap:26px; flex-wrap:wrap;
}
.cookie-copy { flex:1; min-width:280px; }
.cookie-copy strong { display:block; font-size:.95rem; margin-bottom:4px; }
.cookie-copy p { margin:0; font-size:.86rem; color:var(--ink-2); line-height:1.55; max-width:78ch; }
.cookie-copy a { text-decoration:underline; text-underline-offset:2px; }
.cookie-actions { display:flex; gap:10px; flex-wrap:wrap; flex-shrink:0; }
@media (max-width:640px) {
  .cookie-inner { padding:16px; gap:14px; }
  .cookie-actions { width:100%; }
  .cookie-actions .btn { flex:1; }
}

/* --- yasal metinlerdeki doldurulmamış alan işareti */
.legal-todo {
  background:#fffbeb; border:1px dashed #fbbf24; color:#92400e;
  padding:1px 7px; border-radius:5px; font-size:.88em; font-weight:600; white-space:nowrap;
}

/* --- alt bilgi yasal bağlantıları */
.foot-legal { display:flex; flex-wrap:wrap; gap:8px 18px; margin:0; padding:0; list-style:none; }
.foot-legal li { display:flex; }

/* --- başvuru formu onay kutuları */
.consent-box { gap:14px; padding:18px; background:var(--bg-2); border:1px solid var(--line); border-radius:var(--r); }
.consent-box .check { align-items:flex-start; }
.consent-box .check + .check { margin-top:2px; }
.consent-box .check.has-error span { color:var(--red); }
.consent-box .check.is-optional { padding-top:12px; border-top:1px dashed var(--line); }
.consent-box .check a { text-decoration:underline; text-underline-offset:2px; font-weight:600; }
.consent-box .hint { font-style:normal; display:inline-block; margin-top:3px; }


/* --- penaltı puanlaması */
table.standings td.pen-col { color:var(--ink-3); }
.standings-rule {
  margin:14px 0 0; padding:11px 15px; border-radius:var(--r);
  background:var(--navy-50); border:1px solid #cfe0f2;
  font-size:.9rem; color:var(--navy-800); font-weight:500;
}
.form-run .P { background:#0ea5e9; }

/* --- takımlar: turnuva ve yaş grubuna göre --- */
.team-tournament + .team-tournament { margin-top:48px; padding-top:44px; border-top:1px solid var(--line); }
.tt-head {
  display:flex; align-items:flex-start; justify-content:space-between; gap:20px;
  flex-wrap:wrap; margin-bottom:26px;
}
.tt-head h2 { margin:0 0 6px; font-size:clamp(1.25rem,1.05rem+.8vw,1.6rem); }
.tt-head h2 a { color:var(--ink); }
.tt-head h2 a:hover { color:var(--navy-700); }
.tt-head p { margin:0; display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  font-size:.9rem; color:var(--ink-3); }
.tt-head .season-chip { position:static; }
.tt-count {
  flex-shrink:0; padding:6px 14px; border-radius:999px; background:var(--bg-3);
  color:var(--ink-2); font-size:.82rem; font-weight:700; white-space:nowrap;
}
.team-tournament.is-other .tt-head h2 { color:var(--ink-3); }

.age-block + .age-block { margin-top:30px; }
.age-block-head {
  display:flex; align-items:center; gap:10px; margin:0 0 14px;
  font-size:1rem; padding-bottom:9px; border-bottom:1px solid var(--line-2);
}
.age-block-head a { color:var(--navy-800); }
.age-block-head a:hover { text-decoration:underline; }
.age-block-head small { font-weight:500; color:var(--ink-4); font-size:.82rem; }
.age-block-count {
  margin-left:auto; min-width:26px; height:22px; padding:0 8px;
  display:grid; place-items:center; border-radius:999px;
  background:var(--navy-50); color:var(--navy-800); font-size:.75rem; font-weight:800;
}
.team-card .t-group {
  font-size:.72rem; font-weight:700; color:var(--navy-700);
  background:var(--navy-50); padding:2px 8px; border-radius:999px;
}

/* --- başvuru formu: takım logosu yükleme --- */
.logo-field { gap:8px; }
.logo-drop {
  position:relative; display:flex; align-items:center; gap:16px;
  min-height:104px; padding:16px; border-radius:var(--r);
  background:var(--bg-2); border:2px dashed var(--line);
  transition:border-color .18s, background .18s;
}
.logo-drop:hover, .logo-drop.is-over { border-color:var(--green-600); background:var(--green-50); }
.logo-drop input[type=file] {
  position:absolute; inset:0; width:100%; height:100%;
  opacity:0; cursor:pointer;
}
.logo-cta { display:flex; flex-direction:column; gap:3px; pointer-events:none; }
.logo-cta strong { font-size:.95rem; color:var(--ink); }
.logo-cta .hint { font-size:.8rem; color:var(--ink-4); }
.logo-icon {
  width:44px; height:44px; display:grid; place-items:center; margin-bottom:4px;
  background:#fff; border:1px solid var(--line); border-radius:12px; font-size:1.2rem;
}
.logo-preview { position:relative; flex-shrink:0; }
.logo-preview img {
  width:84px; height:84px; object-fit:contain;
  background:#fff; border:1px solid var(--line); border-radius:12px; padding:6px;
}
.logo-clear {
  position:absolute; top:-8px; right:-8px; z-index:3;
  width:26px; height:26px; border-radius:50%; border:1px solid var(--line);
  background:#fff; color:var(--red); font-size:16px; font-weight:700;
  cursor:pointer; display:grid; place-items:center; box-shadow:var(--sh-sm);
}
.logo-clear:hover { background:var(--red-50); }
.logo-field.has-error .logo-drop { border-color:var(--red); background:var(--red-50); }
@media (max-width:520px) { .logo-drop { flex-direction:column; text-align:center; } }

/* --- üst menü: açılır alt menü --- */
.main-nav .has-sub { position:relative; }
.sub-toggle {
  display:flex; align-items:center; gap:6px;
  padding:9px 11px; border:0; background:none; border-radius:8px;
  font:inherit; font-size:.895rem; font-weight:600; color:var(--ink-2);
  white-space:nowrap; cursor:pointer; transition:background .15s, color .15s;
}
.sub-toggle:hover { background:var(--bg-3); color:var(--navy-800); }
.sub-toggle.is-active { color:var(--navy-800); background:var(--navy-50); }
.sub-caret {
  width:0; height:0; border-left:4px solid transparent; border-right:4px solid transparent;
  border-top:5px solid currentColor; opacity:.65; transition:transform .2s;
}
.has-sub.is-hover .sub-caret, .sub-toggle[aria-expanded="true"] .sub-caret { transform:rotate(180deg); }

.sub-menu {
  position:absolute; top:calc(100% + 6px); left:0; z-index:120;
  min-width:212px; margin:0; padding:7px; list-style:none;
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  box-shadow:var(--sh-lg);
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .16s, transform .16s, visibility .16s;
}
.has-sub.is-hover > .sub-menu,
.has-sub:focus-within > .sub-menu { opacity:1; visibility:visible; transform:translateY(0); }
.sub-menu li { display:block; }
.sub-menu a {
  display:block; padding:9px 12px; border-radius:7px;
  font-size:.875rem; font-weight:600; color:var(--ink-2); white-space:nowrap;
}
.sub-menu a:hover { background:var(--bg-3); color:var(--navy-800); }
.sub-menu a.is-active { background:var(--navy-50); color:var(--navy-800); }

/* mobil: yan panelde katlanır bölüm */
@media (max-width:960px) {
  .sub-toggle { width:100%; justify-content:space-between; padding:13px 14px; font-size:1rem; border-radius:10px; }
  .sub-menu {
    position:static; opacity:1; visibility:visible; transform:none;
    box-shadow:none; border:0; border-left:2px solid var(--line); border-radius:0;
    margin:2px 0 6px 14px; padding:0 0 0 8px;
    max-height:0; overflow:hidden; transition:max-height .24s ease;
  }
  .has-sub.is-open > .sub-menu { max-height:240px; }
  .sub-menu a { padding:11px 12px; font-size:.95rem; }
}

/* --- başvuru formu: çoklu yaş grubu seçimi --- */
.age-picker {
  display:grid; gap:8px; padding:12px;
  background:var(--bg-2); border:1px solid var(--line); border-radius:var(--r);
}
.age-empty { margin:0; padding:10px 4px; color:var(--ink-4); font-size:.9rem; font-style:italic; text-align:center; }

.age-opt {
  display:flex; align-items:center; gap:12px; padding:11px 14px;
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  cursor:pointer; transition:border-color .15s, background .15s, box-shadow .15s;
}
.age-opt:hover { border-color:var(--ink-4); }
.age-opt.is-on { border-color:var(--green-600); background:var(--green-50); box-shadow:0 0 0 1px var(--green-600) inset; }
.age-opt > input[type=checkbox] {
  width:19px; height:19px; flex-shrink:0; accent-color:var(--green-600); cursor:pointer;
}
.age-opt-main { display:flex; flex-direction:column; gap:1px; flex:1; min-width:0; }
.age-opt-main strong { font-size:.98rem; color:var(--ink); }
.age-opt-main em { font-style:normal; font-size:.8rem; color:var(--ink-3); }

.age-opt-count {
  display:flex; align-items:center; gap:7px; flex-shrink:0;
  opacity:.4; pointer-events:none; transition:opacity .15s;
}
.age-opt.is-on .age-opt-count { opacity:1; pointer-events:auto; }
.age-opt-count { gap:12px; }
.age-opt-ctl { display:flex; align-items:center; gap:6px; }
.age-opt-ctl > span { font-size:.76rem; color:var(--ink-3); font-weight:600; }
.age-opt-count input,
.age-opt-count select {
  width:68px; padding:7px 6px; text-align:center; font-weight:700; font-size:.9rem;
  border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--ink);
}
.age-opt-count select { width:56px; padding-right:2px; cursor:pointer; }
.age-opt-count input::placeholder { font-weight:500; color:var(--ink-4); font-size:.8rem; }

.age-summary {
  display:inline-block; margin-top:4px; padding:4px 12px; border-radius:999px;
  background:var(--green-50); color:var(--green-700); border:1px solid #bfe8d3;
  font-size:.8rem; font-weight:700;
}
.field.has-error .age-picker { border-color:var(--red); background:var(--red-50); }

@media (max-width:560px) {
  .age-opt { flex-wrap:wrap; }
  .age-opt-count { width:100%; justify-content:flex-start; padding-left:31px; }
}

/* --- ana sayfa banner (yüklenen görsel + HTML üstyazı) --- */
.home-banner { position:relative; width:100%; background:var(--navy-900); overflow:hidden; }
.home-banner-img { display:block; width:100%; height:auto; }
.home-banner.mode-cover .home-banner-img {
  height:clamp(340px, 46vw, 620px); object-fit:cover; object-position:center;
}
.home-banner.mode-contain .home-banner-img { height:auto; max-height:660px; object-fit:contain; }

/* yazıların okunması için alttan yukarı koyulaşan katman */
.home-banner-overlay {
  position:absolute; inset:0; display:flex; align-items:flex-end;
  background:linear-gradient(90deg, rgba(10,37,64,.86) 0%, rgba(10,37,64,.66) 42%, rgba(10,37,64,.12) 78%, transparent 100%);
}
.home-banner-inner { padding-block:clamp(28px,4vw,56px); color:#fff; }
.home-banner-inner h1 {
  color:#fff; margin:0 0 .35em; max-width:18ch;
  text-shadow:0 2px 20px rgba(0,0,0,.35);
}
.home-banner-meta {
  margin:0 0 1.3em; font-size:1.05rem; font-weight:500;
  color:rgba(255,255,255,.9); text-shadow:0 1px 10px rgba(0,0,0,.35);
}
.home-banner-actions { display:flex; flex-wrap:wrap; gap:12px; }
.home-banner .eyebrow { margin-bottom:16px; }

@media (max-width:760px) {
  .home-banner-overlay {
    background:linear-gradient(0deg, rgba(10,37,64,.92) 0%, rgba(10,37,64,.7) 52%, rgba(10,37,64,.25) 100%);
  }
  .home-banner-inner h1 { max-width:none; }
  .home-banner-actions .btn { flex:1; }
}

/* --- banner: metin konumu ve karartma seçenekleri --- */
.home-banner.align-center .home-banner-inner { text-align:center; margin-inline:auto; }
.home-banner.align-center .home-banner-inner h1 { margin-inline:auto; }
.home-banner.align-center .home-banner-actions { justify-content:center; }
.home-banner.align-right  .home-banner-inner { text-align:right; }
.home-banner.align-right  .home-banner-inner h1 { margin-left:auto; }
.home-banner.align-right  .home-banner-actions { justify-content:flex-end; }

.home-banner.shade-none   .home-banner-overlay { background:none; }
.home-banner.shade-light  .home-banner-overlay { background:linear-gradient(90deg, rgba(10,37,64,.55) 0%, rgba(10,37,64,.25) 50%, transparent 85%); }
.home-banner.shade-strong .home-banner-overlay { background:linear-gradient(90deg, rgba(10,37,64,.95) 0%, rgba(10,37,64,.8) 50%, rgba(10,37,64,.35) 100%); }

.home-banner.align-center.shade-light  .home-banner-overlay { background:rgba(10,37,64,.35); }
.home-banner.align-center.shade-medium .home-banner-overlay { background:rgba(10,37,64,.55); }
.home-banner.align-center.shade-strong .home-banner-overlay { background:rgba(10,37,64,.75); }

.home-banner.align-right.shade-light  .home-banner-overlay { background:linear-gradient(270deg, rgba(10,37,64,.55) 0%, rgba(10,37,64,.25) 50%, transparent 85%); }
.home-banner.align-right.shade-medium .home-banner-overlay { background:linear-gradient(270deg, rgba(10,37,64,.86) 0%, rgba(10,37,64,.66) 42%, rgba(10,37,64,.12) 78%, transparent 100%); }
.home-banner.align-right.shade-strong .home-banner-overlay { background:linear-gradient(270deg, rgba(10,37,64,.95) 0%, rgba(10,37,64,.8) 50%, rgba(10,37,64,.35) 100%); }

.home-banner.align-center .home-banner-overlay { align-items:center; }

/* --- banner: yükseklik ve odak (oyuncu/figür kırpılmasın) --- */
.home-banner picture { display:block; }
.home-banner.mode-cover .home-banner-img {
  height:clamp(420px, 48vw, 760px);
  object-position:50% 26%;            /* üstten az, alttan çok kırp: baş korunur */
}
.home-banner.focus-left.mode-cover   .home-banner-img { object-position:18% 26%; }
.home-banner.focus-right.mode-cover  .home-banner-img { object-position:80% 26%; }
@media (max-width:760px) {
  .home-banner.mode-cover .home-banner-img { height:clamp(460px, 120vw, 620px); }
}

/* --- banner: metin katmanı akışta, görsel arkada — içerik uzarsa banner da uzar, taşma olmaz --- */
.home-banner.mode-cover.has-overlay > picture { position:absolute; inset:0; }
.home-banner.mode-cover.has-overlay .home-banner-img { width:100%; height:100%; }
.home-banner.mode-cover.has-overlay .home-banner-overlay { position:relative; inset:auto; min-height:clamp(420px, 48vw, 760px); }
@media (max-width:760px) {
  .home-banner.mode-cover.has-overlay .home-banner-img { height:100%; }
  .home-banner.mode-cover.has-overlay .home-banner-overlay { min-height:clamp(460px, 120vw, 620px); }
}

/* --- geri sayım: ortak ekler --- */
.countdown-foot { margin:12px 0 0; text-align:center; font-size:.84rem; font-weight:700; color:rgba(255,255,255,.88); }
.countdown-done { margin:14px 0 0; text-align:center; color:#fff; font-weight:700; }

/* banner üstünde kompakt sayaç */
.countdown-banner {
  margin-top:clamp(18px, 2.2vw, 28px); padding:14px 16px 12px; max-width:400px;
  background:rgba(10,37,64,.55); border-color:rgba(255,255,255,.2);
}
.countdown-banner .countdown-label { margin-bottom:10px; font-size:.7rem; }
.countdown-banner .countdown-grid { gap:8px; }
.countdown-banner .cd-cell { padding:10px 4px; border-radius:10px; }
.countdown-banner .cd-num { font-size:clamp(1.3rem, 1rem + 1vw, 1.75rem); }
.countdown-banner .cd-unit { margin-top:4px; font-size:.62rem; }
.countdown-banner .countdown-foot { margin-top:10px; }
.home-banner.align-center .countdown-banner { margin-inline:auto; }
.home-banner.align-right  .countdown-banner { margin-left:auto; }
@media (max-width:760px) {
  .countdown-banner { max-width:none; padding:12px 12px 10px; }
  .countdown-banner .countdown-grid { gap:6px; }
}

/* --- son başvuru tarihi: kart satırı, hero rozeti, form kutusu, sezon şeridi --- */
.deadline-line { margin:8px 0 0; font-size:.84rem; font-weight:700; color:var(--red, #c62828); }
.deadline-pill {
  display:inline-flex; align-items:center; gap:6px; padding:9px 16px; border-radius:999px;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.28);
  color:#fff; font-weight:700; font-size:.92rem; backdrop-filter:blur(4px);
}
.hero-actions { align-items:center; }
.deadline-note {
  display:flex; align-items:flex-start; gap:8px; margin:10px 0 0; padding:10px 14px;
  background:#fff7e6; border:1px solid #f5d38a; border-radius:var(--r);
  color:#7a4d00; font-size:.9rem; font-weight:600;
}
.season-mini-deadline { display:block; margin-top:6px; font-size:.74rem; font-weight:700; color:var(--ink-3); }

/* --- sezon şeridi: kapak görselli kutular --- */
.season-mini.has-media { padding:0; overflow:hidden; }
.season-mini-body { display:flex; flex-direction:column; gap:6px; }
.season-mini.has-media .season-mini-body { padding:16px 18px 18px; }
.season-mini-media { display:block; aspect-ratio:16/9; background:var(--bg-3); overflow:hidden; }
.season-mini-media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.season-mini:hover .season-mini-media img { transform:scale(1.04); }

/* tek turnuva varsa: yatay kart (solda görsel, sağda bilgi) */
.season-strip.is-single { grid-template-columns:1fr; max-width:820px; }
.season-strip.is-single .season-mini.has-media { flex-direction:row; align-items:stretch; }
.season-strip.is-single .season-mini-media { flex:0 0 46%; aspect-ratio:16/9; }
.season-strip.is-single .season-mini-body { flex:1; justify-content:center; padding:20px 24px; }
.season-strip.is-single .season-mini-name { font-size:1.2rem; }
@media (max-width:560px) {
  .season-strip.is-single .season-mini.has-media { flex-direction:column; }
  .season-strip.is-single .season-mini-media { flex-basis:auto; }
}

/* ==========================================================================
   Sanal asistan (maskot) — sağ alt köşe
   ========================================================================== */
.ffbot [hidden] { display:none !important; }
.ffbot { --ffbot-lift:0px; position:fixed; right:20px; bottom:calc(20px + var(--ffbot-lift)); z-index:140; font-size:15px; transition:bottom .3s ease; }

.ffbot-fab {
  position:relative; display:block; width:66px; height:66px; padding:0; border:3px solid #fff; border-radius:50%;
  background:var(--navy-900, #0a2540); cursor:pointer; overflow:visible;
  box-shadow:0 10px 28px -8px rgba(10,37,64,.55), 0 0 0 1px rgba(10,37,64,.08);
  transition:transform .2s ease, box-shadow .2s ease;
}
.ffbot-fab picture, .ffbot-fab img { display:block; width:100%; height:100%; border-radius:50%; object-fit:cover; }
.ffbot-fab:hover { transform:translateY(-2px) scale(1.04); box-shadow:0 14px 32px -8px rgba(10,37,64,.6); }
.ffbot-fab:focus-visible { outline:3px solid var(--green-600, #16a34a); outline-offset:3px; }
.ffbot-fab::before {                         /* dikkat çeken halka */
  content:""; position:absolute; inset:-3px; border-radius:50%; border:2px solid var(--green-600, #16a34a);
  animation:ffbot-ring 2.8s ease-out infinite; pointer-events:none;
}
.ffbot.is-open .ffbot-fab::before { display:none; }
.ffbot-dot {
  position:absolute; right:1px; bottom:3px; width:15px; height:15px; border-radius:50%;
  background:#22c55e; border:2.5px solid #fff;
}
@keyframes ffbot-ring { 0% { transform:scale(1); opacity:.85; } 70%,100% { transform:scale(1.35); opacity:0; } }
@media (prefers-reduced-motion:reduce) { .ffbot-fab::before { animation:none; opacity:0; } .ffbot, .ffbot-fab { transition:none; } }

/* tanıtım balonu */
.ffbot-teaser {
  position:absolute; right:78px; bottom:12px; display:flex; align-items:center; gap:8px;
  padding:10px 12px 10px 14px; background:#fff; color:var(--ink); border-radius:14px 14px 4px 14px;
  box-shadow:0 10px 30px -10px rgba(15,23,42,.35); border:1px solid var(--line);
  font-size:.88rem; font-weight:600; white-space:nowrap; cursor:pointer;
  animation:ffbot-pop .35s ease;
}
.ffbot-teaser-x { border:0; background:none; font-size:1.1rem; line-height:1; color:var(--ink-4); cursor:pointer; padding:0 2px; }
.ffbot-teaser-x:hover { color:var(--ink); }
@keyframes ffbot-pop { from { opacity:0; transform:translateY(6px) scale(.96); } to { opacity:1; transform:none; } }

/* pencere */
.ffbot-panel {
  position:absolute; right:0; bottom:80px; width:370px; max-width:calc(100vw - 32px);
  height:min(590px, calc(100vh - 130px - var(--ffbot-lift))); display:flex; flex-direction:column;
  background:#fff; border-radius:18px; overflow:hidden;
  box-shadow:0 24px 60px -18px rgba(10,37,64,.5), 0 0 0 1px rgba(10,37,64,.08);
  animation:ffbot-pop .25s ease;
}
.ffbot-panel[hidden] { display:none; }
.ffbot-head {
  display:flex; align-items:center; gap:12px; padding:14px 14px 14px 16px; color:#fff;
  background:linear-gradient(135deg, var(--navy-900, #0a2540), #123a66);
}
.ffbot-head-avatar img { display:block; width:42px; height:42px; border-radius:50%; border:2px solid rgba(255,255,255,.8); object-fit:cover; }
.ffbot-head-text { flex:1; min-width:0; display:flex; flex-direction:column; line-height:1.25; }
.ffbot-head-text strong { font-size:.98rem; }
.ffbot-head-text > span { font-size:.76rem; color:rgba(255,255,255,.75); display:flex; align-items:center; gap:6px; }
.ffbot-online { width:8px; height:8px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 3px rgba(34,197,94,.25); }
.ffbot-x { display:grid; place-items:center; width:34px; height:34px; border:0; border-radius:50%; background:rgba(255,255,255,.12); color:#fff; cursor:pointer; }
.ffbot-x:hover { background:rgba(255,255,255,.22); }

.ffbot-log { flex:1; overflow-y:auto; padding:16px 14px 8px; background:#f4f7fb; display:flex; flex-direction:column; gap:10px; overscroll-behavior:contain; }
.ffbot-msg { display:flex; align-items:flex-end; gap:8px; max-width:100%; }
.ffbot-msg.is-user { justify-content:flex-end; }
.ffbot-msg-avatar { width:28px; height:28px; border-radius:50%; flex-shrink:0; object-fit:cover; }
.ffbot-bubble {
  max-width:82%; padding:10px 13px; border-radius:16px; line-height:1.5; font-size:.9rem; overflow-wrap:anywhere;
}
.is-bot .ffbot-bubble { background:#fff; color:var(--ink); border:1px solid #e3e9f1; border-bottom-left-radius:5px; }
.is-user .ffbot-bubble { background:var(--green-600, #16a34a); color:#fff; border-bottom-right-radius:5px; }
.ffbot-bubble p { margin:0 0 6px; }
.ffbot-bubble p:last-child { margin-bottom:0; }
.ffbot-bubble ul { margin:4px 0 6px; padding-left:18px; }
.ffbot-bubble li { margin:2px 0; }
.ffbot-bubble a { color:var(--navy-700, #1d4f91); text-decoration:underline; text-underline-offset:2px; }
.ffbot-bubble .ffbot-link {
  display:inline-block; margin-top:10px; padding:7px 13px; border-radius:999px; text-decoration:none;
  background:var(--navy-900, #0a2540); color:#fff; font-weight:700; font-size:.82rem;
}
.ffbot-bubble .ffbot-link:hover { background:var(--green-600, #16a34a); }
.is-typing .ffbot-bubble { display:flex; gap:4px; padding:13px 14px; }
.is-typing .ffbot-bubble span { width:7px; height:7px; border-radius:50%; background:#9aa9bd; animation:ffbot-dots 1s infinite ease-in-out; }
.is-typing .ffbot-bubble span:nth-child(2) { animation-delay:.15s; }
.is-typing .ffbot-bubble span:nth-child(3) { animation-delay:.3s; }
@keyframes ffbot-dots { 0%,80%,100% { transform:translateY(0); opacity:.5; } 40% { transform:translateY(-4px); opacity:1; } }

.ffbot-chips { display:flex; gap:6px; padding:8px 12px 10px; background:#f4f7fb; overflow-x:auto; flex-wrap:wrap; max-height:118px; overflow-y:auto; border-top:1px solid #e8edf4; }
.ffbot-chips[hidden] { display:none; }
.ffbot-chip {
  flex-shrink:0; padding:7px 12px; border-radius:999px; border:1px solid var(--green-600, #16a34a);
  background:#fff; color:var(--green-700, #15803d); font-size:.8rem; font-weight:700; cursor:pointer; text-align:left;
}
.ffbot-chip:hover { background:var(--green-600, #16a34a); color:#fff; }

.ffbot-form { display:flex; gap:8px; padding:10px 12px; border-top:1px solid var(--line); background:#fff; }
.ffbot-form input {
  flex:1; min-width:0; padding:10px 14px; border:1px solid var(--line); border-radius:999px; font:inherit; font-size:.9rem;
  background:#f8fafc;
}
.ffbot-form input:focus { outline:none; border-color:var(--green-600, #16a34a); background:#fff; box-shadow:0 0 0 3px rgba(22,163,74,.15); }
.ffbot-form button {
  display:grid; place-items:center; width:42px; height:42px; flex-shrink:0; border:0; border-radius:50%;
  background:var(--green-600, #16a34a); color:#fff; cursor:pointer;
}
.ffbot-form button:hover { background:var(--green-700, #15803d); }
.ffbot-note { margin:0; padding:0 12px 9px; font-size:.7rem; color:var(--ink-4); text-align:center; background:#fff; }

/* telefon: pencere tam genişlik, alttan açılır */
@media (max-width:560px) {
  .ffbot { right:14px; bottom:calc(14px + var(--ffbot-lift)); }
  .ffbot-fab { width:58px; height:58px; }
  .ffbot-teaser { right:68px; bottom:8px; white-space:normal; max-width:210px; }
  .ffbot-panel {
    position:fixed; left:0; right:0; bottom:0; width:auto; max-width:none;
    bottom:var(--ffbot-lift); height:min(88vh, 640px); height:min(88dvh, 640px); border-radius:18px 18px 0 0;
  }
  .ffbot.is-open .ffbot-fab { visibility:hidden; }
  .ffbot-form input { font-size:16px; }          /* iOS yakınlaştırmasın */
}
body.nav-open .ffbot { display:none; }             /* mobil menü açıkken maskot gizlensin */
@media print { .ffbot { display:none; } }

/* ==========================================================================
   Mobil uyum — telefonda masaüstü gibi uzaklaşmasın, form odaklanınca yakınlaşmasın
   ========================================================================== */
/* <picture> kutusu düzeni bozmasın: içindeki img doğrudan kartın çocuğu gibi davranır */
picture { display:contents; }

/* bir öğe taşsa bile sayfa yana kaymasın (telefon tarayıcısı uzaklaştırıp masaüstü görünümüne düşmesin) */
body { overflow-x:hidden; }
@supports (overflow:clip) { html, body { overflow-x:clip; } }

/* uzun kelime / e-posta / bağlantı satırı taşırmasın */
.prose, .card-body, .info-list, .alert, .site-foot { overflow-wrap:anywhere; }
iframe, video { max-width:100%; }

@media (max-width:760px) {
  /* iPhone 16 px altındaki kutulara dokununca sayfayı yakınlaştırır — hepsi 16 px */
  input[type=text], input[type=email], input[type=tel], input[type=number], input[type=date],
  input[type=password], input[type=search], input[type=url], select, textarea { font-size:16px !important; }

  /* yasal sayfalardaki tablolar kendi içinde kaysın */
  .prose table { display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; }

  /* sayaç etiketleri okunur olsun */
  .cd-unit, .countdown-banner .cd-unit { font-size:.7rem; letter-spacing:.04em; }
  .countdown-label, .countdown-banner .countdown-label { font-size:.74rem; }

  /* galeri fotoğrafları telefonda 2 sütun */
  .photo-grid { grid-template-columns:repeat(2, 1fr); gap:8px; }

  /* maskot tanıtım balonu tek satır, kartın üstüne taşmasın */
  .ffbot-teaser { white-space:nowrap; max-width:none; font-size:.8rem; padding:8px 10px 8px 12px; }

  /* sekmeler ve kategori düğmeleri parmakla rahat basılsın */
  .tabs a, .cat-switch a { padding-block:12px; }
}

/* ==========================================================================
   Katılım Paketi (sporculara hediye ürünler)
   ========================================================================== */
.kit-intro { max-width:68ch; font-size:1.05rem; color:var(--ink-2); margin:0 0 30px; }
.kit-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:24px; }
.kit-card { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; display:flex; flex-direction:column; }
.kit-media { position:relative; aspect-ratio:1; background:#f4f7fb; }
.kit-media a { display:block; width:100%; height:100%; }
.kit-media img { width:100%; height:100%; object-fit:contain; transition:transform .35s; }
.kit-media a:hover img { transform:scale(1.03); }
.kit-placeholder { height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:var(--ink-4); }
.kit-placeholder span { font-size:3.4rem; line-height:1; }
.kit-placeholder small { font-size:.85rem; }
.kit-thumbs { display:flex; flex-wrap:wrap; gap:8px; padding:10px 12px 0; }
.kit-thumbs a { width:64px; height:64px; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:#f4f7fb; flex-shrink:0; }
.kit-thumbs img { width:100%; height:100%; object-fit:contain; }
.kit-body { padding:16px 20px 22px; }
.kit-body h2 { font-size:1.25rem; margin:0 0 6px; }
.kit-body p { margin:0; color:var(--ink-2); font-size:.95rem; }

.kit-join {
  display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  margin-top:40px; padding:26px 28px; border-radius:var(--r-lg);
  background:linear-gradient(135deg, var(--navy-900), var(--navy-800)); color:#fff;
}
.kit-join h2 { color:#fff; margin:0 0 4px; font-size:1.35rem; }
.kit-join p { margin:0; color:rgba(255,255,255,.8); }

/* turnuva sayfası yan kutusu */
.kit-box h3 { margin:0 0 12px; font-size:1.05rem; }
.kit-box-imgs { display:flex; gap:10px; margin-bottom:12px; }
.kit-box-imgs a { width:72px; height:72px; border-radius:10px; overflow:hidden; background:#f4f7fb; border:1px solid var(--line); flex-shrink:0; }
.kit-box-imgs img { width:100%; height:100%; object-fit:contain; }
.kit-box p { margin:0 0 10px; font-size:.9rem; color:var(--ink-2); }
.panel + .kit-box, .kit-box + .panel { margin-top:20px; }

/* ana sayfa şeridi */
.kit-band-wrap { padding-block:28px; }
.kit-band {
  display:grid; grid-template-columns:1fr auto; align-items:center; gap:28px; padding:28px 32px;
  border-radius:var(--r-lg); color:#fff; text-decoration:none;
  background:radial-gradient(120% 140% at 100% 0%, #16b36433, transparent 55%), linear-gradient(135deg, var(--navy-900), #123a66);
  box-shadow:var(--sh);
}
.kit-band:hover { color:#fff; }
.kit-band h2 { color:#fff; margin:6px 0 6px; }
.kit-band p { margin:0 0 16px; color:rgba(255,255,255,.82); max-width:52ch; }
.eyebrow-light { font-size:.76rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#8ee6b6; }
.kit-band-imgs { display:flex; gap:12px; }
.kit-band-img { width:150px; height:150px; border-radius:14px; overflow:hidden; background:#fff; box-shadow:0 10px 24px -10px rgba(0,0,0,.45); }
.kit-band-img img { width:100%; height:100%; object-fit:contain; }
.kit-band:hover .kit-band-img img { transform:scale(1.04); transition:transform .3s; }

@media (max-width:760px) {
  .kit-grid { grid-template-columns:1fr; }
  .kit-join { padding:22px; }
  .kit-join .btn { width:100%; }
  .kit-band { grid-template-columns:1fr; padding:22px; gap:18px; }
  .kit-band-imgs { order:-1; }
  .kit-band-img { width:calc((100% - 24px) / 3); height:auto; aspect-ratio:1; }
  .kit-band .btn { width:100%; justify-content:center; }
}

/* dar ekranda slogan gizlenir, yalnızca 442 CUP kalır */
@media (max-width:1080px) { .brand-text small { display:none; } }
@media (max-width:420px) { .bn-num { font-size:1.35rem; } .bn-word { font-size:.74rem; letter-spacing:.18em; } }

/* telefonda dil seçimi: başlık çubuğunda, menü düğmesinin solunda */
.head-lang { display:none; }
@media (max-width:960px) {
  .head-lang { display:inline-flex; margin-left:auto; margin-right:10px; }
  .head-lang a { padding:8px 11px; font-size:.78rem; }
  .nav-toggle { margin-left:0; }
  .main-nav .nav-actions .lang-switch { display:none; }
  .main-nav .nav-actions { justify-content:stretch; }
}

/* ==========================================================================
   Golo ile Penaltı (mini oyun)
   ========================================================================== */
.game-head { background:linear-gradient(135deg, var(--navy-900), #123a66); color:#fff; }
.game-head h1, .game-head p { color:#fff; }
.game-head .breadcrumb, .game-head .breadcrumb a { color:rgba(255,255,255,.7); }

.game {
  background:linear-gradient(180deg, #0d2f52 0%, #11406e 55%, #1f7a43 55%, #176536 100%);
  border-radius:var(--r-lg); padding:18px 18px 26px; color:#fff; box-shadow:var(--sh);
}
.game-bar { display:flex; justify-content:space-between; gap:10px; font-size:.82rem; color:rgba(255,255,255,.8); margin-bottom:14px; }
.game-bar strong { color:#fff; font-size:1.05rem; margin-left:4px; }

.game-pitch { position:relative; padding-bottom:74px; }
.game-goal {
  position:relative; width:100%; aspect-ratio:2.1 / 1; margin:0 auto;
  border:7px solid #fff; border-bottom:0; border-radius:8px 8px 0 0;
  background:rgba(255,255,255,.06); box-shadow:0 0 0 2px rgba(0,0,0,.08) inset;
  transition:background .25s;
}
.game-goal.is-goal { background:rgba(34,197,94,.28); }
.game-net {
  position:absolute; inset:0; opacity:.45; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.5) 1px, transparent 1px),
                   linear-gradient(90deg, rgba(255,255,255,.5) 1px, transparent 1px);
  background-size:22px 22px;
}
.game-zone {
  position:absolute; border:1px dashed rgba(255,255,255,.28); background:rgba(255,255,255,.03);
  border-radius:10px; cursor:pointer; color:rgba(255,255,255,.75); font-weight:800; font-size:.9rem;
  display:grid; place-items:center; transition:background .18s, transform .18s;
}
.game-zone:hover, .game-zone:focus-visible { background:rgba(34,197,94,.35); color:#fff; transform:scale(1.03); }
.game-zone span { pointer-events:none; opacity:.55; }
.zone-tl { left:2%;  top:4%;  width:30%; height:44%; }
.zone-tr { right:2%; top:4%;  width:30%; height:44%; }
.zone-c  { left:34%; top:4%;  width:32%; height:92%; }
.zone-bl { left:2%;  bottom:4%; width:30%; height:44%; }
.zone-br { right:2%; bottom:4%; width:30%; height:44%; }

.game-keeper {
  position:absolute; left:calc(50% - 48px); top:calc(50% - 48px); width:96px; height:96px;
  border-radius:50%; border:3px solid #fff; background:var(--navy-900); object-fit:cover;
  transition:transform .45s cubic-bezier(.2,.8,.3,1.2); pointer-events:none; z-index:3;
  box-shadow:0 8px 20px -6px rgba(0,0,0,.5);
}
.game-ball {
  position:absolute; left:calc(50% - 21px); bottom:8px; width:42px; height:42px; font-size:34px; line-height:42px;
  text-align:center; z-index:2; transition:transform .5s cubic-bezier(.25,.7,.3,1);
}
.game-ball.is-blocked { filter:grayscale(.4); }
.game-msg { position:absolute; left:0; right:0; bottom:16px; margin:0; text-align:center; font-weight:800; font-size:1.1rem; color:rgba(255,255,255,.85); }
.game-msg.is-goal { color:#4ade80; font-size:1.6rem; text-shadow:0 2px 12px rgba(0,0,0,.4); }
.game-msg.is-save { color:#fca5a5; font-size:1.25rem; }

.game.is-over .game-zone { pointer-events:none; opacity:.5; }
.game-end { margin-top:18px; text-align:center; background:rgba(0,0,0,.25); border-radius:var(--r); padding:20px; }
.game-end-score { margin:0 0 4px; font-size:1.5rem; font-weight:800; }
.game-end-text { margin:0 0 16px; color:rgba(255,255,255,.82); }
.game-end-actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.game-keys { margin:14px 0 0; text-align:center; font-size:.76rem; color:rgba(255,255,255,.55); }

@media (max-width:560px) {
  .game { padding:14px 12px 20px; }
  .game-goal { aspect-ratio:1.8 / 1; border-width:5px; }
  .game-keeper { width:74px; height:74px; left:calc(50% - 37px); top:calc(50% - 37px); }
  .game-bar { font-size:.76rem; }
  .game-end-actions .btn { width:100%; }
}

/* alt bilgideki "uygulamayı ekle" düğmesi */
.pwa-install {
  border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.08); color:#fff;
  padding:8px 12px; border-radius:999px; font:inherit; font-size:.84rem; font-weight:600; cursor:pointer;
}
.pwa-install:hover { background:rgba(255,255,255,.16); }

/* --- 4-4-2 diziliş sahası --- */
.game-field {
  position:relative; width:100%; aspect-ratio:3 / 4; border-radius:14px; overflow:hidden;
  background:linear-gradient(180deg,#1f8a4c,#15693a);
  background-image:repeating-linear-gradient(180deg, rgba(255,255,255,.05) 0 8%, transparent 8% 16%);
  border:2px solid rgba(255,255,255,.35);
}
.field-lines span { position:absolute; border:2px solid rgba(255,255,255,.35); }
.fl-circle { left:50%; top:50%; width:26%; aspect-ratio:1; border-radius:50%; transform:translate(-50%,-50%); }
.fl-box { left:50%; bottom:-2px; width:56%; height:16%; transform:translateX(-50%); border-bottom:0; }
.fl-mid { left:0; right:0; top:50%; border-width:2px 0 0 0; }

.slot {
  position:absolute; transform:translate(-50%,-50%); width:46px; height:46px; border-radius:50%;
  border:2px dashed rgba(255,255,255,.6); background:rgba(255,255,255,.12); cursor:pointer;
  display:grid; place-items:center; color:#fff; font-weight:800; transition:transform .15s, background .15s;
}
.slot:hover, .slot:focus-visible { background:rgba(255,255,255,.28); transform:translate(-50%,-50%) scale(1.08); }
.slot-dot { width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.65); }
.slot.is-full { border-style:solid; background:var(--navy-900); border-color:#fff; }
.slot.is-full b { font-size:1rem; }
.slot-gk.is-full { background:var(--green-700); }

.squad { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:14px 0 4px; }
.chip {
  display:flex; flex-direction:column; align-items:center; gap:1px; min-width:58px; padding:8px 10px;
  border-radius:12px; border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.1); color:#fff;
  cursor:pointer; font:inherit; transition:transform .15s, background .15s;
}
.chip b { font-size:1.05rem; }
.chip small { font-size:.62rem; opacity:.75; text-transform:uppercase; letter-spacing:.04em; }
.chip:hover { background:rgba(255,255,255,.2); }
.chip.is-picked { background:var(--green-600); border-color:#fff; transform:translateY(-2px); }
.chip[hidden] { display:none; }
.chip-gk { border-color:rgba(34,197,94,.6); }

.game-hint { margin:12px 0 0; text-align:center; font-weight:600; color:rgba(255,255,255,.9); min-height:1.4em; }
.game-hint.is-bad { color:#fca5a5; }
.game-hint.is-goal { color:#4ade80; font-size:1.3rem; font-weight:800; }

.game-plan { margin-top:14px; text-align:center; }
.game-plan-label { display:block; font-size:.76rem; text-transform:uppercase; letter-spacing:.1em; color:rgba(255,255,255,.6); margin-bottom:8px; }
.plan-opts { display:inline-flex; gap:6px; flex-wrap:wrap; justify-content:center; }
.plan {
  padding:9px 16px; border-radius:999px; border:1px solid rgba(255,255,255,.35);
  background:transparent; color:#fff; font:inherit; font-weight:700; font-size:.86rem; cursor:pointer;
}
.plan.is-on { background:#fff; color:var(--navy-900); }
.game-actions { display:flex; gap:10px; justify-content:center; align-items:center; flex-wrap:wrap; margin-top:16px; }

/* --- maç ekranı --- */
.score { display:flex; align-items:center; justify-content:center; gap:14px; text-align:center; }
.score-team { flex:1; font-size:.86rem; color:rgba(255,255,255,.8); font-weight:700; }
.score-num { font-size:2rem; font-weight:800; font-variant-numeric:tabular-nums; }
.score-min { text-align:center; color:rgba(255,255,255,.6); font-weight:700; margin:2px 0 12px; }
.feed { list-style:none; margin:0; padding:10px; height:230px; overflow-y:auto; background:rgba(0,0,0,.22); border-radius:12px; display:flex; flex-direction:column; gap:6px; }
.feed-line { display:flex; gap:10px; font-size:.9rem; color:rgba(255,255,255,.86); }
.feed-min { flex-shrink:0; width:34px; color:rgba(255,255,255,.5); font-weight:700; font-variant-numeric:tabular-nums; }
.feed-line.is-goal { color:#4ade80; font-weight:800; }
.feed-line.is-bad { color:#fca5a5; font-weight:700; }
.feed-line.is-save { color:#93c5fd; }
.feed-line.is-big { color:#fff; font-weight:800; }

@media (max-width:560px) {
  .game-field { aspect-ratio:3 / 4.2; }
  .slot { width:40px; height:40px; }
  .chip { min-width:52px; padding:7px 8px; }
  .score-num { font-size:1.6rem; }
  .feed { height:200px; }
}

/* --- maç sırasında canlı saha --- */
.fl-box-top { left:50%; top:-2px; width:56%; height:16%; transform:translateX(-50%); border-top:0; }

.game-field.is-live .slot { cursor:default; }
.game-field.is-live .slot.is-full { animation:player-bob 2.6s ease-in-out infinite; }
.game-field.is-live .slot.is-full:nth-of-type(2n) { animation-duration:3.1s; animation-delay:.4s; }
.game-field.is-live .slot.is-full:nth-of-type(3n) { animation-duration:2.2s; animation-delay:.8s; }
@keyframes player-bob {
  0%, 100% { transform:translate(-50%, -50%); }
  50%      { transform:translate(-50%, calc(-50% - 5px)); }
}
.slot.is-hot { box-shadow:0 0 0 4px rgba(255,255,255,.45), 0 0 18px 4px rgba(74,222,128,.7); z-index:4; }

.rivals .rival {
  position:absolute; width:26px; height:26px; margin:-13px 0 0 -13px; border-radius:50%;
  background:#d94a3d; border:2px solid rgba(255,255,255,.85); box-shadow:0 3px 8px rgba(0,0,0,.35);
  animation:player-bob-r 2.8s ease-in-out infinite;
}
@keyframes player-bob-r {
  0%, 100% { transform:translateY(0); }
  50%      { transform:translateY(5px); }
}

.live-ball {
  position:absolute; width:20px; height:20px; margin:-10px 0 0 -10px; border-radius:50%;
  background:radial-gradient(circle at 34% 30%, #fff 55%, #cbd5e1 100%);
  box-shadow:0 3px 8px rgba(0,0,0,.45), 0 0 0 2px rgba(15,23,42,.25) inset; z-index:5;
  transition:left .42s cubic-bezier(.3,.7,.4,1), top .42s cubic-bezier(.3,.7,.4,1);
}
.live-ball.is-spin { animation:ball-spin .5s linear infinite; }
@keyframes ball-spin { to { transform:rotate(360deg); } }

.game-field.is-goal { box-shadow:0 0 0 4px #4ade80, 0 0 40px rgba(74,222,128,.6) inset; }
.game-field.is-bad  { box-shadow:0 0 0 4px #f87171, 0 0 40px rgba(248,113,113,.5) inset; }
.game-field.is-save { box-shadow:0 0 0 4px #93c5fd, 0 0 30px rgba(147,197,253,.45) inset; }
.game-field { transition:box-shadow .3s; }

@media (prefers-reduced-motion:reduce) {
  .game-field.is-live .slot.is-full, .rivals .rival, .live-ball.is-spin { animation:none; }
}
@media (max-width:560px) {
  .rivals .rival { width:20px; height:20px; margin:-10px 0 0 -10px; }
  .live-ball { width:16px; height:16px; margin:-8px 0 0 -8px; }
}

/* ==========================================================================
   Takım (hoca) uygulaması — /takim
   ========================================================================== */
.coach-body { background:var(--bg-2); padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
.coach-head {
  position:sticky; top:0; z-index:50; display:flex; align-items:center; gap:10px;
  padding:10px 14px; background:var(--navy-900); color:#fff;
  padding-top:calc(10px + env(safe-area-inset-top));
}
.coach-brand { display:flex; align-items:center; gap:10px; color:#fff; min-width:0; flex:1; }
.coach-brand img { width:34px; height:34px; border-radius:50%; border:2px solid rgba(255,255,255,.5); flex-shrink:0; }
.coach-brand span { display:flex; flex-direction:column; line-height:1.2; min-width:0; }
.coach-brand strong { font-size:.95rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.coach-brand small { font-size:.72rem; color:rgba(255,255,255,.65); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.coach-head-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.coach-call { font-size:1.2rem; width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:var(--green-600); }
.coach-head .lang-switch { background:transparent; border-color:rgba(255,255,255,.3); }
.coach-head .lang-switch a { color:rgba(255,255,255,.75); padding:5px 8px; }
.coach-head .lang-switch a.is-active { background:#fff; color:var(--navy-900); }
.coach-out { font-size:.78rem; color:rgba(255,255,255,.7); }

.coach-main { max-width:640px; margin:0 auto; padding:16px 14px 24px; }
.coach-h1 { font-size:1.3rem; margin:0 0 14px; }
.coach-h2 { font-size:1.05rem; margin:0 0 10px; }
.coach-card { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:16px 16px 14px; margin-bottom:14px; }
.coach-card h2 { font-size:1rem; margin:0 0 10px; color:var(--navy-800); }
.coach-empty { color:var(--ink-4); font-style:italic; margin:0; }
.coach-meta { color:var(--ink-3); font-size:.88rem; margin:0 0 8px; }
.coach-match { font-size:1.05rem; margin:0 0 4px; }
.coach-note { margin:10px 0 0; font-size:.9rem; color:var(--ink-2); }
.coach-note-sm { margin:10px 0 0; font-size:.76rem; color:var(--ink-4); }
.coach-back { font-size:.9rem; font-weight:600; }

.coach-sched { list-style:none; margin:0; padding:0; display:grid; gap:2px; }
.coach-sched li { display:flex; gap:12px; padding:9px 0; border-bottom:1px solid var(--line-2); font-size:.94rem; }
.coach-sched li:last-child { border-bottom:0; }
.coach-sched .t { flex-shrink:0; width:58px; font-weight:800; color:var(--navy-800); font-variant-numeric:tabular-nums; }
.coach-sched li.kind-meal .t { color:var(--green-700); }
.coach-sched li.kind-transfer .t { color:#b45309; }
.coach-day-h { font-size:.85rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-4); margin:14px 0 4px; }

.coach-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-top:4px; }
.coach-tile {
  position:relative; display:flex; flex-direction:column; align-items:center; gap:6px; padding:18px 10px;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); color:var(--ink); font-weight:700; font-size:.9rem;
}
.coach-tile span { font-size:1.7rem; line-height:1; }
.coach-tile.is-call { background:var(--green-600); color:#fff; border-color:var(--green-600); }
.tile-badge, .tab-badge {
  min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:var(--red); color:#fff;
  font-size:.7rem; font-weight:800; display:inline-grid; place-items:center;
}
.tab-badge { position:absolute; top:4px; right:22%; }

.coach-matches { list-style:none; margin:0; padding:0; }
.coach-day { font-size:.8rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-4); padding:12px 0 6px; }
.coach-match-row { display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid var(--line-2); }
.cm-time { width:48px; flex-shrink:0; font-weight:800; color:var(--navy-800); font-variant-numeric:tabular-nums; }
.cm-teams { flex:1; min-width:0; display:flex; flex-direction:column; font-size:.92rem; }
.cm-teams small { color:var(--ink-4); font-size:.74rem; }
.cm-score { font-weight:800; color:var(--navy-900); font-variant-numeric:tabular-nums; }

.coach-rooms { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.coach-rooms li { display:flex; align-items:center; gap:14px; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:12px 14px; }
.room-no { display:grid; place-items:center; min-width:62px; height:48px; border-radius:10px; background:var(--navy-50); color:var(--navy-800); font-weight:800; font-size:1.1rem; }
.room-info { display:flex; flex-direction:column; gap:2px; font-size:.9rem; }
.room-info small { color:var(--ink-3); font-size:.8rem; }

.coach-albums { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.coach-album { display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; color:var(--ink); }
.album-cover { display:block; aspect-ratio:4/3; background:var(--bg-3); }
.album-cover img { width:100%; height:100%; object-fit:cover; }
.album-name { padding:10px 12px 2px; font-weight:700; font-size:.9rem; }
.album-count { padding:0 12px 12px; font-size:.78rem; color:var(--ink-4); }

.coach-chat { display:flex; flex-direction:column; gap:12px; margin-bottom:16px; }
.chat-msg { display:flex; flex-direction:column; max-width:88%; }
.chat-msg.is-you { align-self:flex-end; align-items:flex-end; }
.chat-bubble { padding:11px 14px; border-radius:16px; font-size:.94rem; line-height:1.5; background:#fff; border:1px solid var(--line); }
.is-you .chat-bubble { background:var(--green-600); color:#fff; border-color:var(--green-600); border-bottom-right-radius:5px; }
.is-org .chat-bubble { border-bottom-left-radius:5px; }
.chat-msg.is-health .chat-bubble { border-color:var(--red); box-shadow:0 0 0 2px rgba(185,28,28,.12); }
.chat-tag { display:block; font-size:.72rem; font-weight:800; margin-bottom:4px; opacity:.9; }
.chat-meta { font-size:.72rem; color:var(--ink-4); margin-top:3px; }

.coach-form { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:14px; }
.coach-form textarea { width:100%; padding:11px 13px; border:1px solid var(--line); border-radius:var(--r); font:inherit; font-size:16px; resize:vertical; }
.coach-form .check { display:flex; gap:9px; align-items:flex-start; margin:10px 0 12px; font-size:.88rem; }
.coach-form .check input { width:20px; height:20px; accent-color:var(--green-600); flex-shrink:0; margin-top:1px; }
.coach-form .hint { display:block; font-style:normal; color:var(--ink-4); font-size:.76rem; }

.coach-tabs {
  position:fixed; left:0; right:0; bottom:0; z-index:60; display:flex; background:#fff;
  border-top:1px solid var(--line); padding-bottom:env(safe-area-inset-bottom);
  box-shadow:0 -6px 20px -14px rgba(15,23,42,.4);
}
.coach-tabs a { position:relative; flex:1; display:flex; flex-direction:column; align-items:center; gap:2px; padding:9px 2px 8px; color:var(--ink-4); font-size:.64rem; font-weight:700; }
.coach-tabs .tab-ico { font-size:1.2rem; line-height:1.1; }
.coach-tabs a.is-active { color:var(--green-700); }
.coach-tabs a.is-active .tab-ico { transform:translateY(-1px); }

.coach-login { max-width:400px; margin:6vh auto 0; text-align:center; }
.coach-login img { margin:0 auto 16px; border-radius:50%; border:3px solid #fff; box-shadow:var(--sh); }
.coach-login h1 { font-size:1.4rem; margin-bottom:.3em; }
.coach-login p { color:var(--ink-3); font-size:.92rem; }
.coach-login form { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:18px; margin-top:18px; text-align:left; }
.coach-login .field input { font-size:16px; }
.btn-block { width:100%; justify-content:center; }
.coach-login-call { display:inline-block; margin-top:16px; font-weight:700; }

@media (min-width:700px) {
  .coach-tabs { position:sticky; border-radius:var(--r-lg); max-width:640px; margin:0 auto 18px; border:1px solid var(--line); }
  .coach-body { padding-bottom:0; }
}

/* panelde takım mesajlaşması */
.adm-chat { display:flex; flex-direction:column; gap:10px; max-height:420px; overflow-y:auto; padding:4px; }
.adm-msg { max-width:86%; padding:10px 13px; border-radius:14px; font-size:.9rem; line-height:1.5; border:1px solid var(--line); background:#fff; }
.adm-msg small { display:block; margin-top:4px; font-size:.72rem; color:var(--ink-4); }
.adm-msg.is-us { align-self:flex-end; background:var(--navy-800); color:#fff; border-color:var(--navy-800); }
.adm-msg.is-us small { color:rgba(255,255,255,.6); }
.adm-msg.is-health { border-color:var(--red); box-shadow:0 0 0 2px rgba(185,28,28,.12); }
.adm-tag { display:block; font-size:.7rem; font-weight:800; color:var(--red); margin-bottom:4px; }

/* menüdeki Takım Portalı bağlantısı biraz ayrışsın */
/* üst çubuktaki Takım Portalı düğmesi */
.nav-portal { display:inline-flex; align-items:center; gap:6px; padding:8px 12px; border:1px solid var(--line);
  border-radius:8px; font-size:.84rem; font-weight:700; color:var(--navy-800); white-space:nowrap; }
.nav-portal:hover, .nav-portal.is-active { background:var(--navy-50); color:var(--navy-900); }
.np-short { display:none; }
@media (max-width:1240px) and (min-width:961px) { .np-full { display:none; } .np-short { display:inline; } }

/* portal giriş ekranındaki kurulum yardımı */
.coach-install { margin-top:18px; text-align:left; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:12px 14px; }
.coach-install summary { cursor:pointer; font-weight:700; font-size:.9rem; color:var(--navy-800); }
.coach-install ul { margin:10px 0 8px; padding-left:18px; font-size:.86rem; color:var(--ink-2); }
.coach-install li { margin-bottom:6px; }
.coach-install p { margin:0; font-size:.82rem; color:var(--ink-3); }
.coach-install .pwa-install { margin-top:10px; background:var(--green-600); border-color:var(--green-600); color:#fff; }

/* portal: fikstür / puan durumu alt gezinmesi */
.coach-subnav { display:flex; gap:6px; margin:0 0 14px; background:#fff; border:1px solid var(--line); border-radius:999px; padding:4px; }
.coach-subnav a { flex:1; text-align:center; padding:9px 10px; border-radius:999px; font-size:.86rem; font-weight:700; color:var(--ink-3); }
.coach-subnav a.is-active { background:var(--navy-800); color:#fff; }
.coach-main table.standings { min-width:520px; font-size:.86rem; }
.coach-main table.standings th, .coach-main table.standings td { padding:9px 7px; }

/* puan durumu sayfasında yaş kategorisi başlığı */
.age-head { margin:34px 0 14px; font-size:1.15rem; color:var(--navy-800); border-left:4px solid var(--green-600); padding-left:12px; }
.age-head:first-of-type { margin-top:8px; }

/* belge listesi */
.doc-list { display:grid; gap:12px; }
.doc-card { display:flex; align-items:center; gap:16px; padding:18px 20px; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); color:var(--ink); transition:border-color .15s, transform .15s; }
.doc-card:hover { border-color:var(--navy-700); transform:translateY(-1px); color:var(--ink); }
.doc-ico { font-size:1.8rem; }
.doc-text { flex:1; display:flex; flex-direction:column; gap:3px; }
.doc-text strong { font-size:1.02rem; }
.doc-text small { color:var(--ink-3); font-size:.86rem; line-height:1.5; }
.doc-go { font-weight:700; color:var(--navy-700); white-space:nowrap; }
@media (max-width:560px) { .doc-card { flex-wrap:wrap; } .doc-go { width:100%; text-align:right; } }

/* üst menü dar ekranlarda taşmasın: boşluklar ve yazı küçülür */
@media (min-width:961px) and (max-width:1340px) {
  .head-inner { gap:12px; }
  .main-nav { gap:10px; min-width:0; }
  .main-nav > ul a, .main-nav .sub-toggle { padding:8px 8px; font-size:.84rem; }
  .nav-actions { gap:8px; }
  .nav-actions .btn { padding:8px 13px; font-size:.84rem; }
  .brand-text small { display:none; }
}
@media (min-width:961px) and (max-width:1080px) {
  .main-nav > ul a, .main-nav .sub-toggle { padding:7px 6px; font-size:.8rem; }
  .nav-portal { padding:7px 9px; }
}

/* takımlar belli değilken puan durumu tablosu */
table.standings.is-placeholder td { color:var(--ink-4); }
table.standings.is-placeholder .ph-team { color:var(--ink-3); font-weight:600; font-style:italic; }
.standings-note { margin:0 0 18px; padding:11px 15px; background:var(--navy-50); border:1px solid #cfe0f2; border-radius:var(--r); font-size:.9rem; color:var(--navy-800); }

/* ---- turnuva oteli (turnuva sayfası) */
.hotel-head { display:flex; flex-wrap:wrap; gap:12px 20px; align-items:center; justify-content:space-between;
  padding:14px 16px; margin:0 0 16px; background:var(--bg-2); border:1px solid var(--line); border-radius:var(--r); }
.hotel-name { margin:0; font-weight:700; color:var(--ink); }
.hotel-addr { margin:2px 0 0; font-size:.9rem; color:var(--ink-3); }
.hotel-photos { margin-top:4px; }
.hotel-credit { margin:10px 0 0; font-size:.8rem; color:var(--ink-4); }

/* ==========================================================================
   Mobil sağlamlaştırma — dar ekranda hiçbir kutu ekranın dışına taşmasın
   ========================================================================== */

/* uzun değerler (otel adı + şehir, e-posta, adres) künye satırını taşırmasın */
.info-list .v { min-width:0; overflow-wrap:anywhere; }
.info-list .k { overflow-wrap:anywhere; }
@media (max-width:480px) {
  .info-list li { flex-direction:column; align-items:flex-start; gap:3px; }
  .info-list .v { text-align:left; }
}

/* puan durumu telefonda: daha dar ve daha okunur, yine de kendi içinde kayar */
@media (max-width:560px) {
  table.standings { min-width:540px; font-size:.85rem; }
  table.standings th, table.standings td { padding:9px 6px; }
  table.standings td.team { min-width:150px; }
  table.scorer-table { min-width:400px; }
  .coach-main table.standings { min-width:460px; }
}

/* çerez çubuğu iPhone'da alt çizginin altında kalmasın */
.cookie-bar { padding-bottom:env(safe-area-inset-bottom); }

/* uzun başlık/etiketler kutuyu zorlamasın */
.card-body h3, .season-mini-name, .kit-body h2, .doc-text strong, .coach-card h2 { overflow-wrap:anywhere; }
.hotel-name, .hotel-addr { overflow-wrap:anywhere; }

/* yatay kaydırma gereken şeritler telefonda parmakla kaysın */
.tabs, .cat-switch, .year-tabs, .coach-subnav { -webkit-overflow-scrolling:touch; }
@media (max-width:560px) {
  .year-tabs { flex-wrap:nowrap; overflow-x:auto; padding-bottom:2px; }
  .year-tabs a { flex-shrink:0; }
  .coach-subnav { overflow-x:auto; }
  .coach-subnav a { flex:0 0 auto; white-space:nowrap; }
}

/* form alanları ve düğmeler dar ekranda tam genişlik */
@media (max-width:480px) {
  .filter-bar { flex-direction:column; align-items:stretch; }
  .filter-bar select { min-width:0; width:100%; }
  .hero-actions .btn, .home-banner-actions .btn { flex:1 1 100%; }
  .deadline-pill { width:100%; justify-content:center; }
}

/* maskot balonu küçük ekranda kartların üstüne taşmasın */
@media (max-width:420px) {
  .ffbot-teaser { display:none; }
}

/* --------------------------------------------------------------------------
   Izgara sütunları içeriğe göre şişmesin (telefonda asıl taşma sebebi buydu):
   ızgara öğesinin varsayılan en küçük genişliği "min-content"tir; içinde kendi
   içinde kayan geniş bir tablo varsa sütun tablonun genişliğine kadar açılıyor
   ve sayfanın sağı ekranın dışında kalıyordu.
   -------------------------------------------------------------------------- */
.grid > *, .grid-sidebar > *, .match-list > *, .team-grid > *, .photo-grid > *,
.season-grid > *, .season-strip > *, .kit-grid > *, .player-cards > *,
.included-list > *, .coach-grid > *, .coach-albums > * { min-width:0; }

@media (max-width:960px) {
  .grid-sidebar { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:720px) {
  .grid-2, .grid-3, .grid-4 { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:560px) {
  .season-grid, .season-strip { grid-template-columns:minmax(0,1fr); }
  .included-list, .player-cards { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:760px) {
  .kit-grid { grid-template-columns:minmax(0,1fr); }
}

/* yaş kategorileri tablosu telefonda kaydırmadan sığsın (5 kısa sütun) */
@media (max-width:560px) {
  table.standings.age-table { min-width:0; font-size:.8rem; }
  table.standings.age-table th, table.standings.age-table td { padding:8px 5px; }
  table.standings.age-table td:first-child { min-width:0; }
  table.standings.age-table .badge { font-size:.6rem; padding:2px 5px; }
}

/* belge listesi: ekranda aç + PDF indir */
.doc-actions { display:flex; align-items:center; gap:14px; flex-shrink:0; }
.doc-card .doc-text strong { color:var(--ink); }
@media (max-width:560px) {
  .doc-actions { width:100%; justify-content:space-between; }
  .doc-actions .btn { flex:1; }
}

/* ==========================================================================
   Sosyal medya — markaların kendi simgeleriyle
   ========================================================================== */
.soc-ico { display:block; border-radius:7px; flex-shrink:0; }

/* üst çubukta "Takip et" düğmesi — kategorilerin yanında */
.head-social {
  display:none; align-items:center; gap:7px; padding:6px 12px; border-radius:999px;
  background:#fff; border:1px solid var(--line); color:var(--ink);
  font-size:.84rem; font-weight:700; white-space:nowrap;
  box-shadow:0 1px 4px rgba(15,23,42,.06);
  transition:color .15s, border-color .15s, box-shadow .15s, transform .15s;
}
.head-social:hover { color:#C837AB; border-color:#ecc9e6; box-shadow:0 5px 16px -6px rgba(200,55,171,.45); transform:translateY(-1px); }
.head-social .soc-ico { width:22px; height:22px; }
.nav-actions .head-social { display:inline-flex; }

/* dar masaüstünde yalnız logo kalsın */
@media (max-width:1240px) and (min-width:961px) {
  .head-social { padding:6px 8px; }
  .head-social .hs-text { display:none; }
}
@media (max-width:960px) {
  .nav-actions .head-social { display:none; }              /* menü içinde tekrar etmesin */
  .head-inner > .head-social { display:inline-flex; margin-left:auto; padding:5px 8px; }
  .head-inner > .head-social .hs-text { display:none; }
  .head-inner > .head-social ~ .head-social { margin-left:6px; }
  .head-inner:has(> .head-social) .head-lang { margin-left:8px; }
}

/* listeler (alt bilgi ve iletişim sayfası) */
.soc-list { list-style:none; margin:14px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:10px 16px; }
.soc-list a { display:inline-flex; align-items:center; gap:9px; }
.soc-text { display:flex; flex-direction:column; line-height:1.2; }
.soc-text strong { font-size:.88rem; font-weight:700; }
.soc-text small { font-size:.74rem; opacity:.72; }

.site-foot .soc-list a { color:rgba(255,255,255,.8); }
.site-foot .soc-list a:hover { color:#fff; }

.soc-chip { margin-top:4px; }
.soc-chip a {
  padding:8px 14px 8px 10px; border:1px solid var(--line); border-radius:999px;
  background:#fff; color:var(--ink); transition:border-color .15s, box-shadow .15s, transform .15s;
}
.soc-chip a:hover { border-color:var(--ink-4); box-shadow:var(--sh-sm); transform:translateY(-1px); color:var(--ink); }

/* çok dar telefonlarda üst çubuk: marka + simge + dil + menü sığsın */
@media (max-width:400px) {
  .head-inner { gap:10px; }
  .head-lang a { padding:7px 8px; font-size:.72rem; }
  .head-social .soc-ico { width:24px; height:24px; }
}

/* ---- Takımlar: turnuva listesi ve kura grupları */
.tour-list { display:grid; gap:10px; }
.tour-row {
  display:flex; align-items:center; gap:16px; padding:12px 16px;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); color:var(--ink);
  transition:border-color .15s, box-shadow .15s, transform .15s;
}
.tour-row:hover { border-color:var(--navy-700); box-shadow:var(--sh-sm); transform:translateY(-1px); color:var(--ink); }
.tour-row.is-active { border-color:var(--navy-800); background:var(--navy-50); }
.tour-media { flex:0 0 72px; width:72px; aspect-ratio:16/10; border-radius:8px; overflow:hidden; background:var(--bg-3); }
.tour-media img { width:100%; height:100%; object-fit:cover; }
.tour-text { flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.tour-text strong { font-size:1rem; }
.tour-text small { font-size:.84rem; color:var(--ink-3); }
.tour-count {
  flex-shrink:0; padding:6px 13px; border-radius:999px; background:var(--bg-3);
  color:var(--ink-2); font-size:.8rem; font-weight:700; white-space:nowrap;
}
.tour-go { flex-shrink:0; color:var(--navy-700); font-weight:700; }

.draw-group + .draw-group { margin-top:22px; }
.draw-group .group-title { font-size:.95rem; margin-bottom:10px; }
.draw-group .age-block-count { margin-left:8px; }
.draw-note {
  margin:0 0 14px; padding:10px 14px; border-radius:var(--r);
  background:var(--navy-50); border:1px solid #cfe0f2; color:var(--navy-800); font-size:.88rem;
}
@media (max-width:560px) {
  .tour-row { flex-wrap:wrap; gap:10px 12px; padding:12px; }
  .tour-media { flex-basis:56px; width:56px; }
  .tour-go { display:none; }
}
