/* ==========================================================================
   bowling.be — shared styles (landing page + national results)
   ========================================================================== */
:root{
  --ink:#141414;--text:#3A3A3A;--muted:#5A5A5A;
  --paper:#F4F2EC;--soft:#F4F4F2;--card:#ffffff;--line:#E2E2DE;
  --red:#C8102E;--red-dark:#8F0B21;--flag-red:#EF3340;--yellow:#FDDA24;--gold:#D2A000;
  --pill:#EEEAE1;--pill-text:#666;
  --shadow:0 1px 2px rgba(0,0,0,.04),0 12px 32px rgba(0,0,0,.06);
  --font:'Barlow','Helvetica Neue',Arial,sans-serif;
  --font-cond:'Barlow Condensed','Arial Narrow',Arial,sans-serif;
  --header-h:88px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:calc(var(--header-h) + 16px)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
img{max-width:100%}
button{font:inherit}
a{color:var(--red)}a:hover{color:var(--red-dark)}
.hidden{display:none!important}
[data-lang-block][hidden]{display:none!important}

/* ---------- header (tricolour stripe on top) ---------- */
.topbar{
  flex-shrink:0;height:var(--header-h);padding:6px 32px 0;
  background:linear-gradient(to right,#141414 0 33.333%,var(--yellow) 33.333% 66.666%,var(--flag-red) 66.666%) top/100% 6px no-repeat,#fff;
  border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  position:sticky;top:0;z-index:50
}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);min-width:0}
.brand:hover{color:var(--ink)}
.brand img{width:62px;height:62px;object-fit:contain}
.brand div{display:flex;flex-direction:column;min-width:0}
.brand strong{font:800 16px Georgia,serif;letter-spacing:.08em}
.brand-full{font-weight:600;letter-spacing:.02em}
.brand #siteTitle{font-size:13px;color:var(--muted)}
.topbar-end{display:flex;align-items:center;gap:20px;flex-shrink:0}
.mainnav{display:flex;align-items:center;gap:2px;font-weight:600;font-size:15px}
.mainnav a{color:var(--ink);text-decoration:none;padding:10px 12px;border-radius:8px}
.mainnav a:hover{color:var(--red)}
.mainnav a[aria-current="page"]{color:var(--red);box-shadow:inset 0 -3px var(--red);border-radius:0}
.mainnav .nav-cta{background:var(--ink);color:#fff;padding:10px 18px;border-radius:999px;margin-left:8px}
.mainnav .nav-cta:hover{color:#fff;opacity:.88}
.languages{display:flex;background:var(--pill);padding:4px;border-radius:99px}
.languages button{border:0;background:transparent;border-radius:99px;padding:8px 13px;font-size:12px;font-weight:800;cursor:pointer;color:var(--pill-text)}
.languages button.active{background:var(--ink);color:#fff}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:600;font-size:16px;padding:15px 26px;border-radius:999px;line-height:1.2}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{color:#fff;filter:brightness(.92)}
.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{color:#fff;opacity:.9}
.btn-line{background:#fff;color:var(--ink);border:1.5px solid var(--ink);padding:13.5px 24.5px}.btn-line:hover{color:var(--ink);background:var(--soft)}
.btn-yellow{background:var(--yellow);color:#141414;font-weight:700;font-size:17px;padding:16px 30px}.btn-yellow:hover{color:#141414;filter:brightness(.95)}

/* ---------- footer ---------- */
.footer{flex-shrink:0;background:#fff;border-top:1px solid var(--line);padding:18px 32px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px 24px;font-size:13px;color:var(--muted);position:relative}
.footer::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(to right,#141414 0 33.333%,var(--yellow) 33.333% 66.666%,var(--flag-red) 66.666%)}
.footer-address{text-align:center}
.footer a{justify-self:end;color:var(--ink);font-weight:700;text-decoration:none}
.footer a:hover{color:var(--red);text-decoration:underline}

@media(max-width:1100px){
  .mainnav a:not(.nav-cta){padding:10px 8px}
  .footer{grid-template-columns:1fr;text-align:center}.footer a{justify-self:center}
}
@media(max-width:800px){
  :root{--header-h:72px}
  .topbar{padding:6px 14px 0}
  .brand{margin-right:auto}
  .brand img{width:48px;height:48px}
  .brand #siteTitle,.brand-full,.mainnav{display:none}
  .footer{padding:16px 16px 20px}
}

/* ---------- footer end + cookie settings link ---------- */
.footer-end{justify-self:end;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px}
.footer .footer-link{border:0;font-weight:400;background:none;padding:0;font:inherit;font-size:13px;color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.footer .footer-link:hover{color:var(--red)}
@media(max-width:1100px){.footer-end{justify-self:center;justify-content:center}}

/* ---------- cookie consent banner ---------- */
.cc{position:fixed;z-index:100;left:16px;right:16px;bottom:16px;margin:0 auto;max-width:720px;max-height:calc(100dvh - 32px);overflow:auto;
  background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:18px;padding:30px 28px 24px;
  box-shadow:0 20px 60px rgba(0,0,0,.22);
  background-image:linear-gradient(to right,#141414 0 33.333%,var(--yellow) 33.333% 66.666%,var(--flag-red) 66.666%);background-size:100% 5px;background-repeat:no-repeat}
.cc[hidden]{display:none}
.cc-title{margin:0 0 8px;font:700 26px/1.1 var(--font-cond);text-transform:uppercase}
.cc-text{margin:0;font-size:15px;line-height:1.55;color:var(--text)}
.cc-prefs{margin-top:18px;border:1px solid var(--line);border-radius:12px}
.cc-prefs[hidden]{display:none}
.cc-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;cursor:pointer}
.cc-row+.cc-row{border-top:1px solid var(--line)}
.cc-row strong{font-size:15px}
.cc-row p{margin:3px 0 0;font-size:13px;line-height:1.45;color:var(--muted)}
.cc-always{flex-shrink:0;font-size:12px;font-weight:700;color:#17843b;white-space:nowrap}
.cc-switch{appearance:none;-webkit-appearance:none;flex-shrink:0;width:46px;height:26px;border-radius:99px;background:#cfccc4;position:relative;cursor:pointer;margin:0;transition:background .2s}
.cc-switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}
.cc-switch:checked{background:var(--ink)}
.cc-switch:checked::after{transform:translateX(20px)}
.cc-switch:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.cc-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:22px}
.cc-btn{border-radius:999px;padding:12px 22px;font-weight:700;font-size:15px;cursor:pointer;line-height:1.2}
.cc-btn[hidden]{display:none}
.cc-solid{background:var(--ink);color:#fff;border:1.5px solid var(--ink)}
.cc-solid:hover{opacity:.88}
.cc-line{background:#fff;color:var(--ink);border:1.5px solid var(--ink);margin-right:auto}
.cc-line:hover{background:var(--soft)}
.cc-btn:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
@media(max-width:560px){
  .cc{left:8px;right:8px;bottom:8px;padding:24px 18px 18px;border-radius:16px}
  .cc-actions{flex-direction:column-reverse}
  .cc-btn{width:100%;margin:0}
}
.cc-text a{color:var(--ink);font-weight:700}
.cc-text a:hover{color:var(--red)}
