/*
Theme Name: Twenty Twenty-Five Child
Theme URI: https://example.com/
Description: Tema child di Twenty Twenty-Five
Author: Il tuo nome
Template: twentytwentyfive
Version: 1.1.4
Text Domain: twentytwentyfive-child
*/
.page-id-9 main {
    margin-top: 10px !important;
}

.page-id-9 .wp-block-group.alignfull.has-global-padding.is-layout-constrained.wp-block-group-is-layout-constrained {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

input[type=submit] {
    border-radius: 50px!important;
}

p.has-text-align-center.is-style-default.has-x-large-font-size.wp-block-paragraph {
    line-height: 1 !important;
}

li.wp-block-navigation-item.logout.wp-block-navigation-link a {
    background: #000;
    border-radius: 50px;
    color: #fff;
    padding: 3px 15px;
}

a.has-medium-font-size.logout {
    background: #000;
    color: #fff !important;
    border-radius: 50px;
    padding: 3px 15px;
}

a.has-medium-font-size.logout:hover {
    background-color: #666;
}

a.has-medium-font-size.back, a.has-medium-font-size.back-selection {
    border: 1px solid #000;
    border-radius: 50px;
    padding: 3px 15px;
    margin-right: 30px;
}

a.has-medium-font-size.back:hover, a.has-medium-font-size.back-selection:hover {
    background: #ccc;
}

/* Nasconde il pulsante su tutte le pagine */
a.has-medium-font-size.back, a.has-medium-font-size.back-selection {
    display: none !important;
}

/* Lo mostra SOLO se la pagina ha la classe page-id-15 */
body.page-id-15 a.has-medium-font-size.back, body.page-id-37 a.has-medium-font-size.back-selection {
    display: inline-flex !important;
}

h1.wp-block-post-title {
    display: none;
}


/* form */
.page-id-15 main#wp--skip-link--target {
    padding-top: 20px !important;
}



#frm_field_27_container, #frm_field_921_container,#frm_field_919_container {
    /*background-color: #EEEEEE;*/
    background-image: radial-gradient(circle at 50% 100%, /* Centro del gradiente: orizzontalmente in mezzo, verticalmente in basso */ rgba(227, 203, 237, 1) 0%, /* Cuore del viola lilla, opacità 100% */ rgba(227, 203, 237, 0.4) 30%, /* Sfuma al 40% di intensità come da linea guida */ rgba(227, 203, 237, 0) 70% /* Sfuma completamente a trasparente sul cool-gray */);
    width: 100%;
    min-height: 400px;
    display: flex;
    padding: 20px;
    justify-content: center;
    align-items: center;
}



.cpb-two-columns-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 520px;
    gap: 50px;
    align-items: start;
    width: calc(100% - 50px);
    margin: 30px 0;
}

.cpb-left-column {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.cpb-right-column {
    position: sticky;
    top: 40px;
}

/* Box grafico */
.cpb-chart-box {
    width: 100%;
    max-width: 520px;
    padding: 24px;
    border: 1px solid #ddd;
    border-radius: 12px;
    background: #fff;
}

.cpb-chart-box h3 {
    margin-top: 0;
    text-align: center;
    letter-spacing: 1px;
    font-size: 20px;
}

.cpb-chart-box canvas {
    max-width: 100%;
}

.cpb-calculated-info {
    margin-bottom: 20px;
    font-size: 16px;
}

.cpb-calculated-info p {
    margin: 6px 0;
}

/* Messaggio errore */
.cpb-error-message {
    margin: 15px 0;
    padding: 12px 16px;
    border: 1px solid #c00;
    background: #ffecec;
    color: #c00;
    font-weight: 600;
    border-radius: 6px;
}

/* Preview casi stimati */
.cpb-cases-preview {
    margin-top: 20px;
    font-size: 15px;
}

.cpb-cases-preview h4 {
    margin-bottom: 8px;
}

.cpb-cases-preview ul {
    margin: 0;
    padding-left: 20px;
}

/* Contenitore pulsanti Formidable 
.frm_submit {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
	justify-content: space-between;
}*/

.frm_forms .frm_submit {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
    width: 100% !important;
    text-align: center !important;
    float: none !important;
    margin-top: 30px !important;
}

/* Forza i due pulsanti al centro affiancati */
.frm_forms .frm_submit button.frm_prev_page,
.frm_forms .frm_submit button.frm_button_submit {
    float: none !important;
    margin: 0 !important;
}

/* Nasconde o sposta in basso il testo di autosave per non sbilanciare il centraggio */
.frm_forms .frm_submit #frm-auto-save-time,
.frm_forms .frm_submit .frm_save_draft {
    width: 100% !important;
    text-align: center !important;
    margin-top: 10px !important;
    font-size: 13px !important;
    color: #888888 !important;
}

/* Previous a sinistra 
.frm_submit .frm_prev_page {
    order: 1;
}*/

/* Save Draft vicino a Previous*/ 
.frm_submit .frm_save_draft {
    /*order: 2;*/
	display:none;
}

/* Testo autosave dopo Save Draft */
.frm_submit #frm-auto-save-time {
    /*order: 3;*/
    font-size: 13px;
    opacity: 0.7;
}

