/* ============================================
   🇮🇹 THEME ITALIAN PREMIUM
   Direction Artistique : Marie
   Brief UX : Inès
   Template pour restaurants italiens haut de gamme
   ============================================ */

/* ============================================
   1. VARIABLES CSS — Palette Marie
   ============================================ */
:root {
    /* Couleurs principales */
    --italian-cream: #FFF8F0;
    --italian-terracotta: #C8755A;
    --italian-black: #1A1A1A;
    --italian-gold: #B8935E;
    
    /* Couleurs secondaires */
    --italian-olive: #6B7F5C;
    --italian-beige: #E8DDD0;
    --italian-white: #FFFBF7;
    
    /* Couleurs texte */
    --italian-text-primary: #1A1A1A;
    --italian-text-secondary: #4A4A4A;
    --italian-text-description: #2C2C2C;
    
    /* Accents interaction */
    --italian-terracotta-hover: #A85D45;
    --italian-gold-hover: #A07F4D;
    
    /* Typographie */
    --font-serif: 'Playfair Display', 'Cormorant Garamond', serif;
    --font-sans: 'Inter', 'DM Sans', sans-serif;
    
    /* Espacements */
    --spacing-xs: 8px;
    --spacing-sm: 12px;
    --spacing-md: 16px;
    --spacing-lg: 24px;
    --spacing-xl: 32px;
    
    /* Bordures */
    --radius-card: 12px;
    --border-subtle: 1px solid var(--italian-beige);
    
    /* Ombres */
    --shadow-card: 0 2px 8px rgba(0, 0, 0, 0.08);
    --shadow-badge: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* ============================================
   2. BASE — Body & Container
   ============================================ */
.theme-italian-premium {
    background-color: var(--italian-cream);
    color: var(--italian-text-primary);
    font-family: var(--font-sans);
    font-size: 16px;
    line-height: 1.6;
}

.theme-italian-premium #main-container {
    padding: var(--spacing-lg) var(--spacing-md);
    max-width: 1024px;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .theme-italian-premium #main-container {
        padding: var(--spacing-xl) var(--spacing-lg);
    }
}

/* ============================================
   3. SECTIONS — Titres & Intros (Brief Inès)
   ============================================ */
.theme-italian-premium .section-area {
    margin-bottom: var(--spacing-xl);
}

/* Le wrapper div autour du h3 empêche le sticky de fonctionner
   display: contents le rend transparent pour le layout */
.theme-italian-premium .section-area > div:has(.section-label) {
    display: contents;
}

.theme-italian-premium .section-label {
    font-family: var(--font-serif);
    font-size: 28px;
    font-weight: 600;
    color: var(--italian-text-primary);
    letter-spacing: 0.02em;
    margin: 0 0 var(--spacing-md) 0;
    padding-bottom: var(--spacing-sm);
    border-bottom: 1px solid var(--italian-beige);
    /* Sticky behavior à la Boogeotte - FIX : calcul dynamique */
    position: -webkit-sticky; /* Safari */
    position: sticky;
    top: calc(var(--tabs-header-height, 70px) + 8px);
    background: var(--italian-cream);
    z-index: 90;
    padding-top: var(--spacing-sm);
    /* Force le comportement sticky visible */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    margin-left: calc(-1 * var(--spacing-md));
    margin-right: calc(-1 * var(--spacing-md));
    padding-left: var(--spacing-md);
    padding-right: var(--spacing-md);
}

/* Responsive : ajustement du top pour mobile */
@media (max-width: 768px) {
    .theme-italian-premium .section-label {
        top: calc(var(--tabs-header-height, 60px) + 8px);
    }
}

@media (min-width: 768px) {
    .theme-italian-premium .section-label {
        font-size: 36px;
    }
}

.theme-italian-premium .intro-text,
.theme-italian-premium .outro-text {
    font-size: 14px;
    font-style: italic;
    color: var(--italian-text-secondary);
    margin-bottom: var(--spacing-md);
}

/* ============================================
   4. GRID PLATS — Mobile-first 1→2 colonnes
   ============================================ */

/* Pour card-grid (div-based) : le grid est sur .dishes-layout-card-grid */
.theme-italian-premium .dishes-layout-card-grid {
    display: grid;
    gap: var(--spacing-md);
    grid-template-columns: 1fr;
}

