/**
 * Tunait - Theme Palettes & Accessibility (WCAG 2.2 AAA Compliant)
 * 
 * Supported Themes:
 * - dark (Default / Notte - Tunait Classic)
 * - light (Giorno - Sfondo bianco, testi neri, bottoni scuri)
 * - ipovedenti (Accessibilità Estesa WCAG AAA - Alto contrasto nero/giallo, bordi 2px, focus 3px)
 * - rosetta (Chic & Glam - Sfondo cipria, testi grigio fumo, bottoni rosso/lilla)
 */

/* ==========================================================================
   TRANSIZIONE FLUIDA GLOBALE (Esclusa in Ipovedenti per evitare vertigini)
   ========================================================================== */
html:not([data-theme="ipovedenti"]) body,
html:not([data-theme="ipovedenti"]) header,
html:not([data-theme="ipovedenti"]) main,
html:not([data-theme="ipovedenti"]) footer,
html:not([data-theme="ipovedenti"]) .glass,
html:not([data-theme="ipovedenti"]) .card-evento {
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

/* ==========================================================================
   1. PALETTE CHIARO (GIORNO)
   ========================================================================== */
html[data-theme="light"] body {
    background-color: #f8fafc !important; /* Slate 50 */
    color: #0f172a !important; /* Slate 900 */
}

/* Attenua i riflettori Hollywood per la luce diurna */
html[data-theme="light"] body::before,
html[data-theme="light"] body::after {
    opacity: 0.1 !important;
}

/* Sfondi contenitori scuri convertiti a chiari */
html[data-theme="light"] .bg-slate-950,
html[data-theme="light"] [class*="bg-slate-950"] {
    background-color: #f8fafc !important;
}
html[data-theme="light"] .bg-slate-900,
html[data-theme="light"] [class*="bg-slate-900"] {
    background-color: #ffffff !important;
}
html[data-theme="light"] .bg-slate-800:not(button):not(a),
html[data-theme="light"] [class*="bg-slate-800"]:not(button):not(a) {
    background-color: #f1f5f9 !important; /* Slate 100 */
}
html[data-theme="light"] .bg-slate-700:not(button):not(a),
html[data-theme="light"] [class*="bg-slate-700"]:not(button):not(a) {
    background-color: #e2e8f0 !important; /* Slate 200 */
}

/* Velature ed elementi con sfondo bianco semi-trasparente */
html[data-theme="light"] [class*="bg-white\/"]:not(button):not(a) {
    background-color: rgba(15, 23, 42, 0.05) !important;
    border-color: rgba(15, 23, 42, 0.1) !important;
}

/* Contenitori con gradienti scuri convertiti a chiari (esclusi tassativamente overlay su immagini e sfumature trasparenti) */
html[data-theme="light"] div[class*="from-slate-9"]:not(a):not(button):not([class*="inset-0"]):not([class*="absolute"]):not([class*="to-transparent"]):not(.event-hero-gradient):not([class*="event-hero"]),
html[data-theme="light"] section[class*="from-slate-9"]:not(a):not(button):not([class*="inset-0"]):not([class*="absolute"]):not([class*="to-transparent"]):not(.event-hero-gradient):not([class*="event-hero"]) {
    background-image: none !important;
    background-color: #ffffff !important;
    border-color: #e2e8f0 !important;
}

/* Glassmorphism diurno e pannelli Glass Panel ad alto contrasto */
html[data-theme="light"] .glass,
html[data-theme="light"] .glass-panel,
html[data-theme="light"] [class*="glass-panel"] {
    background: rgba(255, 255, 255, 0.94) !important;
    backdrop-filter: none !important; /* sfocatura rimossa: rallentava lo scorrimento */
    -webkit-backdrop-filter: none !important; /* sfocatura rimossa: rallentava lo scorrimento */
    border-color: rgba(226, 232, 240, 0.9) !important;
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.06), 0 8px 10px -6px rgba(15, 23, 42, 0.02) !important;
    color: #0f172a !important;
}

/* Testi scuri nitidi dentro Glass & Glass-Panel (esclusi tassativamente pulsanti e link) */
html[data-theme="light"] .glass p:not(button *):not(a *),
html[data-theme="light"] .glass-panel p:not(button *):not(a *),
html[data-theme="light"] .glass span:not(button *):not(a *):not([class*="bg-"]):not([class*="badge"]),
html[data-theme="light"] .glass-panel span:not(button *):not(a *):not([class*="bg-"]):not([class*="badge"]),
html[data-theme="light"] .glass strong:not(button *):not(a *),
html[data-theme="light"] .glass-panel strong:not(button *):not(a *),
html[data-theme="light"] .glass h1,
html[data-theme="light"] .glass h2,
html[data-theme="light"] .glass h3,
html[data-theme="light"] .glass-panel h1,
html[data-theme="light"] .glass-panel h2,
html[data-theme="light"] .glass-panel h3 {
    color: #0f172a !important;
}
html[data-theme="light"] .glass-panel :not(button):not(a) > .text-slate-300,
html[data-theme="light"] .glass :not(button):not(a) > .text-slate-300 {
    color: #334155 !important;
}
html[data-theme="light"] .glass-panel :not(button):not(a) > .text-slate-400,
html[data-theme="light"] .glass :not(button):not(a) > .text-slate-400 {
    color: #475569 !important;
}

/* Pulsanti e link primari/CTA all'interno di Glass e Glass-Panel in tema chiaro */
html[data-theme="light"] .glass a[class*="from-orange-"],
html[data-theme="light"] .glass button[class*="from-orange-"],
html[data-theme="light"] .glass a[class*="bg-orange-"],
html[data-theme="light"] .glass button[class*="bg-orange-"],
html[data-theme="light"] .glass-panel a[class*="from-orange-"],
html[data-theme="light"] .glass-panel button[class*="from-orange-"],
html[data-theme="light"] .glass-panel a[class*="bg-orange-"],
html[data-theme="light"] .glass-panel button[class*="bg-orange-"],
html[data-theme="light"] .glass-panel button:not([class*="text-"]):not([class*="bg-slate"]),
html[data-theme="light"] .glass button:not([class*="text-"]):not([class*="bg-slate"]),
html[data-theme="light"] .glass .btn-primary,
html[data-theme="light"] .glass-panel .btn-primary {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%) !important;
    color: #ffffff !important;
    border: 1px solid #334155 !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.18) !important;
}

html[data-theme="light"] .glass a[class*="from-orange-"] *,
html[data-theme="light"] .glass button[class*="from-orange-"] *,
html[data-theme="light"] .glass a[class*="bg-orange-"] *,
html[data-theme="light"] .glass button[class*="bg-orange-"] *,
html[data-theme="light"] .glass-panel a[class*="from-orange-"] *,
html[data-theme="light"] .glass-panel button[class*="from-orange-"] *,
html[data-theme="light"] .glass-panel a[class*="bg-orange-"] *,
html[data-theme="light"] .glass-panel button[class*="bg-orange-"] *,
html[data-theme="light"] .glass-panel button:not([class*="text-"]):not([class*="bg-slate"]) *,
html[data-theme="light"] .glass button:not([class*="text-"]):not([class*="bg-slate"]) *,
html[data-theme="light"] .glass .btn-primary *,
html[data-theme="light"] .glass-panel .btn-primary * {
    color: #ffffff !important;
    fill: currentColor !important;
    stroke: currentColor !important;
}

