.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%;}.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-e197722{--display:flex;}.elementor-1074 .elementor-element.elementor-element-2c77654{--display:flex;}.elementor-1074 .elementor-element.elementor-element-2b488a7{--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-b5d0a56{--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-a28ffe7 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-01749e2{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-01749e2.elementor-element{--align-self:flex-start;}.elementor-1074 .elementor-element.elementor-element-01749e2 .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-fa2c18b{width:100%;max-width:100%;}.elementor-1074 .elementor-element.elementor-element-fa2c18b.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-1074 .elementor-element.elementor-element-fa2c18b .elementor-button{font-family:"Open Sans", Sans-serif;font-size:1.5em;font-weight:600;}.elementor-1074 .elementor-element.elementor-element-81531cf{--display:flex;}.elementor-1074 .elementor-element.elementor-element-27b5a2b{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-b9ac683{--display:flex;}.elementor-1074 .elementor-element.elementor-element-4e2effa{--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-2d6e5fb{--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-6dd83c1{text-align:center;}.elementor-1074 .elementor-element.elementor-element-6dd83c1 img{width:100%;}.elementor-1074 .elementor-element.elementor-element-737d64a{--display:flex;}.elementor-1074 .elementor-element.elementor-element-eded6a1{--display:flex;}.elementor-1074 .elementor-element.elementor-element-9841d5c{--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-6749082{--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-864e14f{text-align:center;}.elementor-1074 .elementor-element.elementor-element-864e14f img{width:100%;}.elementor-1074 .elementor-element.elementor-element-bc9e818{--display:flex;}.elementor-1074 .elementor-element.elementor-element-89089f9{--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-40b1bce{--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-4cc7d30 img{width:100%;}.elementor-1074 .elementor-element.elementor-element-9d9e4d2{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-9d9e4d2.elementor-element{--align-self:flex-start;}.elementor-1074 .elementor-element.elementor-element-9d9e4d2 .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-2c8fa7f{width:100%;max-width:100%;}.elementor-1074 .elementor-element.elementor-element-2c8fa7f.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-1074 .elementor-element.elementor-element-2c8fa7f .elementor-button{font-family:"Open Sans", Sans-serif;font-size:1.5em;font-weight:600;}.elementor-1074 .elementor-element.elementor-element-4a90a5f{--display:flex;}.elementor-1074 .elementor-element.elementor-element-f92f273{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-8d0b347{--display:flex;}.elementor-1074 .elementor-element.elementor-element-7c026a1{--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-e65efa2{--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-527c979 img{width:100%;}.elementor-1074 .elementor-element.elementor-element-4d489df{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-4d489df.elementor-element{--align-self:flex-start;}.elementor-1074 .elementor-element.elementor-element-4d489df .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-352b8c5{width:100%;max-width:100%;}.elementor-1074 .elementor-element.elementor-element-352b8c5.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-1074 .elementor-element.elementor-element-352b8c5 .elementor-button{font-family:"Open Sans", Sans-serif;font-size:1.5em;font-weight:600;}.elementor-1074 .elementor-element.elementor-element-383fb22{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-383fb22.elementor-element{--align-self:stretch;--flex-grow:1;--flex-shrink:0;}.elementor-1074 .elementor-element.elementor-element-383fb22 img{width:100%;max-width:100%;height:100%;object-fit:scale-down;object-position:center center;opacity:1;}.elementor-1074 .elementor-element.elementor-element-4300bac{--display:flex;}.elementor-1074 .elementor-element.elementor-element-5e61544{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-f7b6cfd{--display:flex;}.elementor-1074 .elementor-element.elementor-element-bf508a2{--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-f8b5336{text-align:center;}.elementor-1074 .elementor-element.elementor-element-f8b5336 img{width:100%;}.elementor-1074 .elementor-element.elementor-element-85ac196{--display:flex;}.elementor-1074 .elementor-element.elementor-element-e6ee395{--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-5752228{text-align:center;}.elementor-1074 .elementor-element.elementor-element-5752228 img{width:100%;}.elementor-1074 .elementor-element.elementor-element-981a327{--display:flex;}.elementor-1074 .elementor-element.elementor-element-42667d1{--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-677a7d7{text-align:center;}.elementor-1074 .elementor-element.elementor-element-677a7d7 img{width:100%;}.elementor-1074 .elementor-element.elementor-element-3a5578d{--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-3a5578d > .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-3a5578d.elementor-element{--align-self:stretch;}:where( .elementor-1074 .elementor-element.elementor-element-3a5578d > .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-682002f{--display:flex;}.elementor-1074 .elementor-element.elementor-element-5643b68{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-32f5e23{--display:flex;}.elementor-1074 .elementor-element.elementor-element-eb6266d{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-5e7befa{--display:flex;}.elementor-1074 .elementor-element.elementor-element-c9abfbb{padding:0px 50px 0px 50px;column-gap:0px;}.elementor-1074 .elementor-element.elementor-element-b7321f9{--display:flex;}.elementor-1074 .elementor-element.elementor-element-2553435{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;margin:-60px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;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-2d6e5fb{--grid-auto-flow:row;}.elementor-1074 .elementor-element.elementor-element-6749082{--grid-auto-flow:row;}.elementor-1074 .elementor-element.elementor-element-bf508a2{--grid-auto-flow:row;}.elementor-1074 .elementor-element.elementor-element-e6ee395{--grid-auto-flow:row;}.elementor-1074 .elementor-element.elementor-element-42667d1{--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-e197722{--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-2c77654{--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-27b5a2b{text-align:left;}.elementor-1074 .elementor-element.elementor-element-b9ac683{--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-2d6e5fb{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-1074 .elementor-element.elementor-element-4fe7201{text-align:left;}.elementor-1074 .elementor-element.elementor-element-eded6a1{--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-6749082{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-1074 .elementor-element.elementor-element-bc9e818{--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-8d0b347{--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-f7b6cfd{--width:120%;--margin-top:0px;--margin-bottom:0px;--margin-left:-50px;--margin-right:0px;}.elementor-1074 .elementor-element.elementor-element-bf508a2{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-1074 .elementor-element.elementor-element-85ac196{--width:120%;--margin-top:0px;--margin-bottom:0px;--margin-left:-50px;--margin-right:0px;}.elementor-1074 .elementor-element.elementor-element-e6ee395{--e-con-grid-template-columns:1;--grid-auto-flow:row;}.elementor-1074 .elementor-element.elementor-element-981a327{--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-42667d1{--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-5643b68{text-align:left;}.elementor-1074 .elementor-element.elementor-element-eb6266d{text-align:left;}.elementor-1074 .elementor-element.elementor-element-2553435{text-align:left;}}/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* 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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* 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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* 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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* 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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

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

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

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

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

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* 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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-9765c75 *//* Altura y scroll del área de datos */
.tabla-monitoreo { --alto: 520px; }                    /* ajusta la altura visible */
.tabla-monitoreo .tabla-scroll{
  max-height: var(--alto);
  overflow: auto;                                      /* scroll vertical (y horizontal si hace falta) */
  border: 1px solid #cdd6df;
}

/* Tabla base */
.tabla-monitoreo .tm{ width:100%; border-collapse:separate; border-spacing:0; }
.tabla-monitoreo .tm th,
.tabla-monitoreo .tm td{ padding:16px; vertical-align:top; border-bottom:1px solid #cdd6df; }
.tabla-monitoreo .tm td + td,
.tabla-monitoreo .tm th + th{ border-left:1px solid #cdd6df; }

/* Encabezado “pegajoso” */
.tabla-monitoreo .tm thead th{
  position: sticky; top: 0; z-index: 2;
  background:#1f4b7f; color:#fff; font-weight:700;
  /* pequeña línea inferior para separar visualmente */
  box-shadow: inset 0 -1px 0 #cdd6df;
}

/* Rayado tipo imagen de ejemplo */
.tabla-monitoreo .tm tbody tr:nth-child(odd)  td{ background:#eaf6fc; }
.tabla-monitoreo .tm tbody tr:nth-child(even) td{ background:#d6eef9; }

/* En móviles: permitir scroll horizontal si la tabla es muy ancha */
@media (max-width: 767px){
  .tabla-monitoreo .tm{ min-width: 900px; }           /* fuerza carril horizontal si hay muchas columnas */
}

/* (Opcional) Primera columna también fija a la izquierda */
.tabla-monitoreo .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-3a5578d *//* ============================================================
   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;
}/* 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 */
}/* End custom CSS */
/* Start custom CSS */#rendicioncuentas { scroll-margin-top: 120px; } /* ajusta 120px a tu header *//* End custom CSS */