/* Dopracowanie mega menu: węższe, czytelne, nieprzezroczyste tło, plakietka w jednej linii z etykietą */
.mega-menu {
  width: max-content;
  min-width: 270px;
  max-width: min(340px, calc(100vw - 2rem));
  padding-top: .7rem;
}

.mega-menu__surface {
  border: 0;
  border-radius: 1.1rem;
  background: #fff;
  padding: .55rem;
  box-shadow: 0 24px 48px -12px rgba(11, 40, 20, .28), 0 4px 14px rgba(11, 40, 20, .1);
}

.mega-menu__nav-block { gap: .35rem; }

/* nagłówek panelu: dyskretny, bez "pigułki" */
.mega-menu__eyebrow {
  background: none;
  padding: .55rem .8rem .25rem;
  color: #6b7f6f;
  font-size: .7rem;
  letter-spacing: .12em;
}
.mega-menu__eyebrow::before { display: none; }

.mega-menu__menu { gap: .1rem; }

.mega-menu__menu-link {
  min-height: 2.9rem;
  gap: .75rem;
  border: 0;
  border-radius: .8rem;
  background: transparent;
  padding: .6rem .8rem;
  color: #16351c;
}
.mega-menu__menu-link:hover,
.mega-menu__menu-link:focus-visible {
  background: #f1f6ec;
  box-shadow: none;
  transform: none;
}

/* etykieta po lewej, plakietka po prawej, w jednej linii */
.mega-menu__menu-copy {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .7rem;
  flex: 1 1 auto;
}
.mega-menu__menu-label {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.25;
  white-space: nowrap;
}
.mega-menu__menu-badge {
  margin-left: auto;
  padding: .3rem .6rem;
  font-size: .68rem;
  white-space: nowrap;
}
.mega-menu__menu-badge--ticket,
.mega-menu__menu-item.is-ticket-highlight .mega-menu__menu-badge {
  background: #a1c201;
  color: #17200a;
}

/* wyróżnione "Bilety": delikatne tło zamiast ramki */
.mega-menu__menu-item.is-ticket-highlight .mega-menu__menu-link,
.mega-menu__menu-link.is-ticket-highlight {
  border: 0;
  background: #f4f9e6;
  box-shadow: none;
}
.mega-menu__menu-item.is-ticket-highlight .mega-menu__menu-label { font-weight: 700; }
.mega-menu__menu-item.is-ticket-highlight .mega-menu__menu-link:hover,
.mega-menu__menu-link.is-ticket-highlight:hover,
.mega-menu__menu-link.is-ticket-highlight:focus-visible {
  background: #ebf4d2;
  border: 0;
  box-shadow: none;
}

.mega-menu__menu-link.is-active,
.mega-menu__menu-item.is-active .mega-menu__menu-link {
  border: 0;
  background: #edf5e3;
  box-shadow: inset 3px 0 0 #63a322;
}

.mega-menu__menu-chevron { width: .9rem; height: .9rem; }

/* ===== Sticky nagłówek: pasek menu przykleja się do góry, górny pasek się przewija ===== */
header#header.header {
  position: sticky;
  top: calc(var(--topbar-h, 0px) * -1);
}
.header.is-stuck .header__main { box-shadow: 0 8px 24px -14px rgba(11, 40, 20, .35); }
.header__main { transition: box-shadow .25s ease; }

