/*
Theme Name: Black Belt Club
Description: Black Belt Clubi oma teema. Kujundus tuleb kinnitatud mockupist (30.07.2026). Ilma lehekoostajata, ilma valikute paneelita. Reegel: must taidis = tegevus, sinine ei ole kunagi nupp, punast ei kasutata.
Version: 0.5.3
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: bbc
*/

/* ── Lokaalsed fondid. Google'i serverisse ei minda. ───────────────── */
/* Barlow Condensed 500 latin-ext */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/barlow-condensed-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Barlow Condensed 500 latin */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/barlow-condensed-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Barlow Condensed 600 latin-ext */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/barlow-condensed-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Barlow Condensed 600 latin */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/barlow-condensed-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Barlow Condensed 700 latin-ext */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/barlow-condensed-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Barlow Condensed 700 latin */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/barlow-condensed-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Inter 400 latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/inter-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Inter 400 latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/inter-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Inter 500 latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/inter-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Inter 500 latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/inter-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Inter 600 latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/inter-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Inter 600 latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/inter-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Inter 700 latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/inter-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Inter 700 latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/inter-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── Kujundus mockupist ───────────────────────────────────────────── */
/* ════════════════════════════════════════════════════════════════
   BLACK BELT CLUB — kujundus, kinnitatud 30.07.2026
   Palett "Valge tatami". Hele alus nagu praegusel lehel, aga terav.
   Logo mõlemad värvid teevad tööd: sinine on identiteet ja link,
   MUST on tegevusnupp.

   KESKNE REEGEL: must täidis = tegevus. Sinine ei ole KUNAGI nupp.
   Tumeda foto või sinise ploki peal pöördub sama nupp valgeks.
   Punast ei kasutata üheski kohas.

   Kõik värvid on tokenites. WordPressi kolides läheb see plokk
   child theme'i style.css algusesse muutmata kujul.
   ════════════════════════════════════════════════════════════════ */
:root{
  --r-sm:8px; --r:14px; --r-lg:22px;
  --pad:clamp(1.25rem,5vw,2.5rem);
  --maxw:1240px;
  --display:'Barlow Condensed','Oswald','Arial Narrow',system-ui,sans-serif;
  --body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;

  --ink:#EDF2F6;            /* lehe taust, praeguse lehe oma värv */
  --ink-2:#E2EAF3;          /* vahelduv sektsioon */
  --surface:#FFFFFF;        /* kaardid */
  --surface-2:#F7FAFD;
  --line:#D6DFE9;           /* dekoratiivne juuksjoon */
  --line-strong:#6B7683;    /* struktuuripiir, vormielemendid: 4.62:1 */

  --brand:#105DDE;          /* logo sinine, pipetiga mõõdetud */
  --brand-bright:#2E7BFF;   /* ainult fookus ja ikoon, ei kanna valget teksti */
  --brand-deep:#0B3E8F;
  --brand-tint:#DCE9FD;

  --cta-bg:#000000;         /* logo must. Täpselt üks selline nupp vaates. */
  --cta-fg:#FFFFFF;
  --cta-hover:#2A2F38;      /* tumehall, mitte sinine: reegel "sinine ei ole kunagi nupp"
                               kehtib nii eranditeta. Valge tekstiga ~13:1. */

  --text:#101720;           /* mitte puhas must, et must täidis jääks haruldaseks */
  --muted:#46586B;
  --muted-2:#556575;        /* töötab kõigil heledatel pindadel */

  --accent:#105DDE;         /* sildid, sammunumbrid, menüü allajoon */
  --accent-fg:#FFFFFF;
  --accent-soft:#DCE9FD;
  --accent-ink:#0B3E8F;
  --badge-bg:#DCE9FD;
  --badge-fg:#0B3E8F;
  --announce-bg:#105DDE;
  --announce-fg:#FFFFFF;
  --nav-hover-fg:#101720;
  --ok:#17692F;             /* ainus lubatud roheline, ainult linnuke */

  --invert-bg:#0B3E8F;      /* üks täislaiuses tume plokk, annab rütmi */
  --invert-fg:#FFFFFF;
  --footer-bg:#101720;
  --footer-fg:#FFFFFF;
  --hero-scrim:linear-gradient(180deg,rgba(8,12,20,.62) 0%,rgba(8,12,20,.34) 34%,
    rgba(8,12,20,.86) 76%,rgba(237,242,246,.98) 100%);
  --ph-1:#DCE9FD; --ph-2:#F7FAFD;      /* treeneri platshoidja */
  --ph-ink:rgba(11,62,143,.34);
  --map-1:#E6EDF6; --map-2:#DCE5F0;    /* kaardikoha triibud */
  --shadow:0 14px 36px -18px rgba(16,23,32,.28);
  --hdr-bg:rgba(255,255,255,.88);
  --hdr-fg:#101720;
  --mbar-bg:rgba(255,255,255,.96);
  --logo-filter:none;
  --ghost-hover-bd:#101720;
  --ghost-hover-bg:rgba(16,23,32,.06);
  --belt-brand:linear-gradient(90deg,#A9C8FF 0 20%,#2E7BFF 20% 40%,#105DDE 40% 60%,
    #0B3E8F 60% 80%,#101720 80% 100%);
  --on-dark-line:rgba(255,255,255,.22);
}


*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--ink);color:var(--text);
  font-family:var(--body);font-size:16px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
/* Eesti liitsõnad on pikad (olümpiataekwondo, treeningukoht, liikmemaks),
   seega luba murdumine, muidu jookseb sõna kitsal kaardil servast välja. */
