/* ========================================
   DESKTOP MODE - eccoci.menu
   Attivo SOLO sopra 990px.
   Sotto 990px: zero stili, layout mobile identico.
   ======================================== */

@media (min-width: 990px) {

    /* ---- Container: rimuove vincolo max-width ---- */
    .today-menu.desktop-mode.max-768 {
        max-width: 1400px;
    }

    /* ---- HEADER PERSISTENTE DESKTOP ---- */
    .today-menu.desktop-mode .desktop-persistent-header {
        background: #fff;
        border-bottom: 1px solid #eee;
        border-radius: 0 0 20px 20px;
        margin: 0 20px;
        position: sticky;
        top: 0;
        z-index: 50;
    }

    /* Logo grande centrato */
    .today-menu.desktop-mode .desktop-header-logo {
        text-align: center;
        padding: 20px 40px;
    }

    .today-menu.desktop-mode .desktop-header-logo img {
        max-width: 300px !important;
        max-height: 80px;
        object-fit: contain;
    }

    .today-menu.desktop-mode .desktop-header-logo h1 {
        font-size: 1.8rem;
        color: #2c3e50;
        margin: 0;
    }

    /* Icona home inline nella nav categorie */
    .today-menu.desktop-mode .desktop-home-btn {
        text-decoration: none;
        cursor: pointer;
        transition: opacity 0.2s;
        padding: 4px 0;
        display: flex;
        align-items: center;
    }

    .today-menu.desktop-mode .desktop-home-btn:hover {
        opacity: 0.6;
    }

    /* Titolo categoria: elemento separato fuori dall'header */
    .today-menu.desktop-mode .desktop-page-title {
        font-size: 22px;
        font-weight: 700;
        color: #2c3e50;
        margin: 0;
        padding: 24px 40px 8px;
    }

    /* Breadcrumb desktop */
    .today-menu.desktop-mode .desktop-breadcrumb {
        display: none;
        padding: 0 40px 4px;
        font-size: 13px;
        color: #888;
    }

    .today-menu.desktop-mode .desktop-breadcrumb.visible {
        display: block;
    }

    .today-menu.desktop-mode .desktop-breadcrumb a {
        color: #adadad;
        text-decoration: underline;
        transition: color 0.15s;
        font-size: 20px;
        letter-spacing: -1px;
    }

    .today-menu.desktop-mode .desktop-breadcrumb a:hover {
        color: #333;
    }

    .today-menu.desktop-mode .desktop-breadcrumb .breadcrumb-sep {
        margin: 0 6px;
        color: #bbb;
    }

    .today-menu.desktop-mode .desktop-breadcrumb .breadcrumb-current {
        color: #555;
    }

    /* Breadcrumb dentro dettaglio prodotto */
    .today-menu.desktop-mode .desktop-detail-breadcrumb {
        padding: 0 0 32px;
    }

    /* ---- Nascondi header mobile su desktop ---- */
    .today-menu.desktop-mode .menu-header {
        display: none !important;
    }

    .today-menu.desktop-mode .categories-home-header {
        display: none !important;
    }

    .today-menu.desktop-mode .home-header {
        display: none !important;
    }

    /* Nascondi il vecchio header del dettaglio (back + nav ora nel persistent) */
    .today-menu.desktop-mode .desktop-detail-header {
        display: none !important;
    }

    /* ---- CATEGORIE: griglia 3 colonne, card verticali ---- */
    .today-menu.desktop-mode .menu-categories {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
        max-width: none;
        padding: 24px 40px;
        align-content: start;
    }

    .today-menu.desktop-mode .category-card {
        flex-direction: column;
        align-items: stretch;
        min-height: auto;
        border-radius: 8px;
        border: 1px solid #e0e0e0;
        box-shadow: none;
        transition: box-shadow 0.2s ease, transform 0.2s ease;
    }

    .today-menu.desktop-mode .category-card:hover {
        box-shadow: 0 4px 16px rgba(0,0,0,0.1);
        transform: translateY(-2px);
    }

    .today-menu.desktop-mode .category-image {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        flex-shrink: 0;
        background: #f8f8f8;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
    }

    .today-menu.desktop-mode .category-image img {
        object-fit: contain;
        padding: 8px;
    }

    .today-menu.desktop-mode .category-content {
        padding: 16px 20px;
        text-align: center;
    }

    .today-menu.desktop-mode .category-title {
        font-size: 18px;
        font-weight: 600;
    }

    .today-menu.desktop-mode .category-description {
        font-size: 13px;
        margin-top: 4px;
    }

    /* ---- PRODOTTI: griglia 4 colonne ---- */
    .today-menu.desktop-mode .menu-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 24px;
        padding: 24px 40px;
        align-content: start;
        min-height: calc(100vh - 365px);
    }

    .today-menu.desktop-mode .pizza-item {
        margin-bottom: 0;
        border-radius: 8px;
        box-shadow: none;
        border: 1px solid #e8e8e8;
    }

    /* Hover grigio rimosso dalla card prodotti in modalità desktop */
    .today-menu.desktop-mode .pizza-content.clickable-content:hover {
        background-color: transparent !important;
    }

    /* Padding-bottom allergeni nelle card prodotto (solo desktop >= 990px) */
    .today-menu.desktop-mode .pizza-info:has(.info-tag.allergen) {
        padding-bottom: 15px;
    }

    /* Immagine mancante: visibile su desktop */
    .today-menu.desktop-mode .pizza-image.no-image {
        background: #f8f9fa;
        color: #6c757d;
        font-size: 24px;
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8px;
    }

    .today-menu.desktop-mode .pizza-image.no-image .icon {
        font-size: 40px;
    }

    .today-menu.desktop-mode .pizza-image.no-image .text {
        font-size: 12px;
        text-align: center;
    }

    /* Immagine prodotto quadrata con foto adattata */
    .today-menu.desktop-mode .pizza-image {
        height: auto;
        aspect-ratio: 1 / 1;
        background: #f8f8f8;
    }

    .today-menu.desktop-mode .pizza-image img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        padding: 0;
    }

    .today-menu.desktop-mode .pizza-header {
        min-height: 40px;
        padding-bottom: 4px;
    }

    .today-menu.desktop-mode .pizza-name {
        font-size: 15px;
    }

    .today-menu.desktop-mode .pizza-description {
        font-size: 13px;
    }

    /* ---- Sezioni e divisori a tutta larghezza ---- */
    .today-menu.desktop-mode .category-section {
        grid-column: 1 / -1;
    }

    .today-menu.desktop-mode .section-divider {
        grid-column: 1 / -1;
    }

    .today-menu.desktop-mode .subsection-title {
        grid-column: 1 / -1;
    }

    /* ---- Prodotti dentro sezioni accordion: griglia 4 col ---- */
    .today-menu.desktop-mode .section-content {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
        align-content: start;
    }

    .today-menu.desktop-mode .section-content .pizza-item {
        margin-bottom: 0;
    }

    /* Sottosezioni a tutta larghezza nella griglia */
    .today-menu.desktop-mode .section-content .category-subsection {
        grid-column: 1 / -1;
    }

    .today-menu.desktop-mode .subsection-content {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
        align-content: start;
    }

    .today-menu.desktop-mode .subsection-content .pizza-item {
        margin-bottom: 0;
    }

    /* ---- NAV CATEGORIE ORIZZONTALE (con logo e home inline) ---- */
    .today-menu.desktop-mode .desktop-category-bar {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 8px 28px;
        padding: 16px 40px;
        background: #fff;
        border-radius: 0 0 20px 20px;
    }

    .today-menu.desktop-mode .desktop-category-bar a {
        text-decoration: none;
        color: #555;
        font-size: 15px;
        font-weight: 500;
        padding: 4px 0;
        border-bottom: 2px solid transparent;
        transition: color 0.2s, border-color 0.2s;
        cursor: pointer;
    }

    .today-menu.desktop-mode .desktop-category-bar a:hover {
        color: #2c3e50;
    }

    .today-menu.desktop-mode .desktop-category-bar a.active {
        color: #2c3e50;
        font-weight: 600;
        border-bottom-color: currentColor;
    }

    /* ---- PAGINA DETTAGLIO PRODOTTO ---- */
    .today-menu.desktop-mode .desktop-detail-page {
        background: #fff;
        min-height: 60vh;
        margin: 20px;
        border-radius: 20px;
    }

    /* Nav prev/next pill style */
    .today-menu.desktop-mode .desktop-detail-nav {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 0;
        margin-bottom: 24px;
    }

    .today-menu.desktop-mode .desktop-detail-nav-btn {
        background: #fff;
        border: 1px solid #ddd;
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: background 0.2s;
    }

    .today-menu.desktop-mode .desktop-detail-nav-btn:first-child {
        border-radius: 20px 0 0 20px;
    }

    .today-menu.desktop-mode .desktop-detail-nav-btn:last-child {
        border-radius: 0 20px 20px 0;
        border-left: none;
    }

    .today-menu.desktop-mode .desktop-detail-nav-btn:hover:not(:disabled) {
        background: #f5f5f5;
    }

    .today-menu.desktop-mode .desktop-detail-nav-btn:disabled {
        opacity: 0.3;
        cursor: default;
    }

    .today-menu.desktop-mode .desktop-detail-nav-btn svg {
        width: 16px;
        height: 16px;
    }

    .today-menu.desktop-mode .desktop-detail-counter {
        display: none;
    }

    .today-menu.desktop-mode .desktop-detail-body {
        display: flex;
        gap: 48px;
        padding: 40px;
        max-width: 1200px;
        margin: 0 auto;
    }

    .today-menu.desktop-mode .desktop-detail-image {
        flex: 0 0 50%;
        max-width: 50%;
        aspect-ratio: 1 / 1;
        background: #f8f8f8;
        border-radius: 12px;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .today-menu.desktop-mode .desktop-detail-image img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        padding: 0;
    }

    .today-menu.desktop-mode .desktop-detail-image .no-image-placeholder {
        color: #999;
        font-size: 4rem;
        text-align: center;
    }

    .today-menu.desktop-mode .desktop-detail-info {
        flex: 1;
        padding-top: 0;
    }

    .today-menu.desktop-mode .desktop-detail-name {
        font-size: 40px;
        font-weight: 500;
        color: #2c3e50;
        margin: 0 0 12px 0;
        letter-spacing: -1px;
        line-height: 40px;
    }

    .today-menu.desktop-mode .desktop-detail-price {
        font-size: 22px;
        font-weight: 600;
        color: #27ae60;
        margin-bottom: 20px;
    }

    .today-menu.desktop-mode .desktop-detail-description {
        font-size: 16px;
        line-height: 1.6;
        color: #555;
        margin-bottom: 16px;
    }

    .today-menu.desktop-mode .desktop-detail-extended {
        font-size: 15px;
        line-height: 1.6;
        color: #666;
        margin-bottom: 20px;
    }

    .today-menu.desktop-mode .desktop-detail-tags {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    .today-menu.desktop-mode .desktop-detail-tags .info-tag {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 6px 12px;
        background: #f5f5f5;
        border-radius: 20px;
        font-size: 13px;
    }

    /* ---- NASCONDI PREZZI su desktop ---- */
    .today-menu.desktop-mode.hide-prices .pizza-price,
    .today-menu.desktop-mode.hide-prices .product-prices-multi,
    .today-menu.desktop-mode.hide-prices .desktop-detail-price,
    .today-menu.desktop-mode.hide-prices .fixed-price-banner {
        display: none !important;
    }

    /* ---- Firma footer su dettaglio aperto ---- */
    .today-menu.desktop-mode.detail-open .firma-footer {
        padding-top: 40px;
    }

    /* ---- Pannello allergeni: larghezza limitata su desktop ---- */
    .today-menu.desktop-mode .allergen-panel {
        max-width: 600px;
    }

    /* ---- Menu fisso: griglia prodotti ---- */
    .today-menu.desktop-mode .fixed-menu-products {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
        align-content: start;
    }

    .today-menu.desktop-mode .fixed-menu-products .pizza-item {
        margin-bottom: 0;
    }
}