@media (min-width: 768px) {
    .theme-italian-premium .dishes-layout-card-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--spacing-lg);
    }
}

/* Pour table-based (classic, card-photo) : grid sur section-dishes */
.theme-italian-premium .section-dishes:has(.dishes-table) {
    display: grid;
    gap: var(--spacing-md);
    grid-template-columns: 1fr;
}

@media (min-width: 768px) {
    .theme-italian-premium .section-dishes:has(.dishes-table) {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--spacing-lg);
    }
}

/* Table → Grid : chaque TR devient un grid item */
.theme-italian-premium .dishes-table {
    display: contents;
}

.theme-italian-premium .dishes-table tbody {
    display: contents;
}

/* ============================================
   5. DISH CARD — Style Brief Marie
   ============================================ */
.theme-italian-premium .dish {
    display: flex;
    flex-direction: column;
    background: var(--italian-white);
    border-radius: var(--radius-card);
    overflow: hidden;
    box-shadow: var(--shadow-card);
    transition: all 0.2s ease;
    border: var(--border-subtle);
}

.theme-italian-premium .dish:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

/* ============================================
   6. DISH IMAGE — Photo dominante 4:3
   ============================================ */
.theme-italian-premium .dish-image-cell {
    width: 100% !important;
    padding: 0 !important;
    aspect-ratio: 4/3;
    overflow: hidden;
    position: relative;
}

/* Force les images à prendre 100% (override styles composant) */
.theme-italian-premium .dish-image-cell .menu-dish-image {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    aspect-ratio: 4/3;
}

.theme-italian-premium .dish-image-cell img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.theme-italian-premium .dish:hover .dish-image-cell img {
    transform: scale(1.05);
}

/* Plat SANS image : hauteur auto */
.theme-italian-premium .dish:not(:has(.dish-image-cell)) {
    padding: var(--spacing-lg);
}

/* ============================================
   7. DISH CONTENT — Nom, description, prix
   ============================================ */
.theme-italian-premium .dish > td {
    display: block;
    padding: var(--spacing-md);
}

/* Supprimer le width:20% inline du TD prix pour layout card */
.theme-italian-premium .dish > td[width] {
    width: 100% !important;
    padding-top: 0;
}

.theme-italian-premium .dish > td:has(.dish-image-cell) ~ td {
    padding: var(--spacing-md);
}

/* Nom du plat */
.theme-italian-premium .dish-label,
.theme-italian-premium .dish-label span {
    font-family: var(--font-sans);
    font-size: 18px;
    font-weight: 600;
    color: var(--italian-terracotta) !important;
    letter-spacing: -0.01em;
    margin-bottom: var(--spacing-xs);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--spacing-sm);
}

@media (min-width: 768px) {
    .theme-italian-premium .dish-label {
        font-size: 20px;
    }
}

/* Description — !important requis pour override variant-colors-universal.css */
.theme-italian-premium .dish-description {
    font-size: 14px;
    color: var(--italian-text-description) !important;
    opacity: 1 !important;
    line-height: 1.6;
    margin-bottom: var(--spacing-sm);
}

@media (min-width: 768px) {
    .theme-italian-premium .dish-description {
        font-size: 15px;
    }
}

/* Ingrédients spéciaux en italique (truffe, etc.) */
.theme-italian-premium .dish-description em {
    font-style: italic;
    color: var(--italian-text-secondary);
}

/* Prix + Favoris — alignés en bas de card */
.theme-italian-premium .dish-price {
    font-family: var(--font-sans);
    font-size: 18px;
    font-weight: 600;
    color: var(--italian-terracotta) !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 0;
    padding: var(--spacing-sm) 0 0;
    border-top: 1px solid var(--italian-beige);
}

@media (min-width: 768px) {
    .theme-italian-premium .dish-price {
        font-size: 20px;
    }
}

/* ============================================
   7b. DISH CARD-GRID — Theme Italian Premium
   ============================================ */
.theme-italian-premium .dish-card-grid {
    background: var(--italian-white);
    border-radius: var(--radius-card);
    border: var(--border-subtle);
    box-shadow: var(--shadow-card);
    transition: all 0.2s ease;
}

.theme-italian-premium .dish-card-grid:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

/* Image pleine largeur dans card-grid (override taille fixe du composant) */
.theme-italian-premium .dish-card-grid__image-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
}

.theme-italian-premium .dish-card-grid__image-wrap .menu-dish-image {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    border-radius: 0;
}

