.elementor-1074 .elementor-element.elementor-element-1a2a648{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:5% 5%;--row-gap:5%;--column-gap:5%;--margin-top:-5%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1074 .elementor-element.elementor-element-ccc68cb{--display:flex;}.elementor-1074 .elementor-element.elementor-element-23697a9{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-1074 .elementor-element.elementor-element-c6c0c41{margin:0% 4% calc(var(--kit-widget-spacing, 0px) + 0%) 4%;padding:1% 1% 1% 1%;text-align:justify;font-family:"Open Sans", Sans-serif;font-weight:400;}.elementor-1074 .elementor-element.elementor-element-f489a02{--display:flex;}.elementor-1074 .elementor-element.elementor-element-00d31e6{margin:0% 4% calc(var(--kit-widget-spacing, 0px) + 0%) 4%;padding:1% 1% 1% 1%;text-align:justify;font-family:"Open Sans", Sans-serif;font-weight:400;}.elementor-1074 .elementor-element.elementor-element-3a1862b{--display:flex;}.elementor-1074 .elementor-element.elementor-element-3612c5a{--display:flex;}.elementor-1074 .elementor-element.elementor-element-b5b0890{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-1074 .elementor-element.elementor-element-2251494{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0% 0%;--row-gap:0%;--column-gap:0%;--flex-wrap:nowrap;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-1074 .elementor-element.elementor-element-db29f09 img{width:100%;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1074 .elementor-element.elementor-element-dba3104{width:100%;max-width:100%;margin:2px 2px calc(var(--kit-widget-spacing, 0px) + 2px) 2px;padding:0% 0% 0% 0%;}.elementor-1074 .elementor-element.elementor-element-dba3104.elementor-element{--align-self:flex-start;}.elementor-1074 .elementor-element.elementor-element-dba3104 .elementor-button{font-family:"Open Sans", Sans-serif;font-size:1.5em;font-weight:600;border-radius:0px 0px 0px 0px;}.elementor-1074 .elementor-element.elementor-element-bc23477{width:100%;max-width:100%;}.elementor-1074 .elementor-element.elementor-element-bc23477.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-1074 .elementor-element.elementor-element-bc23477 .elementor-button{font-family:"Open Sans", Sans-serif;font-size:1.5em;font-weight:600;}.elementor-1074 .elementor-element.elementor-element-63f30a0{--display:flex;}.elementor-1074 .elementor-element.elementor-element-921a6a9{margin:0% 4% calc(var(--kit-widget-spacing, 0px) + 0%) 4%;padding:1% 1% 1% 1%;text-align:justify;font-family:"Open Sans", Sans-serif;font-weight:400;}.elementor-1074 .elementor-element.elementor-element-7608e30{--display:flex;}.elementor-1074 .elementor-element.elementor-element-aa92b49{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-1074 .elementor-element.elementor-element-e819e66{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-1074 .elementor-element.elementor-element-d63ebd2{text-align:center;}.elementor-1074 .elementor-element.elementor-element-d63ebd2 img{width:100%;}.elementor-1074 .elementor-element.elementor-element-9be93b8{--display:flex;}.elementor-1074 .elementor-element.elementor-element-796cb11{--display:flex;}.elementor-1074 .elementor-element.elementor-element-f375c5c{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-1074 .elementor-element.elementor-element-8989fe0{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-1074 .elementor-element.elementor-element-8fd49de{text-align:center;}.elementor-1074 .elementor-element.elementor-element-8fd49de img{width:100%;}.elementor-1074 .elementor-element.elementor-element-c7cad15{--display:flex;}.elementor-1074 .elementor-element.elementor-element-599a60f{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-1074 .elementor-element.elementor-element-033f4f3{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0% 0%;--row-gap:0%;--column-gap:0%;--flex-wrap:nowrap;}.elementor-1074 .elementor-element.elementor-element-6b70c26 img{width:100%;}.elementor-1074 .elementor-element.elementor-element-de53896{width:100%;max-width:100%;margin:2px 2px calc(var(--kit-widget-spacing, 0px) + 2px) 2px;padding:0% 0% 0% 0%;}.elementor-1074 .elementor-element.elementor-element-de53896.elementor-element{--align-self:flex-start;}.elementor-1074 .elementor-element.elementor-element-de53896 .elementor-button{font-family:"Open Sans", Sans-serif;font-size:1.5em;font-weight:600;border-radius:0px 0px 0px 0px;}.elementor-1074 .elementor-element.elementor-element-ba46ba1{width:100%;max-width:100%;}.elementor-1074 .elementor-element.elementor-element-ba46ba1.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-1074 .elementor-element.elementor-element-ba46ba1 .elementor-button{font-family:"Open Sans", Sans-serif;font-size:1.5em;font-weight:600;}.elementor-1074 .elementor-element.elementor-element-6d4a981{--display:flex;}.elementor-1074 .elementor-element.elementor-element-c76b0c2{margin:0% 4% calc(var(--kit-widget-spacing, 0px) + 0%) 4%;padding:1% 1% 1% 1%;text-align:justify;font-family:"Open Sans", Sans-serif;font-weight:400;}.elementor-1074 .elementor-element.elementor-element-f23e78b{--display:flex;}.elementor-1074 .elementor-element.elementor-element-6d429cb{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-1074 .elementor-element.elementor-element-ae81da6{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0% 0%;--row-gap:0%;--column-gap:0%;--flex-wrap:nowrap;}.elementor-1074 .elementor-element.elementor-element-6dd4995 img{width:100%;}.elementor-1074 .elementor-element.elementor-element-16239da{width:100%;max-width:100%;margin:2px 2px calc(var(--kit-widget-spacing, 0px) + 2px) 2px;padding:0% 0% 0% 0%;}.elementor-1074 .elementor-element.elementor-element-16239da.elementor-element{--align-self:flex-start;}.elementor-1074 .elementor-element.elementor-element-16239da .elementor-button{font-family:"Open Sans", Sans-serif;font-size:1.5em;font-weight:600;border-radius:0px 0px 0px 0px;}.elementor-1074 .elementor-element.elementor-element-8f7449e{width:100%;max-width:100%;}.elementor-1074 .elementor-element.elementor-element-8f7449e.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-1074 .elementor-element.elementor-element-8f7449e .elementor-button{font-family:"Open Sans", Sans-serif;font-size:1.5em;font-weight:600;}.elementor-1074 .elementor-element.elementor-element-ffe1acc{width:100%;max-width:100%;margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0px 0px 0px 0px;text-align:center;}.elementor-1074 .elementor-element.elementor-element-ffe1acc.elementor-element{--align-self:stretch;--flex-grow:1;--flex-shrink:0;}.elementor-1074 .elementor-element.elementor-element-ffe1acc img{width:100%;max-width:100%;height:100%;object-fit:scale-down;object-position:center center;opacity:1;}.elementor-1074 .elementor-element.elementor-element-48d7787{--display:flex;}.elementor-1074 .elementor-element.elementor-element-aaa87c3{margin:0% 4% calc(var(--kit-widget-spacing, 0px) + 0%) 4%;padding:1% 1% 1% 1%;text-align:justify;font-family:"Open Sans", Sans-serif;font-weight:400;}.elementor-1074 .elementor-element.elementor-element-4cb4fb5{--display:flex;}.elementor-1074 .elementor-element.elementor-element-97c888e{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-1074 .elementor-element.elementor-element-b24874d{text-align:center;}.elementor-1074 .elementor-element.elementor-element-b24874d img{width:100%;}.elementor-1074 .elementor-element.elementor-element-c5b7f3c{--display:flex;}.elementor-1074 .elementor-element.elementor-element-e9f9217{--display:grid;--e-con-grid-template-columns:1fr .4fr;--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-1074 .elementor-element.elementor-element-286aa78{text-align:center;}.elementor-1074 .elementor-element.elementor-element-286aa78 img{width:100%;}.elementor-1074 .elementor-element.elementor-element-54b680f{--display:flex;}.elementor-1074 .elementor-element.elementor-element-6429883{--display:grid;--e-con-grid-template-columns:.3fr 1fr;--e-con-grid-template-rows:1fr;--grid-auto-flow:row;}.elementor-1074 .elementor-element.elementor-element-304ec00{text-align:center;}.elementor-1074 .elementor-element.elementor-element-304ec00 img{width:100%;}.elementor-1074 .elementor-element.elementor-element-00d1ee8{--n-accordion-title-font-size:1rem;padding:0% 4% 0% 4%;border-style:solid;border-width:0px 0px 0px 0px;--n-accordion-title-justify-content:space-between;--n-accordion-title-flex-grow:1;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:20px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-normal-color:var( --e-global-color-primary );--n-accordion-icon-size:27px;--n-accordion-icon-normal-color:var( --e-global-color-primary );}:where( .elementor-1074 .elementor-element.elementor-element-00d1ee8 > .e-n-accordion > .e-n-accordion-item ) > .e-con{background-color:#02010100;--padding-top:12px;--padding-right:0px;--padding-bottom:18px;--padding-left:0px;}.elementor-1074 .elementor-element.elementor-element-00d1ee8.elementor-element{--align-self:stretch;}:where( .elementor-1074 .elementor-element.elementor-element-00d1ee8 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Open Sans", Sans-serif;font-weight:600;}.elementor-1074 .elementor-element.elementor-element-3cdcba0{--display:flex;}.elementor-1074 .elementor-element.elementor-element-4567e5d{margin:0% 4% calc(var(--kit-widget-spacing, 0px) + 0%) 4%;padding:1% 1% 1% 1%;text-align:justify;font-family:"Open Sans", Sans-serif;font-weight:400;}.elementor-1074 .elementor-element.elementor-element-ea55681{--n-accordion-title-font-size:1rem;padding:0% 4% 0% 4%;border-style:solid;border-width:0px 0px 0px 0px;--n-accordion-title-justify-content:space-between;--n-accordion-title-flex-grow:1;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:20px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-normal-color:var( --e-global-color-primary );--n-accordion-icon-size:27px;--n-accordion-icon-normal-color:var( --e-global-color-primary );}:where( .elementor-1074 .elementor-element.elementor-element-ea55681 > .e-n-accordion > .e-n-accordion-item ) > .e-con{background-color:#02010100;--padding-top:12px;--padding-right:0px;--padding-bottom:18px;--padding-left:0px;}:where( .elementor-1074 .elementor-element.elementor-element-ea55681 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Open Sans", Sans-serif;font-weight:600;}.elementor-1074 .elementor-element.elementor-element-11157f3{--display:flex;}.elementor-1074 .elementor-element.elementor-element-6cd6259{margin:0% 4% calc(var(--kit-widget-spacing, 0px) + 0%) 4%;padding:1% 1% 1% 1%;text-align:justify;font-family:"Open Sans", Sans-serif;font-weight:400;}.elementor-1074 .elementor-element.elementor-element-b1538d7{--display:flex;}.elementor-1074 .elementor-element.elementor-element-fb28d5f{margin:0% 4% calc(var(--kit-widget-spacing, 0px) + 0%) 4%;padding:1% 1% 1% 1%;text-align:justify;font-family:"Open Sans", Sans-serif;font-weight:400;}.elementor-1074 .elementor-element.elementor-element-bacf717{--display:flex;}.elementor-1074 .elementor-element.elementor-element-53ee685{margin:0% 4% calc(var(--kit-widget-spacing, 0px) + 0%) 4%;padding:1% 1% 1% 1%;text-align:justify;font-family:"Open Sans", Sans-serif;font-weight:400;}.elementor-1074 .elementor-element.elementor-element-92767b9{--display:flex;}.elementor-1074 .elementor-element.elementor-element-85727d0 img{height:112px;}.elementor-1074 .elementor-element.elementor-element-a2679ac{margin:0% 4% calc(var(--kit-widget-spacing, 0px) + 0%) 4%;padding:1% 1% 1% 1%;text-align:justify;font-family:"Open Sans", Sans-serif;font-weight:400;}.elementor-1074 .elementor-element.elementor-element-ea7eb00{--n-tabs-direction:column;--n-tabs-heading-direction:row;--n-tabs-heading-width:initial;--n-tabs-title-flex-basis:content;--n-tabs-title-flex-shrink:0;--n-tabs-heading-justify-content:flex-start;--n-tabs-title-width:initial;--n-tabs-title-height:initial;--n-tabs-title-align-items:flex-start;--n-tabs-title-flex-grow:0;--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;border-style:solid;border-width:0px 0px 0px 0px;--n-tabs-title-justify-content:flex-start;--n-tabs-title-text-align:start;--n-tabs-gap:10px;--n-tabs-title-border-radius:34px 34px 34px 34px;--n-tabs-title-color:var( --e-global-color-primary );}.elementor-1074 .elementor-element.elementor-element-ea7eb00 > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ){background:var( --e-global-color-astglobalcolor4 );}.elementor-1074 .elementor-element.elementor-element-ea7eb00.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-primary );}.elementor-1074 .elementor-element.elementor-element-ea7eb00.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-1074 .elementor-element.elementor-element-ea7eb00.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-primary );}.elementor-1074 .elementor-element.elementor-element-ea7eb00.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:not( :hover ){border-style:solid;border-color:var( --e-global-color-primary );}:where( .elementor-1074 .elementor-element.elementor-element-ea7eb00.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-content ) > .e-con{border-style:solid;border-width:1px 0px 0px 0px;border-color:var( --e-global-color-4cf10c1 );}.elementor-1074 .elementor-element.elementor-element-6a6b015{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(max-width:1024px){.elementor-1074 .elementor-element.elementor-element-e819e66{--grid-auto-flow:row;}.elementor-1074 .elementor-element.elementor-element-8989fe0{--grid-auto-flow:row;}.elementor-1074 .elementor-element.elementor-element-97c888e{--grid-auto-flow:row;}.elementor-1074 .elementor-element.elementor-element-e9f9217{--grid-auto-flow:row;}.elementor-1074 .elementor-element.elementor-element-6429883{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-1074 .elementor-element.elementor-element-23697a9{--width:120%;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:-50px;--margin-right:0px;}.elementor-1074 .elementor-element.elementor-element-23697a9.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-1074 .elementor-element.elementor-element-c6c0c41{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;text-align:left;}.elementor-1074 .elementor-element.elementor-element-f489a02{--width:120%;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:-50px;--margin-right:0px;}.elementor-1074 .elementor-element.elementor-element-00d31e6{text-align:left;}.elementor-1074 .elementor-element.elementor-element-3612c5a{--width:120%;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:-50px;--margin-right:0px;}.elementor-1074 .elementor-element.elementor-element-921a6a9{text-align:left;}.elementor-1074 .elementor-element.elementor-element-7608e30{--width:120%;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:-50px;--margin-right:0px;}.elementor-1074 .elementor-element.elementor-element-e819e66{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-1074 .elementor-element.elementor-element-88f11b6{text-align:left;}.elementor-1074 .elementor-element.elementor-element-796cb11{--width:120%;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:-50px;--margin-right:0px;}.elementor-1074 .elementor-element.elementor-element-8989fe0{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-1074 .elementor-element.elementor-element-c7cad15{--width:120%;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:-50px;--margin-right:0px;}.elementor-1074 .elementor-element.elementor-element-f23e78b{--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:-50px;--margin-right:0px;}.elementor-1074 .elementor-element.elementor-element-4cb4fb5{--width:120%;--margin-top:0px;--margin-bottom:0px;--margin-left:-50px;--margin-right:0px;}.elementor-1074 .elementor-element.elementor-element-97c888e{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-1074 .elementor-element.elementor-element-c5b7f3c{--width:120%;--margin-top:0px;--margin-bottom:0px;--margin-left:-50px;--margin-right:0px;}.elementor-1074 .elementor-element.elementor-element-e9f9217{--e-con-grid-template-columns:1;--grid-auto-flow:row;}.elementor-1074 .elementor-element.elementor-element-54b680f{--width:120%;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:-50px;--margin-right:0px;}.elementor-1074 .elementor-element.elementor-element-6429883{--e-con-grid-template-columns:1;--grid-auto-flow:row;}.elementor-1074 .elementor-element.elementor-element-3cdcba0{--width:120%;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:-50px;--margin-right:0px;}.elementor-1074 .elementor-element.elementor-element-4567e5d{text-align:left;}.elementor-1074 .elementor-element.elementor-element-6cd6259{text-align:left;}.elementor-1074 .elementor-element.elementor-element-fb28d5f{text-align:left;}.elementor-1074 .elementor-element.elementor-element-53ee685{text-align:left;}.elementor-1074 .elementor-element.elementor-element-a2679ac{text-align:left;}}/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-ea55681 *//* Reset y base */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion{ counter-reset: paso; }
.elementor-1074 .elementor-element.elementor-element-ea55681 details.e-n-accordion-item{
  position: relative;
  padding-left: 72px;               /* espacio para el número */
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
  counter-increment: paso;          /* ← incrementa aquí */
}
.elementor-1074 .elementor-element.elementor-element-ea55681 summary.e-n-accordion-item-title{
  list-style: none;
  display: flex; align-items: flex-start; gap: 16px;
  padding: 18px 12px 18px 0;
  border: 0; background: transparent;
}
.elementor-1074 .elementor-element.elementor-element-ea55681 details > summary::-webkit-details-marker{ display: none; }

/* Número 01, 02, 03... */
.elementor-1074 .elementor-element.elementor-element-ea55681 summary.e-n-accordion-item-title::before{
  content: counter(paso, decimal-leading-zero);
  position: absolute; left: 0; top: 6px;
  font-weight: 700; font-size: 40px; line-height: 1;
  color: #0A2A7A;
}

/* Título: bold y 2 líneas */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción inyectada en el encabezado (lado derecho) */
.elementor-1074 .elementor-element.elementor-element-ea55681 .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* (Opcional) Par ocultar la copia dentro del panel */
/*.elementor-1074 .elementor-element.elementor-element-ea55681 .step-desc{ display: none; }*/

/* Quitar recuadro azul del item abierto, si lo ves */
.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] > summary{ box-shadow:none !important; border:0 !important; }

/* Responsive */
@media (max-width:767px){
  .elementor-1074 .elementor-element.elementor-element-ea55681 details.e-n-accordion-item{ padding-left: 52px; }
  .elementor-1074 .elementor-element.elementor-element-ea55681 summary.e-n-accordion-item-title::before{ font-size: 32px; top: 4px; }
  .elementor-1074 .elementor-element.elementor-element-ea55681 .step-inline-desc{ display: none; } /* o apílala si la quieres visible */
}

/* Título más grande y en negritas */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header,
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;        /* ← ajusta a 20–24px a gusto */
  line-height: 1.25;
  font-weight: 700;       /* si tu fuente no tiene 800, usa 700 */
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;  /* sigue topando a 2 líneas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 350px;
}

/* Opcional: responsive */
@media (max-width: 1024px){
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header,
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}
@media (max-width: 767px){
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header,
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO (como lo tienes ahora) --- */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header,
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;             /* título cerrado */
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}
.elementor-1074 .elementor-element.elementor-element-ea55681 .step-inline-desc{    /* descripción en encabezado (derecha) */
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Por defecto la copia del panel oculta (la mostramos al abrir) */
.elementor-1074 .elementor-element.elementor-element-ea55681 .step-desc{ display: none; }

/* --- Estado ABIERTO --- */
.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .e-n-accordion-item-title-header,
.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;             /* ← tamaño del título abierto */
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;   /* sin tope de líneas al abrir */
  display: block;
   max-width: 600px;
}

.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .step-inline-desc{
  display: none;                /* ya no a la derecha cuando está abierto */
}

.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] > .e-con.e-child{
  padding-top: 8px;             /* pequeño respiro antes del panel */
}

/* Descripción en el panel (debajo del título) con tamaño mayor */
.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .step-desc{
  display: block;
  font-size: 20px;              /* ← tamaño de la descripción abierta */
  line-height: 1.35;
  color: #000000;               /* si la quieres en azul; cámbialo si prefieres gris */
  font-weight: 500;             /* “subtítulo” fuerte */
  margin: 4px 0 5px;
}

/* Responsive opcional */
@media (max-width: 767px){
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header{ font-size: 18px; }
  .elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .e-n-accordion-item-title-header{ font-size: 22px; }
}

/* Quitar cualquier fondo/borde/box-shadow del panel abierto */
.elementor-1074 .elementor-element.elementor-element-ea55681 details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;   /* deja solo el respiro superior si quieres */
}

/* Quitar recuadros del Text Editor dentro de los panels */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item .elementor-widget-text-editor,
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;        /* elimina padding del “cajón” */
}

/* Por si algún kit añade borde global a widgets dentro del panel */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item .elementor-widget,
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-ea55681 *//* Reset y base */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion{ counter-reset: paso; }
.elementor-1074 .elementor-element.elementor-element-ea55681 details.e-n-accordion-item{
  position: relative;
  padding-left: 72px;               /* espacio para el número */
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
  counter-increment: paso;          /* ← incrementa aquí */
}
.elementor-1074 .elementor-element.elementor-element-ea55681 summary.e-n-accordion-item-title{
  list-style: none;
  display: flex; align-items: flex-start; gap: 16px;
  padding: 18px 12px 18px 0;
  border: 0; background: transparent;
}
.elementor-1074 .elementor-element.elementor-element-ea55681 details > summary::-webkit-details-marker{ display: none; }

/* Número 01, 02, 03... */
.elementor-1074 .elementor-element.elementor-element-ea55681 summary.e-n-accordion-item-title::before{
  content: counter(paso, decimal-leading-zero);
  position: absolute; left: 0; top: 6px;
  font-weight: 700; font-size: 40px; line-height: 1;
  color: #0A2A7A;
}

/* Título: bold y 2 líneas */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción inyectada en el encabezado (lado derecho) */
.elementor-1074 .elementor-element.elementor-element-ea55681 .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* (Opcional) Par ocultar la copia dentro del panel */
/*.elementor-1074 .elementor-element.elementor-element-ea55681 .step-desc{ display: none; }*/

/* Quitar recuadro azul del item abierto, si lo ves */
.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] > summary{ box-shadow:none !important; border:0 !important; }

/* Responsive */
@media (max-width:767px){
  .elementor-1074 .elementor-element.elementor-element-ea55681 details.e-n-accordion-item{ padding-left: 52px; }
  .elementor-1074 .elementor-element.elementor-element-ea55681 summary.e-n-accordion-item-title::before{ font-size: 32px; top: 4px; }
  .elementor-1074 .elementor-element.elementor-element-ea55681 .step-inline-desc{ display: none; } /* o apílala si la quieres visible */
}

/* Título más grande y en negritas */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header,
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;        /* ← ajusta a 20–24px a gusto */
  line-height: 1.25;
  font-weight: 700;       /* si tu fuente no tiene 800, usa 700 */
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;  /* sigue topando a 2 líneas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 350px;
}

/* Opcional: responsive */
@media (max-width: 1024px){
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header,
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}
@media (max-width: 767px){
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header,
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO (como lo tienes ahora) --- */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header,
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;             /* título cerrado */
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}
.elementor-1074 .elementor-element.elementor-element-ea55681 .step-inline-desc{    /* descripción en encabezado (derecha) */
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Por defecto la copia del panel oculta (la mostramos al abrir) */
.elementor-1074 .elementor-element.elementor-element-ea55681 .step-desc{ display: none; }

/* --- Estado ABIERTO --- */
.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .e-n-accordion-item-title-header,
.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;             /* ← tamaño del título abierto */
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;   /* sin tope de líneas al abrir */
  display: block;
   max-width: 600px;
}

.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .step-inline-desc{
  display: none;                /* ya no a la derecha cuando está abierto */
}

.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] > .e-con.e-child{
  padding-top: 8px;             /* pequeño respiro antes del panel */
}

/* Descripción en el panel (debajo del título) con tamaño mayor */
.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .step-desc{
  display: block;
  font-size: 20px;              /* ← tamaño de la descripción abierta */
  line-height: 1.35;
  color: #000000;               /* si la quieres en azul; cámbialo si prefieres gris */
  font-weight: 500;             /* “subtítulo” fuerte */
  margin: 4px 0 5px;
}

/* Responsive opcional */
@media (max-width: 767px){
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header{ font-size: 18px; }
  .elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .e-n-accordion-item-title-header{ font-size: 22px; }
}

/* Quitar cualquier fondo/borde/box-shadow del panel abierto */
.elementor-1074 .elementor-element.elementor-element-ea55681 details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;   /* deja solo el respiro superior si quieres */
}

/* Quitar recuadros del Text Editor dentro de los panels */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item .elementor-widget-text-editor,
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;        /* elimina padding del “cajón” */
}

/* Por si algún kit añade borde global a widgets dentro del panel */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item .elementor-widget,
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-ea55681 *//* Reset y base */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion{ counter-reset: paso; }
.elementor-1074 .elementor-element.elementor-element-ea55681 details.e-n-accordion-item{
  position: relative;
  padding-left: 72px;               /* espacio para el número */
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
  counter-increment: paso;          /* ← incrementa aquí */
}
.elementor-1074 .elementor-element.elementor-element-ea55681 summary.e-n-accordion-item-title{
  list-style: none;
  display: flex; align-items: flex-start; gap: 16px;
  padding: 18px 12px 18px 0;
  border: 0; background: transparent;
}
.elementor-1074 .elementor-element.elementor-element-ea55681 details > summary::-webkit-details-marker{ display: none; }

/* Número 01, 02, 03... */
.elementor-1074 .elementor-element.elementor-element-ea55681 summary.e-n-accordion-item-title::before{
  content: counter(paso, decimal-leading-zero);
  position: absolute; left: 0; top: 6px;
  font-weight: 700; font-size: 40px; line-height: 1;
  color: #0A2A7A;
}

/* Título: bold y 2 líneas */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción inyectada en el encabezado (lado derecho) */
.elementor-1074 .elementor-element.elementor-element-ea55681 .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* (Opcional) Par ocultar la copia dentro del panel */
/*.elementor-1074 .elementor-element.elementor-element-ea55681 .step-desc{ display: none; }*/

/* Quitar recuadro azul del item abierto, si lo ves */
.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] > summary{ box-shadow:none !important; border:0 !important; }

/* Responsive */
@media (max-width:767px){
  .elementor-1074 .elementor-element.elementor-element-ea55681 details.e-n-accordion-item{ padding-left: 52px; }
  .elementor-1074 .elementor-element.elementor-element-ea55681 summary.e-n-accordion-item-title::before{ font-size: 32px; top: 4px; }
  .elementor-1074 .elementor-element.elementor-element-ea55681 .step-inline-desc{ display: none; } /* o apílala si la quieres visible */
}

/* Título más grande y en negritas */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header,
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;        /* ← ajusta a 20–24px a gusto */
  line-height: 1.25;
  font-weight: 700;       /* si tu fuente no tiene 800, usa 700 */
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;  /* sigue topando a 2 líneas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 350px;
}

/* Opcional: responsive */
@media (max-width: 1024px){
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header,
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}
@media (max-width: 767px){
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header,
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO (como lo tienes ahora) --- */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header,
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;             /* título cerrado */
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}
.elementor-1074 .elementor-element.elementor-element-ea55681 .step-inline-desc{    /* descripción en encabezado (derecha) */
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Por defecto la copia del panel oculta (la mostramos al abrir) */
.elementor-1074 .elementor-element.elementor-element-ea55681 .step-desc{ display: none; }

/* --- Estado ABIERTO --- */
.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .e-n-accordion-item-title-header,
.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;             /* ← tamaño del título abierto */
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;   /* sin tope de líneas al abrir */
  display: block;
   max-width: 600px;
}

.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .step-inline-desc{
  display: none;                /* ya no a la derecha cuando está abierto */
}

.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] > .e-con.e-child{
  padding-top: 8px;             /* pequeño respiro antes del panel */
}

/* Descripción en el panel (debajo del título) con tamaño mayor */
.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .step-desc{
  display: block;
  font-size: 20px;              /* ← tamaño de la descripción abierta */
  line-height: 1.35;
  color: #000000;               /* si la quieres en azul; cámbialo si prefieres gris */
  font-weight: 500;             /* “subtítulo” fuerte */
  margin: 4px 0 5px;
}

/* Responsive opcional */
@media (max-width: 767px){
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header{ font-size: 18px; }
  .elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .e-n-accordion-item-title-header{ font-size: 22px; }
}

/* Quitar cualquier fondo/borde/box-shadow del panel abierto */
.elementor-1074 .elementor-element.elementor-element-ea55681 details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;   /* deja solo el respiro superior si quieres */
}

/* Quitar recuadros del Text Editor dentro de los panels */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item .elementor-widget-text-editor,
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;        /* elimina padding del “cajón” */
}

/* Por si algún kit añade borde global a widgets dentro del panel */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item .elementor-widget,
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-ea55681 *//* Reset y base */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion{ counter-reset: paso; }
.elementor-1074 .elementor-element.elementor-element-ea55681 details.e-n-accordion-item{
  position: relative;
  padding-left: 72px;               /* espacio para el número */
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
  counter-increment: paso;          /* ← incrementa aquí */
}
.elementor-1074 .elementor-element.elementor-element-ea55681 summary.e-n-accordion-item-title{
  list-style: none;
  display: flex; align-items: flex-start; gap: 16px;
  padding: 18px 12px 18px 0;
  border: 0; background: transparent;
}
.elementor-1074 .elementor-element.elementor-element-ea55681 details > summary::-webkit-details-marker{ display: none; }

/* Número 01, 02, 03... */
.elementor-1074 .elementor-element.elementor-element-ea55681 summary.e-n-accordion-item-title::before{
  content: counter(paso, decimal-leading-zero);
  position: absolute; left: 0; top: 6px;
  font-weight: 700; font-size: 40px; line-height: 1;
  color: #0A2A7A;
}

/* Título: bold y 2 líneas */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción inyectada en el encabezado (lado derecho) */
.elementor-1074 .elementor-element.elementor-element-ea55681 .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* (Opcional) Par ocultar la copia dentro del panel */
/*.elementor-1074 .elementor-element.elementor-element-ea55681 .step-desc{ display: none; }*/

/* Quitar recuadro azul del item abierto, si lo ves */
.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] > summary{ box-shadow:none !important; border:0 !important; }

/* Responsive */
@media (max-width:767px){
  .elementor-1074 .elementor-element.elementor-element-ea55681 details.e-n-accordion-item{ padding-left: 52px; }
  .elementor-1074 .elementor-element.elementor-element-ea55681 summary.e-n-accordion-item-title::before{ font-size: 32px; top: 4px; }
  .elementor-1074 .elementor-element.elementor-element-ea55681 .step-inline-desc{ display: none; } /* o apílala si la quieres visible */
}

/* Título más grande y en negritas */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header,
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;        /* ← ajusta a 20–24px a gusto */
  line-height: 1.25;
  font-weight: 700;       /* si tu fuente no tiene 800, usa 700 */
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;  /* sigue topando a 2 líneas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 350px;
}

/* Opcional: responsive */
@media (max-width: 1024px){
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header,
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}
@media (max-width: 767px){
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header,
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO (como lo tienes ahora) --- */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header,
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;             /* título cerrado */
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}
.elementor-1074 .elementor-element.elementor-element-ea55681 .step-inline-desc{    /* descripción en encabezado (derecha) */
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Por defecto la copia del panel oculta (la mostramos al abrir) */
.elementor-1074 .elementor-element.elementor-element-ea55681 .step-desc{ display: none; }

/* --- Estado ABIERTO --- */
.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .e-n-accordion-item-title-header,
.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;             /* ← tamaño del título abierto */
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;   /* sin tope de líneas al abrir */
  display: block;
   max-width: 600px;
}

.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .step-inline-desc{
  display: none;                /* ya no a la derecha cuando está abierto */
}

.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] > .e-con.e-child{
  padding-top: 8px;             /* pequeño respiro antes del panel */
}

