/* Menu page styles — scoped to #menu-main */

.menu-page {
    --menu-section-gap: var(--spacing-xl);
}

.menu-section {
    padding-block: var(--section-spacing-desktop);
}

.menu-intro__content,
.menu-categories__content,
.menu-signature__content,
.menu-poker__content,
.menu-seasonal__content,
.menu-stories__content,
.menu-practical__content,
.menu-allergens__content {
    max-width: var(--container-max);
    margin-inline: auto;
    padding-inline: var(--container-padding-desktop);
}

/* 1. Wprowadzenie do menu */
.menu-intro__content {
    max-width: 66.666%;
    margin-inline: 0;
    padding-inline-start: var(--container-padding-desktop);
    padding-inline-end: var(--container-padding-desktop);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
    align-items: flex-start;
}

.menu-intro__lead,
.menu-intro__invite {
    max-width: 70ch;
    text-align: left;
}

.menu-intro__lead {
    font-size: var(--text-body-large);
    line-height: var(--leading-body-large);
}

.menu-intro__invite {
    font-size: var(--text-body);
    line-height: var(--leading-body);
}

.menu-intro__invite a {
    color: var(--color-deep-wine);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

/* 2. Kategorie menu */
.menu-categories__content {
    max-width: 66.666%;
    margin-inline: 0;
    padding-inline-start: var(--container-padding-desktop);
    padding-inline-end: var(--container-padding-desktop);
}

.menu-categories__list {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
    margin-block-start: var(--spacing-sm);
}

.menu-category {
    border-block-end: 1px solid var(--color-editorial-line);
    padding-block-end: var(--spacing-xs);
}

.menu-category:last-child {
    border-block-end: none;
    padding-block-end: 0;
}

.menu-category h3 {
    margin-block-end: var(--spacing-3xs);
}

.menu-category p {
    max-width: 70ch;
    text-align: left;
}

/* 3. Dania sygnaturowe */
.menu-signature__content {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.menu-signature__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--spacing-xs);
}

.signature-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    background-color: var(--surface-card);
    border: 1px solid var(--color-editorial-line);
    border-radius: var(--radius-card);
    overflow: hidden;
    transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.signature-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.signature-card__media {
    border: none;
    border-radius: 0;
    aspect-ratio: 4 / 3;
}

.signature-card__media img {
    transition: transform var(--transition-smooth);
}

.signature-card:hover .signature-card__media img {
    transform: scale(1.02);
}

.signature-card__body {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-3xs);
    padding: var(--spacing-xs);
}

.signature-card__body h3 {
    margin-block-end: 0;
}

.signature-card__body p {
    max-width: 60ch;
    text-align: left;
    margin-block-end: 0;
}

/* 4. Wieczory pokerowe */
.menu-poker__content {
    max-width: 66.666%;
    margin-inline: 0;
    padding-inline-start: var(--container-padding-desktop);
    padding-inline-end: var(--container-padding-desktop);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
    align-items: flex-start;
}

.menu-poker__content h2 {
    color: var(--color-deep-wine);
}

.menu-poker__lead {
    max-width: 70ch;
    text-align: left;
}

.menu-poker__rules {
    list-style: disc;
    padding-inline-start: var(--spacing-xs);
    max-width: 70ch;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-3xs);
}

.menu-poker__rules li {
    margin-block-end: 0;
}

/* 5. Atmosfera patio */
.menu-patio__content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--spacing-xs);
    align-items: start;
}

.menu-patio__text {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2xs);
    align-items: flex-start;
}

.menu-patio__text h2,
.menu-patio__text h3 {
    margin-block-end: 0;
}

.menu-patio__text p {
    max-width: 70ch;
    text-align: left;
    margin-block-end: 0;
}

.menu-patio__media {
    min-width: 0;
    aspect-ratio: 3 / 2;
    width: 100%;
}

.menu-patio__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 6. Sezonowe inspiracje */
.menu-seasonal__content {
    max-width: 66.666%;
    margin-inline: 0;
    padding-inline-start: var(--container-padding-desktop);
    padding-inline-end: var(--container-padding-desktop);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2xs);
    align-items: flex-start;
}

