
/* DVOJKA v2.1 – final polish */
html{scroll-behavior:smooth}
body{overflow-x:hidden}
img{max-width:100%}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:3px solid var(--site-accent,#f5a623);outline-offset:3px
}
.skip-link{
  position:fixed;left:12px;top:-80px;z-index:10000;background:#fff;color:#111;
  padding:10px 14px;border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.2);font-weight:800
}
.skip-link:focus{top:12px}
.site-footer-v21{
  background:#0c2034;color:#d9e4ee;margin-top:0
}
.footer-v21-inner{
  max-width:var(--site-content-width,1180px);margin:auto;padding:48px 22px 24px;
  display:grid;grid-template-columns:1.3fr .9fr .9fr;gap:38px
}
.footer-v21-brand img{width:230px;max-height:62px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1)}
.footer-v21-brand p{max-width:420px;line-height:1.6;color:#b7c5d2}
.footer-v21 h3{font-size:14px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 14px;color:#fff}
.footer-v21-links{display:grid;gap:9px}
.footer-v21 a{color:#d9e4ee;text-decoration:none}
.footer-v21 a:hover{text-decoration:underline}
.footer-v21-bottom{
  max-width:var(--site-content-width,1180px);margin:auto;border-top:1px solid rgba(255,255,255,.12);
  padding:18px 22px 26px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  color:#9fb0bf;font-size:13px
}
.breadcrumbs-v21{max-width:var(--site-content-width,1180px);margin:0 auto;padding:14px 22px;font-size:13px;color:#68788a}
.breadcrumbs-v21 a{color:inherit;text-decoration:none}
.breadcrumbs-v21 a:hover{text-decoration:underline}
.external-link::after{content:" ↗";font-size:.82em}
@media(max-width:900px){
  .footer-v21-inner{grid-template-columns:1fr 1fr}
  .footer-v21-brand{grid-column:1/-1}
}
@media(max-width:640px){
  .footer-v21-inner{grid-template-columns:1fr;padding-top:38px;gap:28px}
  .footer-v21-brand{grid-column:auto}
  .footer-v21-bottom{display:block}
  .footer-v21-bottom span{display:block;margin:5px 0}
  .utility-school{display:none!important}
  .utility-links{gap:10px!important;font-size:12px}
  .nav-wrap{padding-left:14px!important;padding-right:14px!important}
}
.error-page{min-height:100vh;background:linear-gradient(145deg,#eff7ff,#fff);display:grid;place-items:center}
.error-wrap{max-width:720px;padding:40px 24px;text-align:center}
.error-logo img{width:240px}
.error-code{font-size:clamp(90px,18vw,190px);font-weight:950;line-height:.9;color:#0b79c9;margin-top:25px}
.error-wrap h1{font-size:clamp(30px,5vw,52px);margin:20px 0 10px}
.error-wrap p{color:#607084;font-size:17px;line-height:1.6}
.error-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:28px 0}
.error-actions a{padding:13px 20px;border-radius:14px;text-decoration:none;font-weight:850}
.error-primary{background:#0b79c9;color:#fff}
.error-secondary{background:#fff;color:#173b5c;border:1px solid #dce4eb}
.error-archive{font-size:14px!important}

/* v2.1.5: only one footer */
body > footer:not(.site-footer-v21),
body > .site-footer:not(.site-footer-v21),
body > .footer:not(.site-footer-v21),
body > .footer-wrap:not(.site-footer-v21),
body > .footer-section:not(.site-footer-v21){display:none!important}

/* v3.7.35 social links — decentné v pokoji, značkové farby pri hoveri */
.footer-v21-social-wrap{margin-top:24px}
.footer-v21-social-wrap h3{margin-bottom:10px}
.footer-v21-social{display:flex;gap:10px;align-items:center}
.footer-v21-social a,.utility-social{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;text-decoration:none!important;font-weight:900;line-height:1;transition:transform .18s ease,background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;overflow:hidden}
.footer-v21-social a{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.9)}
.footer-v21-social a:hover{transform:translateY(-2px);color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.footer-v21-social .social-fb:hover{background:#1877f2;border-color:#1877f2}
.footer-v21-social .social-ig:hover{background:linear-gradient(135deg,#833ab4 0%,#c13584 35%,#e1306c 58%,#f77737 78%,#fcaf45 100%);border-color:rgba(255,255,255,.28)}
.footer-v21-social .social-yt:hover{background:#ff0000;border-color:#ff0000}
.footer-v21-social .social-fb span,.utility-social.social-fb span{font-family:Arial,sans-serif;font-size:22px}
.footer-v21-social .social-ig span,.utility-social.social-ig span{font-size:23px}
.footer-v21-social .social-yt span,.utility-social.social-yt span{font-size:17px}
.utility-socials{display:inline-flex;align-items:center;gap:6px;margin-left:4px}
.utility-social{width:30px;height:30px;border-radius:10px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.10);color:rgba(196,219,236,.48)!important}
.utility-social:hover{transform:translateY(-1px) scale(1.04);text-decoration:none!important;color:#fff!important}
.utility-social.social-fb:hover{background:#1877f2;border-color:#1877f2;box-shadow:0 0 0 3px rgba(24,119,242,.15),0 5px 16px rgba(24,119,242,.28)}
.utility-social.social-ig:hover{background:linear-gradient(135deg,#833ab4 0%,#c13584 35%,#e1306c 58%,#f77737 78%,#fcaf45 100%);border-color:rgba(255,255,255,.24);box-shadow:0 0 0 3px rgba(225,48,108,.12),0 5px 16px rgba(193,53,132,.25)}
.utility-social.social-yt:hover{background:#ff0000;border-color:#ff0000;box-shadow:0 0 0 3px rgba(255,0,0,.12),0 5px 16px rgba(255,0,0,.24)}
@media(max-width:640px){.utility-socials{display:none!important}.footer-v21-social-wrap{margin-top:20px}}


/* v3.7.35 — robustný variant B pre sociálne ikony.
   Vyššia špecificita zámerne prekoná staršie utility-bar pravidlá. */
body .utility-bar .utility-links .utility-socials{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  margin-left:6px!important;
}
body .utility-bar .utility-links a.utility-social{
  position:relative!important;
  display:inline-grid!important;
  place-items:center!important;
  width:31px!important;
  height:31px!important;
  min-width:31px!important;
  padding:0!important;
  margin:0!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.035)!important;
  border:1px solid rgba(151,192,220,.13)!important;
  color:rgba(169,203,225,.52)!important;
  opacity:1!important;
  text-shadow:none!important;
  transform:translateY(0) scale(1)!important;
  box-shadow:none!important;
  transition:transform .18s ease,background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease!important;
}
body .utility-bar .utility-links a.utility-social:hover{
  color:#fff!important;
  opacity:1!important;
  transform:translateY(-2px) scale(1.08)!important;
  text-shadow:none!important;
}
body .utility-bar .utility-links a.utility-social.social-fb:hover{
  background:#1877f2!important;
  border-color:#4c98f5!important;
  box-shadow:0 0 0 3px rgba(24,119,242,.16),0 7px 18px rgba(24,119,242,.38)!important;
}
body .utility-bar .utility-links a.utility-social.social-ig:hover{
  background:linear-gradient(135deg,#833ab4 0%,#c13584 32%,#e1306c 55%,#f77737 78%,#fcaf45 100%)!important;
  border-color:rgba(255,255,255,.34)!important;
  box-shadow:0 0 0 3px rgba(225,48,108,.14),0 7px 18px rgba(193,53,132,.34)!important;
}
body .utility-bar .utility-links a.utility-social.social-yt:hover{
  background:#ff0033!important;
  border-color:#ff4769!important;
  box-shadow:0 0 0 3px rgba(255,0,51,.14),0 7px 18px rgba(255,0,51,.34)!important;
}
body .utility-bar .utility-links a.utility-social.social-fb span{font:bold 21px/1 Arial,sans-serif!important;transform:translateY(1px)}
body .utility-bar .utility-links a.utility-social.social-ig span{font:700 22px/1 Arial,sans-serif!important}
body .utility-bar .utility-links a.utility-social.social-yt span{font:700 15px/1 Arial,sans-serif!important;transform:translateX(1px)}

/* Footer používa rovnakú logiku: pokojný stav, značkové farby pri hoveri. */
.footer-v21-social a.social-fb:hover{background:#1877f2!important;border-color:#4c98f5!important;box-shadow:0 8px 22px rgba(24,119,242,.30)!important}
.footer-v21-social a.social-ig:hover{background:linear-gradient(135deg,#833ab4 0%,#c13584 32%,#e1306c 55%,#f77737 78%,#fcaf45 100%)!important;border-color:rgba(255,255,255,.3)!important;box-shadow:0 8px 22px rgba(193,53,132,.28)!important}
.footer-v21-social a.social-yt:hover{background:#ff0033!important;border-color:#ff4769!important;box-shadow:0 8px 22px rgba(255,0,51,.28)!important}
@media(max-width:640px){body .utility-bar .utility-links .utility-socials{display:none!important}}


/* v3.7.35 — priame telefónne kontakty v menu Kontakt */
.mega-links-contact{display:block!important}
.mega-links-contact>a:first-child{max-width:100%;font-weight:800}
.mega-contact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin-top:12px}
.mega-contact-item{position:relative;display:grid!important;grid-template-columns:1fr auto;column-gap:10px;align-items:center;padding:10px 12px!important;border:1px solid #e7edf2!important;border-radius:12px;background:#f8fafc;color:#142033!important;min-height:68px;text-decoration:none!important;transition:.18s ease}
.mega-contact-item:not(.is-empty):hover{background:#fff;border-color:#cbdbe8!important;box-shadow:0 8px 22px rgba(12,39,62,.08);transform:translateY(-1px)}
.mega-contact-item.is-empty{opacity:.74}
.mega-contact-role{grid-column:1;font-size:11px;font-weight:800;color:#102033!important}
.mega-contact-name{grid-column:1;font-size:10px;color:#657488;line-height:1.25}
.mega-contact-phone{grid-column:1;font-size:11px;color:#0b6f8a;font-weight:800;margin-top:2px}
.mega-contact-call{grid-column:2;grid-row:1/4;display:grid!important;place-items:center;width:30px;height:30px;border-radius:999px;background:#e8f6fa;color:#087c99!important;font-size:13px}
@media(max-width:980px){
  .mega-contact-list{grid-template-columns:1fr;margin:8px 8px 10px;gap:6px}
  .mega-contact-item{background:#ffffff0b!important;border-color:#ffffff18!important;color:#fff!important;min-height:58px}
  .mega-contact-role{color:#fff!important}
  .mega-contact-name{color:#b9c9d7!important}
  .mega-contact-phone{color:#7dd9ef!important}
  .mega-contact-item.is-empty{opacity:.68}
}


/* v3.7.35 — telefónna ústredňa v menu Kontakt */
.mega-contact-mainline{display:grid!important;gap:2px;margin-top:10px;padding:11px 13px!important;border-radius:13px;background:linear-gradient(135deg,#eaf8fb,#f7fcfd)!important;border:1px solid #cfe8ee!important;text-decoration:none!important;color:#123044!important}.mega-contact-mainline span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#5d7486}.mega-contact-mainline strong{font-size:15px;color:#087b98}.mega-contact-mainline small{font-size:10px;color:#66778a}.mega-contact-phone{letter-spacing:.01em}.mega-contact-call{font-size:14px}
@media(max-width:980px){.mega-contact-mainline{margin:8px;background:#ffffff10!important;border-color:#ffffff20!important;color:#fff!important}.mega-contact-mainline span,.mega-contact-mainline small{color:#b9c9d7!important}.mega-contact-mainline strong{color:#7dd9ef!important}}