/* Descripción en el panel (debajo del título) con tamaño mayor */
.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .step-desc{
  display: block;
  font-size: 20px;              /* ← tamaño de la descripción abierta */
  line-height: 1.35;
  color: #000000;               /* si la quieres en azul; cámbialo si prefieres gris */
  font-weight: 500;             /* “subtítulo” fuerte */
  margin: 4px 0 5px;
}

/* Responsive opcional */
@media (max-width: 767px){
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header{ font-size: 18px; }
  .elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .e-n-accordion-item-title-header{ font-size: 22px; }
}

/* Quitar cualquier fondo/borde/box-shadow del panel abierto */
.elementor-1074 .elementor-element.elementor-element-ea55681 details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;   /* deja solo el respiro superior si quieres */
}

/* Quitar recuadros del Text Editor dentro de los panels */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item .elementor-widget-text-editor,
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;        /* elimina padding del “cajón” */
}

/* Por si algún kit añade borde global a widgets dentro del panel */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item .elementor-widget,
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-ea55681 *//* Reset y base */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion{ counter-reset: paso; }
.elementor-1074 .elementor-element.elementor-element-ea55681 details.e-n-accordion-item{
  position: relative;
  padding-left: 72px;               /* espacio para el número */
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
  counter-increment: paso;          /* ← incrementa aquí */
}
.elementor-1074 .elementor-element.elementor-element-ea55681 summary.e-n-accordion-item-title{
  list-style: none;
  display: flex; align-items: flex-start; gap: 16px;
  padding: 18px 12px 18px 0;
  border: 0; background: transparent;
}
.elementor-1074 .elementor-element.elementor-element-ea55681 details > summary::-webkit-details-marker{ display: none; }

