/* =====================================================================
   XManager Pro — Stili specifici pagina Prezzi (Listino 2026)
   Caricato solo dalla pagina /prezzi via $pageStyles, per NON toccare
   il foglio globale style.css. Contiene solo le classi NUOVE:
   stepper +/-, badge sconto, sezione "Tutto incluso" a due colonne.
   Le classi base (.pz-hero, .pz-calc-panel, .pz-summ-*, .pz-btn, ...)
   restano definite in style.css.
   ===================================================================== */

/* --- Sezione "Due specializzazioni" come apertura pagina, sfondo scuro ---
   (riusa il blu dell'ex hero; testi esterni alle finestrelle in chiaro,
   le card modulo restano bianche). --- */
.pz-modules.pz-modules--dark { background: var(--hero-gradient); padding-top: clamp(3.5rem, 8vw, 5.5rem); }
.pz-modules--dark .pz-modules-head h1,
.pz-modules--dark .pz-modules-head h2 {
    font-family: var(--font-display);
    font-size: clamp(1.9rem, 3.6vw, 2.5rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.01em;
    margin: 0;
    color: #fff;
}
.pz-modules--dark .pz-modules-head p { color: #C9D3E2; }
.pz-modules--dark .pz-mod-note {
    background: rgba(255, 255, 255, .08);
    color: #E7ECF3;
    border: 1px solid rgba(255, 255, 255, .14);
}
.pz-modules--dark .pz-mod-note b { color: var(--turchese); }
.pz-modules--dark .pz-mod-note svg { stroke: var(--turchese); }
.pz-anchor { display: block; position: relative; top: 0; height: 0; width: 0; overflow: hidden; }

/* --- Stepper postazioni (calcolatore) --- */
.pz-stepper { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border: 1.5px solid var(--grigio-linea); border-radius: var(--radius-sm); padding: .6rem .8rem; }
.pz-step-btn { width: 46px; height: 46px; border-radius: 10px; border: 1.5px solid var(--grigio-linea); background: var(--bianco); font-size: 1.5rem; font-weight: 700; color: var(--blu-notte); cursor: pointer; display: flex; align-items: center; justify-content: center; line-height: 1; transition: all .15s ease; flex-shrink: 0; }
.pz-step-btn:hover:not(:disabled) { border-color: var(--blu-elettrico); color: var(--blu-elettrico); background: rgba(47, 111, 237, .06); }
.pz-step-btn:disabled { opacity: .35; cursor: not-allowed; }
.pz-step-display { text-align: center; flex: 1; }
.pz-step-num { display: block; font-family: var(--font-display); font-weight: 800; font-size: 2.1rem; color: var(--blu-notte); line-height: 1; }
.pz-step-unit { display: block; font-size: .82rem; color: var(--grigio-ardesia); margin-top: .2rem; }
.pz-step-hint { font-size: .8rem; color: var(--grigio-ardesia-soft); margin-top: .7rem; line-height: 1.5; }

/* --- Sconto evidenziato nel preventivo (pannello scuro) --- */
.pz-summ-discount { margin-top: 1.3rem; background: rgba(0, 194, 166, .12); border: 1px solid rgba(0, 194, 166, .38); border-radius: var(--radius-sm); padding: .85rem 1.1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.pz-summ-disc-lab { font-size: .76rem; text-transform: uppercase; letter-spacing: .05em; color: rgba(255, 255, 255, .78); font-weight: 600; }
.pz-summ-disc-badge { font-family: var(--font-display); font-weight: 800; font-size: 1.95rem; color: var(--turchese); line-height: 1; white-space: nowrap; }
.pz-summ-discount.zero { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .14); }
.pz-summ-discount.zero .pz-summ-disc-badge { color: rgba(255, 255, 255, .55); font-size: 1.4rem; }

/* --- Sezione "Tutto incluso" (card servizi) --- */
.pz-incluso2 { display: grid; grid-template-columns: 0.9fr 1.25fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; margin-top: .5rem; }
.pz-incluso2-title { font-family: var(--font-display); font-weight: 700; font-size: 1.15rem; color: var(--blu-notte); margin: 0 0 1.3rem; }

/* Variante centrata: solo la colonna dei servizi, al centro della pagina */
.pz-incluso2.pz-incluso2--center { display: block; margin-top: 0; }
.pz-incluso2--center .pz-incluso2-right { max-width: 620px; margin: 0 auto; }
.pz-incluso2--center .pz-incluso2-title { text-align: center; font-size: clamp(1.4rem, 2.6vw, 1.8rem); margin-bottom: 1.6rem; }

/* Colonna sinistra: checklist */
.pz-incluso2-checklist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1rem; }
.pz-incluso2-checklist li { display: flex; align-items: flex-start; gap: .7rem; font-size: 1rem; color: var(--blu-notte); line-height: 1.4; }
.pz-incluso2-checklist li svg { width: 20px; height: 20px; flex-shrink: 0; stroke: var(--turchese); fill: none; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; margin-top: .1rem; }

/* Colonna destra: card servizi */
.pz-incluso2-right { display: flex; flex-direction: column; gap: 1.3rem; }
.pz-incluso2-right .pz-incluso2-title { margin-bottom: .3rem; }
.pz-incluso2-card { border: 1px solid var(--grigio-linea); border-radius: var(--radius-xl); padding: 1.4rem 1.6rem; background: var(--bianco); }
.pz-incluso2-card-title { font-family: var(--font-display); font-weight: 700; font-size: 1rem; color: var(--blu-notte); margin: 0 0 .4rem; }
.pz-incluso2-card ul { list-style: none; margin: 0; padding: 0; }
.pz-incluso2-card li { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-top: 1px solid var(--grigio-linea); }
.pz-incluso2-card li:first-child { border-top: 0; }
.pz-incluso2-card li .lab { color: var(--turchese-dark); font-size: .95rem; }
.pz-incluso2-card li .val { font-family: var(--font-display); font-weight: 700; font-size: .92rem; color: var(--blu-notte); white-space: nowrap; text-align: right; }
.pz-incluso2-card li .val.check { display: inline-flex; align-items: center; }
.pz-incluso2-card li .val.check svg { width: 20px; height: 20px; stroke: #6f42c1; fill: none; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }

@media (max-width: 820px) {
    .pz-incluso2 { grid-template-columns: 1fr; gap: 2rem; }
}
@media (max-width: 600px) {
    .pz-step-num { font-size: 1.8rem; }
    .pz-summ-disc-badge { font-size: 1.7rem; }
}