body{overflow-wrap:break-word}
h1,h2,h3,h4,.price,.pm{overflow-wrap:anywhere}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:1.02;
  text-transform:uppercase;letter-spacing:-.005em;margin:0}
p{margin:0}
:focus-visible{outline:3px solid var(--brand-bright);outline-offset:3px;border-radius:4px}


/* Kinnine päis katab ankru sihtmärgi ära, seega jäta kerimisel ruumi. */
section[id],main[id],footer[id],div[id]{scroll-margin-top:88px}

.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
.section{padding-block:clamp(3.5rem,8vw,6.5rem)}
.eyebrow{font-family:var(--body);font-weight:700;font-size:max(.78rem,12px);letter-spacing:.14em;
  text-transform:uppercase;color:var(--accent-ink);margin-bottom:.85rem}
.h-xl{font-size:clamp(2.4rem,7.5vw,4.6rem)}
.h-lg{font-size:clamp(1.85rem,5vw,3rem)}
.h-md{font-size:clamp(1.35rem,3vw,1.85rem)}
.lead{color:var(--muted);font-size:clamp(1rem,1.6vw,1.12rem);max-width:60ch}
.small{font-size:.85rem;color:var(--muted)}

/* Vöö-motiiv sektsioonide eraldajana, klubi enda värvides.
   Kinnitatud 30.07.2026: punast ei kasutata. */
.belt{height:4px;width:100%;border:0;margin:0;background:var(--belt-brand)}


/* ── Alati tumedal pinnal (foto, sinine plokk, jalus). Need plokid
   pööravad tekstitokenid heledaks, et hele palett ka nende peal töötaks. ── */
