/* =====================================================================================
   NP15 - Barra superiore: menu a discesa e pannelli delle icone (15/10/2026)
   -------------------------------------------------------------------------------------
   Attivo solo con il ruolo Elenco Polizze V2: _PageHeader mette la classe nb-np15 sulla testata
   (BarraNP15) e sceglie il markup NP15 dei menu:
   - menu a discesa (Guida Operativa, Cambia Lingua, Attivita', Ticket): contenitore Bootstrap
     <div class="dropdown-menu ... bd-np15-dd"> + <div class="bd-np15"> (stessa famiglia del menu profilo
     menu-profilo-np15.css: intestazione con icona, voci, telefono = pannello dal basso);
   - pannelli che restano col loro markup (Assistente AI #npAiPanel, Vetrina Novita' #nvOverlay):
     solo vestiti, sotto .nb-np15.
   Colori dal tema del cliente (--npa-*, con ripiego sulla palette NP15) e tema scuro (html[data-np-scuro]).
   Senza la classe nb-np15 / bd-np15 nulla di qui si applica.
   ===================================================================================== */

/* ---------------- menu a discesa ---------------- */
.bd-np15-dd.dropdown-menu { padding: 0; border: 0; background: transparent; box-shadow: none; width: 340px; max-width: calc(100vw - 16px); }
.bd-np15 {
    --bd-p: var(--npa-primary-testo, var(--npa-primary, #2563eb));
    --bd-ps: var(--npa-primary-soft, rgba(37,99,235,.12));
    --bd-fg: var(--npa-fg, #1d2b53); --bd-fg2: var(--npa-fg2, #334155); --bd-mut: var(--npa-muted, #64748b); --bd-faint: var(--npa-faint, #94a3b8);
    --bd-surf: var(--npa-surface, #fff); --bd-surf2: var(--npa-surface2, #f8fafc);
    --bd-line: var(--npa-line, #e0e5ee); --bd-line2: var(--npa-line2, #eef2f7);
    font-family: var(--np-font, "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif);
    font-size: calc(13px * var(--np-testo, 1)); color: var(--bd-fg); background: var(--bd-surf);
    border: 1px solid var(--bd-line); border-radius: 14px; overflow: hidden;
    box-shadow: 0 24px 60px -18px rgba(15,23,42,.45), 0 2px 6px rgba(15,23,42,.08);
    text-align: left;
}
html[data-np-scuro="1"] .bd-np15 { color-scheme: dark; box-shadow: 0 24px 60px -18px rgba(0,0,0,.8), 0 2px 6px rgba(0,0,0,.4); }
.bd-np15 a, .bd-np15 a:hover, .bd-np15 a:focus { text-decoration: none !important; }
.bd-np15 :focus-visible { outline: 2px solid var(--bd-p); outline-offset: 1px; }

/* intestazione: icona + titolo (+ riga di aiuto) */
.bd-np15 .bd-h { display: flex; gap: 12px; align-items: center; padding: 13px 16px; border-bottom: 1px solid var(--bd-line2); }
.bd-np15 .bd-ic { width: 38px; height: 38px; flex: none; border-radius: 10px; display: grid; place-items: center; font-size: 17px;
    background: var(--bd-ps); color: var(--bd-p); }
.bd-np15 .bd-h-t { min-width: 0; display: flex; flex-direction: column; }
.bd-np15 .bd-h-t b { font-size: calc(14.5px * var(--np-testo, 1)); font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bd-np15 .bd-h-t small { color: var(--bd-mut); font-size: calc(12px * var(--np-testo, 1)); line-height: 1.35; }

/* voci */
.bd-np15 .bd-g { padding: 6px; }
.bd-np15 .bd-v { display: flex; gap: 10px; align-items: center; padding: 8px 10px; border-radius: 8px; color: var(--bd-fg2); font-weight: 600; cursor: pointer; }
.bd-np15 .bd-v > i { width: 16px; text-align: center; color: var(--bd-mut); font-size: 14px; flex: none; }
.bd-np15 .bd-v > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bd-np15 .bd-v:hover { background: var(--bd-ps); color: var(--bd-p); }
.bd-np15 .bd-v:hover > i, .bd-np15 .bd-v.bd-v-primo > i { color: var(--bd-p); }
.bd-np15 .bd-v.bd-v-primo { color: var(--bd-p); }

/* Guida Operativa: bandiera + lingua + PDF / Word */
.bd-np15 .bd-guida { display: flex; gap: 10px; align-items: center; padding: 6px 8px 6px 10px; border-radius: 8px; }
.bd-np15 .bd-guida:hover { background: var(--bd-surf2); }
.bd-np15 .bd-guida img { flex: none; border-radius: 3px; box-shadow: 0 0 0 1px var(--bd-line); }
.bd-np15 .bd-guida-l { flex: 1; min-width: 0; font-weight: 600; color: var(--bd-fg2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bd-np15 .bd-fmt { flex: none; display: inline-flex; gap: 5px; align-items: center; padding: 4px 9px; border-radius: 7px; border: 1px solid var(--bd-line);
    background: var(--bd-surf); color: var(--bd-fg2); font-size: calc(12px * var(--np-testo, 1)); font-weight: 700; }
.bd-np15 .bd-fmt:hover { border-color: var(--bd-p); color: var(--bd-p); background: var(--bd-ps); }
.bd-np15 .bd-pdf > i { color: #dc2626; }
.bd-np15 .bd-doc > i { color: #2563eb; }

/* Cambia Lingua: griglia a due colonne, la lingua in uso evidenziata */
.bd-np15-dd.bd-dd-largo.dropdown-menu { width: 400px; }
.bd-np15 .bd-lingue { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; padding: 8px; }
.bd-np15 .bd-lingua { display: flex; gap: 9px; align-items: center; padding: 7px 10px; border-radius: 8px; border: 1px solid transparent; color: var(--bd-fg2); font-weight: 600; cursor: pointer; }
.bd-np15 .bd-lingua img { flex: none; border-radius: 3px; box-shadow: 0 0 0 1px var(--bd-line); }
.bd-np15 .bd-lingua span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bd-np15 .bd-lingua:hover { background: var(--bd-ps); color: var(--bd-p); }
.bd-np15 .bd-lingua.on { background: var(--bd-ps); border-color: var(--bd-p); color: var(--bd-p); }
.bd-np15 .bd-lingua > i { flex: none; color: var(--bd-p); }

/* telefono: pannello dal basso a tutta larghezza, come il menu profilo (Bootstrap posiziona in linea: serve !important) */
@media (max-width: 767.98px) {
    .bd-np15-dd.dropdown-menu.show { position: fixed !important; left: 0 !important; right: 0 !important; bottom: 0 !important; top: auto !important;
        transform: none !important; width: 100% !important; max-width: none; margin: 0; max-height: 88vh; overflow: auto; z-index: 2050; }
    .bd-np15-dd .bd-np15 { border-radius: 18px 18px 0 0; padding-bottom: env(safe-area-inset-bottom, 0px); }
    .bd-np15-dd .bd-np15::before { content: ""; display: block; width: 40px; height: 4px; border-radius: 99px; background: var(--bd-line); margin: 8px auto 0; }
    .bd-np15 .bd-v, .bd-np15 .bd-lingua, .bd-np15 .bd-guida { min-height: 44px; font-size: 14px; }
    .bd-np15 .bd-fmt { min-height: 34px; padding: 4px 12px; }
}

/* ---------------- Assistente AI (pannello laterale) ---------------- */
.nb-np15 #npAiPanel {
    font-family: var(--np-font, "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif);
    background: var(--npa-surface, #fff); color: var(--npa-fg, #1d2b53);
    border-left: 1px solid var(--npa-line, #e0e5ee); box-shadow: -18px 0 50px -20px rgba(15,23,42,.45);
}
.nb-np15 #npAiPanel .ai-head { background: linear-gradient(135deg, var(--npa-secondary, #1d2b53), var(--npa-primary, #2563eb)); padding: 14px 18px; }
.nb-np15 #npAiPanel .ai-head .tit { font-size: calc(15px * var(--np-testo, 1)); }
.nb-np15 #npAiPanel .ai-head .sub { font-size: calc(11.5px * var(--np-testo, 1)); }
.nb-np15 #npAiPanel .ai-head button { width: 32px; height: 32px; border-radius: 8px; display: grid; place-items: center; }
.nb-np15 #npAiPanel .ai-head button:hover { background: rgba(255,255,255,.16); }
.nb-np15 #npAiPanel .ai-avviso { background: var(--npa-surface2, #f8fafc); border-bottom-color: var(--npa-line2, #eef2f7); color: var(--npa-muted, #64748b); font-size: calc(11.5px * var(--np-testo, 1)); }
.nb-np15 #npAiPanel .ai-log { background: var(--npa-surface2, #f8fafc); }
.nb-np15 #npAiPanel .ai-msg { font-size: calc(13px * var(--np-testo, 1)); border-radius: 12px; }
.nb-np15 #npAiPanel .ai-msg.utente { background: var(--npa-primary, #2563eb); color: var(--npa-on-primary, #fff); }
.nb-np15 #npAiPanel .ai-msg.ai { background: var(--npa-surface, #fff); border-color: var(--npa-line, #e0e5ee); color: var(--npa-fg2, #334155);
    box-shadow: 0 1px 2px rgba(15,23,42,.05); }
.nb-np15 #npAiPanel .ai-msg.ai strong { color: var(--npa-fg, #1d2b53); }
.nb-np15 #npAiPanel .ai-msg th { background: var(--npa-surface3, #eef2f7); color: var(--npa-fg, #1d2b53); }
.nb-np15 #npAiPanel .ai-msg th, .nb-np15 #npAiPanel .ai-msg td { border-color: var(--npa-line, #e0e5ee); }
.nb-np15 #npAiPanel .ai-msg tbody tr:nth-child(even) td { background: var(--npa-surface2, #f8fafc); }
.nb-np15 #npAiPanel .ai-fonti { border-top-color: var(--npa-line, #e0e5ee); color: var(--npa-faint, #94a3b8); }
.nb-np15 #npAiPanel .ai-vuoto { color: var(--npa-faint, #94a3b8); }
.nb-np15 #npAiPanel .ai-suggerimenti button { border: 1px solid var(--npa-line, #e0e5ee); background: var(--npa-surface, #fff);
    color: var(--npa-fg2, #334155); border-radius: 999px; font-weight: 600; font-size: calc(12px * var(--np-testo, 1)); padding: 5px 12px; }
.nb-np15 #npAiPanel .ai-suggerimenti button:hover { border-color: var(--npa-primary-testo, var(--npa-primary, #2563eb)); color: var(--npa-primary-testo, var(--npa-primary, #2563eb));
    background: var(--npa-primary-soft, rgba(37,99,235,.12)); }
.nb-np15 #npAiPanel .ai-input { border-top-color: var(--npa-line2, #eef2f7); background: var(--npa-surface, #fff); }
.nb-np15 #npAiPanel .ai-input label { color: var(--npa-muted, #64748b); font-size: calc(11px * var(--np-testo, 1)); }
.nb-np15 #npAiPanel .ai-input textarea { border-color: var(--npa-line, #e0e5ee); border-radius: 8px; background: var(--npa-surface, #fff); color: var(--npa-fg, #1d2b53);
    font-size: calc(13px * var(--np-testo, 1)); }
.nb-np15 #npAiPanel .ai-input textarea:focus { border-color: var(--npa-primary-testo, var(--npa-primary, #2563eb)); box-shadow: 0 0 0 3px var(--npa-primary-soft, rgba(37,99,235,.15)); }
.nb-np15 #npAiPanel .ai-attesa { color: var(--npa-muted, #64748b); }
.nb-np15 #npAiPanel .ai-azioni .btn { border-radius: 8px; font-weight: 700; padding: 6px 12px; }
.nb-np15 #npAiPanel .ai-azioni .btn-light { background: var(--npa-surface, #fff); border: 1px solid var(--npa-line, #e0e5ee); color: var(--npa-fg2, #334155); }
.nb-np15 #npAiPanel .ai-azioni .btn-light:hover { border-color: var(--npa-primary-testo, var(--npa-primary, #2563eb)); color: var(--npa-primary-testo, var(--npa-primary, #2563eb)); }
.nb-np15 #npAiPanel .ai-azioni .btn-primary { background: var(--npa-primary, #2563eb); border-color: var(--npa-primary, #2563eb); color: var(--npa-on-primary, #fff); }
@media (max-width: 600px) {
    .nb-np15 #npAiPanel .ai-azioni { flex-wrap: wrap; gap: 6px; }
    .nb-np15 #npAiPanel .ai-azioni .btn { min-height: 38px; }
}

/* ---------------- Vetrina Novita' (carosello): solo carattere e superfici, i colori delle campagne restano i loro ---------------- */
.nb-np15 #nvOverlay .nv-dialog { font-family: var(--np-font, "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif);
    background: var(--npa-surface, #fff); border: 1px solid var(--npa-line, #e0e5ee); border-radius: 16px; }
.nb-np15 #nvOverlay .nv-title { color: var(--npa-fg, #0f172a); }
.nb-np15 #nvOverlay .nv-sub, .nb-np15 #nvOverlay .nv-html { color: var(--npa-fg2, #475569); }
.nb-np15 #nvOverlay .nv-bullets li { color: var(--npa-fg2, #1e293b); }
.nb-np15 #nvOverlay .nv-footer { border-top-color: var(--npa-line2, #eef2f7); }
.nb-np15 #nvOverlay .nv-arrow { background: var(--npa-surface, #fff); border-color: var(--npa-line, #e2e8f0); color: var(--npa-fg2, #475569); }
.nb-np15 #nvOverlay .nv-arrow:hover { background: var(--npa-primary-soft, rgba(37,99,235,.12)); color: var(--npa-primary-testo, var(--npa-primary, #2563eb)); }
.nb-np15 #nvOverlay .nv-lead { background: var(--npa-surface2, #f8fafc); border-color: var(--npa-line, #e2e8f0); }
.nb-np15 #nvOverlay .nv-lead input, .nb-np15 #nvOverlay .nv-lead textarea { border-color: var(--npa-line, #e0e5ee); border-radius: 6px; background: var(--npa-surface, #fff); color: var(--npa-fg, #1d2b53); }
