/* Event-only presentation; the shared header, footer and font stacks are retained. */
html:has(body.page--new-year-2027) { scroll-behavior: auto; }

.page--new-year-2027 {
    --nye-burgundy: #4c1424;
    --nye-black: #151313;
    --nye-gold: #c8a56a;
    --nye-pattern-opacity: 0.10;
    --nye-ivory: #f6f1e8;
    --nye-muted: #c0bdba;
    color: var(--nye-ivory);
    background-color: var(--nye-burgundy);
    background-image:
        linear-gradient(45deg, transparent calc(50% - 0.5px), rgba(200, 165, 106, var(--nye-pattern-opacity)) calc(50% - 0.5px), rgba(200, 165, 106, var(--nye-pattern-opacity)) calc(50% + 0.5px), transparent calc(50% + 0.5px)),
        linear-gradient(-45deg, transparent calc(50% - 0.5px), rgba(200, 165, 106, var(--nye-pattern-opacity)) calc(50% - 0.5px), rgba(200, 165, 106, var(--nye-pattern-opacity)) calc(50% + 0.5px), transparent calc(50% + 0.5px));
    background-size: 320px 320px;
}

.page--new-year-2027::before { content: none; }
.page--new-year-2027 .site-header__menu-button { width: 44px; height: 44px; }
.nye { position: relative; }
.nye p, .nye h1, .nye h2, .nye h3, .nye h4 { margin: 0; }
.nye-shell { width: min(1180px, calc(100% - 80px)); margin-inline: auto; }
.nye-section { padding-block: clamp(64px, 8vw, 112px); }
.nye :is(#pradzia, #meniu) { scroll-margin-top: calc(var(--header-height) + var(--header-offset-top) + 24px); }
.nye :is(h1, h2, h3, h4) { font-weight: 400; text-wrap: balance; }
.nye h2 { font-family: var(--font-display); font-size: clamp(2rem, 3.6vw, 3.35rem); line-height: 1.15; letter-spacing: -0.025em; }
.nye .nye-eyebrow { color: var(--nye-gold); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.19em; line-height: 1.7; text-transform: uppercase; }
.nye a { text-underline-offset: 5px; }
.nye a:focus-visible { outline: 2px solid currentColor; outline-offset: 6px; }

.nye-hero { padding-top: clamp(48px, 7vw, 90px); padding-bottom: 60px; text-align: center; }
.nye-hero h1 { max-width: 1000px; margin: 0 auto 28px; color: var(--nye-ivory); font-family: var(--font-display); font-size: clamp(2.75rem, 6vw, 5.75rem); line-height: 1.08; letter-spacing: -0.035em; }
.nye .nye-hero__copy { max-width: 680px; margin-inline: auto; color: var(--nye-muted); font-size: 1rem; line-height: 1.85; }
.nye-actions { display: flex; justify-content: center; align-items: center; gap: 30px; flex-wrap: wrap; margin-top: 30px; }
.nye .nye-button { display: inline-flex; justify-content: center; align-items: center; min-height: 52px; padding: 14px 24px; border: 1px solid var(--nye-gold); border-radius: 3px; background: var(--nye-gold); color: var(--nye-black); text-decoration: none; font-size: 0.9rem; font-weight: 600; line-height: 1.5; cursor: pointer; }
.nye .nye-button:hover { background: var(--nye-ivory); border-color: var(--nye-ivory); }
.nye .nye-text-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; color: inherit; font-size: 0.9rem; }
/* Keep the measured CTA widths after removing their decorative arrows. */
.nye-actions .nye-button { min-inline-size: 211.8px; }
.nye-actions .nye-text-link { min-inline-size: 121.6px; }
.nye-reservation > .nye-button { min-inline-size: 237.025px; }
.nye-poster { margin-bottom: 40px; }
.nye-poster picture { display: block; border: 1px solid rgba(200, 165, 106, 0.4); }
.nye-poster img { width: 100%; height: auto; aspect-ratio: 1733 / 907; }

