/**
 * cd-v2.css · Conti deposito v2 · Layout 3 colonne
 *
 * v109 (mag 2026): Aggiunto blocco FAQ accordion (sezione cdv2-faq-*).
 * - 10 FAQ con HTML semantico, JSON-LD FAQPage gestito lato PHP.
 * - Stile linea-divider, accordion zero-JS via <details>/<summary>.
 * - CSS estraibile in qba-faq-v2.css quando si replicheranno FAQ su altre pagine.
 *
 * v34 (apr 2026): Sticky bar — label "Capitale" / "Durata" prima dei valori.
 * - Aggiunte .cdv2-sticky-label (grigio chiaro 65%, font-weight 400) per dare contesto
 *   ai due valori dinamici. Lo sticky ora legge "● Capitale 10.000€ · Durata 12 mesi".
 * - Su mobile (≤600px) le label spariscono per non sforare lo spazio col bottone Modifica.
 * - JS invariato: gli ID #cdv2-sticky-cap e #cdv2-sticky-dur restano i target dinamici.
 *
 * v33 (apr 2026): Bug 2 — fix snap visivo slider durata.
 * - Tick "3m 6m 1a 18m 2a 3a 4a 5a" ora posizionati proporzionalmente al valore lineare (non più equidistanti).
 * - Container .cdv2-dur-ticks diventa position:relative, span position:absolute con left:% calcolato.
 * - Posizioni: 3m=0%, 6m=5.26%, 1a=15.79%, 18m=26.32%, 2a=36.84%, 3a=57.89%, 4a=78.95%, 5a=100%
 * - Risultato: pallino slider a valore X cade esattamente sotto la label corrispondente.
 * - Zero modifiche JS.
 *
 * v32: badge promo mobile layout 2 righe pulito
 * v31: polish desktop + tipografia mobile
 * v30: box nero polish
 * v29: polish badge promo + spaziatura mobile compatta
 * v28: logo +30%, box nero simmetrico, badge promo "live", checkmark cc-v2 style
 * v27: fix centratura logo + box nero margin auto + spaziatura verticale
 * v26: replica pixel-per-pixel cc-v2 (logo 230x100 border:none, stars #EC651D)
 *
 * Niente line-clamp, niente display:contents, niente flex-order.
 */

/* ===========================
   HERO CALCOLATORE
   =========================== */
.v2-scope .cdv2-calc {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    padding: 18px !important;
    margin: 18px auto !important;
    max-width: 1180px !important;
    position: relative !important;
    box-sizing: border-box !important;
}
.v2-scope .cdv2-calc::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 4px !important;
    height: 100% !important;
    background: #0a0a0a !important;
    border-radius: 10px 0 0 10px !important;
}
.v2-scope .cdv2-calc-label {
    font-family: 'Inter', -apple-system, sans-serif !important;
    font-size: 11px !important;
    color: #0a0a0a !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    margin-bottom: 14px !important;
}
.v2-scope .cdv2-calc-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}
.v2-scope .cdv2-calc-field {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}
.v2-scope .cdv2-calc-field label {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 13px !important;
    color: #475569 !important;
    margin: 0 !important;
    font-family: 'Inter', sans-serif !important;
}
.v2-scope .cdv2-calc-val {
    font-weight: 600 !important;
    color: #0a0a0a !important;
    font-size: 14px !important;
}
.v2-scope .cdv2-calc-field input[type="range"] {
    width: 100% !important;
    accent-color: #0a0a0a !important;
    height: 4px !important;
    cursor: pointer !important;
    margin: 0 !important;
    position: static !important;
    opacity: 1 !important;
    display: block !important;
    visibility: visible !important;
}
.v2-scope input[type="range"] {
    position: static !important;
    opacity: 1 !important;
    height: 4px !important;
    width: 100% !important;
}
.v2-scope .cdv2-calc-hint {
    font-size: 12px !important;
    color: #64748b !important;
    margin: 12px 0 0 !important;
    line-height: 1.5 !important;
    font-family: 'Inter', sans-serif !important;
}
.v2-scope .cdv2-calc-hint a {
    color: #EC651D !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    border-bottom: 1px dotted rgba(236, 101, 29, 0.4) !important;
}
.v2-scope .cdv2-calc-hint a:hover { border-bottom-style: solid !important; }