/* Número 01, 02, 03... */
.elementor-1074 .elementor-element.elementor-element-ea55681 summary.e-n-accordion-item-title::before{
  content: counter(paso, decimal-leading-zero);
  position: absolute; left: 0; top: 6px;
  font-weight: 700; font-size: 40px; line-height: 1;
  color: #0A2A7A;
}

/* Título: bold y 2 líneas */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción inyectada en el encabezado (lado derecho) */
.elementor-1074 .elementor-element.elementor-element-ea55681 .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* (Opcional) Par ocultar la copia dentro del panel */
/*.elementor-1074 .elementor-element.elementor-element-ea55681 .step-desc{ display: none; }*/

/* Quitar recuadro azul del item abierto, si lo ves */
.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] > summary{ box-shadow:none !important; border:0 !important; }

/* Responsive */
@media (max-width:767px){
  .elementor-1074 .elementor-element.elementor-element-ea55681 details.e-n-accordion-item{ padding-left: 52px; }
  .elementor-1074 .elementor-element.elementor-element-ea55681 summary.e-n-accordion-item-title::before{ font-size: 32px; top: 4px; }
  .elementor-1074 .elementor-element.elementor-element-ea55681 .step-inline-desc{ display: none; } /* o apílala si la quieres visible */
}

/* Título más grande y en negritas */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header,
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;        /* ← ajusta a 20–24px a gusto */
  line-height: 1.25;
  font-weight: 700;       /* si tu fuente no tiene 800, usa 700 */
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;  /* sigue topando a 2 líneas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 350px;
}

/* Opcional: responsive */
@media (max-width: 1024px){
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header,
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}
@media (max-width: 767px){
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header,
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO (como lo tienes ahora) --- */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header,
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;             /* título cerrado */
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}
.elementor-1074 .elementor-element.elementor-element-ea55681 .step-inline-desc{    /* descripción en encabezado (derecha) */
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Por defecto la copia del panel oculta (la mostramos al abrir) */
.elementor-1074 .elementor-element.elementor-element-ea55681 .step-desc{ display: none; }

/* --- Estado ABIERTO --- */
.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .e-n-accordion-item-title-header,
.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;             /* ← tamaño del título abierto */
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;   /* sin tope de líneas al abrir */
  display: block;
   max-width: 600px;
}