.nye-menu { padding-bottom: clamp(32px, 4vw, 56px); background: var(--nye-ivory); color: var(--nye-black); }
.nye-menu__shell { width: min(980px, calc(100% - 80px)); margin-inline: auto; }
.nye-section-heading { max-width: 670px; margin: 0 auto 52px; text-align: center; }
.nye-section-heading > p:last-child { max-width: 550px; margin: 24px auto 0; color: #655b50; line-height: 1.8; }
.nye-menu__welcome { padding-bottom: 32px; text-align: center; }
.nye-courses { margin: 0; padding: 0; list-style: none; }
.nye-course { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 25px; padding-block: 38px; border-top: 1px solid rgba(142, 106, 52, 0.35); }
.nye-course:last-child { padding-bottom: 0; }
.nye-course__number { color: #8d6c3b; font-family: var(--font-display); font-size: 3.25rem; line-height: 1; }
.nye-course h3,
.nye .nye-menu__welcome-label { color: #755a33; font-family: var(--font-body); font-size: 0.73rem; line-height: 1.6; font-weight: 600; text-transform: uppercase; letter-spacing: 0.14em; }
.nye .nye-course__note { margin-top: 6px; color: #655b50; font-size: 0.86rem; font-style: italic; }
.nye-dish { margin-top: 18px; }
.nye-dish h4,
.nye .nye-menu__welcome-title { margin-bottom: 10px; font-family: var(--font-display); font-size: clamp(1.4rem, 2.2vw, 1.75rem); line-height: 1.25; letter-spacing: -0.015em; text-wrap: initial; }
.nye .nye-menu__welcome-title { margin: 12px 0 0; }
.nye-dish p { max-width: 640px; color: #554d44; line-height: 1.8; font-size: 0.96rem; }
.nye-choices { display: grid; grid-template-columns: minmax(0, 1fr) 50px minmax(0, 1fr); gap: 20px; align-items: start; }
.nye-or { align-self: stretch; display: flex; justify-content: center; align-items: center; gap: 12px; color: #755a33; font-size: 0.65rem; font-weight: 600; letter-spacing: 0.08em; }

.nye-reservation { text-align: center; }
.nye-reservation h2 { margin: 22px auto; }
.nye .nye-reservation__intro { max-width: 600px; margin-inline: auto; color: var(--nye-muted); line-height: 1.85; }
.nye-contacts { display: flex; justify-content: center; gap: 80px; margin: 36px 0; }
.nye-contacts dt { margin-bottom: 12px; color: var(--nye-gold); font-size: 0.73rem; text-transform: uppercase; letter-spacing: 0.12em; }
.nye-contacts dd { margin: 0; font-size: 1rem; }
.nye-contacts a { display: inline-flex; align-items: center; min-height: 44px; color: var(--nye-ivory); font-family: var(--font-display); font-size: 1.8rem; text-decoration: none; }
.nye .nye-reservation__back { display: flex; width: fit-content; margin: 24px auto 0; color: var(--nye-muted); }

.page--new-year-2027 .nye-dialog { width: min(440px, calc(100% - 32px)); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); margin: auto; padding: 52px 28px 28px; overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--nye-gold); border-radius: 20px; background: var(--nye-ivory); color: var(--nye-black); text-align: center; box-shadow: 0 24px 80px rgba(0, 0, 0, 0.25); }
.nye-dialog::backdrop { background: rgba(0, 0, 0, 0.45); }
.nye .nye-dialog h2 { font-family: var(--font-display); font-size: 2rem; line-height: 1.2; letter-spacing: -0.025em; }
.nye .nye-dialog #nye-dialog-description { margin-top: 20px; font-size: 1rem; line-height: 1.7; color: #554d44; }
.nye-dialog__close { position: absolute; inset: 8px 8px auto auto; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--nye-burgundy); font: 32px/1 var(--font-body); cursor: pointer; }
.nye-dialog__close:hover { background: rgba(200, 165, 106, 0.15); }
.nye-dialog__phone { display: block; width: 100%; height: 52px; margin: 20px 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--nye-burgundy); font: 600 1.6rem/1.4 var(--font-display); text-align: center; }
.nye .nye-dialog__status { min-height: 4.5em; margin-top: 16px; font-size: 0.875rem; line-height: 1.5; color: #554d44; }
.nye-dialog :focus-visible { outline: 2px solid var(--nye-burgundy); outline-offset: 3px; }

@media (max-width: 900px) {
    .nye-course { grid-template-columns: 65px minmax(0, 1fr); gap: 18px; }
    .nye-choices { gap: 12px; grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr); }
}

@media (max-width: 767px) {
    .nye-shell, .nye-menu__shell { width: calc(100% - 40px); }
    .nye-hero { padding-bottom: 36px; }
    .nye-actions { gap: 12px 24px; margin-top: 24px; }
    .nye-poster { margin-bottom: 32px; }
    .nye-section-heading { margin-bottom: 34px; }
    .nye-course { grid-template-columns: 40px minmax(0, 1fr); gap: 16px; padding-block: 30px; }
    .nye-course__number { font-size: 2.25rem; }
    .nye-course h3,
    .nye .nye-menu__welcome-label { font-size: 0.67rem; letter-spacing: 0.1em; }
    .nye-menu__welcome { padding-bottom: 24px; }
    .nye .nye-course__note { font-size: 0.8rem; }
    .nye-choices { display: block; }
    .nye-or { justify-content: flex-start; margin-block: 20px; }
    .nye-or::before, .nye-or::after { content: ""; height: 1px; width: 24px; background: rgba(142, 106, 52, 0.35); }
    .nye-dish p { font-size: 0.94rem; }
    .nye-contacts { flex-direction: column; gap: 26px; }
}