/* Next a destra 
.frm_submit .frm_button_submit {
    order: 10;
    margin-left: auto!important;
}*/


/* Pair */
.cpb-pair-card {
    padding: 24px;
    margin-bottom: 24px;
    /*border: 2px solid #0f3a4a;*/
    border-radius: 50px;
    background: #eeeeee;
}

.cpb-pair-card h3,
.cpb-pair-card .frm_section_heading {
    margin-top: 0;
    padding: 8px 16px;
    background: #145f7c;
    color: #fff;
    border-radius: 6px;
    display: inline-block;
}
.cpb-add-pair-wrapper {
    margin: 24px 0;
}

div#frm_field_72_container {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.cpb-add-pair {
    border: 0;
    background: #39b54a;
    width: auto;
    font-size: 14px;
    height: auto;
    line-height: normal;
    text-align: center;
    border-width: 1px;
    border-color: #39b54a;
    border-style: solid;
    color: #ffffff;
    cursor: pointer;
    font-weight: normal;
    border-radius: 8px;
    text-shadow: none;
    padding: 8px 16px;
    box-sizing: border-box;
    box-shadow: 0 1px 1px #eeeeee;
    margin: 10px;
    margin-left: 0;
    margin-right: 0;
    vertical-align: middle;
}

.cpb-pair-limit-message {
    margin-top: 10px;
    color: #666;
    font-size: 14px;
}


.cpb-remove-pair{
    border: 0;
    background: #c00;
    width: auto;
    font-size: 14px;
    height: auto;
    line-height: normal;
    text-align: center;
    border-width: 1px;
    border-color: #c00;
    border-style: solid;
    color: #ffffff;
    cursor: pointer;
    font-weight: normal;
    border-radius: 8px;
    text-shadow: none;
    padding: 8px 16px;
    box-sizing: border-box;
    box-shadow: 0 1px 1px #eeeeee;
    margin: 10px;
    margin-left: 0;
    margin-right: 0;
    vertical-align: middle;
}

.cpb-pair-hidden {
    display: none !important;
}

.cpb-pair-visible {
    display: block !important;
}

/* altre pagine */
.frm_form_field.form-field.frm_left_container.horizontal_radio .frm_opt_container {
    padding-top: 0px;
}

.frm_opt_container .frm_radio label {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    margin: 10px;
}

.frm_opt_container .frm_radio label input[type=radio] {
    margin-top: 3px;
    margin-right: 0;
}

.frm_style_formidable-style.with_frm_style .frm_form_field.frm_left_container {
    grid-template-columns: 170px auto;
}

.frm_style_formidable-style.with_frm_style .frm_form_fields.frm_page_num_13 .frm_form_field.frm_left_container {
    grid-template-columns: 250px auto;
}

.with_frm_style .frm_required {
    color: #9d19d1;
}