html[data-theme="light"] .glass a[class*="from-orange-"]:hover,
html[data-theme="light"] .glass button[class*="from-orange-"]:hover,
html[data-theme="light"] .glass a[class*="bg-orange-"]:hover,
html[data-theme="light"] .glass button[class*="bg-orange-"]:hover,
html[data-theme="light"] .glass-panel a[class*="from-orange-"]:hover,
html[data-theme="light"] .glass-panel button[class*="from-orange-"]:hover,
html[data-theme="light"] .glass-panel a[class*="bg-orange-"]:hover,
html[data-theme="light"] .glass-panel button[class*="bg-orange-"]:hover,
html[data-theme="light"] .glass-panel button:not([class*="text-"]):not([class*="bg-slate"]):hover,
html[data-theme="light"] .glass button:not([class*="text-"]):not([class*="bg-slate"]):hover,
html[data-theme="light"] .glass .btn-primary:hover,
html[data-theme="light"] .glass-panel .btn-primary:hover {
    background: linear-gradient(135deg, #1e293b 0%, #334155 100%) !important;
    color: #ffffff !important;
}

html[data-theme="light"] .glass a[class*="from-orange-"]:hover *,
html[data-theme="light"] .glass button[class*="from-orange-"]:hover *,
html[data-theme="light"] .glass a[class*="bg-orange-"]:hover *,
html[data-theme="light"] .glass button[class*="bg-orange-"]:hover *,
html[data-theme="light"] .glass-panel a[class*="from-orange-"]:hover *,
html[data-theme="light"] .glass-panel button[class*="from-orange-"]:hover *,
html[data-theme="light"] .glass-panel a[class*="bg-orange-"]:hover *,
html[data-theme="light"] .glass-panel button[class*="bg-orange-"]:hover *,
html[data-theme="light"] .glass-panel button:not([class*="text-"]):not([class*="bg-slate"]):hover *,
html[data-theme="light"] .glass button:not([class*="text-"]):not([class*="bg-slate"]):hover *,
html[data-theme="light"] .glass .btn-primary:hover *,
html[data-theme="light"] .glass-panel .btn-primary:hover * {
    color: #ffffff !important;
}

/* Testi scuri su sfondo chiaro */
html[data-theme="light"] .text-white,
html[data-theme="light"] .text-slate-100,
html[data-theme="light"] .text-slate-200 {
    color: #0f172a !important; /* Slate 900 */
}
html[data-theme="light"] .text-slate-300 {
    color: #334155 !important; /* Slate 700 */
}
html[data-theme="light"] .text-slate-400 {
    color: #475569 !important; /* Slate 600 */
}
html[data-theme="light"] .text-slate-500 {
    color: #334155 !important; /* Slate 700 */
}

/* Testi semantici e d'accento ad alto contrasto su sfondo chiaro (WCAG AA/AAA) */
html[data-theme="light"] .text-orange-400,
html[data-theme="light"] .text-orange-500,
html[data-theme="light"] .text-amber-400,
html[data-theme="light"] .text-amber-500 {
    color: #c2410c !important; /* Orange 700 - contrasto 5.9:1 su bianco */
}
html[data-theme="light"] .text-orange-300,
html[data-theme="light"] .text-amber-300 {
    color: #9a3412 !important; /* Orange 800 */
}
html[data-theme="light"] .text-green-400,
html[data-theme="light"] .text-emerald-400 {
    color: #15803d !important; /* Green 700 - contrasto 5.1:1 su bianco */
}
html[data-theme="light"] .text-red-400,
html[data-theme="light"] .text-red-500,
html[data-theme="light"] .text-rose-400 {
    color: #dc2626 !important; /* Red 600 - contrasto 4.6:1 su bianco */
}
html[data-theme="light"] .text-blue-400,
html[data-theme="light"] .text-blue-500,
html[data-theme="light"] .text-sky-400 {
    color: #1d4ed8 !important; /* Blue 700 - contrasto 5.4:1 su bianco */
}
html[data-theme="light"] .text-purple-400,
html[data-theme="light"] .text-purple-500 {
    color: #7e22ce !important; /* Purple 700 - contrasto 5.8:1 su bianco */
}

/* Bordi chiari */
html[data-theme="light"] .border-white\/10,
html[data-theme="light"] .border-white\/5,
html[data-theme="light"] .border-white\/20,
html[data-theme="light"] .border-slate-800,
html[data-theme="light"] .border-slate-700 {
    border-color: #e2e8f0 !important; /* Slate 200 */
}

/* Pulsanti in tema chiaro: toni scuri a contrasto e massima omogeneità (come richiesto) */
html[data-theme="light"] a[class*="from-orange-500"][class*="to-pink-500"],
html[data-theme="light"] button[class*="from-orange-500"][class*="to-pink-500"],
html[data-theme="light"] a[class*="from-orange-500"][class*="to-red-500"],
html[data-theme="light"] button[class*="from-orange-500"][class*="to-red-500"],
html[data-theme="light"] a[class*="from-orange-500"][class*="to-amber-500"],
html[data-theme="light"] button[class*="from-orange-500"][class*="to-amber-500"],
html[data-theme="light"] a[class*="from-orange-600"][class*="to-amber-600"],
html[data-theme="light"] button[class*="from-orange-600"][class*="to-amber-600"],
html[data-theme="light"] a.bg-orange-500,
html[data-theme="light"] button.bg-orange-500,
html[data-theme="light"] a.btn-primary,
html[data-theme="light"] button.btn-primary,
html[data-theme="light"] input[type="submit"]:not(.secondary):not([class*="bg-slate"]),
html[data-theme="light"] .bg-gradient-to-r.from-orange-500.to-pink-500:not(span),
html[data-theme="light"] .bg-gradient-to-r.from-orange-500.to-red-500:not(span),
html[data-theme="light"] .bg-gradient-to-r.from-orange-500.to-amber-500:not(span) {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%) !important;
    color: #ffffff !important;
    border: 1px solid #334155 !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.18) !important;
}
html[data-theme="light"] a[class*="from-orange-500"][class*="to-pink-500"] *,
html[data-theme="light"] button[class*="from-orange-500"][class*="to-pink-500"] *,
html[data-theme="light"] a[class*="from-orange-500"][class*="to-red-500"] *,
html[data-theme="light"] button[class*="from-orange-500"][class*="to-red-500"] *,
html[data-theme="light"] a[class*="from-orange-500"][class*="to-amber-500"] *,
html[data-theme="light"] button[class*="from-orange-500"][class*="to-amber-500"] *,
html[data-theme="light"] a[class*="from-orange-600"][class*="to-amber-600"] *,
html[data-theme="light"] button[class*="from-orange-600"][class*="to-amber-600"] *,
html[data-theme="light"] a.bg-orange-500 *,
html[data-theme="light"] button.bg-orange-500 *,
html[data-theme="light"] a.btn-primary *,
html[data-theme="light"] button.btn-primary *,
html[data-theme="light"] .bg-gradient-to-r.from-orange-500.to-pink-500:not(span) *,
html[data-theme="light"] .bg-gradient-to-r.from-orange-500.to-red-500:not(span) *,
html[data-theme="light"] .bg-gradient-to-r.from-orange-500.to-amber-500:not(span) * {
    color: #ffffff !important;
    fill: currentColor;
    stroke: currentColor;
}
html[data-theme="light"] a[class*="from-orange-500"][class*="to-pink-500"]:hover,
html[data-theme="light"] button[class*="from-orange-500"][class*="to-pink-500"]:hover,
html[data-theme="light"] a[class*="from-orange-500"][class*="to-red-500"]:hover,
html[data-theme="light"] button[class*="from-orange-500"][class*="to-red-500"]:hover,
html[data-theme="light"] a[class*="from-orange-500"][class*="to-amber-500"]:hover,
html[data-theme="light"] button[class*="from-orange-500"][class*="to-amber-500"]:hover,
html[data-theme="light"] a[class*="from-orange-600"][class*="to-amber-600"]:hover,
html[data-theme="light"] button[class*="from-orange-600"][class*="to-amber-600"]:hover,
html[data-theme="light"] a.bg-orange-500:hover,
html[data-theme="light"] button.bg-orange-500:hover,
html[data-theme="light"] a.btn-primary:hover,
html[data-theme="light"] button.btn-primary:hover,
html[data-theme="light"] input[type="submit"]:not(.secondary):not([class*="bg-slate"]):hover,
html[data-theme="light"] .bg-gradient-to-r.from-orange-500.to-pink-500:not(span):hover,
html[data-theme="light"] .bg-gradient-to-r.from-orange-500.to-red-500:not(span):hover,
html[data-theme="light"] .bg-gradient-to-r.from-orange-500.to-amber-500:not(span):hover {
    background: linear-gradient(135deg, #1e293b 0%, #334155 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.25) !important;
}
html[data-theme="light"] a[class*="from-orange-500"][class*="to-pink-500"]:hover *,
html[data-theme="light"] button[class*="from-orange-500"][class*="to-pink-500"]:hover *,
html[data-theme="light"] a[class*="from-orange-500"][class*="to-red-500"]:hover *,
html[data-theme="light"] button[class*="from-orange-500"][class*="to-red-500"]:hover *,
html[data-theme="light"] a[class*="from-orange-500"][class*="to-amber-500"]:hover *,
html[data-theme="light"] button[class*="from-orange-500"][class*="to-amber-500"]:hover *,
html[data-theme="light"] a[class*="from-orange-600"][class*="to-amber-600"]:hover *,
html[data-theme="light"] button[class*="from-orange-600"][class*="to-amber-600"]:hover *,
html[data-theme="light"] a.bg-orange-500:hover *,
html[data-theme="light"] button.bg-orange-500:hover *,
html[data-theme="light"] a.btn-primary:hover *,
html[data-theme="light"] button.btn-primary:hover *,
html[data-theme="light"] .bg-gradient-to-r.from-orange-500.to-pink-500:not(span):hover *,
html[data-theme="light"] .bg-gradient-to-r.from-orange-500.to-red-500:not(span):hover *,
html[data-theme="light"] .bg-gradient-to-r.from-orange-500.to-amber-500:not(span):hover * {
    color: #ffffff !important;
}

/* Pulsanti secondari, di superficie e bottoni interfaccia in tema chiaro */
html[data-theme="light"] a.bg-slate-800,
html[data-theme="light"] button.bg-slate-800,
html[data-theme="light"] a[class*="bg-slate-800"],
html[data-theme="light"] button[class*="bg-slate-800"],
html[data-theme="light"] a.bg-slate-700,
html[data-theme="light"] button.bg-slate-700,
html[data-theme="light"] a[class*="bg-slate-700"],
html[data-theme="light"] button[class*="bg-slate-700"],
html[data-theme="light"] .copy-btn,
html[data-theme="light"] .weekday-btn,
html[data-theme="light"] .faq-cat-btn,
html[data-theme="light"] .wysiwyg-btn,
html[data-theme="light"] .theme-opt-btn,
html[data-theme="light"] .theme-choice-btn,
html[data-theme="light"] .btn-secondary,
html[data-theme="light"] .secondary,
html[data-theme="light"] .btn-refresh,
html[data-theme="light"] .back {
    background-color: #f1f5f9 !important; /* Slate 100 */
    color: #0f172a !important;            /* Slate 900 */
    border-color: #cbd5e1 !important;     /* Slate 300 */
}
html[data-theme="light"] a.bg-slate-800 *,
html[data-theme="light"] button.bg-slate-800 *,
html[data-theme="light"] a[class*="bg-slate-800"] *,
html[data-theme="light"] button[class*="bg-slate-800"] *,
html[data-theme="light"] a.bg-slate-700 *,
html[data-theme="light"] button.bg-slate-700 *,
html[data-theme="light"] a[class*="bg-slate-700"] *,
html[data-theme="light"] button[class*="bg-slate-700"] *,
html[data-theme="light"] .copy-btn *,
html[data-theme="light"] .weekday-btn *,
html[data-theme="light"] .faq-cat-btn *,
html[data-theme="light"] .wysiwyg-btn *,
html[data-theme="light"] .theme-opt-btn *,
html[data-theme="light"] .theme-choice-btn *,
html[data-theme="light"] .btn-secondary *,
html[data-theme="light"] .secondary *,
html[data-theme="light"] .btn-refresh *,
html[data-theme="light"] .back * {
    color: #0f172a !important;
}

html[data-theme="light"] a.bg-slate-800:hover,
html[data-theme="light"] button.bg-slate-800:hover,
html[data-theme="light"] a[class*="bg-slate-800"]:hover,
html[data-theme="light"] button[class*="bg-slate-800"]:hover,
html[data-theme="light"] a.bg-slate-700:hover,
html[data-theme="light"] button.bg-slate-700:hover,
html[data-theme="light"] a[class*="bg-slate-700"]:hover,
html[data-theme="light"] button[class*="bg-slate-700"]:hover,
html[data-theme="light"] .copy-btn:hover,
html[data-theme="light"] .weekday-btn:hover,
html[data-theme="light"] .faq-cat-btn:hover,
html[data-theme="light"] .wysiwyg-btn:hover,
html[data-theme="light"] .theme-opt-btn:hover,
html[data-theme="light"] .theme-choice-btn:hover,
html[data-theme="light"] .btn-secondary:hover,
html[data-theme="light"] .secondary:hover,
html[data-theme="light"] .btn-refresh:hover,
html[data-theme="light"] .back:hover,
html[data-theme="light"] .hover\:bg-slate-800:hover,
html[data-theme="light"] .hover\:bg-slate-700:hover,
html[data-theme="light"] .hover\:bg-slate-600:hover {
    background-color: #e2e8f0 !important; /* Slate 200 */
    color: #0f172a !important;            /* Slate 900 */
    border-color: #94a3b8 !important;     /* Slate 400 */
}
html[data-theme="light"] a.bg-slate-800:hover *,
html[data-theme="light"] button.bg-slate-800:hover *,
html[data-theme="light"] a[class*="bg-slate-800"]:hover *,
html[data-theme="light"] button[class*="bg-slate-800"]:hover *,
html[data-theme="light"] a.bg-slate-700:hover *,
html[data-theme="light"] button.bg-slate-700:hover *,
html[data-theme="light"] a[class*="bg-slate-700"]:hover *,
html[data-theme="light"] button[class*="bg-slate-700"]:hover *,
html[data-theme="light"] .copy-btn:hover *,
html[data-theme="light"] .weekday-btn:hover *,
html[data-theme="light"] .faq-cat-btn:hover *,
html[data-theme="light"] .wysiwyg-btn:hover *,
html[data-theme="light"] .theme-opt-btn:hover *,
html[data-theme="light"] .theme-choice-btn:hover *,
html[data-theme="light"] .btn-secondary:hover *,
html[data-theme="light"] .secondary:hover *,
html[data-theme="light"] .btn-refresh:hover *,
html[data-theme="light"] .back:hover * {
    color: #0f172a !important;
}

/* Pulsanti Outline e Semantici in tema chiaro */
html[data-theme="light"] a[class*="border-orange-"],
html[data-theme="light"] button[class*="border-orange-"] {
    border-color: #ea580c !important;
    color: #c2410c !important;
}
html[data-theme="light"] a[class*="border-orange-"]:hover,
html[data-theme="light"] button[class*="border-orange-"]:hover {
    background-color: rgba(234, 88, 12, 0.08) !important;
    border-color: #c2410c !important;
    color: #9a3412 !important;
}

html[data-theme="light"] a[class*="bg-red-"],
html[data-theme="light"] button[class*="bg-red-"],
html[data-theme="light"] a[class*="bg-rose-"],
html[data-theme="light"] button[class*="bg-rose-"] {
    background-color: #fef2f2 !important;
    border: 1px solid #fca5a5 !important;
    color: #dc2626 !important;
}
html[data-theme="light"] a[class*="bg-red-"]:hover,
html[data-theme="light"] button[class*="bg-red-"]:hover,
html[data-theme="light"] a[class*="bg-rose-"]:hover,
html[data-theme="light"] button[class*="bg-rose-"]:hover {
    background-color: #fee2e2 !important;
    color: #b91c1c !important;
}

html[data-theme="light"] a[class*="bg-emerald-"],
html[data-theme="light"] button[class*="bg-emerald-"],
html[data-theme="light"] a[class*="bg-green-"],
html[data-theme="light"] button[class*="bg-green-"] {
    background-color: #f0fdf4 !important;
    border: 1px solid #86efac !important;
    color: #15803d !important;
}
html[data-theme="light"] a[class*="bg-emerald-"]:hover,
html[data-theme="light"] button[class*="bg-emerald-"]:hover,
html[data-theme="light"] a[class*="bg-green-"]:hover,
html[data-theme="light"] button[class*="bg-green-"]:hover {
    background-color: #dcfce7 !important;
    color: #166534 !important;
}

html[data-theme="light"] a[class*="bg-blue-"],
html[data-theme="light"] button[class*="bg-blue-"] {
    background-color: #eff6ff !important;
    border: 1px solid #93c5fd !important;
    color: #1d4ed8 !important;
}
html[data-theme="light"] a[class*="bg-blue-"]:hover,
html[data-theme="light"] button[class*="bg-blue-"]:hover {
    background-color: #dbeafe !important;
    color: #1e40af !important;
}

/* Input form */
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-color: #cbd5e1 !important;
}
html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder {
    color: #94a3b8 !important;
}