.theme-italian-premium .dish-card-grid__image-wrap .menu-dish-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
}

.theme-italian-premium .dish-card-grid:hover .dish-card-grid__image-wrap img {
    transform: scale(1.05);
    transition: transform 0.3s ease;
}

.theme-italian-premium .dish-card-grid__body {
    padding: var(--spacing-md);
}

.theme-italian-premium .dish-card-grid__name {
    font-family: var(--font-sans);
    font-size: 18px;
    font-weight: 600;
    color: var(--italian-terracotta) !important;
    letter-spacing: -0.01em;
}

@media (min-width: 768px) {
    .theme-italian-premium .dish-card-grid__name {
        font-size: 20px;
    }
}

.theme-italian-premium .dish-card-grid__price {
    font-family: var(--font-sans);
    font-size: 18px;
    font-weight: 600;
    color: var(--italian-terracotta) !important;
}

.theme-italian-premium .dish-card-grid__description {
    font-size: 14px;
    color: var(--italian-text-description) !important;
    opacity: 1 !important;
    line-height: 1.6;
    -webkit-line-clamp: unset;
    margin-bottom: var(--spacing-sm);
}

/* Allergènes et régimes : toujours inline, pas de retour à la ligne */
.theme-italian-premium .dish-card-grid__body .allergens,
.theme-italian-premium .dish-card-grid__body .diets {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.25rem;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    margin-bottom: var(--spacing-sm);
}

.theme-italian-premium .dish-card-grid__body .allergens::-webkit-scrollbar,
.theme-italian-premium .dish-card-grid__body .diets::-webkit-scrollbar {
    display: none;
}

.theme-italian-premium .dish-card-grid__options {
    margin-top: var(--spacing-sm);
    padding-top: var(--spacing-sm);
    border-top: 1px solid var(--italian-beige);
}

.theme-italian-premium .dish-card-grid__option {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    color: var(--italian-text-secondary);
    padding: 4px 0;
}

.theme-italian-premium .dish-card-grid__option-price {
    color: var(--italian-terracotta);
    font-weight: 500;
}

.theme-italian-premium .dish-card-grid__supplement-badge {
    color: var(--italian-olive);
    margin-right: 4px;
}

/* Footer : séparateur + prix + actions */
.theme-italian-premium .dish-card-grid__footer {
    margin-top: auto;
    padding-top: var(--spacing-sm);
    border-top: 1px solid var(--italian-beige);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-sm);
}

.theme-italian-premium .dish-card-grid__footer .dish-card-grid__price {
    font-family: var(--font-sans);
    font-size: 18px;
    font-weight: 600;
    color: var(--italian-terracotta) !important;
}

.theme-italian-premium .dish-card-grid__actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Wishlist footer (toujours en bas, position cohérente) */
.theme-italian-premium .dish-card-grid__wishlist-footer .dish-card-grid__heart {
    background: rgba(255, 255, 255, 0.95);
    border: 2px solid var(--italian-terracotta);
    color: var(--italian-terracotta);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.theme-italian-premium .dish-card-grid__wishlist-footer .dish-card-grid__heart:hover,
.theme-italian-premium .dish-card-grid__wishlist-footer .dish-card-grid__heart.is-active {
    background: var(--italian-terracotta);
    color: white;
    border-color: var(--italian-terracotta);
    transform: scale(1.1);
}

/* Photo button dans le footer */
.theme-italian-premium .dish-card-grid__photo-btn {
    background: transparent;
    border: 2px solid var(--italian-terracotta);
    color: var(--italian-terracotta);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
}

.theme-italian-premium .dish-card-grid__photo-btn:hover {
    background: var(--italian-terracotta);
    color: white;
    transform: scale(1.05);
}

/* Plat SANS image card-grid */
.theme-italian-premium .dish-card-grid:not(:has(.dish-card-grid__image-wrap)) .dish-card-grid__body {
    padding: var(--spacing-lg);
}

/* ============================================
   8. OPTIONS & SUPPLÉMENTS (table-based layouts)
   ============================================ */
.theme-italian-premium .dish-options {
    margin-top: var(--spacing-sm);
    padding-top: var(--spacing-sm);
    border-top: 1px solid var(--italian-beige);
}

.theme-italian-premium .dish-option {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    color: var(--italian-text-secondary);
    padding: 4px 0;
}

.theme-italian-premium .option-price {
    color: var(--italian-terracotta);
    font-weight: 500;
}

.theme-italian-premium .supplement-badge {
    color: var(--italian-olive);
    margin-right: 4px;
}

/* ============================================
   9. WISHLIST BUTTON
   ============================================ */
.theme-italian-premium .dish-price button {
    background: transparent;
    border: 2px solid var(--italian-terracotta);
    color: var(--italian-terracotta);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0;
}

.theme-italian-premium .dish-price button:hover {
    background: var(--italian-terracotta);
    color: white;
    transform: scale(1.1);
}

.theme-italian-premium .dish-price button.btn-danger {
    background: var(--italian-terracotta);
    color: white;
}

/* ============================================
   10. BADGES SYSTÈME — Brief Marie
   ============================================ */

/* Container badges (au-dessus du nom si pas de photo) */
.theme-italian-premium .dish-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: var(--spacing-xs);
}

