/* Spoločné štýly pre všetky stránky webu Hádzaná Záhorie.
 Štýly špecifické pre jednu stránku zostávajú v <style> priamo v nej. */
:root{
  --blue:#173B73;
  --blue-dark:#0E2749;
  --red:#D6262C;
  --red-soft:#B23A34; /* zjemnena cervena pre bocny panel */
  --yellow:#F2B705;
  --cream:#F7F4EC;
  --ink:#161A22;
  --line:#E3DFD2;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Space Grotesk', sans-serif;
  background:#EEF2F9;
  color:var(--ink);
  line-height:1.5;
  min-height:100vh;
  display:flex; flex-direction:column;
  overflow-x:clip;
}
h1,h2,h3{
  font-family:'Archivo Black', sans-serif;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:0.01em;
}
img{max-width:100%; display:block;}
a{color:inherit;}
/* ---- NAVBAR (top, horizontal) ---- */
.navbar{
  border-bottom:3px solid var(--ink);
  background:var(--cream);
  position:sticky; top:0; z-index:100;
}
.navbar-inner{
  max-width:1200px; margin:0 auto;
  display:flex; align-items:center; justify-content:flex-start;
  padding:14px 40px; gap:16px; flex-wrap:wrap;
}
.navbar .logos{display:flex; align-items:center; gap:8px; flex-wrap:wrap; flex-shrink:0;}
.navbar .logo-item{display:flex; align-items:center; gap:5px; text-decoration:none; color:inherit;}
.navbar .logo-item img{
  width:32px; height:32px; border-radius:50%; object-fit:contain; background:#fff;
  box-shadow:0 2px 6px rgba(0,0,0,0.18);
}
.navbar .logo-item span{font-size:11px; font-weight:700; line-height:1.15; max-width:90px;}
.navbar nav{margin-left:auto;}
.navbar nav > ul{list-style:none; display:flex; align-items:center; gap:0; flex-wrap:wrap; justify-content:flex-end;}
.navbar nav > ul > li{position:relative;}
.navbar nav > ul > li > a, .navbar nav > ul > li > button.dd-btn{
  display:flex; align-items:center; gap:3px;
  padding:10px 9px; text-decoration:none; color:var(--ink); background:none; border:none;
  font-family:inherit; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:0.01em;
  cursor:pointer; border-bottom:3px solid transparent;
}
.navbar nav > ul > li > a:hover, .navbar nav > ul > li.open > button.dd-btn, .navbar nav > ul > li:hover > button.dd-btn{
  border-bottom-color:var(--red); background:rgba(214,38,44,0.05);
}
.navbar .dd-btn .car{font-size:10px; margin-left:2px;}
.navbar .dropdown-menu{
  display:none; position:absolute; top:100%; left:0; min-width:220px;
  background:#fff; border:2px solid var(--ink); box-shadow:0 8px 20px rgba(0,0,0,0.14);
  list-style:none; padding:6px 0; z-index:200;
}
.navbar li:hover > .dropdown-menu, .navbar li.open > .dropdown-menu{display:block;}
.navbar .dropdown-menu li a{
  display:block; padding:10px 16px; font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:0.02em;
  text-decoration:none; color:var(--ink);
}
.navbar .dropdown-menu li a:hover{background:rgba(214,38,44,0.06); color:var(--red);}
.navbar .nav-toggle{display:none;}
main.page{
  max-width:1500px; margin:0 auto; width:100%; padding:48px 40px; flex:1;
  display:grid; grid-template-columns:190px 1fr; gap:32px;
}
@media (max-width:1300px){
  main.page{grid-template-columns:1fr; max-width:1200px;}
  .site-sidebar{order:2; margin-top:56px;}
  .site-sidebar-inner{position:static; margin-left:0;}
  .page-content{order:1; min-width:0;}
}
@media (max-width:900px){
  .navbar-inner{padding:14px 20px;}
  .navbar .logo-item span{display:none;}
  .navbar nav{width:100%; display:none;}
  .navbar nav.open{display:block;}
  .navbar nav > ul{flex-direction:column; align-items:stretch; width:100%;}
  .navbar nav > ul > li{width:100%;}
  .navbar .dropdown-menu{position:static; border:none; box-shadow:none; display:none; padding-left:16px;}
  .navbar li.open > .dropdown-menu{display:block;}
  .navbar .nav-toggle{
    display:block; background:var(--ink); color:#fff; border:none; padding:10px 16px;
    font-family:inherit; font-weight:700; text-transform:uppercase; letter-spacing:0.03em; font-size:13px; cursor:pointer;
  }
  main.page{padding:32px 20px;}
}
/* ---- SIDEBAR (bocny panel, predtym pata) ---- */
.site-sidebar{
  background:var(--red-soft); color:#fff;
  position:relative;
}
.site-sidebar::before{
  content:'';
  position:absolute;
  top:0; bottom:0; right:100%;
  width:100vw;
  background:var(--red-soft);
}
@media (max-width:1300px){
  .site-sidebar::before{display:none;}
}
.site-sidebar-inner{
  position:sticky; top:24px; padding:26px 20px 26px 16px;
  /* Textovy obsah panelu drzime na pevnom malom odstupe od skutocneho
     okraja obrazovky, nezavisle od sirky monitora - inak by sa (kedze
     .site-sidebar sedi v mriezke vycentrovanej na max. 1500px) na
     sirokych monitoroch posuval stale dalej od okraja aj napriek tomu,
     ze cervene pozadie uz siaha az k okraju. */
  margin-left:calc(-32px - max(0px, (100vw - 1500px)/2));
}
.page-content{min-width:0;}
.footer-col h4{
  font-family:'Archivo Black', sans-serif; font-weight:400; text-transform:uppercase;
  font-size:13px; letter-spacing:0.04em; color:#fff; margin-bottom:14px;
}
.footer-col p, .footer-col a{font-size:13px; color:rgba(255,255,255,0.85); line-height:1.7;}
.footer-col a{text-decoration:none; display:block;}
.footer-col a:hover{color:#fff; text-decoration:underline;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.3); margin-top:20px; padding-top:14px;
  font-size:11px; color:rgba(255,255,255,0.75);
}
@media (max-width:900px){
  main.page{padding:32px 20px;}
}
.sponsors-band{width:100%; background:var(--cream); border-top:3px solid var(--ink);}
.sponsors-inner{max-width:1200px; margin:0 auto; padding:32px 40px 36px;}
.sponsors-label{
  font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:0.06em;
  color:#6b6455; margin-bottom:18px; text-align:center;
}
.sponsors-logos{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:20px;}
@media (max-width:640px){
  .sponsors-inner{padding:24px 20px 28px;}
}
.navbar .dropdown-menu{max-height:75vh; overflow-y:auto;}
.navbar .dropdown-menu li.dd-group{
  padding:10px 16px 2px; font-size:11px; font-weight:700; letter-spacing:0.06em;
  text-transform:uppercase; color:#8a8573;
}
.navbar .dropdown-menu li.dd-item a{padding:7px 16px 7px 28px;}
.footer-col .menu-group{
  font-size:11px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase;
  color:rgba(255,255,255,0.65); margin:10px 0 2px;
}
.footer-col a.menu-sub{padding-left:12px;}
/* ---- Bez bocneho panela: obsah na celu sirku ---- */
main.page{display:block; max-width:1500px;}
/* ---- Pätička: kontakty, haly, sociálne siete ---- */
.site-footer{background:var(--ink); color:rgba(255,255,255,0.78); font-size:13px; line-height:1.5;}
.footer-inner{max-width:1500px; margin:0 auto; padding:44px 24px 34px; display:grid; grid-template-columns:1.2fr 1fr 1fr 1.1fr; gap:36px;}
.footer-col{min-width:0;}
.footer-logos{display:flex; gap:10px; margin-bottom:14px;}
.footer-logos img{width:44px; height:44px; border-radius:50%; background:#fff; object-fit:contain; padding:2px;}
.footer-title{font-family:'Archivo Black', sans-serif; font-size:20px; text-transform:uppercase; color:#fff; margin-bottom:6px;}
.footer-brand p{max-width:300px; margin-bottom:16px;}
.footer-cta{display:inline-block; background:var(--red); color:#fff; text-decoration:none; font-weight:700; font-size:12px; text-transform:uppercase; letter-spacing:.04em; padding:11px 16px;}
.footer-cta:hover{background:#b81f25;}
.footer-h{font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#fff; padding-bottom:8px; margin-bottom:14px; border-bottom:2px solid var(--red);}
.footer-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px;}
.footer-list li{display:flex; flex-direction:column;}
.footer-list strong{color:#fff; font-weight:700;}
.site-footer a{color:rgba(255,255,255,0.78); text-decoration:none;}
.site-footer a:hover{color:#fff; text-decoration:underline;}
.footer-halls a{display:flex; flex-direction:column;}
.footer-halls a:hover{text-decoration:none;}
.footer-halls a:hover strong{text-decoration:underline;}
.footer-halls span{font-size:12px; color:rgba(255,255,255,0.6);}
.footer-social{list-style:none; margin:0 0 18px; padding:0; display:flex; flex-direction:column; gap:10px;}
.footer-social li{display:flex; align-items:center; gap:8px;}
.footer-social span{flex:1; color:#fff; font-weight:600;}
.footer-social a{width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,0.1); display:flex; align-items:center; justify-content:center;
  transition:background .15s, transform .1s cubic-bezier(.42,0,.58,1), box-shadow .15s;}
/* po prejdení myšou ikona vyskočí, zakýve sa a dostane farbu siete */
.footer-social a:hover, .footer-social a:focus-visible{transform:translateY(-5px); box-shadow:0 6px 14px rgba(0,0,0,.35);}
.footer-social a:hover svg, .footer-social a:focus-visible svg{animation:socWiggle .4s ease infinite;}
.footer-social a[href*="facebook"]:hover, .footer-social a[href*="facebook"]:focus-visible{background:#1877F2;}
.footer-social a[href*="instagram"]:hover, .footer-social a[href*="instagram"]:focus-visible{background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285AEB 90%);}
.footer-social a[href*="youtube"]:hover, .footer-social a[href*="youtube"]:focus-visible{background:#FF0000;}
@keyframes socWiggle{0%{transform:rotate(8deg);} 50%{transform:rotate(-8deg);} 100%{transform:rotate(8deg);}}
@media (prefers-reduced-motion: reduce){ .footer-social a:hover svg{animation:none;} .footer-social a:hover{transform:none;} }
.footer-social svg{width:17px; height:17px; fill:#fff;}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.12); text-align:center; font-size:12px; color:rgba(255,255,255,0.6); padding:14px 24px 18px;}
@media (max-width:1000px){ .footer-inner{grid-template-columns:1fr 1fr;} }
@media (max-width:600px){ .footer-inner{grid-template-columns:1fr; gap:28px; padding:34px 20px 26px;} }
/* ---- Partneri: rovnaké dlaždice, logá vyvážené podľa tvaru (sponsors.js), plynulé posúvanie ---- */
.sponsors-inner{max-width:1500px;}
.sponsors-logos{
  --tile-w:176px; --tile-h:84px;
  display:block; overflow:hidden; position:relative; padding:4px 0; cursor:grab; touch-action:pan-y;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);
          mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);
}
.sponsors-logos.dragging{cursor:grabbing;}
.sponsors-track{display:flex; flex-wrap:nowrap; align-items:center; gap:16px; width:max-content; will-change:transform;}
/* dlaždica: pevná veľkosť (šírka a výška vrátane okrajov), logo sa do nej vmestí */
.sponsors-track img{
  flex:0 0 auto; box-sizing:border-box; width:var(--tile-w); height:var(--tile-h); padding:14px 18px;
  object-fit:contain; background:#fff; border:1px solid var(--line);
  user-select:none; -webkit-user-drag:none; transition:border-color .15s, box-shadow .15s;
}
.sponsors-track img:hover{border-color:#cfc9b8; box-shadow:0 4px 14px rgba(22,26,34,0.08);}
@media (max-width:640px){
  .sponsors-logos{--tile-w:136px; --tile-h:68px;}
  .sponsors-track{gap:12px;}
  .sponsors-track img{padding:10px 12px;}
}
/* bez animácií: logá v mriežke, bez posúvania */
@media (prefers-reduced-motion:reduce){
  .sponsors-logos{-webkit-mask-image:none; mask-image:none; cursor:default;}
  .sponsors-track{width:auto; flex-wrap:wrap; justify-content:center;}
  .sponsors-track img[aria-hidden="true"]{display:none;}
}
/* ---- Aktualna stranka v menu (zvyraznena, ale stale zobrazena) ---- */
.navbar nav a.current, .navbar .dd-btn.current{color:var(--red);}
.navbar .dropdown-menu li a.current{color:var(--red); background:rgba(214,38,44,0.08);}
/* ---- Siroke menu: vsetky polozky v jednom riadku ---- */
.navbar-inner{max-width:1500px; padding-left:24px; padding-right:24px;}
@media (min-width:901px) and (max-width:1280px){
  .navbar nav > ul > li > a, .navbar nav > ul > li > button.dd-btn{padding:10px 5px; font-size:11px;}
  .navbar .logo-item span{max-width:70px;}
}
.dd-break{display:none;}
/* ---- PODMENU KATEGORIE NA CELU SIRKU ---- */
@media (min-width:901px){
  .navbar nav > ul > li.has-dd{position:static;}
  .navbar .dropdown-menu{
    position:absolute; left:0; right:0; top:100%; width:100%; max-height:none; overflow:visible;
    background:var(--cream); border:none; border-top:2px solid var(--red); border-bottom:3px solid var(--ink);
    box-shadow:0 10px 24px rgba(0,0,0,.12); padding:14px 24px 16px; display:none;
    flex-wrap:wrap; align-items:center; justify-content:center; gap:6px 6px;
  }
  .navbar li:hover > .dropdown-menu, .navbar li.open > .dropdown-menu{display:flex;}
  .navbar .dropdown-menu li.dd-group, .navbar .dropdown-menu li.dd-solo{
    padding:6px 4px 6px 18px; margin-left:12px; border-left:1px solid rgba(22,26,34,.25);
    font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--red);
  }
  .navbar .dropdown-menu li.dd-group:first-child{border-left:none; margin-left:0; padding-left:6px;}
  .navbar .dropdown-menu li.dd-solo{padding:0 0 0 18px;}
  .navbar .dropdown-menu li a, .navbar .dropdown-menu li.dd-item a{
    display:block; padding:7px 13px; font-size:13px; font-weight:600; border-radius:4px;
    background:rgba(22,26,34,.07); color:var(--ink);
  }
  .navbar .dropdown-menu li a:hover{background:var(--red); color:#fff;}
  .navbar .dropdown-menu li a.current{background:var(--red); color:#fff;}
  .navbar .dropdown-menu li.dd-break{display:block; flex-basis:100%; height:0; padding:0; margin:0; border:0;}
  /* varianta nad fotkou (index) */
  .navbar.on-hero .dropdown-menu{background:rgba(15,15,20,.94)!important; border-bottom:none; border-top:2px solid var(--red); box-shadow:none;}
  .navbar.on-hero .dropdown-menu li.dd-group, .navbar.on-hero .dropdown-menu li.dd-solo{color:#ff8a8f!important; border-left-color:rgba(255,255,255,.25);}
  .navbar.on-hero .dropdown-menu li a, .navbar.on-hero .dropdown-menu li.dd-item a{background:rgba(255,255,255,.1); color:#fff!important;}
  .navbar.on-hero .dropdown-menu li a:hover, .navbar.on-hero .dropdown-menu li a.current{background:var(--red)!important; color:#fff!important;}
}

/* ---- Tabuľka súťaže na stránkach kategórií (tabulka.js) ---- */
table.results.standings[hidden], .table-label[hidden]{display:none;}
table.results.standings .st-rank{width:2.5em; white-space:nowrap;}
table.results.standings .st-num{text-align:right; white-space:nowrap; width:1%; padding-left:14px;}
table.results.standings .st-pts{font-weight:700;}
table.results.standings tr.ours td{font-weight:700; background:rgba(214,38,44,0.07);}
table.results.standings tr.ours td:first-child{box-shadow:inset 3px 0 0 var(--red);}

/* ---- Rozpis zápasov na mobile: každý zápas ako karta ---- */
/* stĺpce: 1 dátum, 2 zápas, 3 čas/výsledok, 4 miesto */
@media (max-width:640px){
  .cat-table-wrap table.results:not(.standings) thead{display:none;}
  .cat-table-wrap table.results:not(.standings),
  .cat-table-wrap table.results:not(.standings) tbody{display:block;}
  .cat-table-wrap table.results:not(.standings) tr{
    display:grid; grid-template-columns:1fr auto; column-gap:12px; row-gap:3px;
    grid-template-areas:"date res" "match match" "place place";
    padding:12px 2px; border-bottom:1px solid var(--line);
  }
  .cat-table-wrap table.results:not(.standings) tr:last-child{border-bottom:none;}
  .cat-table-wrap table.results:not(.standings) td{padding:0; border:none;}
  .cat-table-wrap table.results:not(.standings) td:nth-child(1){
    grid-area:date; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; color:#6b6455;
  }
  .cat-table-wrap table.results:not(.standings) td:nth-child(2){grid-area:match; font-size:15px; font-weight:600; line-height:1.3;}
  .cat-table-wrap table.results:not(.standings) td:nth-child(3){grid-area:res; text-align:right; font-weight:700; white-space:nowrap;}
  .cat-table-wrap table.results:not(.standings) td:nth-child(4){grid-area:place; font-size:12px; color:#6b6455;}
  .cat-table-wrap table.results:not(.standings) td:nth-child(4):empty{display:none;}
}

/* ---- Logá tímov v rozpise a tabuľke ---- */
.team-logo{display:inline-block; width:20px; height:20px; object-fit:contain; vertical-align:middle; margin:-3px 6px 0 0;}
table.results .tm{white-space:nowrap;}
@media (max-width:640px){
  table.results .tm{white-space:normal;}
}

/* ---- Hlavička stránky tímu: fotka + názov + najbližší zápas ---- */
.team-head{display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:28px; align-items:stretch; margin:4px 0 8px;}
.team-head.no-photo{grid-template-columns:1fr;}
.team-head.no-photo .next-match{max-width:640px;}
.team-head-photo{margin:0; position:relative; background:#fff; border:1px solid var(--line); box-shadow:0 4px 16px rgba(22,26,34,0.10);}
.team-head-photo img{display:block; width:100%; height:100%; max-height:520px; object-fit:cover; cursor:zoom-in;}
.team-head-photo .zoom-hint{
  position:absolute; right:10px; bottom:10px; background:rgba(22,26,34,0.78); color:#fff;
  font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; padding:6px 10px; pointer-events:none;
}
.team-head-info{display:flex; flex-direction:column; gap:14px; min-width:0;}
.team-head-kicker{font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:var(--red);}
.team-head-info .page-title{margin:0; line-height:1.05;}
.team-head-jump{font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; color:var(--ink); text-decoration:none; border-bottom:2px solid var(--red); align-self:flex-start; padding-bottom:2px;}
.team-head-jump:hover{color:var(--red);}

.next-match{background:#fff; border:2px solid var(--ink); padding:18px 18px 16px; display:flex; flex-direction:column; gap:14px;}
.next-match[hidden]{display:none;}
.nm-top{display:flex; justify-content:space-between; align-items:baseline; gap:10px; flex-wrap:wrap;}
.nm-kicker{font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:#6b6455;}
.nm-when{font-family:'Archivo Black', sans-serif; font-size:15px; text-transform:uppercase; color:var(--ink);}
.nm-teams{display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; text-align:center;}
.nm-team{display:flex; flex-direction:column; align-items:center; gap:8px; min-width:0; font-weight:700; font-size:14px; line-height:1.25;}
.nm-team.ours{color:var(--ink);}
.nm-logo{width:64px; height:64px; object-fit:contain; display:block;}
.nm-initials[hidden]{display:none;}
.nm-initials{
  width:64px; height:64px; border-radius:50%; background:var(--cream); border:2px solid var(--line);
  display:flex; align-items:center; justify-content:center; font-family:'Archivo Black', sans-serif; font-size:18px; color:#6b6455;
}
.nm-vs{font-family:'Archivo Black', sans-serif; font-size:22px; color:var(--red); white-space:nowrap;}
.nm-vs.score{font-size:28px; color:var(--ink);}
.nm-vs.score.win{color:#166534;}
.nm-vs.score.loss{color:var(--red);}
.nm-where{font-size:13px; color:#5c5648; text-align:center; border-top:1px solid var(--line); padding-top:10px;}
.nm-where strong{color:var(--ink);}

@media (max-width:900px){
  .team-head{grid-template-columns:1fr; gap:18px;}
  .team-head-photo img{max-height:none; height:auto; object-fit:contain;}
  /* mobil: názov → fotka → najbližší zápas */
  .team-head{gap:0;}
  .team-head-info{display:contents;}
  .team-head-kicker{order:1; margin-bottom:6px;}
  .team-head-info .page-title{order:2; margin-bottom:16px;}
  .team-head-photo{order:3; margin-bottom:16px;}
  .next-match{order:4; margin-bottom:14px;}
  .team-head-jump{order:5;}
}
@media (max-width:640px){
  .nm-logo,.nm-initials{width:52px; height:52px;}
  .nm-team{font-size:13px;}
}

/* Text len pre vyhľadávače a čítačky obrazovky - na stránke sa nezobrazí */
.visually-hidden{
  position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important;
  overflow:hidden!important; clip:rect(0 0 0 0)!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important;
}

/* ---- Menu Kategórie: na počítači sa otvorí pri prejdení myšou ----
   Medzi tlačidlom a podmenu je "mostík", aby sa podmenu nezatvorilo pri presune myši nadol,
   a zatvára sa s malým oneskorením, aby nevadil ani šikmý pohyb myšou. */
@media (min-width:901px) and (hover:hover){
  .navbar li.has-dd > .dropdown-menu{
    display:flex; visibility:hidden; opacity:0;
    transition:opacity .15s ease .15s, visibility 0s linear .3s;
  }
  .navbar li.has-dd:hover > .dropdown-menu,
  .navbar li.has-dd.open > .dropdown-menu,
  .navbar li.has-dd:focus-within > .dropdown-menu{
    visibility:visible; opacity:1; transition-delay:0s;
  }
  .navbar li.has-dd > .dd-btn{position:relative;}
  .navbar li.has-dd > .dd-btn::after{content:""; position:absolute; left:-16px; right:-16px; top:100%; height:40px;}
}


/* ---- Farby klubov na stránkach tímov (body data-club) ----
   Záhoráci = zelená (muži, dorastenci), TJ Strojár = modrá (žiaci, chlapci mini),
   ŠKH Rohožník = červená so žltou (ženy, dorastenky, žiačky, dievčatá mini). */
body[data-club="zahoraci"]{--accent:#1E7B2E; --accent-dark:#145A21; --accent-soft:rgba(30,123,46,.10); --accent-2:#8BD100;}
body[data-club="strojar"] {--accent:#0B4F9C; --accent-dark:#083B75; --accent-soft:rgba(11,79,156,.09); --accent-2:#5B9BD5;}
body[data-club="rohoznik"]{--accent:#D6262C; --accent-dark:#A81C21; --accent-soft:rgba(214,38,44,.08); --accent-2:#F2B705;}

/* pruh pod hlavným menu vo farbe klubu */
body[data-club] .navbar{border-bottom-color:var(--accent);}
body[data-club] .navbar nav .dd-btn.current,
body[data-club] .navbar nav > ul > li.has-dd > button.dd-btn{color:var(--ink);}
body[data-club] .navbar nav > ul > li:hover > button.dd-btn,
body[data-club] .navbar nav > ul > li.open > button.dd-btn{border-bottom-color:var(--accent); background:var(--accent-soft);}
body[data-club] .navbar .dd-btn.current{color:var(--accent);}
body[data-club] .navbar .dropdown-menu li a.current{background:var(--accent); color:#fff;}

/* prepínač tímov: aktívny tím vo farbe klubu, pri každom tíme farebný prúžok jeho klubu */
body[data-club] .team-switch a{border-left-width:5px;}
body[data-club] .team-switch a[href^="muzi-"], body[data-club] .team-switch a[href$="-dorastenci.html"]{border-left-color:#1E7B2E;}
body[data-club] .team-switch a[href$="-ziaci.html"], body[data-club] .team-switch a[href="chlapci-mini.html"]{border-left-color:#0B4F9C;}
body[data-club] .team-switch a[href="zeny.html"], body[data-club] .team-switch a[href$="-dorastenky.html"],
body[data-club] .team-switch a[href*="-ziacky"], body[data-club] .team-switch a[href="dievcata-mini.html"]{border-left-color:#D6262C;}
body[data-club] .team-switch a:hover{background:var(--accent-soft); color:var(--accent-dark); border-color:var(--accent);}
body[data-club] .team-switch a.current{background:var(--accent); border-color:var(--accent); color:#fff;}

/* hlavička tímu */
body[data-club] .team-head-kicker{color:var(--accent);}
body[data-club] .team-head-jump{border-bottom-color:var(--accent);}
body[data-club] .team-head-jump:hover{color:var(--accent);}
body[data-club] .team-head-photo{border-bottom:5px solid var(--accent);}
body[data-club] .next-match{border-top:6px solid var(--accent);}
body[data-club] .nm-vs{color:var(--accent);}
body[data-club="rohoznik"] .nm-kicker{color:var(--accent-dark);}

/* rozpis a tabuľka */
body[data-club] .section-head h2{box-shadow:inset 0 -6px 0 var(--accent-soft);}
body[data-club] .phase-tabs button.active{background:var(--accent); border-color:var(--accent);}
body[data-club] .phase-tabs button:hover:not(.active){background:var(--accent-soft);}
body[data-club] table.results th{border-bottom-color:var(--accent);}
body[data-club] table.results.standings tr.ours td{background:var(--accent-soft);}
body[data-club] table.results.standings tr.ours td:first-child{box-shadow:inset 4px 0 0 var(--accent);}
body[data-club] .match-detail-link:hover{color:var(--accent); border-bottom-color:var(--accent);}

/* ---- Animácie (animacie.js): objavovanie pri posúvaní a odpočet ---- */
html.rv-on .rv{opacity:0; translate:0 18px; transition:opacity .6s ease, translate .7s cubic-bezier(.2,.8,.25,1), transform .15s;}
html.rv-on .rv.rv-in{opacity:1; translate:none;}
html.rv-on .section-head.rv h2{display:inline-block; clip-path:inset(0 100% 0 0); transition:clip-path .8s cubic-bezier(.6,0,.2,1) .1s;}
html.rv-on .section-head.rv-in h2{clip-path:inset(0 0 0 0);}
.odpocet{display:inline-flex; align-items:stretch; gap:6px;}
.od-box{display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:48px; padding:6px 6px 5px; background:var(--ink); color:#fff; border-bottom:3px solid var(--accent, var(--red)); overflow:hidden;}
.od-box[hidden]{display:none;}
.od-box b{font-family:'Archivo Black', sans-serif; font-weight:400; font-size:22px; line-height:1; font-variant-numeric:tabular-nums;}
.od-box small{font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; opacity:.7; margin-top:3px;}
.od-box.od-flip b{animation:odFlip .35s cubic-bezier(.2,.9,.3,1);}
@keyframes odFlip{from{transform:translateY(-60%); opacity:0;} to{transform:none; opacity:1;}}
.od-live{align-self:center; font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.06em; color:#fff; background:var(--accent, var(--red)); padding:6px 10px;}
.od-live[hidden]{display:none;}
.nm-countdown{display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap; padding-top:12px; border-top:1px solid var(--line);}
.nm-countdown:has(.od-past){display:none;}
.nm-countdown:has(.od-done) > span:first-child{display:none;}
.nm-countdown > span:first-child{font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:#6b6455;}
@media (prefers-reduced-motion: reduce){ .od-box.od-flip b{animation:none;} }