.hero,.club-hero,.social,.join:not(.join-light),.ftr,.picker,.on-dark{
  --text:#FFFFFF;
  --muted:rgba(255,255,255,.76);
  --muted-2:rgba(255,255,255,.58);
  --line:rgba(255,255,255,.14);
  --line-strong:rgba(255,255,255,.30);
  --ok:#7BE0A3;
  --brand-bright:#BFD6FF;
  --accent-ink:#BFD6FF;
  color:#FFFFFF;
}
.ftr h4{color:#FFFFFF}
.ftr a,.ftr p{color:rgba(255,255,255,.74)}
.ftr a:hover{color:#FFFFFF}
.ftr .partners span{color:rgba(255,255,255,.62);border-color:rgba(255,255,255,.18)}
.ftr-bot{color:rgba(255,255,255,.55)}
.hero-facts b,.hero-facts span{color:#FFFFFF}
.hero-facts span{opacity:.78}


/* Heledas paletis on CTA must. Tumeda foto või sinise ploki peal
   pöördub sama nupp valgeks, sest must nupp tumedal pinnal ei erista.
   Vorm, suurus ja tekst jäävad samaks, muutub ainult värvipaar. */
.hero,.club-hero,.social,.join:not(.join-light),.ftr,.on-dark{
  --cta-bg:#FFFFFF; --cta-fg:#071630; --cta-hover:#DCE8FF;
}

/* ---------- nupud ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:var(--display);font-size:1.05rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.03em;padding:.85rem 1.6rem;border-radius:var(--r-sm);border:2px solid transparent;
  cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease;
  min-height:48px}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--cta-bg);color:var(--cta-fg)}
.btn-primary:hover{background:var(--cta-hover)}
.btn-ghost{border-color:var(--line-strong);color:var(--text)}
.btn-ghost:hover{border-color:var(--ghost-hover-bd);background:var(--ghost-hover-bg)}
.btn-sm{font-size:.92rem;padding:.6rem 1.1rem;min-height:42px}


/* Mockupi teade: EN-versiooni tõlget selles failis ei ole. */
#langnote{position:fixed;left:50%;transform:translateX(-50%);bottom:96px;z-index:210;
  display:flex;align-items:center;gap:.75rem;max-width:min(30rem,calc(100vw - 28px));
  background:#0B0E15;color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:11px;
  padding:.7rem .8rem .7rem 1rem;font-size:.84rem;line-height:1.45;
  box-shadow:0 20px 50px -16px rgba(0,0,0,.8)}
#langnote button{background:rgba(255,255,255,.12);border:0;color:#fff;font-size:1rem;
  width:28px;height:28px;border-radius:7px;cursor:pointer;flex:0 0 28px}
#langnote button:hover{background:rgba(255,255,255,.24)}
@media (min-width:900px){#langnote{bottom:20px;left:auto;right:14px;transform:none}}

/* ---------- teateriba ---------- */
.topbar{background:var(--announce-bg);color:var(--announce-fg);font-size:.85rem}
.topbar-in{display:flex;align-items:center;justify-content:center;gap:.75rem;
  padding-block:.6rem;flex-wrap:wrap;text-align:center}
.topbar a{font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
@media (max-width:560px){.tb-sec{display:none}}

/* ---------- päis ---------- */
.hdr{position:sticky;top:0;z-index:60;background:var(--hdr-bg);color:var(--hdr-fg);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;gap:1.25rem;height:68px}
.brand{display:flex;align-items:center;gap:.6rem;flex:0 0 auto}
.brand img{height:40px;width:auto;filter:var(--logo-filter)}
.brand b{font-family:var(--display);font-size:1.1rem;letter-spacing:.02em;line-height:1;
  text-transform:uppercase}
.brand span{display:block;font-family:var(--body);font-size:.55rem;letter-spacing:.18em;
  color:var(--muted-2);font-weight:600}
.nav{display:none;gap:1.5rem;margin-left:auto;align-items:center}
.nav a{font-family:var(--display);font-size:1.02rem;text-transform:uppercase;letter-spacing:.04em;
  color:var(--muted);padding:.3rem 0;border-bottom:2px solid transparent;transition:.15s}
.nav a:hover,.nav a[aria-current]{color:var(--nav-hover-fg);border-bottom-color:var(--accent)}
.hdr-cta{display:none;gap:.6rem;align-items:center}
.lang{display:flex;gap:.15rem;border:1px solid var(--line);border-radius:var(--r-sm);
  padding:.15rem;font-size:.78rem;font-weight:700}
.lang button{background:none;border:0;color:var(--muted);padding:.3rem .55rem;border-radius:5px;
  cursor:pointer;font:inherit;min-height:32px}
.lang button[aria-pressed=true]{background:var(--brand);color:#FFFFFF}
.burger{margin-left:auto;background:none;border:1px solid var(--line);border-radius:var(--r-sm);
  width:46px;height:46px;display:grid;place-items:center;cursor:pointer}
.burger span{display:block;width:20px;height:2px;background:currentColor;position:relative}
.burger span::before,.burger span::after{content:'';position:absolute;left:0;width:20px;height:2px;
  background:currentColor}
.burger span::before{top:-6px}.burger span::after{top:6px}
.m-nav{display:none;border-top:1px solid var(--line);background:var(--surface);padding:.5rem 0 1rem}
.m-nav.open{display:block}
.m-nav a{display:block;font-family:var(--display);font-size:1.35rem;text-transform:uppercase;
  padding:.7rem var(--pad);border-bottom:1px solid var(--line)}
.m-nav .m-actions{display:flex;gap:.6rem;padding:1rem var(--pad) 0;flex-wrap:wrap}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(88svh,760px);display:flex;align-items:flex-end;
  overflow:hidden;isolation:isolate}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero::after{content:'';position:absolute;inset:0;z-index:-1;
  background:var(--hero-scrim)}
.hero-in{padding-block:clamp(2.5rem,7vw,4.5rem);width:100%}
.hero h1{max-width:19ch;color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.55)}
.hero h1 em{font-style:normal;color:var(--brand-bright)}
.hero .eyebrow{color:#BFD6FF;text-shadow:0 2px 12px rgba(0,0,0,.9)}
.hero .lead{margin-top:1.1rem;color:rgba(255,255,255,.92);max-width:48ch}
.hero-btns{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}
.hero-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:.1rem 1.5rem;margin-top:2.25rem;
  padding-top:1.5rem;border-top:1px solid var(--line-strong)}
.hero-facts div{padding-block:.5rem}
.hero-facts b{display:block;font-family:var(--display);font-size:1.7rem;line-height:1}
.hero-facts span{font-size:.78rem;color:var(--muted);letter-spacing:.02em}

/* ---------- kiirvalik asukoha järgi ---------- */
.picker{background:var(--brand);padding-block:1.1rem}
.picker-in{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.picker b{font-family:var(--display);text-transform:uppercase;font-size:1.05rem;letter-spacing:.04em;
  margin-right:.4rem}
.chip{border:1.5px solid rgba(255,255,255,.45);border-radius:999px;padding:.45rem 1rem;
  font-size:.88rem;font-weight:600;cursor:pointer;background:none;color:#fff;
  transition:.15s;min-height:38px}
.chip:hover{background:#fff;color:var(--brand);border-color:#fff}

/* ---------- üldine kaardigrid ---------- */
.grid{display:grid;gap:1.15rem}
.g-2{grid-template-columns:1fr}
.g-3{grid-template-columns:1fr}
.g-4{grid-template-columns:1fr}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  padding:1.5rem;transition:border-color .18s,transform .18s}
.card:hover{border-color:var(--line-strong);transform:translateY(-3px)}
.card h3{font-size:1.2rem;margin-bottom:.5rem}
.card p{color:var(--muted);font-size:.92rem}
.ico{width:44px;height:44px;border-radius:11px;background:var(--brand-tint);color:var(--accent-ink);
  display:grid;place-items:center;margin-bottom:1rem;font-size:1.3rem}

.head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;
  flex-wrap:wrap;margin-bottom:2.25rem}


/* Heledal taustal on kaardi ja tausta luminantsivahe väike (1.13:1),
   seega kaardi piir tuleb tugevdada varjuga, mitte ainult tooniga.
   NB: vormiväljadel (input, select, checkbox) peab piir olema
   var(--line-strong), see on WCAG 1.4.11 nõue. */
.card,.venue,.coach,.news,.pcard,.disc,.pricebox,.coachmini,.mapbox{
  box-shadow:var(--shadow)}
.venue:hover,.news:hover,.card:hover,.coach:hover{
  box-shadow:0 22px 48px -20px rgba(16,23,32,.34)}
input,select,textarea{border:1px solid var(--line-strong)}


/* Vahelduv sektsioon. */
.section.alt{background:var(--ink-2)}

/* ---------- treeningkoha kaardid ---------- */
.venue{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;display:flex;flex-direction:column;transition:.18s}
.venue:hover{border-color:var(--brand);transform:translateY(-4px)}
.venue-img{aspect-ratio:16/10;overflow:hidden;position:relative}
.venue-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.venue:hover .venue-img img{transform:scale(1.05)}
.venue-tag{position:absolute;top:.75rem;left:.75rem;background:var(--accent);color:var(--accent-fg);
  font-size:max(.75rem,12px);font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:.3rem .6rem;border-radius:5px}
.venue-body{padding:1.35rem;display:flex;flex-direction:column;gap:.85rem;flex:1}
.venue-body h3{font-size:1.4rem}
.venue-addr{font-size:.82rem;color:var(--muted-2);margin-top:.2rem}
.rows{display:flex;flex-direction:column;gap:.5rem;font-size:.88rem}
.row{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.5rem;
  border-bottom:1px dashed var(--line)}
.row:last-child{border-bottom:0;padding-bottom:0}
.row span:first-child{color:var(--muted)}
.row span:last-child{font-variant-numeric:tabular-nums;font-weight:600;text-align:right}
.venue-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  margin-top:auto;padding-top:.9rem;border-top:1px solid var(--line)}
.price{font-family:var(--display);font-size:1.65rem;line-height:1}
.price s{color:var(--muted-2);font-size:.9rem}
.price small{font-family:var(--body);font-size:max(.8rem,12.5px);color:var(--muted);font-weight:500;
  text-transform:none;letter-spacing:0}

/* ---------- treenerid ---------- */
.coach{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;transition:.18s}
.coach:hover{border-color:var(--line-strong);transform:translateY(-3px)}
.coach-ph{aspect-ratio:1;display:grid;place-items:center;position:relative;
  background:radial-gradient(120% 120% at 30% 15%,var(--ph-1) 0%,var(--ph-2) 100%)}
.coach-ph b{font-family:var(--display);font-size:3.2rem;color:var(--ph-ink);
  letter-spacing:.02em}
.coach-ph::after{content:'foto';position:absolute;bottom:.6rem;right:.7rem;font-size:.6rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ph-ink)}
.coach-body{padding:1.05rem 1.15rem 1.25rem}
.coach-body h3{font-size:1.12rem}
.dan{display:inline-block;margin-top:.4rem;font-size:max(.75rem,12px);font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--accent-ink);background:var(--brand-tint);
  padding:.22rem .5rem;border-radius:4px}
