/* Header + hero for bwg. Extracted from the reference design (starabrama) runtime.css; scoped to #header / .home-hero. */

@font-face {
    font-family: "Onest Variable";
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url("/fonts/public/onest-cyrillic-ext-wght-normal.woff2") format("woff2-variations");
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
    font-family: "Onest Variable";
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url("/fonts/public/onest-cyrillic-wght-normal.woff2") format("woff2-variations");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
    font-family: "Onest Variable";
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url("/fonts/public/onest-latin-ext-wght-normal.woff2") format("woff2-variations");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Onest Variable";
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url("/fonts/public/onest-latin-wght-normal.woff2") format("woff2-variations");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Unbounded Variable";
    font-style: normal;
    font-display: swap;
    font-weight: 200 900;
    src: url("/fonts/public/unbounded-cyrillic-ext-wght-normal.woff2") format("woff2-variations");
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
    font-family: "Unbounded Variable";
    font-style: normal;
    font-display: swap;
    font-weight: 200 900;
    src: url("/fonts/public/unbounded-cyrillic-wght-normal.woff2") format("woff2-variations");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
    font-family: "Unbounded Variable";
    font-style: normal;
    font-display: swap;
    font-weight: 200 900;
    src: url("/fonts/public/unbounded-latin-ext-wght-normal.woff2") format("woff2-variations");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Unbounded Variable";
    font-style: normal;
    font-display: swap;
    font-weight: 200 900;
    src: url("/fonts/public/unbounded-latin-wght-normal.woff2") format("woff2-variations");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:where(#header, #hero, .home-hero, .site-footer, .location-map-layout, .home-media-layout, .home-panel, .home-news-grid, .widget-accordion, .section-header-action, .home-review-grid, .home-section__controls, .cms-section__header-actions) {
  --ui-radius-xs: 10px;
  --ui-radius-sm: 14px;
  --ui-radius-md: 18px;
  --ui-radius-lg: 24px;
  --font-family-body: "Onest Variable", "Onest", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-family-display: "Unbounded Variable", "Unbounded", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-weight-regular: 400;
  --font-weight-medium: 450;
  --font-weight-semibold: 650;
  --font-weight-bold: 700;
  --font-weight-extrabold: 820;
  --font-heading: var(--font-family-body);
  --font-body: var(--font-family-body);
  --font-display: var(--font-family-display);
  --color-forest-950: #0c3a1f;
  --color-forest-900: #16361e;
  --color-forest-700: #2d5638;
  --color-forest-600: #456b4b;
  --color-leaf-500: #63a425;
  --color-leaf-accessible: #6aab2a;
  --color-sage-300: #a5c899;
  --color-sage-100: #e2ebdd;
  --color-cream-200: #f6f0e2;
  --color-cream-50: #fbf9f4;
  --color-gold-500: #dbb128;
  --color-white: #ffffff;
  --color-primary-deep: var(--color-forest-950);
  --color-primary-strong: var(--color-forest-900);
  --color-primary: var(--color-forest-700);
  --color-primary-soft: var(--color-forest-600);
  --color-primary-vivid: var(--color-leaf-500);
  --color-accent: var(--color-leaf-500);
  --color-surface: var(--color-white);
  --color-surface-soft: var(--color-cream-50);
  --color-surface-cream: var(--color-cream-200);
  --color-surface-green: var(--color-sage-100);
  --color-surface-dark: var(--color-forest-700);
  --color-surface-deep: var(--color-forest-950);
  --color-surface-paper: var(--color-surface-soft);
  --color-surface-warm: var(--color-surface-cream);
  --color-text-heading: var(--color-forest-900);
  --color-text-primary: #334038;
  --color-text-muted: #5f6b62;
  --color-text-soft: #788179;
  --color-text: var(--color-text-primary);
  --color-text-inverse: var(--color-white);
  --color-text-on-dark: var(--color-white);
  --color-border-subtle: #dde5d9;
  --color-border-strong: #c8d5c3;
  --color-border-accent: var(--color-sage-300);
  --color-border: var(--color-border-subtle);
  --color-action-primary: var(--color-forest-700);
  --color-action-primary-hover: var(--color-forest-900);
  --color-action-primary-text: var(--color-white);
  --color-action-accent: var(--color-leaf-accessible);
  --color-action-accent-hover: #75b532;
  --color-action-accent-text: var(--color-forest-900);
  --color-link: var(--color-forest-700);
  --color-link-hover: var(--color-forest-900);
  --color-focus-ring: var(--color-forest-600);
  --color-focus-offset: var(--color-white);
  --section-heading-color: #16361e;
  --section-subtitle-color: #5f6b62;
  --section-heading-size: clamp(2.5rem, 4vw, 4.75rem);
  --section-subtitle-size: clamp(1.125rem, 1.4vw, 1.5rem);
  --section-heading-max-width: 16ch;
  --section-subtitle-max-width: 48ch;
  --section-header-gap: clamp(1rem, 1.75vw, 1.5rem);
  --section-header-spacing: clamp(2rem, 4vw, 4rem);
  --section-accent-color: #63a425;
  --card-background: var(--color-surface);
  --card-border-color: var(--color-border-subtle);
  --card-shadow: 0 18px 42px rgb(22 54 30 / 8%),
        0 2px 8px rgb(22 54 30 / 4%);
  --site-max-width: 118.75rem;
  --site-gutter: clamp(1rem, 3vw, 2rem);
  --site-shell-width: min(calc(100% - (2 * var(--site-gutter))), var(--site-max-width));
  --shell-max-width: var(--site-max-width);
  --shell-gutter: var(--site-gutter);
  --shell-gutter-sm: clamp(0.875rem, 2vw, 1.25rem);
  --shell-gutter-lg: clamp(1.5rem, 3vw, 2.5rem);
  --home-section-space: clamp(3.75rem, 7vw, 6.5rem);
  --home-panel-radius: clamp(1.4rem, 3vw, 2.3rem);
  --home-card-radius: 1.5rem;
  --home-surface-base: rgba(255, 255, 255, 0.94);
  --home-surface-muted: linear-gradient(180deg, rgba(251, 250, 243, 0.98), rgba(245, 248, 242, 0.94));
  --home-surface-tint: linear-gradient(180deg, rgba(241, 247, 237, 0.98), rgba(255, 255, 255, 0.96));
  --home-border-soft: rgba(22, 54, 30, 0.1);
  --home-border-strong: rgba(99, 163, 34, 0.18);
  --home-shadow-soft: 0 26px 60px -46px rgba(11, 57, 30, 0.34);
  --home-shadow-strong: 0 34px 76px -50px rgba(11, 57, 30, 0.42);
  --home-inner-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
  --public-front-max: var(--site-max-width);
  --header-max-width: var(--site-max-width);
  --header-side-padding: var(--site-gutter);
  --header-brand-offset: 14rem;
}

:root { --site-header-h: 0px; }

:where(#header, #hero, .home-hero, .site-footer, .location-map-layout, .home-media-layout, .home-panel, .home-news-grid, .widget-accordion, .section-header-action, .home-review-grid, .home-section__controls, .cms-section__header-actions) {
  font-family: var(--font-body);
  font-optical-sizing: auto;
  font-weight: var(--font-weight-regular);
  color: var(--color-text-primary);
}

.header,
.home-hero {
    box-sizing: border-box;
}

.header *,
.home-hero * {
    box-sizing: border-box;
}

.page-slug-gastronomia .cms-section--variant-gastronomy_landing .hero-slide__action {
    display: inline-flex;
    min-height: 3.35rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.9rem 1.35rem;
    border-radius: 999px;
    font-family: var(--font-family-body);
    font-size: 0.95rem;
    font-weight: var(--font-weight-bold);
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 18px 30px -22px rgba(0, 0, 0, 0.45);
    transition: transform 180ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.page-slug-gastronomia .cms-section--variant-gastronomy_landing .hero-slide__action:hover,
.page-slug-gastronomia .cms-section--variant-gastronomy_landing .hero-slide__action:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 22px 34px -24px rgba(0, 0, 0, 0.5);
}

.page-slug-gastronomia .cms-section--variant-gastronomy_landing .hero-slide__action--primary {
    border: 1px solid #63a322;
    background: #63a322;
    color: #ffffff;
}

.page-slug-gastronomia .cms-section--variant-gastronomy_landing .hero-slide__action--primary:hover,
.page-slug-gastronomia .cms-section--variant-gastronomy_landing .hero-slide__action--primary:focus-visible {
    border-color: #558f1d;
    background: #558f1d;
    color: #ffffff;
}

.header {
    position: relative;
    z-index: 200;
    overflow: visible;
    font-family: var(--font-heading);
}

.header [hidden] {
    display: none !important;
}

.header details summary::-webkit-details-marker {
    display: none;
}

:where(#header) .button,
.main-nav__link,
.main-nav__toggle,
.topbar__link,
.topbar__language-button,
.topbar__language-option,
.main-nav__mobile-link,
.main-nav__mobile-sublink,
.main-nav__mobile-direct-link,
.header__brand-panel,
.main-nav__mobile-summary {
    outline: none;
}

:where(#header) .button:focus-visible,
.main-nav__link:focus-visible,
.main-nav__toggle:focus-visible,
.topbar__link:focus-visible,
.topbar__language-button:focus-visible,
.topbar__language-option:focus-visible,
.main-nav__mobile-link:focus-visible,
.main-nav__mobile-sublink:focus-visible,
.main-nav__mobile-direct-link:focus-visible,
.header__brand-panel:focus-visible,
.main-nav__mobile-summary:focus-visible {
    outline: 3px solid var(--color-focus-ring);
    outline-offset: 3px;
    box-shadow: 0 0 0 3px rgb(69 107 75 / 14%);
}

.topbar {
    position: relative;
    z-index: 300;
    overflow: visible;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background: var(--color-primary-strong);
    color: rgba(255, 255, 255, 0.92);
}

.topbar__container,
.header__container {
    width: var(--site-shell-width);
    margin-inline: auto;
    padding-inline: 0;
}

.topbar__container {
    position: relative;
    z-index: 165;
    display: flex;
    min-height: 3.25rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    overflow: visible;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.topbar__info {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.9rem;
    color: rgba(255, 255, 255, 0.82);
}

.topbar__item,
.topbar__weather,
.topbar__forecast,
.topbar__actions {
    display: inline-flex;
    align-items: center;
}

.topbar__item,
.topbar__weather {
    gap: 0.5rem;
}

.topbar__text {
    color: rgba(255, 255, 255, 0.75);
}

.topbar__text,
.topbar__text span,
.topbar__text strong,
.topbar__forecast,
.topbar__forecast span,
.topbar__forecast strong,
.topbar__link,
.topbar__language-code,
[data-weather-temp],
[data-weather-forecast-max],
[data-weather-forecast-label] {
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
}

.topbar__text--strong,
.topbar__emphasis,
.topbar__link,
.topbar__language-button,
[data-weather-temp],
[data-weather-forecast-max] {
    color: rgba(255, 255, 255, 1);
}

.topbar__text--strong {
    color: rgba(255, 255, 255, 0.75);
}

.topbar__text--strong span {
    color: rgba(255, 255, 255, 0.75);
}

.topbar__text--strong .topbar__emphasis {
    color: rgba(255, 255, 255, 1);
}

.topbar__emphasis {
    font-weight: 600;
}

.topbar__item--hours .topbar__icon {
    color: rgba(255, 255, 255, 1);
}

.topbar__item--hours .topbar__icon,
.topbar__item--hours .topbar__icon path {
    fill: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, 1);
    opacity: 1 !important;
    filter: none !important;
    mix-blend-mode: normal;
}

.topbar__icon,
.topbar__weather-icon,
.topbar__language-chevron,
[data-weather-slot] {
    color: rgba(255, 255, 255, 1);
}

.topbar__icon,
.topbar__weather-icon {
    display: inline-flex;
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
}

.topbar__separator-dot,
.topbar__actions-separator,
.topbar__links-separator {
    color: rgba(255, 255, 255, 0.6);
    font-size: 1rem;
    line-height: 1;
}

.topbar__separator-pipe {
    font-size: 1rem;
    opacity: 0.60;
}

.topbar__divider {
    display: none;
    width: 1px;
    height: 1.25rem;
    background: rgba(255, 255, 255, 0.1);
}

.topbar__forecast {
    gap: 0.35rem;
    color: rgba(255, 255, 255, 0.75);
}

.topbar__links {
    display: none;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}

.topbar__link {
    border-radius: 999px;
    padding: 0.32rem 0.2rem;
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0;
    color: rgba(255, 255, 255, 1);
    text-decoration: none;
    transition: background-color 180ms ease, color 180ms ease;
}

.topbar__link:any-link,
.topbar__link:visited {
    color: rgba(255, 255, 255, 1);
}

.topbar__link:hover,
.topbar__link.is-active {
    color: var(--color-text-inverse);
}

.topbar__actions {
    position: relative;
    z-index: 170;
    flex: 0 0 auto;
    gap: 1rem;
    align-items: center;
}

.topbar__language {
    position: relative;
    z-index: 180;
}

.topbar__language-button {
    display: inline-flex;
    min-height: 2.875rem;
    align-items: center;
    gap: 0.625rem;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    padding: 0.55rem 0.9rem;
    font: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.topbar__language-button:hover,
.topbar__language-button[aria-expanded="true"] {
    background: rgba(255, 255, 255, 0.14);
    box-shadow: 0 14px 24px -22px rgba(0, 0, 0, 0.38);
}

.topbar__language-flag,
.topbar__language-option-flag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 999px;
}

.topbar__language-flag {
    width: 1.5rem;
    height: 1.5rem;
    background: rgba(255, 255, 255, 0.14);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}

.topbar__language-option-flag {
    width: 1.35rem;
    height: 1.35rem;
    flex: 0 0 auto;
    background: rgba(0, 0, 0, 0.05);
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
}

.topbar__language-flag-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.topbar__language-fallback,
.topbar__language-option-fallback,
.topbar__language-code,
.topbar__language-option-title {
    font-family: var(--font-heading);
    font-weight: 600;
    letter-spacing: 0;
}

.topbar__language-fallback,
.topbar__language-code {
    color: rgba(255, 255, 255, 0.95);
}

.topbar__language-panel {
    position: absolute;
    right: 0;
    top: calc(100% + 0.75rem);
    z-index: 260;
    width: min(17rem, calc(100vw - 1.5rem));
}

.topbar__language-surface {
    display: grid;
    gap: 0.35rem;
    border: 1px solid var(--color-border);
    border-radius: 1rem;
    background: var(--color-surface);
    padding: 0.5rem;
    box-shadow: 0 28px 44px -28px rgba(0, 0, 0, 0.34);
}

.topbar__language-option {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    border-radius: 0.85rem;
    padding: 0.625rem 0.75rem;
    color: rgba(0, 0, 0, 0.82);
    text-decoration: none;
    transition: background-color 180ms ease, color 180ms ease;
}

.topbar__language-option:hover,
.topbar__language-option.is-active {
    background: rgba(0, 0, 0, 0.05);
    color: #000000;
}

.topbar__language-option-copy {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: center;
    gap: 0.1rem;
}

.topbar__language-option-title {
    color: var(--color-text);
    font-size: 0.875rem;
    line-height: 1.2;
}

[data-language-open="true"] .topbar__language-chevron {
    transform: rotate(180deg);
}

.header__main {
    position: relative;
    z-index: 180;
    overflow: visible;
    background: var(--color-surface);
}

.header__container {
    position: relative;
    z-index: 85;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    overflow: visible;
    min-height: 5rem;
    padding-left: clamp(13rem, 16vw, 17.5rem);
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.header__panel-wrap {
    pointer-events: none;
    position: absolute;
    left: clamp(1rem, 4vw, 2.75rem);
    top: -4rem;
    z-index: 999;
    display: none;
}

.header__brand-panel {
    pointer-events: auto;
    position: relative;
    z-index: 999;
    display: flex;
    width: 10.9rem;
    height: 14rem;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 0px 0px 92px 92px;
    background: var(--color-surface);
    padding: 6rem 0.5rem 1.0rem;
    text-decoration: none;
    box-shadow: rgba(0, 0, 0, 0.38) 0px 32px 52px -34px, rgba(0, 0, 0, 0.06) 0px 0px 0px 1px;
}

.header__brand-panel:hover,
.header__brand-panel:active {
    background: var(--color-surface);
    box-shadow: 0 32px 52px -34px rgba(0, 0, 0, 0.38), 0 0 0 1px rgba(0, 0, 0, 0.06);
    transform: none;
}

.header__brand-panel-logo {
    display: block;
    width: auto;
    height: 5.7rem;
    opacity: 1 !important;
    filter: none !important;
    mix-blend-mode: normal;
}

.header__brand-panel:hover .header__brand-panel-logo,
.header__brand-panel:active .header__brand-panel-logo,
.header__brand-panel:focus-visible .header__brand-panel-logo {
    opacity: 1 !important;
    filter: none !important;
}

.main-nav {
    position: relative;
    z-index: 90;
    display: none;
    min-width: 0;
}

.main-nav__list {
    display: flex;
    max-width: 100%;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.375rem;
    margin: 0;
    padding: 0;
    list-style: none;
    color: #16351c;
    font-size: 0.875rem;
    font-weight: 600;
}

.main-nav__item {
    position: static;
}

.main-nav__item--parent {
    position: relative;
}

.main-nav__surface {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    color: var(--color-primary-deep);
    transition: background-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.main-nav__surface:hover,
.main-nav__surface.is-active,
.main-nav__surface[data-mega-open="true"] {
    background: rgba(89, 137, 20, 0.11);
    color: var(--color-primary-strong);
    box-shadow: 0 16px 28px -24px rgba(11, 57, 30, 0.4);
}

.main-nav__surface.is-active,
.main-nav__item.is-active .main-nav__surface {
    background: rgba(99, 163, 34, 0.12);
    color: #0b391e;
    box-shadow: inset 0 0 0 1px rgba(99, 163, 34, 0.22);
}

.main-nav__link,
.main-nav__toggle {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: currentColor;
    cursor: pointer;
    text-decoration: none;
}

.main-nav__link:any-link,
.main-nav__link:visited {
    color: inherit;
}

.main-nav__link {
    gap: 0.5rem;
    padding: 0.65rem 0.95rem;
    font-family: var(--font-family-body);
    font-size: 16px;
    font-weight: var(--font-weight-semibold);
    letter-spacing: 0;
    white-space: nowrap;
}

.main-nav__icon,
.main-nav__toggle-icon,
:where(#header) .button__icon,
.mega-menu__link-icon,
.main-nav__mobile-link-icon {
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
}

.main-nav__icon {
    width: 1.2rem;
    height: 1.2rem;
}

.main-nav__mobile-link-icon {
    width: 1.125rem;
    height: 1.125rem;
}

.main-nav__icon {
    color: var(--color-primary-vivid);
    opacity: 1;
}

.main-nav__surface:hover .main-nav__icon,
.main-nav__surface.is-active .main-nav__icon,
.main-nav__surface[data-mega-open="true"] .main-nav__icon {
    color: var(--color-primary-strong);
    opacity: 1;
}

.main-nav__surface.is-active .main-nav__icon,
.main-nav__item.is-active .main-nav__icon {
    color: #63a322;
}

.main-nav__surface.is-active .main-nav__label,
.main-nav__item.is-active .main-nav__label {
    color: #0b391e;
}

.main-nav__item.is-ticket-parent .main-nav__surface {
    background: rgba(99, 163, 34, 0.08);
    box-shadow: inset 0 0 0 1px rgba(99, 163, 34, 0.14);
}

.main-nav__item.is-ticket-parent .main-nav__icon {
    color: #63a322;
}

.main-nav__item.is-ticket-parent .main-nav__label {
    color: #0b391e;
}

.main-nav__item.is-ticket-parent .main-nav__surface:not(.is-active):hover,
.main-nav__item.is-ticket-parent .main-nav__surface:not(.is-active)[data-mega-open="true"] {
    background: rgba(99, 163, 34, 0.13);
    color: #ffffff;
    box-shadow: 0 16px 28px -24px rgba(11, 57, 30, 0.4), inset 0 0 0 1px rgba(99, 163, 34, 0.2);
}

.main-nav__item.is-ticket-parent .main-nav__surface:not(.is-active):hover .main-nav__link,
.main-nav__item.is-ticket-parent .main-nav__surface:not(.is-active):hover .main-nav__link:any-link,
.main-nav__item.is-ticket-parent .main-nav__surface:not(.is-active):hover .main-nav__link:visited,
.main-nav__item.is-ticket-parent .main-nav__surface:not(.is-active)[data-mega-open="true"] .main-nav__link,
.main-nav__item.is-ticket-parent .main-nav__surface:not(.is-active)[data-mega-open="true"] .main-nav__link:any-link,
.main-nav__item.is-ticket-parent .main-nav__surface:not(.is-active)[data-mega-open="true"] .main-nav__link:visited {
    color: #0b391e !important;
}

.main-nav__item.is-ticket-parent .main-nav__surface:not(.is-active):hover .main-nav__label,
.main-nav__item.is-ticket-parent .main-nav__surface:not(.is-active)[data-mega-open="true"] .main-nav__label,
.main-nav__item.is-ticket-parent .main-nav__surface:not(.is-active):hover .main-nav__toggle,
.main-nav__item.is-ticket-parent .main-nav__surface:not(.is-active)[data-mega-open="true"] .main-nav__toggle,
.main-nav__item.is-ticket-parent .main-nav__surface:not(.is-active):hover .main-nav__toggle-icon,
.main-nav__item.is-ticket-parent .main-nav__surface:not(.is-active)[data-mega-open="true"] .main-nav__toggle-icon {
    color: #0b391e;
}

.main-nav__item.is-ticket-parent .main-nav__surface:not(.is-active):hover .main-nav__icon,
.main-nav__item.is-ticket-parent .main-nav__surface:not(.is-active)[data-mega-open="true"] .main-nav__icon {
    color: #63a322;
}

.main-nav__item.is-ticket-parent .main-nav__surface:not(.is-active):hover .main-nav__icon svg,
.main-nav__item.is-ticket-parent .main-nav__surface:not(.is-active):hover .main-nav__icon svg path,
.main-nav__item.is-ticket-parent .main-nav__surface:not(.is-active):hover .main-nav__toggle-icon path,
.main-nav__item.is-ticket-parent .main-nav__surface:not(.is-active)[data-mega-open="true"] .main-nav__icon svg,
.main-nav__item.is-ticket-parent .main-nav__surface:not(.is-active)[data-mega-open="true"] .main-nav__icon svg path,
.main-nav__item.is-ticket-parent .main-nav__surface:not(.is-active)[data-mega-open="true"] .main-nav__toggle-icon path {
    color: currentColor !important;
    fill: currentColor !important;
}

.main-nav__item.is-ticket-parent .main-nav__surface.is-active:hover,
.main-nav__item.is-ticket-parent .main-nav__surface.is-active[data-mega-open="true"] {
    background: rgba(99, 163, 34, 0.12);
    color: #0b391e;
    box-shadow: inset 0 0 0 1px rgba(99, 163, 34, 0.22);
}

.main-nav__item.is-ticket-parent .main-nav__surface.is-active:hover .main-nav__label,
.main-nav__item.is-ticket-parent .main-nav__surface.is-active[data-mega-open="true"] .main-nav__label,
.main-nav__item.is-ticket-parent .main-nav__surface.is-active:hover .main-nav__toggle,
.main-nav__item.is-ticket-parent .main-nav__surface.is-active:hover .main-nav__toggle-icon,
.main-nav__item.is-ticket-parent .main-nav__surface.is-active[data-mega-open="true"] .main-nav__toggle,
.main-nav__item.is-ticket-parent .main-nav__surface.is-active[data-mega-open="true"] .main-nav__toggle-icon {
    color: #0b391e;
}

.main-nav__item.is-ticket-parent .main-nav__surface.is-active:hover .main-nav__icon,
.main-nav__item.is-ticket-parent .main-nav__surface.is-active[data-mega-open="true"] .main-nav__icon,
.main-nav__item.is-ticket-parent .main-nav__surface.is-active:hover .main-nav__icon svg,
.main-nav__item.is-ticket-parent .main-nav__surface.is-active:hover .main-nav__icon svg path,
.main-nav__item.is-ticket-parent .main-nav__surface.is-active[data-mega-open="true"] .main-nav__icon svg,
.main-nav__item.is-ticket-parent .main-nav__surface.is-active[data-mega-open="true"] .main-nav__icon svg path {
    color: #63a322 !important;
    fill: #63a322 !important;
}

.main-nav__item.is-ticket-parent .main-nav__surface[data-mega-open="true"] .main-nav__toggle-icon {
    transform: rotate(180deg);
}

.main-nav__toggle {
    width: 2.85rem;
    opacity: 1;
}

.main-nav__toggle:hover {
    opacity: 1;
}

.mega-menu {
    position: absolute;
    left: 0;
    right: auto;
    top: 100%;
    z-index: 700;
    display: none;
    width: min(460px, calc(100vw - 2rem));
    max-width: min(460px, calc(100vw - 2rem));
    opacity: 0;
    transform: translate3d(0, -0.45rem, 0) scale(0.98);
    transform-origin: top left;
    padding-top: 1rem;
    transition: opacity 180ms ease, transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.main-nav__item--parent.has-mega-align-end .mega-menu,
.mega-menu.mega-menu--align-end {
    left: auto;
    right: 0;
    transform-origin: top right;
}

.mega-menu[data-panel-state="opening"],
.mega-menu[data-panel-state="open"] {
    opacity: 1;
    transform: none;
}

.mega-menu[data-panel-state="closing"] {
    pointer-events: none;
}

.mega-menu__surface {
    border: 1px solid rgba(22, 53, 28, 0.1);
    border-radius: 1.4rem;
    background: linear-gradient(180deg, rgba(251, 250, 243, 0.98), rgba(255, 255, 255, 0.98));
    padding: 1.15rem;
    box-shadow: 0 26px 54px -36px rgba(0, 0, 0, 0.36);
}

.mega-menu__nav-block {
    display: grid;
    gap: 0.9rem;
}

.mega-menu__eyebrow {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    border-radius: 999px;
    background: rgba(99, 163, 34, 0.12);
    padding: 0.38rem 0.7rem;
    color: #214b31;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.mega-menu__eyebrow::before {
    content: "";
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 999px;
    background: #63a322;
}

.mega-menu__nav {
    display: block;
}

.mega-menu__menu {
    display: grid;
    gap: 0.38rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mega-menu__menu-item {
    margin: 0;
}

.mega-menu__menu-link {
    position: relative;
    display: flex;
    min-height: 3rem;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    border: 1px solid transparent;
    border-radius: 1rem;
    background: rgba(246, 249, 246, 0.72);
    padding: 0.72rem 0.78rem;
    color: rgba(22, 53, 28, 0.88);
    text-decoration: none;
    box-shadow: none;
    transform: none;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.mega-menu__menu-link:hover,
.mega-menu__menu-link:focus-visible {
    border-color: rgba(99, 163, 34, 0.18);
    background: #ffffff;
    color: #0b391e;
    box-shadow: 0 16px 28px -24px rgba(11, 57, 30, 0.38);
    transform: translateX(2px);
}

.mega-menu__menu-copy {
    min-width: 0;
    flex: 1 1 auto;
}

.mega-menu__menu-label {
    display: block;
    font-family: var(--font-heading);
    font-size: 0.94rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.25;
}

.mega-menu__menu-chevron {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    color: rgba(22, 53, 28, 0.32);
    transition: transform 180ms ease, color 180ms ease;
}

.mega-menu__menu-link:hover .mega-menu__menu-chevron,
.mega-menu__menu-link:focus-visible .mega-menu__menu-chevron {
    color: #63a322;
    transform: translateX(0.15rem);
}

.mega-menu__menu-link.is-active,
.mega-menu__menu-item.is-active .mega-menu__menu-link {
    border-color: rgba(99, 163, 34, 0.28);
    background: rgba(99, 163, 34, 0.12);
    color: #0b391e;
    box-shadow: inset 3px 0 0 #63a322;
}

.mega-menu__menu-link.is-active .mega-menu__menu-chevron,
.mega-menu__menu-item.is-active .mega-menu__menu-chevron {
    color: #63a322;
}

.mega-menu__menu-item.is-ticket-highlight .mega-menu__menu-link,
.mega-menu__menu-link.is-ticket-highlight {
    border-color: rgba(99, 163, 34, 0.26);
    background: linear-gradient(135deg, rgba(99, 163, 34, 0.16), rgba(255, 255, 255, 0.96));
    color: #16351c;
    box-shadow: inset 0 0 0 1px rgba(99, 163, 34, 0.08);
}

.mega-menu__menu-item.is-ticket-highlight .mega-menu__menu-label,
.mega-menu__menu-link.is-ticket-highlight .mega-menu__menu-label {
    color: #16351c;
}

.mega-menu__menu-badge {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: fit-content;
    border-radius: 999px;
    padding: 0.22rem 0.5rem;
    font-family: var(--font-heading);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 1;
    text-transform: uppercase;
}

.mega-menu__menu-badge--ticket {
    background: rgba(99, 163, 34, 0.16);
    color: #214b31;
}

.mega-menu__menu-badge--attractions {
    background: rgba(219, 177, 40, 0.22);
    color: #6d5410;
}

.mega-menu__menu-item.is-ticket-highlight .mega-menu__menu-badge,
.mega-menu__menu-link.is-ticket-highlight .mega-menu__menu-badge {
    background: rgba(99, 163, 34, 0.16);
    color: #214b31;
}

.mega-menu__menu-item.is-ticket-highlight .mega-menu__menu-chevron,
.mega-menu__menu-link.is-ticket-highlight .mega-menu__menu-chevron {
    color: #63a322;
}

.mega-menu__menu-item.is-ticket-highlight .mega-menu__menu-link:hover,
.mega-menu__menu-link.is-ticket-highlight:hover,
.mega-menu__menu-item.is-ticket-highlight .mega-menu__menu-link:focus-visible,
.mega-menu__menu-link.is-ticket-highlight:focus-visible {
    border-color: rgba(99, 163, 34, 0.36);
    background: linear-gradient(135deg, rgba(99, 163, 34, 0.2), #ffffff);
    color: #16351c;
    box-shadow: 0 18px 30px -24px rgba(11, 57, 30, 0.38), inset 0 0 0 1px rgba(99, 163, 34, 0.12);
}

.mega-menu__menu-item.is-attractions-highlight .mega-menu__menu-link,
.mega-menu__menu-link.is-attractions-highlight {
    border-color: rgba(219, 177, 40, 0.34);
    background: linear-gradient(135deg, rgba(219, 177, 40, 0.18), rgba(99, 163, 34, 0.08));
    color: #0b391e;
}

.mega-menu__menu-item.is-attractions-highlight .mega-menu__menu-badge,
.mega-menu__menu-link.is-attractions-highlight .mega-menu__menu-badge {
    background: rgba(219, 177, 40, 0.22);
    color: #6d5410;
}

.mega-menu__menu-item.is-attractions-highlight .mega-menu__menu-chevron,
.mega-menu__menu-link.is-attractions-highlight .mega-menu__menu-chevron {
    color: #b48916;
}

.mega-menu__menu-item.is-attractions-highlight .mega-menu__menu-link:hover,
.mega-menu__menu-link.is-attractions-highlight:hover,
.mega-menu__menu-item.is-attractions-highlight .mega-menu__menu-link:focus-visible,
.mega-menu__menu-link.is-attractions-highlight:focus-visible {
    border-color: rgba(219, 177, 40, 0.46);
    background: linear-gradient(135deg, rgba(219, 177, 40, 0.24), rgba(99, 163, 34, 0.1));
    box-shadow: 0 18px 30px -24px rgba(109, 84, 16, 0.28);
}

.mega-menu__grid {
    display: grid;
    gap: 1.25rem;
}

.mega-menu__cards {
    display: grid;
    gap: 1rem;
}

.mega-menu__card {
    display: flex;
    height: 100%;
    flex-direction: column;
    border: 1px solid var(--color-border);
    border-radius: 1.5rem;
    background: var(--color-surface-paper);
    padding: 1rem;
    box-shadow: 0 18px 30px -24px rgba(24, 24, 53, 0.16);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.mega-menu__card:hover {
    transform: translateY(-2px);
    box-shadow: 0 24px 38px -26px rgba(24, 24, 53, 0.24);
}

.mega-menu__card.is-active {
    border-color: rgba(81, 121, 42, 0.24);
    box-shadow: 0 0 0 2px rgba(81, 121, 42, 0.12);
}

.mega-menu__card-link {
    display: inline-flex;
    align-items: flex-start;
    gap: 0.75rem;
    border-radius: 1rem;
    color: var(--color-text);
    text-decoration: none;
}

.mega-menu__card-link:hover {
    color: #214b31;
}

.mega-menu__icon {
    display: inline-flex;
    width: 2.5rem;
    height: 2.5rem;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--color-surface);
    color: #214b31;
    box-shadow: 0 14px 24px -18px rgba(0, 0, 0, 0.35);
}

.mega-menu__icon-inner {
    display: inline-flex;
    width: 1.125rem;
    height: 1.125rem;
    align-items: center;
    justify-content: center;
}

.mega-menu__copy {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    flex-direction: column;
}

.mega-menu__title,
.mega-menu__aside-title {
    font-family: var(--font-heading);
    font-weight: 600;
    letter-spacing: 0;
}

.mega-menu__title {
    font-size: 0.98rem;
}

.mega-menu__text,
.mega-menu__aside-text {
    margin-top: 0.25rem;
    color: var(--color-text-muted);
    font-size: 0.875rem;
    line-height: 1.65;
}

.mega-menu__links {
    display: grid;
    gap: 0.5rem;
    margin-top: 1rem;
}

.mega-menu__link {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.82);
    padding: 0.625rem 0.75rem;
    color: rgba(0, 0, 0, 0.75);
    text-decoration: none;
    transition: background-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.mega-menu__link:hover,
.mega-menu__link.is-active {
    background: var(--color-surface);
    color: #000000;
}

.mega-menu__link.is-active {
    box-shadow: 0 0 0 2px rgba(81, 121, 42, 0.12);
}

.mega-menu__aside {
    display: none;
    flex-direction: column;
    border: 1px solid var(--color-border);
    border-radius: 1.75rem;
    background: #214b31;
    padding: 1.5rem;
    color: var(--color-text-inverse);
    box-shadow: 0 22px 40px -30px rgba(0, 0, 0, 0.4);
}

.mega-menu__aside-kicker {
    color: rgba(255, 255, 255, 0.65);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.mega-menu__aside-title {
    margin-top: 0.75rem;
    color: var(--color-text-inverse);
    font-size: 1.4rem;
    line-height: 1.15;
}

.mega-menu__aside-list {
    display: grid;
    gap: 0.5rem;
    margin: 1.25rem 0 0;
    padding: 0;
    list-style: none;
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.875rem;
}

.mega-menu__aside-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.mega-menu__aside-bullet {
    display: inline-flex;
    width: 0.5rem;
    height: 0.5rem;
    flex: 0 0 auto;
    margin-top: 0.35rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.7);
}

.mega-menu__aside-actions {
    margin-top: auto;
    padding-top: 1.5rem;
}

:where(#header) .button {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border: 1px solid transparent;
    border-radius: 999px;
    padding: 0.75rem 1.25rem;
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0;
    text-decoration: none;
    cursor: pointer;
    transition: transform 180ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

:where(#header) .button:hover {
    transform: translateY(-1px);
}

:where(#header) .button--icon {
    width: 2.75rem;
    padding: 0;
    border-color: rgba(0, 0, 0, 0.15);
    background: var(--color-surface);
    color: #16351c;
}

:where(#header) .button--icon:hover {
    background: rgba(0, 0, 0, 0.05);
}

:where(#header) .button--ticket {
    display: none;
    border: 1px solid #63a322;
    background: #63a322;
    color: var(--color-text-inverse);
    box-shadow: 0 18px 30px -22px rgba(0, 0, 0, 0.45);
}

:where(#header) .button--ticket:hover,
:where(#header) .button--ticket:focus-visible {
    border-color: #558f1d;
    background: #558f1d;
    color: #ffffff;
}

.header__actions {
    position: relative;
    z-index: 95;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
}

.header__mobile-menu {
    position: relative;
}

.header__menu-toggle {
    list-style: none;
}

.header__mobile-panel {
    position: absolute;
    right: 0;
    top: calc(100% + 0.75rem);
    z-index: 50;
    width: min(24rem, calc(100vw - 2rem));
    border: 1px solid var(--color-border);
    border-radius: 1.75rem;
    background: var(--color-surface);
    padding: 1rem;
    box-shadow: 0 26px 48px -34px rgba(0, 0, 0, 0.34);
    opacity: 0;
    transform: translate3d(0, -0.45rem, 0) scale(0.985);
    transform-origin: top right;
    transition: opacity 180ms ease, transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
    pointer-events: none;
}

.header__mobile-menu[open] > .header__mobile-panel {
    opacity: 1;
    transform: none;
    pointer-events: auto;
}

.main-nav--mobile,
.main-nav__mobile-list {
    display: grid;
    gap: 0.75rem;
}

.main-nav__mobile-item,
.main-nav__mobile-direct-link {
    border: 1px solid var(--color-border);
    border-radius: 1.25rem;
    background: var(--color-surface-paper);
}

.main-nav__mobile-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 0.875rem;
    color: #000000;
    font-size: 0.9375rem;
    font-weight: 700;
    list-style: none;
    cursor: pointer;
}

.main-nav__mobile-summary-icon {
    width: 1rem;
    height: 1rem;
    color: rgba(0, 0, 0, 0.5);
    transition: transform 180ms ease;
}

.main-nav__mobile-item[open] .main-nav__mobile-summary-icon {
    transform: rotate(180deg);
}

.main-nav__mobile-panel {
    display: grid;
    gap: 0.5rem;
    border-top: 1px solid var(--color-border);
    padding: 0.75rem 0.875rem 0.875rem;
}

.main-nav__mobile-item[open] .main-nav__mobile-panel {
    animation: mobileAccordionReveal 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.main-nav__mobile-link,
.main-nav__mobile-direct-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    border-radius: 1rem;
    padding: 0.625rem 0.75rem;
    color: rgba(0, 0, 0, 0.85);
    font-size: 0.9375rem;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 180ms ease, color 180ms ease;
}

.main-nav__mobile-utility {
    display: grid;
    gap: 0.85rem;
    margin-bottom: 1rem;
}

.main-nav__mobile-aux-links {
    display: grid;
    gap: 0.5rem;
}

.main-nav__mobile-aux-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    border: 1px solid var(--color-border);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.82);
    padding: 0.75rem 0.875rem;
    color: rgba(0, 0, 0, 0.84);
    font-size: 0.9375rem;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 180ms ease, color 180ms ease;
}

.main-nav__mobile-aux-link:hover,
.main-nav__mobile-aux-link.is-active {
    background: var(--color-surface);
    color: #000000;
}

.header__mobile-ticket,
.header__mobile-brand,
.header__mobile-ticket-top,
.header__mobile-brand-wrap,
.topbar__text--mobile-hours,
.header__mobile-separator {
    display: none;
}

.header__mobile-brand-logo {
    display: block;
    width: auto;
    height: 100%;
}

.main-nav__mobile-link:hover,
.main-nav__mobile-link.is-active,
.main-nav__mobile-direct-link:hover,
.main-nav__mobile-direct-link.is-active {
    background: var(--color-surface);
    color: #000000;
}

.main-nav__mobile-direct-link {
    padding: 0.875rem;
}

.main-nav__mobile-group {
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.82);
    padding: 0.625rem 0.75rem;
}

.main-nav__mobile-sublinks {
    display: grid;
    gap: 0.375rem;
    margin-top: 0.625rem;
    border-top: 1px solid var(--color-border);
    padding-top: 0.625rem;
}

.main-nav__mobile-sublink {
    border-radius: 0.9rem;
    padding: 0.5rem 0.625rem;
    color: rgba(0, 0, 0, 0.75);
    font-size: 0.875rem;
    text-decoration: none;
    transition: background-color 180ms ease, color 180ms ease;
}

.main-nav__mobile-sublink:hover,
.main-nav__mobile-sublink.is-active {
    background: var(--color-surface-paper);
    color: #000000;
}

.main-nav__mobile-item.is-ticket-parent,
.main-nav__mobile-group.is-ticket-highlight,
.main-nav__mobile-direct-link.is-ticket-highlight {
    border-color: rgba(99, 163, 34, 0.28);
    background: linear-gradient(135deg, rgba(99, 163, 34, 0.16), rgba(255, 255, 255, 0.94));
    box-shadow: inset 0 0 0 1px rgba(99, 163, 34, 0.08);
}

.main-nav__mobile-item.is-attractions-highlight,
.main-nav__mobile-group.is-attractions-highlight,
.main-nav__mobile-direct-link.is-attractions-highlight {
    border-color: rgba(219, 177, 40, 0.34);
    background: linear-gradient(135deg, rgba(219, 177, 40, 0.18), rgba(99, 163, 34, 0.08));
    box-shadow: inset 0 0 0 1px rgba(219, 177, 40, 0.08);
}

.main-nav__mobile-item.is-ticket-parent .main-nav__mobile-summary,
.main-nav__mobile-link.is-ticket-parent,
.main-nav__mobile-link.is-ticket-highlight,
.main-nav__mobile-direct-link.is-ticket-highlight,
.main-nav__mobile-sublink.is-ticket-highlight {
    color: #16351c;
}

.main-nav__mobile-item.is-attractions-highlight .main-nav__mobile-summary,
.main-nav__mobile-link.is-attractions-highlight,
.main-nav__mobile-direct-link.is-attractions-highlight,
.main-nav__mobile-sublink.is-attractions-highlight {
    color: #0b391e;
}

.main-nav__mobile-item.is-ticket-parent .main-nav__mobile-summary-icon,
.main-nav__mobile-link.is-ticket-parent .main-nav__mobile-link-icon,
.main-nav__mobile-link.is-ticket-highlight .main-nav__mobile-link-icon,
.main-nav__mobile-direct-link.is-ticket-highlight .main-nav__mobile-link-icon {
    color: #63a322;
}

.main-nav__mobile-item.is-attractions-highlight .main-nav__mobile-summary-icon,
.main-nav__mobile-link.is-attractions-highlight .main-nav__mobile-link-icon,
.main-nav__mobile-direct-link.is-attractions-highlight .main-nav__mobile-link-icon {
    color: #b48916;
}

.main-nav__mobile-item.is-ticket-parent .mega-menu__menu-badge,
.main-nav__mobile-link.is-ticket-highlight .mega-menu__menu-badge,
.main-nav__mobile-direct-link.is-ticket-highlight .mega-menu__menu-badge,
.main-nav__mobile-sublink.is-ticket-highlight .mega-menu__menu-badge {
    flex: 0 0 auto;
    margin-left: auto;
    background: rgba(99, 163, 34, 0.16);
    color: #214b31;
    font-size: 0.62rem;
}

.main-nav__mobile-item.is-attractions-highlight .mega-menu__menu-badge,
.main-nav__mobile-link.is-attractions-highlight .mega-menu__menu-badge,
.main-nav__mobile-direct-link.is-attractions-highlight .mega-menu__menu-badge,
.main-nav__mobile-sublink.is-attractions-highlight .mega-menu__menu-badge {
    margin-left: auto;
    background: rgba(219, 177, 40, 0.22);
    color: #6d5410;
    font-size: 0.62rem;
}

.header__border {
    height: 1px;
    background: rgba(0, 0, 0, 0.1);
}

.header [data-mega-pill] > a:hover {
    border-radius: 0;
    background-color: transparent;
}

.header [data-mega-pill] > a:focus-visible {
    box-shadow: none;
}

.slider-wrapper.site-page-hero {
    position: relative;
    z-index: 0;
    margin: 0;
    padding: 0;
    background: #0b391e;
    overflow: hidden;
}

.slider-wrapper.site-page-hero + * {
    margin-top: 0;
}

.home-hero.is-homepage {
    --hero-height: calc(100svh - var(--site-header-h, 0px));
    position: relative;
    isolation: isolate;
    height: var(--hero-height);
    min-height: var(--hero-height);
    overflow: hidden;
    background: #0b391e;
}

.home-hero.is-homepage .home-hero__stage,
.home-hero.is-homepage .home-hero__media,
.home-hero.is-homepage .home-hero__slides,
.home-hero.is-homepage .slides-container,
.home-hero.is-homepage .home-hero__slide,
.home-hero.is-homepage .responsive-backgrounda,
.home-hero.is-homepage .banner-slider,
.home-hero.is-homepage article.slide {
    height: var(--hero-height);
    min-height: var(--hero-height);
    margin: 0;
    padding: 0;
}

.home-hero.is-homepage .home-hero__stage,
.home-hero.is-homepage .responsive-backgrounda,
.home-hero.is-homepage .banner-slider {
    position: relative;
    background: #0b391e;
}

.home-hero.is-homepage .home-hero__slides,
.home-hero.is-homepage .slides-container {
    position: relative;
    background: transparent;
}

.home-hero.is-homepage .home-hero__stage,
.home-hero.is-homepage .banner-slider {
    overflow: hidden;
}

.home-hero.is-homepage .home-hero__slide {
    position: absolute;
    inset: 0;
    display: none;
    overflow: hidden;
    background-position: center center;
    z-index: 0;
    pointer-events: none;
}

.home-hero.is-homepage .home-hero__slide.is-active {
    display: flex;
    z-index: 1;
    pointer-events: auto;
}

.home-hero.is-homepage::before,
.home-hero.is-homepage::after,
.home-hero.is-homepage .home-hero__slide::before,
.home-hero.is-homepage .home-hero__slide::after {
    content: none;
}

.home-hero.is-homepage .home-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    background: #0b391e;
}

.home-hero.is-homepage .home-hero__cover,
.home-hero.is-homepage .slider-cover {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: transparent;
}

.home-hero.is-homepage .home-hero__gradient {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background:
        linear-gradient(
            180deg,
            rgb(12 58 31 / 4%) 18%,
            rgb(12 58 31 / 32%) 58%,
            rgb(12 58 31 / 90%) 100%
        );
}

.home-hero.is-homepage .home-hero__video,
.home-hero.is-homepage .video-slder {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    min-height: 100%;
    object-fit: cover;
    object-position: center;
}

.home-hero.is-homepage .home-hero__video--mobile {
    display: none;
}

.home-hero.is-homepage video {
    display: block;
}

.home-hero.is-homepage .home-hero__cover {
    --hero-cover-blend: transparent;
}

.home-hero.is-homepage .slider-actions.home-hero__content-wrap,
.home-hero.is-homepage .home-hero__content-wrap {
    position: absolute;
    inset: auto 0 5rem;
    z-index: 10;
    display: flex;
    width: 100%;
    align-items: flex-end;
    pointer-events: none;
}

.home-hero.is-homepage .home-hero__slides,
.home-hero.is-homepage .slides-container {
    position: relative;
    z-index: 5;
    background: transparent;
}

.home-hero.is-homepage article.slide,
.home-hero.is-homepage .home-hero__slide {
    background: transparent;
}

.home-hero.is-homepage .home-hero__content {
    display: block;
    width: var(--site-shell-width);
    margin-inline: auto;
    position: relative;
    z-index: 10;
    pointer-events: auto;
}

.home-hero.is-homepage .home-hero__layout {
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: flex-end;
    justify-content: space-between;
    gap: clamp(2rem, 5vw, 4rem);
}

.home-hero.is-homepage .hero-slide__panel {
    position: relative;
    z-index: 10;
    display: flex;
    width: 100%;
    min-width: 0;
    flex: 1 1 auto;
    align-items: flex-end;
    justify-content: flex-start;
    padding: 0;
    pointer-events: none;
}

.home-hero.is-homepage .hero-slide__content {
    width: 100%;
    min-width: 0;
    max-width: 64rem;
    margin: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    pointer-events: auto;
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity 320ms ease, transform 420ms ease;
    will-change: opacity, transform;
}

.home-hero.is-homepage .home-hero__slide.is-active .hero-slide__content,
.home-hero.is-homepage .hero-slide__content.is-visible {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    .home-hero.is-homepage .home-hero__slide,
    .home-hero.is-homepage .hero-slide__content,
    .home-hero.is-homepage .home-hero__slides,
    .home-hero.is-homepage .slides-container {
        transition: none;
        transform: none;
    }
}

.home-hero.is-homepage .hero-slide__surface {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: auto;
    max-width: 64rem;
    gap: 1.1rem;
    padding: 0;
    position: relative;
    z-index: 10;
}

.home-hero.is-homepage .hero-slide__actions {
    position: relative;
    z-index: 10;
}

.home-hero.is-homepage .hero-slide__eyebrow {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 0;
    padding: 0;
    color: rgba(255, 255, 255, 0.9);
    font-family: var(--font-display);
    font-size: clamp(0.92rem, 1.05vw, 1rem);
    font-weight: var(--font-weight-semibold);
    letter-spacing: 0;
    text-transform: none;
}

.home-hero.is-homepage .hero-slide__eyebrow::before {
    content: none;
}

.home-hero.is-homepage .hero-slide__title {
    margin: 0;
    color: #ffffff;
    font-family: var(--font-display);
    max-width: none;
    font-size: clamp(2.9rem, 5vw, 4.9rem);
    font-weight: var(--font-weight-bold);
    line-height: 0.98;
    letter-spacing: 0;
    text-wrap: balance;
}

.home-hero.is-homepage .hero-slide__lead {
    max-width: none;
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: clamp(0.98rem, 1.05vw, 1.05rem);
    line-height: 1.7;
}

.home-hero.is-homepage .hero-slide__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.85rem;
    margin-top: auto;
}

.home-hero.is-homepage .hero-slide__action {
    display: inline-flex;
    min-height: 3.35rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.9rem 1.35rem;
    border-radius: 999px;
    font-family: var(--font-family-body);
    font-size: 0.95rem;
    font-weight: var(--font-weight-bold);
    line-height: 1.2;
    letter-spacing: 0;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 18px 30px -22px rgba(0, 0, 0, 0.45);
    transform: none;
    transition: transform 180ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.home-hero.is-homepage .hero-slide__action:hover,
.home-hero.is-homepage .hero-slide__action:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 22px 34px -24px rgba(0, 0, 0, 0.5);
}

.home-hero.is-homepage .hero-slide__action--primary {
    border: 1px solid #63a322;
    background: #63a322;
    color: #ffffff;
}

.home-hero.is-homepage .hero-slide__action--primary:hover,
.home-hero.is-homepage .hero-slide__action--primary:focus-visible {
    border-color: #558f1d;
    background: #558f1d;
    color: #ffffff;
}

.home-hero.is-homepage .hero-slide__action--secondary {
    border: 1px solid rgba(255, 255, 255, 0.9);
    background: #ffffff;
    color: #16351c;
}

.home-hero.is-homepage .hero-slide__action--secondary:hover,
.home-hero.is-homepage .hero-slide__action--secondary:focus-visible {
    border-color: #ffffff;
    background: rgba(255, 255, 255, 0.92);
    color: #16351c;
}

.home-hero.is-homepage .home-hero__controls-wrap {
    position: absolute;
    inset: auto 0 4rem;
    z-index: 11;
    display: flex;
    width: var(--site-shell-width);
    justify-content: flex-end;
    margin: 0 auto;
    pointer-events: none;
}

.home-hero.is-homepage .home-hero__controls.slider-nav-container,
.home-hero.is-homepage .slider-nav-container.home-hero__controls,
.home-hero.is-homepage .home-hero__controls {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    z-index: 11;
    display: flex;
    width: auto;
    max-width: 100%;
    min-width: 0;
    align-items: center;
    justify-content: flex-end;
    gap: 0.625rem;
    margin: 0;
    padding: 0;
    pointer-events: auto;
    transform: none;
}

.home-hero.is-homepage .home-hero__controls .owl-nav,
.home-hero.is-homepage .owl-nav,
.home-hero.is-homepage .slider-nav-container {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    display: inline-flex;
    width: auto;
    min-width: 0;
    align-items: center;
    justify-content: flex-end;
    margin: 0;
    padding: 0;
    transform: none;
    opacity: 1;
}

.home-hero.is-homepage .home-hero__counter {
    display: inline-flex;
    min-height: 2.6rem;
    align-items: center;
    gap: 0.45rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    padding: 0.55rem 0.9rem;
    color: rgba(255, 255, 255, 0.88);
    font-family: var(--font-display);
    font-size: 0.72rem;
    font-weight: var(--font-weight-semibold);
    line-height: 1;
    letter-spacing: 0.14em;
    backdrop-filter: blur(12px);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}

.home-hero.is-homepage .home-hero__controls .owl-prev,
.home-hero.is-homepage .home-hero__controls .owl-next,
.home-hero.is-homepage .owl-prev,
.home-hero.is-homepage .owl-next {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    display: inline-flex;
    width: 3rem;
    height: 3rem;
    min-width: 3rem;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    padding: 0;
    margin: 0;
    background: #ffffff;
    color: #17311e;
    opacity: 1;
    text-align: center;
    transform: none;
    box-shadow: 0 18px 30px -22px rgba(0, 0, 0, 0.5);
    transition: transform 180ms ease, background-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.home-hero.is-homepage .home-hero__controls .owl-next,
.home-hero.is-homepage .owl-next {
    background: #63a322;
    color: #ffffff;
}

.home-hero.is-homepage .home-hero__controls .owl-prev:hover,
.home-hero.is-homepage .home-hero__controls .owl-next:hover,
.home-hero.is-homepage .home-hero__controls .owl-prev:focus-visible,
.home-hero.is-homepage .home-hero__controls .owl-next:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 22px 34px -24px rgba(0, 0, 0, 0.55);
}

.home-hero.is-homepage .home-hero__controls .owl-prev:hover,
.home-hero.is-homepage .home-hero__controls .owl-prev:focus-visible {
    background: #f4f6ef;
    color: #17311e;
}

.home-hero.is-homepage .home-hero__controls .owl-next:hover,
.home-hero.is-homepage .home-hero__controls .owl-next:focus-visible {
    background: #76b72e;
    color: #ffffff;
}

.home-hero.is-homepage .home-hero__control-icon {
    display: block;
    width: 1.1rem;
    height: 1.1rem;
    color: currentColor;
}

.home-hero.is-homepage .home-hero__controls .owl-prev .home-hero__control-icon path,
.home-hero.is-homepage .home-hero__controls .owl-next .home-hero__control-icon path,
.home-hero.is-homepage .owl-prev .home-hero__control-icon path,
.home-hero.is-homepage .owl-next .home-hero__control-icon path {
    fill: currentColor;
}

.home-hero.is-homepage .home-hero__scroll {
    display: none;
}

.site-page.page-slug-atrakcje .cms-section--variant-attractions_intro .hero-slide__action {
    display: inline-flex;
    min-height: 3.35rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.9rem 1.35rem;
    border-radius: 999px;
    font-family: var(--font-family-body);
    font-size: 0.95rem;
    font-weight: var(--font-weight-bold);
    line-height: 1.2;
    text-align: center;
    border: 1px solid #63a322;
    background: #63a322;
    color: #ffffff;
    text-decoration: none;
    box-shadow: 0 18px 30px -22px rgba(0, 0, 0, 0.45);
    transition: transform 180ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.site-page.page-slug-atrakcje .cms-section--variant-attractions_intro .hero-slide__action:hover,
.site-page.page-slug-atrakcje .cms-section--variant-attractions_intro .hero-slide__action:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 22px 34px -24px rgba(0, 0, 0, 0.5);
}

.site-page.page-slug-atrakcje .cms-section--variant-attractions_intro .hero-slide__action--primary:hover,
.site-page.page-slug-atrakcje .cms-section--variant-attractions_intro .hero-slide__action--primary:focus-visible {
    border-color: #558f1d;
    background: #558f1d;
    color: #ffffff;
}

.home-media-layout__weather-value .topbar__weather-icon {
    width: 1.25rem;
    height: 1.25rem;
}

.home-section--tickets .ticket-offer__cta-link .hero-slide__action-icon {
    display: inline-flex;
    width: 1.1rem;
    height: 1.1rem;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.home-section--tickets .ticket-offer__cta-link .hero-slide__action-icon svg {
    width: 100%;
    height: 100%;
}

@media (min-width: 640px) {
    :where(#header) .button--ticket,
    .topbar__links {
        display: inline-flex;
    }
}

@media (min-width: 768px) {
    .mega-menu__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1400px) {
    .topbar__container {
        padding-left: 0;
        padding-right: 0;
    }

    .header__container {
        padding-left: 0;
        padding-right: 0;
    }

    .header__panel-wrap {
        left: clamp(1rem, 4vw, 2.75rem);
    }

    .topbar__divider,
    .header__panel-wrap,
    .main-nav,
    .mega-menu__aside {
        display: inline-flex;
    }

    .main-nav {
        justify-content: flex-start;
    }

    .mega-menu {
        display: block;
    }

    .home-hero.is-homepage .home-hero__content-wrap,
    .home-hero.is-homepage .home-hero__controls-wrap {
        inset: auto 0 clamp(6rem, 9vh, 8rem);
    }

    .home-hero.is-homepage .home-hero__controls-wrap {
        inset: auto 0 calc(clamp(6rem, 9vh, 8rem) - 1rem);
    }

    .header__mobile-menu {
        display: none;
    }
}

@media (max-width: 991.98px) {
    .home-hero.is-homepage .home-hero__video--with-mobile {
        display: none;
    }

    .home-hero.is-homepage .home-hero__video--mobile {
        display: block;
    }
}

@media (min-width: 1024px) {
    .home-hero.is-homepage .home-hero__content {
        width: min(100% - calc(var(--site-gutter) * 2), var(--site-max-width));
        margin-inline: auto;
    }

    .home-hero.is-homepage .home-hero__layout {
        display: flex;
        width: 100%;
        align-items: flex-end;
        justify-content: space-between;
        gap: clamp(2rem, 5vw, 4rem);
    }

    .home-hero.is-homepage .hero-slide__panel {
        min-width: 0;
        flex: 1 1 auto;
    }

    .home-hero.is-homepage .hero-slide__content {
        width: 100%;
        max-width: 64rem;
    }

    .home-hero.is-homepage .hero-slide__surface {
        justify-content: flex-start;
    }

    .home-hero.is-homepage .hero-slide__actions {
        margin-top: auto;
    }
}

@media (max-width: 1023.98px) {
    .home-hero.is-homepage .home-hero__content {
        display: block;
    }

    .home-hero.is-homepage .home-hero__layout {
        display: block;
    }

    .home-hero.is-homepage .hero-slide__surface {
        min-height: auto;
    }

    .home-hero.is-homepage .hero-slide__actions {
        margin-top: 1.25rem;
    }
}

@media (max-width: 767.98px) {
    .home-hero.is-homepage {
        --hero-height: max(42rem, calc(100svh - var(--site-header-h, 0px)));
    }

    .home-hero.is-homepage .slider-actions.home-hero__content-wrap,
    .home-hero.is-homepage .home-hero__content-wrap {
        inset: auto 0 clamp(2rem, 7vh, 4rem);
    }

    .home-hero.is-homepage .hero-slide__content {
        width: 100%;
    }

    .home-hero.is-homepage .home-hero__layout {
        display: block;
    }

    .home-hero.is-homepage .hero-slide__title {
        font-size: clamp(2.2rem, 8.8vw, 3.2rem);
    }

    .home-hero.is-homepage .hero-slide__lead {
        font-size: 0.98rem;
        line-height: 1.6;
    }

    .home-hero.is-homepage .home-hero__controls-wrap {
        display: none;
    }
}

@media (min-width: 1280px) {
    .main-nav__list {
        gap: 0.5rem;
    }

    .main-nav__link {
        padding-inline: 0.875rem;
    }

    .mega-menu__surface {
        padding: 1.5rem;
    }

    .mega-menu__cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .topbar__actions-separator {
        display: none;
    }
}

@media (max-width: 639.98px) {
    .topbar__container,
    .header__container {
        padding-inline: 0;
        padding-left: 0;
    }

    .home-hero.is-homepage .hero-slide__title {
        font-size: clamp(2.4rem, 12vw, 3.4rem);
        line-height: 0.94;
    }

    .home-hero.is-homepage .hero-slide__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .home-hero.is-homepage .hero-slide__surface {
        min-height: 0;
    }

    .home-hero.is-homepage .hero-slide__action {
        justify-content: center;
    }

    .topbar__actions {
        gap: 0.625rem;
    }

    .topbar__language-button {
        min-height: 2.5rem;
    }

    .header__mobile-panel {
        width: min(24rem, calc(100vw - 1rem));
    }

}

.header {
    position: relative;
    z-index: 1000;
    overflow: visible;
    isolation: isolate;
}

.topbar {
    position: relative;
    z-index: 40;
    overflow: visible;
    background: var(--color-primary-strong);
}

.topbar__container {
    position: relative;
    z-index: 1;
    min-height: 3.25rem;
    overflow: visible;
    padding-left: var(--header-brand-offset);
}

.topbar__brand-wrap {
    pointer-events: none;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 30;
    display: none;
}

.header__brand-panel {
    pointer-events: auto;
    position: relative;
    z-index: 1;
    display: flex;
    width: 10.9rem;
    height: 14rem;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 0 0 92px 92px;
    background: var(--color-surface);
    padding: 6rem 0.5rem 1rem;
    text-decoration: none;
    box-shadow: rgba(0, 0, 0, 0.38) 0 32px 52px -34px, rgba(0, 0, 0, 0.06) 0 0 0 1px;
}

.header__main {
    position: relative;
    z-index: 20;
    overflow: visible;
    background: var(--color-surface);
}

.header__container {
    position: relative;
    z-index: 1;
    overflow: visible;
    padding-left: var(--header-brand-offset);
}

.topbar__language {
    position: relative;
    z-index: 80;
}

.topbar__language-panel {
    position: absolute;
    right: 0;
    top: calc(100% + 0.75rem);
    z-index: 90;
    width: min(17rem, calc(100vw - 1.5rem));
}

.header__actions {
    position: relative;
    z-index: 10;
}

.home-hero,
.home-hero__stage {
    position: relative;
    z-index: 1;
}

.home-hero [data-hero-track] {
    position: relative;
}

.home-hero [data-hero-slide] {
    transition: opacity 320ms ease, visibility 320ms ease;
}

.home-hero:not(.is-homepage) [data-hero-slide]:not(.is-active) {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.home-hero:not(.is-homepage) [data-hero-slide].is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.header .button--ticket:hover,
.header .button--ticket:focus-visible,
.header__actions .button--ticket:hover,
.header__actions .button--ticket:focus-visible,
.header .header__ticket:hover,
.header .header__ticket:focus-visible {
    color: #ffffff !important;
}

.header .button--ticket span,
.header .button--ticket:visited span,
.header .button--ticket:hover span,
.header .button--ticket:focus-visible span,
.header__actions .button--ticket span,
.header__actions .button--ticket:visited span,
.header__actions .button--ticket:hover span,
.header__actions .button--ticket:focus-visible span,
.header .header__ticket span,
.header .header__ticket:visited span,
.header .header__ticket:hover span,
.header .header__ticket:focus-visible span {
    color: #ffffff !important;
}

.header .button--ticket .button__icon,
.header .button--ticket .button__icon path,
.header__actions .button--ticket .button__icon,
.header__actions .button--ticket .button__icon path,
.header .header__ticket .button__icon,
.header .header__ticket .button__icon path,
.header .button--ticket:hover .button__icon,
.header .button--ticket:hover .button__icon path,
.header .button--ticket:focus-visible .button__icon,
.header .button--ticket:focus-visible .button__icon path,
.header .header__ticket:hover .button__icon,
.header .header__ticket:hover .button__icon path,
.header .header__ticket:focus-visible .button__icon,
.header .header__ticket:focus-visible .button__icon path,
.header__actions .button--ticket:hover .button__icon,
.header__actions .button--ticket:hover .button__icon path,
.header__actions .button--ticket:focus-visible .button__icon,
.header__actions .button--ticket:focus-visible .button__icon path {
    color: #ffffff !important;
    fill: #ffffff !important;
}

@media (max-width: 1399.98px) {
    .header {
        position: relative;
        z-index: 1000;
        overflow: visible;
    }

    .topbar {
        position: relative;
        z-index: 80;
        overflow: visible;
    }

    .topbar__container {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 0.75rem;
        min-height: 3.6rem;
        padding-block: 0.4rem;
        overflow: visible;
        padding-left: 0;
    }

    .topbar__brand-wrap {
        display: none;
    }

    .topbar__info {
        min-width: 0;
        display: inline-flex;
        flex: 1 1 auto;
        flex-wrap: nowrap;
        align-items: center;
        gap: 0.55rem;
        overflow: hidden;
    }

    .topbar__item--hours {
        min-width: 0;
        flex: 0 1 auto;
        gap: 0.4rem;
    }

    .topbar__item--hours .topbar__separator-dot {
        display: none;
    }

    .topbar__text--desktop-hours {
        display: none;
    }

    .topbar__text,
    .topbar__text span,
    .topbar__text strong,
    .topbar__emphasis,
    [data-weather-temp] {
        font-size: 0.86rem;
        line-height: 1.15;
        white-space: nowrap;
    }

    .topbar__text.topbar__text--mobile-hours {
        display: inline-flex;
        align-items: center;
        gap: 0.28rem;
        min-width: 0;
        color: rgba(255, 255, 255, 0.75);
        font-family: var(--font-heading);
        font-size: 0.86rem;
        font-weight: 600;
        line-height: 1.15;
        white-space: nowrap;
    }

    .topbar__text.topbar__text--mobile-hours .topbar__mobile-hours-label {
        color: rgba(255, 255, 255, 0.75);
        font-weight: 600;
    }

    .topbar__text.topbar__text--mobile-hours .topbar__emphasis {
        color: rgba(255, 255, 255, 1);
        font-weight: 800;
    }

    .topbar__divider {
        display: inline-flex;
        width: 1px;
        height: 1.2rem;
        flex: 0 0 auto;
        background: rgba(255, 255, 255, 0.2);
    }

    .topbar__weather {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        gap: 0.35rem;
    }

    .topbar__weather .topbar__separator-dot,
    .topbar__weather .topbar__weather-icon[data-weather-forecast-icon],
    .topbar__weather .topbar__forecast,
    .topbar__actions > .topbar__divider {
        display: none;
    }

    .topbar__weather-icon {
        width: 1.1rem;
        height: 1.1rem;
    }

    .topbar__links {
        display: none;
    }

    .topbar__actions {
        justify-self: end;
        gap: 0;
        z-index: 90;
    }

    .topbar__language-button {
        width: 2.45rem;
        height: 2.45rem;
        min-width: 2.45rem;
        min-height: 2.45rem;
        justify-content: center;
        padding: 0;
        border-radius: 999px;
    }

    .topbar__language-code,
    .topbar__language-chevron {
        display: none;
    }

    .topbar__language-flag {
        width: 1.65rem;
        height: 1.65rem;
    }

    .topbar__language-panel {
        right: 0;
        top: calc(100% + 0.5rem);
        z-index: 5000;
        width: min(16rem, calc(100vw - 2rem));
    }

    .header__main {
        position: relative;
        z-index: 50;
        background: #ffffff;
    }

    .header__container {
        display: grid;
        grid-template-columns: auto auto minmax(0, 1fr) auto;
        min-height: 4.7rem;
        align-items: center;
        gap: 0.65rem;
        padding-block: 0.75rem;
        padding-left: 0;
    }

    .header__mobile-brand-wrap {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 4.85rem;
        height: 4.85rem;
        text-decoration: none;
        grid-column: 1;
    }

    .header__mobile-brand-logo {
        display: block;
        width: auto;
        height: 3.2rem;
    }

    .header__panel-wrap,
    .header__mobile-brand {
        display: none;
    }

    .main-nav {
        display: none;
    }

    .header__actions {
        display: contents;
    }

    .header__mobile-menu {
        grid-column: 2;
        justify-self: start;
        position: relative;
        display: block;
    }

    .header__search,
    .header__ticket {
        display: none;
    }

    .header__mobile-ticket-top {
        grid-column: 4;
        justify-self: end;
        display: inline-flex;
        min-height: 2.75rem;
        padding: 0.72rem 1.1rem;
        border-radius: 999px;
        background-color: #63a322;
        border-color: #63a322;
        color: #ffffff;
        font-size: 0.9rem;
        white-space: nowrap;
    }

    .header__mobile-ticket-top:hover,
    .header__mobile-ticket-top:focus-visible {
        background-color: #558f1d;
        border-color: #558f1d;
        color: #ffffff;
    }

    .header__mobile-menu {
        position: relative;
        display: block;
    }

    .header__mobile-menu > .header__menu-toggle {
        display: inline-flex;
        width: 2.85rem;
        height: 2.85rem;
        min-width: 2.85rem;
        min-height: 2.85rem;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(99, 163, 34, 0.6);
        border-radius: 999px;
        background: #ffffff;
        color: #16351c;
        opacity: 1;
        padding: 0;
        box-shadow: none;
        list-style: none;
        cursor: pointer;
        transform: none;
    }

    .header__mobile-menu > .header__menu-toggle::-webkit-details-marker {
        display: none;
    }

    .header__mobile-menu > .header__menu-toggle:hover,
    .header__mobile-menu > .header__menu-toggle:focus,
    .header__mobile-menu > .header__menu-toggle:active,
    .header__mobile-menu[open] > .header__menu-toggle {
        background: #ffffff;
        color: #16351c;
        border-color: rgba(99, 163, 34, 0.85);
        opacity: 1;
        transform: none;
    }

    .header__mobile-menu > .header__menu-toggle .button__icon,
    .header__mobile-menu > .header__menu-toggle svg {
        width: 1.1rem;
        height: 1.1rem;
        color: #16351c;
        fill: currentColor;
        opacity: 1;
        visibility: visible;
    }

    .header__mobile-menu > .header__menu-toggle svg path {
        fill: currentColor;
    }

    .header__mobile-panel {
        position: fixed;
        left: 1rem;
        right: 1rem;
        top: calc(3.6rem + 4.7rem + 0.5rem);
        z-index: 4000;
        width: auto;
        max-height: calc(100svh - 8.9rem);
        overflow: auto;
        border-radius: 1.75rem;
        background: #ffffff;
        padding: 1rem;
        box-shadow: 0 30px 70px -42px rgba(0, 0, 0, 0.55);
    }

    .header__mobile-separator {
        display: block;
        height: 1px;
        margin: 1rem 0;
        background: rgba(24, 24, 53, 0.1);
    }

    .main-nav--mobile,
    .main-nav--mobile-aux {
        display: grid;
        gap: 0.75rem;
    }
}

@media (max-width: 374.98px) {
    .topbar__container {
        grid-template-columns: minmax(0, 1fr) auto;
        min-height: 3.35rem;
        padding-left: 0;
    }

    .topbar__weather,
    .topbar__divider {
        display: none;
    }

    .topbar__text,
    .topbar__text span,
    .topbar__text strong {
        font-size: 0.8rem;
    }

    .header__container {
        grid-template-columns: auto minmax(0, 1fr) auto;
        padding-left: 0;
    }

    .header__mobile-brand-wrap {
        width: 4.2rem;
        height: 4.2rem;
    }

    .header__mobile-brand-logo {
        height: 2.7rem;
    }

    .header__mobile-ticket-top {
        padding-inline: 0.9rem;
        font-size: 0.84rem;
    }
}

@media (min-width: 1400px) {
    .topbar__brand-wrap {
        display: block;
    }

    .main-nav {
        display: flex;
    }

    .header__mobile-menu {
        display: none;
    }

    :where(#header) .button--ticket {
        display: inline-flex;
    }

    .header__mobile-brand,
    .header__mobile-ticket-top {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    :where(#header) .button,
    .topbar__link,
    .topbar__language-button,
    .topbar__language-option,
    .main-nav__surface,
    .main-nav__link,
    .main-nav__toggle,
    .mega-menu__card {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

@keyframes mobileAccordionReveal {
    from {
        opacity: 0;
        transform: translate3d(0, -0.35rem, 0);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

/* bwg: legacy .button rules in app.min.css lower the weight of the ticket buttons; the reference design uses 700 */
#header .header__ticket,
#header .header__mobile-ticket-top {
  font-weight: 700;
}