.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .step-inline-desc{
  display: none;                /* ya no a la derecha cuando está abierto */
}

.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] > .e-con.e-child{
  padding-top: 8px;             /* pequeño respiro antes del panel */
}

/* Descripción en el panel (debajo del título) con tamaño mayor */
.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .step-desc{
  display: block;
  font-size: 20px;              /* ← tamaño de la descripción abierta */
  line-height: 1.35;
  color: #000000;               /* si la quieres en azul; cámbialo si prefieres gris */
  font-weight: 500;             /* “subtítulo” fuerte */
  margin: 4px 0 5px;
}

/* Responsive opcional */
@media (max-width: 767px){
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header{ font-size: 18px; }
  .elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .e-n-accordion-item-title-header{ font-size: 22px; }
}

/* Quitar cualquier fondo/borde/box-shadow del panel abierto */
.elementor-1074 .elementor-element.elementor-element-ea55681 details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;   /* deja solo el respiro superior si quieres */
}

/* Quitar recuadros del Text Editor dentro de los panels */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item .elementor-widget-text-editor,
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;        /* elimina padding del “cajón” */
}

/* Por si algún kit añade borde global a widgets dentro del panel */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item .elementor-widget,
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6c92f0f *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .tm td.sticky,
.tabla-monitoreo .tm th.sticky{
  position: sticky; left: 0; z-index: 3; background: inherit;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-00d1ee8 *//* ============================================================
   ACORDEÓN PROGRAMAS  (usa la clase .acordeon-programas)
   ============================================================ */

/* 1) Reset del contador en el contenedor del widget */
.acordeon-programas{
  counter-reset: incisoProg;
}

/* Item del acordeón */
.acordeon-programas .e-n-accordion details.e-n-accordion-item{
  position: relative;
  padding-left: 0;
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
}

/* 2) Cada summary incrementa la letra: a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title{
  counter-increment: incisoProg;
  list-style: none;
  display: flex !important;
  align-items: flex-start;        /* texto y letra en la MISMA fila */
  gap: 12px;
  padding: 18px 12px 18px 0;      /* sin padding-left extra */
  border: 0;
  background: transparent;
}