/* ---- Breakpoint intermedio: 3 colonne prodotti ---- */
@media (min-width: 990px) and (max-width: 1199px) {
    .today-menu.desktop-mode .menu-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .today-menu.desktop-mode .section-content {
        grid-template-columns: repeat(3, 1fr);
    }

    .today-menu.desktop-mode .subsection-content {
        grid-template-columns: repeat(3, 1fr);
    }

    .today-menu.desktop-mode .fixed-menu-products {
        grid-template-columns: repeat(3, 1fr);
    }

    .today-menu.desktop-mode .menu-categories {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ---- Grande desktop: 4 colonne ---- */
@media (min-width: 1200px) {
    .today-menu.desktop-mode .menu-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Persistent header, nav e titolo nascosti sotto 990px */
.desktop-persistent-header {
    display: none !important;
}

.desktop-category-bar {
    display: none !important;
}

.desktop-page-title {
    display: none !important;
}

.desktop-breadcrumb {
    display: none !important;
}

@media (min-width: 990px) {
    .today-menu.desktop-mode .desktop-page-title.visible {
        display: block !important;
    }

    .today-menu.desktop-mode .desktop-breadcrumb.visible {
        display: block !important;
    }
}


@media (min-width: 990px) {
    .today-menu.desktop-mode .desktop-persistent-header {
        display: block !important;
    }

    .today-menu.desktop-mode .desktop-category-bar {
        display: flex !important;
    }

}

/* ========================================
   EMBED MODE
   ======================================== */
.today-menu.embed-mode {
    min-height: auto !important;
}

.today-menu.embed-mode .home-page,
.today-menu.embed-mode .categories-page,
.today-menu.embed-mode .menu-page {
    min-height: auto !important;
}

/* Padding-bottom allergeni nella versione embed (tutti i breakpoint) */
.today-menu.embed-mode .pizza-info:has(.info-tag.allergen) {
    padding-bottom: 15px;
}