/* Badge base */
.theme-italian-premium .badge-italian {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: 20px;
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    transition: all 0.2s ease;
}

/* Badge Specialità della Casa ⭐ */
.theme-italian-premium .badge-specialita {
    color: var(--italian-gold);
    background: rgba(184, 147, 94, 0.1);
    border: 1px solid var(--italian-gold);
}

/* Badge Fatto in Casa 🏠 */
.theme-italian-premium .badge-fatto-casa {
    color: var(--italian-olive);
    background: rgba(107, 127, 92, 0.1);
    border: 1px solid var(--italian-olive);
}

/* Badge Con Tartufo 🍄 */
.theme-italian-premium .badge-tartufo {
    color: var(--italian-black);
    background: rgba(26, 26, 26, 0.06);
    border: 1px solid var(--italian-black);
}

/* Badges en overlay sur photo */
.theme-italian-premium .dish:has(.dish-image-cell) .dish-badges {
    position: absolute;
    top: var(--spacing-sm);
    left: var(--spacing-sm);
    z-index: 10;
}

.theme-italian-premium .dish:has(.dish-image-cell) .badge-italian {
    background: rgba(255, 255, 255, 0.95);
    box-shadow: var(--shadow-badge);
}

/* ============================================
   11. ALLERGÈNES & RÉGIMES
   ============================================ */
.theme-italian-premium .dish .allergens,
.theme-italian-premium .dish .diets {
    margin-top: var(--spacing-xs);
}

.theme-italian-premium .allergen-badge,
.theme-italian-premium .diet-badge {
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 4px;
    background: var(--italian-beige);
    color: var(--italian-text-secondary);
    margin-right: 4px;
}

/* ============================================
   12. NAVBAR & NAVIGATION
   ============================================ */
.theme-italian-premium .navbar {
    background: var(--italian-white);
    border-bottom: 2px solid var(--italian-terracotta);
}

.theme-italian-premium .navbar .restaurant-name {
    font-family: var(--font-serif);
    color: var(--italian-text-primary);
    font-size: 24px;
    font-weight: 600;
}

/* ═══════════════════════════════════════════════════════════════
   BOTTOM NAVIGATION ITALIAN PREMIUM - Design italien élégant
   ═══════════════════════════════════════════════════════════════ */

