/* ===== PAGE MENU — CARNET DE TABLE ===== */

.menu-intro,
.menu-section {
    padding-block: var(--space-xl);
}

.menu-intro {
    background-color: var(--color-paper);
}

.menu-intro__media {
    width: 100%;
    margin-block-end: var(--space-lg);
}

.menu-intro__image {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border: 4px solid var(--color-paper);
    box-shadow: var(--shadow-lifted);
    border-radius: var(--radius-medium);
    transform: rotate(1deg);
}

.menu-intro__content {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-lg);
    align-items: start;
}

.menu-intro__text {
    min-width: 0;
}

.menu-intro__text h1 {
    font-size: var(--text-h1);
    line-height: var(--leading-h1);
    margin-block-end: var(--space-md);
    text-align: center;
}

.menu-intro__text p {
    max-width: 65ch;
    margin-inline: auto;
    text-align: center;
    margin-block-end: var(--space-md);
}

.menu-intro__list {
    max-width: 65ch;
    margin-inline: auto;
    text-align: center;
    list-style: none;
    padding-inline-start: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.menu-intro__list li {
    line-height: var(--leading-body);
}

.menu-intro__note {
    background-color: var(--color-note);
    border: 1px solid rgba(61, 58, 58, 0.15);
    border-radius: var(--radius-medium);
    box-shadow: var(--shadow-soft);
    padding: var(--space-lg);
    transform: rotate(-0.5deg);
    clip-path: polygon(0% 0%, 98% 2%, 100% 100%, 2% 98%);
}

.menu-intro__note p:first-child {
    font-family: var(--font-heading);
    font-size: var(--text-h3);
    line-height: var(--leading-h3);
    font-weight: var(--weight-heading);
    margin-block-end: var(--space-sm);
}

.menu-intro__note p:last-child {
    font-style: italic;
    color: var(--color-ink-soft);
    margin-block-end: 0;
}

.menu-section {
    background-color: var(--color-paper);
}

.menu-section:nth-of-type(even) {
    background-color: var(--color-paper-dark);
}

.menu-section__header {
    max-width: 65ch;
    margin-inline: auto;
    text-align: center;
    margin-block-end: var(--space-lg);
}

.menu-section__header h2 {
    font-size: var(--text-h2);
    line-height: var(--leading-h2);
    margin-block-end: var(--space-sm);
}

.menu-section__lead {
    color: var(--color-ink-soft);
    margin-block-end: 0;
}

/* ===== CARTES ===== */
.menu-cards {
    display: grid;
    gap: var(--space-lg);
}

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

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

.menu-card {
    background-color: var(--color-paper);
    border: var(--border-thin);
    border-radius: var(--radius-medium);
    box-shadow: var(--shadow-soft);
    padding: var(--space-lg);
    min-width: 0;
    transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.menu-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lifted);
}

.menu-card__body {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    min-width: 0;
}

.menu-card h3 {
    font-size: var(--text-h3);
    line-height: var(--leading-h3);
    margin-block-end: 0;
    overflow-wrap: break-word;
}

.menu-card p {
    max-width: 55ch;
    margin-block-end: 0;
    overflow-wrap: break-word;
}

.menu-card__price {
    font-weight: 700;
    color: var(--color-ink);
    align-self: flex-end;
    margin-block-start: var(--space-xs);
}

.menu-card__annotation {
    font-family: var(--font-heading);
    font-size: var(--text-small);
    color: var(--color-sketch);
    font-style: italic;
}

.menu-card__badge {
    display: inline-block;
    align-self: flex-start;
    background-color: var(--color-note);
    color: var(--color-ink);
    font-size: var(--text-small);
    font-weight: 700;
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-small);
    border: 1px solid rgba(61, 58, 58, 0.15);
}

.menu-card--signature {
    background-color: var(--color-note);
}

.menu-card--entree:nth-child(1) {
    transform: rotate(0.5deg);
}

.menu-card--entree:nth-child(2) {
    transform: rotate(-0.5deg);
}

.menu-card--entree:nth-child(3) {
    transform: rotate(1deg);
}

.menu-card--entree:hover,
.menu-card--dessert:hover,
.menu-card--suggestion:hover {
    transform: translateY(-2px) rotate(0deg);
}

.menu-card--dessert:nth-child(1) {
    transform: rotate(0.5deg);
}

.menu-card--dessert:nth-child(2) {
    transform: rotate(-0.5deg);
}

.menu-card--dessert:nth-child(3) {
    transform: rotate(1deg);
}

.menu-card--suggestion:nth-child(1) {
    transform: rotate(0.5deg);
}