.frm_rootline_title, .frm_pages_complete, .frm_percent_complete {
    font-size: 14px;
}

.title_lines {
    display: flex;
    justify-content: space-around;
}

.with_frm_style .frm_page_num_5 .frm_form_field.frm_html_container,
.with_frm_style .frm_page_num_6 .frm_form_field.frm_html_container,
.with_frm_style .frm_page_num_7 .frm_form_field.frm_html_container,
.with_frm_style .frm_page_num_8 .frm_form_field.frm_html_container,
.with_frm_style .frm_page_num_9 .frm_form_field.frm_html_container {
    border-top: 1px solid #D9D9D9;
    margin-bottom: 0px;
}

.frm_page_num_25 .frm_form_field.form-field.frm_required_field.frm_top_container.vertical_radio {
    border-top: 1px solid #D9D9D9;
    padding-top: 20px;
}

/* Rimuove il bordo superiore SOLO dal primo blocco HTML del modulo */
.with_frm_style .frm_form_field.frm_html_container:first-of-type {
    border-top: none !important;
}

.etichetta_caratteristiche_dream {font-weight: bold; background: #DEC7E9; padding: 8px 25px; margin-top: 8px;}

.testata_tabella {border:1px solid #333;padding:6px 8px;background:#DEC7E9;font-size:12px;width:180px}

.testata_tabella_range h4 {background: #DEC7E9; font-size: 16px; margin-block-start:10px; margin-block-end:10px; padding: 5px;}

@media (min-width: 601px) {
.frm_fields_container:has(#frm_field_1429_container) table { grid-row: 2; grid-column: 1 / 7; }

#frm_field_1425_container { grid-row: 3; }

#frm_field_1426_container { grid-row: 4; }

#frm_field_1427_container { grid-row: 5; }

#frm_field_1428_container { grid-row: 6; }

#frm_field_1429_container { grid-row: 7; }

#livanova-pie-wrap-p17 { grid-column: 7 / 13; grid-row: 2 / 8; align-self: center; }

#frm_field_1430_container { grid-row: 8; grid-column: 1 / 13; }

.frm_fields_container:has(#frm_field_1421_container) table { grid-row: 2; grid-column: 1 / 7; }

#frm_field_1415_container { grid-row: 3; grid-column: 1 / 7; }

#frm_field_1416_container { grid-row: 4; grid-column: 1 / 7; }

#frm_field_1417_container { grid-row: 5; grid-column: 1 / 7; }

#frm_field_1418_container { grid-row: 6; grid-column: 1 / 7; }

#frm_field_1419_container { grid-row: 7; grid-column: 1 / 7; }

#frm_field_1420_container { grid-row: 8; grid-column: 1 / 7; }

#frm_field_1421_container { grid-row: 9; grid-column: 1 / 7; }

#livanova-pie-wrap-p16 { grid-column: 7 / 13; grid-row: 2 / 10; align-self: center; }

#frm_field_1422_container { grid-row: 10; grid-column: 1 / 13; }

.frm_fields_container:has(#frm_field_1411_container) > p { grid-row: 2; grid-column: 1 / 13; }

.frm_fields_container:has(#frm_field_1411_container) > table { grid-row: 3; grid-column: 1 / 7; }

#frm_field_1406_container { grid-row: 4; grid-column: 1 / 7; }

#frm_field_1407_container { grid-row: 5; grid-column: 1 / 7; }

#frm_field_1408_container { grid-row: 6; grid-column: 1 / 7; }

#frm_field_1409_container { grid-row: 7; grid-column: 1 / 7; }

#frm_field_1410_container { grid-row: 8; grid-column: 1 / 7; }

#frm_field_1411_container { grid-row: 9; grid-column: 1 / 7; }

#livanova-pie-wrap-p15 { grid-column: 7 / 13; grid-row: 3 / 10; align-self: center; }

#frm_field_1412_container { grid-row: 10; grid-column: 1 / 13; }

#frm_field_1394_container { grid-row: 2; grid-column: 1 / 13; }

#frm_field_1395_container { grid-row: 3; grid-column: 1 / 7; }

#frm_field_1396_container { grid-row: 4; grid-column: 1 / 7; }

#frm_field_1397_container { grid-row: 5; grid-column: 1 / 7; }

#frm_field_1398_container { grid-row: 6; grid-column: 1 / 7; }

#frm_field_1399_container { grid-row: 7; grid-column: 1 / 7; }

#frm_field_1400_container { grid-row: 8; grid-column: 1 / 7; }

#frm_field_1401_container { grid-row: 9; grid-column: 1 / 7; }

#frm_field_1402_container { grid-row: 10; grid-column: 1 / 7; }

#livanova-pie-wrap-p14 { grid-column: 7 / 13; grid-row: 3 / 11; align-self: center; }

#frm_field_1403_container { grid-row: 11; grid-column: 1 / 13; }

.frm_fields_container > div:first-child { grid-row: 1; grid-column: 1 / 13; }
}

.frm_forms .frm_page_num,
.frm_forms .frm_submit {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 15px !important;
    width: 100% !important;
    margin-top: 35px !important;
    float: none !important;
}

.frm_forms .frm_prev_page,
.frm_forms input[type="submit"],
.frm_forms .frm_button_submit {
    border-radius: 50px !important;
    padding: 12px 32px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    border: none !important;
    outline: none !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: all 0.2s ease-in-out !important;
    min-width: 140px !important;
    text-align: center !important;
}

.frm_forms .frm_prev_page {
    /*background-color: #c4a5e3 !important;*/
    color: #ffffff !important;
}

.frm_forms .frm_prev_page:hover,button.frm_button_submit:hover { background-color: #b391d8 !important;  }

.frm_forms input[type="submit"],
.frm_forms .frm_button_submit {
    background-color: #9d13d8 !important;
    color: #ffffff !important;
}

/*.frm_forms input[type="submit"]:hover,
.frm_forms .frm_button_submit:hover { background-color: #8809be !important; }*/

/* form PEDIATRIC CPB PATIENT DATA PROFILING */
.page-id-37 main {
    background-color: #fff;
}

.page-id-37 h2 {
    font-weight: 600;
}

.seg-wrap{overflow-x:auto;margin:0}
.seg-tbl{width:100%;border-collapse:collapse;font-size:12px}
.seg-tbl th,.seg-tbl td{border:1px solid #999;padding:2px 3px;vertical-align:middle;text-align:center;line-height:1.2}
.seg-tbl thead th{background:#DEC7E9;font-weight:bold;font-size:12px}
.seg-tbl .th2{background:#e8eef8;font-size:12px;color:#555}
.seg-tbl .col-w{font-weight:bold;background:#f5f5f5;min-width:50px}
.seg-tbl .col-cy{background:#fafafa;min-width:38px}
.seg-tbl .col-t{font-size:12px;min-width:52px}
.seg-tbl .col-notes{text-align:left;min-width:100px}
.seg-tbl input.seg-inp{width:100%;box-sizing:border-box;padding:1px 3px;font-size:12px;border:1px solid #ccc;border-radius:2px;background:#fff}
.seg-tbl input.seg-inp:focus{outline:none;border-color:#4a90d9;background:#f0f7ff}
.seg-tbl textarea.seg-ta{width:100%;box-sizing:border-box;padding:2px 3px;font-size:12px;border:1px solid #ccc;border-radius:2px;height:60px;resize:vertical;background:#fff}
.seg-tbl textarea.seg-ta:focus{outline:none;border-color:#4a90d9;background:#f0f7ff}
.seg-hidden{display:none!important}


/* pagina 2  */
.occ-wrap{overflow-x:auto;margin:0}
.occ-tbl{width:100%;border-collapse:collapse;font-size:12px}
.occ-tbl th,.occ-tbl td{border:1px solid #999;padding:3px 4px;vertical-align:middle;text-align:center}
.occ-tbl thead th{background:#DEC7E9;font-weight:bold;font-size:12px;line-height:1.3}
.occ-bw{font-weight:bold;background:#f5f5f5}
.occ-cy{background:#fafafa}
.occ-t{font-size:12px;background:#fff8f0}
.occ-ic{min-width:75px}
.occ-inp{width:100%;box-sizing:border-box;padding:1px 2px;font-size:12px;border:1px solid #ccc;border-radius:2px;text-align:center}
.occ-inp:focus{border-color:#4a90d9;background:#f0f7ff}
.occ-inp.occ-e{border-color:#e00!important;background:#fff0f0!important}
.occ-s{font-size:12px;color:#777;margin-top:2px; display:none}
.occ-s.ov{color:#e00;font-weight:bold}

/* Desktop */
@media (min-width: 1200px) {
.pagina_contenitore {
    max-width: 1100px;
    margin: 0 auto;
}
}

/* Mobile */
@media (max-width: 900px) {
    .mobile_none {display:none!important}

    .wp-block-buttons>.wp-block-button.wp-block-button__width-50 {
        width: 100%;
    }

    .wp-block-button.has-custom-width.wp-block-button__width {
        width: 100%!important;
    }

    .with_frm_style .horizontal_radio .frm_radio, .horizontal_radio .frm_opt_container .frm_radio label {display: block;}

    #frm_field_27_container, #frm_field_921_container, #frm_field_919_container {
        padding: 0;
    }

    .frm_fields_container {
        display: block;
    }

    .cpb-chart-field {
        position: static;
        margin-top: 30px;
    }

    .cpb-chart-box {
        max-width: 100%;
    }
	
    .cpb-two-columns-layout {
        display: flex;
        flex-direction: column;
        gap: 30px;
    }

    .cpb-left-column {
        order: 1;
        width: 100%;
		gap:0;
    }

    .cpb-right-column {
        order: 2;
        width: 100%;
        position: static;
        margin-top: 20px;
    }

    .cpb-chart-box {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
		padding: 10px;
    }

    .cpb-chart-box canvas {
        max-width: 100%;
        height: auto !important;
    }
}

/* TEAM99 27/08/2026: colonna etichette piu larga sulle pagine con matrici di rating */
@media only screen and (min-width: 783px) {
  .with_frm_style .frm_page_num_5 .frm_form_field.frm_left_container,
  .with_frm_style .frm_page_num_6 .frm_form_field.frm_left_container,
  .with_frm_style .frm_page_num_7 .frm_form_field.frm_left_container,
  .with_frm_style .frm_page_num_8 .frm_form_field.frm_left_container,
  .with_frm_style .frm_page_num_9 .frm_form_field.frm_left_container,
  .with_frm_style .frm_page_num_16 .frm_form_field.frm_left_container,
  .with_frm_style .frm_page_num_25 .frm_form_field.frm_left_container {
    grid-template-columns: 420px auto !important;
  }
}

/* TEAM99 02/09/2026: spostato qui da livanova-survey-optimizer/survey-validation.js */
@media only screen and (min-width: 783px) {
  .with_frm_style .frm_page_num_5 .frm_primary_label,
  .with_frm_style .frm_page_num_6 .frm_primary_label,
  .with_frm_style .frm_page_num_7 .frm_primary_label,
  .with_frm_style .frm_page_num_8 .frm_primary_label,
  .with_frm_style .frm_page_num_9 .frm_primary_label,
  .with_frm_style .frm_page_num_25 .horizontal_radio .frm_primary_label {
    white-space: nowrap;
    display: flex;
    align-items: flex-end;
    margin-bottom: 4px;
  }
}

/* TEAM99 28/08/2026: correzioni mobile del questionario */
@media only screen and (max-width: 782px) {
  .with_frm_style .frm_rootline_group,
  .with_frm_style .frm_page_bar { max-width: 100% !important; }
  .with_frm_style .frm_rootline_single { min-width: 0 !important; }
  .with_frm_style .frm_rootline_single input { width: 100% !important; min-width: 0 !important; }
  .with_frm_style .frm_left_container .frm_opt_container { display: flex !important; justify-content: space-between; gap: 2px; }
  .with_frm_style .frm_left_container .frm_radio { flex: 1 1 0; margin: 0 !important; text-align: center; }
  .with_frm_style .frm_left_container .frm_radio label { display: flex !important; flex-direction: column; align-items: center; gap: 4px; font-size: .85rem; padding: 0 !important; }
  .with_frm_style .frm_fields_container > table { display: block; overflow-x: auto; max-width: 100%; }
  .with_frm_style .frm_page_num_22 .testata_tabella_range,
  .with_frm_style .frm_page_num_26 .testata_tabella_range { display: none !important; }
  .with_frm_style .frm_page_num_22 .frm_none_container > .frm_primary_label,
  .with_frm_style .frm_page_num_26 .frm_none_container > .frm_primary_label { display: block !important; font-size: .85rem; font-weight: 600; margin-bottom: 4px; }
  .livanova-pie-wrap { max-width: 100% !important; overflow: hidden; }
  .livanova-pie-wrap canvas { max-width: 100% !important; height: auto !important; }
}

/* ==========================================================================
   TEAM99 02/09/2026: stili statici del plugin livanova-survey-optimizer.
   Spostati qui da survey-validation.js (var css / <style id="livanova-styles">).
   Nel JS resta solo #cpb-validate-style, nella sezione Pairs.
   ========================================================================== */

/* pagina 13 - valori duplicati */
.livanova-dup-error {
  color: #c00;
  background: #fff0f0;
  border: 1px solid #c00;
  border-radius: 4px;
  padding: 8px 12px;
  margin: 4px 0 8px 0;
  font-size: 13px;
  font-weight: 600;
  display: none;
}
input[type="number"].livanova-dup-input {
  border-color: #c00 !important;
  background: #fff8f8 !important;
  box-shadow: 0 0 0 2px rgba(204, 0, 0, .2) !important;
}

/* pagine 14-17 - grafici a torta e somma dei pesi */
.livanova-pie-wrap {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  margin: 16px 0 8px;
  vertical-align: top;
}
.livanova-total {
  font-weight: bold;
  font-size: 15px;
  margin-top: 8px;
  padding: 6px 16px;
  border-radius: 4px;
  display: inline-block;
}
.livanova-total.ok { color: #0a5f00; background: #e6f7e6; }
.livanova-total.over { color: #c00; background: #fff0f0; }
.livanova-total.under { color: #885500; background: #fff7e6; }
.livanova-weight-error {
  color: #c00;
  background: #fff0f0;
  border: 1px solid #c00;
  border-radius: 4px;
  padding: 8px 12px;
  margin: 8px 0;
  font-size: 13px;
  font-weight: 600;
  display: none;
}

/* pagina 18 - portata di aspirazione */
.p18-custom-pct-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
}
.p18-custom-pct-wrap input { width: 70px !important; }
.p18-total-field input[type="number"] {
  background: #dec7e985 !important;
  color: #000 !important;
  font-weight: bold !important;
  border-color: #630d8c !important;
}

/* overlay di caricamento */
#livanova-loading-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.82);
  z-index: 99999;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
#livanova-loading-overlay.active { display: flex; }
.livanova-spinner {
  width: 48px;
  height: 48px;
  border: 5px solid #dde;
  border-top-color: #0073aa;
  border-radius: 50%;
  animation: livanova-spin 0.75s linear infinite;
}
.livanova-loading-text {
  margin-top: 14px;
  font-size: 14px;
  color: #555;
  font-family: inherit;
  letter-spacing: .02em;
}
@keyframes livanova-spin { to { transform: rotate(360deg); } }

/* TEAM99 15/09/2026: campo Reservoir di pagina 4 nascosto su richiesta del cliente.
   I campi restano nel form e conservano i valori gia raccolti nelle entry. */
#frm_field_45_container,
#frm_field_59_container,
#frm_field_75_container,
#frm_field_924_container,
#frm_field_931_container,
#frm_field_938_container { display: none !important; }