.navbar-italian-premium-bottom {
    background: linear-gradient(180deg, 
        var(--italian-white, #FFFBF7) 0%, 
        var(--italian-cream, #FFF8F0) 100%) !important;
    border-top: 3px solid var(--italian-terracotta, #C8755A) !important;
    box-shadow: 
        0 -8px 24px rgba(0, 0, 0, 0.15),
        inset 0 2px 0 rgba(200, 117, 90, 0.1) !important;
    color: var(--italian-text-primary, #1A1A1A) !important;
}

/* ─── Triggers (boutons Menu et Recherche) ─── */
.navbar-italian-premium-bottom .bottom-nav__trigger {
    color: var(--italian-terracotta, #C8755A) !important;
    font-family: var(--font-serif, 'Playfair Display', serif);
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    font-size: 0.9rem;
}

.navbar-italian-premium-bottom .bottom-nav__trigger i,
.navbar-italian-premium-bottom .bottom-nav__arrow {
    color: var(--italian-terracotta, #C8755A) !important;
}

.navbar-italian-premium-bottom .bottom-nav__trigger:hover {
    opacity: 0.8;
}

/* ─── Liens de pages (dans le menu déplié) ─── */
.navbar-italian-premium-bottom .bottom-nav__page-link,
.navbar-italian-premium-bottom button.bottom-nav__page-link,
.navbar-italian-premium-bottom a.bottom-nav__page-link {
    color: var(--italian-text-primary, #1A1A1A) !important;
    background: rgba(232, 221, 208, 0.3) !important;
    border: 1px solid var(--italian-beige, #E8DDD0) !important;
    font-family: var(--font-sans, 'Inter', sans-serif);
    font-weight: 500;
    border-radius: 8px;
    transition: all 0.25s ease;
    text-decoration: none !important;
}

.navbar-italian-premium-bottom .bottom-nav__page-link:hover {
    background: rgba(200, 117, 90, 0.15) !important;
    color: var(--italian-terracotta, #C8755A) !important;
    border-color: var(--italian-terracotta, #C8755A) !important;
}

.navbar-italian-premium-bottom .bottom-nav__page-link.active {
    background: var(--italian-terracotta, #C8755A) !important;
    color: var(--italian-white, #FFFBF7) !important;
    font-weight: 700;
    border-color: transparent !important;
    box-shadow: 0 2px 8px rgba(200, 117, 90, 0.4);
}

/* ─── Barre de recherche ─── */
.navbar-italian-premium-bottom .bottom-nav__search-bar {
    background: rgba(232, 221, 208, 0.5) !important;
    border: 2px solid var(--italian-beige, #E8DDD0) !important;
    border-radius: 50px;
}

.navbar-italian-premium-bottom .bottom-nav__search-bar i {
    color: var(--italian-terracotta, #C8755A) !important;
}

.navbar-italian-premium-bottom .bottom-nav__input {
    color: var(--italian-text-primary, #1A1A1A) !important;
    font-family: var(--font-sans, 'Inter', sans-serif);
}

.navbar-italian-premium-bottom .bottom-nav__input::placeholder {
    color: rgba(26, 26, 26, 0.4) !important;
}

.navbar-italian-premium-bottom .bottom-nav__clear {
    background: rgba(200, 117, 90, 0.2) !important;
    color: var(--italian-terracotta, #C8755A) !important;
}

.navbar-italian-premium-bottom .bottom-nav__clear:hover {
    background: var(--italian-terracotta, #C8755A) !important;
    color: var(--italian-white, #FFFBF7) !important;
}

/* ─── Chips de filtres ─── */
.navbar-italian-premium-bottom .bottom-nav__chip {
    background: rgba(232, 221, 208, 0.4) !important;
    border: 1px solid var(--italian-beige, #E8DDD0) !important;
    color: var(--italian-text-primary, #1A1A1A) !important;
    font-family: var(--font-sans, 'Inter', sans-serif);
    font-weight: 500;
}

.navbar-italian-premium-bottom .bottom-nav__chip:hover {
    background: rgba(200, 117, 90, 0.2) !important;
    border-color: var(--italian-terracotta, #C8755A) !important;
}

.navbar-italian-premium-bottom .bottom-nav__chip.active {
    background: var(--italian-gold, #B8935E) !important;
    color: var(--italian-white, #FFFBF7) !important;
    border-color: transparent !important;
    font-weight: 700;
    box-shadow: 0 2px 8px rgba(184, 147, 94, 0.4);
}

.navbar-italian-premium-bottom .bottom-nav__chip--more {
    background: rgba(107, 127, 92, 0.15) !important;
    border-color: var(--italian-olive, #6B7F5C) !important;
    color: var(--italian-olive, #6B7F5C) !important;
}

.navbar-italian-premium-bottom .bottom-nav__chip--more:hover {
    background: rgba(107, 127, 92, 0.25) !important;
}

.navbar-italian-premium-bottom .bottom-nav__chip--allergen.active {
    background: var(--allergen-color, #dc3545) !important;
    color: #fff !important;
}

/* ─── Panneau filtres avancés ─── */
.navbar-italian-premium-bottom .bottom-nav__advanced-panel {
    background: rgba(255, 251, 247, 0.98) !important;
    border: 2px solid var(--italian-beige, #E8DDD0) !important;
    border-radius: 16px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.navbar-italian-premium-bottom .bottom-nav__filter-title {
    color: var(--italian-terracotta, #C8755A) !important;
    font-family: var(--font-serif, 'Playfair Display', serif);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.8rem;
}

.navbar-italian-premium-bottom .bottom-nav__filter-section {
    border-bottom: 1px solid var(--italian-beige, #E8DDD0);
    padding-bottom: 0.75rem;
    margin-bottom: 0.75rem;
}

.navbar-italian-premium-bottom .bottom-nav__filter-section:last-child {
    border-bottom: none;
}

.navbar-italian-premium-bottom .bottom-nav__action-btn {
    background: rgba(200, 117, 90, 0.15) !important;
    color: var(--italian-terracotta, #C8755A) !important;
    border: 1px solid var(--italian-terracotta, #C8755A) !important;
    font-family: var(--font-sans, 'Inter', sans-serif);
    font-weight: 600;
}

.navbar-italian-premium-bottom .bottom-nav__action-btn:hover {
    background: var(--italian-terracotta, #C8755A) !important;
    color: var(--italian-white, #FFFBF7) !important;
}

/* ─── Bouton collapse central ─── */
.navbar-italian-premium-bottom .bottom-nav__collapse-btn {
    background: linear-gradient(180deg, 
        var(--italian-white, #FFFBF7) 0%, 
        var(--italian-cream, #FFF8F0) 100%) !important;
    color: var(--italian-terracotta, #C8755A) !important;
    border: 2px solid var(--italian-terracotta, #C8755A) !important;
    border-bottom: none !important;
}

.navbar-italian-premium-bottom .bottom-nav__collapse-btn:hover {
    background: var(--italian-terracotta, #C8755A) !important;
    color: var(--italian-white, #FFFBF7) !important;
}

/* ─── Badge compteur ─── */
.navbar-italian-premium-bottom .bottom-nav__badge {
    background: var(--italian-terracotta, #C8755A) !important;
    color: var(--italian-white, #FFFBF7) !important;
    font-weight: 700;
}

.navbar-italian-premium-bottom .bottom-nav__count {
    color: var(--italian-terracotta, #C8755A) !important;
    font-family: var(--font-serif, 'Playfair Display', serif);
    font-weight: 600;
}

/* ─── Drapeaux langues ─── */
.navbar-italian-premium-bottom .bottom-nav__lang-flag {
    color: var(--italian-text-secondary, #4A4A4A) !important;
    font-family: var(--font-sans, 'Inter', sans-serif);
}

.navbar-italian-premium-bottom .bottom-nav__lang-flag.active {
    background: rgba(200, 117, 90, 0.2) !important;
    color: var(--italian-terracotta, #C8755A) !important;
    font-weight: 700;
}

/* ─── Bouton Carte Cadeau ─── */
.navbar-italian-premium-bottom .bottom-nav__gift-card {
    background: linear-gradient(135deg, 
        rgba(184, 147, 94, 0.2) 0%, 
        rgba(168, 137, 32, 0.3) 100%) !important;
    border: 2px solid var(--italian-gold, #B8935E) !important;
    color: var(--italian-gold, #B8935E) !important;
    font-weight: 600;
}

.navbar-italian-premium-bottom .bottom-nav__gift-card:hover {
    background: var(--italian-gold, #B8935E) !important;
    color: var(--italian-white, #FFFBF7) !important;
    transform: scale(1.05);
}

/* ═══════════════════════════════════════════════════════════════
   PANNEAU DE RÉSULTATS ITALIAN PREMIUM
   ═══════════════════════════════════════════════════════════════ */

.search-results-panel.navbar-italian-premium-bottom {
    background: linear-gradient(180deg, 
        rgba(255, 251, 247, 0.98) 0%, 
        rgba(255, 248, 240, 0.98) 100%) !important;
    border: 2px solid var(--italian-terracotta, #C8755A) !important;
    border-bottom: none !important;
    color: var(--italian-text-primary, #1A1A1A) !important;
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.2);
}

.search-results-panel.navbar-italian-premium-bottom .search-results-panel__header {
    border-bottom: 1px solid var(--italian-beige, #E8DDD0);
}

.search-results-panel.navbar-italian-premium-bottom .search-results-panel__summary {
    color: var(--italian-text-primary, #1A1A1A);
    font-family: var(--font-serif, 'Playfair Display', serif);
    font-weight: 600;
}

.search-results-panel.navbar-italian-premium-bottom .search-results-panel__summary i {
    color: var(--italian-terracotta, #C8755A);
}

.search-results-panel.navbar-italian-premium-bottom .search-results-panel__toggle {
    background: rgba(200, 117, 90, 0.15);
    border: 1px solid var(--italian-terracotta, #C8755A);
    color: var(--italian-terracotta, #C8755A);
    font-weight: 600;
    font-family: var(--font-sans, 'Inter', sans-serif);
}

.search-results-panel.navbar-italian-premium-bottom .search-results-panel__toggle:hover {
    background: var(--italian-terracotta, #C8755A);
    color: var(--italian-white, #FFFBF7);
}

.search-results-panel.navbar-italian-premium-bottom .search-results-panel__item {
    background: rgba(232, 221, 208, 0.3);
    border: 1px solid transparent;
}

.search-results-panel.navbar-italian-premium-bottom .search-results-panel__item:hover {
    background: rgba(232, 221, 208, 0.5);
    border-color: var(--italian-beige, #E8DDD0);
}

.search-results-panel.navbar-italian-premium-bottom .search-results-panel__item-name {
    color: var(--italian-text-primary, #1A1A1A);
    font-family: var(--font-sans, 'Inter', sans-serif);
    font-weight: 600;
}

.search-results-panel.navbar-italian-premium-bottom .search-results-panel__item-section {
    color: var(--italian-text-secondary, #4A4A4A);
    font-style: italic;
}

.search-results-panel.navbar-italian-premium-bottom .search-results-panel__item-price {
    color: var(--italian-terracotta, #C8755A);
    font-weight: 700;
}

/* ═══════════════════════════════════════════════════════════════
   FIN BOTTOM NAVIGATION ITALIAN PREMIUM
   ═══════════════════════════════════════════════════════════════ */

/* ============================================
   13. TABS CONTENT
   ============================================ */
.theme-italian-premium .tab-content {
    padding-top: var(--spacing-lg);
}

.theme-italian-premium .tab-pane {
    animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ============================================
   14. MODAL PHOTO (pour zoom)
   ============================================ */
.theme-italian-premium .modal-content {
    background: var(--italian-cream);
    border-radius: var(--radius-card);
}

.theme-italian-premium .modal-header {
    border-bottom: 1px solid var(--italian-beige);
}

.theme-italian-premium .modal-title {
    font-family: var(--font-serif);
    color: var(--italian-text-primary);
}

.theme-italian-premium .modal-body img {
    border-radius: var(--radius-card);
}

/* ============================================
   15. LOADING & PLACEHOLDERS
   ============================================ */
.theme-italian-premium .dish-image-placeholder {
    width: 100%;
    aspect-ratio: 4/3;
    background: var(--italian-beige);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--italian-text-secondary);
}

.theme-italian-premium .skeleton {
    background: linear-gradient(
        90deg,
        var(--italian-beige) 25%,
        var(--italian-white) 50%,
        var(--italian-beige) 75%
    );
    background-size: 200% 100%;
    animation: loading 1.5s ease infinite;
}

@keyframes loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* ============================================
   16. PRINT STYLES
   ============================================ */
@media print {
    .theme-italian-premium .dish-price button,
    .theme-italian-premium .bottom-nav,
    .theme-italian-premium .navbar {
        display: none !important;
    }
    
    .theme-italian-premium .dish {
        break-inside: avoid;
        page-break-inside: avoid;
    }
    
    .theme-italian-premium {
        background: white;
    }
}

/* ============================================
   17. ACCESSIBILITÉ
   ============================================ */
.theme-italian-premium *:focus-visible {
    outline: 2px solid var(--italian-terracotta);
    outline-offset: 2px;
}

.theme-italian-premium button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ============================================
   18. RESPONSIVE REFINEMENTS
   ============================================ */
@media (max-width: 767px) {
    .theme-italian-premium .dish-label {
        font-size: 17px;
    }
    
    .theme-italian-premium .dish-price {
        font-size: 17px;
    }
    
    .theme-italian-premium .section-label {
        font-size: 24px;
    }
}

/* Tablet horizontal */
@media (min-width: 768px) and (max-width: 1023px) {
    .theme-italian-premium .section-dishes {
        gap: var(--spacing-md);
    }
}

/* ============================================
   FIN DU THEME ITALIAN PREMIUM
   Design: Marie | UX: Inès | Dev: Emma
   ============================================ */