/* Ocultar el marcador nativo de <details> */
.acordeon-programas .e-n-accordion details > summary::-webkit-details-marker{
  display: none;
}

/* 3) Incisos a., b., c... */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  content: counter(incisoProg, lower-alpha) ". " !important;
  display: inline-block;
  flex: 0 0 32px;        /* “columna” fija para la letra */
  text-align: right;
  margin-top: 2px;       /* pequeño ajuste visual */
  font-weight: 700;
  font-size: 26px !important;       /* baja un poco para no “brincar” */
  line-height: 2 !important;
  color: #0A2A7A;
}



/* Título: bold y 2 líneas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción derecha (estado cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* Quitar recuadro azul del abierto */
.acordeon-programas .e-n-accordion details[open] > summary{
  box-shadow:none !important;
  border:0 !important;
}

/* Responsive básico */
@media (max-width:767px){
  .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
    font-size: 20px;
  }
  .acordeon-programas .e-n-accordion .step-inline-desc{
    display: none;
  }
}

/* Título más grande y en negritas */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 550px;
}

@media (max-width: 1024px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}

@media (max-width: 767px){
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
  .acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO --- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

/* Descripción en el encabezado (derecha) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
}

/* Copia del panel oculta por defecto */
.acordeon-programas .e-n-accordion .step-desc{
  display: none;
}

/* --- Estado ABIERTO --- */
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;
  display: block;
  max-width: 600px;
}

