/* _content/Jefferson.Web/Pages/Admin/Promozioni.cshtml.rz.scp.css */
/* ═══════════════════════════════════════════════════════════
   Admin/Promozioni.cshtml.css
   MOBILE-FIRST — usabile dal telefono dell'admin
   Desktop: griglia 2 colonne con anteprima sticky
═══════════════════════════════════════════════════════════ */

.jp-main-wrap[b-6lrcr2bekk] {
    background: #f4f5f7 !important;
    box-shadow: none !important;
}

/* ── WRAP ──────────────────────────────────────────────── */
.adm-wrap[b-6lrcr2bekk] {
    max-width: 1100px;
    margin: 0 auto;
    padding: 16px 16px 80px;
}

/* ── HEADER ────────────────────────────────────────────── */
.adm-header[b-6lrcr2bekk] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 20px;
}

.adm-title[b-6lrcr2bekk] {
    font-size: 1.3rem;
    font-weight: 800;
    color: #1a1a1a;
    margin: 0 0 2px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.adm-title i[b-6lrcr2bekk] { color: #c0392b; }

.adm-sub[b-6lrcr2bekk] {
    color: #777;
    font-size: 0.85rem;
    margin: 0;
}

.adm-new-btn[b-6lrcr2bekk] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #c0392b;
    color: #fff !important;
    font-weight: 600;
    font-size: 0.85rem;
    padding: 10px 16px;
    border-radius: 10px;
    text-decoration: none;
    min-height: 44px;
    align-self: flex-start;
    transition: background 0.15s;
}
.adm-new-btn:hover[b-6lrcr2bekk] { background: #a93226; }

/* ── LISTA PROMOZIONI ──────────────────────────────────── */
.adm-list[b-6lrcr2bekk] {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 14px;
    overflow: hidden;
}

.adm-list-row[b-6lrcr2bekk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid #f0f0f0;
    transition: background 0.1s;
}
.adm-list-row:last-child[b-6lrcr2bekk] { border-bottom: none; }
.adm-list-row--active[b-6lrcr2bekk] { background: #fdf0ef; }
.adm-list-row:hover:not(.adm-list-row--active)[b-6lrcr2bekk] { background: #fafafa; }

.adm-list-row__info[b-6lrcr2bekk] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
    flex-wrap: wrap;
}

.adm-list-titolo[b-6lrcr2bekk] {
    font-size: 0.9rem;
    font-weight: 600;
    color: #1a1a1a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 200px;
}

.adm-list-badge[b-6lrcr2bekk] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}
.adm-list-badge--rosso[b-6lrcr2bekk] { background: #c0392b; }
.adm-list-badge--verde[b-6lrcr2bekk] { background: #198754; }
.adm-list-badge--scuro[b-6lrcr2bekk] { background: #444; }

/* Chip stato */
.adm-chip[b-6lrcr2bekk] {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding: 2px 8px;
    border-radius: 4px;
    white-space: nowrap;
}
.adm-chip--attiva[b-6lrcr2bekk]  { background: #edfbf3; color: #085041; border: 1px solid #1D9E75; }
.adm-chip--inattiva[b-6lrcr2bekk]{ background: #f4f4f4; color: #888;    border: 1px solid #ccc; }
.adm-chip--scaduta[b-6lrcr2bekk] { background: #fdf0ef; color: #791F1F; border: 1px solid #E24B4A; }

.adm-scadenza[b-6lrcr2bekk] {
    font-size: 0.72rem;
    color: #999;
}

.adm-list-row__actions[b-6lrcr2bekk] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.adm-btn[b-6lrcr2bekk] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 8px;
    cursor: pointer;
    text-decoration: none;
    border: 1.5px solid;
    min-height: 36px;
    transition: all 0.15s;
}
.adm-btn--edit[b-6lrcr2bekk] {
    border-color: #aaa;
    color: #333;
    background: #fff;
}
.adm-btn--edit:hover[b-6lrcr2bekk] { background: #f0f0f0; border-color: #888; }
.adm-btn--delete[b-6lrcr2bekk] {
    border-color: #e0a0a0;
    color: #c0392b;
    background: #fff;
}
.adm-btn--delete:hover[b-6lrcr2bekk] { background: #fdf0ef; }

/* ── GRIGLIA 2 COLONNE ─────────────────────────────────── */
.adm-grid[b-6lrcr2bekk] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 16px;
    align-items: start;
}

/* ── CARD ──────────────────────────────────────────────── */
.adm-card[b-6lrcr2bekk] {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 14px;
    padding: 18px 16px;
    margin-bottom: 12px;
}
.adm-card:last-child[b-6lrcr2bekk] { margin-bottom: 0; }

.adm-card__title[b-6lrcr2bekk] {
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #aaa;
    margin-bottom: 14px;
}

/* ── TOOLBAR RICH TEXT ─────────────────────────────────── */
.rt-toolbar[b-6lrcr2bekk] {
    display: flex;
    align-items: center;
    gap: 3px;
    flex-wrap: wrap;
    background: #f8f8f8;
    border: 1px solid #e0e0e0;
    border-bottom: none;
    border-radius: 8px 8px 0 0;
    padding: 6px 8px;
}

.rt-btn[b-6lrcr2bekk] {
    background: none;
    border: 1px solid transparent;
    border-radius: 6px;
    padding: 6px 10px;
    cursor: pointer;
    font-size: 0.9rem;
    color: #333;
    min-width: 36px;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.12s;
}
.rt-btn:hover[b-6lrcr2bekk], .rt-btn:active[b-6lrcr2bekk] { background: #e8e8e8; border-color: #ccc; }

.rt-select[b-6lrcr2bekk] {
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 4px 6px;
    font-size: 0.78rem;
    background: #fff;
    height: 36px;
    cursor: pointer;
    max-width: 80px;
}

.rt-color[b-6lrcr2bekk] {
    width: 36px;
    height: 36px;
    padding: 2px 3px;
    border: 1px solid #ddd;
    border-radius: 6px;
    cursor: pointer;
    background: none;
}

.rt-sep[b-6lrcr2bekk] {
    width: 1px;
    height: 22px;
    background: #ddd;
    margin: 0 4px;
    flex-shrink: 0;
}

/* Input e textarea attaccati alla toolbar */
.rt-field[b-6lrcr2bekk] {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-top: 1px solid #e0e0e0;
    font-size: 0.9rem;
    padding: 10px 12px;
}
textarea.rt-field[b-6lrcr2bekk] { min-height: 80px; resize: vertical; }

/* Editor contenteditable — stesso stile di textarea */
.rt-editor[b-6lrcr2bekk] {
    border: 1px solid #ced4da;
    border-top: 1px solid #e0e0e0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
    padding: 10px 12px;
    min-height: 100px;
    font-size: 0.9rem;
    line-height: 1.5;
    background: #fff;
    outline: none;
    overflow-y: auto;
}
.rt-editor:focus[b-6lrcr2bekk] {
    border-color: #86b7fe;
    box-shadow: 0 0 0 0.25rem rgba(13,110,253,.25);
}

/* Dirty badge */
.adm-dirty-badge[b-6lrcr2bekk] {
    display: inline-flex;
    align-items: center;
    font-size: 0.78rem;
    color: #856404;
    background: #fef3cd;
    border: 1px solid #ffc107;
    padding: 4px 12px;
    border-radius: 20px;
    font-weight: 600;
}
.adm-dirty-badge.hidden[b-6lrcr2bekk] { display: none; }

/* ── IMMAGINE ──────────────────────────────────────────── */
.adm-img-preview[b-6lrcr2bekk] {
    display: flex;
    align-items: center;
    gap: 10px;
}
.adm-img-thumb[b-6lrcr2bekk] {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
}
.adm-img-path[b-6lrcr2bekk] {
    font-size: 0.78rem;
    color: #777;
    word-break: break-all;
}

/* ── COLORI RADIO ──────────────────────────────────────── */
.adm-colors[b-6lrcr2bekk] {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.adm-color-opt[b-6lrcr2bekk] {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 10px 16px;
    border: 2px solid #e0e0e0;
    border-radius: 10px;
    font-size: 0.88rem;
    font-weight: 600;
    min-height: 44px;
    transition: all 0.15s;
    flex: 1;
    justify-content: center;
}
.adm-color-opt input[b-6lrcr2bekk] { display: none; }

.adm-color-opt--rosso[b-6lrcr2bekk]::before,
.adm-color-opt--verde[b-6lrcr2bekk]::before,
.adm-color-opt--scuro[b-6lrcr2bekk]::before {
    content: "";
    width: 12px; height: 12px;
    border-radius: 50%;
    flex-shrink: 0;
}
.adm-color-opt--rosso[b-6lrcr2bekk]::before { background: #c0392b; }
.adm-color-opt--verde[b-6lrcr2bekk]::before { background: #198754; }
.adm-color-opt--scuro[b-6lrcr2bekk]::before { background: #444; }

.adm-color-opt--rosso:has(input:checked)[b-6lrcr2bekk] { border-color: #c0392b; background: #fdf0ef; color: #c0392b; }
.adm-color-opt--verde:has(input:checked)[b-6lrcr2bekk] { border-color: #198754; background: #edfbf3; color: #198754; }
.adm-color-opt--scuro:has(input:checked)[b-6lrcr2bekk] { border-color: #444;    background: #f0f0f0; color: #333; }

/* ── ANTEPRIMA — usa le stesse classi idx-* di Index.cshtml ── */
/*
   Invece di duplicare i CSS del pannello con classi prev-*,
   importiamo solo le classi necessarie di Index.cshtml.css
   che non sono già globali.
   Le classi idx-panel, idx-badge, idx-title ecc. sono scoped
   a Index.cshtml.css — le ridefinisco qui per il pannello admin.
*/
#prevPanel.idx-panel[b-6lrcr2bekk] {
    border-radius: 12px;
    overflow: hidden;
    background: #1a1a1a;
    color: #fff;
}

#prevPanel .idx-panel__accent[b-6lrcr2bekk] {
    height: 4px;
    transition: background 0.25s;
}

#prevPanel .idx-panel__body[b-6lrcr2bekk] {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#prevPanel .idx-panel__top[b-6lrcr2bekk] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

#prevPanel .idx-badge[b-6lrcr2bekk] {
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    background: #fef3cd;
    color: #856404;
    border: 1px solid #ffc107;
    padding: 2px 8px;
    border-radius: 4px;
}

#prevPanel .idx-title[b-6lrcr2bekk] {
    font-size: 1rem;
    font-weight: 700;
    margin: 0;
    color: #fff;
}

#prevPanel .idx-sconto[b-6lrcr2bekk] {
    font-size: 0.9rem;
    font-weight: 700;
    margin: 0;
    transition: color 0.25s;
}

#prevPanel .idx-divider[b-6lrcr2bekk] {
    height: 1px;
    background: rgba(255,255,255,0.1);
}

#prevPanel .idx-desc[b-6lrcr2bekk] {
    font-size: 0.78rem;
    color: rgba(255,255,255,0.6);
    margin: 0;
    min-height: 18px;
}

#prevPanel .idx-meta[b-6lrcr2bekk] { display: flex; flex-direction: column; gap: 6px; }
#prevPanel .idx-meta__item[b-6lrcr2bekk] {
    display: flex; align-items: center; gap: 6px;
    font-size: 0.75rem; color: rgba(255,255,255,0.5);
}

.adm-prev-stato[b-6lrcr2bekk] {
    font-size: 0.72rem;
    font-weight: 700;
    align-self: flex-end;
}

/* ── AZIONI ────────────────────────────────────────────── */
.adm-actions[b-6lrcr2bekk] {
    display: flex;
    align-items: center;
    gap: 12px;
}
.adm-actions .btn[b-6lrcr2bekk] {
    width: 100%;
    min-height: 52px;
    font-size: 1rem;
    border-radius: 14px;
}

.adm-preview-note[b-6lrcr2bekk] {
    font-size: 0.7rem;
    color: #aaa;
    line-height: 1.4;
}

/* ═══════════════════════════════════════════════════
   TABLET ≥ 768px
═══════════════════════════════════════════════════ */
@media (min-width: 768px) {
    .adm-wrap[b-6lrcr2bekk]   { padding: 24px 24px 60px; }
    .adm-header[b-6lrcr2bekk] { flex-direction: row; align-items: flex-start; justify-content: space-between; }
    .adm-title[b-6lrcr2bekk]  { font-size: 1.5rem; }

    .adm-actions[b-6lrcr2bekk] { justify-content: flex-start; }
    .adm-actions .btn[b-6lrcr2bekk] { width: auto; min-width: 200px; }

    .adm-list-titolo[b-6lrcr2bekk] { max-width: 320px; }
}

/* ═══════════════════════════════════════════════════
   DESKTOP ≥ 1024px
═══════════════════════════════════════════════════ */
@media (min-width: 1024px) {
    .adm-wrap[b-6lrcr2bekk] { padding: 28px 28px 60px; }

    .adm-grid[b-6lrcr2bekk] {
        grid-template-columns: 1fr 300px;
        gap: 20px;
    }

    .adm-card--sticky[b-6lrcr2bekk] {
        position: sticky;
        top: 16px;
    }

    .adm-title[b-6lrcr2bekk] { font-size: 1.6rem; }
}
/* _content/Jefferson.Web/Pages/Contatti.cshtml.rz.scp.css */
/* ── NO SCROLL VERTICALE — pagina Contatti ────────────────────
   Il contenuto è abbastanza compatto da stare nel viewport.
   jp-main-wrap è già gestito da layout.css; qui blocchiamo
   l'overflow del wrapper specifico della pagina.          */
body[b-hf24we4qkq] { overflow-y: hidden; }

.jp-main-wrap[b-hf24we4qkq] {
    overflow: hidden !important;
    height: calc(100vh - var(--jp-header-h, 98px));
}

.ct-wrap[b-hf24we4qkq] {
    height: 100%;
    overflow-y: auto;          /* scroll interno se il contenuto è alto */
    overflow-x: hidden;
    box-sizing: border-box;
}

/* Mobile: sblocca scroll verticale */
@media (max-width: 767px) {
    body[b-hf24we4qkq]          { overflow-y: auto !important; }
    .jp-main-wrap[b-hf24we4qkq] { overflow: visible !important; height: auto !important; }
    .ct-wrap[b-hf24we4qkq]      { height: auto; overflow-y: visible; }
}

/* ═══════════════════════════════════════════════════════════
   Contatti.cshtml.css

   MODIFICHE LEGGIBILITÀ:
   - .ct-sub: #666 → #444 — sottotitolo header più presente
   - .ct-card__label: #888 → #555 + 0.75rem → 0.82rem
     Le etichette ("Telefono", "WhatsApp", "Orari") devono
     essere lette prima del valore, non dopo.
   - .ct-card__note: #999 → #666 — note operative leggibili
   - .ct-orari__extra: #666 → #444 — info aperture speciali
     rilevanti per chi pianifica una visita
═══════════════════════════════════════════════════════════ */

/* WRAPPER */
.ct-wrap[b-hf24we4qkq] {
    max-width: 900px;
    margin: 0 auto;
    padding: 40px 20px 60px;
}

/* HEADER */
.ct-header[b-hf24we4qkq] { margin-bottom: 40px; }

.ct-title[b-hf24we4qkq] {
    font-size: 2.2rem;
    font-weight: 800;
    color: #111;
    margin-bottom: 8px;
}

/* MODIFICA: #666 → #444 (contrasto ~7.4:1, era ~5.7:1) */
.ct-sub[b-hf24we4qkq] {
    color: #444;                 /* era: #666 */
    font-size: 1rem;
}

/* GRID */
.ct-grid[b-hf24we4qkq] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.ct-card--full[b-hf24we4qkq] { grid-column: 1 / -1; }

/* CARD BASE */
.ct-card[b-hf24we4qkq] {
    background: #fff;
    border-radius: 14px;
    padding: 24px;
    display: flex;
    gap: 18px;
    border: 1px solid #eee;
    box-shadow: 0 4px 16px rgba(0,0,0,0.04);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    text-decoration: none;
    color: inherit;
}

    .ct-card:hover[b-hf24we4qkq] {
        transform: translateY(-3px);
        box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    }

/* ICONE */
.ct-card__icon[b-hf24we4qkq] {
    width: 50px;
    height: 50px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    flex-shrink: 0;
}

.ct-card__icon--phone[b-hf24we4qkq]    { background: #fdf0ef; color: #c0392b; }
.ct-card__icon--whatsapp[b-hf24we4qkq] { background: #eafaf1; color: #25d366; }
.ct-card__icon--time[b-hf24we4qkq]     { background: #edfbf3; color: #198754; }

/* TESTI CARD */
/*
   MODIFICA: 0.75rem → 0.82rem + #888 → #555
   Le label ("Telefono", "WhatsApp", "Orari di apertura")
   devono essere lette immediatamente — erano quasi invisibili
   con #888 su sfondo bianco (contrasto 2.9:1, sotto WCAG AA).
   #555 porta il contrasto a 7.0:1.
*/
.ct-card__label[b-hf24we4qkq] {
    font-size: 0.82rem;          /* era: 0.75rem */
    font-weight: 700;
    letter-spacing: 1.2px;      /* era: 1.4px — ridotto per compensare il font più grande */
    text-transform: uppercase;
    color: #555;                 /* era: #888 — contrasto 2.9:1 insufficiente */
}

.ct-card__value[b-hf24we4qkq] {
    font-size: 1.2rem;
    font-weight: 700;
    color: #111;
    margin-top: 4px;
    text-decoration: none;
    transition: color 0.2s;
}

    .ct-card__value:hover[b-hf24we4qkq] { color: #c0392b; }

/* MODIFICA: #999 → #666 (contrasto 5.7:1, era 2.9:1) */
.ct-card__note[b-hf24we4qkq] {
    font-size: 0.85rem;
    color: #666;                 /* era: #999 */
    margin-top: 2px;
}

/* ORARI */
.ct-orari[b-hf24we4qkq] {
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ct-orari__row[b-hf24we4qkq] {
    display: flex;
    justify-content: space-between;
    padding: 10px 14px;
    border-radius: 8px;
    background: #f8f8f8;
    font-size: 0.95rem;
}

.ct-orari__gg[b-hf24we4qkq]  { font-weight: 600; }

.ct-orari__ore[b-hf24we4qkq] {
    font-weight: 700;
    color: #198754;
}

.ct-orari__row--chiuso .ct-orari__ore[b-hf24we4qkq] { color: #c0392b; }

/* MODIFICA: #666 → #444 — info su aperture speciali e festivi */
.ct-orari__extra[b-hf24we4qkq] {
    margin-top: 14px;
    font-size: 0.9rem;
    color: #444;                 /* era: #666 */
    font-weight: 600;
    line-height: 1.5;
}

/* CARD LINK */
.ct-card--link[b-hf24we4qkq] {
    cursor: pointer;
    text-decoration: none;
    color: inherit;
}

    .ct-card--link:hover .ct-card__icon[b-hf24we4qkq] { transform: scale(1.05); }

/* RESPONSIVE */
@media (max-width: 600px) {
    .ct-grid[b-hf24we4qkq] { grid-template-columns: 1fr; }

    .ct-card[b-hf24we4qkq] {
        flex-direction: row;
        padding: 16px;
        gap: 12px;
    }

    .ct-card__icon[b-hf24we4qkq] {
        width: 42px;
        height: 42px;
        font-size: 1.2rem;
    }

    .ct-card__label[b-hf24we4qkq]  { font-size: 0.72rem; }
    .ct-card__value[b-hf24we4qkq]  { font-size: 1rem; }
    .ct-card__note[b-hf24we4qkq]   { font-size: 0.78rem; }
}
/* _content/Jefferson.Web/Pages/DoveSiamo.cshtml.rz.scp.css */
/* ── NO SCROLL VERTICALE — pagina Dove Siamo ──────────────────
   La mappa è height fissa; l'intera pagina deve stare nel
   viewport senza scorrere.                                 */
body[b-64ah4bjy99] { overflow-y: hidden; }

.jp-main-wrap[b-64ah4bjy99] {
    overflow: hidden !important;
    height: calc(100vh - var(--jp-header-h, 98px));
}

.ds-wrap[b-64ah4bjy99] {
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    box-sizing: border-box;
}

/* Mobile */
@media (max-width: 720px) {
    body[b-64ah4bjy99]          { overflow-y: auto !important; }
    .jp-main-wrap[b-64ah4bjy99] { overflow: visible !important; height: auto !important; }
    .ds-wrap[b-64ah4bjy99]      { height: auto; overflow-y: visible; }
}

/* ═══════════════════════════════════════════════════════════
   DoveSiamo.cshtml.css

   MODIFICHE LEGGIBILITÀ:
   - .ds-sub: #6f6f6f → #444
     "Vieni a trovarci oppure ordina a domicilio" è il primo
     testo che l'utente legge sotto il titolo — deve essere netto.
   - .ds-info-card__label: 0.7rem → 0.82rem + #999 → #555
     "Indirizzo" e "Telefono" sono le due label di navigazione
     della pagina — erano quasi invisibili (contrasto 2.9:1).
     Stesso intervento applicato in Contatti per coerenza.
═══════════════════════════════════════════════════════════ */

.ds-wrap[b-64ah4bjy99] {
    max-width: 1000px;
    margin: 0 auto;
    padding: 48px 20px 70px;
}

/* HEADER */
.ds-header[b-64ah4bjy99] { margin-bottom: 40px; }

.ds-title[b-64ah4bjy99] {
    font-size: 2.4rem;
    font-weight: 800;
    color: #1a1a1a;
    margin-bottom: 8px;
}

/* MODIFICA: #6f6f6f → #444 (contrasto 7.4:1, era 5.0:1) */
.ds-sub[b-64ah4bjy99] {
    font-size: 1rem;
    color: #444;                 /* era: #6f6f6f */
}

/* GRID */
.ds-grid[b-64ah4bjy99] {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 28px;
    align-items: start;
}

/* MAPPA */
.ds-map-wrap[b-64ah4bjy99] {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    height: 440px;
    border: 1px solid #f0f0f0;
    box-shadow: 0 8px 28px rgba(0,0,0,0.08);
}

    .ds-map-wrap iframe[b-64ah4bjy99] {
        width: 100%;
        height: 100%;
        border: 0;
    }

/* CTA MAPPA */
.ds-map-cta[b-64ah4bjy99] {
    position: absolute;
    bottom: 14px; right: 14px;
    background: rgba(0,0,0,0.75);
    color: #fff;
    font-size: 0.85rem;
    padding: 8px 12px;
    border-radius: 6px;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: background 0.2s;
}

    .ds-map-cta:hover[b-64ah4bjy99] { background: rgba(0,0,0,0.9); }

/* INFO */
.ds-info[b-64ah4bjy99] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* CARD */
.ds-info-card[b-64ah4bjy99] {
    display: flex;
    gap: 14px;
    background: #fff;
    border-radius: 12px;
    padding: 18px;
    border: 1px solid #f0f0f0;
    box-shadow: 0 4px 16px rgba(0,0,0,0.04);
    transition: all 0.25s ease;
}

    .ds-info-card:hover[b-64ah4bjy99] {
        transform: translateY(-3px);
        box-shadow: 0 10px 26px rgba(0,0,0,0.08);
    }

/* ICON */
.ds-info-card__icon[b-64ah4bjy99] {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    flex-shrink: 0;
}

.ds-info-card__icon--location[b-64ah4bjy99] { background: #fff1ef; color: #c0392b; }
.ds-info-card__icon--phone[b-64ah4bjy99]    { background: #edf9f1; color: #198754; }

/* TEXT */
/*
   MODIFICA: 0.7rem → 0.82rem + #999 → #555
   "Indirizzo" e "Telefono" devono essere chiari prima ancora
   di leggere il valore — sono le label di contesto.
   0.7rem + #999 = contrasto 2.9:1 (sotto WCAG AA).
   0.82rem + #555 = contrasto 7.0:1.
   Intervento identico a Contatti.cshtml.css per coerenza visiva.
*/
.ds-info-card__label[b-64ah4bjy99] {
    font-size: 0.82rem;          /* era: 0.7rem */
    letter-spacing: 1.2px;      /* era: 1.5px */
    text-transform: uppercase;
    font-weight: 700;
    color: #555;                 /* era: #999 */
    margin-bottom: 4px;
}

.ds-info-card__value[b-64ah4bjy99] {
    font-size: 0.95rem;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1.5;
    text-decoration: none;
}

.ds-info-card__value--link:hover[b-64ah4bjy99] { color: #c0392b; }

/* CTA DIRECTIONS */
.ds-directions-btn[b-64ah4bjy99] {
    margin-top: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #c0392b;
    color: #fff;
    font-weight: 700;
    font-size: 0.95rem;
    padding: 14px;
    border-radius: 10px;
    text-decoration: none;
    box-shadow: 0 6px 18px rgba(192,57,43,0.3);
    transition: all 0.25s ease;
}

    .ds-directions-btn:hover[b-64ah4bjy99] {
        background: #a93226;
        transform: translateY(-2px);
    }

/* RESPONSIVE */
@media (max-width: 720px) {
    .ds-grid[b-64ah4bjy99]          { grid-template-columns: 1fr; }
    .ds-map-wrap[b-64ah4bjy99]      { height: 300px; }
}
/* _content/Jefferson.Web/Pages/Error.cshtml.rz.scp.css */
/* Error.cshtml.css — Pagina errore globale
   Mobile-first: centrata, leggibile su qualsiasi schermo */

.err-wrap[b-eyymvc0l2d] {
    min-height: calc(100vh - 110px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
}

.err-card[b-eyymvc0l2d] {
    width: 100%;
    max-width: 480px;
    text-align: center;
    padding: 40px 32px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 8px 40px rgba(0,0,0,0.08);
    border: 1px solid #f0f0f0;
}

/* Codice HTTP grande */
.err-code[b-eyymvc0l2d] {
    font-size: clamp(4rem, 18vw, 7rem);
    font-weight: 900;
    line-height: 1;
    color: #c0392b;
    letter-spacing: -3px;
    margin-bottom: 8px;
}

.err-titolo[b-eyymvc0l2d] {
    font-size: clamp(1.2rem, 4vw, 1.6rem);
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 12px;
}

.err-msg[b-eyymvc0l2d] {
    font-size: 0.95rem;
    color: #666;
    line-height: 1.6;
    margin: 0 0 24px;
}

/* Dettagli tecnici (solo Development) */
.err-details[b-eyymvc0l2d] {
    text-align: left;
    background: #f8f8f8;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 12px;
    margin-bottom: 20px;
    font-size: 0.78rem;
}

.err-details summary[b-eyymvc0l2d] {
    cursor: pointer;
    font-weight: 600;
    color: #555;
    margin-bottom: 8px;
}

.err-details pre[b-eyymvc0l2d] {
    margin: 0;
    white-space: pre-wrap;
    word-break: break-word;
    color: #c0392b;
    font-size: 0.72rem;
}

/* TraceId */
.err-trace[b-eyymvc0l2d] {
    font-size: 0.72rem;
    color: #aaa;
    margin: 0 0 24px;
}

.err-trace code[b-eyymvc0l2d] {
    background: #f5f5f5;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.68rem;
}

/* Bottoni azione */
.err-actions[b-eyymvc0l2d] {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

.err-btn[b-eyymvc0l2d] {
    display: inline-flex;
    align-items: center;
    padding: 11px 22px;
    border-radius: 10px;
    font-size: 0.88rem;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.2s, transform 0.15s;
}

.err-btn--primary[b-eyymvc0l2d] {
    background: #c0392b;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(192,57,43,0.35);
}

.err-btn--primary:hover[b-eyymvc0l2d] {
    background: #a93226;
    transform: translateY(-1px);
    color: #fff !important;
}

.err-btn--secondary[b-eyymvc0l2d] {
    background: #f5f5f5;
    color: #333 !important;
    border: 1px solid #e0e0e0;
}

.err-btn--secondary:hover[b-eyymvc0l2d] {
    background: #eee;
    color: #333 !important;
}

/* Mobile */
@media (max-width: 480px) {
    .err-card[b-eyymvc0l2d]    { padding: 32px 20px; }
    .err-actions[b-eyymvc0l2d] { flex-direction: column; align-items: stretch; }
    .err-btn[b-eyymvc0l2d]     { justify-content: center; }
}
/* _content/Jefferson.Web/Pages/Index.cshtml.rz.scp.css */
/* ═══════════════════════════════════════════════════════════
   Index.cshtml.css — Homepage Croccante
   MOBILE-FIRST: base = mobile, poi tablet, poi desktop

   MODIFICHE LEGGIBILITÀ:
   - .home-logo__pre e __sub: hotpink → #c0392b (rosso palette, contrasto 5.2:1)
   - .home-logo__main: 'red' → #c0392b (colore palette, non keyword CSS)
   - .idx-badge: 0.6rem → 0.72rem (era illeggibile su mobile)
   - .idx-meta__item: #777 → #444 (orari apertura devono essere leggibili)
   - .idx-desc: #555 → #333 (corpo testo più marcato)
   - .home-claim: #bbb → #888 + font-size 0.68rem → 0.78rem
   - .ct-sub equivalente: già in Contatti.cshtml.css
═══════════════════════════════════════════════════════════ */

.menu-btn[b-ecxtptecsa] {
    width: 80px;
    height: 80px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

    .menu-btn:active[b-ecxtptecsa] {
        transform: scale(0.95);
    }

    .menu-btn:hover[b-ecxtptecsa] {
        transform: scale(1.05);
    }

@media (max-width: 576px) {
    .menu-btn[b-ecxtptecsa] {
        width: 90px;
        height: 90px;
    }
}

/* ── jp-main-wrap su homepage ─────────────────────────────── */
.jp-main-wrap[b-ecxtptecsa] {
    background: #fff !important;
    box-shadow: none !important;
    padding: 0 !important;
    height: auto;
    overflow-y: auto;
    overflow-x: hidden;
}

/* ── LAYOUT BASE (mobile: stack verticale) ────────────────── */
.home-layout[b-ecxtptecsa] {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100%;
}

/* ── FOTO ─────────────────────────────────────────────────── */
/*.home-photo {
    flex: 0 0 auto;
    height: clamp(200px, 45vw, 320px);
    position: relative;
    overflow: hidden;
}

.home-photo__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 55%;
    display: block;
    animation: photoZoom 8s ease-out forwards;
}*/
.home-photo[b-ecxtptecsa] {
    position: relative;
}

.home-photo__img[b-ecxtptecsa] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
}

@keyframes photoZoom-b-ecxtptecsa {
    from {
        transform: scale(1.04);
    }

    to {
        transform: scale(1.00);
    }
}

/* ── CONTENUTO ────────────────────────────────────────────── */
.home-content[b-ecxtptecsa] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 28px 20px 48px;
    gap: 20px;
    background: #fff;
}

.home-hero[b-ecxtptecsa] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 20px;
}

.home-logo[b-ecxtptecsa] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 2px;
    user-select: none;
    animation: fadeDown-b-ecxtptecsa 0.6s ease both;
}

.home-layout-panel[b-ecxtptecsa] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: stretch;
}

.home-left[b-ecxtptecsa],
.home-right[b-ecxtptecsa] {
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.home-logo-wrap[b-ecxtptecsa] {
    display: flex;
    align-items: center;
    justify-content: center;
}

.night-card[b-ecxtptecsa] {
    width: 100%;
    max-width: 420px;
    padding: 30px 2px 30px 0;
    border-radius: 16px;
    background: linear-gradient(135deg, #1a1a1a, #2c3e50);
    color: #fff;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.25);
}

.night-title[b-ecxtptecsa] {
    width: 100%;
    font-size: 1.4rem;
    font-weight: 800;
    margin-bottom: 15px;
}

.night-text[b-ecxtptecsa] {
    font-size: 0.95rem;
    opacity: 0.85;
    margin-bottom: 20px;
}

.night-btn[b-ecxtptecsa] {
    background: var(--jp-white);
    border: none;
    padding: 10px 20px;
    border-radius: 999px;
    font-weight: 700;
    color: #fff;
    opacity: 0.85;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
}

    .night-btn:hover[b-ecxtptecsa] {
        transform: translateY(-2px);
        box-shadow: 0 6px 16px rgba(0,0,0,0.3);
    }

@keyframes fadeDown-b-ecxtptecsa {
    from {
        opacity: 0;
        transform: translateY(-12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* MODIFICA: hotpink → #c0392b (rosso della palette, contrasto 5.2:1 su bianco) */
.home-logo__pre[b-ecxtptecsa] {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 6px;
    color: #c0392b; /* era: hotpink — contrasto insufficiente su #fff */
}

/* MODIFICA: 'red' keyword → #c0392b (colore palette, stessa leggibilità ma coerente) */
.home-logo__main[b-ecxtptecsa] {
    display: flex;
    align-items: center;
    font-size: clamp(1.9rem, 9vw, 2.9rem);
    font-weight: 700;
    letter-spacing: -1px;
    color: #c0392b; /* era: red (keyword CSS) — ora colore palette */
    line-height: 1;
}

.home-logo__o[b-ecxtptecsa] {
    display: inline-flex;
    align-items: center;
}

.home-logo__pizza-o[b-ecxtptecsa] {
    width: clamp(1.8rem, 8vw, 2.8rem);
    height: clamp(1.8rem, 8vw, 2.8rem);
    margin: 0 1px;
    animation: pizzaSpin-b-ecxtptecsa 20s linear infinite;
}

@keyframes pizzaSpin-b-ecxtptecsa {
    to {
        transform: rotate(360deg);
    }
}

/* MODIFICA: hotpink → #c0392b */
.home-logo__sub[b-ecxtptecsa] {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 4px;
    color: #c0392b; /* era: hotpink */
    margin-top: 2px;
}

/* ── NAV LINKS ────────────────────────────────────────────── */
.home-nav[b-ecxtptecsa] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px 8px;
    animation: fadeDown-b-ecxtptecsa 0.6s 0.12s ease both;
    opacity: 0;
    animation-fill-mode: forwards;
}

.home-nav__link[b-ecxtptecsa] {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #555;
    text-decoration: none;
    padding: 6px 10px;
    border-radius: 6px;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    transition: color 0.2s, background 0.2s;
}

    .home-nav__link:hover[b-ecxtptecsa],
    .home-nav__link.active[b-ecxtptecsa] {
        color: #c0392b;
        background: rgba(192,57,43,0.07);
    }

.home-nav__sep[b-ecxtptecsa] {
    color: #ddd;
    pointer-events: none;
}

/* ── PANNELLO PROMO ───────────────────────────────────────── */

.idx-panel-wrapper[b-ecxtptecsa] {
    display: flex;
    justify-content: center;
    align-items: center;
}

.idx-panel[b-ecxtptecsa] {
    width: 100%;
    background: #fff;
    border: 1.5px solid #eee;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 6px 24px rgba(0,0,0,0.08);
    animation: fadeDown-b-ecxtptecsa 0.6s 0.25s ease both;
    opacity: 0;
    animation-fill-mode: forwards;
}

.idx-panel__accent[b-ecxtptecsa] {
    height: 4px;
    background: #c0392b;
}

.idx-panel--verde .idx-panel__accent[b-ecxtptecsa] {
    background: #198754;
}

.idx-panel--scuro .idx-panel__accent[b-ecxtptecsa] {
    background: #555;
}

.idx-panel__body[b-ecxtptecsa] {
    padding: 20px 18px 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    color: #222;
}

.idx-panel__top[b-ecxtptecsa] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* MODIFICA: 0.6rem → 0.72rem (era illeggibile su mobile con base 11px) */
.idx-badge[b-ecxtptecsa] {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    font-size: 0.72rem; /* era: 0.6rem */
    font-weight: 800;
    letter-spacing: 1.5px; /* era: 2px — ridotto per compensare il font più grande */
    text-transform: uppercase;
    padding: 4px 10px; /* era: 3px 10px */
    border-radius: 4px;
    background: #fef3cd;
    color: #856404;
    border: 1px solid #ffc107;
}

.idx-title[b-ecxtptecsa] {
    font-size: 1.2rem;
    font-weight: 800;
    color: #1a1a1a;
    line-height: 1.25;
    margin: 0;
}

.idx-sconto[b-ecxtptecsa] {
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0;
    color: #c0392b;
}

.idx-panel--verde .idx-sconto[b-ecxtptecsa] {
    color: #198754;
}

.idx-panel--scuro .idx-sconto[b-ecxtptecsa] {
    color: #444;
}

.idx-divider[b-ecxtptecsa] {
    height: 1px;
    background: #f0f0f0;
}

/* MODIFICA: #555 → #333 (corpo testo promo più marcato e leggibile) */
.idx-desc[b-ecxtptecsa] {
    font-size: 0.88rem; /* era: 0.85rem */
    color: #333; /* era: #555 */
    line-height: 1.6;
    margin: 0;
}

.idx-meta[b-ecxtptecsa] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* MODIFICA: #777 → #444 — gli orari di apertura devono essere facilmente leggibili */
.idx-meta__item[b-ecxtptecsa] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem; /* era: 0.82rem */
    font-weight: 500; /* aggiunto: peso per maggiore presenza */
    color: #444; /* era: #777 — contrasto troppo basso */
}

    .idx-meta__item i[b-ecxtptecsa] {
        color: #c0392b;
        flex-shrink: 0;
    }

/* ── CLAIM ────────────────────────────────────────────────── */
/*
   MODIFICA:
   - font-size: 0.68rem → 0.78rem  (era quasi illeggibile su mobile)
   - color: #bbb → #888  (contrasto 4.7:1, soddisfa WCAG AA per testo piccolo)
*/
.home-claim[b-ecxtptecsa] {
    font-size: 0.78rem; /* era: 0.68rem */
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #888; /* era: #bbb — contrasto insufficiente 1.9:1 */
    text-align: center;
    margin: 0;
    animation: fadeDown-b-ecxtptecsa 0.6s 0.4s ease both;
    opacity: 0;
    animation-fill-mode: forwards;
}

/* ── BOTTONE CTA ──────────────────────────────────────────── */
.idx-btn[b-ecxtptecsa] {
    display: inline-flex;
    align-items: center;
    background: #c0392b;
    color: #fff !important;
    font-size: 0.88rem;
    font-weight: 700;
    padding: 12px 22px;
    border-radius: 10px;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(192,57,43,0.35);
    min-height: 44px;
    transition: background 0.2s, transform 0.15s;
}

    .idx-btn:hover[b-ecxtptecsa] {
        background: #a93226;
        color: #fff !important;
    }

    .idx-btn:active[b-ecxtptecsa] {
        transform: scale(0.98);
    }

.idx-panel--verde .idx-btn[b-ecxtptecsa] {
    background: #198754;
}

    .idx-panel--verde .idx-btn:hover[b-ecxtptecsa] {
        background: #146c43;
    }

.idx-panel--scuro .idx-btn[b-ecxtptecsa] {
    background: #444;
}

    .idx-panel--scuro .idx-btn:hover[b-ecxtptecsa] {
        background: #222;
    }

/* ═══════════════════════════════════════════════════════════
   TABLET  ≥ 768px
═══════════════════════════════════════════════════════════ */
@media (min-width: 768px) {
    .home-photo[b-ecxtptecsa] {
        height: clamp(280px, 35vw, 420px);
    }

    .home-content[b-ecxtptecsa] {
        padding: 36px 32px 56px;
        gap: 24px;
        align-items: center;
    }

    .home-logo__main[b-ecxtptecsa] {
        font-size: clamp(2.4rem, 6vw, 3.5rem);
    }

    .idx-panel[b-ecxtptecsa] {
        max-width: 520px;
    }

    .idx-panel__body[b-ecxtptecsa] {
        padding: 24px 24px 22px;
    }

    .idx-title[b-ecxtptecsa] {
        font-size: 1.4rem;
    }
}

/* ═══════════════════════════════════════════════════════════
   DESKTOP  ≥ 1024px
   ─────────────────────────────────────────────────────────
   Layout target:
   ┌──────────────────────┬─────────────────────┐
   │  FOTO  (position:    │  Logo (absolute,    │
   │  relative per logo)  │  in alto a destra   │
   │                      ├─────────────────────┤
   │                      │  PROMO PRODOTTI     │
   │                      │  (flex:1, scorre)   │
   ├──────────────────────┴─────────────────────┤
   │  AFFAMATI DELLA NOTTE  (full width, fondo) │
   └────────────────────────────────────────────┘

   home-layout = grid 2 colonne × 2 righe:
     col 1 = foto (row 1+2)
     col 2 row 1 = home-content (promo)
     col 2 row 2 = home-bottom (notte)
═══════════════════════════════════════════════════════════ */
@media (min-width: 1024px) {

    /* Nessuno scroll verticale sul wrapper */
    .jp-main-wrap[b-ecxtptecsa] {
        height: calc(100vh - var(--jp-header-h, 88px));
        overflow: hidden;
    }

    /* home-logo--mobile nascosto: su desktop il logo è overlay sulla foto */
    .home-logo--mobile[b-ecxtptecsa] {
        display: none !important;
    }

    /*
     * Grid 2 colonne × 2 righe.
     * Colonna sinistra (foto): 58% — copre entrambe le righe.
     * Colonna destra riga 1 (promo): flex:1 — occupa lo spazio disponibile.
     * Colonna destra riga 2 (notte): altezza automatica, allineata in fondo.
     */
    .home-layout[b-ecxtptecsa] {
        display: grid;
        grid-template-columns: 58% 1fr;
        grid-template-rows: 1fr auto;
        grid-template-areas:
            "foto  promo"
            "foto  notte";
        height: 100%;
        overflow: hidden;
        gap: 0;
    }

    /* Foto: occupa entrambe le righe, position:relative per logo overlay */
    .home-photo[b-ecxtptecsa] {
        grid-area: foto;
        height: 100%;
        position: relative; /* contesto per home-logo-overlay */
        overflow: hidden;
    }

    .home-photo__img[b-ecxtptecsa] {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 40% center;
        border-radius: 0;
        display: block;
    }

    /*
     * Logo CROCCANTE: sovrapposto sulla foto in alto a destra.
     * Usa position:absolute ancorata a home-photo (che ha position:relative).
     */
    .home-logo-overlay[b-ecxtptecsa] {
        position: absolute;
        top: 20px;
        right: 20px;
        z-index: 2;
        display: flex;
        justify-content: flex-end;
    }

    .home-logo[b-ecxtptecsa] {
        background: rgba(0, 0, 0, 0.55);
        padding: 12px 18px;
        border-radius: 10px;
        backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px);
    }

    .home-logo__main[b-ecxtptecsa] {
        font-size: clamp(2.4rem, 3.5vw, 3.8rem);
    }

    /*
     * home-content = colonna destra riga 1 (PROMO PRODOTTI).
     * Occupa tutta l'altezza disponibile fino al pannello Notte.
     * Nessun overflow: il pannello promo è compatto.
     */
    .home-content[b-ecxtptecsa] {
        grid-area: promo;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: stretch;
        padding: 28px 32px 16px;
        gap: 0;
        overflow: hidden;
        background: #fff;
    }

    /* home-layout-panel: colonna singola (promo occupa tutta la larghezza della colonna) */
    .home-layout-panel[b-ecxtptecsa] {
        display: flex;
        flex-direction: column;
        gap: 0;
        width: 100%;
    }

    /* home-left = il pannello promo, occupa tutto lo spazio della colonna */
    .home-left[b-ecxtptecsa] {
        width: 100%;
        justify-content: stretch;
        align-items: stretch;
    }

        .home-left .idx-panel-wrapper[b-ecxtptecsa],
        .home-left .idx-panel[b-ecxtptecsa],
        .home-left .idx-no-promo[b-ecxtptecsa] {
            width: 100%;
            max-width: none;
        }

    /* home-right nascosto: la night-card si sposta nel home-bottom */
    .home-right[b-ecxtptecsa] {
        display: none;
    }

    /* idx-panel: nessun max-width fisso su desktop, occupa tutta la colonna */
    .idx-panel[b-ecxtptecsa] {
        max-width: none;
        width: 100%;
    }

    .idx-panel__body[b-ecxtptecsa] {
        padding: 20px 24px 18px;
        gap: 12px;
    }

    .idx-title[b-ecxtptecsa] {
        font-size: clamp(1.1rem, 1.6vw, 1.4rem);
    }

    .idx-sconto[b-ecxtptecsa] {
        font-size: 1.1rem;
    }

    /* home-claim nascosto su desktop (spazio limitato) */
    .home-claim[b-ecxtptecsa] {
        display: none;
    }
}

/*
 * home-bottom = colonna destra riga 2 (AFFAMATI DELLA NOTTE).
 * Elemento aggiunto via CSS con grid-area "notte".
 * La night-card viene riposizionata qui tramite la grid-area nel Razor.
 * NB: .home-bottom è il wrapper che aggiungiamo al Razor.
 */
@media (min-width: 1024px) {
    .home-bottom[b-ecxtptecsa] {
        grid-area: notte;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 12px 32px 20px;
        background: #fff;
        border-top: 1px solid #f0f0f0;
    }

        .home-bottom .night-card[b-ecxtptecsa] {
            width: 100%;
            max-width: none;
            padding: 16px 24px;
            border-radius: 12px;
            display: flex;
            flex-direction: row;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            text-align: left;
        }

        .home-bottom .night-title[b-ecxtptecsa] {
            font-size: 1.1rem;
            margin-bottom: 0;
            white-space: nowrap;
        }

        .home-bottom .night-text[b-ecxtptecsa] {
            font-size: 0.85rem;
            margin-bottom: 0;
            opacity: 0.8;
        }

        .home-bottom .night-btn[b-ecxtptecsa] {
            flex-shrink: 0;
            padding: 8px 16px;
            font-size: 0.85rem;
        }
}

/* ═══════════════════════════════════════════════════════════
   LARGE DESKTOP  ≥ 1440px
═══════════════════════════════════════════════════════════ */
@media (min-width: 1440px) {
    .home-content[b-ecxtptecsa] {
        padding: 48px 64px;
        gap: 32px;
    }

    .home-logo__main[b-ecxtptecsa] {
        font-size: clamp(3.5rem, 4vw, 5rem);
    }

    .idx-panel[b-ecxtptecsa] {
        max-width: 460px;
    }
}

/* ── Bottone menu premium ──────────────────────────────────── */
.idx-btn--menu[b-ecxtptecsa] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 28px;
    border-radius: 50px;
    background: linear-gradient(135deg, #f39c12, #e74c3c);
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
    text-transform: uppercase;
    box-shadow: 0 6px 20px rgba(0,0,0,0.2);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

    .idx-btn--menu:hover[b-ecxtptecsa] {
        background: linear-gradient(135deg, #f1c40f, #c0392b);
        transform: scale(1.05);
        box-shadow: 0 10px 28px rgba(0,0,0,0.3);
    }

.idx-btn__icon[b-ecxtptecsa] {
    font-size: 1.4rem;
    transition: transform 0.3s ease;
}

.idx-btn--menu:hover .idx-btn__icon[b-ecxtptecsa] {
    transform: translateX(6px) rotate(10deg);
}

.idx-btn--menu[b-ecxtptecsa]::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: rgba(255,255,255,0.15);
    transform: rotate(25deg);
    transition: all 0.5s ease;
}

.idx-btn--menu:hover[b-ecxtptecsa]::after {
    left: 100%;
    top: 100%;
}

.promo-wrapper[b-ecxtptecsa] {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

.promo-card[b-ecxtptecsa] {
    background: #1c1c1c;
    color: #fff;
    border-radius: 20px;
    padding: 20px;
    max-width: 420px;
    width: 100%;
    box-shadow: 0 10px 25px rgba(0,0,0,0.3);
    text-align: center;
}

.promo-header[b-ecxtptecsa] {
    margin-bottom: 15px;
}

.promo-badge[b-ecxtptecsa] {
    display: inline-block;
    background: #e74c3c;
    padding: 5px 10px;
    border-radius: 10px;
    font-size: 12px;
}

.promo-title[b-ecxtptecsa] {
    margin: 10px 0 5px;
}

.promo-subtitle[b-ecxtptecsa] {
    opacity: 0.8;
}

.promo-body[b-ecxtptecsa] {
    margin: 15px 0;
}

.promo-footer[b-ecxtptecsa] {
    font-size: 14px;
    opacity: 0.8;
    margin-bottom: 15px;
}

.promo-cta a[b-ecxtptecsa] {
    display: inline-block;
    background: #f1c40f;
    color: #000;
    padding: 10px 20px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: bold;
}
/* MOBILE
 * FIX (B) — foto full-width, logo CROCCANTE sovrapposto in alto a destra.
 *
 * Struttura:
 *   .home-layout  (position:relative)
 *     .home-photo         <- 100% larghezza, altezza fissa
 *     .home-logo--mobile  <- position:absolute, angolo in alto a destra
 *       .home-logo        <- testo CROCCANTE, no background
 *     .home-content       <- sotto la foto, full width
 */
@media (max-width: 768px) {

    /* Wrapper: colonna singola, context per il logo assoluto */
    .home-layout[b-ecxtptecsa] {
        display: flex;
        flex-direction: column;
        position: relative; /* <- contesto per il logo sovrapposto */
    }

    /* Foto: occupa tutta la larghezza, più alta */
    .home-photo[b-ecxtptecsa] {
        width: 100%;
        height: 220px;
        flex-shrink: 0;
    }

    .home-photo__img[b-ecxtptecsa] {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 0;
        display: block;
    }

    /* Logo: sovrapposto in alto a destra sulla foto, nessun background */
    .home-logo--mobile[b-ecxtptecsa] {
        position: absolute;
        top: 8px;
        right: 8px;
        display: flex;
        align-items: flex-start;
        justify-content: flex-end;
        background: transparent; /* nessun colore di sfondo */
        padding: 0;
        z-index: 10;
    }

    /* home-content: sotto la foto, full width */
    .home-content[b-ecxtptecsa] {
        width: 100%;
        grid-template-columns: 1fr;
    }

    /* FIX: home-logo-overlay nascosto su mobile — il logo lo gestisce
       .home-logo--mobile (position:absolute sulla foto) */
    .home-logo-overlay[b-ecxtptecsa] {
        display: none !important;
    }

    /* Logo interno: nessun background, testo leggibile con text-shadow */
    .home-logo[b-ecxtptecsa] {
        background: transparent;
        padding: 6px 8px;
        border-radius: 0;
        gap: 3px;
        text-align: right;
        text-shadow: 0 1px 4px rgba(0,0,0,0.7), 0 0 12px rgba(0,0,0,0.5);
    }

    .home-hero[b-ecxtptecsa] {
        display: block;
    }

    .home-logo__pre[b-ecxtptecsa] {
        font-size: 9px;
        letter-spacing: 2px;
    }

    .home-logo__main[b-ecxtptecsa] {
        font-size: clamp(24px, 8vw, 34px);
        line-height: 1.05;
    }

    .home-logo__sub[b-ecxtptecsa] {
        font-size: 8px;
        letter-spacing: 1px;
    }

    .home-logo__pizza-o[b-ecxtptecsa] {
        width: 26px;
        height: 26px;
    }

    /* home-bottom nascosto su mobile: la night-card è già in home-right */
    .home-bottom[b-ecxtptecsa] {
        display: none;
    }
}
/* _content/Jefferson.Web/Pages/Menu.cshtml.rz.scp.css */
/* ═══════════════════════════════════════════════════════════
   Menu.cshtml.css — CSS Isolation pagina Menu

   MODIFICHE LEGGIBILITÀ:
   - .menu-cat-tabs .nav-link: 0.68rem → 0.80rem (desktop)
     I tab sono i bottoni di navigazione principali del menu —
     devono essere comodi da leggere senza avvicinare gli occhi.
   - .menu-grid-1col .menu-item-name: 12px → 13px
   - .menu-grid-1col .jp-price: 14px → 15px
   - .menu-grid-1col .menu-item-text small: #7a8499 → #5a6478
   - .menu-item-composizione li: 10.5px → 12px + #7a8499 → #5a6478
     Gli ingredienti sono informazione rilevante per gli allergeni.
═══════════════════════════════════════════════════════════ */

/* ── NO SCROLL VERTICALE — jp-main-wrap locked ────────────── */
/* Il menu usa altezze calc() precise — nessun overflow verticale.
   Lo scroll avviene solo internamente a .menu-cat-scroll e #riepilogoCardBody */
body[b-27gx08uwer] {
    overflow-y: hidden;
}

.jp-main-wrap[b-27gx08uwer] {
    overflow: hidden !important;
    height: calc(100vh - var(--jp-header-h, 98px));
}

#menuPage[b-27gx08uwer] {
    height: 100%;
    overflow: hidden;
}

#menuPage[b-27gx08uwer] {
    height: 100%;
    overflow: visible;
}

.pizza-item[b-27gx08uwer] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
}

.pizza-name[b-27gx08uwer] { font-weight: 500; }

.pizza-icon[b-27gx08uwer] {
    font-size: 1.2rem;
    line-height: 1;
}

#riepilogoBody[b-27gx08uwer] {
    padding: 20px;
    font-family: Arial;
}

/* ── BADGE PRODOTTI ───────────────────────────────────────── */
.badge[b-27gx08uwer] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.75rem;
    font-weight: bold;
    padding: 3px 8px;
    border-radius: 10px;
    line-height: 1;
    vertical-align: middle;
    white-space: nowrap;
}

    .badge .dot[b-27gx08uwer] {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        flex-shrink: 0;
    }

.badge-top[b-27gx08uwer] {
    background-color: #333333;
    opacity: 0.8;
    color: #f1c40f;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}

    .badge-top .dot[b-27gx08uwer] { background-color: #f1c40f; margin-left: -1px; }

.badge-spicy[b-27gx08uwer] {
    background-color: #fdecea;
    color: #c0392b;
}

    .badge-spicy .dot[b-27gx08uwer] { background-color: #e74c3c; }

.badge-veg[b-27gx08uwer] {
    background-color: #eafaf1;
    color: #1e8449;
}

    .badge-veg .dot[b-27gx08uwer] { background-color: #2ecc71; }

@media (min-width: 768px) {
    .badge[b-27gx08uwer] {
        font-size: 0.8rem;
        padding: 4px 10px;
        gap: 6px;
    }

        .badge .dot[b-27gx08uwer] {
            width: 10px;
            height: 10px;
        }

    .badge-top[b-27gx08uwer] {
        box-shadow: 0 2px 4px rgba(0,0,0,0.2);
    }
}

/* ═══════════════════════════════════════════════════════════
   GRIGLIA MENU 3×2
═══════════════════════════════════════════════════════════ */
.menu-card-grid[b-27gx08uwer] {
    display: grid;
    /* FIX: 3 colonne × 2 righe — era 2×2 */
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 10px;
    /* Altezza ricalcolata: menuBox ora è full-width (col-12),
       il riepilogo è sempre hidden — recuperiamo tutto lo spazio */
    /*height: calc(100vh - var(--jp-header-h, 28px) - 100px);*/
    min-height: 0;
}

/* ── SINGOLA CARD ─────────────────────────────────────────── */
.menu-cat-card[b-27gx08uwer] {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e8eaed;
    border-radius: 14px;
    overflow: hidden;
    min-height: 0;
    box-shadow: 0 6px 20px rgba(0,0,0,0.10), 0 2px 6px rgba(0,0,0,0.06);
    transition: box-shadow 0.2s ease;
    position: relative;
    height: calc(50vh - var(--jp-header-h, 88px) - 50px);
    
}

/* ── HEADER CARD ──────────────────────────────────────────── */
.menu-cat-header[b-27gx08uwer] {
    position: relative;
    background: rgba(0,0,0,0.07);
    color: #fff;
    font-weight: 800;
    font-size: 0.85rem;          /* era: 0.82rem — lieve aumento */
    letter-spacing: 0.8px;
    text-transform: uppercase;
    padding: 8px 7px 5px 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: none;
}

/* Colori header per categoria */
.menu-cat-card[data-cat="PIZZE"]   .menu-cat-header[b-27gx08uwer] { background: var(--jp-red-header);    color: #5a1010; }
.menu-cat-card[data-cat="MENU"]    .menu-cat-header[b-27gx08uwer] { background: var(--jp-blue-header);   color: #1a2560; }
.menu-cat-card[data-cat="FRITTI"]  .menu-cat-header[b-27gx08uwer] { background: var(--jp-amber-header);  color: #4a3000; }
.menu-cat-card[data-cat="BEVANDE"] .menu-cat-header[b-27gx08uwer] { background: var(--jp-forest-header); color: #0e3d22; }
.menu-cat-card[data-cat="EXTRA"] .menu-cat-header[b-27gx08uwer] {  background: var(--jp-gray);  }

/* Colori body per categoria */
.menu-cat-card[data-cat="PIZZE"][b-27gx08uwer]   { background: var(--jp-red-soft);    border-color: var(--jp-red-header); }
.menu-cat-card[data-cat="MENU"][b-27gx08uwer]    { background: var(--jp-blue-soft);   border-color: var(--jp-blue-header); }
.menu-cat-card[data-cat="FRITTI"][b-27gx08uwer]  { background: var(--jp-amber-soft);  border-color: var(--jp-amber-header); }
.menu-cat-card[data-cat="BEVANDE"][b-27gx08uwer] { background: var(--jp-forest-soft); border-color: var(--jp-forest-header); }

/* ── TAB SOTTOCATEGORIE ──────────────────────────────────── */
.menu-cat-tabs[b-27gx08uwer] {
    flex-shrink: 0;
    border-bottom: 1px solid rgba(0,0,0,0.08);
    background: transparent;
    padding: 0 6px;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    position: relative;
}

    .menu-cat-tabs[b-27gx08uwer]::-webkit-scrollbar { display: none; }
    .menu-cat-tabs .nav-item[b-27gx08uwer]           { flex-shrink: 0; }

    /*
       MODIFICA: 0.68rem → 0.80rem
       I tab sono i pulsanti di navigazione principale del menu.
       0.68rem (≈11px su base 16px) era troppo piccolo per
       permettere una lettura immediata senza avvicinare lo schermo.
       0.80rem (≈13px) è ancora compatto ma leggibile.
    */
    .menu-cat-tabs .nav-link[b-27gx08uwer] {
        font-size: 0.80rem;          /* era: 0.68rem */
        font-weight: 600;
        color: black !important;
        padding: 4px 8px !important;
        border: none !important;
        border-bottom: none !important;
        border-radius: 0 !important;
        white-space: nowrap;
        background: transparent !important;
        transition: color 0.2s ease;
    }

        .menu-cat-tabs .nav-link:hover[b-27gx08uwer]  { color: #555 !important; }
        .menu-cat-tabs .nav-link.active[b-27gx08uwer] { font-weight: 700; }

    /* Sliding indicator */
    .menu-cat-tabs[b-27gx08uwer]::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        height: 2.5px;
        border-radius: 2px 2px 0 0;
        width: var(--tab-indicator-w, 0px);
        transform: translateX(var(--tab-indicator-x, 0px));
        transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1),
                    width    0.28s cubic-bezier(0.4, 0, 0.2, 1);
    }

/* Colori tab attivi */
.menu-cat-card[data-cat="PIZZE"]   .menu-cat-tabs .nav-link.active[b-27gx08uwer] { color: var(--jp-red)    !important; }
.menu-cat-card[data-cat="MENU"]    .menu-cat-tabs .nav-link.active[b-27gx08uwer] { color: var(--jp-blue)   !important; }
.menu-cat-card[data-cat="FRITTI"]  .menu-cat-tabs .nav-link.active[b-27gx08uwer] { color: var(--jp-amber)  !important; }
.menu-cat-card[data-cat="BEVANDE"] .menu-cat-tabs .nav-link.active[b-27gx08uwer] { color: var(--jp-forest) !important; }

/* Indicator colors */
.menu-cat-card[data-cat="PIZZE"]   .menu-cat-tabs[b-27gx08uwer]::after { background: var(--jp-red); }
.menu-cat-card[data-cat="MENU"]    .menu-cat-tabs[b-27gx08uwer]::after { background: var(--jp-blue); }
.menu-cat-card[data-cat="FRITTI"]  .menu-cat-tabs[b-27gx08uwer]::after { background: var(--jp-amber); }
.menu-cat-card[data-cat="BEVANDE"] .menu-cat-tabs[b-27gx08uwer]::after { background: var(--jp-forest); }

/* ── AREA SCROLL PRODOTTI ────────────────────────────────── */
.menu-cat-scroll[b-27gx08uwer] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
    scrollbar-width: thin;
    scrollbar-color: lightgrey transparent;
    max-height: 250px;
}

    .menu-cat-scroll[b-27gx08uwer]::-webkit-scrollbar       { width: 4px; }
    .menu-cat-scroll[b-27gx08uwer]::-webkit-scrollbar-thumb { border-radius: 4px; }

/* ── GRIGLIA PRODOTTI 1 COLONNA ──────────────────────────── */
.menu-grid-1col[b-27gx08uwer] {
    grid-template-columns: 1fr !important;
    margin: 8px 14px 10px;
    border-radius: 6px;
    overflow: hidden;
}

    .menu-grid-1col .menu-item-row[b-27gx08uwer] {
        padding: 2px 2px;
        cursor: default;
        pointer-events: none;
        transition: background 0.12s;
    }

/* Ordine attivo */
body.ordine-attivo .menu-grid-1col .menu-item-row[b-27gx08uwer] {
    cursor: pointer;
    pointer-events: auto;
    border-radius: 6px;
    border: 1px solid #e8eaed;
    background: #fff;
    margin-bottom: 4px;
    padding: 6px 10px;
    transition: background 0.15s, border-color 0.15s;
}

    body.ordine-attivo .menu-grid-1col .menu-item-row:hover[b-27gx08uwer]  { background: #f5f5f5; border-color: #ccc; }
    body.ordine-attivo .menu-grid-1col .menu-item-row:active[b-27gx08uwer] { background: rgba(0,0,0,0.08); }

/* MODIFICA: 12px → 13px — coerente con menu-grid.css */
.menu-grid-1col .menu-item-name[b-27gx08uwer] {
    font-size: 13px;             /* era: 12px */
    font-weight: 600;
    color: #1a1a1a;
}

/* MODIFICA: 14px → 15px */
.menu-grid-1col .jp-price[b-27gx08uwer] {
    font-size: 15px;             /* era: 14px */
    font-weight: 600;
    color: #2d2d2d;
}

/* MODIFICA: #7a8499 → #5a6478 */
.menu-grid-1col .menu-item-text small[b-27gx08uwer] {
    font-size: 11px;
    color: #5a6478;              /* era: #7a8499 */
}

/* ═══════════════════════════════════════════════════════════
   BOX RIEPILOGO
═══════════════════════════════════════════════════════════ */
#riepilogoBox[b-27gx08uwer] {
    /* FIX: riepilogo sempre nascosto su desktop — vive nel drawer mobile.
       La griglia 3×2 occupa tutta la larghezza (col-12 nel Razor). */
    display: none !important;
}

#btnOrdinazione[b-27gx08uwer] {
    font-weight: 700;
    border-radius: 8px;
    flex-shrink: 0;
    letter-spacing: 0.5px;
    transition: all 0.2s ease;
}

.hidden-temporary[b-27gx08uwer]  { display: none !important; }
#ordineStatus[b-27gx08uwer]      { display: none !important; }

@keyframes pulse-info-b-27gx08uwer {
    0%   { box-shadow: 0 0 0 0   rgba(13, 202, 240, 0.55); }
    70%  { box-shadow: 0 0 0 8px rgba(13, 202, 240, 0); }
    100% { box-shadow: 0 0 0 0   rgba(13, 202, 240, 0); }
}

#riepilogoCard[b-27gx08uwer] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.riepilogo-slide[b-27gx08uwer] {
    transform: translateX(110%);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.55s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.25s ease;
}

    .riepilogo-slide.riepilogo-visible[b-27gx08uwer] {
        transform: translateX(0);
        opacity: 1;
        pointer-events: auto;
    }

.riepilogo-wrapper[b-27gx08uwer] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

    .riepilogo-wrapper .card[b-27gx08uwer] {
        flex: 1;
        display: flex;
        flex-direction: column;
        min-height: 0;
        font-size: 0.78rem;
        background: transparent;
        border: none;
        box-shadow: none;
        border-radius: 0;
    }

    .riepilogo-wrapper .card-header[b-27gx08uwer] {
        font-size: 0.72rem !important;
        font-weight: 700;
        padding: 6px 10px;
        text-align: center;
        background: #f5f5f5;
        border-bottom: 2px solid #ddd;
        border-radius: 8px 8px 0 0;
        flex-shrink: 0;
        letter-spacing: 0.3px;
    }

#riepilogoCardBody[b-27gx08uwer] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 4px 2px;
    background: transparent;
    scrollbar-width: thin;
    scrollbar-color: lightgrey transparent;
}

    #riepilogoCardBody[b-27gx08uwer]::-webkit-scrollbar       { width: 4px; }
    #riepilogoCardBody[b-27gx08uwer]::-webkit-scrollbar-thumb { background: #cdd3df; border-radius: 4px; }

.riepilogo-wrapper .card-footer[b-27gx08uwer] {
    padding: 5px 8px;
    flex-shrink: 0;
}

.riepilogo-wrapper .btn-remove[b-27gx08uwer] {
    padding: 0;
    line-height: 1;
    background: none;
    border: none;
}

    .riepilogo-wrapper .btn-remove i[b-27gx08uwer] { font-size: 0.65rem !important; }

.riepilogo-badge-qta[b-27gx08uwer] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    font-size: 0.55rem;
    font-weight: 800;
    background: rgba(0,0,0,0.12);
    color: inherit;
    border-radius: 50%;
    flex-shrink: 0;
}

#btnPrenotaOrdine[b-27gx08uwer] {
    font-size: 0.75rem !important;
    padding: 10px;
}

.minimo-badge-float[b-27gx08uwer] {
    font-size: 0.60rem;
    text-align: center;
    margin-top: 2px;
    color: var(--jp-red);
    font-weight: 700;
}

#ordineStatus[b-27gx08uwer] { font-size: 0.75rem !important; }

/* ═══════════════════════════════════════════════════════════
   MODALE MENU
═══════════════════════════════════════════════════════════ */
.jp-modal-header[b-27gx08uwer] {
    background: #1a1a1a;
    color: #fff;
    border-bottom: 2px solid var(--jp-red);
}

    .jp-modal-header .btn-close[b-27gx08uwer]          { filter: invert(1); }
    .jp-modal-header #modalMenuSottocategoria[b-27gx08uwer] { color: #f39c12; }

/* ── COMPOSIZIONE MENU ─────────────────────────────────────── */
.menu-item-composizione[b-27gx08uwer] {
    list-style: none;
    padding: 0;
    margin: 2px 0 0;
}

    /*
       MODIFICA: 10.5px → 12px + #7a8499 → #5a6478
       Gli ingredienti sono rilevanti per allergeni — 10.5px era
       il valore più piccolo dell'intera app, di fatto illeggibile
       su mobile senza zoom.
    */
    .menu-item-composizione li[b-27gx08uwer] {
        font-size: 12px;         /* era: 10.5px */
        color: #5a6478;          /* era: #7a8499 */
        padding-left: 10px;
        position: relative;
    }

        .menu-item-composizione li[b-27gx08uwer]::before {
            content: "·";
            position: absolute;
            left: 2px;
            color: var(--jp-red);
        }

/* ── BANNER INLINE RIEPILOGO ────────────────────────────────── */
.riepilogo-banner[b-27gx08uwer] {
    position: relative;
    z-index: 10;
    background: linear-gradient(160deg, #198754 100%, #0f5132 0%);
    border-radius: 10px 10px 0 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.8rem 1.2rem 0.8rem;
    text-align: center;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: opacity 0.35s ease, max-height 0.35s ease, padding 0.35s ease;
    font-size: 16px;
}

    .riepilogo-banner.riepilogo-banner-visible[b-27gx08uwer] {
        opacity: 1;
        max-height: 160px;
    }

    .riepilogo-banner.riepilogo-banner-hiding[b-27gx08uwer] {
        opacity: 0;
        max-height: 0;
        padding-top: 0;
        padding-bottom: 0;
    }

.riepilogo-banner-btn-chiudi[b-27gx08uwer] {
    margin-top: 0.7rem;
    background: rgba(255,255,255,0.15);
    border: 1px solid rgba(255,255,255,0.4);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.5px;
    cursor: pointer;
    padding: 0.3rem 1rem;
    border-radius: 6px;
    transition: background 0.2s, border-color 0.2s;
    align-self: center;
}

    .riepilogo-banner-btn-chiudi:hover[b-27gx08uwer] {
        background: rgba(255,255,255,0.28);
        border-color: rgba(255,255,255,0.7);
    }

.riepilogo-banner-icon[b-27gx08uwer]    { font-size: 36px; color: #fff; margin-bottom: 0.4rem; line-height: 1; }
.riepilogo-banner-titolo[b-27gx08uwer]  { font-size: 15px; font-weight: 700; color: #fff; letter-spacing: 0.5px; margin-bottom: 0.4rem; }
.riepilogo-banner-testo[b-27gx08uwer]   { font-size: 12px; color: rgba(255,255,255,0.9); line-height: 1.5; margin-bottom: 0.6rem; }

.banner-riga[b-27gx08uwer]  { display: flex; align-items: baseline; gap: 8px; margin-bottom: 5px; font-size: 12px; }
.banner-label[b-27gx08uwer] { font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: rgba(255,255,255,0.55); min-width: 56px; flex-shrink: 0; }
.banner-val[b-27gx08uwer]   { color: rgba(255,255,255,0.92); line-height: 1.4; }

.riepilogo-banner-footer[b-27gx08uwer] {
    font-size: 13px;
    font-weight: 800;
    color: #d4edda;
    background: rgba(0,0,0,0.2);
    border-radius: 8px;
    padding: 0.3rem 1rem;
}

/* ═══════════════════════════════════════════════════════════
   MOBILE — breakpoint < 768px
═══════════════════════════════════════════════════════════ */
@media (max-width: 767px) {

    /*
     * FIX (C) — elimina scroll orizzontale su Menu.
     *
     * Causa radice: <div class="row me-1 ms-1" id="menuPage">
     * Bootstrap .row applica margin-right/left: calc(-0.5 * var(--bs-gutter-x))
     * che su viewport < 768px fa overflow oltre il 100% del body.
     * I margini me-1/ms-1 aggiungono ulteriore spazio.
     *
     * Soluzione:
     *   1. Annullare i margini negativi di .row sul container padre.
     *   2. overflow-x:hidden su jp-main-wrap e body per il caso residuo.
     *   3. box-sizing:border-box su tutto ciò che ha padding esplicito.
     */

    /* 1. Blocca overflow orizzontale — sblocca verticale su mobile
          (su desktop body ha overflow-y:hidden, qui lo riportiamo ad auto) */
    body[b-27gx08uwer] {
        overflow-x: hidden !important;
        overflow-y: auto !important;   /* sblocca scroll verticale su mobile */
    }

    .jp-main-wrap[b-27gx08uwer] {
        overflow-x: hidden !important;
        overflow-y: visible !important;
        height: auto !important;       /* no altezza fissa su mobile */
    }

    /* 2. Annulla i margini negativi di Bootstrap .row dentro #menuPage
          e forza la larghezza al 100% del viewport */
    #menuPage[b-27gx08uwer] {
        height: auto !important;
        overflow: visible !important;
        /* Reset margini negativi Bootstrap .row */
        --bs-gutter-x: 0 !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        /* Limita al 100% del container */
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding-right: 4px !important;
        padding-left: 4px !important;
    }

    /* 3. menuBox: full width senza padding che allarga */
    #menuBox[b-27gx08uwer] {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        padding: 0 !important;       /* rimuove i 4px che sommati al row fanno overflow */
        box-sizing: border-box !important;
    }

    /* 4. Griglia prodotti: colonna singola, niente altezze fisse */
    .menu-card-grid[b-27gx08uwer] {
        grid-template-columns: 1fr !important;
        grid-template-rows: none !important;
        height: auto !important;
        gap: 8px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .menu-cat-card[b-27gx08uwer]    { height: auto !important; min-height: 0 !important; }

    .menu-cat-scroll[b-27gx08uwer]  { max-height: 250px !important; overflow-y: auto !important; overflow-x: hidden !important; }

    /* 5. Tab: nessun min-width che allarga la card oltre il viewport */
    .menu-cat-tabs[b-27gx08uwer] {
        overflow-x: auto !important;
        overflow-y: hidden !important;
    }

    /* Tab touch-friendly */
    .menu-cat-tabs .nav-link[b-27gx08uwer] {
        padding: 10px 12px !important;
        font-size: 0.95rem !important;
        min-height: 44px !important;
        display: flex !important;
        align-items: center !important;
        white-space: nowrap !important;
    }

    /* Righe prodotto touch-friendly */
    .menu-grid-1col .menu-item-row[b-27gx08uwer] {
        padding: 8px 6px !important;
        min-height: 44px !important;
    }

    .prenota-wrapper[b-27gx08uwer] {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }

    /* 6. Riepilogo box */
    #riepilogoBox[b-27gx08uwer] { display: none !important; }
}

/* ── DRAWER MOBILE ────────────────────────────────────────── */
.mobile-drawer-backdrop[b-27gx08uwer] {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 1040;
    opacity: 0;
    transition: opacity 0.3s ease;
}

    .mobile-drawer-backdrop.is-visible[b-27gx08uwer] {
        display: block;
        opacity: 1;
    }

.mobile-drawer[b-27gx08uwer] {
    position: fixed;
    bottom: 0; left: 0; right: 0;
    z-index: 1050;
    background: #f8f9fa;
    border-radius: 16px 16px 0 0;
    box-shadow: 0 -8px 32px rgba(0,0,0,0.2);
    transform: translateY(100%);
    transition: transform 0.38s cubic-bezier(0.34, 1.1, 0.64, 1);
    max-height: 82vh;
    display: flex;
    flex-direction: column;
}

    .mobile-drawer.is-open[b-27gx08uwer] { transform: translateY(0); }

.mobile-drawer-handle[b-27gx08uwer] {
    width: 40px; height: 4px;
    background: #ccc;
    border-radius: 2px;
    margin: 10px auto 6px;
    flex-shrink: 0;
}

.mobile-drawer-inner[b-27gx08uwer] {
    flex: 1;
    overflow-y: auto;
    padding: 0 12px 16px;
    font-size: 16px;
}

    .mobile-drawer-inner #riepilogoCard[b-27gx08uwer] {
        transform: none !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        flex: 1;
        min-height: 300px;
    }

    .mobile-drawer-inner .riepilogo-wrapper[b-27gx08uwer] { min-height: 300px; }
    .mobile-drawer-inner #btnOrdinazione[b-27gx08uwer]    { display: none; }

/* ── FAB ──────────────────────────────────────────────────── */
.mobile-fab[b-27gx08uwer] {
    position: fixed;
    bottom: 20px; right: 16px;
    z-index: 1030;
    background: var(--jp-red, #c0392b);
    color: #fff;
    border: none;
    border-radius: 28px;
    padding: 12px 20px;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 20px rgba(192,57,43,0.5);
    display: flex;
    align-items: center;
    gap: 6px;
    transition: transform 0.2s, box-shadow 0.2s;
}

    .mobile-fab:active[b-27gx08uwer] { transform: scale(0.96); }

.mobile-fab-badge[b-27gx08uwer] {
    background: #fff;
    color: var(--jp-red, #c0392b);
    border-radius: 50%;
    width: 20px; height: 20px;
    font-size: 0.72rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

@media (min-width: 768px) {
    .mobile-fab[b-27gx08uwer],
    .mobile-drawer[b-27gx08uwer],
    .mobile-drawer-backdrop[b-27gx08uwer] { display: none !important; }
}

/* ── BOTTONE MOBILE STICKY ────────────────────────────────── */
@media (max-width: 767px) {
    #btnOrdinazioneMobileWrap[b-27gx08uwer] {
        position: sticky;
        top: 0;
        z-index: 200;
        background: #f0f0f0;
        padding: 10px 16px;
        margin-bottom: 0 !important;
        box-shadow: 0 3px 10px rgba(0,0,0,0.15);
        display: flex !important;
        justify-content: center;
    }

    #btnOrdinazioneMobile[b-27gx08uwer] {
        width: 85% !important;
        max-width: 340px !important;
        background: linear-gradient(135deg, #c0392b 0%, #8b1a1a 100%) !important;
        border: none !important;
        color: #fff !important;
        font-size: 1.15rem !important;
        font-weight: 900 !important;
        letter-spacing: 1.5px !important;
        box-shadow: 0 6px 20px rgba(192,57,43,0.55) !important;
        border-radius: 14px !important;
        padding: 16px 20px !important;
        transition: all 0.2s ease !important;
        text-transform: uppercase !important;
    }

        #btnOrdinazioneMobile:active[b-27gx08uwer] {
            transform: scale(0.97) !important;
            box-shadow: 0 2px 8px rgba(192,57,43,0.4) !important;
        }

    .btn-mobile-ordine-attivo[b-27gx08uwer] {
        width: 85% !important;
        max-width: 340px !important;
        background: linear-gradient(135deg, #198754 0%, #0f5132 100%) !important;
        border: 2px solid #6ee09b !important;
        color: #fff !important;
        font-size: 1.05rem !important;
        font-weight: 800 !important;
        letter-spacing: 1px !important;
        border-radius: 14px !important;
        padding: 16px 20px !important;
        animation: pulse-green-b-27gx08uwer 1.8s ease-in-out infinite !important;
        text-transform: uppercase !important;
    }

    @keyframes pulse-green-b-27gx08uwer {
        0%   { box-shadow: 0 0 0 0   rgba(25,135,84,0.6); }
        70%  { box-shadow: 0 0 0 12px rgba(25,135,84,0); }
        100% { box-shadow: 0 0 0 0   rgba(25,135,84,0); }
    }
}
/* _content/Jefferson.Web/Pages/Privacy.cshtml.rz.scp.css */
.privacy-container[b-5lkwnkgfny] {
    max-width: 900px;
    margin: 50px auto;
    padding: 0 20px;
}

.privacy-card[b-5lkwnkgfny] {
    background-color: #ffffff;
    padding: 35px;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

/* Titolo principale */
h1[b-5lkwnkgfny] {
    font-size: 2.2rem;
    margin-bottom: 10px;
    color: #222;
}

/* Sottotitoli */
h2[b-5lkwnkgfny] {
    font-size: 1.35rem;
    margin-top: 30px;
    margin-bottom: 10px;
    color: #333;
}

/* Testo */
p[b-5lkwnkgfny] {
    line-height: 1.7;
    color: #444;
    margin-bottom: 10px;
}

/* Intro */
.intro[b-5lkwnkgfny] {
    color: #666;
    font-size: 1.05rem;
    margin-bottom: 20px;
}

/* Liste */
ul[b-5lkwnkgfny] {
    padding-left: 22px;
    margin-bottom: 15px;
}

li[b-5lkwnkgfny] {
    margin-bottom: 6px;
    color: #444;
}

/* Separatore */
hr[b-5lkwnkgfny] {
    margin: 25px 0;
    border: none;
    border-top: 1px solid #eee;
}

/* Link (se presenti) */
a[b-5lkwnkgfny] {
    color: #c0392b;
    text-decoration: none;
}

    a:hover[b-5lkwnkgfny] {
        text-decoration: underline;
    }

/* Responsive */
@media (max-width: 768px) {
    .privacy-card[b-5lkwnkgfny] {
        padding: 20px;
    }

    h1[b-5lkwnkgfny] {
        font-size: 1.8rem;
    }

    h2[b-5lkwnkgfny] {
        font-size: 1.2rem;
    }
}
/* _content/Jefferson.Web/Pages/Shared/_Layout.cshtml.rz.scp.css */
/*
 * _Layout.cshtml.css
 *
 * Questo file esiste per supporto CSS Isolation di Razor Pages,
 * ma il layout usa classi globali (jp-*) che devono essere disponibili
 * su tutte le pagine figlie — per questo il CSS del layout è in:
 *
 *   wwwroot/css/layout.css
 *
 * Aggiungere qui SOLO stili scoped agli elementi diretti di _Layout.cshtml
 * che non debbano essere ereditati dalle pagine figlie.
 */