/* Dropdown e popup */
html[data-theme="light"] #user-dropdown-panel,
html[data-theme="light"] #theme-dropdown-panel,
html[data-theme="light"] #mobile-menu-drawer,
html[data-theme="light"] [id$="-dropdown-panel"] {
    background-color: #ffffff !important;
    border-color: #e2e8f0 !important;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05) !important;
}

/* ==========================================================================
   2. PALETTE IPOVEDENTI (ACCESSIBILITÀ ESTESA WCAG 2.2 AAA)
   ========================================================================== */
html[data-theme="ipovedenti"] body {
    background-color: #000000 !important;
    color: #ffffff !important;
    line-height: 1.65 !important;
    letter-spacing: 0.02em !important;
    -webkit-font-smoothing: antialiased !important;
}

/* Disattivazione 100% riflettori, bagliori, ombre e animazioni (WCAG SC 2.3.3) */
html[data-theme="ipovedenti"] body::before,
html[data-theme="ipovedenti"] body::after {
    display: none !important;
    animation: none !important;
}
html[data-theme="ipovedenti"] * {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    text-shadow: none !important;
    box-shadow: none !important;
}

/* Focus Ring Spesso Giallo Fluo ad Altissima Visibilità (WCAG SC 2.4.7 & 2.4.13) */
html[data-theme="ipovedenti"] *:focus,
html[data-theme="ipovedenti"] *:focus-visible {
    outline: 3px solid #ffff00 !important;
    outline-offset: 3px !important;
}

/* Testi ad altissimo contrasto (WCAG SC 1.4.6: > 7:1) */
html[data-theme="ipovedenti"] h1,
html[data-theme="ipovedenti"] h2,
html[data-theme="ipovedenti"] h3,
html[data-theme="ipovedenti"] h4,
html[data-theme="ipovedenti"] h5,
html[data-theme="ipovedenti"] h6,
html[data-theme="ipovedenti"] .font-black,
html[data-theme="ipovedenti"] .font-bold.text-white,
html[data-theme="ipovedenti"] .font-extrabold {
    color: #ffff00 !important; /* Giallo su nero: contrasto 19.6:1 (AAA) */
}
html[data-theme="ipovedenti"] p,
html[data-theme="ipovedenti"] span,
html[data-theme="ipovedenti"] li,
html[data-theme="ipovedenti"] .text-slate-100,
html[data-theme="ipovedenti"] .text-slate-200,
html[data-theme="ipovedenti"] .text-slate-300,
html[data-theme="ipovedenti"] .text-slate-400,
html[data-theme="ipovedenti"] .text-slate-500 {
    color: #ffffff !important; /* Bianco su nero: contrasto 21:1 (AAA) */
}

/* Colori accento e semantici convertiti a giallo fluo o bianco ad alto contrasto */
html[data-theme="ipovedenti"] .text-orange-400,
html[data-theme="ipovedenti"] .text-orange-500,
html[data-theme="ipovedenti"] .text-amber-400,
html[data-theme="ipovedenti"] .text-amber-300,
html[data-theme="ipovedenti"] .text-yellow-400,
html[data-theme="ipovedenti"] .text-yellow-300 {
    color: #ffff00 !important;
}

/* Link sempre chiaramente sottolineati (WCAG SC 1.4.1: No color alone) */
html[data-theme="ipovedenti"] a:not(.no-underline-force) {
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    text-decoration-thickness: 1.5px !important;
}
html[data-theme="ipovedenti"] a:hover {
    background-color: #ffff00 !important;
    color: #000000 !important;
    text-decoration: none !important;
}