.acordeon-programas .e-n-accordion details[open] .step-inline-desc{
  display: none;
}

.acordeon-programas .e-n-accordion details[open] > .e-con.e-child{
  padding-top: 8px;
}

/* Descripción del panel en abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  display: block;
  font-size: 20px;
  line-height: 1.35;
  color: #000;
  font-weight: 500;
  margin: 4px 0 5px;
}

/* Quitar fondos/bordes de panel */
.acordeon-programas .e-n-accordion details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;
}

/* Quitar recuadros a widgets internos */
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget,
.acordeon-programas .e-n-accordion .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   ACORDEÓN PROGRAMAS – AJUSTE FINAL
   16px CERRADO / 18px ABIERTO
   ============================================================ */

/* Incisos a., b., c. */
body .acordeon-programas .e-n-accordion summary.e-n-accordion-item-title::before{
  font-size: 20px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
}

/* ---------- ESTADO CERRADO ---------- */
.acordeon-programas .e-n-accordion .e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  max-width: 520px;
}

/* Descripción derecha (cerrado) */
.acordeon-programas .e-n-accordion .step-inline-desc{
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
}

/* ---------- ESTADO ABIERTO ---------- */
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header,
.acordeon-programas .e-n-accordion details[open]
.e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  max-width: 560px;
}

