/* Shared public header and footer. */

    /* New mascot logo: keep the complete 3:1 artwork visible at every size. */
    body.site-branded .site-header {
      background: #080f1d !important;
      border-bottom: 1px solid rgba(34, 211, 238, 0.22) !important;
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
    }
    body.site-branded .site-header .header-inner {
      width: min(1480px, calc(100% - 2rem)) !important;
      min-height: 0 !important;
      padding: 6px 0 !important;
      gap: 1.5rem !important;
    }
    body.site-branded .site-header .brand-wide {
      flex: 0 1 620px;
      min-width: 0;
    }
    body.site-branded .site-header .brand-logo-wide {
      width: 100% !important;
      height: auto !important;
      max-height: none !important;
      max-width: 620px !important;
      aspect-ratio: 3 / 1;
      object-fit: contain !important;
      display: block !important;
    }
    body.site-branded .site-header .nav {
      flex-shrink: 0;
      gap: 0.5rem !important;
    }
    body.site-branded .site-header .nav > a,
    body.site-branded .site-header .nav .nav-drop-btn {
      font-size: 0.95rem !important;
      letter-spacing: 0 !important;
      color: #dce7f5 !important;
      padding: 0.65rem 0.65rem !important;
    }
    body.site-branded .site-header .nav > a:hover,
    body.site-branded .site-header .nav .nav-drop-btn:hover {
      color: #67e8f9 !important;
      background: rgba(34, 211, 238, 0.07) !important;
      box-shadow: none !important;
    }
    body.site-branded .site-header .nav > a[href="#kontakt"] {
      border: 1px solid rgba(34, 211, 238, 0.4) !important;
      color: #a5f3fc !important;
      margin-left: 0.5rem;
    }
    body.site-branded .site-header .nav a:focus-visible,
    body.site-branded .site-header button:focus-visible,
    body.site-branded .site-header .brand-wide:focus-visible {
      outline: 2px solid #67e8f9 !important;
      outline-offset: 4px !important;
    }
    @media (min-width: 901px) and (max-width: 1100px) {
      body.site-branded .site-header .nav {
        gap: 0.75rem !important;
        padding-inline: 0 !important;
        letter-spacing: 0 !important;
      }
      body.site-branded .site-header .nav > a,
      body.site-branded .site-header .nav .nav-drop-btn {
        font-size: 0.95rem !important;
      }
    }
    @media (max-width: 900px) {
      body.site-branded .site-header .brand-wide {
        flex: 0 1 460px;
      }
      body.site-branded .site-header .nav-toggle {
        flex: 0 0 44px;
        width: 44px;
        min-height: 44px;
        border-color: rgba(34, 211, 238, 0.35) !important;
        background: rgba(34, 211, 238, 0.05) !important;
      }
      body.site-branded .site-header .header-inner {
        padding: 8px 0 !important;
        gap: 1rem !important;
      }
    }
  

body.site-branded .site-footer.footer-enhanced.footer-variant-premium {
  background: #080f1d !important;
  border-top: 1px solid #285065;
  box-shadow: none;
}
body.site-branded .site-footer.footer-enhanced .footer-brand::before {
  content: none !important;
  display: none !important;
}
body.site-branded .site-footer .footer-mascot {
  display: block;
  width: min(100%, 160px);
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  border-radius: 16px;
  border: 0;
  margin-bottom: 0;
}
body.site-branded .site-footer .footer-brand h2 {
  display: block !important;
}
body.site-branded .site-footer .container {
  width: min(1280px, calc(100% - 3rem)) !important;
  box-sizing: border-box;
}
body.site-branded .site-footer.footer-enhanced.footer-variant-premium {
  padding-top: 2rem !important;
}
body.site-branded .site-footer.footer-enhanced.footer-variant-premium .footer-grid {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.2fr) minmax(0, 0.8fr) minmax(0, 0.8fr) !important;
  gap: 2rem !important;
  padding: 0 !important;
  margin-bottom: 1.75rem !important;
}
body.site-branded .site-footer.footer-enhanced.footer-variant-premium .footer-grid > section {
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  overflow-wrap: anywhere;
}
body.site-branded .site-footer.footer-enhanced.footer-variant-premium .footer-grid > section::before {
  content: none !important;
}
body.site-branded .site-footer.footer-enhanced .footer-cta {
  margin-top: 1rem;
}
body.site-branded .site-footer.footer-enhanced .footer-cta .btn {
  max-width: 100%;
  box-sizing: border-box;
  white-space: normal;
  text-align: center;
  padding: 0.6rem 0.8rem !important;
}
body.site-branded .site-footer.footer-enhanced .footer-bottom {
  padding: 1rem 0 !important;
}
@media (max-width: 1000px) {
  body.site-branded .site-footer.footer-enhanced.footer-variant-premium .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 600px) {
  body.site-branded .site-footer.footer-enhanced.footer-variant-premium .footer-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.75rem !important;
  }
}

/* Public-page consistency and narrow viewport safeguards. */
body.site-branded { --accent-cyan: #55dff5; --text-muted: #afc0d2; }
body.site-branded .site-header { position: relative !important; }
body.site-branded .site-header a[aria-current="page"] { color: #a5f3fc !important; background: #102c40 !important; }
body.site-branded .site-header .mobile-nav { max-height: 75vh; max-height: 75dvh; overflow-y: auto; }
body.site-branded :is(a, button, input, textarea, select, summary, [tabindex="0"]):focus-visible { outline: 2px solid #67e8f9 !important; outline-offset: 3px !important; }
body.site-branded :is(.compare-table-wrap, .server-order-grid, .server-order-form, .page-shell, .hero-content) { min-width: 0; max-width: 100%; box-sizing: border-box; }
body.site-branded .compare-table-wrap { overflow-x: auto; }
body.site-branded .server-order-field :is(input, select, textarea) { max-width: 100%; box-sizing: border-box; font-size: 1rem; }
body.site-branded:not(.brand-theme) main .container { width: min(1280px, calc(100% - 2rem)) !important; }
body.site-branded:not(.brand-theme) main .hero h1 { font-size: clamp(2rem, 4vw, 3.2rem) !important; line-height: 1.15; }
body.site-branded:not(.brand-theme) main .hero p { font-size: clamp(1rem, 2vw, 1.2rem) !important; line-height: 1.65; }
body.site-branded .site-footer a { overflow-wrap: anywhere; }
@media (max-width: 600px) {
  body.site-branded .server-order-form-row { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body.site-branded *, body.site-branded *::before, body.site-branded *::after { animation: none !important; transition: none !important; }
}
