/* Stili delle pagine pubbliche e del componente ConsulenzaCta. File SEPARATO da site.css e caricato DOPO MudBlazor.min.css (vedi _Host.cshtml):
   questi stili correggono quelli di MudBlazor (stessa specificita') e prima, scritti in un <style> nel corpo della pagina, vincevano per ordine;
   in site.css, caricato prima di MudBlazor, perderebbero. */
/* ---- Consulenza telefonica (componente ConsulenzaCta, ripetuto in pagina: lo stile NON va nel componente) (spostato qui da <style> in pagina: un file in cache invece di CSS ripetuto nell'HTML) ---- */
    .cta-consulenza { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; padding: 1.25rem 1.5rem; border-radius: 14px; color: #fff;
        background: radial-gradient(circle at 95% 10%, rgba(255,171,0,.28), transparent 45%), linear-gradient(135deg, #0B1626 0%, #12233D 100%);
        box-shadow: 0 10px 28px rgba(11,22,38,.25); }
    .cta-consulenza-icona { width: 56px; height: 56px; flex-shrink: 0; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: #FFAB00; }
    .cta-consulenza-testo { flex: 1 1 280px; }
    .cta-consulenza-titolo { font-size: 1.2rem; font-weight: 800; }
    .cta-consulenza-sub { color: #C8D3E3; margin-top: .15rem; }
    .cta-consulenza-azioni { display: flex; gap: .6rem; flex-wrap: wrap; }
    .cta-consulenza .cta-consulenza-bottone { background-color: #FFAB00; color: #0B1626; font-weight: 700; }
    .cta-consulenza .cta-consulenza-bottone:hover { background-color: #FFD666; }
    .cta-consulenza .cta-consulenza-chiama { color: #FFD666; border-color: #FFAB00; font-weight: 700; }
    @media (max-width: 599px) { .cta-consulenza-azioni, .cta-consulenza-azioni .mud-button-root { width: 100%; } }

/* ---- Layout pubblico: menu «Moduli», menu a fisarmonica, pulsante WhatsApp (spostato qui da <style> in pagina: un file in cache invece di CSS ripetuto nell'HTML) ---- */
    /* Menu «Moduli»: linea continua per categoria, voci rientrate sotto il titolo */
    .gm-gruppo { margin: .45rem .5rem .45rem .75rem; border-left: 4px solid var(--c); background: color-mix(in srgb, var(--c) 7%, transparent); border-radius: 0 6px 6px 0; }
    .gm-titolo { padding: .35rem .75rem .15rem; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--c); }
    .gm-gruppo .gm-voce { padding-left: 1.6rem; position: relative; }
    .gm-gruppo.gm-singolo .gm-voce { padding-left: 1rem; font-weight: 600; }
    .gm-pallino { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: .6rem; vertical-align: middle; }
    .gm-nav-gruppo .mud-nav-link { padding-left: 2rem; }
    .pub-desktop { display: flex; }
    .pub-mobile { display: none !important; }

    /* Menu del telefono (pannello a destra): testata scura con il logo, voci grandi da toccare, azione principale in fondo.
       Le regole del menu del CRM in site.css (maiuscolo, voci strette, rientro delle sottovoci) qui non valgono: si riportano ai valori del sito. */
    .pub-drawer .mud-drawer-content { display: flex; flex-direction: column; height: 100%; }
    .pub-drawer .pub-drawer-testa { align-items: center; min-height: 64px; padding: 10px 8px 10px 16px; background: #0B1626; color: #fff; }
    .pub-drawer .pub-drawer-testa .mud-typography { font-weight: 700; }
    .pub-drawer-menu { flex: 1; min-height: 0; overflow-y: auto; padding: 10px 8px; }
    .pub-drawer-menu .mud-nav-link { padding-top: 11px; padding-bottom: 11px; border-radius: 10px; margin-top: 2px; }
    .pub-drawer-menu .mud-nav-link .mud-nav-link-text { text-transform: none; font-size: 1rem; }
    .pub-drawer-menu > .mud-nav-item > .mud-nav-link .mud-nav-link-text,
    .pub-drawer-menu > .mud-nav-group > .mud-nav-link .mud-nav-link-text { font-weight: 600; }
    .pub-drawer-menu .mud-nav-link .mud-icon-root.mud-nav-link-icon { color: #E09600; }
    .pub-drawer-menu .mud-nav-link.active { background: color-mix(in srgb, #FFAB00 16%, transparent); color: inherit; }
    .pub-drawer-menu .mud-nav-group .mud-collapse-container .mud-nav-link { margin-left: 0; border-radius: 0 8px 8px 0; padding-left: 16px !important; padding-inline-start: 16px !important; }
    .pub-drawer-menu .mud-nav-group .mud-collapse-container .mud-nav-link .mud-nav-link-text { font-size: .92rem; }
    .pub-drawer-fondo { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px 18px; border-top: 1px solid rgba(11,22,38,.12); }
    .pub-drawer-fondo .mud-button-root { padding-top: 10px; padding-bottom: 10px; font-weight: 700; }
    .pub-drawer-fondo .pub-drawer-wa { color: #128C7E; border-color: #25D366; }

    /* Link social nel pie' di pagina. */
    .pub-social { display: inline-flex; align-items: center; gap: 6px; color: #0A66C2; font-weight: 600; text-decoration: none; }
    .pub-social:hover { text-decoration: underline; }
    /* Piè di pagina con lo stesso sfondo della barra del menu: chiude visivamente il sito. */
    .pub-footer { background: var(--mud-palette-appbar-background); color: var(--mud-palette-appbar-text); }
    .pub-footer a { color: inherit; }
    .pub-footer .pub-social { color: #FFD666; }
    /* Collegamenti secondari nel piede di pagina (Lavora con noi, LinkedIn): sulla stessa riga, a capo con spazio quando non stanno. */
    .pub-footer-link { gap: 8px 28px; align-items: center; }
    .pub-footer-link a { font-weight: 600; text-decoration: none; }
    .pub-footer-link a:hover { text-decoration: underline; }
    /* Sotto i 960px il menu in linea diventa il menu a fisarmonica (hamburger). */
    @media (max-width: 959px) {
        .pub-desktop { display: none; }
        .pub-mobile { display: inline-flex !important; }
    }
    .wa-fab {
        position: fixed; right: 20px; bottom: 20px; z-index: 1300;
        width: 60px; height: 60px; border-radius: 50%;
        display: flex; align-items: center; justify-content: center;
        background: #25D366; box-shadow: 0 6px 18px rgba(0,0,0,.35);
        transition: transform .15s ease, box-shadow .15s ease;
        animation: wa-pulse 2.6s ease-out infinite;
    }
    .wa-fab:hover { transform: scale(1.08); box-shadow: 0 8px 22px rgba(0,0,0,.4); }
    @keyframes wa-pulse {
        0% { box-shadow: 0 6px 18px rgba(0,0,0,.35), 0 0 0 0 rgba(37,211,102,.55); }
        70% { box-shadow: 0 6px 18px rgba(0,0,0,.35), 0 0 0 16px rgba(37,211,102,0); }
        100% { box-shadow: 0 6px 18px rgba(0,0,0,.35), 0 0 0 0 rgba(37,211,102,0); }
    }
    @media (prefers-reduced-motion: reduce) { .wa-fab { animation: none; } }
    @media (max-width: 599px) { .wa-fab { right: 14px; bottom: 14px; width: 56px; height: 56px; } }
    @media print { .wa-fab { display: none !important; } }
    @media print {
        .mud-appbar, footer { display: none !important; }
    }

/* ---- Pagina «Moduli per settore» (spostato qui da <style> in pagina: un file in cache invece di CSS ripetuto nell'HTML) ---- */
    .sett-hero { background-color: var(--mud-palette-background-gray); }
    .sett-tab .mud-table-head .mud-table-cell { font-weight: 700; background: color-mix(in srgb, var(--mud-palette-primary) 10%, #fff); }
    .sett-col-nome { min-width: 240px; }
    .sett-nome { display: block; font-weight: 700; color: inherit; text-decoration: none; }
    a.sett-nome:hover { color: var(--mud-palette-primary-darken, #B27A00); text-decoration: underline; }
    .sett-moduli { display: flex; flex-wrap: wrap; gap: .4rem; padding: .25rem 0; }
    .sett-mod { display: inline-flex; align-items: center; gap: .4rem; padding: .15rem .65rem .15rem .2rem; border-radius: 999px; font-size: .82rem; font-weight: 600;
        background: color-mix(in srgb, var(--c) 10%, #fff); border: 1px solid color-mix(in srgb, var(--c) 40%, #fff); cursor: default; }
    .sett-mod-icona { width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--c); color: #fff; }
    .sett-mod-icona .mud-icon-root { font-size: 1rem; }
    .sett-mod-richiesta { background: transparent; border-style: dashed; color: var(--mud-palette-text-secondary); }
    .sett-mod-richiesta .sett-mod-icona { background: color-mix(in srgb, var(--c) 55%, #fff); }
    .sett-calcola { white-space: nowrap; font-weight: 700; }
    .sett-azioni { display: inline-flex; align-items: center; gap: .5rem; justify-content: flex-end; }