.coach-body p{font-size:.83rem;margin-top:.6rem;color:var(--muted)}

/* ---------- sammud ---------- */
.steps{counter-reset:s;display:grid;gap:1.15rem}
.step{position:relative;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r);padding:1.75rem 1.5rem 1.5rem}
.step::before{counter-increment:s;content:counter(s);position:absolute;top:-.9rem;left:1.4rem;
  font-family:var(--display);font-size:1.15rem;font-weight:700;background:var(--accent);color:var(--accent-fg);
  width:34px;height:34px;border-radius:9px;display:grid;place-items:center}
.step h3{font-size:1.15rem;margin:.35rem 0 .5rem}
.step p{font-size:.9rem;color:var(--muted)}

/* ---------- uudised ---------- */
.news{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface);
  display:flex;flex-direction:column;transition:.18s}
.news:hover{border-color:var(--brand);transform:translateY(-4px)}
.news-img{aspect-ratio:16/9;overflow:hidden}
.news-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.news:hover .news-img img{transform:scale(1.05)}
.news-body{padding:1.2rem 1.3rem 1.4rem}
.news-date{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);
  font-weight:700}
.news-body h3{font-size:1.15rem;margin:.5rem 0 .5rem}
.news-body p{font-size:.87rem;color:var(--muted)}

/* ---------- galerii mosaiik ---------- */
.mosaic{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
.mosaic a{overflow:hidden;border-radius:10px;aspect-ratio:1}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .45s,filter .3s;
  filter:saturate(.9)}
.mosaic a:hover img{transform:scale(1.07);filter:saturate(1.1)}
.mosaic a:first-child{grid-column:span 2;aspect-ratio:16/9}



/* ---------- kontakt ja vorm ---------- */
.contact-grid{display:grid;gap:1.5rem}
.contact-info{display:grid;gap:.75rem;align-content:start}
.ci{display:flex;gap:.9rem;align-items:center;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.15rem;
  box-shadow:var(--shadow);transition:border-color .18s,transform .18s}
a.ci:hover{border-color:var(--brand);transform:translateY(-2px)}
.ci-ico{flex:0 0 40px;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;
  background:var(--brand-tint);color:var(--accent-ink);font-size:1.05rem}