/* ===== Jednolite stany fokusu ===== */
.header .main-nav__link:focus-visible,
.header .main-nav__toggle:focus-visible,
.header .mega-menu__menu-link:focus-visible,
.header .header__menu-toggle:focus-visible,
.header .main-nav__mobile-link:focus-visible,
.header .main-nav__mobile-summary:focus-visible {
  outline: 2px solid #63a322;
  outline-offset: 2px;
  box-shadow: none;
}
.header .header__ticket:focus-visible,
.header .header__mobile-ticket-top:focus-visible { outline: 3px solid #17311e; outline-offset: 2px; }

/* ===== Płynne animacje menu: najechanie, aktywna kategoria, otwieranie paneli ===== */
.header .main-nav__surface {
  transition: background-color .22s ease, box-shadow .22s ease, color .22s ease, transform .22s cubic-bezier(.22, 1, .36, 1);
}
.header .main-nav__link,
.header .main-nav__toggle { transition: color .2s ease, background-color .2s ease; }
.header .main-nav__icon { transition: transform .28s cubic-bezier(.22, 1, .36, 1), color .2s ease; }
.header .main-nav__toggle svg { transition: transform .28s cubic-bezier(.22, 1, .36, 1); }

@media (hover: hover) {
  .header .main-nav__item:hover > .main-nav__surface:not(.is-active) { background-color: rgba(99, 163, 34, .1); }
  .header .main-nav__item:hover .main-nav__icon { transform: translateY(-1px) scale(1.12); }
}
/* otwarta kategoria: obrócona strzałka + zielone tło */
.header [data-mega-open="true"] { background-color: rgba(99, 163, 34, .14); }
.header [data-mega-open="true"] .main-nav__toggle svg { transform: rotate(180deg); }

/* aktywna sekcja strony: delikatna linia pod pozycją */
.header .main-nav__item.is-active > .main-nav__surface { position: relative; }
.header .main-nav__item.is-active > .main-nav__surface::after {
  content: '';
  position: absolute;
  left: 18%;
  right: 18%;
  bottom: 3px;
  height: 2px;
  border-radius: 2px;
  background: #63a322;
  transform-origin: center;
  animation: nav-underline .35s cubic-bezier(.22, 1, .36, 1) both;
}
@keyframes nav-underline { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* panel: pojawia się płynnie, pozycje wjeżdżają po kolei */
.mega-menu { transition: opacity .2s ease, transform .26s cubic-bezier(.22, 1, .36, 1); }
.mega-menu[data-panel-state="open"] .mega-menu__menu-item,
.mega-menu[data-panel-state="opening"] .mega-menu__menu-item { animation: mm-item .32s cubic-bezier(.22, 1, .36, 1) both; }
.mega-menu[data-panel-state] .mega-menu__menu-item:nth-child(2) { animation-delay: .03s; }
.mega-menu[data-panel-state] .mega-menu__menu-item:nth-child(3) { animation-delay: .06s; }
.mega-menu[data-panel-state] .mega-menu__menu-item:nth-child(4) { animation-delay: .09s; }
.mega-menu[data-panel-state] .mega-menu__menu-item:nth-child(5) { animation-delay: .12s; }
.mega-menu[data-panel-state] .mega-menu__menu-item:nth-child(6) { animation-delay: .15s; }
.mega-menu[data-panel-state] .mega-menu__menu-item:nth-child(n+7) { animation-delay: .18s; }
@keyframes mm-item { from { opacity: 0; transform: translate3d(0, -6px, 0); } to { opacity: 1; transform: none; } }

.mega-menu__menu-link { transition: background-color .2s ease, color .2s ease, box-shadow .2s ease, padding-left .22s cubic-bezier(.22, 1, .36, 1); }
.mega-menu__menu-link:hover, .mega-menu__menu-link:focus-visible { padding-left: 1rem; }
.mega-menu__menu-link .mega-menu__menu-chevron { opacity: .5; transition: transform .22s ease, opacity .2s ease, color .2s ease; }
.mega-menu__menu-link:hover .mega-menu__menu-chevron, .mega-menu__menu-link:focus-visible .mega-menu__menu-chevron { opacity: 1; transform: translateX(3px); }

/* przyciski w nagłówku: lekkie uniesienie i wciśnięcie */
.header .header__ticket, .header .header__mobile-ticket-top, .header .button { transition: transform .2s ease, box-shadow .25s ease, background-color .2s ease, color .2s ease; }
@media (hover: hover) {
  .header .header__ticket:hover, .header .header__mobile-ticket-top:hover { transform: translateY(-2px); }
}
.header .header__ticket:active, .header .header__mobile-ticket-top:active { transform: translateY(0) scale(.97); }

/* menu mobilne: płynne rozwijanie kategorii */
.header .main-nav__mobile-summary { transition: background-color .2s ease, color .2s ease; }
.header details[open] > .main-nav__mobile-summary { background-color: rgba(99, 163, 34, .12); }
.header details > summary svg { transition: transform .25s ease; }
.header details[open] > summary svg { transform: rotate(180deg); }

@media (prefers-reduced-motion: reduce) {
  .header *, .mega-menu, .mega-menu * { animation: none !important; transition: none !important; }
}

/* Pozycja z plakietką („Zobacz ponad 50 atrakcji” + „50+ atrakcji!”) nie może wychodzić poza panel */
.mega-menu__surface, .mega-menu__nav-block, .mega-menu__menu, .mega-menu__menu-item { min-width: 0; max-width: 100%; box-sizing: border-box; }
.mega-menu__menu-link { box-sizing: border-box; max-width: 100%; min-width: 0; }
.mega-menu__menu-copy { min-width: 0; flex-wrap: wrap; row-gap: .25rem; column-gap: .5rem; }
.mega-menu__menu-label { min-width: 0; overflow-wrap: anywhere; }
.mega-menu__menu-badge { flex: 0 0 auto; white-space: nowrap; }
.mega-menu { max-width: min(420px, calc(100vw - 2rem)); }
.mega-menu__menu-label { white-space: normal; }
.mega-menu__menu-item.is-attractions-highlight .mega-menu__menu-label, .mega-menu__menu-item.is-ticket-highlight .mega-menu__menu-label { white-space: nowrap; }
