/* =========================================================================
   Nagłówek spójny z ctu.pl — wariant HEADER_VARIANT 'ctu' (tylko wdrożenie ctu.pl).
   Scope: .ctuhdr (własna przestrzeń klas — zero kolizji z css/style.css szablonu).
   Wartości marki 1:1 z tokenów redesignu ctu.pl (assets/front/css/redesign.css):
   brand #495c94 / brand-050 #eef1f8 / brand-100 #dde3f1 / accent #ffc21a.
   ========================================================================= */
.ctuhdr, .ctuhdr *, .ctuhdr *::before, .ctuhdr *::after { box-sizing: border-box; }

.ctuhdr {
  position: sticky; top: 0; z-index: 300;
  background: #fff; border-bottom: 1px solid #e7eaf1;
  font-family: 'Plus Jakarta Sans', 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
.ctuhdr__wrap {
  max-width: 1200px; margin: 0 auto; padding: 0 24px; height: 77px;
  display: flex; align-items: center; gap: 18px;
}

/* logo „zwisajace" jak na ctu.pl */
.ctuhdr__logo { flex: none; line-height: 0; }
.ctuhdr__logo img { height: 96px; width: auto; margin-bottom: -20px; position: relative; z-index: 5;
  filter: drop-shadow(0 6px 14px rgba(28,35,51,.14)); }

/* menu */
.ctuhdr__menu { display: flex; align-items: center; gap: 2px; min-width: 0; }
/* 1:1 z .rd .nav__link na ctu.pl: radius 10px (--r-sm), waga 600, padding 9x12 */
.ctuhdr__menu a {
  padding: 9px 12px; border-radius: 10px; font-weight: 600; font-size: .93rem;
  color: #4a5163; text-decoration: none; white-space: nowrap; transition: background .15s, color .15s;
}
.ctuhdr__menu a:hover { color: #495c94; background: #eef1f8; }
.ctuhdr__menu a.is-active { color: #495c94; background: #eef1f8; }

.ctuhdr__spacer { flex: 1; }

/* telefon */
.ctuhdr__phone { display: flex; align-items: center; gap: 10px; flex: none;
  color: #1c2333; font-weight: 800; text-decoration: none; }
.ctuhdr__phone-ico { width: 38px; height: 38px; display: grid; place-items: center;
  border-radius: 999px; background: #fff7e0; color: #cf9400; }
.ctuhdr__phone-txt { font-size: .95rem; line-height: 1.15; }
.ctuhdr__phone-txt small { display: block; font-size: .72rem; font-weight: 600; color: #7a8299; }

/* Zaloguj — 1:1 z .rd .btn.btn--ghost na ctu.pl (padding 14x26, waga 700, .98rem, gap 10) */
.ctuhdr__login {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; flex: none;
  padding: 14px 26px; border-radius: 999px; border: 1.5px solid #dde3f1;
  background: #fff; color: #495c94; font-weight: 700; font-size: .98rem; line-height: 1;
  text-decoration: none; white-space: nowrap;
  box-shadow: 0 1px 2px rgba(28,35,51,.06), 0 1px 3px rgba(28,35,51,.05); transition: .15s;
}
.ctuhdr__login:hover { border-color: #495c94; background: #eef1f8; }

/* burger — okragly, spojny z ctu.pl (widoczny tylko mobile) */
.ctuhdr__burger {
  display: none; flex: none; width: 42px; height: 42px;
  border: 1.5px solid #dde3f1; background: #fff; border-radius: 999px;
  align-items: center; justify-content: center; cursor: pointer; transition: .15s;
}
.ctuhdr__burger:hover { border-color: #495c94; background: #eef1f8; }
.ctuhdr__burger span, .ctuhdr__burger span::before, .ctuhdr__burger span::after {
  content: ""; display: block; width: 17px; height: 2px; background: #495c94; border-radius: 2px;
}
.ctuhdr__burger span { position: relative; }
.ctuhdr__burger span::before { position: absolute; left: 0; top: -5.5px; }
.ctuhdr__burger span::after  { position: absolute; left: 0; top: 5.5px; }

/* panel mobilny */
.ctuhdr__panel {
  border-top: 1px solid #e7eaf1; background: #fff; padding: 10px 16px 16px;
  display: flex; flex-direction: column; gap: 2px;
  box-shadow: 0 24px 40px rgba(28,35,51,.12);
}
/* FIX 2026-07-23: `display:flex` na klasie bije przegladarkowe [hidden]{display:none}
   (styl UA przegrywa z kazdym selektorem autora) -> panel byl widoczny caly czas.
   Przywracamy semantyke atrybutu hidden: */
.ctuhdr__panel[hidden] { display: none !important; }
/* pas bezpieczenstwa: na desktopie (burger ukryty) panel nigdy nie ma prawa byc widoczny */
@media (min-width: 1025px) {
  .ctuhdr__panel { display: none !important; }
}
.ctuhdr__panel a {
  padding: 13px 14px; border-radius: 12px; font-weight: 600; font-size: 1.02rem;
  color: #1c2333; text-decoration: none; transition: .15s;
}
.ctuhdr__panel a:hover, .ctuhdr__panel a.is-active { background: #eef1f8; color: #495c94; }
.ctuhdr__panel-login {
  margin-top: 8px; text-align: center; background: #495c94; color: #fff !important;
  border-radius: 999px; font-weight: 800 !important;
  box-shadow: 0 8px 22px rgba(73,92,148,.28);
}
.ctuhdr__panel-login:hover { background: #3d4f82 !important; }

/* responsywnie: jak na ctu.pl — menu znika <=1024, telefon <=900 */
@media (max-width: 1024px) {
  .ctuhdr__menu { display: none; }
  .ctuhdr__burger { display: flex; }
}
@media (max-width: 900px) {
  .ctuhdr__phone { display: none; }
}
@media (max-width: 640px) {
  .ctuhdr__wrap { height: 64px; padding: 0 16px; }
  .ctuhdr__logo img { height: 78px; margin-bottom: -16px; }
  .ctuhdr__login { padding: 9px 14px; }
}