.ci b{display:block;font-size:1rem}
.ci span span{display:block;font-size:max(.82rem,13px);color:var(--muted-2)}
.ci-soc-h{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  color:var(--muted-2);margin:.75rem 0 .1rem}
.soc-line{background:var(--surface);border-color:var(--line-strong);color:var(--text)}
.soc-line:hover{background:var(--brand);border-color:var(--brand);color:#fff}

.cform{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(1.25rem,3vw,1.75rem);box-shadow:var(--shadow);display:grid;gap:1rem}
.cform-h{font-family:var(--display);font-size:1.4rem;text-transform:uppercase;margin:0}
.f-row{display:grid;gap:.35rem}
.f-two{display:grid;gap:1rem}
.f-row label{font-size:max(.82rem,13px);font-weight:600}
.f-row label span{color:var(--accent-ink)}
.cform input,.cform select,.cform textarea{
  font:inherit;font-size:1rem;color:var(--text);background:var(--surface-2);
  border:1px solid var(--line-strong);border-radius:var(--r-sm);
  padding:.7rem .8rem;min-height:46px;width:100%}
.cform textarea{min-height:110px;resize:vertical}
.cform input:focus-visible,.cform select:focus-visible,.cform textarea:focus-visible{
  border-color:var(--brand);outline:3px solid var(--brand-bright);outline-offset:1px}
.f-turnstile{display:flex;align-items:center;gap:.6rem;font-size:.8rem;color:var(--muted-2);
  border:1px dashed var(--line-strong);border-radius:var(--r-sm);padding:.7rem .9rem}
.f-note{font-size:max(.78rem,12.5px);color:var(--muted-2);margin:0}
.f-status{margin:0;font-size:.9rem;font-weight:600;padding:.7rem .9rem;border-radius:var(--r-sm);
  background:var(--brand-tint);color:var(--accent-ink)}
@media (min-width:560px){ .f-two{grid-template-columns:1fr 1fr} }
@media (min-width:900px){ .contact-grid{grid-template-columns:.85fr 1.15fr} }

/* ---------- partnerid ja liikmelisus ---------- */
.plogo-h{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  color:var(--muted-2);margin:0 0 .9rem}
.plogos{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem;margin-bottom:2.25rem}
.plogo{display:grid;place-items:center;min-height:96px;padding:1.1rem 1.25rem;
  background:#FFFFFF;border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--shadow);transition:border-color .18s,transform .18s}
a.plogo:hover{border-color:var(--brand);transform:translateY(-3px)}
.plogo img{max-height:52px;width:auto;object-fit:contain;
  filter:grayscale(1);opacity:.72;transition:filter .2s,opacity .2s}
a.plogo:hover img{filter:none;opacity:1}
.plogo-static img{filter:none;opacity:1;max-height:44px}
.plogo-txt{font-family:var(--display);font-size:1.5rem;text-transform:uppercase;
  color:var(--muted);letter-spacing:.02em}
a.plogo:hover .plogo-txt{color:var(--brand)}
.plogos-sm .plogo{min-height:80px}
.plogo-txt small{display:block;font-size:.6em;letter-spacing:.08em;opacity:.7;
  font-family:var(--body);font-weight:600}
/* Lahkuv sponsor: kujundus on sama, klass on ainult selleks, et
   maha võtmine oleks ühe rea kustutamine. */
.plogo-out{}
@media (min-width:600px){.plogos{grid-template-columns:repeat(3,1fr)}}
@media (min-width:900px){.plogos{grid-template-columns:repeat(6,1fr)}
  .plogos-sm{grid-template-columns:repeat(3,1fr)}}

@media (min-width:600px){
  .plogos-sm{grid-template-columns:repeat(3,1fr);max-width:560px}
}

/* ---------- social ---------- */
.social{background:var(--invert-bg);color:var(--invert-fg)}
.social-in{display:grid;gap:1.75rem;padding-block:clamp(2.5rem,6vw,3.75rem)}
.social h2{font-size:clamp(1.7rem,4.5vw,2.5rem)}
.social p{color:rgba(255,255,255,.86);max-width:46ch;margin-top:.6rem}
.social-links{display:flex;gap:.7rem;flex-wrap:wrap}
.soc{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:.6rem 1.1rem;
  font-weight:600;font-size:.9rem;transition:.15s;min-height:44px}
.soc:hover{background:#fff;color:var(--brand)}

/* ---------- jalus ---------- */
.ftr{background:var(--footer-bg);color:var(--footer-fg);border-top:1px solid var(--line);padding-block:clamp(2.5rem,6vw,4rem)}
.ftr-grid{display:grid;gap:2.25rem}
.ftr h4{font-size:1rem;letter-spacing:.06em;margin-bottom:.9rem;color:#fff}
.ftr a,.ftr p{color:var(--muted);font-size:.9rem}
.ftr a:hover{color:#fff}
.ftr ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}
.partners{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap;margin-top:.5rem}
.partners span{font-size:.8rem;color:var(--muted-2);border:1px solid var(--line);
  border-radius:6px;padding:.4rem .7rem}
.ftr-bot{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8rem;
  color:var(--muted-2)}

/* ---------- mobiili püsiriba ---------- */
.mbar{position:fixed;bottom:0;left:0;right:0;z-index:70;display:flex;gap:.5rem;
  padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));
  background:var(--mbar-bg);backdrop-filter:blur(12px);border-top:1px solid var(--line-strong)}
.mbar .btn{flex:1}
.mbar .btn-ghost{flex:0 0 52px;padding:0}
body{padding-bottom:82px}

/* ============================================================
   KLUBID — teine vaade
   ============================================================ */
/* Mockupis vahetas JS kolme vaadet ühe URL-i sees ja need kaks rida
   peitsid mitteaktiivsed. WordPressis on iga vaade oma URL, seega neid
   ei ole vaja. NB: WordPress lisab body-le klassi "page", nii et
   .page{display:none} peitis ära kogu lehe. Ei tohi tagasi tuua. */
.phead{padding-block:clamp(2.25rem,6vw,3.5rem) 0}
.crumb{font-size:.8rem;color:var(--muted-2);margin-bottom:.9rem}
.tabs{display:flex;gap:.5rem;overflow-x:auto;padding:.35rem 0 1.1rem;
  scrollbar-width:thin;-webkit-overflow-scrolling:touch;
  /* Servavarjund näitab, et rida jätkub. Ilma selleta paistab 320px ekraanil
     kaks saali viiest ja kasutaja ei tea ülejäänutest midagi. */
  mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 28px),transparent 100%);
  scroll-snap-type:x proximity}
.tab{scroll-snap-align:start}
.tabs::-webkit-scrollbar{height:4px}
.tabs::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:2px}
.tab{flex:0 0 auto;background:var(--surface);border:1px solid var(--line);border-radius:999px;
  padding:.6rem 1.15rem;font-weight:600;font-size:.9rem;cursor:pointer;color:var(--muted);
  transition:.15s;min-height:44px;white-space:nowrap}