.v2-scope .cdv2-dur-ticks {
    position: relative !important;
    display: block !important;
    height: 14px !important;
    margin-top: 6px !important;
    font-size: 10px !important;
    color: #94a3b8 !important;
    font-family: 'Inter', sans-serif !important;
    letter-spacing: 0.02em !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    pointer-events: none !important;
}
/* Tick posizionati proporzionalmente al valore lineare (3-60 mesi).
   Posizione: ((valore-3)/57)*100%. Translate centra la label sulla posizione. */
.v2-scope .cdv2-dur-ticks span {
    position: absolute !important;
    top: 0 !important;
    transform: translateX(-50%) !important;
    text-align: center !important;
    flex: unset !important;
}
.v2-scope .cdv2-dur-ticks span:nth-child(1) { left: 0% !important;     transform: translateX(0) !important; text-align: left !important; }   /* 3m */
.v2-scope .cdv2-dur-ticks span:nth-child(2) { left: 5.26% !important; }   /* 6m */
.v2-scope .cdv2-dur-ticks span:nth-child(3) { left: 15.79% !important; }  /* 1a (12) */
.v2-scope .cdv2-dur-ticks span:nth-child(4) { left: 26.32% !important; }  /* 18m */
.v2-scope .cdv2-dur-ticks span:nth-child(5) { left: 36.84% !important; }  /* 2a (24) */
.v2-scope .cdv2-dur-ticks span:nth-child(6) { left: 57.89% !important; }  /* 3a (36) */
.v2-scope .cdv2-dur-ticks span:nth-child(7) { left: 78.95% !important; }  /* 4a (48) */
.v2-scope .cdv2-dur-ticks span:nth-child(8) { left: 100% !important;   transform: translateX(-100%) !important; text-align: right !important; } /* 5a (60) */

/* ===========================
   STICKY BAR FIXED
   =========================== */
.v2-scope .cdv2-sticky {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    background: #0a0a0a !important;
    color: #ffffff !important;
    border-radius: 0 !important;
    padding: 10px 16px !important;
    margin: 0 !important;
    max-width: none !important;
    display: none !important;
    justify-content: center !important;
    align-items: center !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    font-family: 'Inter', sans-serif !important;
    box-sizing: border-box !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
    transform: translateY(-100%) !important;
    transition: transform 0.25s ease !important;
}
.v2-scope .cdv2-sticky.is-visible {
    display: flex !important;
    transform: translateY(0) !important;
}
.v2-scope .cdv2-sticky-inner {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
}
.v2-scope .cdv2-sticky-left {
    display: inline-flex !important;
    gap: 8px !important;
    align-items: center !important;
}
.v2-scope .cdv2-sticky-left strong {
    color: #ffffff !important;
    font-weight: 600 !important;
}
.v2-scope .cdv2-sticky-marker {
    width: 7px !important;
    height: 7px !important;
    background: #EC651D !important;
    border-radius: 50% !important;
    display: inline-block !important;
    margin-right: 2px !important;
}
.v2-scope .cdv2-sticky-label {
    color: rgba(255, 255, 255, 0.6) !important;
    font-weight: 400 !important;
    font-size: 12px !important;
    margin-right: -2px !important;
}
.v2-scope .cdv2-sticky-sep {
    color: #64748b !important;
    margin: 0 2px !important;
}
.v2-scope .cdv2-sticky-edit {
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
    font-size: 11px !important;
    padding: 4px 10px !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    font-family: inherit !important;
    transition: border-color 0.15s, color 0.15s !important;
}
.v2-scope .cdv2-sticky-edit:hover {
    border-color: #EC651D !important;
    color: #EC651D !important;
}

/* ===========================
   PRODUCTS WRAPPER & CONTAINER
   =========================== */