.menu-seasonal__content h2,
.menu-seasonal__content h3 {
    margin-block-end: 0;
}

.menu-seasonal__content p {
    max-width: 70ch;
    text-align: left;
    margin-block-end: 0;
}

/* 7. Opowieści kulinarne */
.menu-stories__content {
    max-width: 66.666%;
    margin-inline: 0;
    padding-inline-start: var(--container-padding-desktop);
    padding-inline-end: var(--container-padding-desktop);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2xs);
    align-items: flex-start;
}

.menu-stories__content h2,
.menu-stories__content h3 {
    margin-block-end: 0;
}

.menu-stories__content p {
    max-width: 70ch;
    text-align: left;
    margin-block-end: 0;
}

.menu-stories__content blockquote {
    max-width: 70ch;
    text-align: left;
    margin-block-end: 0;
}

/* 8. Informacje praktyczne */
.menu-practical__content {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.menu-practical__columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--spacing-xs);
}

.menu-practical__column {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2xs);
    align-items: flex-start;
}

.menu-practical__column h3 {
    margin-block-end: 0;
}

.menu-practical__column ul {
    list-style: disc;
    padding-inline-start: var(--spacing-xs);
    max-width: 70ch;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-3xs);
}

.menu-practical__column li {
    margin-block-end: 0;
}

.menu-practical__column a {
    color: var(--color-deep-wine);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

/* 9. Zaproszenie do rezerwacji */
.menu-cta__content {
    max-width: 66.666%;
    margin-inline: auto;
    padding-inline: var(--container-padding-desktop);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
    align-items: center;
    text-align: center;
}

.menu-cta__content h2 {
    margin-block-end: 0;
}

.menu-cta__content p {
    max-width: 70ch;
    text-align: center;
    margin-inline: auto;
    margin-block-end: 0;
}

.menu-cta__content .btn {
    margin-block-start: var(--spacing-2xs);
}

/* 10. Nota o alergenach */
.menu-allergens__content {
    max-width: 66.666%;
    margin-inline: 0;
    padding-inline-start: var(--container-padding-desktop);
    padding-inline-end: var(--container-padding-desktop);
    background-color: var(--color-wine-tint);
    border-radius: var(--radius-card);
    padding-block: var(--spacing-xs);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2xs);
    align-items: flex-start;
}

.menu-allergens__content h2,
.menu-allergens__content h3 {
    margin-block-end: 0;
}

.menu-allergens__content p {
    max-width: 70ch;
    text-align: left;
    margin-block-end: 0;
}

/* Responsive */
@media (max-width: 1024px) {
    .menu-intro__content,
    .menu-categories__content,
    .menu-poker__content,
    .menu-seasonal__content,
    .menu-stories__content,
    .menu-allergens__content {
        max-width: 100%;
        padding-inline: var(--container-padding-tablet);
    }

    .menu-signature__content,
    .menu-patio__content,
    .menu-practical__content,
    .menu-cta__content {
        padding-inline: var(--container-padding-tablet);
    }

    .menu-signature__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .menu-patio__content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .menu-section {
        padding-block: var(--section-spacing-mobile);
    }

    .menu-intro__content,
    .menu-categories__content,
    .menu-poker__content,
    .menu-seasonal__content,
    .menu-stories__content,
    .menu-allergens__content {
        max-width: 100%;
        padding-inline: var(--container-padding-mobile);
    }

    .menu-signature__content,
    .menu-patio__content,
    .menu-practical__content,
    .menu-cta__content {
        padding-inline: var(--container-padding-mobile);
    }

    .menu-signature__grid {
        grid-template-columns: 1fr;
    }

    .menu-patio__content {
        grid-template-columns: 1fr;
    }

    .menu-patio__media {
        order: -1;
    }

    .menu-practical__columns {
        grid-template-columns: 1fr;
    }

    .menu-cta__content {
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .menu-section {
        padding-block: var(--spacing-lg);
    }
}