/* Texto del panel abierto */
.acordeon-programas .e-n-accordion details[open] .step-desc{
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-ea55681 *//* Reset y base */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion{ counter-reset: paso; }
.elementor-1074 .elementor-element.elementor-element-ea55681 details.e-n-accordion-item{
  position: relative;
  padding-left: 72px;               /* espacio para el número */
  border-bottom: 1px solid #D9DBE1;
  background: transparent;
  counter-increment: paso;          /* ← incrementa aquí */
}
.elementor-1074 .elementor-element.elementor-element-ea55681 summary.e-n-accordion-item-title{
  list-style: none;
  display: flex; align-items: flex-start; gap: 16px;
  padding: 18px 12px 18px 0;
  border: 0; background: transparent;
}
.elementor-1074 .elementor-element.elementor-element-ea55681 details > summary::-webkit-details-marker{ display: none; }

/* Número 01, 02, 03... */
.elementor-1074 .elementor-element.elementor-element-ea55681 summary.e-n-accordion-item-title::before{
  content: counter(paso, decimal-leading-zero);
  position: absolute; left: 0; top: 6px;
  font-weight: 700; font-size: 40px; line-height: 1;
  color: #0A2A7A;
}

/* Título: bold y 2 líneas */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header{
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0A2A7A;
}

/* Descripción inyectada en el encabezado (lado derecho) */
.elementor-1074 .elementor-element.elementor-element-ea55681 .step-inline-desc{
  margin-left: auto;
  max-width: 52ch;
  color: #848484;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
}

/* (Opcional) Par ocultar la copia dentro del panel */
/*.elementor-1074 .elementor-element.elementor-element-ea55681 .step-desc{ display: none; }*/

/* Quitar recuadro azul del item abierto, si lo ves */
.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] > summary{ box-shadow:none !important; border:0 !important; }