.menu-card--suggestion:nth-child(2) {
    transform: rotate(-0.5deg);
}

.menu-card--poker {
    background-color: var(--color-note);
}

.menu-card__availability {
    font-size: var(--text-small);
    color: var(--color-ink-soft);
    font-style: italic;
}

/* ===== PLATS ===== */
.menu-plats__layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-lg);
    align-items: start;
}

.menu-plats__media {
    min-width: 0;
}

.menu-plats__image {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border: 4px solid var(--color-paper);
    box-shadow: var(--shadow-lifted);
    border-radius: var(--radius-medium);
    transform: rotate(-1deg);
    transition: transform var(--transition-fast);
}

.menu-plats__image:hover {
    transform: rotate(0deg) scale(1.02);
}

.menu-plats__cards {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    min-width: 0;
}

.menu-plats__cards .menu-card {
    width: 100%;
}

/* ===== BOISSONS ===== */
.menu-boissons__layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-lg);
    align-items: start;
}

.menu-boissons__text {
    min-width: 0;
}

.menu-boissons__text h3 {
    margin-block-end: var(--space-sm);
}

.menu-boissons__text p {
    max-width: 65ch;
    margin-block-end: var(--space-md);
}

.menu-boissons__text ul {
    margin-block-end: var(--space-md);
    padding-inline-start: var(--space-lg);
}

.menu-boissons__media {
    min-width: 0;
}

.menu-boissons__image {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border: 4px solid var(--color-paper);
    box-shadow: var(--shadow-lifted);
    border-radius: var(--radius-medium);
    transform: rotate(1deg);
}

/* ===== POKER ===== */
.menu-poker__media {
    width: 100%;
    margin-block-end: var(--space-lg);
}

.menu-poker__image {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border: 4px solid var(--color-paper);
    box-shadow: var(--shadow-lifted);
    border-radius: var(--radius-medium);
    transform: rotate(-0.5deg);
}

.menu-cards--poker {
    gap: var(--space-lg);
}

/* ===== PRODUITS ===== */
.menu-produits__box {
    max-width: 70%;
    margin-inline: auto;
    background-color: var(--color-paper-dark);
    border: var(--border-thin);
    border-radius: var(--radius-medium);
    box-shadow: var(--shadow-soft);
    padding: var(--space-lg);
}

.menu-produits__box h3 {
    margin-block-end: var(--space-sm);
}

.menu-produits__box p {
    max-width: 65ch;
    margin-block-end: var(--space-md);
}

.menu-produits__box ul {
    margin-block-end: 0;
    padding-inline-start: var(--space-lg);
}

/* ===== RESERVATION ===== */
.menu-reservation__box {
    max-width: 50%;
    margin-inline: auto;
    background-color: var(--color-paper);
    border: var(--border-thin);
    border-radius: var(--radius-medium);
    box-shadow: var(--shadow-soft);
    padding: var(--space-lg);
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    align-items: center;
}

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

.menu-reservation__box p {
    max-width: 65ch;
    margin-inline: auto;
    margin-block-end: 0;
}

.menu-reservation__contacts {
    list-style: none;
    padding-inline-start: 0;
    margin-block-end: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    align-items: center;
}

.menu-reservation__contacts a {
    color: var(--color-sketch);
}

.menu-reservation__button {
    min-width: 200px;
    clip-path: polygon(0% 0%, 98% 0%, 100% 100%, 2% 100%);
}

/* ===== RESPONSIVE ===== */
@media (min-width: 768px) {
    .menu-intro__content {
        grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
        gap: var(--space-xl);
    }

    .menu-intro__text h1,
    .menu-intro__text p,
    .menu-intro__list {
        text-align: left;
        margin-inline: 0;
    }

    .menu-intro__text p,
    .menu-intro__list {
        max-width: 65ch;
    }

    .menu-cards--three {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

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

    .menu-plats__layout {
        grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
        gap: var(--space-xl);
    }

    .menu-boissons__layout {
        grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
        gap: var(--space-xl);
    }
}

@media (max-width: 767px) {
    .menu-intro,
    .menu-section {
        padding-block: var(--space-lg);
    }

    .menu-intro__image,
    .menu-plats__image,
    .menu-boissons__image,
    .menu-poker__image {
        transform: rotate(0deg);
    }

    .menu-card--entree,
    .menu-card--dessert,
    .menu-card--suggestion {
        transform: rotate(0deg);
    }

    .menu-produits__box,
    .menu-reservation__box {
        max-width: 100%;
    }

    .menu-reservation__button {
        width: 100%;
    }
}

@media (min-width: 1024px) {
    .menu-section__header {
        margin-block-end: var(--space-xl);
    }
}