.tab:hover{border-color:var(--line-strong);color:var(--nav-hover-fg)}
.tab[aria-selected=true]{background:var(--brand);border-color:var(--brand);color:#fff}
.filters{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;
  padding:1rem 0 1.5rem;border-top:1px solid var(--line)}
.filters b{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);
  margin-right:.3rem}
.fchip{background:none;border:1px solid var(--line);border-radius:999px;padding:.45rem .95rem;
  font-size:.85rem;font-weight:600;color:var(--muted);cursor:pointer;min-height:40px}
.fchip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}

/* Iga treeningkoht on nüüd oma lehel, seega kõik .club plokid on nähtavad. */
.club-hero{position:relative;border-radius:var(--r-lg);overflow:hidden;isolation:isolate;
  min-height:280px;display:flex;align-items:flex-end;padding:1.75rem}
.club-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.club-hero::after{content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(10,12,18,.25),rgba(10,12,18,.92))}
.club-hero h1,.club-hero h2{font-size:clamp(2rem,5.5vw,3.2rem)}
.club-hero .club-meta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.75rem;font-size:.88rem;
  color:rgba(255,255,255,.88)}
.club-cols{display:grid;gap:1.5rem;margin-top:1.5rem;min-width:0}
.club-cols>*{min-width:0}
.tbl{width:100%;border-collapse:collapse;font-size:.9rem}
.tbl caption{text-align:left;font-family:var(--display);font-size:1.3rem;text-transform:uppercase;
  padding-bottom:.85rem}
.tbl th{text-align:left;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted-2);font-weight:700;padding:.55rem .7rem;border-bottom:1px solid var(--line-strong)}
.tbl td{padding:.7rem;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tr:last-child td{border-bottom:0}
.tbl td:first-child{font-weight:600}
.tbl td:nth-child(2),.tbl td:nth-child(3){font-variant-numeric:tabular-nums;color:var(--muted)}
.badge{display:inline-block;font-size:max(.75rem,12px);font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;padding:.2rem .45rem;border-radius:4px;
  background:var(--badge-bg);color:var(--badge-fg)}
.badge.adv{background:var(--accent-soft);color:var(--accent-ink)}
.aside{display:flex;flex-direction:column;gap:1.15rem}
.pricebox{background:linear-gradient(160deg,var(--surface-2),var(--surface));
  border:1px solid var(--line-strong);border-radius:var(--r);padding:1.5rem}
.pricebox .price{font-size:2.6rem}
.pricebox ul{list-style:none;padding:0;margin:1rem 0 1.25rem;display:flex;
  flex-direction:column;gap:.5rem;font-size:.87rem;color:var(--muted)}
.pricebox li::before{content:'✓';color:var(--ok);font-weight:700;margin-right:.5rem}
.mapbox{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface)}
.mapstub{aspect-ratio:16/10;display:grid;place-items:center;gap:.4rem;text-align:center;
  background:repeating-linear-gradient(45deg,var(--map-1) 0 12px,var(--map-2) 12px 24px);color:var(--muted-2);
  font-size:.8rem}
.mapstub b{font-family:var(--display);font-size:1.1rem;color:var(--muted);text-transform:uppercase}
.mapbox .mapfoot{padding:.9rem 1.1rem;display:flex;justify-content:space-between;
  align-items:center;gap:.75rem;font-size:.85rem}
.coachmini{display:flex;gap:.75rem;align-items:center;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r);padding:.85rem 1rem}
.coachmini .av{width:42px;height:42px;border-radius:50%;flex:0 0 42px;display:grid;
  place-items:center;background:var(--badge-bg);font-family:var(--display);font-size:1rem;
  color:var(--muted)}
.coachmini b{display:block;font-size:.92rem}
.coachmini span{font-size:max(.82rem,13px);color:var(--muted-2)}

/* ---------- HINNAD ---------- */
.join{display:grid;gap:1.5rem;background:var(--invert-bg);color:var(--invert-fg);
  border:1px solid var(--on-dark-line);border-radius:var(--r-lg);padding:clamp(1.5rem,4vw,2.5rem)}
.join .price{font-size:clamp(2.8rem,8vw,4rem)}
/* Hele variant: taust on hele, seega tekst ja nupp jäävad paleti tavavärvidesse. */
.join-light{background:linear-gradient(150deg,var(--surface-2),var(--surface));
  border-color:var(--line-strong);color:var(--text)}
.join ul{list-style:none;padding:0;margin:0;display:grid;gap:.6rem;font-size:.95rem}
.join li{display:flex;gap:.6rem;align-items:flex-start}
.join li::before{content:'✓';flex:0 0 auto;font-weight:700;color:var(--ok)}
.ptable{width:100%;border-collapse:collapse;font-size:.95rem}
.ptable caption{text-align:left;font-family:var(--display);font-size:1.5rem;
  text-transform:uppercase;padding-bottom:.3rem}
.ptable th{text-align:left;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted-2);font-weight:700;padding:.6rem .8rem;
  border-bottom:1px solid var(--line-strong)}
.ptable th:not(:first-child),.ptable td:not(:first-child){text-align:right}
.ptable td{padding:.85rem .8rem;border-bottom:1px solid var(--line);vertical-align:middle}
.ptable tr:last-child td{border-bottom:0}
.ptable td:first-child{font-weight:600}
.ptable .pm{font-family:var(--display);font-size:1.5rem;line-height:1;
  font-variant-numeric:tabular-nums}
