/* ============================================================
   ZURIGO · Carte (frontend)
   Style « ardoise » Notturno : fond sombre, texte crème, doré
   ============================================================ */

.zg-carte {
    background: var(--notturno-bg, #11201A);
    padding: 80px 0 100px;
    color: var(--notturno-fg, #F2EFE5);
    font-family: var(--notturno-sans, 'Mulish', sans-serif);
}

.zg-carte__board {
    max-width: 1240px;
    margin: 0 auto;
    padding-inline: 48px;
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    gap: 56px;
    align-items: start;
}

.zg-carte__col {
    display: flex;
    flex-direction: column;
    gap: 56px;
}

.zg-carte__col--left {
    padding-right: 32px;
    border-right: 1px solid var(--notturno-line, rgba(201, 162, 75, 0.24));
}

.zg-carte__cat {
    break-inside: avoid;
}

.zg-carte__cat-head {
    margin-bottom: 24px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--notturno-line, rgba(201, 162, 75, 0.24));
}

.zg-carte__cat-kicker {
    display: block;
    font-family: var(--notturno-serif, 'Cormorant Garamond', serif);
    font-style: italic;
    font-size: 16px;
    color: var(--notturno-gold, #C9A24B);
    margin-bottom: 4px;
}

.zg-carte__cat-title {
    font-family: var(--notturno-serif, 'Cormorant Garamond', serif);
    font-weight: 500;
    font-size: 38px;
    line-height: 1.05;
    color: var(--notturno-fg, #F2EFE5);
    margin: 0;
    letter-spacing: 0.01em;
}

.zg-carte__list {
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: zg-dish;
}

.zg-carte__dish {
    counter-increment: zg-dish;
    padding: 14px 0;
    border-bottom: 1px dashed rgba(201, 162, 75, 0.18);
}

.zg-carte__dish:last-child {
    border-bottom: 0;
}

.zg-carte__dish-head {
    display: flex;
    align-items: baseline;
    gap: 12px;
    font-family: var(--notturno-serif, 'Cormorant Garamond', serif);
    font-size: 22px;
    color: var(--notturno-fg, #F2EFE5);
}

.zg-carte__dish-head::before {
    content: counter(zg-dish, decimal) ")";
    font-family: var(--notturno-serif, 'Cormorant Garamond', serif);
    font-style: italic;
    font-size: 18px;
    color: var(--notturno-gold, #C9A24B);
    min-width: 28px;
}

.zg-carte__dish-name {
    flex: 0 0 auto;
    max-width: calc(100% - 90px);
}

.zg-carte__dots {
    flex: 1;
    border-bottom: 1px dotted rgba(201, 162, 75, 0.32);
    transform: translateY(-4px);
    min-width: 18px;
}

.zg-carte__dish-price {
    font-family: var(--notturno-serif, 'Cormorant Garamond', serif);
    font-style: italic;
    color: var(--notturno-gold-2, #E3C886);
    font-size: 20px;
    white-space: nowrap;
}

.zg-carte__dish-ingr {
    margin: 6px 0 0 38px;
    font-family: var(--notturno-sans, 'Mulish', sans-serif);
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--notturno-fg-3, #7C8A7C);
    font-style: italic;
}

.zg-carte__empty {
    font-family: var(--notturno-serif, 'Cormorant Garamond', serif);
    font-style: italic;
    color: var(--notturno-fg-3, #7C8A7C);
    margin: 0;
}

@media (max-width: 900px) {
    .zg-carte { padding: 56px 0 72px; }
    .zg-carte__board {
        grid-template-columns: 1fr;
        gap: 48px;
        padding-inline: 24px;
    }
    .zg-carte__col--left {
        padding-right: 0;
        padding-bottom: 40px;
        border-right: 0;
        border-bottom: 1px solid var(--notturno-line, rgba(201, 162, 75, 0.24));
    }
    .zg-carte__cat-title { font-size: 30px; }
    .zg-carte__dish-head { font-size: 18px; }
    .zg-carte__dish-price { font-size: 17px; }
}