/* Contenitori, Card e Bordi Marcati 2px (WCAG SC 1.4.11) */
html[data-theme="ipovedenti"] .bg-slate-950,
html[data-theme="ipovedenti"] [class*="bg-slate-950"],
html[data-theme="ipovedenti"] .bg-slate-900,
html[data-theme="ipovedenti"] [class*="bg-slate-900"],
html[data-theme="ipovedenti"] .bg-slate-800,
html[data-theme="ipovedenti"] [class*="bg-slate-800"],
html[data-theme="ipovedenti"] .bg-slate-700,
html[data-theme="ipovedenti"] [class*="bg-slate-700"],
html[data-theme="ipovedenti"] .glass,
html[data-theme="ipovedenti"] .glass-panel,
html[data-theme="ipovedenti"] [class*="glass-panel"],
html[data-theme="ipovedenti"] .card-evento,
html[data-theme="ipovedenti"] section.rounded-\[2\.5rem\],
html[data-theme="ipovedenti"] header {
    background-color: #000000 !important;
    border: 2px solid #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

html[data-theme="ipovedenti"] div[class*="from-slate-9"]:not(a):not(button):not([class*="inset-0"]):not([class*="absolute"]):not([class*="to-transparent"]):not(.event-hero-gradient):not([class*="event-hero"]),
html[data-theme="ipovedenti"] section[class*="from-slate-9"]:not(a):not(button):not([class*="inset-0"]):not([class*="absolute"]):not([class*="to-transparent"]):not(.event-hero-gradient):not([class*="event-hero"]) {
    background-image: none !important;
    background-color: #000000 !important;
    border: 2px solid #ffffff !important;
}

/* Bordi generali rinforzati */
html[data-theme="ipovedenti"] .border-white\/10,
html[data-theme="ipovedenti"] .border-white\/5,
html[data-theme="ipovedenti"] .border-white\/15,
html[data-theme="ipovedenti"] .border-white\/20,
html[data-theme="ipovedenti"] [class*="border-white\/"],
html[data-theme="ipovedenti"] [class*="border-slate-800"],
html[data-theme="ipovedenti"] [class*="border-slate-700"],
html[data-theme="ipovedenti"] .border-slate-800,
html[data-theme="ipovedenti"] .border-slate-700 {
    border-color: #ffffff !important;
    border-width: 2px !important;
}

/* Pulsanti con Target Size Minimo 44x44px (WCAG SC 2.5.5 AAA) e Bordo Giallo */
html[data-theme="ipovedenti"] button,
html[data-theme="ipovedenti"] input[type="submit"],
html[data-theme="ipovedenti"] input[type="button"],
html[data-theme="ipovedenti"] input[type="reset"],
html[data-theme="ipovedenti"] a.rounded-full,
html[data-theme="ipovedenti"] a.rounded-xl,
html[data-theme="ipovedenti"] a.rounded-2xl,
html[data-theme="ipovedenti"] a.rounded-lg,
html[data-theme="ipovedenti"] a.rounded,
html[data-theme="ipovedenti"] a[class*="from-orange-"],
html[data-theme="ipovedenti"] button[class*="from-orange-"],
html[data-theme="ipovedenti"] a.bg-orange-500,
html[data-theme="ipovedenti"] button.bg-orange-500,
html[data-theme="ipovedenti"] a[class*="bg-slate-"],
html[data-theme="ipovedenti"] button[class*="bg-slate-"],
html[data-theme="ipovedenti"] a[class*="border-orange-"],
html[data-theme="ipovedenti"] button[class*="border-orange-"],
html[data-theme="ipovedenti"] .copy-btn,
html[data-theme="ipovedenti"] .weekday-btn,
html[data-theme="ipovedenti"] .faq-cat-btn,
html[data-theme="ipovedenti"] .wysiwyg-btn,
html[data-theme="ipovedenti"] .theme-opt-btn,
html[data-theme="ipovedenti"] .theme-choice-btn,
html[data-theme="ipovedenti"] .secondary,
html[data-theme="ipovedenti"] .btn-secondary,
html[data-theme="ipovedenti"] .btn-refresh,
html[data-theme="ipovedenti"] .back,
html[data-theme="ipovedenti"] [role="button"],
html[data-theme="ipovedenti"] .bg-gradient-to-r.from-orange-500.to-pink-500,
html[data-theme="ipovedenti"] .bg-gradient-to-r.from-orange-500.to-red-500,
html[data-theme="ipovedenti"] .bg-gradient-to-r.from-orange-500.to-amber-500 {
    min-height: 44px !important;
    min-width: 44px !important;
    background: #000000 !important;
    color: #ffff00 !important;
    border: 2px solid #ffff00 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
html[data-theme="ipovedenti"] button *,
html[data-theme="ipovedenti"] input[type="submit"] *,
html[data-theme="ipovedenti"] a.rounded-full *,
html[data-theme="ipovedenti"] a.rounded-xl *,
html[data-theme="ipovedenti"] a.rounded-2xl *,
html[data-theme="ipovedenti"] a.rounded-lg *,
html[data-theme="ipovedenti"] a.rounded *,
html[data-theme="ipovedenti"] a[class*="from-orange-"] *,
html[data-theme="ipovedenti"] button[class*="from-orange-"] *,
html[data-theme="ipovedenti"] a.bg-orange-500 *,
html[data-theme="ipovedenti"] button.bg-orange-500 *,
html[data-theme="ipovedenti"] a[class*="bg-slate-"] *,
html[data-theme="ipovedenti"] button[class*="bg-slate-"] *,
html[data-theme="ipovedenti"] a[class*="border-orange-"] *,
html[data-theme="ipovedenti"] button[class*="border-orange-"] *,
html[data-theme="ipovedenti"] .copy-btn *,
html[data-theme="ipovedenti"] .weekday-btn *,
html[data-theme="ipovedenti"] .faq-cat-btn *,
html[data-theme="ipovedenti"] .wysiwyg-btn *,
html[data-theme="ipovedenti"] .secondary *,
html[data-theme="ipovedenti"] .btn-secondary *,
html[data-theme="ipovedenti"] .btn-refresh *,
html[data-theme="ipovedenti"] .back *,
html[data-theme="ipovedenti"] [role="button"] *,
html[data-theme="ipovedenti"] .bg-gradient-to-r.from-orange-500.to-pink-500 *,
html[data-theme="ipovedenti"] .bg-gradient-to-r.from-orange-500.to-red-500 *,
html[data-theme="ipovedenti"] .bg-gradient-to-r.from-orange-500.to-amber-500 * {
    color: #ffff00 !important;
    stroke: currentColor !important;
    fill: currentColor !important;
}
html[data-theme="ipovedenti"] button:hover,
html[data-theme="ipovedenti"] input[type="submit"]:hover,
html[data-theme="ipovedenti"] input[type="button"]:hover,
html[data-theme="ipovedenti"] a.rounded-full:hover,
html[data-theme="ipovedenti"] a.rounded-xl:hover,
html[data-theme="ipovedenti"] a.rounded-2xl:hover,
html[data-theme="ipovedenti"] a.rounded-lg:hover,
html[data-theme="ipovedenti"] a.rounded:hover,
html[data-theme="ipovedenti"] a[class*="from-orange-"]:hover,
html[data-theme="ipovedenti"] button[class*="from-orange-"]:hover,
html[data-theme="ipovedenti"] a.bg-orange-500:hover,
html[data-theme="ipovedenti"] button.bg-orange-500:hover,
html[data-theme="ipovedenti"] a[class*="bg-slate-"]:hover,
html[data-theme="ipovedenti"] button[class*="bg-slate-"]:hover,
html[data-theme="ipovedenti"] a[class*="border-orange-"]:hover,
html[data-theme="ipovedenti"] button[class*="border-orange-"]:hover,
html[data-theme="ipovedenti"] .copy-btn:hover,
html[data-theme="ipovedenti"] .weekday-btn:hover,
html[data-theme="ipovedenti"] .faq-cat-btn:hover,
html[data-theme="ipovedenti"] .wysiwyg-btn:hover,
html[data-theme="ipovedenti"] .secondary:hover,
html[data-theme="ipovedenti"] .btn-secondary:hover,
html[data-theme="ipovedenti"] .btn-refresh:hover,
html[data-theme="ipovedenti"] .back:hover,
html[data-theme="ipovedenti"] [role="button"]:hover,
html[data-theme="ipovedenti"] .bg-gradient-to-r.from-orange-500.to-pink-500:hover,
html[data-theme="ipovedenti"] .bg-gradient-to-r.from-orange-500.to-red-500:hover,
html[data-theme="ipovedenti"] .bg-gradient-to-r.from-orange-500.to-amber-500:hover {
    background: #ffff00 !important;
    color: #000000 !important;
    border-color: #ffff00 !important;
}
html[data-theme="ipovedenti"] button:hover *,
html[data-theme="ipovedenti"] input[type="submit"]:hover *,
html[data-theme="ipovedenti"] input[type="button"]:hover *,
html[data-theme="ipovedenti"] a.rounded-full:hover *,
html[data-theme="ipovedenti"] a.rounded-xl:hover *,
html[data-theme="ipovedenti"] a.rounded-2xl:hover *,
html[data-theme="ipovedenti"] a.rounded-lg:hover *,
html[data-theme="ipovedenti"] a.rounded:hover *,
html[data-theme="ipovedenti"] a[class*="from-orange-"]:hover *,
html[data-theme="ipovedenti"] button[class*="from-orange-"]:hover *,
html[data-theme="ipovedenti"] a.bg-orange-500:hover *,
html[data-theme="ipovedenti"] button.bg-orange-500:hover *,
html[data-theme="ipovedenti"] a[class*="bg-slate-"]:hover *,
html[data-theme="ipovedenti"] button[class*="bg-slate-"]:hover *,
html[data-theme="ipovedenti"] a[class*="border-orange-"]:hover *,
html[data-theme="ipovedenti"] button[class*="border-orange-"]:hover *,
html[data-theme="ipovedenti"] .copy-btn:hover *,
html[data-theme="ipovedenti"] .weekday-btn:hover *,
html[data-theme="ipovedenti"] .faq-cat-btn:hover *,
html[data-theme="ipovedenti"] .wysiwyg-btn:hover *,
html[data-theme="ipovedenti"] .secondary:hover *,
html[data-theme="ipovedenti"] .btn-secondary:hover *,
html[data-theme="ipovedenti"] .btn-refresh:hover *,
html[data-theme="ipovedenti"] .back:hover *,
html[data-theme="ipovedenti"] [role="button"]:hover *,
html[data-theme="ipovedenti"] .bg-gradient-to-r.from-orange-500.to-pink-500:hover *,
html[data-theme="ipovedenti"] .bg-gradient-to-r.from-orange-500.to-red-500:hover *,
html[data-theme="ipovedenti"] .bg-gradient-to-r.from-orange-500.to-amber-500:hover * {
    color: #000000 !important;
    fill: #000000 !important;
    stroke: #000000 !important;
}

/* Pulsanti disabilitati in tema Ipovedenti (accessibilità WCAG AAA) */
html[data-theme="ipovedenti"] button:disabled,
html[data-theme="ipovedenti"] button[disabled],
html[data-theme="ipovedenti"] [aria-disabled="true"] {
    background: #000000 !important;
    color: #888888 !important;
    border: 2px dashed #888888 !important;
    opacity: 0.65 !important;
    cursor: not-allowed !important;
}
html[data-theme="ipovedenti"] button:disabled *,
html[data-theme="ipovedenti"] button[disabled] *,
html[data-theme="ipovedenti"] [aria-disabled="true"] * {
    color: #888888 !important;
}
html[data-theme="ipovedenti"] a.w-full,
html[data-theme="ipovedenti"] button.w-full {
    display: flex !important;
    width: 100% !important;
}

/* Input Form in Ipovedenti */
html[data-theme="ipovedenti"] input,
html[data-theme="ipovedenti"] select,
html[data-theme="ipovedenti"] textarea {
    background-color: #000000 !important;
    color: #ffff00 !important;
    border: 2px solid #ffff00 !important;
    min-height: 44px !important;
    font-size: 1rem !important;
}
html[data-theme="ipovedenti"] input::placeholder,
html[data-theme="ipovedenti"] textarea::placeholder {
    color: #ffffff !important;
    opacity: 0.8 !important;
}

/* ==========================================================================
   3. PALETTE ROSETTA (CHIC & GLAM)
   ========================================================================== */
html[data-theme="rosetta"] body {
    background-color: #fff1f2 !important; /* Rose 50 */
    color: #1e293b !important; /* Slate 800 */
}

/* Riflettori sfocati nei toni rosa pastello e glicine/lilla */
html[data-theme="rosetta"] body::before {
    background: radial-gradient(circle, rgba(244, 63, 94, 0.22) 0%, rgba(251, 113, 133, 0.1) 40%, transparent 70%) !important;
}
html[data-theme="rosetta"] body::after {
    background: radial-gradient(circle, rgba(192, 132, 252, 0.22) 0%, rgba(216, 180, 254, 0.1) 40%, transparent 70%) !important;
}

/* Sfondi e superfici in Rosetta */
html[data-theme="rosetta"] .bg-slate-950,
html[data-theme="rosetta"] [class*="bg-slate-950"] {
    background-color: #fff1f2 !important;
}
html[data-theme="rosetta"] .bg-slate-900,
html[data-theme="rosetta"] [class*="bg-slate-900"] {
    background-color: #fffdfd !important; /* Bianco latte con tenue riflesso rosa */
}
html[data-theme="rosetta"] .bg-slate-800:not(button):not(a),
html[data-theme="rosetta"] [class*="bg-slate-800"]:not(button):not(a) {
    background-color: #ffe4e6 !important; /* Rose 100 */
}
html[data-theme="rosetta"] .bg-slate-700:not(button):not(a),
html[data-theme="rosetta"] [class*="bg-slate-700"]:not(button):not(a) {
    background-color: #fecdd3 !important; /* Rose 200 */
}

/* Velature ed elementi con sfondo bianco semi-trasparente */
html[data-theme="rosetta"] [class*="bg-white\/"]:not(button):not(a) {
    background-color: rgba(225, 29, 72, 0.05) !important;
    border-color: rgba(225, 29, 72, 0.12) !important;
}

/* Contenitori con gradienti scuri convertiti a chiari (esclusi tassativamente overlay su immagini e sfumature trasparenti) */
html[data-theme="rosetta"] div[class*="from-slate-9"]:not(a):not(button):not([class*="inset-0"]):not([class*="absolute"]):not([class*="to-transparent"]):not(.event-hero-gradient):not([class*="event-hero"]),
html[data-theme="rosetta"] section[class*="from-slate-9"]:not(a):not(button):not([class*="inset-0"]):not([class*="absolute"]):not([class*="to-transparent"]):not(.event-hero-gradient):not([class*="event-hero"]) {
    background-image: none !important;
    background-color: #fffdfd !important;
    border-color: #fecdd3 !important;
}

/* Glassmorphism rosato e pannelli Glass Panel */
html[data-theme="rosetta"] .glass,
html[data-theme="rosetta"] .glass-panel,
html[data-theme="rosetta"] [class*="glass-panel"] {
    background: rgba(255, 253, 253, 0.94) !important;
    backdrop-filter: none !important; /* sfocatura rimossa: rallentava lo scorrimento */
    -webkit-backdrop-filter: none !important; /* sfocatura rimossa: rallentava lo scorrimento */
    border: 1px solid rgba(254, 205, 211, 0.9) !important; /* Rose 200 */
    box-shadow: 0 10px 25px -5px rgba(225, 29, 72, 0.06), 0 8px 10px -6px rgba(192, 132, 252, 0.04) !important;
    color: #1e293b !important;
}

/* Testi scuri nitidi dentro Glass & Glass-Panel in Rosetta (esclusi tassativamente pulsanti e link) */
html[data-theme="rosetta"] .glass p:not(button *):not(a *),
html[data-theme="rosetta"] .glass-panel p:not(button *):not(a *),
html[data-theme="rosetta"] .glass span:not(button *):not(a *):not([class*="bg-"]):not([class*="badge"]),
html[data-theme="rosetta"] .glass-panel span:not(button *):not(a *):not([class*="bg-"]):not([class*="badge"]),
html[data-theme="rosetta"] .glass strong:not(button *):not(a *),
html[data-theme="rosetta"] .glass-panel strong:not(button *):not(a *),
html[data-theme="rosetta"] .glass h1,
html[data-theme="rosetta"] .glass h2,
html[data-theme="rosetta"] .glass h3,
html[data-theme="rosetta"] .glass-panel h1,
html[data-theme="rosetta"] .glass-panel h2,
html[data-theme="rosetta"] .glass-panel h3 {
    color: #1e293b !important;
}
html[data-theme="rosetta"] .glass-panel :not(button):not(a) > .text-slate-300,
html[data-theme="rosetta"] .glass :not(button):not(a) > .text-slate-300 {
    color: #334155 !important;
}
html[data-theme="rosetta"] .glass-panel :not(button):not(a) > .text-slate-400,
html[data-theme="rosetta"] .glass :not(button):not(a) > .text-slate-400 {
    color: #64748b !important;
}

/* Pulsanti e link primari/CTA all'interno di Glass e Glass-Panel in tema Rosetta */
html[data-theme="rosetta"] .glass a[class*="from-orange-"],
html[data-theme="rosetta"] .glass button[class*="from-orange-"],
html[data-theme="rosetta"] .glass a[class*="bg-orange-"],
html[data-theme="rosetta"] .glass button[class*="bg-orange-"],
html[data-theme="rosetta"] .glass-panel a[class*="from-orange-"],
html[data-theme="rosetta"] .glass-panel button[class*="from-orange-"],
html[data-theme="rosetta"] .glass-panel a[class*="bg-orange-"],
html[data-theme="rosetta"] .glass-panel button[class*="bg-orange-"],
html[data-theme="rosetta"] .glass-panel button:not([class*="text-"]):not([class*="bg-slate"]),
html[data-theme="rosetta"] .glass button:not([class*="text-"]):not([class*="bg-slate"]),
html[data-theme="rosetta"] .glass .btn-primary,
html[data-theme="rosetta"] .glass-panel .btn-primary {
    background: linear-gradient(135deg, #e11d48 0%, #c084fc 100%) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    box-shadow: 0 4px 15px rgba(225, 29, 72, 0.28) !important;
}

html[data-theme="rosetta"] .glass a[class*="from-orange-"] *,
html[data-theme="rosetta"] .glass button[class*="from-orange-"] *,
html[data-theme="rosetta"] .glass a[class*="bg-orange-"] *,
html[data-theme="rosetta"] .glass button[class*="bg-orange-"] *,
html[data-theme="rosetta"] .glass-panel a[class*="from-orange-"] *,
html[data-theme="rosetta"] .glass-panel button[class*="from-orange-"] *,
html[data-theme="rosetta"] .glass-panel a[class*="bg-orange-"] *,
html[data-theme="rosetta"] .glass-panel button[class*="bg-orange-"] *,
html[data-theme="rosetta"] .glass-panel button:not([class*="text-"]):not([class*="bg-slate"]) *,
html[data-theme="rosetta"] .glass button:not([class*="text-"]):not([class*="bg-slate"]) *,
html[data-theme="rosetta"] .glass .btn-primary *,
html[data-theme="rosetta"] .glass-panel .btn-primary * {
    color: #ffffff !important;
    fill: currentColor !important;
    stroke: currentColor !important;
}

html[data-theme="rosetta"] .glass a[class*="from-orange-"]:hover *,
html[data-theme="rosetta"] .glass button[class*="from-orange-"]:hover *,
html[data-theme="rosetta"] .glass a[class*="bg-orange-"]:hover *,
html[data-theme="rosetta"] .glass button[class*="bg-orange-"]:hover *,
html[data-theme="rosetta"] .glass-panel a[class*="from-orange-"]:hover *,
html[data-theme="rosetta"] .glass-panel button[class*="from-orange-"]:hover *,
html[data-theme="rosetta"] .glass-panel a[class*="bg-orange-"]:hover *,
html[data-theme="rosetta"] .glass-panel button[class*="bg-orange-"]:hover *,
html[data-theme="rosetta"] .glass-panel button:not([class*="text-"]):not([class*="bg-slate"]):hover *,
html[data-theme="rosetta"] .glass button:not([class*="text-"]):not([class*="bg-slate"]):hover *,
html[data-theme="rosetta"] .glass .btn-primary:hover *,
html[data-theme="rosetta"] .glass-panel .btn-primary:hover * {
    color: #ffffff !important;
}

/* Testi in grigio scuro elegante (richiesto dall'utente per evitare affaticamento) */
html[data-theme="rosetta"] .text-white,
html[data-theme="rosetta"] .text-slate-100,
html[data-theme="rosetta"] .text-slate-200 {
    color: #1e293b !important; /* Grigio grafite profondo */
}
html[data-theme="rosetta"] .text-slate-300 {
    color: #334155 !important;
}
html[data-theme="rosetta"] .text-slate-400 {
    color: #475569 !important;
}
html[data-theme="rosetta"] .text-slate-500 {
    color: #64748b !important;
}

/* Testi semantici e d'accento ad alto contrasto in Rosetta (WCAG AA/AAA) */
html[data-theme="rosetta"] .text-orange-400,
html[data-theme="rosetta"] .text-orange-500,
html[data-theme="rosetta"] .text-amber-400,
html[data-theme="rosetta"] .text-amber-500 {
    color: #e11d48 !important; /* Rose 600 - contrasto 4.8:1 */
}
html[data-theme="rosetta"] .text-orange-300,
html[data-theme="rosetta"] .text-amber-300 {
    color: #be123c !important; /* Rose 700 */
}
html[data-theme="rosetta"] .text-green-400,
html[data-theme="rosetta"] .text-emerald-400 {
    color: #15803d !important; /* Green 700 */
}
html[data-theme="rosetta"] .text-red-400,
html[data-theme="rosetta"] .text-red-500,
html[data-theme="rosetta"] .text-rose-400 {
    color: #b91c1c !important; /* Red 700 */
}
html[data-theme="rosetta"] .text-blue-400,
html[data-theme="rosetta"] .text-blue-500 {
    color: #1d4ed8 !important; /* Blue 700 */
}

/* Bordi rosa cipria */
html[data-theme="rosetta"] .border-white\/10,
html[data-theme="rosetta"] .border-white\/5,
html[data-theme="rosetta"] .border-white\/20,
html[data-theme="rosetta"] .border-slate-800,
html[data-theme="rosetta"] .border-slate-700 {
    border-color: #fecdd3 !important; /* Rose 200 */
}

/* Pulsanti in Rosetta: gradiente rosso carminio e lilla omogeneo per tutti i pulsanti (come richiesto) */
html[data-theme="rosetta"] a[class*="from-orange-500"][class*="to-pink-500"],
html[data-theme="rosetta"] button[class*="from-orange-500"][class*="to-pink-500"],
html[data-theme="rosetta"] a[class*="from-orange-500"][class*="to-red-500"],
html[data-theme="rosetta"] button[class*="from-orange-500"][class*="to-red-500"],
html[data-theme="rosetta"] a[class*="from-orange-500"][class*="to-amber-500"],
html[data-theme="rosetta"] button[class*="from-orange-500"][class*="to-amber-500"],
html[data-theme="rosetta"] a[class*="from-orange-600"][class*="to-amber-600"],
html[data-theme="rosetta"] button[class*="from-orange-600"][class*="to-amber-600"],
html[data-theme="rosetta"] a.bg-orange-500,
html[data-theme="rosetta"] button.bg-orange-500,
html[data-theme="rosetta"] a.btn-primary,
html[data-theme="rosetta"] button.btn-primary,
html[data-theme="rosetta"] input[type="submit"]:not(.secondary):not([class*="bg-slate"]),
html[data-theme="rosetta"] .bg-gradient-to-r.from-orange-500.to-pink-500:not(span),
html[data-theme="rosetta"] .bg-gradient-to-r.from-orange-500.to-red-500:not(span),
html[data-theme="rosetta"] .bg-gradient-to-r.from-orange-500.to-amber-500:not(span) {
    background: linear-gradient(135deg, #e11d48 0%, #c084fc 100%) !important; /* Rose 600 -> Purple 400 */
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    box-shadow: 0 4px 15px rgba(225, 29, 72, 0.28) !important;
}
html[data-theme="rosetta"] a[class*="from-orange-500"][class*="to-pink-500"] *,
html[data-theme="rosetta"] button[class*="from-orange-500"][class*="to-pink-500"] *,
html[data-theme="rosetta"] a[class*="from-orange-500"][class*="to-red-500"] *,
html[data-theme="rosetta"] button[class*="from-orange-500"][class*="to-red-500"] *,
html[data-theme="rosetta"] a[class*="from-orange-500"][class*="to-amber-500"] *,
html[data-theme="rosetta"] button[class*="from-orange-500"][class*="to-amber-500"] *,
html[data-theme="rosetta"] a[class*="from-orange-600"][class*="to-amber-600"] *,
html[data-theme="rosetta"] button[class*="from-orange-600"][class*="to-amber-600"] *,
html[data-theme="rosetta"] a.bg-orange-500 *,
html[data-theme="rosetta"] button.bg-orange-500 *,
html[data-theme="rosetta"] a.btn-primary *,
html[data-theme="rosetta"] button.btn-primary *,
html[data-theme="rosetta"] .bg-gradient-to-r.from-orange-500.to-pink-500:not(span) *,
html[data-theme="rosetta"] .bg-gradient-to-r.from-orange-500.to-red-500:not(span) *,
html[data-theme="rosetta"] .bg-gradient-to-r.from-orange-500.to-amber-500:not(span) * {
    color: #ffffff !important;
    fill: currentColor;
    stroke: currentColor;
}
html[data-theme="rosetta"] a[class*="from-orange-500"][class*="to-pink-500"]:hover,
html[data-theme="rosetta"] button[class*="from-orange-500"][class*="to-pink-500"]:hover,
html[data-theme="rosetta"] a[class*="from-orange-500"][class*="to-red-500"]:hover,
html[data-theme="rosetta"] button[class*="from-orange-500"][class*="to-red-500"]:hover,
html[data-theme="rosetta"] a[class*="from-orange-500"][class*="to-amber-500"]:hover,
html[data-theme="rosetta"] button[class*="from-orange-500"][class*="to-amber-500"]:hover,
html[data-theme="rosetta"] a[class*="from-orange-600"][class*="to-amber-600"]:hover,
html[data-theme="rosetta"] button[class*="from-orange-600"][class*="to-amber-600"]:hover,
html[data-theme="rosetta"] a.bg-orange-500:hover,
html[data-theme="rosetta"] button.bg-orange-500:hover,
html[data-theme="rosetta"] a.btn-primary:hover,
html[data-theme="rosetta"] button.btn-primary:hover,
html[data-theme="rosetta"] input[type="submit"]:not(.secondary):not([class*="bg-slate"]):hover,
html[data-theme="rosetta"] .bg-gradient-to-r.from-orange-500.to-pink-500:not(span):hover,
html[data-theme="rosetta"] .bg-gradient-to-r.from-orange-500.to-red-500:not(span):hover,
html[data-theme="rosetta"] .bg-gradient-to-r.from-orange-500.to-amber-500:not(span):hover {
    background: linear-gradient(135deg, #be123c 0%, #a855f7 100%) !important;
    box-shadow: 0 6px 18px rgba(225, 29, 72, 0.38) !important;
    color: #ffffff !important;
}
html[data-theme="rosetta"] a[class*="from-orange-500"][class*="to-pink-500"]:hover *,
html[data-theme="rosetta"] button[class*="from-orange-500"][class*="to-pink-500"]:hover *,
html[data-theme="rosetta"] a[class*="from-orange-500"][class*="to-red-500"]:hover *,
html[data-theme="rosetta"] button[class*="from-orange-500"][class*="to-red-500"]:hover *,
html[data-theme="rosetta"] a[class*="from-orange-500"][class*="to-amber-500"]:hover *,
html[data-theme="rosetta"] button[class*="from-orange-500"][class*="to-amber-500"]:hover *,
html[data-theme="rosetta"] a[class*="from-orange-600"][class*="to-amber-600"]:hover *,
html[data-theme="rosetta"] button[class*="from-orange-600"][class*="to-amber-600"]:hover *,
html[data-theme="rosetta"] a.bg-orange-500:hover *,
html[data-theme="rosetta"] button.bg-orange-500:hover *,
html[data-theme="rosetta"] a.btn-primary:hover *,
html[data-theme="rosetta"] button.btn-primary:hover *,
html[data-theme="rosetta"] .bg-gradient-to-r.from-orange-500.to-pink-500:not(span):hover *,
html[data-theme="rosetta"] .bg-gradient-to-r.from-orange-500.to-red-500:not(span):hover *,
html[data-theme="rosetta"] .bg-gradient-to-r.from-orange-500.to-amber-500:not(span):hover * {
    color: #ffffff !important;
}

/* Pulsanti secondari, di superficie e bottoni interfaccia in tema Rosetta */
html[data-theme="rosetta"] a.bg-slate-800,
html[data-theme="rosetta"] button.bg-slate-800,
html[data-theme="rosetta"] a[class*="bg-slate-800"],
html[data-theme="rosetta"] button[class*="bg-slate-800"],
html[data-theme="rosetta"] a.bg-slate-700,
html[data-theme="rosetta"] button.bg-slate-700,
html[data-theme="rosetta"] a[class*="bg-slate-700"],
html[data-theme="rosetta"] button[class*="bg-slate-700"],
html[data-theme="rosetta"] .copy-btn,
html[data-theme="rosetta"] .weekday-btn,
html[data-theme="rosetta"] .faq-cat-btn,
html[data-theme="rosetta"] .wysiwyg-btn,
html[data-theme="rosetta"] .theme-opt-btn,
html[data-theme="rosetta"] .theme-choice-btn,
html[data-theme="rosetta"] .btn-secondary,
html[data-theme="rosetta"] .secondary,
html[data-theme="rosetta"] .btn-refresh,
html[data-theme="rosetta"] .back {
    background-color: #ffe4e6 !important; /* Rose 100 */
    color: #1e293b !important;            /* Slate 800 */
    border-color: #fecdd3 !important;     /* Rose 200 */
}
html[data-theme="rosetta"] a.bg-slate-800 *,
html[data-theme="rosetta"] button.bg-slate-800 *,
html[data-theme="rosetta"] a[class*="bg-slate-800"] *,
html[data-theme="rosetta"] button[class*="bg-slate-800"] *,
html[data-theme="rosetta"] a.bg-slate-700 *,
html[data-theme="rosetta"] button.bg-slate-700 *,
html[data-theme="rosetta"] a[class*="bg-slate-700"] *,
html[data-theme="rosetta"] button[class*="bg-slate-700"] *,
html[data-theme="rosetta"] .copy-btn *,
html[data-theme="rosetta"] .weekday-btn *,
html[data-theme="rosetta"] .faq-cat-btn *,
html[data-theme="rosetta"] .wysiwyg-btn *,
html[data-theme="rosetta"] .theme-opt-btn *,
html[data-theme="rosetta"] .theme-choice-btn *,
html[data-theme="rosetta"] .btn-secondary *,
html[data-theme="rosetta"] .secondary *,
html[data-theme="rosetta"] .btn-refresh *,
html[data-theme="rosetta"] .back * {
    color: #1e293b !important;
}

html[data-theme="rosetta"] a.bg-slate-800:hover,
html[data-theme="rosetta"] button.bg-slate-800:hover,
html[data-theme="rosetta"] a[class*="bg-slate-800"]:hover,
html[data-theme="rosetta"] button[class*="bg-slate-800"]:hover,
html[data-theme="rosetta"] a.bg-slate-700:hover,
html[data-theme="rosetta"] button.bg-slate-700:hover,
html[data-theme="rosetta"] a[class*="bg-slate-700"]:hover,
html[data-theme="rosetta"] button[class*="bg-slate-700"]:hover,
html[data-theme="rosetta"] .copy-btn:hover,
html[data-theme="rosetta"] .weekday-btn:hover,
html[data-theme="rosetta"] .faq-cat-btn:hover,
html[data-theme="rosetta"] .wysiwyg-btn:hover,
html[data-theme="rosetta"] .theme-opt-btn:hover,
html[data-theme="rosetta"] .theme-choice-btn:hover,
html[data-theme="rosetta"] .btn-secondary:hover,
html[data-theme="rosetta"] .secondary:hover,
html[data-theme="rosetta"] .btn-refresh:hover,
html[data-theme="rosetta"] .back:hover,
html[data-theme="rosetta"] .hover\:bg-slate-800:hover,
html[data-theme="rosetta"] .hover\:bg-slate-700:hover,
html[data-theme="rosetta"] .hover\:bg-slate-600:hover {
    background-color: #fecdd3 !important; /* Rose 200 */
    color: #9f1239 !important;            /* Rose 800 */
    border-color: #fda4af !important;     /* Rose 300 */
}
html[data-theme="rosetta"] a.bg-slate-800:hover *,
html[data-theme="rosetta"] button.bg-slate-800:hover *,
html[data-theme="rosetta"] a[class*="bg-slate-800"]:hover *,
html[data-theme="rosetta"] button[class*="bg-slate-800"]:hover *,
html[data-theme="rosetta"] a.bg-slate-700:hover *,
html[data-theme="rosetta"] button.bg-slate-700:hover *,
html[data-theme="rosetta"] a[class*="bg-slate-700"]:hover *,
html[data-theme="rosetta"] button[class*="bg-slate-700"]:hover *,
html[data-theme="rosetta"] .copy-btn:hover *,
html[data-theme="rosetta"] .weekday-btn:hover *,
html[data-theme="rosetta"] .faq-cat-btn:hover *,
html[data-theme="rosetta"] .wysiwyg-btn:hover *,
html[data-theme="rosetta"] .theme-opt-btn:hover *,
html[data-theme="rosetta"] .theme-choice-btn:hover *,
html[data-theme="rosetta"] .btn-secondary:hover *,
html[data-theme="rosetta"] .secondary:hover *,
html[data-theme="rosetta"] .btn-refresh:hover *,
html[data-theme="rosetta"] .back:hover * {
    color: #9f1239 !important;
}

/* Pulsanti Outline e Semantici in tema Rosetta */
html[data-theme="rosetta"] a[class*="border-orange-"],
html[data-theme="rosetta"] button[class*="border-orange-"] {
    border-color: #e11d48 !important;
    color: #e11d48 !important;
}
html[data-theme="rosetta"] a[class*="border-orange-"]:hover,
html[data-theme="rosetta"] button[class*="border-orange-"]:hover {
    background-color: rgba(225, 29, 72, 0.08) !important;
    border-color: #be123c !important;
    color: #be123c !important;
}

html[data-theme="rosetta"] a[class*="bg-red-"],
html[data-theme="rosetta"] button[class*="bg-red-"],
html[data-theme="rosetta"] a[class*="bg-rose-"],
html[data-theme="rosetta"] button[class*="bg-rose-"] {
    background-color: #fff1f2 !important;
    border: 1px solid #fecdd3 !important;
    color: #b91c1c !important;
}
html[data-theme="rosetta"] a[class*="bg-red-"]:hover,
html[data-theme="rosetta"] button[class*="bg-red-"]:hover,
html[data-theme="rosetta"] a[class*="bg-rose-"]:hover,
html[data-theme="rosetta"] button[class*="bg-rose-"]:hover {
    background-color: #ffe4e6 !important;
    color: #9f1239 !important;
}

html[data-theme="rosetta"] a[class*="bg-emerald-"],
html[data-theme="rosetta"] button[class*="bg-emerald-"],
html[data-theme="rosetta"] a[class*="bg-green-"],
html[data-theme="rosetta"] button[class*="bg-green-"] {
    background-color: #f0fdf4 !important;
    border: 1px solid #a7f3d0 !important;
    color: #15803d !important;
}
html[data-theme="rosetta"] a[class*="bg-emerald-"]:hover,
html[data-theme="rosetta"] button[class*="bg-emerald-"]:hover,
html[data-theme="rosetta"] a[class*="bg-green-"]:hover,
html[data-theme="rosetta"] button[class*="bg-green-"]:hover {
    background-color: #dcfce7 !important;
    color: #166534 !important;
}

html[data-theme="rosetta"] a[class*="bg-blue-"],
html[data-theme="rosetta"] button[class*="bg-blue-"] {
    background-color: #eff6ff !important;
    border: 1px solid #bfdbfe !important;
    color: #1d4ed8 !important;
}

/* Accenti arancio/viola convertiti in tonalità lampone/rosa forte */
html[data-theme="rosetta"] .text-orange-400,
html[data-theme="rosetta"] .text-amber-400 {
    color: #e11d48 !important;
}

/* Cerca: CTA e accenti mobile seguono la palette selezionata */
html[data-theme="light"] #global-header .header-search-link {
    background: linear-gradient(135deg, #0f172a 0%, #334155 100%) !important;
    color: #ffffff !important;
    border-color: #334155 !important;
}
html[data-theme="light"] #global-header .header-search-link .search-nav-label {
    color: #ffffff !important;
}
html[data-theme="light"] .search-drawer-link.is-current,
html[data-theme="light"] .search-bottom-link.is-current {
    color: #0f172a !important;
    background-color: rgba(15, 23, 42, 0.08) !important;
    border-color: #334155 !important;
}
html[data-theme="light"] .search-drawer-icon,
html[data-theme="light"] .search-bottom-icon {
    background: linear-gradient(135deg, #0f172a 0%, #334155 100%) !important;
    color: #ffffff !important;
}

html[data-theme="rosetta"] #global-header .header-search-link {
    background: linear-gradient(135deg, #e11d48 0%, #c084fc 100%) !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.45) !important;
}
html[data-theme="rosetta"] .search-drawer-link.is-current,
html[data-theme="rosetta"] .search-bottom-link.is-current {
    color: #9f1239 !important;
    background-color: rgba(225, 29, 72, 0.1) !important;
    border-color: #e11d48 !important;
}
html[data-theme="rosetta"] .search-drawer-icon,
html[data-theme="rosetta"] .search-bottom-icon {
    background: linear-gradient(135deg, #e11d48 0%, #c084fc 100%) !important;
    color: #ffffff !important;
}

html[data-theme="ipovedenti"] #global-header .header-search-link,
html[data-theme="ipovedenti"] .search-drawer-icon,
html[data-theme="ipovedenti"] .search-bottom-icon {
    background: #000000 !important;
    color: #ffff00 !important;
    border: 2px solid #ffff00 !important;
    box-shadow: none !important;
}
html[data-theme="ipovedenti"] #global-header .header-search-link::before {
    display: none !important;
}
html[data-theme="ipovedenti"] .search-drawer-link.is-current,
html[data-theme="ipovedenti"] .search-bottom-link.is-current {
    color: #ffff00 !important;
    background: #000000 !important;
    border: 2px solid #ffff00 !important;
    box-shadow: none !important;
}

/* Input form in Rosetta */
html[data-theme="rosetta"] input,
html[data-theme="rosetta"] select,
html[data-theme="rosetta"] textarea {
    background-color: #ffffff !important;
    color: #1e293b !important;
    border-color: #fecdd3 !important;
}
html[data-theme="rosetta"] input::placeholder,
html[data-theme="rosetta"] textarea::placeholder {
    color: #94a3b8 !important;
}

/* Dropdown e popup in Rosetta */
html[data-theme="rosetta"] #user-dropdown-panel,
html[data-theme="rosetta"] #theme-dropdown-panel,
html[data-theme="rosetta"] #mobile-menu-drawer,
html[data-theme="rosetta"] [id$="-dropdown-panel"] {
    background-color: #ffffff !important;
    border-color: #fecdd3 !important;
    box-shadow: 0 20px 25px -5px rgba(225, 29, 72, 0.08), 0 8px 10px -6px rgba(192, 132, 252, 0.06) !important;
}

/* ==========================================================================
   4. CERCHIETTI IDENTIFICATIVI YIN-YANG / MULTICOLORE
   ========================================================================== */
.theme-dot {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: inline-block;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
    border: 1.5px solid rgba(255, 255, 255, 0.35);
}

/* Cerchietto Auto: Bicolore Scuro/Chiaro diviso diagonalmente */
.theme-dot-auto {
    background: linear-gradient(135deg, #020617 50%, #ffffff 50%);
    border-color: #94a3b8;
}

/* Cerchietto Scuro: Sfondo Notte con arancione e viola */
.theme-dot-dark {
    background: #020617;
    border-color: #f97316;
}
.theme-dot-dark::after {
    content: '';
    position: absolute;
    top: 3px;
    right: 3px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #f97316;
    box-shadow: 0 0 4px #a855f7;
}

/* Cerchietto Chiaro: Sfondo Bianco puro con spicchio scuro */
.theme-dot-light {
    background: #ffffff;
    border-color: #cbd5e1;
}
.theme-dot-light::after {
    content: '';
    position: absolute;
    bottom: 2px;
    right: 2px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #0f172a;
}

/* Cerchietto Ipovedenti: Bicolore netto Nero / Giallo fluorescente WCAG AAA */
.theme-dot-ipovedenti {
    background: linear-gradient(135deg, #000000 50%, #ffff00 50%);
    border-color: #ffff00;
    border-width: 2px;
}

/* Cerchietto Rosetta: Rosa cipria con rosso rubino e lilla */
.theme-dot-rosetta {
    background: #fff1f2;
    border-color: #f43f5e;
}
.theme-dot-rosetta::after {
    content: '';
    position: absolute;
    top: 2px;
    right: 2px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: linear-gradient(135deg, #e11d48, #c084fc);
}

/* ==========================================================================
   5. GESTIONE VARIANTE LOGO PER SFONDI CHIARI (LIGHT & ROSETTA)
   ========================================================================== */
.logo-dark-variant {
    display: none !important;
}
.logo-default {
    display: block !important;
}

html[data-theme="light"] .logo-default,
html[data-theme="rosetta"] .logo-default {
    display: none !important;
}
html[data-theme="light"] .logo-dark-variant,
html[data-theme="rosetta"] .logo-dark-variant {
    display: block !important;
}

/* ==========================================================================
   6. ECCEZIONE HERO BANNER CON SFONDO SCURO (LIGHT & ROSETTA)
   Preserva testi bianchi/luminosi, contrasto e stile su banner fotografici
   notturni (es. homepage) nei temi chiari.
   ========================================================================== */
html[data-theme="light"] .hero-home-dark,
html[data-theme="light"] .hero-home,
html[data-theme="rosetta"] .hero-home-dark,
html[data-theme="rosetta"] .hero-home {
    border-color: rgba(255, 255, 255, 0.15) !important;
}

/* Velo scuro sopra la foto: resta trasparente in tutti i temi. La regola generale che rende chiari
   gli sfondi "bg-slate-950" lo trasformerebbe in un riquadro opaco che copre l'immagine. */
html[data-theme="light"] .hero-home .hero-home-velo,
html[data-theme="rosetta"] .hero-home .hero-home-velo {
    background-color: rgba(2, 6, 23, 0.7) !important;
}

html[data-theme="light"] .hero-home-dark h1,
html[data-theme="light"] .hero-home h1,
html[data-theme="light"] .hero-home-dark .text-white,
html[data-theme="light"] .hero-home .text-white,
html[data-theme="light"] section:has(img[src*="hero-party"]) h1,
html[data-theme="light"] section:has(img[src*="hero-party"]) .text-white,
html[data-theme="rosetta"] .hero-home-dark h1,
html[data-theme="rosetta"] .hero-home h1,
html[data-theme="rosetta"] .hero-home-dark .text-white,
html[data-theme="rosetta"] .hero-home .text-white,
html[data-theme="rosetta"] section:has(img[src*="hero-party"]) h1,
html[data-theme="rosetta"] section:has(img[src*="hero-party"]) .text-white {
    color: #ffffff !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
}

html[data-theme="light"] .hero-home-dark p,
html[data-theme="light"] .hero-home p,
html[data-theme="light"] .hero-home-dark .text-slate-200,
html[data-theme="light"] .hero-home .text-slate-200,
html[data-theme="light"] section:has(img[src*="hero-party"]) p,
html[data-theme="light"] section:has(img[src*="hero-party"]) .text-slate-200,
html[data-theme="rosetta"] .hero-home-dark p,
html[data-theme="rosetta"] .hero-home p,
html[data-theme="rosetta"] .hero-home-dark .text-slate-200,
html[data-theme="rosetta"] .hero-home .text-slate-200,
html[data-theme="rosetta"] section:has(img[src*="hero-party"]) p,
html[data-theme="rosetta"] section:has(img[src*="hero-party"]) .text-slate-200 {
    color: #f1f5f9 !important;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.4);
}

/* Barra di ricerca dentro l'Hero: vetro scuro e testo chiaro per contrasto su foto */
html[data-theme="light"] .hero-home-dark .glass,
html[data-theme="light"] .hero-home .glass,
html[data-theme="light"] section:has(img[src*="hero-party"]) .glass,
html[data-theme="rosetta"] .hero-home-dark .glass,
html[data-theme="rosetta"] .hero-home .glass,
html[data-theme="rosetta"] section:has(img[src*="hero-party"]) .glass {
    background: rgba(15, 23, 42, 0.75) !important;
    backdrop-filter: none !important; /* sfocatura rimossa: rallentava lo scorrimento */
    border-color: rgba(255, 255, 255, 0.2) !important;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.4), 0 8px 10px -6px rgba(0, 0, 0, 0.3) !important;
}

html[data-theme="light"] .hero-home-dark .glass span,
html[data-theme="light"] .hero-home .glass span,
html[data-theme="light"] .hero-home-dark .text-slate-300,
html[data-theme="light"] .hero-home .text-slate-300,
html[data-theme="light"] section:has(img[src*="hero-party"]) .glass span,
html[data-theme="rosetta"] .hero-home-dark .glass span,
html[data-theme="rosetta"] .hero-home .glass span,
html[data-theme="rosetta"] .hero-home-dark .text-slate-300,
html[data-theme="rosetta"] .hero-home .text-slate-300,
html[data-theme="rosetta"] section:has(img[src*="hero-party"]) .glass span {
    color: #e2e8f0 !important;
}

/* Pulsante lente ricerca nell'Hero: mantiene gradiente arancio-rosa originale */
html[data-theme="light"] .hero-home-dark .bg-gradient-to-r.from-orange-500.to-pink-500,
html[data-theme="light"] .hero-home .bg-gradient-to-r.from-orange-500.to-pink-500,
html[data-theme="light"] section:has(img[src*="hero-party"]) .bg-gradient-to-r.from-orange-500.to-pink-500,
html[data-theme="rosetta"] .hero-home-dark .bg-gradient-to-r.from-orange-500.to-pink-500,
html[data-theme="rosetta"] .hero-home .bg-gradient-to-r.from-orange-500.to-pink-500,
html[data-theme="rosetta"] section:has(img[src*="hero-party"]) .bg-gradient-to-r.from-orange-500.to-pink-500 {
    background: linear-gradient(135deg, #f97316 0%, #ec4899 100%) !important;
    color: #ffffff !important;
    border: none !important;
}

/* Badge ed elementi con sfondo scuro/nero sovrapposti a immagini mantengono testo bianco */
html[data-theme="light"] [class*="bg-black\/"] *,
html[data-theme="light"] [class*="bg-black\/"],
html[data-theme="rosetta"] [class*="bg-black\/"] *,
html[data-theme="rosetta"] [class*="bg-black\/"] {
    color: #ffffff !important;
}

/* ==========================================================================
   7. BOX PREVISIONI METEO (OPEN-METEO) E PROGRAMMAZIONE DATE
   Garantisce massima leggibilità, contrasto e stile del box meteo compatto
   e della riga date in tutti i temi chiari e accessibili.
   ========================================================================== */
/* Date ufficiali: sfondi e bordi chiari */
html[data-theme="light"] .bg-slate-700\/40,
html[data-theme="light"] .bg-slate-700\/60 {
    background-color: #f1f5f9 !important;
}
html[data-theme="light"] .border-slate-600\/40 {
    border-color: #e2e8f0 !important;
}

html[data-theme="rosetta"] .bg-slate-700\/40,
html[data-theme="rosetta"] .bg-slate-700\/60 {
    background-color: #ffe4e6 !important;
}
html[data-theme="rosetta"] .border-slate-600\/40 {
    border-color: #fecdd3 !important;
}

/* 7.1 Box Meteo in Tema Chiaro (Light) */
html[data-theme="light"] .box-meteo-evento {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: 0 4px 12px -2px rgba(15, 23, 42, 0.08) !important;
}
html[data-theme="light"] .box-meteo-evento .box-meteo-header {
    border-color: #f1f5f9 !important;
}
html[data-theme="light"] .box-meteo-evento .box-meteo-tag {
    color: #475569 !important; /* Slate 600 */
}
html[data-theme="light"] .box-meteo-evento .box-meteo-time {
    background-color: #f1f5f9 !important; /* Slate 100 */
    border-color: #cbd5e1 !important;
    color: #0f172a !important; /* Slate 900 */
}
html[data-theme="light"] .box-meteo-evento .box-meteo-desc {
    color: #0f172a !important; /* Slate 900 */
}
html[data-theme="light"] .box-meteo-evento .box-meteo-temp {
    color: #c2410c !important; /* Orange 700 - forte contrasto > 4.5:1 su bianco */
}
html[data-theme="light"] .box-meteo-evento .box-meteo-stat {
    background-color: #f8fafc !important;
    border-color: #e2e8f0 !important;
}
html[data-theme="light"] .box-meteo-evento .box-meteo-rain {
    color: #0369a1 !important; /* Sky 700 - contrasto 5.5:1 su bianco */
}
html[data-theme="light"] .box-meteo-evento .box-meteo-wind {
    color: #334155 !important; /* Slate 700 */
}
html[data-theme="light"] .box-meteo-evento .box-meteo-hint {
    color: #64748b !important;
}

/* 7.2 Box Meteo in Tema Rosetta */
html[data-theme="rosetta"] .box-meteo-evento {
    background: #ffffff !important;
    border: 1px solid #fecdd3 !important; /* Rose 200 */
    box-shadow: 0 4px 12px -2px rgba(225, 29, 72, 0.06) !important;
}
html[data-theme="rosetta"] .box-meteo-evento .box-meteo-header {
    border-color: #fff1f2 !important;
}
html[data-theme="rosetta"] .box-meteo-evento .box-meteo-tag {
    color: #64748b !important;
}
html[data-theme="rosetta"] .box-meteo-evento .box-meteo-time {
    background-color: #ffe4e6 !important; /* Rose 100 */
    border-color: #fecdd3 !important;
    color: #1e293b !important;
}
html[data-theme="rosetta"] .box-meteo-evento .box-meteo-desc {
    color: #1e293b !important;
}
html[data-theme="rosetta"] .box-meteo-evento .box-meteo-temp {
    color: #be123c !important; /* Rose 700 */
}
html[data-theme="rosetta"] .box-meteo-evento .box-meteo-stat {
    background-color: #fff1f2 !important;
    border-color: #fecdd3 !important;
}
html[data-theme="rosetta"] .box-meteo-evento .box-meteo-rain {
    color: #0369a1 !important;
}
html[data-theme="rosetta"] .box-meteo-evento .box-meteo-wind {
    color: #475569 !important;
}
html[data-theme="rosetta"] .box-meteo-evento .box-meteo-hint {
    color: #64748b !important;
}

/* 7.3 Box Meteo in Tema Ipovedenti (WCAG AAA) */
html[data-theme="ipovedenti"] .box-meteo-evento {
    background: #000000 !important;
    border: 2px solid #ffff00 !important;
}
html[data-theme="ipovedenti"] .box-meteo-evento .box-meteo-header {
    border-color: #ffff00 !important;
}
html[data-theme="ipovedenti"] .box-meteo-evento .box-meteo-tag,
html[data-theme="ipovedenti"] .box-meteo-evento .box-meteo-time,
html[data-theme="ipovedenti"] .box-meteo-evento .box-meteo-desc,
html[data-theme="ipovedenti"] .box-meteo-evento .box-meteo-temp,
html[data-theme="ipovedenti"] .box-meteo-evento .box-meteo-stat,
html[data-theme="ipovedenti"] .box-meteo-evento .box-meteo-hint {
    color: #ffff00 !important;
    background-color: #000000 !important;
    border-color: #ffff00 !important;
}

/* ==========================================================================
   8. GRADAZIONE BIANCA COPERTINA SCHEDA EVENTO (LIGHT & ROSETTA)
   Garantisce che la foto di copertina e le locandine nelle card siano sempre
   visibili al 100%, con overlay sfumati trasparenti che non coprono la foto.
   ========================================================================== */
.event-hero-gradient,
.event-hero-cover > div[class*="bg-gradient-"],
div.h-44 > div.absolute.inset-0,
div.overflow-hidden > div.absolute.inset-0[class*="to-transparent"],
[class*="to-transparent"] {
    background-color: transparent !important;
}

/* Visibilità immagini garantita in tutti i temi */
.event-hero-cover > img,
div[class*="h-44"] > img,
.card-evento img,
a[href*="/evento/"] img {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* 8.1 Copertina Scheda Singolo Evento (evento.php) */
html[data-theme="light"] .event-hero-gradient,
html[data-theme="light"] .event-hero-cover > div[class*="bg-gradient-to-t"],
html[data-theme="light"] .h-\[50vh\] > div[class*="bg-gradient-to-t"] {
    background: linear-gradient(to top, rgba(248, 250, 252, 0.95) 0%, rgba(248, 250, 252, 0.4) 20%, transparent 60%) !important;
    background-color: transparent !important;
}

html[data-theme="rosetta"] .event-hero-gradient,
html[data-theme="rosetta"] .event-hero-cover > div[class*="bg-gradient-to-t"],
html[data-theme="rosetta"] .h-\[50vh\] > div[class*="bg-gradient-to-t"] {
    background: linear-gradient(to top, rgba(255, 241, 242, 0.95) 0%, rgba(255, 241, 242, 0.4) 20%, transparent 60%) !important;
    background-color: transparent !important;
}

html[data-theme="ipovedenti"] .event-hero-gradient,
html[data-theme="ipovedenti"] .event-hero-cover > div[class*="bg-gradient-to-t"],
html[data-theme="ipovedenti"] .h-\[50vh\] > div[class*="bg-gradient-to-t"] {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.3) 25%, transparent 60%) !important;
    background-color: transparent !important;
}

/* 8.2 Anteprima Locandina nelle Card Evento (Home, Ricerca, Esplora/Archivio, Profilo) */
html[data-theme="light"] div[class*="h-44"] > div.absolute.inset-0,
html[data-theme="light"] div.absolute.inset-0[class*="bg-gradient-to-t"][class*="to-transparent"] {
    background: linear-gradient(to top, rgba(15, 23, 42, 0.45) 0%, rgba(15, 23, 42, 0.1) 35%, transparent 70%) !important;
    background-color: transparent !important;
}

html[data-theme="rosetta"] div[class*="h-44"] > div.absolute.inset-0,
html[data-theme="rosetta"] div.absolute.inset-0[class*="bg-gradient-to-t"][class*="to-transparent"] {
    background: linear-gradient(to top, rgba(30, 41, 59, 0.45) 0%, rgba(30, 41, 59, 0.1) 35%, transparent 70%) !important;
    background-color: transparent !important;
}

html[data-theme="ipovedenti"] div[class*="h-44"] > div.absolute.inset-0,
html[data-theme="ipovedenti"] div.absolute.inset-0[class*="bg-gradient-to-t"][class*="to-transparent"] {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, transparent 50%) !important;
    background-color: transparent !important;
}

/* ==========================================================================
   9. BADGE NELLE ANTEPRIME EVENTI (CHIP METADATI NON PULSANTI)
   Stile discreto a chip/tag con padding ridotto, diverso dai pulsanti CTA.
   Previene accavallamenti su categorie lunghe e si adatta a tutte le palette.
   ========================================================================== */
.event-card-badge {
    background: rgba(15, 23, 42, 0.85) !important;
    backdrop-filter: none !important; /* sfocatura rimossa: rallentava lo scorrimento */
    -webkit-backdrop-filter: none !important; /* sfocatura rimossa: rallentava lo scorrimento */
    color: #fdba74 !important; /* Orange 300 tenue */
    border: 1px solid rgba(249, 115, 22, 0.3) !important;
    padding: 2px 7px !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

html[data-theme="light"] .event-card-badge {
    background: rgba(255, 255, 255, 0.92) !important;
    color: #c2410c !important; /* Orange 700 ad alto contrasto */
    border: 1px solid rgba(203, 213, 225, 0.9) !important; /* Slate 300 */
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.08) !important;
}

html[data-theme="rosetta"] .event-card-badge {
    background: rgba(255, 253, 253, 0.92) !important;
    color: #9f1239 !important; /* Rose 800 */
    border: 1px solid rgba(254, 205, 211, 0.9) !important; /* Rose 200 */
    box-shadow: 0 2px 6px rgba(225, 29, 72, 0.08) !important;
}

html[data-theme="ipovedenti"] .event-card-badge {
    background: #000000 !important;
    color: #ffff00 !important;
    border: 1.5px solid #ffff00 !important;
    box-shadow: none !important;
}

/* ==========================================================================
   10. STILE SELECT2: Sfondo chiaro e testo scuro per selezione (data entry), dropdown scuro
   ========================================================================== */
.select2-container--default .select2-selection--multiple,
.select2-container--default .select2-selection--single {
    background-color: #ffffff !important; /* Sfondo chiaro */
    border: 1px solid #cbd5e1 !important; /* Bordo chiaro */
    color: #0f172a !important;            /* Testo scuro */
    border-radius: 0.75rem !important;
    min-height: 44px !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered,
.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #0f172a !important;
}

.select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field {
    color: #0f172a !important;
    background: transparent !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #f97316 !important;
    border: 1px solid #ea580c !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    border-radius: 0.5rem !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: #ffffff !important;
}

.select2-dropdown {
    background-color: #1e293b !important;
    border: 1px solid #475569 !important;
    border-radius: 0.75rem !important;
    color: #ffffff !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.6) !important;
}

.select2-search--dropdown .select2-search__field {
    background-color: #334155 !important;
    border: 1px solid #475569 !important;
    color: #ffffff !important;
    border-radius: 0.5rem !important;
}

.select2-container--default .select2-results__option {
    color: #e2e8f0 !important;
    background-color: transparent !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #f97316 !important;
    color: #ffffff !important;
}

.select2-container--default .select2-results__option[aria-selected="true"] {
    background-color: #334155 !important;
    color: #fdba74 !important;
}

html[data-theme="light"] .select2-container--default .select2-selection--multiple,
html[data-theme="light"] .select2-container--default .select2-selection--single {
    background-color: #ffffff !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
}

html[data-theme="light"] .select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field,
html[data-theme="light"] .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #0f172a !important;
}

html[data-theme="light"] .select2-dropdown {
    background-color: #ffffff !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
}

html[data-theme="light"] .select2-search--dropdown .select2-search__field {
    background-color: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
}

html[data-theme="light"] .select2-container--default .select2-results__option {
    color: #334155 !important;
}






/* ==========================================================================
   10. PRESTAZIONI E ACCESSIBILITÀ (MOBILE FIRST) — 25/10/2026
   ========================================================================== */

/* 10.1 Niente sfocature di sfondo: backdrop-filter ricalcola a ogni fotogramma l'immagine sfocata di ciò che sta
   dietro (header e barra fissi, schede, badge) e rallentava lo scorrimento sui telefoni. Gli sfondi restano
   semitrasparenti ma più pieni dove servono (vedi .glass e i template). */
*, *::before, *::after {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

/* 10.2 Macchie decorative: lo stesso alone colorato con una maschera radiale invece del filtro blur
   (il filtro sfoca ogni volta superfici di centinaia di pixel; la maschera costa quasi nulla). */
.rounded-full.blur-xl,
.rounded-full.blur-2xl,
.rounded-full.blur-3xl,
.rounded-full[class*="blur-["],
.glow-ambient {
    filter: none !important;
    -webkit-mask-image: radial-gradient(closest-side, #000 0%, rgba(0, 0, 0, 0.45) 45%, transparent 100%);
    mask-image: radial-gradient(closest-side, #000 0%, rgba(0, 0, 0, 0.45) 45%, transparent 100%);
}

/* 10.3 Pannelli "glass" senza sfocatura: fondo più pieno per mantenere leggibile il testo sopra le foto */
html:not([data-theme="light"]):not([data-theme="rosetta"]):not([data-theme="ipovedenti"]) .glass {
    background-color: rgba(15, 23, 42, 0.86) !important;
}

/* 10.4 Pulsanti a gradiente arancio-rosa con testo bianco: contrasto da 2,8:1 a oltre 4,5:1 (WCAG AA)
   scurendo i due estremi (arancio 700 e rosa 600). Escluse le scritte a gradiente (bg-clip-text),
   che sul fondo scuro devono restare chiare. Il tema chiaro ha già regole proprie. */
html:not([data-theme="light"]):not([data-theme="rosetta"]):not([data-theme="ipovedenti"]) .from-orange-500.to-pink-500:not(.bg-clip-text) {
    --tw-gradient-from: #c2410c !important;
    --tw-gradient-to: #db2777 !important;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}
html:not([data-theme="light"]):not([data-theme="rosetta"]):not([data-theme="ipovedenti"]) .from-orange-500.to-pink-500:not(.bg-clip-text):hover {
    --tw-gradient-from: #9a3412 !important;
    --tw-gradient-to: #be185d !important;
}

/* 10.5 Grigi troppo spenti sul fondo scuro: slate-500 (3,1-3,75:1) e slate-600 (2,4:1) diventano slate-400 (oltre 5,7:1) */
html:not([data-theme="light"]):not([data-theme="rosetta"]):not([data-theme="ipovedenti"]) .text-slate-500,
html:not([data-theme="light"]):not([data-theme="rosetta"]):not([data-theme="ipovedenti"]) .text-slate-600 {
    color: #94a3b8 !important;
}

/* 10.6 Testi minuscoli più leggibili: 9 px → 10 px, 10 px → 11 px */
.text-\[9px\] { font-size: 10px !important; }
.text-\[10px\] { font-size: 11px !important; }

/* 10.7 Liste lunghe: le schede fuori schermo non vengono disegnate finché non servono (scorrimento più fluido) */
.event-card-item,
#archivio-griglia > article {
    content-visibility: auto;
    contain-intrinsic-size: auto 420px;
}

/* 10.8 Su mobile: ombre più leggere (le ombre ampie costano a ogni fotogramma di scorrimento)
   e niente zoom al passaggio del mouse, inutile sui touch */
@media (max-width: 767px) {
    .shadow-2xl { box-shadow: 0 10px 20px -8px rgba(0, 0, 0, 0.45) !important; }
    .shadow-xl { box-shadow: 0 8px 14px -6px rgba(0, 0, 0, 0.4) !important; }
}
@media (hover: none) {
    .group:hover .group-hover\:scale-105,
    .group:hover .group-hover\:scale-110 { transform: none !important; }
}

/* 10.9 Chi chiede meno movimento al sistema (impostazione di accessibilità) non vede animazioni */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* 10.10 Icone SVG (src/Icona.php) al posto delle emoji: dimensione e colore del testo che le circonda */
.icona {
    display: inline-block;
    width: 1.1em;
    height: 1.1em;
    vertical-align: -0.18em;
    flex-shrink: 0;
}

/* ==========================================================================
   11. CAROSELLI & PAGINAZIONE (SWIPER BULLETS) - LIGHT, ROSETTA & IPOVEDENTI
   ========================================================================== */
/* Tema Chiaro & Rosetta: Bullet inattivi in arancione chiaro (#fed7aa) con bordo, attivo in arancione pieno (#ea580c) */
html[data-theme="light"] .swiper-pagination-custom .swiper-pagination-bullet:not(.swiper-pagination-bullet-active),
html[data-theme="rosetta"] .swiper-pagination-custom .swiper-pagination-bullet:not(.swiper-pagination-bullet-active),
html[data-theme="light"] .swiper-pagination-bullet:not(.swiper-pagination-bullet-active),
html[data-theme="rosetta"] .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
    background: #fed7aa !important;
    border: 1px solid rgba(249, 115, 22, 0.45) !important;
    opacity: 0.95 !important;
}
html[data-theme="light"] .swiper-pagination-custom .swiper-pagination-bullet-active,
html[data-theme="rosetta"] .swiper-pagination-custom .swiper-pagination-bullet-active,
html[data-theme="light"] .swiper-pagination-bullet-active,
html[data-theme="rosetta"] .swiper-pagination-bullet-active {
    background: #ea580c !important;
    border-color: transparent !important;
    opacity: 1 !important;
    box-shadow: 0 2px 10px rgba(234, 88, 12, 0.45) !important;
}

/* Tema Ipovedenti: massimo contrasto giallo/nero */
html[data-theme="ipovedenti"] .swiper-pagination-custom .swiper-pagination-bullet:not(.swiper-pagination-bullet-active),
html[data-theme="ipovedenti"] .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
    background: #000000 !important;
    border: 2px solid #eab308 !important;
    opacity: 1 !important;
}
html[data-theme="ipovedenti"] .swiper-pagination-custom .swiper-pagination-bullet-active,
html[data-theme="ipovedenti"] .swiper-pagination-bullet-active {
    background: #eab308 !important;
    border: 2px solid #ffffff !important;
    opacity: 1 !important;
}

/* Fallback preferenza di sistema chiaro quando non esplicitamente in dark */
@media (prefers-color-scheme: light) {
    :root:not([data-theme="dark"]):not([data-theme="ipovedenti"]) .swiper-pagination-custom .swiper-pagination-bullet:not(.swiper-pagination-bullet-active),
    :root:not([data-theme="dark"]):not([data-theme="ipovedenti"]) .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
        background: #fed7aa !important;
        border: 1px solid rgba(249, 115, 22, 0.45) !important;
        opacity: 0.95 !important;
    }
    :root:not([data-theme="dark"]):not([data-theme="ipovedenti"]) .swiper-pagination-custom .swiper-pagination-bullet-active,
    :root:not([data-theme="dark"]):not([data-theme="ipovedenti"]) .swiper-pagination-bullet-active {
        background: #ea580c !important;
        border-color: transparent !important;
        opacity: 1 !important;
        box-shadow: 0 2px 10px rgba(234, 88, 12, 0.45) !important;
    }
}


/* ==========================================================================
   OTTIMIZZAZIONI MOBILE & IOS SAFARI
   ========================================================================== */
html, body {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

/* Prevenzione iOS Safari auto-zoom forzato su input e controlli form (< 768px) */
@media screen and (max-width: 768px) {
    input[type="text"],
    input[type="search"],
    input[type="email"],
    input[type="tel"],
    input[type="password"],
    input[type="number"],
    input[type="url"],
    input[type="date"],
    input[type="time"],
    select,
    textarea {
        font-size: 16px !important;
    }
}

/* Mobile sticky bottom bar: flex row garantito su tutti i browser e dispositivi */
#mobile-bottom-bar .bottom-nav-container {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    box-sizing: border-box;
}
#mobile-bottom-bar .bottom-nav-container .nav-item {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box;
}