.ptable .py{font-variant-numeric:tabular-nums;color:var(--muted)}
.ptable .sub{display:block;font-size:.78rem;color:var(--muted-2);font-weight:400}
.pcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  padding:1.5rem;overflow-x:auto}
.pcard.hl{border-color:var(--accent)}
.disc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem}
.disc .tag{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ok);background:rgba(63,168,96,.16);padding:.25rem .55rem;
  border-radius:4px;margin-bottom:.8rem}
.disc h3{font-size:1.25rem;margin-bottom:.5rem}
.disc p{font-size:.9rem;color:var(--muted)}
.fees{display:grid;gap:.6rem;list-style:none;padding:0;margin:0}
.fees li{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;
  padding:.7rem 0;border-bottom:1px dashed var(--line);font-size:.93rem}
.fees li:last-child{border-bottom:0}
.fees b{font-family:var(--display);font-size:1.2rem;font-variant-numeric:tabular-nums}
.terms{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}
.terms li{position:relative;padding-left:1.6rem;font-size:.92rem;color:var(--muted)}
.terms li::before{content:'';position:absolute;left:0;top:.55rem;width:8px;height:8px;
  border-radius:50%;background:var(--brand-bright)}
.terms b{color:var(--text)}

/* ---------- mockupi märkus ---------- */
.note{background:var(--accent-soft);border:1px dashed var(--accent);
  border-radius:var(--r);padding:1rem 1.15rem;font-size:.84rem;color:var(--text);margin-top:1.5rem}
.note b{color:var(--text)}

/* ============================================================
   RESPONSIIVSUS — mobiil on vaikimisi, ülespoole laiendame
   ============================================================ */

/* Kitsal ekraanil laotame graafikutabeli ridadeks laiali.
   Nii ei teki horisontaalset kerimist ega lõigata veerge ära. */
@media (max-width:719px){
  .tbl thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .tbl caption{padding-bottom:.6rem}
  .tbl tr{display:block;padding:.9rem 0;border-bottom:1px solid var(--line)}
  .tbl tr:last-child{border-bottom:0}
  .tbl td{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
    border:0;padding:.2rem 0;text-align:right}
  .tbl td::before{content:attr(data-l);font-size:.68rem;letter-spacing:.11em;
    text-transform:uppercase;color:var(--muted-2);font-weight:700;text-align:left;flex:0 0 auto}
  .tbl td:first-child{display:block;text-align:left;font-family:var(--display);
    font-size:1.25rem;text-transform:uppercase;padding-bottom:.45rem}
  .tbl td:first-child::before{display:none}
}

@media (max-width:519px){
  /* Hinnatabel ei mahu 320px ekraanile. Peidetud horisontaalkerimise asemel
     laotame read laiali, nagu graafikutabel juba teeb. */
  .ptable thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .ptable tr{display:block;padding:.9rem 0;border-bottom:1px solid var(--line)}
  .ptable tr:last-child{border-bottom:0}
  .ptable td{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
    border:0;padding:.2rem 0;text-align:right}
  .ptable td::before{content:attr(data-l);font-size:.7rem;letter-spacing:.11em;
    text-transform:uppercase;color:var(--muted-2);font-weight:700;text-align:left}
  .ptable td:first-child{display:block;text-align:left;padding-bottom:.5rem}
  .ptable td:first-child::before{display:none}
  .pcard{overflow-x:visible}
}
@media (min-width:520px){
  .g-4{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:760px){
  .join{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(1.5rem,4vw,3rem)}
}
@media (min-width:600px){
  .g-2{grid-template-columns:repeat(2,1fr)}
  .g-3{grid-template-columns:repeat(2,1fr)}
  .hero-facts{grid-template-columns:repeat(4,1fr)}
  .mosaic{grid-template-columns:repeat(3,1fr)}
  .mosaic a:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:1}
  .social-in{grid-template-columns:1.1fr 1fr;align-items:center}
  .steps{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:900px){
  .nav{display:flex}
  .hdr-cta{display:flex}
  .burger{display:none}
  .g-3{grid-template-columns:repeat(3,1fr)}
  .g-4{grid-template-columns:repeat(4,1fr)}
  .mbar{display:none}
  body{padding-bottom:0}
  .club-cols{grid-template-columns:1.55fr .95fr}
  .ftr-grid{grid-template-columns:1.5fr 1fr 1fr 1.2fr}
  .hero-facts{max-width:820px}
  .head-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:end}
  .head-row>.btn{justify-self:end;width:max-content}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
  html{scroll-behavior:auto}
}

/* ── WPFormsi vorm meie kujunduses ─────────────────────────────────────
   Vorm elab .cform kastis, seega input/select/textarea saavad meie
   stiili juba ülalt. Siin on ainult see, mida WPForms omamoodi nimetab. */
.cform .wpforms-container{margin:0}
.cform .wpforms-container .wpforms-form{display:grid;gap:1rem}
.cform .wpforms-field{padding:0;display:grid;gap:.35rem;max-width:none}
.cform .wpforms-field-label{font-size:max(.82rem,13px);font-weight:600;color:var(--text);
  display:block;margin:0}
.cform .wpforms-required-label{color:var(--accent-ink);text-decoration:none}
.cform .wpforms-field-sublabel,.cform .wpforms-field-description{
  font-size:max(.78rem,12px);color:var(--muted-2);margin:0}
.cform .wpforms-field-medium,.cform .wpforms-field-large{max-width:none;width:100%}
.cform .wpforms-submit-container{padding:0;margin:0}
.cform button.wpforms-submit{display:inline-flex;align-items:center;justify-content:center;
  gap:.55rem;font-family:var(--display);font-size:1.05rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.03em;padding:.85rem 1.6rem;
  border-radius:var(--r-sm);border:2px solid transparent;cursor:pointer;min-height:48px;
  background:var(--cta-bg);color:var(--cta-fg);width:100%;
  transition:background .16s ease}