/* Responsive */
@media (max-width:767px){
  .elementor-1074 .elementor-element.elementor-element-ea55681 details.e-n-accordion-item{ padding-left: 52px; }
  .elementor-1074 .elementor-element.elementor-element-ea55681 summary.e-n-accordion-item-title::before{ font-size: 32px; top: 4px; }
  .elementor-1074 .elementor-element.elementor-element-ea55681 .step-inline-desc{ display: none; } /* o apílala si la quieres visible */
}

/* Título más grande y en negritas */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header,
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 17px;        /* ← ajusta a 20–24px a gusto */
  line-height: 1.25;
  font-weight: 700;       /* si tu fuente no tiene 800, usa 700 */
  color: #0A2A7A;
  display: -webkit-box;
  -webkit-line-clamp: 2;  /* sigue topando a 2 líneas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 350px;
}

/* Opcional: responsive */
@media (max-width: 1024px){
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header,
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 20px;
  }
}
@media (max-width: 767px){
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header,
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
    font-size: 18px;
  }
}

/* --- Estado CERRADO (como lo tienes ahora) --- */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header,
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 22px;             /* título cerrado */
  line-height: 1.25;
  font-weight: 800;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}
.elementor-1074 .elementor-element.elementor-element-ea55681 .step-inline-desc{    /* descripción en encabezado (derecha) */
  margin-left: auto;
  max-width: 36ch;
  color: #4B5563;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Por defecto la copia del panel oculta (la mostramos al abrir) */
.elementor-1074 .elementor-element.elementor-element-ea55681 .step-desc{ display: none; }

/* --- Estado ABIERTO --- */
.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .e-n-accordion-item-title-header,
.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .e-n-accordion-item-title-header .e-n-accordion-item-title-text{
  font-size: 25px;             /* ← tamaño del título abierto */
  line-height: 1.2;
  font-weight: 800;
  -webkit-line-clamp: unset;   /* sin tope de líneas al abrir */
  display: block;
   max-width: 600px;
}

.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .step-inline-desc{
  display: none;                /* ya no a la derecha cuando está abierto */
}

.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] > .e-con.e-child{
  padding-top: 8px;             /* pequeño respiro antes del panel */
}

/* Descripción en el panel (debajo del título) con tamaño mayor */
.elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .step-desc{
  display: block;
  font-size: 20px;              /* ← tamaño de la descripción abierta */
  line-height: 1.35;
  color: #000000;               /* si la quieres en azul; cámbialo si prefieres gris */
  font-weight: 500;             /* “subtítulo” fuerte */
  margin: 4px 0 5px;
}

/* Responsive opcional */
@media (max-width: 767px){
  .elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item-title-header{ font-size: 18px; }
  .elementor-1074 .elementor-element.elementor-element-ea55681 details[open] .e-n-accordion-item-title-header{ font-size: 22px; }
}

/* Quitar cualquier fondo/borde/box-shadow del panel abierto */
.elementor-1074 .elementor-element.elementor-element-ea55681 details > .e-con.e-child{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 0 0;   /* deja solo el respiro superior si quieres */
}

/* Quitar recuadros del Text Editor dentro de los panels */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item .elementor-widget-text-editor,
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;        /* elimina padding del “cajón” */
}

/* Por si algún kit añade borde global a widgets dentro del panel */
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item .elementor-widget,
.elementor-1074 .elementor-element.elementor-element-ea55681 .e-n-accordion-item .elementor-widget .elementor-widget-container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1a2a648 */.enlaces { scroll-margin-top: 300px; } /* ajusta 96px al alto de tu header */
.hash-shim::before{
  content:"";
  display:block;
  height:140px;      /* ajusta a la altura total de tu header+barra WP */
  margin-top:-140px; /* mismo valor en negativo */
}
#consejoRector{ scroll-margin-top: 200px; }
#politicas{ scroll-margin-top: 200px; }/* End custom CSS */
/* Start custom CSS */#rendicioncuentas { scroll-margin-top: 120px; } /* ajusta 120px a tu header *//* End custom CSS */