.v2-scope #cdv2-products-wrapper {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.v2-scope .qba-v2-filter-bar {
    max-width: 1180px !important;
    margin: 0 auto 16px !important;
}

.v2-scope .v2-active-filters {
    max-width: 1180px !important;
    margin: 0 auto 12px !important;
}

/* ===========================
   BOX PRODOTTO 3 COLONNE
   =========================== */
.v2-scope .cdv2-products {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
}

.v2-scope article.cdv2-box {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 20px !important;
    overflow: visible !important;
    position: relative !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    margin-bottom: 0 !important;
    box-shadow: 0 1px 3px rgba(15,23,42,0.04), 0 4px 12px rgba(15,23,42,0.04) !important;
    box-sizing: border-box !important;
}
.v2-scope article.cdv2-box:hover {
    transform: translateY(-2px) !important;
    border-color: #cbd5e1 !important;
    box-shadow: 0 20px 40px -20px rgba(0,0,0,0.12) !important;
}
.v2-scope article.cdv2-box--featured {
    border: 2px solid #EC651D !important;
    box-shadow: 0 8px 28px rgba(236,101,29,0.12) !important;
}

/* Rank circle */
.v2-scope .cdv2-rank {
    position: absolute !important;
    top: 14px !important;
    left: 16px !important;
    transform: none !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: #e5e7eb !important;
    color: #6b7280 !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    z-index: 5 !important;
    font-family: 'Inter', sans-serif !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08) !important;
}
.v2-scope .cdv2-rank--top {
    background: #e5e7eb !important;
    color: #6b7280 !important;
}

/* Grid inner 3 colonne */
.v2-scope .cdv2-box-inner {
    display: grid !important;
    grid-template-columns: 260px 1fr 280px !important;
    gap: 32px !important;
    padding: 28px 32px !important;
    align-items: start !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.v2-scope .cdv2-box-inner > * {
    min-width: 0 !important;
}

/* ===== Colonna SX ===== */
.v2-scope .cdv2-col-left {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 6px !important;
    padding-top: 4px !important;
}

/* LOGO — replica cc-v2 (.v2-box-logo) ma SENZA border, object-fit:contain */
.v2-scope .cdv2-logo {
    width: 230px !important;
    height: 100px !important;
    background: #ffffff !important;
    border: none !important;
    border-radius: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    margin-top: 0 !important;
    margin-bottom: 10px !important;
}
.v2-scope .cdv2-logo img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    display: block !important;
}