.cform button.wpforms-submit:hover{background:var(--cta-hover)}
.cform button.wpforms-submit:focus-visible{outline:3px solid var(--brand-bright);
  outline-offset:2px}
.cform .wpforms-error{color:#8A1B1B;font-size:max(.8rem,12px)}
.cform .wpforms-confirmation-container-full{background:var(--brand-tint);
  border:1px solid var(--brand);border-radius:var(--r-sm);padding:1rem;color:var(--text)}

/* ── WPFormsi väljade paigutus kahte veergu, nagu kinnitatud kujunduses ──
   Vorm ise on juba meie stiilis (taust, piir, raadius, font tulevad ülalt).
   Siin on ainult paigutus: lühikesed väljad kõrvuti, tekstiala ja valikud
   üle terve laiuse. Mobiilis kõik ühes veerus. */
.cform .wpforms-field-container{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.cform .wpforms-field{align-content:start}
.cform .wpforms-field-name,
.cform .wpforms-field-textarea,
.cform .wpforms-field-radio,
.cform .wpforms-field-checkbox,
.cform .wpforms-field-gdpr-checkbox{grid-column:1 / -1}
@media (max-width:620px){
  .cform .wpforms-field-container{grid-template-columns:1fr}
}
/* Turnstile'i kast vasakule ja veidi õhku ümber */
.cform .wpforms-recaptcha-container{margin:.25rem 0 0}
.cform .wpforms-recaptcha-container iframe{max-width:100%}
/* Turnstile maha võetud → tühi konteiner ei tohi vahet jätta */
.cform .wpforms-recaptcha-container:empty{display:none}

/* ── Spetsiifilisus: WPFormsi baas-CSS laeb meie omast HILJEM ────────────
   Seetõttu ei piisa `.cform .wpforms-field`, vaid vaja on ühe klassi võrra
   täpsemat valijat. WPFormsi enda reegel on
   `div.wpforms-container-full .wpforms-form .wpforms-field{padding:15px 0}`,
   mis tekitas väljade vahele 46 px õhku (15 + 16 + 15). Mõõdetud brauseris:
   selle plokiga jääb vahe 17 px ja vorm kahaneb 545 px → 431 px. */
.cform .wpforms-container .wpforms-form .wpforms-field{padding:0}
.cform .wpforms-container .wpforms-form .wpforms-field-container{gap:1.1rem}
.cform .wpforms-container .wpforms-form input,
.cform .wpforms-container .wpforms-form select,
.cform .wpforms-container .wpforms-form textarea{min-height:48px}
.cform .wpforms-container .wpforms-form textarea{min-height:120px}
.cform .wpforms-container .wpforms-form .wpforms-submit-container{padding:0;margin:0}

/* ── Vormi kinnitus pärast saatmist ─────────────────────────────────────
   Katan mõlemad klassinimed, mida WPForms eri versioonides kasutab.
   Eesmärk: teade istub kaardis tihedalt, mitte suures tühjuses. */
.cform .wpforms-confirmation-container,
.cform .wpforms-confirmation-container-full{
  background:var(--brand-tint);border:1px solid var(--brand);
  border-radius:var(--r-sm);padding:1rem 1.15rem;margin:0}
.cform .wpforms-confirmation-container p,
.cform .wpforms-confirmation-container-full p{margin:0}
.cform .wpforms-container:has(.wpforms-confirmation-container) .wpforms-form,
.cform .wpforms-container:has(.wpforms-confirmation-container-full) .wpforms-form{display:none}

/* Pärast saatmist ei ole all olevat märkust enam vaja, teade ütleb sama. */
.cform:has(.wpforms-confirmation-container) > p.small,
.cform:has(.wpforms-confirmation-container-full) > p.small{display:none}

/* ── Badge tumedal taustal ────────────────────────────────────────────────
   Tumedas kontekstis (.hero, .club-hero, .ftr jne) defineeritakse token
   --accent-ink heledaks, sest seal on tekst valge. Badge taust jääb aga
   heledaks, mistõttu tekkis helesinine tekst helesinisel taustal:
   MÕÕDETUD KONTRAST 1,20:1, WCAG nõue on 4,5:1. Siin määrame värvid otse. */
.hero .badge,.club-hero .badge,.join:not(.join-light) .badge,.on-dark .badge{
  background:#FFFFFF;color:#0B3E8F}
.hero .badge.adv,.club-hero .badge.adv,.join:not(.join-light) .badge.adv,.on-dark .badge.adv{
  background:#DCE9FD;color:#0B3E8F}

/* Treenerite grid mahutab nüüd viis kaarti, ilma orvuks jäänud reata. */
.grid.g-auto{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}

/* ── Jaluse liitude logod on nüüd lingid ────────────────────────────────
   Vanalt lehelt võetud aadressid. NB: vana leht viitas World Taekwondo
   puhul /index.html peale, mis annab nüüd 400 — kasutame puhast juurt. */
.partners a{text-decoration:none;display:inline-flex}
.ftr .partners a span{color:rgba(255,255,255,.78);transition:color .16s ease,border-color .16s ease}
.ftr .partners a:hover span,
.ftr .partners a:focus-visible span{color:#FFFFFF;border-color:rgba(255,255,255,.55)}
.partners a:focus-visible{outline:3px solid var(--brand-bright);outline-offset:3px;border-radius:999px}
