.ctr-bp-wrap{
    --ctr-text:#1f2937;
    --ctr-muted:#6b7280;
    --ctr-line:#d9dee7;
    --ctr-soft:#f7f8fa;
    --ctr-accent:#334155;
    --ctr-green:#eaf4e5;
    --ctr-green-dark:#3f6a35;
    --ctr-blue:#e8f0fb;
    --ctr-cremation-gray:#666b70;
    --ctr-field-gray:#eef0f2;
    font-family: Arial, Helvetica, sans-serif;
    color:var(--ctr-text);
    max-width:1400px;
    margin:20px auto;
}
.ctr-bp-wrap *{box-sizing:border-box}
.ctr-bp-head{
    background:#d9dbdd;
    padding:18px 22px;
    border-radius:8px;
    margin-bottom:18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    border-top:6px solid var(--ctr-cremation-gray);
}
.ctr-bp-head h1{margin:0 0 5px;font-size:28px;color:#202428}
.ctr-bp-head p{margin:0;color:#555d66}
.ctr-bp-brand{display:flex;align-items:center;gap:11px;flex:0 0 auto;text-align:right}
.ctr-bp-brand svg{display:none}.ctr-bp-logo-img{display:block;max-width:230px;max-height:78px;width:auto;height:auto;object-fit:contain}
.ctr-bp-brand-name{font-weight:800;font-size:16px;line-height:1.05;letter-spacing:.04em;color:#31363b}
.ctr-bp-brand-name small{display:block;font-size:10px;font-weight:700;letter-spacing:.12em;margin-top:5px;color:#656b70}

.ctr-bp-toolbar{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:18px;
    position:sticky;
    top:10px;
    z-index:20;
    padding:10px;
    background:rgba(255,255,255,.96);
    border:1px solid var(--ctr-line);
    border-radius:8px;
}
.ctr-bp-btn{
    border:1px solid #b8c0ca !important;
    background:#fff !important;
    color:#111 !important;
    padding:9px 14px;
    border-radius:6px;
    cursor:pointer;
    font-weight:700;
    min-height:44px;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    line-height:1.15;
    text-align:center;
}
.ctr-bp-btn.active{background:#e8edf3 !important;color:#111 !important;border-color:var(--ctr-accent) !important;box-shadow:inset 0 -3px 0 var(--ctr-accent)}
.ctr-bp-toolbar{align-items:stretch}
.ctr-bp-toolbar .ctr-bp-btn{flex:1 1 180px}
.ctr-bp-save-btn{
    margin-left:auto;
    flex:0 0 auto !important;
    min-width:150px;
    background:var(--ctr-cremation-gray) !important;
    color:#fff !important;
    border-color:var(--ctr-cremation-gray) !important;
}
.ctr-bp-save-btn:hover{filter:brightness(.92)}
.ctr-bp-save-status{align-self:center;font-size:12px;color:#4b5563;white-space:nowrap}
.ctr-bp-save-status.ok{color:#2f6b3f;font-weight:700}
.ctr-bp-save-status.err{color:#9b1c1c;font-weight:700}
.ctr-field{display:flex;flex-direction:column}
.ctr-field label{min-height:32px;display:flex;align-items:flex-end}
.ctr-field input,.ctr-field select{margin-top:auto;min-height:42px}
.ctr-card .ctr-field-grid{align-items:stretch}
.ctr-kpi-explain{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ctr-kpi-explain>div{border:1px solid var(--ctr-line);border-radius:7px;padding:13px;background:#fafbfc;line-height:1.45}
.ctr-kpi-explain strong{display:block;margin-bottom:5px}

.ctr-bp-grid{
    display:grid;
    grid-template-columns:repeat(12,1fr);
    gap:14px;
}
.ctr-card{
    background:#fff;
    border:1px solid var(--ctr-line);
    border-radius:8px;
    padding:16px;
    break-inside:avoid;
}
.ctr-card h2{
    font-size:18px;
    margin:0 0 14px;
}
.ctr-card h3{
    font-size:14px;
    margin:16px 0 8px;
    color:var(--ctr-muted);
    text-transform:uppercase;
    letter-spacing:.04em;
}
.ctr-col-12{grid-column:span 12}
.ctr-col-8{grid-column:span 8}
.ctr-col-6{grid-column:span 6}
.ctr-col-4{grid-column:span 4}
.ctr-field-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 14px;
}
.ctr-field label{
    display:block;
    font-size:12px;
    font-weight:700;
    margin-bottom:4px;
}
.ctr-field input,.ctr-field select,.ctr-field textarea{
    width:100%;
    border:1px solid #cfd5dd;
    border-radius:5px;
    padding:8px 9px;
    background:var(--ctr-field-gray);
    color:#111;
    font:inherit;
}
.ctr-field textarea{min-height:84px;resize:vertical}
.ctr-kpi-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}
.ctr-kpi{
    background:var(--ctr-soft);
    border:1px solid var(--ctr-line);
    border-radius:7px;
    padding:13px;
}
.ctr-kpi span{display:block;color:var(--ctr-muted);font-size:12px;margin-bottom:5px}
.ctr-kpi strong{font-size:20px}
.ctr-kpi.good{background:var(--ctr-green)}
.ctr-table-wrap{overflow:auto}
.ctr-table{
    width:100%;
    border-collapse:collapse;
    font-size:13px;
}
.ctr-table th,.ctr-table td{
    border:1px solid var(--ctr-line);
    padding:8px 9px;
    text-align:right;
    white-space:nowrap;
}
.ctr-table th:first-child,.ctr-table td:first-child{text-align:left}
.ctr-table th{background:#f0f2f4}
.ctr-table tr.total td{font-weight:700;background:var(--ctr-green)}
.ctr-note{
    color:var(--ctr-muted);
    font-size:12px;
    line-height:1.45;
    margin-top:10px;
}
.ctr-section-title{
    margin:24px 0 10px;
    font-size:22px;
    border-bottom:2px solid #9aa3af;
    padding-bottom:6px;
}
.ctr-generated-text{
    line-height:1.6;
    background:#fbfbfb;
    border-left:4px solid #94a3b8;
    padding:14px 16px;
}
.ctr-warn{
    background:#fff7e6;
    border:1px solid #efd197;
    padding:12px 14px;
    border-radius:6px;
    margin-top:12px;
}

.ctr-startup-card{background:#f4f4f3;border-color:#b8bcc1}
.ctr-startup-card h2{color:#44494e}
.ctr-startup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ctr-startup-phase{border:1px solid #c6cacf;border-radius:7px;padding:13px;background:#e9eaeb}
.ctr-startup-phase h3{margin:0 0 10px;color:#363b40;font-size:14px;letter-spacing:0;text-transform:none}
.ctr-startup-phase .ctr-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ctr-startup-result{margin-top:13px;padding:12px 14px;background:#fff;border:1px solid #c5c9cd;border-radius:7px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ctr-startup-result span{display:block;font-size:11px;color:#616970;margin-bottom:4px}.ctr-startup-result strong{font-size:18px}




.ctr-bp-print-footer{
    display:none;
}




/* v0.4.6 - compattezza campi e intestazioni */
.ctr-bp-wrap .ctr-field label{
    white-space:nowrap;
    line-height:1.2;
    min-height:auto !important;
}
.ctr-bp-wrap .ctr-startup-card .ctr-field-grid{
    align-items:end;
}
.ctr-bp-wrap .ctr-startup-card .ctr-field{
    min-width:0;
}
.ctr-bp-wrap .ctr-startup-card .ctr-field label{
    font-size:11px;
}



/* v0.4.6 */
.ctr-bp-wrap .ctr-startup-phase .ctr-field label,
.ctr-bp-wrap .ctr-card .ctr-field label{white-space:nowrap}
.ctr-bp-wrap .ctr-startup-phase .ctr-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ctr-bp-wrap .ctr-startup-phase:nth-child(2) .ctr-field-grid{grid-template-columns:1fr}



/* v0.4.6 - descrittiva, logo e numeri */
.ctr-bp-logo-img{display:block;max-width:230px;max-height:78px;width:auto;height:auto;object-fit:contain}
.ctr-economic-divider{
    margin-top:34px !important;
    background:#eceff1;
    border:1px solid #cfd4da;
    border-radius:7px;
    padding:12px 14px !important;
    font-size:18px !important;
    letter-spacing:.02em;
}
.ctr-card p{line-height:1.58}


/* v0.4.6 - compattazione layout */
.ctr-project-id-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:10px 12px !important;
}
.ctr-operating-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px 14px !important;
}
.ctr-card{padding:14px !important}
.ctr-card h2{margin-bottom:10px !important}
.ctr-section-title{margin:18px 0 8px !important}
.ctr-bp-grid{gap:10px !important}
.ctr-field-grid{gap:8px 12px !important}
.ctr-field label{margin-bottom:3px !important}
.ctr-result-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    align-items:start;
}
.ctr-result-item{min-width:0}
.ctr-result-label{
    font-size:12px;
    color:#5f6874;
    margin:0 0 5px 2px;
    white-space:nowrap;
}
.ctr-result-box{
    min-height:64px;
    border:1px solid var(--ctr-line);
    border-radius:7px;
    background:var(--ctr-soft);
    display:flex;
    align-items:center;
    padding:10px 12px;
}
.ctr-result-box strong{
    font-size:18px;
    line-height:1;
    white-space:nowrap;
}
.ctr-result-box-good{background:var(--ctr-green)}
.ctr-col-4,.ctr-col-8{align-self:stretch}
.ctr-bp-head{margin-bottom:12px !important}
.ctr-bp-toolbar{margin-bottom:12px !important}
.ctr-note{margin-top:7px !important}





/* v0.4.6 - identità Cremation + mappa impianti fissi */
.ctr-bp-wrap{
    background:#e3e3e3;
    padding:15mm; /* v0.6.6: margine visivo A4 anche in anteprima */
    border-radius:8px;
}
.ctr-bp-head{
    background:#ffffff !important;
    border-top:6px solid var(--ctr-cremation-gray);
    border:1px solid #cfd2d5;
    border-top-width:6px;
}
.ctr-bp-toolbar{
    background:rgba(227,227,227,.97) !important;
}
.ctr-card{
    background:#ffffff;
}
.ctr-fixed-map-wrap{
    display:grid;
    grid-template-columns:minmax(0,2.2fr) minmax(240px,.8fr);
    gap:12px;
    align-items:stretch;
}
#ctr-bp-fixed-map{
    width:100%;
    height:520px;
    border:1px solid #cfd4da;
    border-radius:8px;
    background:#f5f5f5;
    overflow:hidden;
}
.ctr-map-side{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.ctr-map-stat{
    background:#f7f7f7;
    border:1px solid #d5d8dc;
    border-radius:8px;
    padding:13px 14px;
}
.ctr-map-stat span{
    display:block;
    color:#666b70;
    font-size:12px;
    margin-bottom:4px;
}
.ctr-map-stat strong{
    font-size:24px;
    line-height:1.1;
}
.ctr-map-note{
    font-size:12px;
    color:#60666d;
    line-height:1.5;
    background:#fff;
    border:1px solid #d5d8dc;
    border-radius:8px;
    padding:12px 14px;
}
.ctr-fixed-dot{
    width:12px;height:12px;border-radius:50%;
    background:#666b70;border:2px solid #fff;
    box-shadow:0 0 0 1px #444;
}
.ctr-bp-wrap .leaflet-popup-content{font-size:12px;line-height:1.45}




/* v0.4.6 - progetto e ipotesi su tutta larghezza */
.ctr-project-identification-card,
.ctr-operating-card{
    grid-column:span 12 !important;
}
.ctr-project-id-grid{
    grid-template-columns:2.2fr 1.6fr 1.2fr .8fr !important;
    gap:10px 12px !important;
}
.ctr-operating-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:10px 12px !important;
}
.ctr-operating-grid .ctr-field:nth-child(5),
.ctr-operating-grid .ctr-field:nth-child(6),
.ctr-operating-grid .ctr-field:nth-child(7){
    grid-column:auto !important;
}
.ctr-line-capacity-note{
    margin-top:10px;
    padding:11px 13px;
    background:#f6f6f6;
    border:1px solid #d4d6d8;
    border-radius:7px;
    color:#52575c;
    font-size:12px;
    line-height:1.5;
}




/* v0.4.6 - sfondo grigio continuo su tutto il Business Plan */
.ctr-bp-wrap{
    background:#e3e3e3 !important;
    padding:14px !important;
    border-radius:8px;
}
.ctr-bp-wrap > .ctr-section-title,
.ctr-bp-wrap > .ctr-bp-grid,
.ctr-bp-wrap > .ctr-card,
.ctr-bp-wrap > .ctr-economic-divider{
    position:relative;
    z-index:1;
}
.ctr-bp-wrap .ctr-card{
    background:#ffffff !important;
}
.ctr-bp-wrap .ctr-bp-grid{
    background:transparent !important;
}
.ctr-bp-wrap .ctr-section-title{
    background:transparent;
}



/* v0.4.6 - testi editabili direttamente a video */
.ctr-bp-text-edit-btn.active{
    background:#5f6469 !important;
    color:#fff !important;
}
.ctr-bp-text-status{
    align-self:center;
    font-size:11px;
    color:#555b60;
    white-space:nowrap;
}
.ctr-bp-wrap.is-text-editing [data-text-editable="1"]{
    outline:1px dashed #858b91;
    outline-offset:3px;
    cursor:text;
    border-radius:3px;
}
.ctr-bp-wrap.is-text-editing [data-text-editable="1"]:hover{
    background:#fffdf1;
}
.ctr-bp-wrap.is-text-editing [data-text-editable="1"]:focus{
    outline:2px solid #666c72;
    background:#fff9dc;
}



/* v0.4.6 - nessun marchio Be Green nel Business Plan / stampa */
.ctr-bp-wrap img[src*="be-green" i],
.ctr-bp-wrap img[src*="begreen" i],
.ctr-bp-wrap img[alt*="Be Green" i],
.ctr-bp-wrap [class*="be-green" i],
.ctr-bp-wrap [class*="begreen" i]{
    display:none !important;
}




/* v0.5.7 - immagine IMC3 prima del primo capitolo */
.ctr-imc-cover-image{
    width:100%;
    margin:14px 0 18px;
    text-align:center;
    overflow:hidden;
    border-radius:10px;
    background:#fff;
}
.ctr-imc-cover-image img{
    display:block;
    width:100%;
    height:auto;
    max-height:520px;
    object-fit:contain;
    margin:0 auto;
}

/* v0.4.6 - capitolo introduttivo */
.ctr-intro-idea{
    padding:18px !important;
}
.ctr-intro-idea h2{
    margin-top:0 !important;
}
.ctr-intro-idea p{
    margin:0 0 9px !important;
    line-height:1.55;
}
.ctr-intro-idea p:last-child{
    margin-bottom:0 !important;
}

/* v0.4.7 - blocco narrativo unico: niente righe/box vuoti e incolla sempre dentro pagina */
.ctr-unified-text{
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
}
.ctr-unified-text p:empty{display:none !important;margin:0 !important;padding:0 !important;height:0 !important;}
.ctr-bp-wrap.is-text-editing .ctr-unified-text{
    outline:1px dashed #858b91;
    outline-offset:3px;
    padding:6px;
}
.ctr-bp-wrap.is-text-editing .ctr-unified-text p{outline:none !important;}
/* v0.4.8 - solo il contenitore e' un elemento editabile: i paragrafi interni non sono box */
.ctr-bp-wrap.is-text-editing .ctr-unified-text [data-text-editable="1"]{
    outline:none !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
}


/* v0.4.6 - import/export testi */
.ctr-bp-import-label{
    display:inline-flex;
    align-items:center;
    justify-content:center;
}



/* v0.4.6 - allineamento globale box e intestazioni */

/* Tutti i grid devono stirare i box della stessa riga alla stessa altezza */
.ctr-bp-wrap .ctr-bp-grid,
.ctr-bp-wrap .ctr-kpi-grid,
.ctr-bp-wrap .ctr-result-grid,
.ctr-bp-wrap .ctr-field-grid{
    align-items:stretch !important;
}

/* I box principali occupano sempre tutta l'altezza disponibile nella propria riga */
.ctr-bp-wrap .ctr-card,
.ctr-bp-wrap .ctr-kpi,
.ctr-bp-wrap .ctr-result-item{
    height:100%;
}

/* Titoli e intestazioni sempre in grassetto */
.ctr-bp-wrap h1,
.ctr-bp-wrap h2,
.ctr-bp-wrap h3,
.ctr-bp-wrap .ctr-section-title,
.ctr-bp-wrap .ctr-field label,
.ctr-bp-wrap .ctr-result-label,
.ctr-bp-wrap .ctr-kpi span,
.ctr-bp-wrap .ctr-map-stat span,
.ctr-bp-wrap th{
    font-weight:700 !important;
}

/* Allineamento uniforme delle intestazioni dei campi */
.ctr-bp-wrap .ctr-field{
    display:flex;
    flex-direction:column;
    min-width:0;
}
.ctr-bp-wrap .ctr-field label{
    display:flex !important;
    align-items:flex-end;
    min-height:32px;
    line-height:1.2;
    margin-bottom:5px !important;
}

/* Tutti i campi di inserimento con la stessa altezza */
.ctr-bp-wrap .ctr-field input,
.ctr-bp-wrap .ctr-field select{
    height:58px !important;
    min-height:58px !important;
}
.ctr-bp-wrap .ctr-field textarea{
    min-height:92px !important;
}

/* Titoli dei box allineati */
.ctr-bp-wrap .ctr-card > h2:first-child,
.ctr-bp-wrap .ctr-card > h3:first-child{
    min-height:28px;
    display:flex;
    align-items:center;
    margin-top:0 !important;
}

/* Indicatori anno 1: intestazioni allineate e box tutti uguali */
.ctr-bp-wrap .ctr-result-item{
    display:flex;
    flex-direction:column;
}
.ctr-bp-wrap .ctr-result-label{
    min-height:34px;
    display:flex;
    align-items:flex-end;
    line-height:1.2;
    margin-bottom:6px !important;
}
.ctr-bp-wrap .ctr-result-box{
    flex:1;
    min-height:82px !important;
    height:82px !important;
    display:flex;
    align-items:center;
}
.ctr-bp-wrap .ctr-result-box strong{
    font-weight:700 !important;
}

/* KPI generali: struttura uniforme */
.ctr-bp-wrap .ctr-kpi{
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    min-height:96px;
}
.ctr-bp-wrap .ctr-kpi span{
    min-height:30px;
    display:flex;
    align-items:flex-end;
    line-height:1.2;
    margin-bottom:7px !important;
}
.ctr-bp-wrap .ctr-kpi strong{
    margin-top:auto;
    font-weight:700 !important;
}

/* Tabelle: intestazioni verticalmente allineate */
.ctr-bp-wrap th{
    vertical-align:middle !important;
}

/* Le card affiancate devono risultare visivamente allineate */
.ctr-bp-wrap .ctr-col-4,
.ctr-bp-wrap .ctr-col-6,
.ctr-bp-wrap .ctr-col-8,
.ctr-bp-wrap .ctr-col-12{
    align-self:stretch !important;
}

/* In stampa manteniamo lo stesso allineamento */



/* v0.4.6 - avviamento su una riga + perfetto allineamento tariffe/indicatori */

/* I tre campi della fase iniziale ridotta stanno su UNA SOLA RIGA */
.ctr-bp-wrap .ctr-startup-reduced-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:10px 14px !important;
}
.ctr-bp-wrap .ctr-startup-reduced-grid .ctr-field{
    grid-column:auto !important;
}

/* Titoli delle due card allineati sulla stessa linea */
.ctr-bp-wrap .ctr-tariffs-card > h2,
.ctr-bp-wrap .ctr-indicators-card > h2{
    min-height:34px !important;
    height:34px !important;
    display:flex !important;
    align-items:flex-end !important;
    margin:0 0 10px !important;
}

/* Le intestazioni sopra tariffe e indicatori hanno IDENTICA altezza e sono allineate in basso */
.ctr-bp-wrap .ctr-tariffs-card .ctr-field label,
.ctr-bp-wrap .ctr-indicators-card .ctr-result-label{
    min-height:34px !important;
    height:34px !important;
    display:flex !important;
    align-items:flex-end !important;
    line-height:1.15 !important;
    margin:0 0 6px !important;
    font-weight:700 !important;
}

/* 650 / 380 devono avere la stessa altezza dei box 1.867 / 534 / 2.401 / fatturato */
.ctr-bp-wrap .ctr-tariffs-card .ctr-field input,
.ctr-bp-wrap .ctr-indicators-card .ctr-result-box{
    min-height:82px !important;
    height:82px !important;
}

/* Centratura verticale e dimensioni coerenti */
.ctr-bp-wrap .ctr-tariffs-card .ctr-field input{
    display:block;
    font-size:18px !important;
}
.ctr-bp-wrap .ctr-indicators-card .ctr-result-box{
    display:flex !important;
    align-items:center !important;
}
.ctr-bp-wrap .ctr-indicators-card .ctr-result-box strong{
    font-size:18px !important;
    white-space:nowrap !important;
}

/* I due box della sezione sono realmente della stessa altezza */
.ctr-bp-wrap .ctr-tariffs-card,
.ctr-bp-wrap .ctr-indicators-card{
    height:100% !important;
}

/* Mantiene la fase ridotta su una riga fino a tablet; su mobile torna verticale */


/* Stampa: stessa geometria, leggermente più compatta */



/* v0.4.6 - tipografia unica Cremation Business Plan */

/* TUTTO il documento in Arial */
.ctr-bp-wrap,
.ctr-bp-wrap *,
.ctr-bp-wrap input,
.ctr-bp-wrap select,
.ctr-bp-wrap textarea,
.ctr-bp-wrap button,
.ctr-bp-wrap table,
.ctr-bp-wrap th,
.ctr-bp-wrap td{
    font-family:Arial, Helvetica, sans-serif !important;
}

/* TITOLI DI CAPITOLO: sempre identici */
.ctr-bp-wrap .ctr-section-title{
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:18px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    color:#1f2937 !important;
    margin:18px 0 10px !important;
    padding:0 0 8px !important;
    min-height:0 !important;
    height:auto !important;
    display:block !important;
    border-bottom:1px solid #8f9baa !important;
    background:transparent !important;
    letter-spacing:0 !important;
    text-transform:none !important;
}

/* Anche quando il titolo è editabile non cambia aspetto */
.ctr-bp-wrap.is-text-editing .ctr-section-title{
    font-size:18px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
}

/* Titoli interni: Arial e gerarchia coerente */
.ctr-bp-wrap .ctr-card h2{
    font-family:Arial, Helvetica, sans-serif !important;
    font-weight:700 !important;
}
.ctr-bp-wrap .ctr-card h3{
    font-family:Arial, Helvetica, sans-serif !important;
    font-weight:700 !important;
}

/* Stessa tipografia anche nella stampa/PDF */



/* v0.4.6 */
.ctr-bp-wrap div.ctr-section-title{
 font-family:Arial,Helvetica,sans-serif!important;font-size:18px!important;
 font-weight:700!important;line-height:1.2!important;
}
.ctr-commercial-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ctr-commercial-stats .ctr-map-stat{min-height:92px}
.ctr-commercial-stats .ctr-map-stat small{display:block;margin-top:4px;color:#666b70;font-size:11px}

.ctr-mobile-network-layout{
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(230px,.75fr);
    gap:18px;
    align-items:start;
    margin-top:16px;
}
.ctr-mobile-network-figure{
    margin:0;
    border:1px solid var(--ctr-line);
    border-radius:10px;
    background:#fff;
    padding:10px;
    overflow:hidden;
}
.ctr-mobile-network-figure img{
    display:block;
    width:100%;
    height:auto;
    max-height:620px;
    object-fit:contain;
    border-radius:6px;
}
.ctr-mobile-network-list{
    border:1px solid var(--ctr-line);
    border-radius:10px;
    background:#fff;
    overflow:hidden;
}
.ctr-mobile-network-list-title{
    padding:11px 13px;
    background:#eef1f4;
    font-weight:800;
    font-size:14px;
}
.ctr-mobile-network-row{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:8px 13px;
    border-top:1px solid #eceff3;
    font-size:13px;
    line-height:1.25;
}
.ctr-mobile-network-row strong{white-space:nowrap}
.ctr-mobile-network-total{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:11px 13px;
    background:#f7f8fa;
    border-top:2px solid #cbd2db;
    font-size:14px;
    font-weight:800;
}
.ctr-mobile-network-empty{
    margin-top:14px;
    padding:16px;
    border:1px dashed #aeb7c2;
    border-radius:9px;
    background:#fafbfc;
    color:#5f6874;
    font-size:13px;
}
.ctr-mobile-network-sync{
    margin-top:8px;
    color:#707986;
    font-size:11px;
}


/* v0.5.3 - sorgente cartina mobile collegata direttamente alla cartina operativa */
.ctr-bp-mobile-source{
    position:absolute!important;
    left:-12000px!important;
    top:0!important;
    width:1400px!important;
    min-width:1400px!important;
    opacity:0!important;
    pointer-events:none!important;
    z-index:-9999!important;
    overflow:visible!important;
}
.ctr-bp-mobile-source #crm2-map{width:1050px!important;height:760px!important}
.ctr-commercial-stats .ctr-map-stat small{display:none!important}
.ctr-mobile-network-status{margin-top:10px;font-size:12px;color:#667085}





/* v0.4.6 - spaziatura compatta titoli e box testuali */

/* Il titolo di capitolo non deve generare una "riga vuota" propria.
   Restano solo 4px prima del contenuto successivo. */
.ctr-bp-wrap div.ctr-section-title{
    margin-top:10px !important;
    margin-bottom:4px !important;
    padding-top:0 !important;
    padding-bottom:4px !important;
    min-height:0 !important;
    height:auto !important;
}

/* Griglie subito dopo un titolo: nessun ulteriore spazio superiore */
.ctr-bp-wrap .ctr-section-title + .ctr-bp-grid,
.ctr-bp-wrap .ctr-section-title + .ctr-card,
.ctr-bp-wrap .ctr-section-title + .ctr-startup-wrap,
.ctr-bp-wrap .ctr-section-title + .ctr-startup-card{
    margin-top:0 !important;
}

/* Box di testo: 4px reali tra ultima riga e filetto inferiore */
.ctr-bp-wrap .ctr-card{
    padding-bottom:4px !important;
}

/* Nei box descrittivi l'ultimo elemento non aggiunge margine sotto */
.ctr-bp-wrap .ctr-card > p:last-child,
.ctr-bp-wrap .ctr-card > div:last-child,
.ctr-bp-wrap .ctr-card > ul:last-child,
.ctr-bp-wrap .ctr-card > ol:last-child{
    margin-bottom:0 !important;
}

/* Titoli interni dei box: niente altezza minima artificiale.
   Questo elimina lo spazio vuoto visibile nei box testuali. */
.ctr-bp-wrap .ctr-card > h2:first-child,
.ctr-bp-wrap .ctr-card > h3:first-child{
    min-height:0 !important;
    height:auto !important;
    margin-top:0 !important;
    margin-bottom:6px !important;
}

/* Card puramente descrittive: non vengono più allungate artificialmente
   dall'altezza della card affiancata. */
.ctr-bp-wrap .ctr-card p{
    margin-bottom:6px !important;
}
.ctr-bp-wrap .ctr-card p:last-child{
    margin-bottom:0 !important;
}

/* In stampa/PDF stessa distanza inferiore di 4px */



/* v0.4.6 - cartina completa */
.ctr-map-resolution{
 padding:8px 10px;border:1px solid #d5d8dc;border-radius:7px;background:#fff;
 font-size:11px;line-height:1.4;color:#555b61
}
.ctr-map-resolution strong{font-size:13px}
.ctr-fixed-dot{width:10px!important;height:10px!important}


/* v0.4.6 - capitolo tecnico IMC */
.ctr-technical-showcase{
    padding:10px !important;
}
.ctr-technical-hero{
    width:100%;
    background:#fff;
    border:1px solid #d5d8dc;
    border-radius:8px;
    overflow:hidden;
    margin-bottom:8px;
}
.ctr-technical-hero img{
    width:100%;
    height:auto;
    max-height:520px;
    object-fit:contain;
    display:block;
}
.ctr-technical-intro{
    padding:2px 2px 4px;
}
.ctr-technical-intro h2{
    margin:0 0 4px !important;
}
.ctr-technical-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin-top:6px;
}
.ctr-tech-box{
    background:#f6f6f6;
    border:1px solid #d3d6d9;
    border-radius:7px;
    padding:9px 10px 4px;
    min-height:100%;
}
.ctr-tech-box h3{
    margin:0 0 5px !important;
    font-size:14px !important;
    font-weight:700 !important;
}
.ctr-tech-box p{
    margin:0 !important;
    font-size:12px;
    line-height:1.42;
}
.ctr-technical-footer{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin-top:8px;
}
.ctr-tech-highlight{
    background:#fff;
    border-top:3px solid var(--ctr-cremation-gray);
    padding:7px 9px 4px;
}
.ctr-tech-highlight strong{
    display:block;
    font-size:13px;
    margin-bottom:2px;
}
.ctr-tech-highlight span{
    display:block;
    font-size:11px;
    line-height:1.3;
    color:#5d6267;
}





/* v0.4.6 - capitolo tecnico allineato e immagine quadrata */
.ctr-bp-wrap .ctr-bp-grid,
.ctr-bp-wrap .ctr-technical-section-grid{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
}
.ctr-bp-wrap .ctr-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
}
.ctr-bp-wrap .ctr-technical-showcase{
    grid-column:1 / -1 !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:10px !important;
}
.ctr-technical-top{
    display:grid;
    grid-template-columns:minmax(260px,34%) minmax(0,1fr);
    gap:12px;
    align-items:stretch;
    margin-bottom:10px;
}
.ctr-technical-image-square{
    width:100%;
    aspect-ratio:1 / 1;
    background:#f2f2f2;
    border:1px solid #d5d8dc;
    border-radius:8px;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
}
.ctr-technical-image-square img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
}
.ctr-technical-intro{
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    padding:0 !important;
}
.ctr-technical-intro h2{
    margin:0 0 6px !important;
}
.ctr-technical-intro p{
    margin:0 0 10px !important;
}
.ctr-technical-quickfacts{
    margin-top:auto;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}
.ctr-technical-quickfacts > div{
    background:#f6f6f6;
    border:1px solid #d3d6d9;
    border-radius:7px;
    padding:8px 9px 4px;
}
.ctr-technical-quickfacts span{
    display:block;
    font-size:11px;
    color:#62676c;
    margin-bottom:2px;
}
.ctr-technical-quickfacts strong{
    display:block;
    font-size:13px;
}
.ctr-technical-grid,
.ctr-technical-footer{
    width:100% !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
.ctr-tech-box,
.ctr-tech-highlight{
    min-width:0 !important;
    width:100% !important;
}
/* v0.6.41 - Capitolo 2: foto più grande, testo da metà pagina, quick facts su unica riga */
.ctr-bp-wrap .ctr-technical-top{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:4mm !important;
    align-items:start !important;
}
.ctr-bp-wrap .ctr-technical-image-square{
    width:100% !important;
    max-width:none !important;
}
.ctr-bp-wrap .ctr-technical-quickfacts-row{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:4mm !important;
    width:100% !important;
    margin:4mm 0 !important;
}
.ctr-bp-wrap .ctr-technical-quickfacts-row > div{
    min-width:0 !important;
    width:auto !important;
}





/* v0.4.6 - immagine IMC incorporata e mai ritagliata */
.ctr-bp-wrap .ctr-technical-section-grid{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    padding:0!important;
}
.ctr-bp-wrap .ctr-technical-showcase{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
}
.ctr-technical-top{
    grid-template-columns:minmax(330px,40%) minmax(0,1fr)!important;
    align-items:start!important;
}
.ctr-technical-image-square{
    box-sizing:border-box!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:718 / 476!important;
    min-height:0!important;
    background:#fff!important;
}
.ctr-technical-image-square img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    opacity:1!important;
    visibility:visible!important;
}
.ctr-technical-grid,
.ctr-technical-footer{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
}



/* v0.5.3 - stampa: niente titoli orfani e testo libero di proseguire fino a fondo pagina */


.ctr-kpi > small,.ctr-map-stat > small,.ctr-result-box > small,.ctr-startup-result > div > small{display:none!important}


/* v0.5.4 - rete nazionale modificabile e layout compatto */
.ctr-mobile-network-list [data-mobile-network-rows]{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
}
.ctr-mobile-network-row{
    min-height:46px;
    align-items:center;
    padding:6px 10px;
    border-right:1px solid #eceff3;
}
.ctr-mobile-network-row input[data-mobile-region-count]{
    width:68px !important;
    min-width:68px !important;
    height:34px !important;
    min-height:34px !important;
    margin:0 !important;
    padding:4px 6px !important;
    text-align:center;
    font-weight:700;
    border:1px solid #cbd2db;
    border-radius:6px;
    background:#fff;
}

/* Tariffe e indicatori: altezza visiva identica */
.ctr-bp-wrap .ctr-tariffs-card .ctr-field input,
.ctr-bp-wrap .ctr-indicators-card .ctr-result-box{
    height:92px !important;
    min-height:92px !important;
}
.ctr-bp-wrap .ctr-tariffs-card .ctr-field input{padding:0 12px !important}
.ctr-bp-wrap .ctr-tariffs-card .ctr-field-grid,
.ctr-bp-wrap .ctr-indicators-card .ctr-result-grid{align-items:stretch !important}
/* logo e immagine tecnica locali al plugin */
.ctr-bp-logo-img{background:#fff;object-fit:contain!important}
.ctr-technical-image-square img{display:block!important;opacity:1!important;visibility:visible!important}



/* v0.6.1 - immagini compatte di separazione dopo gli investimenti */
.ctr-number-break-images{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:720px;margin:12px auto 16px;align-items:center}
.ctr-number-break-image{height:118px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;border:1px solid #d7dee6;border-radius:10px;padding:6px;box-sizing:border-box}
.ctr-number-break-image img{display:block;max-width:100%;max-height:104px;width:auto;height:auto;object-fit:contain;margin:auto}



/* v0.6.0 - rete regionale manuale + investimenti su una riga */
.ctr-mobile-network-manual{display:block!important}
.ctr-mobile-network-manual .ctr-mobile-network-list{width:100%!important;max-width:none!important}
.ctr-mobile-network-manual [data-mobile-network-rows]{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
.ctr-mobile-network-manual .ctr-mobile-network-row{min-height:46px!important}
.ctr-investment-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(280px,.95fr);gap:14px;align-items:end}
.ctr-investment-row .ctr-field,.ctr-investment-summary{margin:0!important}
.ctr-investment-row .ctr-field input{height:72px!important;min-height:72px!important}
.ctr-investment-summary{height:72px!important;min-height:72px!important;display:flex!important;flex-direction:column;justify-content:center;padding:10px 16px!important;box-sizing:border-box}
.ctr-investment-summary span{margin-bottom:6px!important}
.ctr-investment-summary strong{font-size:22px!important}



/* v0.5.6 - tre pilastri franchising */
.ctr-franchise-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;align-items:stretch}
.ctr-franchise-pillar{border:1px solid #d7dde5;border-radius:10px;background:#f7f9fb;padding:16px;min-height:118px;display:flex;flex-direction:column;box-sizing:border-box}
.ctr-franchise-pillar strong{display:block;font-size:14px;line-height:1.2;margin-bottom:9px;color:#10233f}
.ctr-franchise-pillar span{display:block;font-size:13px;line-height:1.45;color:#4f5f73}



/* v0.6.2 - box dati compatti uniformi + immagine IMC3 al 70% */
.ctr-bp-wrap .ctr-field input,
.ctr-bp-wrap .ctr-field select{
    height:48px !important;
    min-height:48px !important;
}
.ctr-bp-wrap .ctr-result-box,
.ctr-bp-wrap .ctr-tariffs-card .ctr-field input,
.ctr-bp-wrap .ctr-indicators-card .ctr-result-box{
    height:58px !important;
    min-height:58px !important;
}
.ctr-bp-wrap .ctr-kpi{
    min-height:78px !important;
}
.ctr-bp-wrap .ctr-investment-row .ctr-field input,
.ctr-bp-wrap .ctr-investment-summary{
    height:58px !important;
    min-height:58px !important;
}
.ctr-bp-wrap .ctr-investment-summary{padding:7px 14px !important;}
.ctr-bp-wrap .ctr-investment-summary span{min-height:0 !important;margin-bottom:3px !important;}
.ctr-imc-cover-image img{
    width:70% !important;
    max-width:70% !important;
    height:auto !important;
    margin:0 auto !important;
}


/* v0.6.3 - margini stampa, interlinea testo e processo tecnico a tutta larghezza */
.ctr-bp-wrap .ctr-unified-text,
.ctr-bp-wrap .ctr-card > p,
.ctr-bp-wrap .ctr-technical-intro > p,
.ctr-bp-wrap .ctr-tech-box > p,
.ctr-bp-wrap .ctr-franchise-pillar > span,
.ctr-bp-wrap .ctr-kpi-explain > div{
    line-height:1.5 !important;
}
.ctr-technical-grid-three{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
.ctr-process-wide{
    width:100%;
    margin-top:12px;
    box-sizing:border-box;
}
.ctr-process-flow{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px 12px;
    margin-top:8px;
}
.ctr-process-step{
    display:grid;
    grid-template-columns:30px 1fr;
    gap:8px;
    align-items:start;
    line-height:1.5;
    min-width:0;
}
.ctr-process-step > strong{
    width:28px;
    height:28px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#eef2f6;
    border:1px solid #cfd7df;
    color:#24364b;
    font-size:12px;
}
.ctr-process-step span{font-size:13px;color:#2e3338;}





/* v0.6.7 - geometria A4: margine reale 15 mm su OGNI pagina in anteprima PDF e stampa */


/* v0.6.9 - iter autorizzativo semplificato + box testuali ad altezza automatica */
.ctr-bp-wrap .ctr-text-auto,
.ctr-bp-wrap .ctr-card.ctr-text-auto,
.ctr-bp-wrap .ctr-card > p,
.ctr-bp-wrap .ctr-unified-text{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
}
.ctr-bp-wrap .ctr-bp-grid{align-items:start !important;}
.ctr-bp-wrap .ctr-card{overflow:visible;}
.ctr-authorization-steps{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px;margin-top:10px;}
.ctr-authorization-step{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:start;border:1px solid #d7dde4;border-radius:7px;padding:10px;background:#fafbfc;box-sizing:border-box;}
.ctr-auth-num{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef2f6;border:1px solid #cbd4de;font-weight:700;color:#24364b;font-size:12px;}
.ctr-authorization-step strong{display:block;font-size:12.5px;color:#26384d;margin:1px 0 4px;}
.ctr-authorization-step div>span{display:block;font-size:12.5px;line-height:1.45;color:#30363c;}
.ctr-auth-closing{margin:10px 0 0!important;padding:9px 11px;border-left:3px solid #9aabc0;background:#f7f9fb;line-height:1.45!important;}




/* v0.6.15 - uniformità sfondo e distanza costante tra i box */
.ctr-bp-wrap{
    --ctr-page-gray:#e3e3e3;
    background:var(--ctr-page-gray) !important;
}
/* Tutti i contenitori strutturali devono mostrare lo stesso grigio della pagina
   negli spazi tra un box bianco e l'altro. */
.ctr-bp-wrap .ctr-bp-grid,
.ctr-bp-wrap .ctr-technical-grid,
.ctr-bp-wrap .ctr-technical-grid-three,
.ctr-bp-wrap .ctr-process-flow,
.ctr-bp-wrap .ctr-franchise-pillars,
.ctr-bp-wrap .ctr-authorization-steps,
.ctr-bp-wrap .ctr-authorization-grid,
.ctr-bp-wrap .ctr-kpi-grid,
.ctr-bp-wrap .ctr-result-grid,
.ctr-bp-wrap .ctr-startup-grid,
.ctr-bp-wrap .ctr-project-id-grid,
.ctr-bp-wrap .ctr-operating-grid,
.ctr-bp-wrap .ctr-mobile-network-layout,
.ctr-bp-wrap .ctr-regional-network,
.ctr-bp-wrap .ctr-investment-row,
.ctr-bp-wrap .ctr-number-break-images{
    background:transparent !important;
}
/* Distanza standard: 4 mm tra box affiancati e tra righe di box. */
.ctr-bp-wrap .ctr-bp-grid,
.ctr-bp-wrap .ctr-technical-grid,
.ctr-bp-wrap .ctr-technical-grid-three,
.ctr-bp-wrap .ctr-process-flow,
.ctr-bp-wrap .ctr-franchise-pillars,
.ctr-bp-wrap .ctr-authorization-steps,
.ctr-bp-wrap .ctr-authorization-grid,
.ctr-bp-wrap .ctr-kpi-grid,
.ctr-bp-wrap .ctr-result-grid,
.ctr-bp-wrap .ctr-startup-grid,
.ctr-bp-wrap .ctr-project-id-grid,
.ctr-bp-wrap .ctr-operating-grid,
.ctr-bp-wrap .ctr-mobile-network-layout,
.ctr-bp-wrap .ctr-regional-network,
.ctr-bp-wrap .ctr-investment-row,
.ctr-bp-wrap .ctr-number-break-images{
    gap:4mm !important;
    row-gap:4mm !important;
    column-gap:4mm !important;
}
/* Anche i box consecutivi a tutta larghezza sono separati da 4 mm di grigio. */
.ctr-bp-wrap > .ctr-card,
.ctr-bp-wrap > .ctr-bp-grid,
.ctr-bp-wrap > .ctr-technical-section,
.ctr-bp-wrap > .ctr-process-wide,
.ctr-bp-wrap > .ctr-regional-network,
.ctr-bp-wrap > .ctr-number-break-images{
    margin-bottom:4mm !important;
}
.ctr-bp-wrap .ctr-card,
.ctr-bp-wrap .ctr-bp-head{
    background:#fff !important;
}
/* Il titolo di capitolo resta sul grigio pagina, senza fascia di un secondo grigio. */
.ctr-bp-wrap .ctr-section-title,
.ctr-bp-wrap .ctr-economic-divider{
    background:transparent !important;
}
.ctr-bp-wrap .ctr-section-title{
    margin-top:4mm !important;
    margin-bottom:2mm !important;
}




/* ============================================================
 * v0.6.16 - STABILITÀ LAYOUT / STAMPA / COPERTINA / INDICE
 * CSS volutamente tenuto FUORI dal JavaScript.
 * ============================================================ */
:root{--ctr-page-gray:#e3e3e3;}
.ctr-bp-wrap{background:var(--ctr-page-gray)!important;}

/* Ogni blocco bianco è separato dal successivo da 4 mm reali. */
.ctr-bp-wrap .ctr-card,
.ctr-bp-wrap .ctr-authorization-section,
.ctr-bp-wrap .ctr-franchise-pillars,
.ctr-bp-wrap .ctr-regional-network,
.ctr-bp-wrap .ctr-number-break-images,
.ctr-bp-wrap .ctr-bp-grid,
.ctr-bp-wrap .ctr-mobile-network-layout,
.ctr-bp-wrap .ctr-investment-row,
.ctr-bp-wrap .ctr-economic-summary,
.ctr-bp-wrap .ctr-projection-wrap{margin-bottom:4mm!important;}
.ctr-bp-wrap .ctr-section-title{margin-top:4mm!important;margin-bottom:4mm!important;clear:both!important;position:relative!important;z-index:2!important;}
.ctr-bp-wrap .ctr-section-title + .ctr-card,
.ctr-bp-wrap .ctr-section-title + .ctr-bp-grid{margin-top:0!important;}

/* Nessuna sovrapposizione: i contenitori narrativi crescono con il contenuto. */
.ctr-bp-wrap .ctr-card,
.ctr-bp-wrap .ctr-unified-text,
.ctr-bp-wrap .ctr-text-box,
.ctr-bp-wrap .ctr-authorization-section,
.ctr-bp-wrap .ctr-authorization-box{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    position:relative!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    box-sizing:border-box!important;
}
.ctr-bp-wrap .ctr-bp-grid,
.ctr-bp-wrap .ctr-franchise-pillars,
.ctr-bp-wrap .ctr-authorization-grid,
.ctr-bp-wrap .ctr-startup-grid,
.ctr-bp-wrap .ctr-project-id-grid,
.ctr-bp-wrap .ctr-operating-grid,
.ctr-bp-wrap .ctr-mobile-network-layout,
.ctr-bp-wrap .ctr-regional-network,
.ctr-bp-wrap .ctr-investment-row,
.ctr-bp-wrap .ctr-number-break-images{
    gap:4mm!important;
    row-gap:4mm!important;
    column-gap:4mm!important;
    background:transparent!important;
}

/* Copertina e indice */
.ctr-cover-page{background:#fff;border-radius:8px;padding:0;margin:0 0 4mm;overflow:hidden;position:relative;}
.ctr-cover-page img{display:block;width:100%;height:auto;max-width:100%;margin:0 auto;}
.ctr-index-page{background:#fff;border-radius:8px;padding:10mm 12mm;margin:0 0 4mm;box-sizing:border-box;}
.ctr-index-page h2{margin:0 0 7mm;font-size:24px;}
.ctr-index-list{display:grid;grid-template-columns:1fr 1fr;gap:3mm 10mm;margin:0;padding:0;list-style:none;counter-reset:idx;}
.ctr-index-list li{display:flex;gap:7px;align-items:flex-start;border-bottom:1px solid #e3e3e3;padding:0 0 2mm;font-size:14px;line-height:1.35;}
.ctr-index-list .idx-n{font-weight:700;min-width:22px;color:#26384d;}

/* Autorizzazioni */
.ctr-authorization-section{margin-top:4mm;}
.ctr-authorization-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4mm!important;margin-top:4mm;}
.ctr-authorization-box{border:1px solid #d0d5db;border-radius:7px;background:#f7f8f9;padding:12px;display:flex;flex-direction:column;gap:6px;min-height:0!important;}
.ctr-authorization-box strong{font-size:13px;letter-spacing:.02em;color:#26384d;}
.ctr-authorization-box span{font-size:12.5px;line-height:1.5;color:#30363c;}





/* ============================================================
 * 0.6.17 - GERARCHIA VISIVA STABILE
 * Sfondo pagina unico grigio; tutti i box di contenuto bianchi.
 * Copertina separata. Pagina di apertura: titolo + indice + immagine IMC.
 * ============================================================ */
:root{--ctr-page-gray:#e3e3e3!important;}
html,body{background:var(--ctr-page-gray)!important;}
.ctr-bp-wrap{
    background:var(--ctr-page-gray)!important;
    box-sizing:border-box!important;
    padding:4mm!important;
}
.ctr-opening-page{
    background:var(--ctr-page-gray)!important;
    padding:0!important;
    margin:0 0 4mm!important;
    box-sizing:border-box!important;
}
.ctr-bp-wrap .ctr-card,
.ctr-bp-wrap .ctr-bp-head,
.ctr-bp-wrap .ctr-index-page,
.ctr-bp-wrap .ctr-map-note,
.ctr-bp-wrap .ctr-kpi,
.ctr-bp-wrap .ctr-result-box,
.ctr-bp-wrap .ctr-startup-card,
.ctr-bp-wrap .ctr-startup-phase,
.ctr-bp-wrap .ctr-startup-result,
.ctr-bp-wrap .ctr-franchise-pillar,
.ctr-bp-wrap .ctr-authorization-box,
.ctr-bp-wrap .ctr-regional-network,
.ctr-bp-wrap .ctr-mobile-network-list,
.ctr-bp-wrap .ctr-mobile-network-figure,
.ctr-bp-wrap .ctr-imc-cover-image,
.ctr-bp-wrap .ctr-number-break-image,
.ctr-bp-wrap .ctr-economic-summary,
.ctr-bp-wrap .ctr-projection-wrap,
.ctr-bp-wrap .ctr-investment-row{
    background:#fff!important;
}
/* I contenitori di layout NON devono avere un secondo grigio. */
.ctr-bp-wrap .ctr-bp-grid,
.ctr-bp-wrap .ctr-technical-section-grid,
.ctr-bp-wrap .ctr-franchise-pillars,
.ctr-bp-wrap .ctr-authorization-grid,
.ctr-bp-wrap .ctr-startup-grid,
.ctr-bp-wrap .ctr-project-id-grid,
.ctr-bp-wrap .ctr-operating-grid,
.ctr-bp-wrap .ctr-mobile-network-layout,
.ctr-bp-wrap .ctr-number-break-images{
    background:transparent!important;
}
.ctr-bp-head,.ctr-index-page,.ctr-imc-cover-image{margin-bottom:4mm!important;}
.ctr-index-page{padding:5mm 6mm!important;min-height:0!important;}
.ctr-index-page h2{margin:0 0 3mm!important;font-size:20px!important;}
.ctr-index-list{gap:2mm 8mm!important;}
.ctr-index-list li{font-size:11px!important;padding-bottom:1.2mm!important;line-height:1.25!important;}
.ctr-imc-cover-image{padding:3mm!important;border-radius:8px!important;}
.ctr-imc-cover-image img{width:58%!important;max-width:58%!important;max-height:72mm!important;object-fit:contain!important;}
.ctr-cover-page{background:#fff!important;margin:0 0 4mm!important;}
.ctr-cover-page img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;}




/* ============================================================
 * 0.6.19 - STAMPA FEDELE ALLA VIDEATA
 * - titolo/indice/IMC sulla stessa pagina
 * - salto pagina dopo l'immagine IMC
 * - intestazione compatta ripetuta in stampa
 * - nessuna "anteprima alternativa": colori, box e spazi restano quelli video
 * ============================================================ */
.ctr-bp-head{
    min-height:0!important;
    padding:10px 14px!important;
    margin-bottom:4mm!important;
    border-radius:8px!important;
}
.ctr-bp-head h1{font-size:22px!important;line-height:1.12!important;margin:0 0 3px!important;}
.ctr-bp-head p{font-size:11px!important;line-height:1.3!important;margin:0!important;}
.ctr-bp-head .ctr-bp-logo-img{max-height:48px!important;max-width:170px!important;}
.ctr-opening-page{break-after:page!important;page-break-after:always!important;}
.ctr-opening-page .ctr-index-page{
    break-after:auto!important;
    page-break-after:auto!important;
    min-height:0!important;
}
.ctr-opening-page .ctr-imc-cover-image{
    break-after:auto!important;
    page-break-after:auto!important;
    margin-bottom:0!important;
}
.ctr-print-running-head{display:none;}



/* ============================================================
 * 0.6.22 - CAPITOLO 2 REVISIONATO + TOOLBAR STICKY MANTENUTA
 * 0.6.21 - CAPITOLO 1 REVISIONATO + TOOLBAR STICKY MANTENUTA
 * 0.6.20 - NESSUNA PAGINA BIANCA PRIMA DELLA COPERTINA
 * Il box copertina deve entrare sempre nella prima area stampabile.
 * Evitiamo il caso limite di 267mm esatti che alcuni browser spostano
 * integralmente alla pagina successiva per arrotondamenti di stampa.
 * ============================================================ */



/* ============================================================
 * 0.6.24 - APERTURA UNIFICATA + TIPOGRAFIA DOCUMENTO
 * - titolo, indice e immagine IMC in un solo box bianco
 * - indice più arioso per utilizzare meglio la prima pagina interna
 * - Arial 12 pt per i testi; titoli Arial 14 pt grassetto
 * ============================================================ */
.ctr-bp-wrap{
    font-family:Arial,Helvetica,sans-serif!important;
}

/* Un solo box bianco per i tre elementi della pagina di apertura. */
.ctr-opening-page{
    background:#fff!important;
    border:1px solid #d7dde5!important;
    border-radius:8px!important;
    padding:5mm!important;
    box-sizing:border-box!important;
}
.ctr-opening-page .ctr-bp-head,
.ctr-opening-page .ctr-index-page,
.ctr-opening-page .ctr-imc-cover-image{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
    padding-left:0!important;
    padding-right:0!important;
    margin-left:0!important;
    margin-right:0!important;
}
.ctr-opening-page .ctr-bp-head{padding-top:0!important;}
.ctr-opening-page .ctr-imc-cover-image{padding-bottom:0!important;}

/* Testi del documento: Arial 12. I dati numerici evidenziati mantengono
   le dimensioni funzionali già previste, ma sempre in Arial. */
.ctr-bp-wrap .ctr-card p,
.ctr-bp-wrap .ctr-card li,
.ctr-bp-wrap .ctr-card td,
.ctr-bp-wrap .ctr-card th,
.ctr-bp-wrap .ctr-unified-text,
.ctr-bp-wrap .ctr-unified-text p,
.ctr-bp-wrap .ctr-process-step span,
.ctr-bp-wrap .ctr-authorization-step div>span,
.ctr-bp-wrap .ctr-franchise-pillar span,
.ctr-bp-wrap .ctr-index-list li,
.ctr-bp-wrap .ctr-bp-head p{
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:12pt!important;
}

/* Tutti i titoli editoriali a 14 pt grassetto. */
.ctr-bp-wrap .ctr-section-title,
.ctr-bp-wrap .ctr-card h2,
.ctr-bp-wrap .ctr-card h3,
.ctr-bp-wrap .ctr-index-page h2,
.ctr-bp-wrap .ctr-bp-head h1{
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:14pt!important;
    font-weight:700!important;
    line-height:1.25!important;
}

/* Indice più arioso: righe più alte senza creare box separati. */
.ctr-opening-page .ctr-index-list{
    row-gap:2.5mm!important;
    column-gap:10mm!important;
}
.ctr-opening-page .ctr-index-list li{
    min-height:8mm!important;
    padding:1.5mm 0 2mm!important;
    line-height:1.55!important;
    align-items:flex-start!important;
}
.ctr-opening-page .ctr-index-list .idx-n{
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:12pt!important;
    line-height:1.55!important;
}




/* ============================================================
 * 0.6.26 - INTESTAZIONE RIPETUTA / LOGO TRASPARENTE
 * La stessa intestazione compare anche su copertina e pagina indice.
 * ============================================================ */


/* 0.6.26 - intestazione: titolo 18pt Arial bold; logo senza riquadro */
.ctr-print-running-head strong{font-family:Arial,sans-serif!important;font-size:18pt!important;font-weight:700!important;}
.ctr-print-running-head img{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;}



/* ============================================================
 * 0.6.28 - CAPITOLO 3: Il progetto imprenditoriale con 3 sintesi visuali e 6 KPI dinamici
 * 0.6.27 - BOX PROCESSO: altezza reale + 4 mm dal box successivo
 * Evita che il fondo grigio del box Processo prosegua oltre il contenuto.
 * ============================================================ */
.ctr-bp-wrap .ctr-process-wide{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    margin-top:4mm!important;
    margin-bottom:4mm!important;
    padding-bottom:4mm!important;
    box-sizing:border-box!important;
}
.ctr-bp-wrap .ctr-process-flow{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin-bottom:0!important;
    align-items:start!important;
}
.ctr-bp-wrap .ctr-process-step{
    height:auto!important;
    min-height:0!important;
    align-self:start!important;
}
/* Il blocco che segue parte sempre dopo 4 mm effettivi. */
.ctr-bp-wrap .ctr-process-wide + .ctr-technical-footer{
    margin-top:0!important;
    padding-top:0!important;
}
.ctr-bp-wrap .ctr-technical-footer{
    clear:both!important;
    position:relative!important;
    height:auto!important;
    min-height:0!important;
}


/* v0.6.30 - Capitolo 3: sintesi visuale */
.ctr-project-visual{padding:5mm!important;}
.ctr-project-pill-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4mm;margin:4mm 0;}
.ctr-project-pill{background:#f1f1f1;border-radius:8px;padding:4mm;min-height:20mm;display:flex;flex-direction:column;justify-content:center;}
.ctr-project-pill strong{font-family:Arial,Helvetica,sans-serif;font-size:12pt;line-height:1.2;margin-bottom:1.5mm;}
.ctr-project-pill span{font-family:Arial,Helvetica,sans-serif;font-size:12pt;line-height:1.35;}
.ctr-project-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4mm;margin:4mm 0;}
.ctr-project-kpi{background:#fff;border:1px solid #d9d9d9;border-radius:8px;padding:4mm;min-height:21mm;display:flex;flex-direction:column;justify-content:space-between;}
.ctr-project-kpi span{font-family:Arial,Helvetica,sans-serif;font-size:11pt;line-height:1.25;}
.ctr-project-kpi strong{font-family:Arial,Helvetica,sans-serif;font-size:14pt;font-weight:700;line-height:1.2;margin-top:2mm;}
.ctr-project-kpi-good{border-width:2px;}
.ctr-project-closing{margin:4mm 0 0!important;}



/* v0.6.29 - capitoli su pagine separate e box bianchi arrotondati */
.ctr-bp-wrap .ctr-card,.ctr-bp-wrap .ctr-opening-page,.ctr-bp-wrap .ctr-bp-head,.ctr-bp-wrap .ctr-index-page,.ctr-bp-wrap .ctr-imc-cover-image,.ctr-bp-wrap .ctr-authorization-step,.ctr-bp-wrap .ctr-start-support{border-radius:8px!important;}
.ctr-start-support{margin-top:4mm;padding:4mm;background:#f4f6f8;border:1px solid #d7dde4;display:flex;flex-direction:column;gap:2mm;box-sizing:border-box;}
.ctr-start-support>strong{font-family:Arial,Helvetica,sans-serif;font-size:12pt;font-weight:700;color:#10233d}.ctr-start-support>span{display:block;line-height:1.5}


/* v0.6.30 - Capitolo 5: mercato più sintetico e visuale */
.ctr-market-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4mm;margin-top:4mm;}
.ctr-market-role{background:#f4f6f8;border:1px solid #d7dde4;border-radius:8px;padding:4mm;min-height:25mm;display:flex;flex-direction:column;gap:2mm;box-sizing:border-box;}
.ctr-market-role strong{font-family:Arial,Helvetica,sans-serif;font-size:12pt;font-weight:700;color:#10233d;line-height:1.2;}
.ctr-market-role span{font-family:Arial,Helvetica,sans-serif;font-size:12pt;line-height:1.5;}



.ctr-cost-total-inline{margin:0!important;min-height:0!important;height:auto!important;box-sizing:border-box;align-self:stretch;display:flex!important;flex-direction:column;justify-content:center;overflow:hidden;min-width:0;}
.ctr-cost-total-inline span{display:block;line-height:1.25;white-space:normal;}
.ctr-cost-total-inline strong{display:block;white-space:nowrap;max-width:100%;font-size:clamp(18px,1.7vw,28px);line-height:1.15;}
/* v0.6.38: cost grids - each total is a real grid cell, never a nested grid */
.ctr-field-grid > .ctr-field,
.ctr-field-grid > .ctr-cost-total-inline{min-width:0;width:100%;}
.ctr-field-grid > .ctr-cost-total-inline{grid-column:auto!important;}


/* v0.6.38 - Totali costi tra Commercialista e Royalties + Sintesi ROI/Ammortamento */
.ctr-bp-wrap .ctr-consultant-total-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;align-items:end!important;}
.ctr-bp-wrap .ctr-cost-total-middle{min-height:58px!important;height:58px!important;padding:8px 10px!important;align-self:end!important;justify-content:center!important;}
.ctr-bp-wrap .ctr-cost-total-middle span{font-size:10.5px!important;line-height:1.15!important;margin-bottom:3px!important;}
.ctr-bp-wrap .ctr-cost-total-middle strong{font-size:clamp(15px,1.25vw,22px)!important;line-height:1.05!important;letter-spacing:-.02em!important;}
.ctr-bp-wrap .ctr-amortization-inputs{grid-template-columns:minmax(220px,1fr) 2fr!important;margin-bottom:4mm!important;align-items:stretch!important;}
.ctr-bp-wrap .ctr-amortization-note{margin:0!important;display:flex;align-items:center;background:#f4f6f8;border:1px solid #d7dde4;border-radius:8px;padding:10px 12px;}
.ctr-bp-wrap .ctr-economic-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}


/* v0.6.35 - Confronto Anno 1 / Regime: box speculari e testi sempre contenuti */
.ctr-bp-wrap .ctr-operating-compare-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:10px !important;
    align-items:stretch !important;
}
.ctr-bp-wrap .ctr-operating-compare-grid .ctr-result-item{
    min-width:0 !important;
    height:auto !important;
}
.ctr-bp-wrap .ctr-operating-compare-grid .ctr-result-label{
    min-height:42px !important;
    height:42px !important;
    display:flex !important;
    align-items:flex-end !important;
    justify-content:flex-start !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    line-height:1.15 !important;
    margin:0 0 6px 0 !important;
}
.ctr-bp-wrap .ctr-operating-compare-grid .ctr-result-box{
    min-width:0 !important;
    width:100% !important;
    height:82px !important;
    min-height:82px !important;
    padding:10px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    align-items:center !important;
    justify-content:flex-start !important;
}
.ctr-bp-wrap .ctr-operating-compare-grid .ctr-result-box strong{
    display:block !important;
    width:100% !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    line-height:1.15 !important;
    font-size:16px !important;
}
.ctr-bp-wrap .ctr-operating-capacity-strip{
    margin-top:10px;
    border:1px solid var(--ctr-line);
    border-radius:7px;
    background:#f7f8fa;
    padding:9px 11px;
    font-size:11px;
    line-height:1.25;
}
.ctr-bp-wrap .ctr-operating-capacity-strip strong{font-size:13px}
.ctr-bp-wrap .ctr-operating-setup{font-size:15px !important}





/* ============================================================
 * v0.6.36 - PAGINA INDICE: MARGINE SUPERIORE REALE 15 MM
 * ============================================================ */



/* ============================================================
 * v0.6.39 - CORREZIONI GRAFICHE CONSERVATIVE
 * - margine superiore A4 reale 15 mm su OGNI pagina;
 * - 5 mm di respiro interno nei box di contenuto/testo;
 * - 4 mm anche quando l'ultimo elemento del box è un'immagine;
 * - stampa: stessa geometria della vista a video, senza compressioni dedicate;
 * - nessuna modifica a pulsanti, campi input o logica economica.
 * ============================================================ */

/* Box di contenuto: il padding riguarda il contenitore, non input o pulsanti. */
.ctr-bp-wrap .ctr-card,
.ctr-bp-wrap .ctr-index-page,
.ctr-bp-wrap .ctr-bp-head,
.ctr-bp-wrap .ctr-project-visual,
.ctr-bp-wrap .ctr-start-support,
.ctr-bp-wrap .ctr-market-role,
.ctr-bp-wrap .ctr-authorization-step{
    padding:5mm !important;
    box-sizing:border-box !important;
}

/* Mantiene 4 mm di aria dal bordo quando l'ultimo contenuto è visivo. */
.ctr-bp-wrap .ctr-card > img:last-child,
.ctr-bp-wrap .ctr-card > picture:last-child,
.ctr-bp-wrap .ctr-card > figure:last-child,
.ctr-bp-wrap .ctr-card > .ctr-number-break-images:last-child,
.ctr-bp-wrap .ctr-card > .ctr-imc-cover-image:last-child,
.ctr-bp-wrap .ctr-card > .ctr-mobile-network-figure:last-child,
.ctr-bp-wrap .ctr-card > .ctr-project-image:last-child,
.ctr-bp-wrap .ctr-index-page > img:last-child,
.ctr-bp-wrap .ctr-index-page > .ctr-imc-cover-image:last-child{
    margin-bottom:4mm !important;
}

/* I due prospetti del confronto hanno esattamente la stessa matrice 4 colonne. */
.ctr-bp-wrap .ctr-operating-compare-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:4mm !important;
}
.ctr-bp-wrap .ctr-operating-compare-grid .ctr-result-label{
    min-height:12mm !important;
    height:12mm !important;
    line-height:1.2 !important;
    align-items:flex-end !important;
}
.ctr-bp-wrap .ctr-operating-compare-grid .ctr-result-box{
    height:22mm !important;
    min-height:22mm !important;
    padding:3mm !important;
}
.ctr-bp-wrap .ctr-operating-compare-grid .ctr-operating-setup{
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    text-align:left !important;
}




/* ============================================================
 * v0.6.40 - STAMPA A4: COPERTINA / INDICE / MARGINI / PAGINE
 * Intervento conservativo: nessuna modifica a comandi, campi o calcoli.
 * ============================================================ */
.ctr-index-visual-summary{
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4mm;margin-top:10mm;
}
.ctr-index-visual-summary>div{
    border:1px solid var(--ctr-line);border-radius:8px;background:#f7f8fa;
    min-height:24mm;padding:4mm;display:flex;flex-direction:column;justify-content:center;text-align:center;
}
.ctr-index-visual-summary strong{font:700 18px/1.1 Arial,sans-serif;color:#162b45}
.ctr-index-visual-summary span{margin-top:2mm;font:400 12px/1.2 Arial,sans-serif;color:#5c6775}
.ctr-imc-after-idea{margin-top:4mm!important;margin-bottom:4mm!important;padding:4mm!important;background:#fff!important;border-radius:8px!important;}
.ctr-imc-after-idea img{display:block!important;margin:0 auto!important;max-width:72%!important;width:72%!important;height:auto!important;}




/* ============================================================
 * v0.6.43 - STAMPA CONSERVATIVA / RIPRISTINO
 * Base: v0.6.41. Non ricostruisce il documento e non modifica
 * griglie, bottoni, dati o calcoli. Usa un solo margine fisico A4
 * (15 mm) e crea i 30 mm superiori delle pagine interne tramite
 * spazio nel flusso, così il browser non deve reinterpretare
 * pagine con margini diversi.
 * ============================================================ */



/* ============================================================
 * v0.6.44 - CORREZIONE MIRATA STAMPA
 * 1) immagini locali via URL HTTP (gestito in PHP sopra)
 * 2) numerazione nativa 
.ctr-bp-wrap .ctr-cost-total-under-accountant{
    grid-column:1!important;
    grid-row:2!important;
    min-height:64px!important;
    height:auto!important;
    align-self:start!important;
}
.ctr-bp-wrap .ctr-economic-common-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.ctr-bp-wrap .ctr-economic-scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
.ctr-bp-wrap .ctr-economic-scenario-grid .ctr-kpi{min-width:0!important;}




/* ============================================================
 * v0.6.46 - CORREZIONI MIRATE DI STAMPA
 * 1) immagini tecniche locali: nessun filtro Be Green può intercettarle
 * 2) footer a 15 mm dal bordo sinistro e 10 mm dal bordo inferiore
 * 3) i singoli blocchi di testo non vengono spezzati tra due pagine
 * 4) nessuna modifica a bottoni, calcoli, griglie o dati
 * ============================================================ */



/* ============================================================
 * v0.6.47 - PAGINE VISIBILI A VIDEO + CAPITOLO 5 CULTURALE
 * In visualizzazione vengono mostrati i confini delle pagine che
 * corrispondono ai salti capitolo già usati in stampa.
 * Nessuna modifica ai bottoni o al motore economico.
 * ============================================================ */
.ctr-culture-card{padding:5mm!important;}
.ctr-culture-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4mm;margin:5mm 0;}
.ctr-culture-pillar{background:#f5f6f7;border:1px solid #dfe3e6;border-radius:8px;padding:4mm;min-width:0;}
.ctr-culture-pillar strong{display:block;margin-bottom:2.5mm;font-family:Arial,Helvetica,sans-serif!important;font-size:12pt!important;font-weight:700!important;line-height:1.35!important;letter-spacing:0!important;}
.ctr-culture-pillar p{margin:0;font-family:Arial,Helvetica,sans-serif!important;font-size:12pt!important;font-weight:400!important;line-height:1.5!important;}
.ctr-culture-closing{background:#edf5fb;border-left:4px solid #6e9ec2;border-radius:8px;padding:4mm;margin-top:4mm;}
.ctr-culture-card .ctr-source-note{margin-top:4mm;font-size:10px;color:#5e6870;}






/* ============================================================
 * V0.6.51 - UNICO BLOCCO DI STAMPA
 * Tutti i precedenti 





/* v0.6.56 - STAMPA FOTOCOPIA DELLA VIDEATA: nessun layout alternativo */
@page { size: A4 portrait; margin: 0; }
html, body { margin:0 !important; padding:0 !important; background:#fff !important; }
#ctr-clean-print-root { margin:0 !important; padding:0 !important; }
.ctr-bp-wrap { margin:0 auto !important; max-width:none !important; width:210mm !important; min-width:210mm !important; box-sizing:border-box !important; }
.ctr-bp-toolbar,.ctr-no-print,.ctr-external-editor-panel{display:none !important;}
.ctr-cover-page{display:block !important; break-after:page !important; page-break-after:always !important; margin:0 !important;}
.ctr-cover-page img{display:block !important; width:100% !important; height:auto !important; max-width:100% !important; opacity:1 !important; visibility:visible !important;}
.ctr-opening-page{display:block !important;}
img{opacity:1 !important; visibility:visible !important;}
*{-webkit-print-color-adjust:exact !important; print-color-adjust:exact !important;}

/* ============================================================
 * v0.7.0 - CONTRATTO DI STAMPA UNICO
 * ============================================================ */
@page{size:A4 portrait;margin:20mm 20mm 19mm 20mm;}
html,body{margin:0!important;padding:0!important;background:#fff!important;}
#ctr-clean-print-root{margin:0!important;padding:0!important;}
.ctr-bp-wrap{width:170mm!important;min-width:170mm!important;max-width:170mm!important;margin:0 auto!important;padding:0!important;box-sizing:border-box!important;background:#fff!important;box-shadow:none!important;}
.ctr-bp-toolbar,.ctr-no-print,.ctr-external-editor-panel,.ctr-element-tools,.ctr-screen-page-guides{display:none!important;}
.ctr-cover-page{display:block!important;break-after:page!important;page-break-after:always!important;}
.ctr-opening-page[data-screen-page]::before,.ctr-opening-page[data-screen-page]::after,.ctr-section-title[data-screen-page]::before,.ctr-section-title[data-screen-page]::after{content:none!important;display:none!important;}
.ctr-section-title{break-after:avoid!important;page-break-after:avoid!important;}
.ctr-card,.ctr-process-wide,.ctr-process-flow,.ctr-technical-footer,.ctr-table-wrap,.ctr-index-visual-summary,.ctr-number-break-image,.ctr-imc-cover-image,.ctr-imc-after-idea,.ctr-chapter4-grid,.ctr-culture-pillars,.ctr-kpi-grid,.ctr-operating-compare-grid,.ctr-authorization-step,.ctr-start-support,figure{break-inside:avoid!important;page-break-inside:avoid!important;}
img{visibility:visible!important;opacity:1!important;filter:none!important;max-width:100%!important;}
*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}
.ctr-commercial-heading-merged{display:none!important;}
.ctr-table:has([data-projection-body]){width:100%!important;table-layout:fixed!important;}
.ctr-table:has([data-projection-body]) th:nth-child(1),.ctr-table:has([data-projection-body]) td:nth-child(1){width:16%!important;}
.ctr-table:has([data-projection-body]) th:nth-child(2),.ctr-table:has([data-projection-body]) td:nth-child(2){width:18%!important;}
.ctr-table:has([data-projection-body]) th:nth-child(3),.ctr-table:has([data-projection-body]) td:nth-child(3){width:20%!important;}
.ctr-table:has([data-projection-body]) th:nth-child(4),.ctr-table:has([data-projection-body]) td:nth-child(4){width:29%!important;}
.ctr-table:has([data-projection-body]) th:nth-child(5),.ctr-table:has([data-projection-body]) td:nth-child(5){width:17%!important;}


/* ============================================================
 * v0.8.2 - INDICE + CONFINI A4 REALI
 * L'immagine IMC sostituisce i tre KPI dell'indice.
 * La paginazione JS ancora ogni capitolo a una nuova pagina A4.
 * ============================================================ */
.ctr-index-visual-summary{display:none!important;}
.ctr-index-imc-image{
    margin-top:8mm!important;
    padding:0!important;
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    box-sizing:border-box!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
}
.ctr-index-imc-image img{
    display:block!important;
    width:auto!important;
    max-width:72%!important;
    max-height:72mm!important;
    height:auto!important;
    object-fit:contain!important;
    margin:0 auto!important;
}


/* ============================================================
 * v0.8.4 - STAMPA PULITA: UN SOLO MOTORE DI PAGINAZIONE
 * La stampa non riutilizza più i gap A4 calcolati a video.
 * Il browser pagina il flusso pulito una sola volta.
 * ============================================================ */
@page{
  size:A4 portrait;
  margin:15mm 15mm 15mm 15mm;
  @bottom-left{
    content:"Cremation Technology Srl - Riservato";
    font:400 8pt/1 Arial,Helvetica,sans-serif;
    color:#4f5962;
  }
  @bottom-center{
    content:"Pagina " counter(page);
    font:700 8pt/1 Arial,Helvetica,sans-serif;
    color:#4f5962;
  }
}
@page cover{
  size:A4 portrait;
  margin:0;
  @bottom-left{content:none;}
  @bottom-center{content:none;}
}
html,body{margin:0!important;padding:0!important;background:#fff!important;}
#ctr-clean-print-root{margin:0!important;padding:0!important;}
.ctr-bp-wrap{
  width:180mm!important;
  min-width:180mm!important;
  max-width:180mm!important;
  margin:0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
  background:#fff!important;
  box-shadow:none!important;
}
.ctr-cover-page{
  page:cover!important;
  width:210mm!important;
  min-width:210mm!important;
  max-width:210mm!important;
  height:297mm!important;
  min-height:297mm!important;
  margin-left:-15mm!important;
  margin-right:-15mm!important;
  break-after:page!important;
  page-break-after:always!important;
}
.ctr-opening-page{
  min-height:0!important;
  height:auto!important;
  break-after:page!important;
  page-break-after:always!important;
}
/* Ogni capitolo parte su una nuova pagina. L'etichetta della parte economica
 * resta agganciata al titolo successivo e non genera una pagina propria. */
.ctr-section-title:not(.ctr-economic-divider){
  break-before:page!important;
  page-break-before:always!important;
  break-after:avoid-page!important;
  page-break-after:avoid!important;
}
.ctr-economic-divider{
  break-before:page!important;
  page-break-before:always!important;
  break-after:avoid-page!important;
  page-break-after:avoid!important;
}
.ctr-economic-divider + .ctr-section-title{
  break-before:auto!important;
  page-break-before:auto!important;
}
/* Titolo e primo blocco non devono separarsi. */
.ctr-section-title + .ctr-card,
.ctr-section-title + .ctr-bp-grid,
.ctr-section-title + .ctr-project-visual,
.ctr-section-title + .ctr-process-wide,
.ctr-section-title + .ctr-table-wrap,
.ctr-section-title + figure{
  break-before:avoid-page!important;
  page-break-before:avoid!important;
}
.ctr-card,.ctr-project-visual,.ctr-process-wide,.ctr-process-flow,.ctr-technical-footer,
.ctr-table-wrap,.ctr-index-imc-image,.ctr-number-break-image,.ctr-imc-cover-image,
.ctr-chapter4-grid,.ctr-culture-pillars,.ctr-kpi-grid,.ctr-operating-compare-grid,
.ctr-authorization-step,.ctr-start-support,figure{
  break-inside:avoid-page!important;
  page-break-inside:avoid!important;
}
.ctr-bp-toolbar,.ctr-no-print,.ctr-external-editor-panel,.ctr-element-tools,.ctr-screen-page-guides{display:none!important;}
img{visibility:visible!important;opacity:1!important;filter:none!important;max-width:100%!important;}
*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}
\n\n/* ============================================================\n * v0.8.5 - CONTRATTO STAMPA DEFINITIVO PER ACADEMY ENGINE\n * Nessun gap derivato dalla preview video. I grandi contenitori possono\n * proseguire sulla pagina successiva; restano atomici solo i moduli piccoli.\n * ============================================================ */\n@page{\n  size:A4 portrait;\n  margin:15mm 15mm 15mm 15mm;\n  @bottom-left{content:"Cremation Technology Srl - Riservato";font:400 8pt/1 Arial,Helvetica,sans-serif;color:#4f5962;}\n  @bottom-center{content:"Pagina " counter(page);font:700 8pt/1 Arial,Helvetica,sans-serif;color:#4f5962;}\n}\n@page:first{\n  margin:0;\n  @bottom-left{content:none;}\n  @bottom-center{content:none;}\n}\nhtml,body,#ctr-clean-print-root{margin:0!important;padding:0!important;background:#fff!important;}\n.ctr-bp-wrap{width:180mm!important;min-width:180mm!important;max-width:180mm!important;margin:0 auto!important;padding:0!important;box-shadow:none!important;background:#fff!important;}\n.ctr-cover-page{width:210mm!important;min-width:210mm!important;max-width:210mm!important;height:297mm!important;min-height:297mm!important;margin-left:-15mm!important;margin-right:-15mm!important;break-after:page!important;page-break-after:always!important;}\n.ctr-opening-page{min-height:0!important;height:auto!important;break-after:page!important;page-break-after:always!important;}\n.ctr-section-title:not(.ctr-economic-divider){break-before:page!important;page-break-before:always!important;break-after:avoid!important;page-break-after:avoid!important;margin-top:0!important;padding-top:0!important;}\n.ctr-economic-divider{break-before:page!important;page-break-before:always!important;break-after:avoid!important;page-break-after:avoid!important;}\n.ctr-economic-divider + .ctr-section-title{break-before:auto!important;page-break-before:auto!important;}\n/* I grandi box NON devono essere spostati integralmente creando mezza pagina vuota. */\n.ctr-card,.ctr-project-visual,.ctr-process-wide,.ctr-process-flow,.ctr-technical-footer,.ctr-table-wrap,.ctr-chapter4-grid,.ctr-culture-pillars,.ctr-kpi-grid,.ctr-operating-compare-grid,figure{break-inside:auto!important;page-break-inside:auto!important;}\n/* Atomici solo gli elementi realmente piccoli. */\np,li,tr,img,.ctr-project-kpi,.ctr-project-pill,.ctr-culture-pillar,.ctr-authorization-step,.ctr-start-support,.ctr-kpi,.ctr-field,.ctr-index-imc-image{break-inside:avoid!important;page-break-inside:avoid!important;}\n.ctr-bp-toolbar,.ctr-no-print,.ctr-external-editor-panel,.ctr-element-tools,.ctr-screen-page-guides,[data-academy-editor-ui]{display:none!important;}\n[data-ctr-pagination-gap]{margin-top:0!important;}\nimg{visibility:visible!important;opacity:1!important;filter:none!important;max-width:100%!important;}\n*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}\n

/* ============================================================
 * v0.8.6 - CONFRONTO LEGGIBILE + TARiffe SPECULARI
 * ============================================================ */
.ctr-bp-wrap .ctr-operating-compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4mm!important;}
.ctr-bp-wrap .ctr-operating-compare-grid .ctr-result-label{height:auto!important;min-height:10mm!important;align-items:flex-end!important;overflow-wrap:normal!important;word-break:normal!important;}
.ctr-bp-wrap .ctr-operating-compare-grid .ctr-result-box{height:auto!important;min-height:18mm!important;padding:3mm!important;overflow:visible!important;}
.ctr-bp-wrap .ctr-operating-compare-grid .ctr-result-box strong{font-size:18px!important;overflow-wrap:normal!important;word-break:normal!important;}
.ctr-bp-wrap .ctr-operating-compare-grid .ctr-operating-setup{font-size:16px!important;line-height:1.2!important;}
.ctr-bp-wrap .ctr-tariff-two-col{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:100%!important;}
.ctr-bp-wrap .ctr-tariff-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4mm!important;}
.ctr-bp-wrap .ctr-tariff-result-grid .ctr-result-label{min-height:10mm!important;height:auto!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;}
.ctr-bp-wrap .ctr-tariff-result-grid .ctr-result-box{min-height:18mm!important;height:auto!important;padding:3mm!important;}
@media(max-width:700px){.ctr-bp-wrap .ctr-operating-compare-grid,.ctr-bp-wrap .ctr-tariff-result-grid,.ctr-bp-wrap .ctr-tariff-two-col{grid-template-columns:1fr!important;}}

/* v0.8.6 - PAGINAZIONE COMPATTA: nessun salto automatico a ogni capitolo. */
.ctr-section-title:not(.ctr-economic-divider),.ctr-economic-divider{break-before:auto!important;page-break-before:auto!important;break-after:avoid!important;page-break-after:avoid!important;}
.ctr-economic-divider + .ctr-section-title{break-before:auto!important;page-break-before:auto!important;}
/* ============================================================
 * v0.9.1 - CAPITOLO 2 MODULARE / A4
 * La foto utilizza tutta la larghezza disponibile; descrizione e
 * didascalia sono sotto l'immagine. Ogni gruppo e' un blocco A4
 * autonomo, cosi' il motore Academy puo' spostarlo interamente.
 * ============================================================ */
.ctr-bp-wrap .ctr-technical-hero-card,
.ctr-bp-wrap .ctr-technical-facts-card,
.ctr-bp-wrap .ctr-technical-specs-card,
.ctr-bp-wrap .ctr-emissions-card,
.ctr-bp-wrap .ctr-process-card,
.ctr-bp-wrap .ctr-technical-footer-card{
    width:100%!important;max-width:100%!important;box-sizing:border-box!important;
    margin:0 0 4mm!important;padding:5mm!important;min-height:0!important;height:auto!important;
}
.ctr-bp-wrap .ctr-technical-hero-card h2{margin:0 0 4mm!important;}
.ctr-bp-wrap .ctr-technical-image-wide{width:100%!important;max-width:100%!important;margin:0!important;}
.ctr-bp-wrap .ctr-technical-image-wide .ctr-technical-image-square{
    width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:718/476!important;
    border-radius:8px!important;overflow:hidden!important;background:#fff!important;
}
.ctr-bp-wrap .ctr-technical-image-wide .ctr-technical-image-square img{
    width:100%!important;height:100%!important;object-fit:contain!important;display:block!important;
}
.ctr-bp-wrap .ctr-technical-image-wide figcaption{
    margin:2mm 0 0!important;text-align:center!important;font:400 10px/1.25 Arial,Helvetica,sans-serif!important;color:#62676c!important;
}
.ctr-bp-wrap .ctr-technical-caption{margin:4mm 0 0!important;width:100%!important;max-width:100%!important;}
.ctr-bp-wrap .ctr-technical-facts-card .ctr-technical-quickfacts-row{margin:0!important;}
.ctr-bp-wrap .ctr-technical-specs-card .ctr-technical-grid-three{margin:0!important;}
.ctr-bp-wrap .ctr-emissions-card .ctr-emissions-wide{margin:0!important;padding:3mm 4mm!important;min-height:0!important;height:auto!important;}
.ctr-bp-wrap .ctr-process-card .ctr-process-wide{margin:0!important;min-height:0!important;height:auto!important;}
.ctr-bp-wrap .ctr-technical-footer-card .ctr-technical-footer{margin:0!important;}


/* ============================================================
 * v0.9.2 - TABELLA PROIEZIONE ECONOMICA SENZA SCROLL
 * La tabella deve stare interamente nell'area utile del documento.
 * ============================================================ */
.ctr-bp-wrap .ctr-table-wrap:has([data-projection-body]){
  width:100%!important;max-width:100%!important;overflow-x:hidden!important;overflow-y:visible!important;box-sizing:border-box!important;
}
.ctr-bp-wrap .ctr-table:has([data-projection-body]){
  width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important;box-sizing:border-box!important;
}
.ctr-bp-wrap .ctr-table:has([data-projection-body]) th,
.ctr-bp-wrap .ctr-table:has([data-projection-body]) td{
  min-width:0!important;box-sizing:border-box!important;padding:8px 7px!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;
}
.ctr-bp-wrap .ctr-table:has([data-projection-body]) th:nth-child(1),
.ctr-bp-wrap .ctr-table:has([data-projection-body]) td:nth-child(1){width:13%!important;text-align:left!important;}
.ctr-bp-wrap .ctr-table:has([data-projection-body]) th:nth-child(2),
.ctr-bp-wrap .ctr-table:has([data-projection-body]) td:nth-child(2){width:18%!important;}
.ctr-bp-wrap .ctr-table:has([data-projection-body]) th:nth-child(3),
.ctr-bp-wrap .ctr-table:has([data-projection-body]) td:nth-child(3){width:19%!important;}
.ctr-bp-wrap .ctr-table:has([data-projection-body]) th:nth-child(4),
.ctr-bp-wrap .ctr-table:has([data-projection-body]) td:nth-child(4){width:32%!important;}
.ctr-bp-wrap .ctr-table:has([data-projection-body]) th:nth-child(5),
.ctr-bp-wrap .ctr-table:has([data-projection-body]) td:nth-child(5){width:18%!important;}
@media print{
  .ctr-table-wrap:has([data-projection-body]){overflow:hidden!important;width:100%!important;max-width:100%!important;}
  .ctr-table:has([data-projection-body]){width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;}
  .ctr-table:has([data-projection-body]) th,.ctr-table:has([data-projection-body]) td{padding:7px 6px!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important;}
  .ctr-table:has([data-projection-body]) th:nth-child(1),.ctr-table:has([data-projection-body]) td:nth-child(1){width:13%!important;}
  .ctr-table:has([data-projection-body]) th:nth-child(2),.ctr-table:has([data-projection-body]) td:nth-child(2){width:18%!important;}
  .ctr-table:has([data-projection-body]) th:nth-child(3),.ctr-table:has([data-projection-body]) td:nth-child(3){width:19%!important;}
  .ctr-table:has([data-projection-body]) th:nth-child(4),.ctr-table:has([data-projection-body]) td:nth-child(4){width:32%!important;}
  .ctr-table:has([data-projection-body]) th:nth-child(5),.ctr-table:has([data-projection-body]) td:nth-child(5){width:18%!important;}
}


/* ============================================================
 * v0.9.5 - INDICE A4 A SCALA 100% / NESSUNA RIDUZIONE
 * L'indice deve sfruttare tutta l'area utile A4 sia a video sia
 * nell'anteprima di stampa. Le vecchie larghezze/riduzioni sono
 * neutralizzate qui in modo definitivo.
 * ============================================================ */
.ctr-opening-page{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    transform:none!important;
    zoom:1!important;
}
.ctr-opening-page>.ctr-bp-head{
    display:flex!important;
    width:100%!important;
    max-width:none!important;
    transform:none!important;
    zoom:1!important;
}
.ctr-opening-page .ctr-index-page{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0 0 4mm!important;
    padding:4mm 0!important;
    transform:none!important;
    zoom:1!important;
}
.ctr-opening-page .ctr-index-list{
    width:100%!important;
    max-width:none!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:8mm!important;
    row-gap:1.5mm!important;
}
.ctr-opening-page .ctr-index-list li,
.ctr-opening-page .ctr-index-list .idx-n{
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:12pt!important;
    line-height:1.3!important;
}
.ctr-opening-page .ctr-index-list li{
    min-height:7mm!important;
    padding:1mm 0 1.5mm!important;
}
.ctr-index-imc-image{
    width:100%!important;
    max-width:none!important;
    margin:4mm 0 0!important;
    transform:none!important;
    zoom:1!important;
}
.ctr-index-imc-image img{
    width:auto!important;
    max-width:86%!important;
    max-height:78mm!important;
    margin:0 auto!important;
}
@media screen and (min-width:901px){
    .abg-screen-a4-root > .ctr-opening-page{
        width:210mm!important;
        min-width:210mm!important;
        max-width:210mm!important;
        height:297mm!important;
        min-height:297mm!important;
        max-height:297mm!important;
        padding:15mm 15mm 20mm!important;
        margin:0 auto 8mm!important;
        overflow:hidden!important;
        transform:none!important;
        zoom:1!important;
    }
}

@media print{
  .ctr-bp-wrap .ctr-opening-page{
      width:180mm!important;
      min-width:180mm!important;
      max-width:180mm!important;
      height:auto!important;
      min-height:0!important;
      margin:0!important;
      padding:0!important;
      transform:none!important;
      zoom:1!important;
  }
  .ctr-bp-wrap .ctr-opening-page .ctr-index-page{
      width:100%!important;
      max-width:none!important;
      margin:0 0 4mm!important;
      padding:4mm 0!important;
  }
  .ctr-bp-wrap .ctr-opening-page>.ctr-bp-head{display:flex!important;}
}


/* ============================================================
 * v0.9.7 - CONFRONTO OPERATIVO: ETICHETTE COMPATTE
 * Le diciture Anno 1 / Anno a regime sono gia nei titoli dei due prospetti.
 * Riduzione tipografica mirata per evitare sovrapposizioni.
 * ============================================================ */
.ctr-bp-wrap .ctr-operating-compare-grid .ctr-result-label{
    font-size:10px !important;
    line-height:1.12 !important;
    min-height:8mm !important;
    height:8mm !important;
    margin-bottom:2mm !important;
    align-items:flex-end !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
}
.ctr-bp-wrap .ctr-operating-compare-grid .ctr-result-box strong{
    font-size:14px !important;
    line-height:1.1 !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
}
.ctr-bp-wrap .ctr-operating-compare-grid .ctr-operating-setup{
    font-size:13px !important;
    line-height:1.12 !important;
}


/* ============================================================
 * v0.9.8 - PROSPETTI TARIFFE / CAPACITA: DIMENSIONI COMPATTE A4
 * I valori duplicati sono visualizzati in due prospetti simmetrici senza
 * occupare altezza inutile. Le etichette restano leggibili e non invadono
 * i box numerici.
 * ============================================================ */
.ctr-bp-wrap .ctr-tariff-scenarios{
    align-items:start!important;
}
.ctr-bp-wrap .ctr-tariff-scenarios > .ctr-indicators-card{
    padding:4mm!important;
    min-height:0!important;
    height:auto!important;
}
.ctr-bp-wrap .ctr-tariff-scenarios > .ctr-indicators-card > h2{
    font-size:16px!important;
    line-height:1.15!important;
    margin:0 0 3mm!important;
}
.ctr-bp-wrap .ctr-tariff-result-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:3mm!important;
}
.ctr-bp-wrap .ctr-tariff-result-grid .ctr-result-item{
    min-width:0!important;
}
.ctr-bp-wrap .ctr-tariff-result-grid .ctr-result-label{
    font-size:10px!important;
    line-height:1.15!important;
    min-height:6mm!important;
    height:auto!important;
    margin:0 0 1.5mm!important;
    display:flex!important;
    align-items:flex-end!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
}
.ctr-bp-wrap .ctr-tariff-result-grid .ctr-result-box{
    min-height:14mm!important;
    height:14mm!important;
    padding:2.5mm!important;
    display:flex!important;
    align-items:center!important;
}
.ctr-bp-wrap .ctr-tariff-result-grid .ctr-result-box strong{
    font-size:15px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
}
.ctr-bp-wrap .ctr-tariffs-card{
    padding:4mm!important;
}
.ctr-bp-wrap .ctr-tariffs-card > h2{
    font-size:16px!important;
    margin-bottom:3mm!important;
}
.ctr-bp-wrap .ctr-tariff-two-col .ctr-field label{
    font-size:10px!important;
}
.ctr-bp-wrap .ctr-tariff-two-col input{
    min-height:12mm!important;
    height:12mm!important;
    font-size:15px!important;
}


/* ============================================================
 * v0.9.9 - STAMPA A4 DEFINITIVA PER ACADEMY ENGINE 1.2.1
 * Il motore consegna alla stampa un DOM lineare, senza fogli A4 video.
 * Copertina = prima pagina; indice = pagina 2; contenuto 180 mm reali.
 * ============================================================ */
@page{size:A4 portrait;margin:15mm 15mm 15mm 15mm;}
@page:first{size:A4 portrait;margin:0;}
html,body,#ctr-clean-print-root{margin:0!important;padding:0!important;width:auto!important;min-width:0!important;background:#fff!important;}
#ctr-clean-print-root>.ctr-bp-wrap,
.ctr-bp-wrap{width:180mm!important;min-width:180mm!important;max-width:180mm!important;margin:0 auto!important;padding:0!important;transform:none!important;zoom:1!important;box-shadow:none!important;box-sizing:border-box!important;}
.ctr-cover-page{display:block!important;position:relative!important;width:210mm!important;min-width:210mm!important;max-width:210mm!important;height:297mm!important;min-height:297mm!important;max-height:297mm!important;margin:0 -15mm!important;padding:0!important;overflow:hidden!important;break-before:auto!important;page-break-before:auto!important;break-after:page!important;page-break-after:always!important;transform:none!important;zoom:1!important;}
.ctr-cover-page img{display:block!important;width:210mm!important;height:297mm!important;max-width:210mm!important;max-height:297mm!important;object-fit:contain!important;margin:0!important;}
.ctr-opening-page{display:block!important;width:180mm!important;min-width:180mm!important;max-width:180mm!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;break-before:auto!important;page-break-before:auto!important;break-after:page!important;page-break-after:always!important;transform:none!important;zoom:1!important;}
.ctr-opening-page .ctr-index-page{width:180mm!important;max-width:180mm!important;margin:0!important;padding:0!important;transform:none!important;zoom:1!important;}
.ctr-opening-page .ctr-index-list{width:100%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:2mm 7mm!important;}
.ctr-opening-page .ctr-index-list li,.ctr-opening-page .ctr-index-list .idx-n{font-size:12pt!important;line-height:1.25!important;}
.ctr-index-imc-image img{max-width:88%!important;max-height:82mm!important;}
.abg-screen-sheet,.abg-screen-footer,.abg-screen-page-badge{display:none!important;}
.ctr-section-title,.ctr-economic-divider{break-before:auto!important;page-break-before:auto!important;break-after:avoid!important;page-break-after:avoid!important;}
.ctr-card,.ctr-cost-card,.ctr-project-visual,.ctr-process-card,.ctr-emissions-card,.ctr-technical-facts-card,.ctr-technical-specs-card,.ctr-technical-footer-card{break-inside:avoid!important;page-break-inside:avoid!important;}
.ctr-bp-wrap .ctr-cost-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5mm!important;}
.ctr-bp-wrap .ctr-cost-group .ctr-field-grid,.ctr-bp-wrap .ctr-cost-group .ctr-consultant-total-grid{grid-template-columns:1fr!important;gap:3mm!important;}
.ctr-bp-wrap .ctr-cost-group .ctr-field label{font-size:10pt!important;line-height:1.15!important;}
.ctr-bp-wrap .ctr-cost-group .ctr-field input{height:12mm!important;font-size:11pt!important;}
.ctr-bp-wrap .ctr-cost-total-under-accountant strong{font-size:15pt!important;}
*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}
\n\n/* ============================================================\n * v0.9.13 - CONTRATTO A4 PER ACADEMY: SOLO CORREZIONI LOCALI\n * Copertina 210x297, corpo 180 mm, indice e immagine sempre visibili.\n * ============================================================ */\n@page{size:A4 portrait;margin:15mm;}\n@page:first{size:A4 portrait;margin:0;}\n#ctr-clean-print-root>.ctr-bp-wrap{width:180mm!important;min-width:180mm!important;max-width:180mm!important;margin:0 auto!important;padding:0!important;transform:none!important;zoom:1!important;}\n#ctr-clean-print-root .ctr-cover-page{display:block!important;width:210mm!important;min-width:210mm!important;max-width:210mm!important;height:297mm!important;min-height:297mm!important;max-height:297mm!important;margin:0 -15mm!important;padding:0!important;overflow:hidden!important;break-after:page!important;page-break-after:always!important;}\n#ctr-clean-print-root .ctr-cover-page img{display:block!important;width:210mm!important;height:297mm!important;max-width:210mm!important;max-height:297mm!important;object-fit:contain!important;margin:0!important;visibility:visible!important;opacity:1!important;}\n#ctr-clean-print-root .ctr-opening-page{display:block!important;width:180mm!important;min-width:180mm!important;max-width:180mm!important;margin:0!important;padding:0!important;break-after:page!important;page-break-after:always!important;transform:none!important;zoom:1!important;}\n#ctr-clean-print-root .ctr-opening-page .ctr-index-page{display:block!important;width:180mm!important;min-width:180mm!important;max-width:180mm!important;margin:0 0 4mm!important;padding:4mm 0!important;transform:none!important;zoom:1!important;}\n#ctr-clean-print-root .ctr-opening-page .ctr-index-list{width:100%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:8mm!important;row-gap:1.5mm!important;}\n#ctr-clean-print-root .ctr-index-imc-image{display:flex!important;width:180mm!important;max-width:180mm!important;min-height:60mm!important;margin:4mm 0 0!important;align-items:center!important;justify-content:center!important;overflow:visible!important;}\n#ctr-clean-print-root .ctr-index-imc-image img{display:block!important;width:auto!important;height:auto!important;max-width:86%!important;max-height:78mm!important;visibility:visible!important;opacity:1!important;object-fit:contain!important;}\n#ctr-clean-print-root .ctr-print-running-head,#ctr-clean-print-root .ctr-bp-print-footer,#ctr-clean-print-root .ctr-command-source,#ctr-clean-print-root .ctr-no-print{display:none!important;}\n#ctr-clean-print-root .ctr-economic-common-grid .ctr-kpi strong{font-size:12.5pt!important;white-space:nowrap!important;letter-spacing:-.02em!important;}\n#ctr-clean-print-root .ctr-economic-scenario-grid .ctr-kpi strong{font-size:11pt!important;white-space:nowrap!important;letter-spacing:-.035em!important;}\n

/* ============================================================
 * v0.9.14 - TABELLA MERCATO: NESSUNA BARRA DI SCORRIMENTO
 * Mantiene la tabella entro la larghezza del contenitore in anteprima e stampa.
 * ============================================================ */
.ctr-bp-wrap .ctr-table-wrap.ctr-market-history-wrap{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  scrollbar-width:none!important;
  box-sizing:border-box!important;
}
.ctr-bp-wrap .ctr-table-wrap.ctr-market-history-wrap::-webkit-scrollbar{
  display:none!important;
  width:0!important;
  height:0!important;
}
.ctr-bp-wrap .ctr-market-history-wrap .ctr-market-history-table{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
.ctr-bp-wrap .ctr-market-history-wrap .ctr-market-history-table th,
.ctr-bp-wrap .ctr-market-history-wrap .ctr-market-history-table td{
  min-width:0!important;
  padding:5px 4px!important;
  font-size:10px!important;
  line-height:1.2!important;
}
/* ============================================================
 * v0.9.15 - ECONOMICO: VALORI 14PX SU UNA RIGA
 * - Sintesi economica: valori 14px grassetto
 * - Proiezione 5 anni: Periodo = Anno 1...Anno 5
 * - Numeri tabella proiezione 14px grassetto e nowrap
 * ============================================================ */
.ctr-bp-wrap .ctr-economic-common-grid .ctr-kpi strong,
.ctr-bp-wrap .ctr-economic-scenario-grid .ctr-kpi strong{
    font-size:14px!important;
    font-weight:700!important;
    line-height:1.15!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
}
.ctr-bp-wrap .ctr-table:has([data-projection-body]) tbody td{
    font-size:14px!important;
    font-weight:700!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
}
.ctr-bp-wrap .ctr-table:has([data-projection-body]) tbody td:first-child{
    white-space:nowrap!important;
}

/* ============================================================
 * v0.9.17 - ANALISI DI SENSIBILITA' + PUNTO DI PAREGGIO
 * ============================================================ */
.ctr-break-even-box{margin-top:4mm;border:1px solid #d7dde4;border-radius:8px;padding:4mm;background:#fafbfc}
.ctr-break-even-box h3{margin:0 0 3mm;font-size:14px}
.ctr-break-even-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3mm}
.ctr-break-even-grid>div{border:1px solid #d7dde4;border-radius:6px;padding:3mm;background:#fff}
.ctr-break-even-grid span{display:block;font-size:11px;font-weight:700;color:#5f6874;margin-bottom:1.5mm}
.ctr-break-even-grid strong{display:block;font-size:14px;font-weight:700;white-space:nowrap}
.ctr-break-even-box>p{font-size:11px;line-height:1.45;margin:3mm 0 0}

.ctr-sensitivity-card h2{margin-bottom:2mm}
.ctr-sensitivity-params{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:1px;background:#d7dde4;border:1px solid #d7dde4;margin:4mm 0;border-radius:6px;overflow:hidden}
.ctr-sensitivity-params>*{background:#fff;padding:2.2mm}
.ctr-sens-param-head{font-size:11px;font-weight:700;text-align:center;background:#f1f3f5}
.ctr-sens-param-head:first-child{text-align:left}
.ctr-sens-label{font-size:11px;font-weight:700;display:flex;align-items:center}
.ctr-sens-input{display:flex;align-items:center;justify-content:center;gap:1mm}
.ctr-sens-input input{width:60px;max-width:100%;font-size:12px;font-weight:700;text-align:right;padding:1.2mm;border:1px solid #cfd6dd;border-radius:4px;box-sizing:border-box}
.ctr-sens-input span{font-size:11px;font-weight:700}
.ctr-sens-base{background:#f7f8fa}
.ctr-sens-base input{background:#eef1f4}
.ctr-sensitivity-table{table-layout:fixed;width:100%}
.ctr-sensitivity-table th:first-child,.ctr-sensitivity-table td:first-child{width:28%;text-align:left}
.ctr-sensitivity-table th:not(:first-child),.ctr-sensitivity-table td:not(:first-child){text-align:right;white-space:nowrap}
.ctr-sensitivity-table td:not(:first-child){font-size:12px;font-weight:700}


/* ============================================================
 * v0.9.18 - FIX DEFINITIVO NUMERI ECONOMICI
 * Regola finale: 14px, grassetto, € + valore su una sola riga.
 * ============================================================ */
.ctr-bp-wrap .ctr-economic-scenario-grid .ctr-kpi{
    min-width:0!important;
    padding:9px!important;
}
.ctr-bp-wrap .ctr-economic-scenario-grid .ctr-kpi strong,
.ctr-bp-wrap .ctr-economic-common-grid .ctr-kpi strong{
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    font-size:14px!important;
    font-weight:700!important;
    line-height:1.15!important;
    letter-spacing:-0.01em!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
}
.ctr-bp-wrap .ctr-table:has([data-projection-body]) tbody td{
    font-size:14px!important;
    font-weight:700!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
}
.ctr-bp-wrap .ctr-table:has([data-projection-body]) tbody td:first-child{
    white-space:nowrap!important;
}


/* ============================================================
 * v0.9.19 - SENSIBILITA': SOLO PRUDENZIALE + BASE
 * Base = capacità massima tecnica (2 turni).
 * ============================================================ */
.ctr-capacity-limit-note{
    margin:4mm 0;
    padding:3.5mm 4mm;
    border:1px solid #cfd8e2;
    border-left:4px solid #8aa3b8;
    border-radius:6px;
    background:#f5f8fa;
    font-size:11px;
    line-height:1.45;
}
.ctr-sensitivity-params-two{
    grid-template-columns:1.35fr 1fr 1.2fr!important;
}
.ctr-sensitivity-table-two th:first-child,
.ctr-sensitivity-table-two td:first-child{
    width:34%!important;
}
.ctr-sensitivity-table-two th:not(:first-child),
.ctr-sensitivity-table-two td:not(:first-child){
    width:33%!important;
}


/* ============================================================
 * v0.9.21 - GRAFICO CAPACITA' PRODUTTIVA
 * Sostituisce il titolo isolato "Parte economico-finanziaria".
 * ============================================================ */
.ctr-capacity-transition-card{
    margin-top:4mm!important;
    padding:5mm!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
}
.ctr-capacity-transition-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:5mm;
    margin-bottom:4mm;
}
.ctr-capacity-transition-head h2{
    margin:0 0 1.5mm!important;
    font-size:16px!important;
    line-height:1.2!important;
}
.ctr-capacity-transition-head p{
    margin:0!important;
    max-width:125mm;
    font-size:11px!important;
    line-height:1.4!important;
}
.ctr-capacity-transition-badge{
    flex:0 0 31mm;
    border:1px solid #d5dce3;
    border-radius:6px;
    padding:2.5mm 3mm;
    text-align:center;
    background:#f5f7f9;
}
.ctr-capacity-transition-badge span{
    display:block;
    font-size:9px;
    font-weight:700;
    color:#68727e;
    margin-bottom:1mm;
}
.ctr-capacity-transition-badge strong{
    display:block;
    font-size:15px;
    font-weight:700;
    white-space:nowrap;
}
.ctr-capacity-chart{
    display:flex;
    flex-direction:column;
    gap:3mm;
}
.ctr-capacity-row{
    display:grid;
    grid-template-columns:48mm minmax(0,1fr) 18mm;
    align-items:center;
    gap:3mm;
}
.ctr-capacity-label strong{
    display:block;
    font-size:11px;
    line-height:1.2;
}
.ctr-capacity-label span{
    display:block;
    margin-top:1mm;
    font-size:9.5px;
    color:#68727e;
}
.ctr-capacity-label b{
    font-size:10px;
    color:#1e2b38;
}
.ctr-capacity-track{
    height:9mm;
    border:1px solid #d5dce3;
    border-radius:5px;
    background:#f3f5f7;
    overflow:hidden;
    position:relative;
}
.ctr-capacity-bar{
    height:100%;
    min-width:1px;
    border-radius:4px;
    transition:width .2s ease;
}
.ctr-capacity-bar-startup{
    background:linear-gradient(90deg,#aebcc8,#8399aa);
}
.ctr-capacity-bar-regime{
    background:linear-gradient(90deg,#7f96a8,#536f84);
}
.ctr-capacity-value{
    text-align:right;
    font-size:13px;
    font-weight:700;
    white-space:nowrap;
}
.ctr-capacity-technical-note{
    margin-top:4mm;
    padding-top:3mm;
    border-top:1px solid #d9dfe5;
    font-size:10px;
    line-height:1.4;
    color:#4f5964;
}


/* ============================================================
 * v0.9.22 - IMPAGINAZIONE BREAK-EVEN + ADEGUAMENTO 2%
 * ============================================================ */
.ctr-keep-together,
.ctr-break-even-box{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    -webkit-column-break-inside:avoid!important;
}
.ctr-break-even-box{
    margin-top:4mm!important;
    margin-bottom:4mm!important;
}
.ctr-break-even-box > p:last-child{
    margin-bottom:0!important;
}
.ctr-growth-note{
    margin-top:3mm!important;
    margin-bottom:0!important;
}


/* ============================================================
 * v0.9.23 - SINTESI ECONOMICA SPEZZATA IN BLOCCHI A4 REALI
 * ============================================================ */
.ctr-section-title-economic{margin-bottom:2mm!important;}
.ctr-economic-summary-card{margin-top:0!important;margin-bottom:4mm!important;break-inside:avoid!important;page-break-inside:avoid!important;}
.ctr-economic-scenarios-card{margin-top:0!important;margin-bottom:4mm!important;padding:4mm!important;break-inside:avoid!important;page-break-inside:avoid!important;}
.ctr-economic-scenarios-card .ctr-economic-scenarios{margin-top:0!important;}
.ctr-economic-break-even-card{margin-top:0!important;margin-bottom:4mm!important;padding:4mm!important;break-inside:avoid!important;page-break-inside:avoid!important;}
.ctr-economic-break-even-card .ctr-roi-definition{margin:0 0 3mm!important;}
.ctr-economic-break-even-card .ctr-break-even-box{margin:0!important;}


/* ============================================================
 * v0.9.24 - CONTROLLO GENERALE IMPAGINAZIONE DOCUMENTO
 * - nessuna barra di scorrimento nelle tabelle
 * - titoli numerati sempre uniti al primo blocco
 * ============================================================ */
.ctr-bp-wrap .ctr-table-wrap,
.ctr-bp-wrap .ctr-table-wrap.ctr-market-history-wrap,
.ctr-bp-wrap .ctr-sensitivity-table-wrap{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    overflow:visible!important;
    overflow-x:visible!important;
    overflow-y:visible!important;
    scrollbar-width:none!important;
    box-sizing:border-box!important;
}
.ctr-bp-wrap .ctr-table-wrap::-webkit-scrollbar,
.ctr-bp-wrap .ctr-table-wrap.ctr-market-history-wrap::-webkit-scrollbar,
.ctr-bp-wrap .ctr-sensitivity-table-wrap::-webkit-scrollbar{
    display:none!important;
    width:0!important;
    height:0!important;
}
.ctr-bp-wrap .ctr-table{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    box-sizing:border-box!important;
}
.ctr-bp-wrap .ctr-section-title{
    break-after:avoid-page!important;
    page-break-after:avoid!important;
}
.ctr-bp-wrap .ctr-section-title + .ctr-card,
.ctr-bp-wrap .ctr-section-title + .ctr-bp-grid,
.ctr-bp-wrap .ctr-section-title + .ctr-table-wrap,
.ctr-bp-wrap .ctr-section-title + figure,
.ctr-bp-wrap .ctr-section-title + .ctr-project-visual,
.ctr-bp-wrap .ctr-section-title + .ctr-process-wide{
    break-before:avoid-page!important;
    page-break-before:avoid!important;
}


/* ============================================================
 * v0.9.25 - CAPITOLO 16 ANALISI FINANZIARIA
 * ============================================================ */
.ctr-financial-intro,
.ctr-financial-kpi-card,
.ctr-financial-cashflow-card,
.ctr-financing-card{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
}
.ctr-financial-kpis{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:3mm;
    margin:3mm 0 4mm;
}
.ctr-fin-kpi{
    border:1px solid #d5dce3;
    border-radius:7px;
    background:#fff;
    padding:3.2mm;
    min-width:0;
}
.ctr-fin-kpi span{
    display:block;
    font-size:10px;
    font-weight:700;
    color:#66717d;
    margin-bottom:2mm;
}
.ctr-fin-kpi strong{
    display:block;
    font-size:14px;
    font-weight:700;
    line-height:1.15;
    white-space:nowrap;
}
.ctr-financial-explain-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:3mm;
}
.ctr-financial-explain-grid>div{
    border:1px solid #dbe1e6;
    border-radius:6px;
    padding:3mm;
    background:#f8f9fa;
}
.ctr-financial-explain-grid h3{
    margin:0 0 1.5mm;
    font-size:12px;
}
.ctr-financial-explain-grid p{
    margin:0;
    font-size:10.5px;
    line-height:1.4;
}
.ctr-financial-table{
    table-layout:fixed!important;
}
.ctr-financial-table th,
.ctr-financial-table td{
    white-space:nowrap!important;
}
.ctr-financial-chart{
    margin-top:4mm;
    display:flex;
    flex-direction:column;
    gap:2mm;
}
.ctr-fin-chart-row{
    display:grid;
    grid-template-columns:17mm minmax(0,1fr) 34mm;
    align-items:center;
    gap:2.5mm;
}
.ctr-fin-chart-year{
    font-size:9.5px;
    font-weight:700;
}
.ctr-fin-chart-track{
    height:5.5mm;
    border:1px solid #d6dde4;
    border-radius:4px;
    background:#f1f3f5;
    overflow:hidden;
}
.ctr-fin-chart-bar{
    height:100%;
    border-radius:3px;
    background:#7e95a7;
}
.ctr-fin-chart-row.is-negative .ctr-fin-chart-bar{
    background:#a6afb7;
}
.ctr-fin-chart-row strong{
    font-size:10px;
    text-align:right;
    white-space:nowrap;
}
@media(max-width:900px){
    .ctr-financial-fields,
    .ctr-financial-kpis,
    }


/* ============================================================
 * v0.9.27 - CAPITOLO 16 SENZA IPOTESI DI FINANZIAMENTO CLIENTE
 * ============================================================ */
.ctr-financial-intro{
    margin-bottom:3mm!important;
}
.ctr-financial-kpi-card{
    margin-top:3mm!important;
    margin-bottom:3mm!important;
}
.ctr-financial-method-note{
    margin:0 0 3mm!important;
}
.ctr-financial-cashflow-card{
    margin-top:3mm!important;
}




/* ============================================================
 * v0.9.30 - RIPRISTINO HEADER STANDARD SU TUTTE LE PAGINE
 * ============================================================ */

/* Header standard delle pagine A4 interne */
.ctr-bp-print-header,
.abg-screen-header,
.ctr-bp-page .ctr-bp-print-header{
    box-sizing:border-box!important;
    width:100%!important;
    min-height:16mm!important;
    margin:0 0 8mm 0!important;
    padding:0 5mm!important;
    border:1px solid #d5dce3!important;
    border-radius:6px!important;
    background:#fff!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    visibility:visible!important;
    opacity:1!important;
}
.ctr-bp-print-header strong,
.abg-screen-header strong{
    display:block!important;
    margin:0!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-weight:700!important;
    color:#111!important;
}
.ctr-bp-print-header img,
.abg-screen-header img,
.ctr-bp-print-header .ctr-bp-logo-img,
.abg-screen-header .ctr-bp-logo-img{
    display:block!important;
    width:auto!important;
    max-width:34mm!important;
    max-height:10mm!important;
    object-fit:contain!important;
    margin:0!important;
    align-self:center!important;
    visibility:visible!important;
    opacity:1!important;
}

/* Pagina 2: usa lo stesso header standard, senza regole speciali che nascondano gli altri header */
.ctr-opening-page .ctr-page2-header{
    box-sizing:border-box!important;
    width:100%!important;
    min-height:16mm!important;
    margin:0 0 8mm 0!important;
    padding:0 5mm!important;
    border:1px solid #d5dce3!important;
    border-radius:6px!important;
    background:#fff!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    position:relative!important;
    visibility:visible!important;
    opacity:1!important;
}
.ctr-opening-page .ctr-page2-header .ctr-bp-logo-img{
    display:block!important;
    width:auto!important;
    max-width:34mm!important;
    max-height:10mm!important;
    object-fit:contain!important;
    margin:0!important;
    align-self:center!important;
}

/* Indice più arioso */
.ctr-opening-page .ctr-index-list li{
    min-height:8.2mm!important;
    line-height:1.35!important;
    padding-top:1.5mm!important;
    padding-bottom:1.5mm!important;
}

/* Immagine impianto pagina 2: 20 mm dopo l'indice */
.ctr-opening-page .ctr-index-imc-image{
    margin-top:20mm!important;
}
.ctr-opening-page .ctr-index-imc-image img,
.ctr-opening-page .ctr-page2-plant-image{
    display:block!important;
    margin-top:0!important;
}