/* RATING — stars arancio QBA (era giallo) */
.v2-scope .cdv2-rating {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}
.v2-scope .cdv2-stars {
    color: #EC651D !important;
    font-size: 16px !important;
    letter-spacing: 1px !important;
    line-height: 1 !important;
}
.v2-scope .cdv2-stars .empty { color: #e5e7eb !important; }
.v2-scope .cdv2-stars .half {
    background: linear-gradient(90deg, #EC651D 50%, #e5e7eb 50%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}
.v2-scope .cdv2-rating-num {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #0a0a0a !important;
    font-family: 'Inter', sans-serif !important;
}
.v2-scope .cdv2-link-review {
    font-size: 12px !important;
    color: #94a3b8 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-family: 'Inter', sans-serif !important;
    margin-top: 4px !important;
    text-align: center !important;
    display: block !important;
}
.v2-scope .cdv2-link-review:hover {
    color: #EC651D !important;
}

/* ===== Colonna CENTRO ===== */
.v2-scope .cdv2-col-center {
    min-width: 0 !important;
}
.v2-scope .cdv2-col-center .cdv2-name {
    font-family: 'Inter', sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #0a0a0a !important;
    margin: 0 0 8px !important;
    letter-spacing: -0.02em !important;
    line-height: 1.25 !important;
}
.v2-scope .cdv2-col-center .cdv2-desc {
    font-size: 13px !important;
    color: #64748b !important;
    line-height: 1.5 !important;
    margin: 0 0 14px !important;
    font-family: 'Inter', sans-serif !important;
}
.v2-scope .cdv2-range-hint {
    font-size: 12px !important;
    color: #475569 !important;
    font-style: italic !important;
    margin: 0 0 12px !important;
    padding: 8px 12px !important;
    background: #fff7ed !important;
    border-left: 3px solid #EC651D !important;
    border-radius: 0 4px 4px 0 !important;
    font-family: 'Inter', sans-serif !important;
}

/* Features */
.v2-scope .cdv2-features {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
}
.v2-scope .cdv2-feat {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    font-size: 13px !important;
    color: #374151 !important;
    line-height: 1.45 !important;
    font-family: 'Inter', sans-serif !important;
}
.v2-scope .cdv2-feat-check {
    width: 20px !important;
    height: 20px !important;
    border-radius: 6px !important;
    background: #ecfdf5 !important;
    color: #10b981 !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    flex-shrink: 0 !important;
    margin-top: 1px !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.v2-scope .cdv2-feat-check--alt {
    background: #ecfdf5 !important;
    color: #10b981 !important;
}
.v2-scope .cdv2-feat-text {
    flex: 1 !important;
    min-width: 0 !important;
}

/* Promo banner — Variante B v2: ribbon live pulito (pulse + label inline + body + LIVE tag) */
.v2-scope .cdv2-promo-banner {
    margin-top: 12px !important;
    padding: 12px 14px !important;
    background: #ffffff !important;
    border: 2px solid #EC651D !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    color: #0a0a0a !important;
    line-height: 1.35 !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    box-shadow: 0 0 0 4px rgba(236,101,29,0.08), 0 4px 14px -4px rgba(236,101,29,0.25) !important;
    position: relative !important;
}
/* Pulse dot (sostituisce la stella nel markup PHP) */
.v2-scope .cdv2-promo-icon {
    width: 10px !important;
    height: 10px !important;
    background: #EC651D !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    animation: cdv2PromoPulse 1.6s ease-in-out infinite !important;
}
.v2-scope .cdv2-promo-icon::after {
    content: '' !important;
    position: absolute !important;
    inset: -6px !important;
    border: 2px solid #EC651D !important;
    border-radius: 50% !important;
    opacity: 0 !important;
    animation: cdv2PromoPulseRing 1.6s ease-out infinite !important;
}
@keyframes cdv2PromoPulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(0.85); opacity: 0.7; }
}
@keyframes cdv2PromoPulseRing {
    0% { transform: scale(0.8); opacity: 0.6; }
    100% { transform: scale(1.6); opacity: 0; }
}
/* "Promo attiva:" - label arancio uppercase INLINE (non più block) */
.v2-scope .cdv2-promo-banner strong {
    color: #EC651D !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    display: inline !important;
    margin-right: 4px !important;
    white-space: nowrap !important;
}
/* Tag "LIVE" via ::after sul container (allineato a dx via margin-left:auto) */
.v2-scope .cdv2-promo-banner::after {
    content: 'LIVE' !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    background: #EC651D !important;
    padding: 4px 8px !important;
    border-radius: 6px !important;
    letter-spacing: 0.05em !important;
    flex-shrink: 0 !important;
    margin-left: auto !important;
    align-self: center !important;
}
@media (prefers-reduced-motion: reduce) {
    .v2-scope .cdv2-promo-icon,
    .v2-scope .cdv2-promo-icon::after {
        animation: none !important;
    }
}

/* Microtesto info nel box obsidian — v30: testo nudo, no micro-box */
.v2-scope .cdv2-obs-info {
    font-size: 11px !important;
    color: rgba(255, 255, 255, 0.65) !important;
    text-align: center !important;
    margin: 4px 0 12px !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
}

/* v30 — Box nero polish: nascondi icona $ in label "IL TUO GUADAGNO" (scoped cd-v2 only) */
.v2-scope .cdv2-box-inner .v2-bonus-label svg {
    display: none !important;
}

/* v30 — Nascondi subinfo "Tasso 4,00% · Netto 2,76%" sotto CTA (scoped cd-v2 only) */
.v2-scope .cdv2-box-inner .v2-bonus-subinfo {
    display: none !important;
}

/* ===========================
   CHIP FILTRI ATTIVI
   =========================== */
.v2-scope .v2-chip-active {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 4px 6px 4px 12px !important;
    background: #f1f5f9 !important;
    color: #0f172a !important;
    border-radius: 16px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    font-family: 'Inter', sans-serif !important;
    border: 1px solid #e2e8f0 !important;
}
.v2-scope .v2-chip-active button {
    background: #fff !important;
    border: none !important;
    border-radius: 50% !important;
    width: 18px !important;
    height: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    line-height: 1 !important;
    color: #64748b !important;
    cursor: pointer !important;
    padding: 0 !important;
    transition: background 0.15s, color 0.15s !important;
}
.v2-scope .v2-chip-active button:hover {
    background: #EC651D !important;
    color: #ffffff !important;
}

/* ===========================
   NO RESULT
   =========================== */
.v2-scope #cdv2-no-result {
    text-align: center !important;
    padding: 24px !important;
    color: #64748b !important;
    font-size: 14px !important;
    border: 1px dashed #e2e8f0 !important;
    border-radius: 10px !important;
    font-family: 'Inter', sans-serif !important;
    margin-top: 12px !important;
    background: #fff !important;
}
.v2-scope .cdv2-reset-link {
    background: transparent !important;
    border: none !important;
    color: #EC651D !important;
    cursor: pointer !important;
    text-decoration: underline !important;
    font-family: inherit !important;
    font-size: inherit !important;
    padding: 0 !important;
}
.v2-scope .cdv2-reset-link:hover {
    color: #d55715 !important;
}

/* ===========================
   RESPONSIVE (<=1000px)
   =========================== */
@media (max-width: 1000px) {
    .v2-scope .cdv2-box-inner {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        padding: 36px 20px 20px !important;
        text-align: left !important;
    }
    .v2-scope .cdv2-col-left {
        flex-direction: row !important;
        justify-content: flex-start !important;
        flex-wrap: wrap !important;
        gap: 16px !important;
    }
    .v2-scope .cdv2-logo {
        width: 240px !important;
        height: 104px !important;
        border: none !important;
        padding: 0 !important;
    }
    .v2-scope .cdv2-col-center .cdv2-name {
        font-size: 20px !important;
    }
    .v2-scope .cdv2-calc-row {
        flex-direction: row !important;
    }
    .v2-scope .cdv2-calc-field { flex: 1 !important; }
}

/* ===========================
   RESPONSIVE (<=600px) — replica visiva pixel-per-pixel cc-v2
   =========================== */
@media (max-width: 600px) {
    .v2-scope .cdv2-box-inner {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
        padding: 18px 20px 20px !important;
    }
    .v2-scope .cdv2-col-left {
        width: 100% !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        gap: 2px !important;
    }
    .v2-scope .cdv2-col-center {
        width: 100% !important;
        text-align: center !important;
    }

    /* FIX v28 #2: wrapper anonimo del box nero ora width:100% (era stretto a dx) */
    .v2-scope .cdv2-box-inner > div:last-child {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Logo: +30% rispetto a v27 (era 184x80, ora 240x104) */
    .v2-scope .cdv2-logo {
        width: 240px !important;
        height: 104px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        border: none !important;
    }

    /* Bonus card centrata con margini laterali respiro */
    .v2-scope .v2-bonus-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 24px 28px !important;
        box-sizing: border-box !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .v2-scope .v2-box-compare {
        margin-top: 8px !important;
        justify-content: center !important;
    }
    .v2-scope .cdv2-calc-row {
        flex-direction: column !important;
    }

    /* Rating: subito sotto logo, no margin extra */
    .v2-scope .cdv2-rating {
        margin-top: 0 !important;
    }
    .v2-scope .cdv2-rating-num {
        font-size: 17px !important;
        font-weight: 700 !important;
    }

    /* Link recensione: subito sotto stars */
    .v2-scope .cdv2-link-review {
        font-size: 12px !important;
        color: #94a3b8 !important;
        margin-top: 2px !important;
        text-align: center !important;
        display: block !important;
        font-weight: 600 !important;
        text-decoration: none !important;
    }

    /* Nome prodotto centrato */
    .v2-scope .cdv2-col-center .cdv2-name {
        font-size: 22px !important;
        text-align: center !important;
        margin-bottom: 6px !important;
    }

    /* Descrizione centrata + font più grande mobile */
    .v2-scope .cdv2-col-center .cdv2-desc {
        text-align: center !important;
        margin-bottom: 18px !important;
        font-size: 14px !important;
        line-height: 1.55 !important;
    }

    /* Features: testo a sinistra dentro la riga, font più grande mobile */
    .v2-scope .cdv2-features {
        align-items: flex-start !important;
        text-align: left !important;
    }
    .v2-scope .cdv2-feat {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }

    /* Badge promo mobile: layout 2 righe (PROMO ATTIVA sopra, body sotto, LIVE a dx) */
    .v2-scope .cdv2-promo-banner {
        padding: 10px 12px !important;
        font-size: 13px !important;
        gap: 10px !important;
        align-items: center !important;
        line-height: 1.3 !important;
    }
    .v2-scope .cdv2-promo-banner strong {
        font-size: 10px !important;
        display: block !important;
        margin-right: 0 !important;
        margin-bottom: 2px !important;
        text-align: left !important;
    }
    .v2-scope .cdv2-promo-banner::after {
        font-size: 9px !important;
        padding: 3px 6px !important;
    }

    /* Slider durata: tick più piccoli su mobile per evitare overlap a 3m/6m */
    .v2-scope .cdv2-dur-ticks {
        font-size: 9px !important;
    }
    /* "6m" sovrapporta a "3m" su viewport stretti — nascondi 6m e 18m mobile per chiarezza */
    .v2-scope .cdv2-dur-ticks span:nth-child(2),
    .v2-scope .cdv2-dur-ticks span:nth-child(4) {
        display: none !important;
    }

    /* Sticky bar mobile: nascondo label "Capitale"/"Durata" per liberare spazio
       accanto al bottone "Modifica ↑". Restano i valori in <strong>. */
    .v2-scope .cdv2-sticky-label {
        display: none !important;
    }
}

/* ===========================
   RESPONSIVE (<=400px) — mobile stretto, allineato a cc-v2
   =========================== */
@media (max-width: 400px) {
    .v2-scope .cdv2-box-inner {
        padding: 36px 16px 20px 16px !important;
    }
    .v2-scope .cdv2-logo {
        width: 200px !important;
        height: 88px !important;
        border: none !important;
    }
    .v2-scope .cdv2-col-center .cdv2-name {
        font-size: 20px !important;
    }
}

/* ============================================================
   QualeBanca - FAQ v2 Conti Deposito (v109)
   Aggiunto: maggio 2026
   Block estraibile in qba-faq-v2.css quando si replicheranno
   le FAQ su altre pagine (cc-v2, cc-giovani-v2, ecc.)
   ============================================================ */

.v2-scope .cdv2-faq-section {
    max-width: 1100px !important;
    margin: 48px auto !important;
    padding: 0 16px !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

.v2-scope .cdv2-faq-container {
    max-width: 880px !important;
    margin: 0 auto !important;
}

/* === Intro === */
.v2-scope .cdv2-faq-intro {
    margin-bottom: 28px !important;
}

.v2-scope .cdv2-faq-eyebrow {
    display: inline-block !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: #0d3b66 !important;
    background: #eaf1f8 !important;
    padding: 4px 10px !important;
    border-radius: 4px !important;
    margin-bottom: 12px !important;
}

.v2-scope .cdv2-faq-title {
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    margin: 0 0 8px 0 !important;
    color: #1a1a1a !important;
}

.v2-scope .cdv2-faq-lead {
    font-size: 15.5px !important;
    line-height: 1.6 !important;
    color: #5b6770 !important;
    margin: 0 !important;
}

/* === Lista accordion === */
.v2-scope .cdv2-faq-list {
    display: flex !important;
    flex-direction: column !important;
    border-top: 1px solid #e3e8ee !important;
}

.v2-scope .cdv2-faq-item {
    background: #ffffff !important;
    border-bottom: 1px solid #e3e8ee !important;
    transition: background-color 160ms ease !important;
}

.v2-scope .cdv2-faq-item[open] {
    background: #f4f8fc !important;
}

/* === Domanda (summary) === */
.v2-scope .cdv2-faq-q {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding: 18px 22px !important;
    cursor: pointer !important;
    list-style: none !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    color: #1a1a1a !important;
    user-select: none !important;
    min-height: 56px !important;
    transition: color 160ms ease !important;
}

.v2-scope .cdv2-faq-q::-webkit-details-marker {
    display: none !important;
}

.v2-scope .cdv2-faq-q:hover {
    color: #0d3b66 !important;
}

.v2-scope .cdv2-faq-q:focus-visible {
    outline: 2px solid #0d3b66 !important;
    outline-offset: -2px !important;
}

.v2-scope .cdv2-faq-item[open] .cdv2-faq-q {
    color: #0d3b66 !important;
}

.v2-scope .cdv2-faq-q-text {
    flex: 1 1 auto !important;
}

/* === Icona +/− === */
.v2-scope .cdv2-faq-icon {
    position: relative !important;
    flex-shrink: 0 !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    background: #eaf1f8 !important;
    transition: background-color 160ms ease !important;
}

.v2-scope .cdv2-faq-icon::before,
.v2-scope .cdv2-faq-icon::after {
    content: '' !important;
    position: absolute !important;
    background: #0d3b66 !important;
    border-radius: 1px !important;
}

.v2-scope .cdv2-faq-icon::before {
    top: 50% !important;
    left: 25% !important;
    right: 25% !important;
    height: 2px !important;
    transform: translateY(-50%) !important;
}

.v2-scope .cdv2-faq-icon::after {
    top: 25% !important;
    bottom: 25% !important;
    left: 50% !important;
    width: 2px !important;
    transform: translateX(-50%) !important;
    transition: transform 200ms ease, opacity 160ms ease !important;
}

.v2-scope .cdv2-faq-item[open] .cdv2-faq-icon {
    background: #0d3b66 !important;
}

.v2-scope .cdv2-faq-item[open] .cdv2-faq-icon::before {
    background: #ffffff !important;
}

.v2-scope .cdv2-faq-item[open] .cdv2-faq-icon::after {
    transform: translateX(-50%) scaleY(0) !important;
    opacity: 0 !important;
}

/* === Risposta === */
.v2-scope .cdv2-faq-a {
    padding: 0 22px 18px 22px !important;
    font-size: 15.5px !important;
    line-height: 1.65 !important;
    color: #1a1a1a !important;
}

.v2-scope .cdv2-faq-a > *:first-child {
    margin-top: 0 !important;
}

.v2-scope .cdv2-faq-a > *:last-child {
    margin-bottom: 0 !important;
}

.v2-scope .cdv2-faq-a p {
    margin: 0 0 12px 0 !important;
}

.v2-scope .cdv2-faq-a strong {
    font-weight: 600 !important;
    color: #1a1a1a !important;
}

.v2-scope .cdv2-faq-a a {
    color: #0d3b66 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
    text-decoration-thickness: 1px !important;
}

.v2-scope .cdv2-faq-a a:hover {
    text-decoration-thickness: 2px !important;
}

/* === Bullet list interne === */
.v2-scope .cdv2-faq-a ul {
    margin: 0 0 12px 0 !important;
    padding-left: 0 !important;
    list-style: none !important;
}

.v2-scope .cdv2-faq-a ul li {
    position: relative !important;
    padding: 4px 0 4px 22px !important;
    list-style: none !important;
}

.v2-scope .cdv2-faq-a ul li::before {
    content: '' !important;
    position: absolute !important;
    left: 4px !important;
    top: 14px !important;
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: #0d3b66 !important;
}

/* === Tabelle interne === */
.v2-scope .cdv2-faq-a .cdv2-faq-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 0 0 14px 0 !important;
    font-size: 14.5px !important;
    table-layout: fixed !important;
    border: 1px solid #c7d2dd !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.v2-scope .cdv2-faq-a .cdv2-faq-table caption {
    caption-side: top !important;
    text-align: left !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    margin-bottom: 8px !important;
    color: #5b6770 !important;
}

.v2-scope .cdv2-faq-a .cdv2-faq-table th,
.v2-scope .cdv2-faq-a .cdv2-faq-table td {
    padding: 10px 14px !important;
    text-align: left !important;
    vertical-align: top !important;
    border-bottom: 1px solid #e3e8ee !important;
    word-wrap: break-word !important;
}

.v2-scope .cdv2-faq-a .cdv2-faq-table th {
    background: #eaf1f8 !important;
    font-weight: 600 !important;
    color: #0d3b66 !important;
    border-bottom: 1px solid #c7d2dd !important;
}

.v2-scope .cdv2-faq-a .cdv2-faq-table tr:last-child td {
    border-bottom: none !important;
}

/* === Box CTA === */
.v2-scope .cdv2-faq-a .cdv2-faq-cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 4px !important;
    padding: 8px 14px !important;
    background: #0d3b66 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    border-radius: 8px !important;
    transition: background-color 160ms ease, transform 120ms ease !important;
}

.v2-scope .cdv2-faq-a .cdv2-faq-cta:hover {
    background: #0a3057 !important;
    transform: translateY(-1px) !important;
    text-decoration: none !important;
}

.v2-scope .cdv2-faq-a .cdv2-faq-cta::after {
    content: '\2192' !important;
}

/* === Box nota === */
.v2-scope .cdv2-faq-a .cdv2-faq-note {
    margin: 12px 0 !important;
    padding: 10px 14px !important;
    background: #fff7e6 !important;
    border-left: 3px solid #f59e0b !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    color: #1a1a1a !important;
}

.v2-scope .cdv2-faq-a .cdv2-faq-note strong {
    color: #b45309 !important;
}

/* === Footer aggiornamento === */
.v2-scope .cdv2-faq-updated {
    margin-top: 24px !important;
    padding-top: 16px !important;
    border-top: 1px solid #e3e8ee !important;
    font-size: 13px !important;
    color: #5b6770 !important;
    font-style: italic !important;
}

/* === Responsive mobile === */
@media (max-width: 640px) {
    .v2-scope .cdv2-faq-section {
        margin: 32px auto !important;
    }

    .v2-scope .cdv2-faq-title {
        font-size: 22px !important;
    }

    .v2-scope .cdv2-faq-q {
        padding: 16px !important;
        font-size: 15.5px !important;
    }

    .v2-scope .cdv2-faq-a {
        padding: 0 16px 16px 16px !important;
        font-size: 15px !important;
    }

    .v2-scope .cdv2-faq-a .cdv2-faq-table {
        font-size: 13.5px !important;
    }

    .v2-scope .cdv2-faq-a .cdv2-faq-table th,
    .v2-scope .cdv2-faq-a .cdv2-faq-table td {
        padding: 8px 10px !important;
    }
}

/* === prefers-reduced-motion === */
@media (prefers-reduced-motion: reduce) {
    .v2-scope .cdv2-faq-item,
    .v2-scope .cdv2-faq-q,
    .v2-scope .cdv2-faq-icon,
    .v2-scope .cdv2-faq-icon::after,
    .v2-scope .cdv2-faq-a .cdv2-faq-cta {
        transition: none !important;
    }
}

/* === Print: apri tutte le FAQ === */
@media print {
    .v2-scope .cdv2-faq-icon {
        display: none !important;
    }
    .v2-scope .cdv2-faq-item {
        background: #ffffff !important;
    }
    .v2-scope .cdv2-faq-a {
        display: block !important;
    }
}