.elementor-40 .elementor-element.elementor-element-3922a64{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:-100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-60d7ea1{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{font-family:var( --e-global-typography-accent-font-family ), Arial, sans-serif;font-weight:var( --e-global-typography-accent-font-weight );--n-menu-title-line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-mega-menu{--n-menu-title-font-size:var( --e-global-typography-accent-font-size );--n-menu-divider-color:var( --e-global-color-text );}.elementor-40 .elementor-element.elementor-element-aedca23{--display:flex;}.elementor-40 .elementor-element.elementor-element-b1c0eb7{--display:flex;}.elementor-40 .elementor-element.elementor-element-1f46adf{--display:flex;}.elementor-40 .elementor-element.elementor-element-b410107{--display:flex;}.elementor-40 .elementor-element.elementor-element-92283cc{--display:flex;}.elementor-40 .elementor-element.elementor-element-9588a15{--display:flex;}.elementor-40 .elementor-element.elementor-element-218c5ea{--display:flex;}.elementor-40 .elementor-element.elementor-element-4cda489{--n-menu-dropdown-content-max-width:initial;--n-menu-heading-justify-content:center;--n-menu-title-flex-grow:initial;--n-menu-title-justify-content:initial;--n-menu-title-justify-content-mobile:center;--n-menu-heading-wrap:wrap;--n-menu-heading-overflow-x:initial;--n-menu-title-distance-from-content:0px;--n-menu-open-animation-duration:500ms;--n-menu-toggle-icon-wrapper-animation-duration:500ms;--n-menu-title-space-between:0px;--n-menu-title-font-size:14px;--n-menu-title-transition:300ms;--n-menu-title-padding:0px 5px 0px 5px;--n-menu-icon-size:16px;--n-menu-toggle-icon-size:20px;--n-menu-toggle-icon-hover-duration:500ms;--n-menu-toggle-icon-distance-from-dropdown:0px;}.elementor-40 .elementor-element.elementor-element-4cda489 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-40 .elementor-element.elementor-element-4cda489 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-40 .elementor-element.elementor-element-4cda489 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{font-family:"Avenir", Arial, sans-serif;font-weight:600;--n-menu-title-line-height:1.2;}.elementor-40 .elementor-element.elementor-element-59bf2e7{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-f5240cf{--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;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-3b3cd0f{--display:flex;--border-radius:20px 20px 20px 20px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-74d9020{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-8a41433{width:var( --container-widget-width, 95% );max-width:95%;padding:0px 0px 0px 0px;--container-widget-width:95%;--container-widget-flex-grow:0;}.elementor-40 .elementor-element.elementor-element-8a41433.elementor-element{--align-self:center;}.elementor-40 .elementor-element.elementor-element-9b4470c{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-21369fe{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-e24b04c{--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:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.3;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-e24b04c::before, .elementor-40 .elementor-element.elementor-element-e24b04c > .elementor-background-video-container::before, .elementor-40 .elementor-element.elementor-element-e24b04c > .e-con-inner > .elementor-background-video-container::before, .elementor-40 .elementor-element.elementor-element-e24b04c > .elementor-background-slideshow::before, .elementor-40 .elementor-element.elementor-element-e24b04c > .e-con-inner > .elementor-background-slideshow::before, .elementor-40 .elementor-element.elementor-element-e24b04c > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#D1D5DB;--background-overlay:'';}.elementor-40 .elementor-element.elementor-element-50437b0{--display:flex;--border-radius:20px 20px 20px 20px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-e988d13{--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:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.3;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-e988d13::before, .elementor-40 .elementor-element.elementor-element-e988d13 > .elementor-background-video-container::before, .elementor-40 .elementor-element.elementor-element-e988d13 > .e-con-inner > .elementor-background-video-container::before, .elementor-40 .elementor-element.elementor-element-e988d13 > .elementor-background-slideshow::before, .elementor-40 .elementor-element.elementor-element-e988d13 > .e-con-inner > .elementor-background-slideshow::before, .elementor-40 .elementor-element.elementor-element-e988d13 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#D1D5DB;--background-overlay:'';}.elementor-40 .elementor-element.elementor-element-90d858f{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:30px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-1b939db{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-c886175{width:100%;max-width:100%;}.elementor-40 .elementor-element.elementor-element-d948d57{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-6eb4107{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-93f4874{--spacer-size:50px;}:root{--page-title-display:none;}@media(max-width:1366px){.elementor-40 .elementor-element.elementor-element-3922a64{--margin-top:-65px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-mega-menu{--n-menu-title-font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{--n-menu-title-line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-40 .elementor-element.elementor-element-4cda489 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-40 .elementor-element.elementor-element-4cda489 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-40 .elementor-element.elementor-element-4cda489 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{--n-menu-title-line-height:1.2;}.elementor-40 .elementor-element.elementor-element-e24b04c{--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-40 .elementor-element.elementor-element-e988d13{--gap:20px 20px;--row-gap:20px;--column-gap:20px;}}@media(max-width:1200px){.elementor-40 .elementor-element.elementor-element-4cda489 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-40 .elementor-element.elementor-element-4cda489 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-40 .elementor-element.elementor-element-4cda489 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{--n-menu-title-line-height:1.2;}.elementor-40 .elementor-element.elementor-element-f5240cf{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-40 .elementor-element.elementor-element-74d9020{--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-9b4470c{--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-21369fe{--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-e24b04c{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-e988d13{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-90d858f{--padding-top:30px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-d948d57{--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(max-width:1024px){.elementor-widget-mega-menu{--n-menu-title-font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{--n-menu-title-line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-40 .elementor-element.elementor-element-4cda489 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-40 .elementor-element.elementor-element-4cda489 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-40 .elementor-element.elementor-element-4cda489 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{--n-menu-title-line-height:1.2;}.elementor-40 .elementor-element.elementor-element-f5240cf{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-3b3cd0f{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-21369fe{--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-e24b04c{--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:24px 24px;--row-gap:24px;--column-gap:24px;--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-e988d13{--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:24px 24px;--row-gap:24px;--column-gap:24px;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-d948d57{--margin-top:-29px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}}@media(max-width:880px){.elementor-40 .elementor-element.elementor-element-4cda489 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-40 .elementor-element.elementor-element-4cda489 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-40 .elementor-element.elementor-element-4cda489 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{--n-menu-title-line-height:1.2;}.elementor-40 .elementor-element.elementor-element-f5240cf{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-21369fe{--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-e24b04c{--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;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-e988d13{--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;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-d948d57{--margin-top:-41px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(max-width:767px){.elementor-40 .elementor-element.elementor-element-3922a64{--margin-top:-75px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-mega-menu{--n-menu-title-font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{--n-menu-title-line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-40 .elementor-element.elementor-element-4cda489 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-40 .elementor-element.elementor-element-4cda489 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-40 .elementor-element.elementor-element-4cda489 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{--n-menu-title-line-height:1.2;}.elementor-40 .elementor-element.elementor-element-f5240cf{--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-74d9020{--padding-top:10px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-21369fe{--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-e24b04c{--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-e988d13{--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-40 .elementor-element.elementor-element-1b939db{--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS *//* ==========================================================
   TOKENS COMPARTIDOS DE LA PORTADA
   Complementan codhem-global.css.
   ========================================================== */

:root,
.elementor-kit-7 {
  --codhem-container: 1180px;
  --codhem-container-text: 760px;
  --codhem-gutter: clamp(16px, 3vw, 28px);
  --codhem-section-y: clamp(34px, 4.5vw, 56px);

  --codhem-space-1: 4px;
  --codhem-space-2: 8px;
  --codhem-space-3: 12px;
  --codhem-space-4: 16px;
  --codhem-space-5: 20px;
  --codhem-space-6: 24px;
  --codhem-space-7: 28px;
  --codhem-space-8: 32px;
  --codhem-space-10: 40px;
  --codhem-space-12: 48px;

  --codhem-radius-xs: 8px;
  --codhem-radius-sm: 10px;
  --codhem-radius-md: 16px;
  --codhem-radius-lg: 28px;
  --codhem-radius-pill: 999px;

  --codhem-border: rgba(21, 54, 89, .12);
  --codhem-shadow-sm: 0 6px 18px rgba(21, 54, 89, .08);
  --codhem-shadow-md: 0 14px 34px rgba(21, 54, 89, .12);
  --codhem-shadow-lg: 0 22px 55px rgba(21, 54, 89, .16);
  --codhem-duration: 180ms;
  --codhem-ease: cubic-bezier(.2, .7, .2, 1);
}

/* Previene diferencias de ancho causadas por padding y bordes. */
:where(
  .codhem-hero,
  .codhem-carousel-section,
  .codhem-itinerante-card,
  .codhem-prensa-section,
  .codhem-micrositios-section,
  .codhem-transparencia,
  .codhem-formacion-destacada,
  .codhem-informe,
  .codhem-eventos-section,
  .codhem-eventos-externos,
  .codhem-enlaces,
  .codhem-visitadurias
),
:where(
  .codhem-hero,
  .codhem-carousel-section,
  .codhem-itinerante-card,
  .codhem-prensa-section,
  .codhem-micrositios-section,
  .codhem-transparencia,
  .codhem-formacion-destacada,
  .codhem-informe,
  .codhem-eventos-section,
  .codhem-eventos-externos,
  .codhem-enlaces,
  .codhem-visitadurias
) :where(*, *::before, *::after) {
  box-sizing: border-box;
}

/* ==========================================================
   PÁGINA DE INICIO CODHEM
   Cargar después de codhem-global.css
   Contiene únicamente las secciones de la portada.
   ========================================================== */

/* ==========================================================
   HERO
   ========================================================== */

/* Evita que padding y bordes alteren las medidas. */
.codhem-hero,
.codhem-hero * {
  box-sizing: border-box;
}

.codhem-hero {
  position: relative;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0!important;
  gap: 0 !important;
  overflow: hidden;
}

/* Elementor puede añadir un envoltorio interno con espacio propio. */
.codhem-hero > .e-con-inner {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 20px !important;
  gap: 0 !important;
}

/* La envolvente inmediatamente anterior tampoco debe reservar separación. */
.codhem-hero-inner,
.codhem-hero-inner > .e-con-inner {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* La fotografía se configura como fondo de este contenedor en Elementor. */
.codhem-hero-inner {
  position: relative;
  isolation: isolate;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-height: 550px;
  margin: 0 !important;
  padding: 54px clamp(24px, 6vw, 92px) !important;
  overflow: hidden;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

/* Degradado suave detrás del texto. */
.codhem-hero-inner::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(21, 54, 89, 0.22) 0%,
    rgba(21, 54, 89, 0.07) 46%,
    rgba(21, 54, 89, 0) 72%
  );
}

/* ---------- Aniversario + lazo del Mes Rosa ---------- */

.codhem-hero-media {
  position: absolute !important;
  z-index: 4;
  top: 42px;
  right: clamp(28px, 5vw, 72px);

  display: block !important;
  width: clamp(220px, 20vw, 300px) !important;
  max-width: calc(100% - 32px) !important;

  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;
  pointer-events: none;
}

/* Por si el contenedor usa ancho encajonado */

.codhem-hero-media > .e-con-inner {
  position: relative;
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  overflow: visible !important;
}

/* Tarjeta del 33 */
.codhem-hero-media .codhem-hero-anniversary {
  position: relative;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 10px 14px !important;
  overflow: hidden;

  background: #FBE4ED !important;
  border: 1px solid #EDB4C9 !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 22px rgba(21, 54, 89, 0.14) !important;
}

/* Evita un fondo blanco añadido al envoltorio */
.codhem-hero-anniversary > .elementor-widget-container {
  background: transparent !important;
}

/* Imagen del aniversario */
.codhem-hero-anniversary img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  background: transparent !important;
}

/* Contenedor que sirve de referencia al moño */
.codhem-hero-media,
.codhem-hero-media > .e-con-inner {
  overflow: visible !important;
}

.codhem-hero-media > .e-con-inner {
  position: relative !important;
}

/* Moño sobre el distintivo */
.codhem-hero-media .codhem-hero-ribbon {
  position: absolute !important;
  z-index: 2;

  top: auto !important;
  right: auto !important;
  left: -38px !important;
  bottom: -25px !important;

  width: calc(75% + 20px) !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  overflow: visible !important;

  pointer-events: auto;
  cursor: help;
}

.codhem-hero-ribbon img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
}

/* Mensaje */
.codhem-hero-ribbon::after {
  content: "Octubre · Mes Rosa ·  Sensibilización sobre el cáncer de mama.";
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 5;

  box-sizing: border-box;
  width: 230px;
  max-width: calc(100vw - 40px);
  padding: 10px 14px;

  background: #fff;
  border: 1px solid #edb4c9;
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(21, 54, 89, 0.14);

  color: #153659;
  font-family: inherit;
  font-size: 12px;
  line-height: 1.5;
  text-align: left;
  white-space: pre-line;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@media (hover: hover) {
  .codhem-hero-ribbon:hover::after {
    opacity: 1;
    visibility: visible;
  }
}

.codhem-hero-ribbon:focus-visible::after {
  opacity: 1;
  visibility: visible;
}

/* ---------- Tarjeta ---------- */
.codhem-hero-card {
  position: relative;
  z-index: 2;
  flex: 0 0 auto !important;
  align-self: center !important;
  width: min(510px, 46vw) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  background: rgba(249, 251, 250, 0.95) !important;
  border: 1px solid rgba(255, 255, 255, 0.92) !important;
  border-radius: 26px !important;
  box-shadow: 0 18px 45px rgba(21, 54, 89, 0.16) !important;
  backdrop-filter: blur(16px) saturate(110%);
  -webkit-backdrop-filter: blur(16px) saturate(110%);
}

.codhem-hero-main,
.codhem-hero-copy {
  flex: 0 0 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
}

.codhem-hero-main {
  gap: 18px !important;
}

.codhem-hero-copy {
  gap: 14px !important;
}

/* Fila institucional. */
.codhem-hero-copy > .e-con:first-child {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-height: 0 !important;
  gap: 10px !important;
}

.codhem-hero-copy > .e-con:first-child .elementor-widget-icon {
  flex: 0 0 auto !important;
}

.codhem-hero-copy > .e-con:first-child .elementor-icon {
  color: var(--codhem-primary) !important;
  font-size: 24px !important;
}

.codhem-hero-eyebrow,
.codhem-hero-title,
.codhem-hero-description {
  width: 100% !important;
  margin: 0 !important;
}

.codhem-hero-eyebrow {
  width: auto !important;
}

.codhem-hero-eyebrow .elementor-heading-title {
  margin: 0 !important;
  color: var(--codhem-primary) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.codhem-hero-title .elementor-heading-title {
  max-width: 450px;
  margin: 0 !important;
  color: var(--codhem-primary) !important;
  font-size: clamp(25px, 2vw, 29px) !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.8px !important;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.codhem-hero-description p {
  max-width: 440px;
  margin: 0 !important;
  color: #314b5a !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  overflow-wrap: anywhere;
}

/* ---------- Botones ---------- */
.codhem-hero-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: 100% !important;
  min-height: 0 !important;
  gap: 10px !important;
  margin: 0 !important;
}

.codhem-hero-actions .elementor-widget-button,
.codhem-hero-actions .elementor-button-wrapper {
  width: 100% !important;
  min-width: 0 !important;
}

.codhem-btn-secundario {
  grid-column: 1 / -1;
}

.codhem-hero-actions .elementor-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 50px !important;
  padding: 11px 14px !important;
  border: 2px solid transparent !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  white-space: normal !important;
  box-shadow: 0 7px 18px rgba(21, 54, 89, 0.12) !important;
  transition: transform 180ms ease, box-shadow 180ms ease !important;
}

.codhem-hero-actions .elementor-button-content-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

.codhem-hero-actions .elementor-button-icon {
  display: inline-flex !important;
  flex: 0 0 auto !important;
}

.codhem-hero-actions .elementor-button-icon svg {
  width: 16px !important;
  height: 16px !important;
}


.codhem-btn-queja .elementor-button {
  color: var(--codhem-primary) !important;
  background: var(--codhem-accent)!important;
}

.codhem-btn-visitaduria .elementor-button {
   color: var(--codhem-primary) !important;
  background: var(--codhem-mint)!important;
}

.codhem-btn-secundario .elementor-button {
  color: var(--codhem-primary) !important;
  background: #94BDD1!important;

}

.codhem-hero-actions .elementor-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 11px 24px rgba(21, 54, 89, 0.18) !important;
}

.codhem-hero-actions .elementor-button:focus-visible {
  outline: 4px solid var(--codhem-primary) !important;
  outline-offset: 3px !important;
}

/* ==========================================================
   TABLETA HORIZONTAL Y PORTÁTILES PEQUEÑAS
   ========================================================== */
@media (min-width: 1025px) and (max-width: 1200px) {
  .codhem-hero-inner {
    min-height: 520px;
    padding: 42px 36px !important;
    background-position: 58% center !important;
  }

  .codhem-hero-card {
    width: min(490px, 52vw) !important;
    padding: 27px 28px 25px !important;
  }

  .codhem-hero-media {
    top: 112px;
    right: 28px;
    width: 200px !important;
  }
  
  .codhem-hero-media .codhem-hero-ribbon {

  left: -28px !important;
  bottom: -18px !important;
}
  
  
  
}

/* En escritorio el menú flota sobre el hero.
   Se baja únicamente el distintivo, no el contenido completo. */
@media (min-width: 1201px) {
  .codhem-hero-media {
    top: 118px;
    right: clamp(28px, 5vw, 72px);
  }
  
  
}

/* ==========================================================
   TABLETA VERTICAL
   ========================================================== */
@media (min-width: 768px) and (max-width: 1024px) {
  .codhem-hero-inner {
    min-height: 540px;
    padding: 20px 26px !important;
    background-position: 62% center !important;
  }

  .codhem-hero-card {
    width: min(500px, 64vw) !important;
    padding: 27px 27px 25px !important;
  }

  .codhem-hero-title .elementor-heading-title {
    font-size: clamp(34px, 4.5vw, 41px) !important;
  }

  .codhem-hero-media {
    top: 104px;
    right: 22px;
    width: clamp(200px, 40vw, 200px) !important;
  }
  
    .codhem-hero-media .codhem-hero-ribbon {

  left: -24px !important;
  bottom: -18px !important;
}
}

/* ==========================================================
   CELULAR
   Las acciones se encuentran en la navegación inferior.
   ========================================================== */
@media (max-width: 767px) {
  .codhem-hero {
    border-radius: 0 0 24px 24px;
  }

  .codhem-hero-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    min-height: 550px;
    padding: 110px 14px 18px !important;
    background-position: 62% top !important;
  }

  .codhem-hero-inner::before {
    background: linear-gradient(
      180deg,
      rgba(21, 54, 89, 0.03) 0%,
      rgba(247, 249, 248, 0.08) 30%,
      rgba(247, 249, 248, 0.82) 48%,
      rgba(247, 249, 248, 0.99) 100%
    );
  }

  .codhem-hero-media {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    grid-area: 1 / 1 !important;
    align-self: start !important;
    justify-self: center !important;
    width: clamp(230px, 45vw, 200px) !important;
    margin: 14px 0 0 !important;
  }

  .codhem-hero-anniversary {
    padding: 5px 7px !important;
    border-radius: 11px !important;
  }

  .codhem-hero-card {
    grid-area: 1 / 1 !important;
    align-self: start !important;
    width: 100% !important;
    max-width: none !important;
    padding: 91px 15px 18px !important;
    border-radius: 22px !important;
  }

  .codhem-hero-main {
    gap: 14px !important;
  }

  .codhem-hero-copy {
    gap: 11px !important;
  }

  .codhem-hero-copy > .e-con:first-child .elementor-icon {
    font-size: 21px !important;
  }

  .codhem-hero-eyebrow .elementor-heading-title {
    font-size: 20px !important;
  }

  .codhem-hero-title .elementor-heading-title {
    font-size: clamp(28px, 8.7vw, 36px) !important;
    line-height: 1.09 !important;
    letter-spacing: -0.5px !important;
  }

  .codhem-hero-description p {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  .codhem-hero-actions {
    display: none !important;
  }
  
    .codhem-hero-media .codhem-hero-ribbon {

  left: -28px !important;
  bottom: -18px !important;
}
}

/* Celulares pequeños. */
@media (max-width: 390px) {
  .codhem-hero-inner {
    min-height: 525px;
    padding: 90px 18px 12px !important;
    background-position: 60% top !important;
  }

  .codhem-hero-media {
    top: auto !important;
    right: auto !important;
    width: 230px !important;
    margin-top: 12px !important;
  }

  .codhem-hero-card {
    padding: 80px 12px 15px !important;
    border-radius: 19px !important;
  }

 .codhem-hero-eyebrow  {
    display:none !important;
  }

 .iconhero {
    display:none !important;
  }

  .codhem-hero-title .elementor-heading-title {
    font-size: clamp(24px, 5.8vw, 28px) !important;
  }

  .codhem-hero-description p {
    font-size: 14.5px !important;
  }
}

/* Celular o tableta en horizontal con poca altura. */
@media (max-width: 1024px) and (max-height: 520px) and (orientation: landscape) {
  .codhem-hero-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    min-height: 500px;
    padding: 70px 18px 20px !important;
    background-position: 70% center !important;
  }

  .codhem-hero-card {
    grid-area: 1 / 1 !important;
    align-self: start !important;
    justify-self: start !important;
    width: min(470px, 66vw) !important;
    padding: 74px 18px 17px !important;
  }

  .codhem-hero-title .elementor-heading-title {
    font-size: clamp(27px, 5vw, 34px) !important;
  }

  .codhem-hero-description p {
    font-size: 13px !important;
  }

  .codhem-hero-media {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    grid-area: 1 / 1 !important;
    align-self: start !important;
    justify-self: start !important;
    width: 200px !important;
    margin: 10px 0 0 20px !important;
  }

  .codhem-hero-actions {
    display: none !important;
  }
}

/* Accesibilidad. */
@media (prefers-reduced-motion: reduce) {
  .codhem-hero-actions .elementor-button {
    transition: none !important;
  }

  .codhem-hero-actions .elementor-button:hover {
    transform: none !important;
  }
}

@media (prefers-contrast: more) {
  .codhem-hero-card {
    background: var(--codhem-white) !important;
    border: 2px solid var(--codhem-primary) !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

/* ==========================================================
   CARRUSEL PRINCIPAL — VERSIÓN CONSOLIDADA
   ========================================================== */

.codhem-carousel-section {
  position: relative;
  width: 100%;
  padding: 24px clamp(36px, 5vw, 88px) 36px !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, #f8fafb 0%, #eef5f6 100%) !important;
}

.codhem-news-carousel {
  --swiper-navigation-size: 18px;
  position: relative;
  width: 100%;
  max-width: var(--codhem-container);
  margin: 0 auto !important;
  padding: 8px !important;
}

.codhem-news-carousel .swiper,
.codhem-news-carousel .swiper-container,
.codhem-news-carousel .elementor-main-swiper {
  overflow: hidden !important;
}

.codhem-news-carousel .swiper-wrapper {
  align-items: stretch !important;
}

.codhem-news-carousel .swiper-slide {
  height: auto !important;
  min-height: 0 !important;
  padding: 7px !important;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(18, 63, 85, 0.08) !important;
  border-radius: 22px !important;
  box-shadow: 0 10px 28px rgba(18, 63, 85, 0.09) !important;
  transition: transform 220ms ease, box-shadow 220ms ease,
    border-color 220ms ease !important;
}

.codhem-news-carousel .swiper-slide > .e-con,
.codhem-news-carousel .swiper-slide > .elementor-element,
.codhem-news-carousel .swiper-slide .e-con,
.codhem-news-carousel .swiper-slide .e-con-inner,
.codhem-news-carousel .swiper-slide .elementor-widget,
.codhem-news-carousel .swiper-slide .elementor-widget-container {
  --min-height: 0px !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.codhem-carousel-image {
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.codhem-carousel-image .elementor-widget-container,
.codhem-carousel-image a {
  display: block;
  width: 100% !important;
  height: auto !important;
  overflow: hidden;
  border-radius: 16px !important;
}

.codhem-carousel-image img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  background: var(--codhem-white);
  border-radius: 16px !important;
  transition: transform 320ms ease !important;
}

.codhem-carousel-image a:focus-visible {
  outline: 4px solid var(--codhem-teal) !important;
  outline-offset: -4px !important;
  border-radius: 16px !important;
}

.codhem-news-carousel .elementor-swiper-button,
.codhem-news-carousel .swiper-button-prev,
.codhem-news-carousel .swiper-button-next {
  position: absolute !important;
  top: 50% !important;
  z-index: 20 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  color: var(--codhem-teal) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(18, 63, 85, 0.1) !important;
  border-radius: 50% !important;
  box-shadow: 0 10px 28px rgba(18, 63, 85, 0.15) !important;
  opacity: 1 !important;
  transform: translateY(-50%) !important;
  transition: color 180ms ease, background-color 180ms ease,
    border-color 180ms ease, box-shadow 180ms ease,
    transform 180ms ease !important;
}

.codhem-news-carousel .elementor-swiper-button-prev,
.codhem-news-carousel .swiper-button-prev {
  left: 14px !important;
}

.codhem-news-carousel .elementor-swiper-button-next,
.codhem-news-carousel .swiper-button-next {
  right: 14px !important;
}

.codhem-news-carousel .elementor-swiper-button svg,
.codhem-news-carousel .swiper-button-prev svg,
.codhem-news-carousel .swiper-button-next svg {
  width: 18px !important;
  height: 18px !important;
  fill: currentColor !important;
}

.codhem-news-carousel .elementor-swiper-button:focus-visible,
.codhem-news-carousel .swiper-button-prev:focus-visible,
.codhem-news-carousel .swiper-button-next:focus-visible {
  outline: 3px solid var(--codhem-primary) !important;
  outline-offset: 3px !important;
}

.codhem-news-carousel .swiper-pagination,
.codhem-news-carousel .swiper-pagination-bullets {
  position: relative !important;
  inset: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px;
  width: 100% !important;
  min-height: 28px;
  margin-top: 10px !important;
}

/* Área interactiva de 28px; el punto visible conserva 8px. */
.codhem-news-carousel .swiper-pagination-bullet {
  display: grid !important;
  place-items: center;
  width: 28px !important;
  height: 28px !important;
  margin: 0 !important;
  background: transparent !important;
  border-radius: 999px !important;
  opacity: 1 !important;
}

.codhem-news-carousel .swiper-pagination-bullet::before {
  content: "";
  width: 8px;
  height: 8px;
  background: #b8c8cb;
  border-radius: 999px;
  transition: width 200ms ease, background-color 200ms ease;
}

.codhem-news-carousel .swiper-pagination-bullet-active::before {
  width: 24px;
  background: var(--codhem-blue);
}

@media (hover: hover) {
  .codhem-news-carousel .swiper-slide:hover {
    z-index: 4;
    border-color: rgba(20, 155, 151, 0.22) !important;
    box-shadow: 0 18px 40px rgba(18, 63, 85, 0.15) !important;
    transform: translateY(-5px) !important;
  }

  .codhem-news-carousel .swiper-slide:hover .codhem-carousel-image img {
    transform: scale(1.012) !important;
  }

  .codhem-news-carousel .elementor-swiper-button:hover,
  .codhem-news-carousel .swiper-button-prev:hover,
  .codhem-news-carousel .swiper-button-next:hover {
    color: var(--codhem-white) !important;
    background: var(--codhem-teal) !important;
    border-color: var(--codhem-teal) !important;
    box-shadow: 0 12px 32px rgba(8, 122, 119, 0.26) !important;
    transform: translateY(-50%) scale(1.07) !important;
  }
}

@media (min-width: 1025px) and (max-width: 1200px) {
  .codhem-carousel-section {
    padding: 22px 42px 32px !important;
  }
}

@media (max-width: 1024px) {
  .codhem-carousel-section {
    padding: 20px 30px 30px !important;
  }

  .codhem-news-carousel .swiper-slide {
    padding: 6px !important;
    border-radius: 19px !important;
  }

  .codhem-news-carousel .elementor-swiper-button,
  .codhem-news-carousel .swiper-button-prev,
  .codhem-news-carousel .swiper-button-next {
    width: 42px !important;
    height: 42px !important;
  }
}

@media (max-width: 767px) {
  .codhem-carousel-section {
    padding: 14px 14px 24px !important;
  }

  .codhem-news-carousel {
    padding: 5px !important;
  }

  .codhem-news-carousel .swiper-slide {
    padding: 5px !important;
    border-radius: 17px !important;
    box-shadow: 0 8px 22px rgba(18, 63, 85, 0.1) !important;
  }

  .codhem-carousel-image img,
  .codhem-carousel-image a,
  .codhem-carousel-image .elementor-widget-container {
    border-radius: 13px !important;
  }

  .codhem-news-carousel .elementor-swiper-button,
  .codhem-news-carousel .swiper-button-prev,
  .codhem-news-carousel .swiper-button-next {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .codhem-news-carousel .swiper-slide,
  .codhem-carousel-image img,
  .codhem-news-carousel .elementor-swiper-button,
  .codhem-news-carousel .swiper-pagination-bullet::before {
    transition: none !important;
  }

  .codhem-news-carousel .swiper-slide:hover,
  .codhem-news-carousel .swiper-slide:hover .codhem-carousel-image img {
    transform: none !important;
  }
}

@media (forced-colors: active) {
  .codhem-news-carousel .swiper-slide,
  .codhem-news-carousel .elementor-swiper-button,
  .codhem-news-carousel .swiper-button-prev,
  .codhem-news-carousel .swiper-button-next {
    border: 2px solid CanvasText !important;
  }
}

/* ==========================================================
   VISITADURÍA ITINERANTE
   ========================================================== */

.codhem-itinerante-card {
  --codhem-navy: var(--codhem-primary);
  --codhem-blue: #3a5a8c;
  --codhem-turquoise: var(--codhem-secondary);
  --codhem-turquoise-dark: var(--codhem-teal);


  --codhem-text: var(--codhem-ink);
  --codhem-muted: var(--codhem-slate-blue);
  --codhem-line: #dbe5e8;
  --codhem-surface: var(--codhem-white);
  --codhem-surface-soft: #f4f8f8;
  --vi-accent: var(--codhem-turquoise);

  position: relative;
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  color: var(--codhem-text);
  font-family: var(--codhem-font) !important;
}

.codhem-itinerante-card,
.codhem-itinerante-card *,
.codhem-itinerante-card *::before,
.codhem-itinerante-card *::after {
  box-sizing: border-box;
}

/* Distribución principal:
   encabezado a la izquierda, botón a la derecha y carrusel debajo. */
.codhem-itinerante-card
> .e-con-inner
> .e-con
> .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  gap: 20px 28px !important;
}

/* ====================== ENCABEZADO ====================== */

.codhem-itinerante-card .elementor-element-3e3f8b1,
.codhem-itinerante-card .codhem-itinerante-header {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: 100% !important;
  min-width: 0;
  gap: 8px !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.codhem-itinerante-card .titulo-principal {
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: 0 0 0 20px !important;
}

.codhem-itinerante-card .titulo-principal::before {
  content: "";
  position: absolute;
  inset: 3px auto 3px 0;
  width: 5px;
  background: linear-gradient(180deg, var(--codhem-turquoise), var(--codhem-turquoise-dark));
  border-radius: 999px;
}

.codhem-itinerante-card .titulo-principal .elementor-heading-title,
.codhem-itinerante-card .titulo-principal h2,
.codhem-itinerante-card .titulo-principal h3 {
  max-width: 900px;
  margin: 0 !important;
  color: var(--codhem-navy) !important;
  font-family: inherit !important;
  font-size: clamp(1.625rem, 2.2vw, 2.125rem) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.025em !important;
  text-wrap: balance;
}

.codhem-itinerante-card .texto-descriptivo {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.codhem-itinerante-card .texto-descriptivo,
.codhem-itinerante-card .texto-descriptivo p {
  max-width: 760px;
  margin: 0 !important;
  color: var(--codhem-muted) !important;
  font-family: inherit !important;
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

/* ====================== SHORTCODE ====================== */

.codhem-itinerante-card .shortcode-itinerante,
.codhem-itinerante-card .shortcode-itinerante .elementor-widget-container,
.codhem-itinerante-card .shortcode-itinerante .elementor-shortcode,
.codhem-itinerante-card .codhem-vi-panel {
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}

.codhem-itinerante-card .shortcode-itinerante {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
}

.codhem-itinerante-card .codhem-vi-panel {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Carrusel horizontal sin dependencias externas. */
.codhem-itinerante-card .codhem-vi-list {
  display: grid !important;
  grid-template-columns: none !important;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 0) / 3);
  align-items: stretch;
  width: 100% !important;
  min-width: 0;
  gap: 14px !important;
  margin: 0 !important;
  padding: 4px 3px 14px !important;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  scroll-snap-type: inline mandatory;
  scrollbar-color: var(--codhem-turquoise) rgba(21, 54, 89, 0.09);
  scrollbar-width: thin;
  list-style: none !important;
}

.codhem-itinerante-card .codhem-vi-list::-webkit-scrollbar {
  height: 7px;
}

.codhem-itinerante-card .codhem-vi-list::-webkit-scrollbar-track {
  background: rgba(21, 54, 89, 0.08);
  border-radius: 999px;
}

.codhem-itinerante-card .codhem-vi-list::-webkit-scrollbar-thumb {
  background: var(--codhem-turquoise);
  border-radius: 999px;
}

.codhem-itinerante-card .codhem-vi-list:focus-visible {
  outline: 3px solid var(--codhem-gold);
  outline-offset: 4px;
  border-radius: 10px;
}

/* ====================== TARJETAS ====================== */

.codhem-itinerante-card .codhem-vi-item {
  --vi-accent: var(--codhem-turquoise);
  position: relative;
  width: 100% !important;
  min-width: 0;
  min-height: 0 !important;
  overflow: hidden;
  margin: 0 !important;
  background: rgba(255, 255, 255, 0.97) !important;
  border: 1px solid rgba(21, 54, 89, 0.11) !important;
  border-radius: 6px 24px 6px 24px !important;
  box-shadow: 0 7px 20px rgba(21, 54, 89, 0.07) !important;
  transform: translateY(0);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

/* Variación cromática sutil y automática. */
.codhem-itinerante-card .codhem-vi-item:nth-child(4n + 2) {
  --vi-accent: var(--codhem-purple);
}

.codhem-itinerante-card .codhem-vi-item:nth-child(4n + 3) {
  --vi-accent: var(--codhem-blue);
}

.codhem-itinerante-card .codhem-vi-item:nth-child(4n + 4) {
  --vi-accent: var(--codhem-gold);
}

.codhem-itinerante-card .codhem-vi-item::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0 auto 0 0;
  width: 6px;
  pointer-events: none;
  background: var(--vi-accent) !important;
}

.codhem-itinerante-card .codhem-vi-item.es-destacada {
  background: linear-gradient(135deg, var(--codhem-white) 0%, var(--codhem-surface-soft) 100%) !important;
  border-color: color-mix(in srgb, var(--vi-accent) 42%, transparent) !important;
  box-shadow: 0 10px 24px rgba(21, 54, 89, 0.1) !important;
}

.codhem-itinerante-card .codhem-vi-item-inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  min-width: 0;
  gap: 6px;
  margin: 0 !important;
  padding: 16px 18px 16px 24px !important;
}

.codhem-itinerante-card .codhem-vi-top-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  min-width: 0;
  gap: 8px 12px;
}

.codhem-itinerante-card .codhem-vi-municipio {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0 !important;
  overflow-wrap: anywhere;
  color: var(--codhem-navy) !important;
  font-family: inherit !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-transform: none;
}

.codhem-itinerante-card .codhem-vi-status {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 5px;
  max-width: 100%;
  padding: 4px 9px;
  color: #176c51 !important;
  background: #e8f7f1 !important;
  border: 1px solid rgba(23, 108, 81, 0.18);
  border-radius: 999px;
  font-family: inherit !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  white-space: nowrap;
}

.codhem-itinerante-card .codhem-vi-fecha {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  margin: 0 !important;
  color: var(--vi-accent) !important;
  font-family: inherit !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.codhem-itinerante-card .codhem-vi-fecha.es-hoy {
  padding: 4px 10px !important;
  color: #ffffff !important;
  background: #22a765 !important;
  border-radius: 9px !important;
  box-shadow: 0 3px 9px rgba(34, 167, 101, 0.16);
}

.codhem-itinerante-card .codhem-vi-fecha.es-manana {
  padding: 4px 10px !important;
  color: #ffffff !important;
  background: #4f8ef7 !important;
  border-radius: 9px !important;
  box-shadow: 0 3px 9px rgba(79, 142, 247, 0.16);
}

.codhem-itinerante-card .codhem-vi-horario {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 7px;
  margin: 0 !important;
  color: var(--codhem-muted) !important;
  font-family: inherit !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

.codhem-itinerante-card .codhem-vi-horario::before {
  content: "";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  border: 2px solid var(--vi-accent);
  border-radius: 50%;
  background:
    linear-gradient(var(--vi-accent), var(--vi-accent)) 50% 27% / 2px 6px no-repeat,
    linear-gradient(90deg, var(--vi-accent), var(--vi-accent)) 66% 52% / 6px 2px no-repeat;
}

.codhem-itinerante-card .codhem-vi-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  width: 100%;
  min-width: 0;
  gap: 10px 14px;
  margin-top: 5px;
}

.codhem-itinerante-card .codhem-vi-ubicacion {
  flex: 1 1 180px;
  min-width: 0;
  margin: 0 !important;
  color: var(--codhem-muted) !important;
  font-family: inherit !important;
  display: -webkit-box;
  max-width: 38ch;
  overflow: hidden;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.codhem-itinerante-card .codhem-vi-mapa {
  display: inline-flex !important;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: auto !important;
  max-width: 100%;
  min-height: 38px;
  margin: 0 !important;
  padding: 8px 12px !important;
  color: var(--codhem-navy) !important;
  background: rgba(105, 194, 191, 0.14) !important;
  border: 1px solid rgba(83, 158, 156, 0.3) !important;
  border-radius: 999px !important;
  box-shadow: 0 4px 12px rgba(21, 54, 89, 0.08);
  font-family: inherit !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  white-space: nowrap;
  transition:
    color 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.codhem-itinerante-card .codhem-vi-mapa .codhem-vi-mapa-icono,
.codhem-itinerante-card .codhem-vi-mapa svg {
  display: block !important;
  width: 14px !important;
  min-width: 14px !important;
  max-width: 14px !important;
  height: 17px !important;
  min-height: 17px !important;
  max-height: 17px !important;
  flex: 0 0 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  fill: currentColor !important;
  transform: none !important;
}

@media (hover: hover) {
  .codhem-itinerante-card .codhem-vi-item:hover {
    border-color: color-mix(in srgb, var(--vi-accent) 40%, transparent) !important;
    box-shadow: 0 12px 27px rgba(21, 54, 89, 0.12) !important;
    transform: translateY(-2px);
  }

  .codhem-itinerante-card .codhem-vi-mapa:hover {
    color: var(--codhem-white) !important;
    background: var(--codhem-turquoise-dark) !important;
    border-color: var(--codhem-turquoise-dark) !important;
    box-shadow: 0 8px 18px rgba(20, 143, 140, 0.2);
    transform: translateY(-2px);
  }
}

/* ====================== BOTÓN ====================== */

.codhem-itinerante-card .btn-secundario {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: end !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.codhem-itinerante-card .btn-secundario .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 210px;
  min-height: 46px !important;
  padding: 11px 20px !important;
  color: var(--codhem-navy) !important;
  background: rgba(105, 194, 191, 0.14) !important;
  border: 1px solid rgba(20, 143, 140, 0.3) !important;
  border-radius: 999px !important;
  box-shadow: 0 6px 16px rgba(21, 54, 89, 0.08) !important;
  font-family: inherit !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-align: center;
  text-decoration: none !important;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.codhem-itinerante-card .btn-secundario .elementor-button-content-wrapper {
  display: flex !important;
  flex-direction: row-reverse !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

.codhem-itinerante-card .btn-secundario .elementor-button-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  transition: transform 180ms ease;
}

.codhem-itinerante-card .btn-secundario .elementor-button-icon svg {
  width: 15px !important;
  height: 15px !important;
  fill: currentColor !important;
}

@media (hover: hover) {
  .codhem-itinerante-card .btn-secundario .elementor-button:hover {
    color: var(--codhem-white) !important;
    background: var(--codhem-turquoise-dark) !important;
    border-color: var(--codhem-turquoise-dark) !important;
    box-shadow: 0 9px 21px rgba(20, 143, 140, 0.22) !important;
    transform: translateY(-2px);
  }

  .codhem-itinerante-card .btn-secundario .elementor-button:hover .elementor-button-icon {
    transform: translateX(3px);
  }
}

/* ====================== TABLETA ====================== */

@media (min-width: 768px) and (max-width: 1024px) {
  .codhem-itinerante-card .codhem-vi-list {
    grid-template-columns: none !important;
    grid-auto-columns: calc((100% - 12px) / 2);
    gap: 12px !important;
  }

  .codhem-itinerante-card .codhem-vi-item-inner {
    padding: 15px 17px 15px 22px !important;
  }
}

/* ====================== MÓVIL ====================== */

@media (max-width: 767px) {
  .codhem-itinerante-card
  > .e-con-inner
  > .e-con
  > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto !important;
    gap: 16px !important;
  }

  .codhem-itinerante-card .elementor-element-3e3f8b1,
  .codhem-itinerante-card .codhem-itinerante-header {
    grid-column: 1 !important;
    grid-row: 1 !important;
    gap: 8px !important;
    margin: 0 !important;
  }

  .codhem-itinerante-card .titulo-principal {
    padding-left: 16px !important;
  }

  .codhem-itinerante-card .titulo-principal::before {
    inset-block: 2px;
    width: 4px;
  }

  .codhem-itinerante-card .titulo-principal .elementor-heading-title,
  .codhem-itinerante-card .titulo-principal h2,
  .codhem-itinerante-card .titulo-principal h3 {
    font-size: clamp(1.375rem, 5.8vw, 1.75rem) !important;
    line-height: 1.16 !important;
    letter-spacing: -0.02em !important;
  }

  .codhem-itinerante-card .texto-descriptivo,
  .codhem-itinerante-card .texto-descriptivo p {
    font-size: 0.9375rem !important;
    line-height: 1.55 !important;
  }

  .codhem-itinerante-card .codhem-vi-list {
    grid-template-columns: none !important;
    grid-auto-columns: min(86%, 310px);
    gap: 10px !important;
    margin-inline: -2px !important;
    padding: 4px 2px 13px !important;
  }

  .codhem-itinerante-card .shortcode-itinerante {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  .codhem-itinerante-card .codhem-vi-item {
    border-radius: 5px 20px 5px 20px !important;
  }

  .codhem-itinerante-card .codhem-vi-item::before {
    width: 5px;
  }

  .codhem-itinerante-card .codhem-vi-item-inner {
    gap: 5px;
    padding: 14px 14px 14px 19px !important;
  }

  .codhem-itinerante-card .codhem-vi-municipio {
    font-size: 0.9375rem !important;
  }

  .codhem-itinerante-card .codhem-vi-fecha {
    font-size: 0.875rem !important;
  }

  .codhem-itinerante-card .codhem-vi-horario {
    font-size: 0.8125rem !important;
  }

  .codhem-itinerante-card .codhem-vi-top-row {
    flex-wrap: wrap;
  }

  .codhem-itinerante-card .codhem-vi-footer {
    align-items: stretch;
  }

  .codhem-itinerante-card .codhem-vi-ubicacion {
    flex-basis: 100%;
    max-width: none;
    font-size: 0.75rem !important;
  }

  .codhem-itinerante-card .codhem-vi-mapa {
    width: 100% !important;
    min-height: 44px;
  }

  .codhem-itinerante-card .btn-secundario {
    grid-column: 1 !important;
    grid-row: 3 !important;
    justify-self: stretch !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .codhem-itinerante-card .btn-secundario .elementor-button {
    width: 100% !important;
    min-width: 0;
    min-height: 48px !important;
    padding: 11px 16px !important;
  }
}

/* ====================== ACCESIBILIDAD ====================== */

.codhem-itinerante-card a:focus-visible,
.codhem-itinerante-card button:focus-visible,
.codhem-itinerante-card .btn-secundario .elementor-button:focus-visible {
  outline: 3px solid var(--codhem-navy) !important;
  outline-offset: 3px !important;
}

@media (prefers-contrast: more) {
  .codhem-itinerante-card .codhem-vi-item {
    border-color: var(--codhem-navy) !important;
  }

  .codhem-itinerante-card .texto-descriptivo,
  .codhem-itinerante-card .texto-descriptivo p,
  .codhem-itinerante-card .codhem-vi-horario {
    color: var(--codhem-ink) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .codhem-itinerante-card .codhem-vi-item,
  .codhem-itinerante-card .codhem-vi-mapa,
  .codhem-itinerante-card .btn-secundario .elementor-button,
  .codhem-itinerante-card .btn-secundario .elementor-button-icon {
    transition: none !important;
  }

  .codhem-itinerante-card .codhem-vi-item:hover,
  .codhem-itinerante-card .codhem-vi-mapa:hover,
  .codhem-itinerante-card .btn-secundario .elementor-button:hover,
  .codhem-itinerante-card .btn-secundario .elementor-button:hover .elementor-button-icon {
    transform: none !important;
  }
}

/* ==========================================================
   PRENSA — SECCIÓN Y CARRUSEL
   ========================================================== */

/* ==========================================================
   1. SECCIÓN PRINCIPAL
   ========================================================== */

.codhem-prensa-section {
  position: relative !important;
  z-index: 1;

  display: block !important;

  width: 100% !important;
  max-width: 100% !important;

  /* Si está dentro de un padre Flexbox */
  flex: 0 0 100% !important;
  align-self: stretch !important;

  /* Si está dentro de un padre Grid */
  grid-column: 1 / -1 !important;

  clear: both;

  overflow: hidden !important;

  margin: 0 !important;

  isolation: isolate;
}


/* Contenedor interno generado por Elementor */

.codhem-prensa-section > .e-con-inner {
  position: relative;

  display: flex !important;

  width: 100% !important;
  max-width: var(--codhem-container) !important;

  flex-direction: column !important;
  align-items: stretch !important;

  gap: 30px !important;

  margin: 0 auto !important;
  padding: 0 !important;
}


/* ==========================================================
   2. ENCABEZADO
   ========================================================== */

.codhem-prensa-header {
  display: grid !important;

  width: 100% !important;
  max-width: 100% !important;

  grid-template-columns:
    minmax(0, 1fr)
    auto !important;

  align-items: end !important;

  gap: 30px !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* Bloque izquierdo */

.codhem-prensa-title {
  display: flex !important;

  width: 100% !important;
  min-width: 0 !important;

  flex-direction: column !important;
  align-items: flex-start !important;

  gap: 8px !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* Título */

.codhem-prensa-title .elementor-widget-heading {
  position: relative;

  width: 100%;

  margin: 0 !important;
  padding-left: 18px;
}


.codhem-prensa-title .elementor-widget-heading::before {
  content: "";

  position: absolute;
  top: 3px;
  bottom: 3px;
  left: 0;

  width: 5px;

  background:
    linear-gradient(
      180deg,
      var(--codhem-teal) 0%,
      #75cfca 100%
    );

  border-radius: 999px;
}


/* Descripción */

.codhem-prensa-title .elementor-widget-text-editor {
  width: 100%;
  max-width: 700px;

  margin: 0 !important;
  padding-left: 18px;
}


.codhem-prensa-title .elementor-widget-text-editor,
.codhem-prensa-title .elementor-widget-text-editor p {
  margin: 0 !important;

  color: #526b78 !important;

  font-size:
    clamp(0.96rem, 1vw, 1.07rem) !important;

  line-height: 1.55 !important;
}


@media (min-width: 768px) {
  .codhem-prensa-title
  .elementor-widget-text-editor br {
    display: none;
  }
}


/* ==========================================================
   3. CONTENEDOR DEL BOTÓN
   ========================================================== */

.codhem-prensa-header > .e-con:last-child {
  display: flex !important;

  width: auto !important;
  min-width: max-content !important;

  align-items: center !important;
  justify-content: flex-end !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* ==========================================================
   4. BOTÓN VER TODAS LAS NOTICIAS
   ========================================================== */

.codhem-btn-outline {
  width: auto !important;

  margin: 0 !important;
}


.codhem-btn-outline .elementor-button {
  display: inline-flex !important;

  width: auto !important;
  min-height: 48px !important;

  align-items: center !important;
  justify-content: center !important;

  gap: 9px;

  padding:
    11px
    21px !important;

  color: var(--codhem-primary) !important;

  background:
    rgb(20 155 151 / 11%) !important;

  border:
    1px solid rgb(20 155 151 / 28%) !important;

  border-radius: 999px !important;

  box-shadow:
    0 7px 18px rgb(18 63 85 / 7%) !important;

  font-size: 0.94rem !important;
  font-weight: 720 !important;
  line-height: 1.2 !important;

  text-decoration: none !important;

  transition:
    color 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease !important;
}


.codhem-btn-outline
.elementor-button-content-wrapper {
  display: flex !important;

  align-items: center !important;

  gap: 9px !important;

  flex-direction: row-reverse !important;
}


.codhem-btn-outline .elementor-button-icon {
  display: inline-flex !important;

  align-items: center !important;
  justify-content: center !important;

  transition:
    transform 180ms ease !important;
}


.codhem-btn-outline .elementor-button-icon svg {
  width: 15px !important;
  height: 15px !important;

  fill: currentColor !important;
}


@media (hover: hover) {
  .codhem-btn-outline .elementor-button:hover {
    color: var(--codhem-white) !important;

    background: var(--codhem-teal) !important;
    border-color: var(--codhem-teal) !important;

    box-shadow:
      0 10px 25px rgb(8 122 119 / 22%) !important;

    transform:
      translateY(-2px) !important;
  }

  .codhem-btn-outline
  .elementor-button:hover
  .elementor-button-icon {
    transform:
      translateX(3px) !important;
  }
}


/* ==========================================================
   5. CARRUSEL
   ========================================================== */

.codhem-prensa-slider {
  position: relative !important;

  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  overflow: visible !important;

  margin: 0 !important;

  /*
   * Espacio interno para que las flechas no se monten
   * sobre las tarjetas ni se corten.
   */
  padding:
    5px
    34px
    0 !important;

  box-sizing: border-box !important;

  --swiper-navigation-size: 18px;
}


/* Ventana del carrusel */

.codhem-prensa-slider .swiper,
.codhem-prensa-slider .elementor-loop-container {
  width: 100% !important;
  max-width: 100% !important;

  overflow: hidden !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* Wrapper */

.codhem-prensa-slider .swiper-wrapper {
  align-items: stretch !important;
}


/* Cada slide */

.codhem-prensa-slider .swiper-slide {
  display: flex !important;

  height: auto !important;
  min-height: 0 !important;

  box-sizing: border-box !important;

  padding: 0 !important;

  background: transparent !important;
}


/* Tarjeta completa */

.codhem-prensa-slider
.swiper-slide
.prensa-card {
  width: 100% !important;
  max-width: 100% !important;

  height: 100% !important;

  margin: 0 !important;
}


/* Evita que algún hijo fuerce el ancho */

.codhem-prensa-slider
.swiper-slide
.elementor {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}


/* ==========================================================
   6. FLECHAS
   ========================================================== */

.codhem-prensa-slider .elementor-swiper-button,
.codhem-prensa-slider .swiper-button-prev,
.codhem-prensa-slider .swiper-button-next {
  position: absolute !important;
  top: 48% !important;
  z-index: 40 !important;

  display: flex !important;

  width: 46px !important;
  height: 46px !important;

  align-items: center !important;
  justify-content: center !important;

  color: var(--codhem-teal) !important;

  background:
    rgb(255 255 255 / 96%) !important;

  border:
    1px solid rgb(18 63 85 / 11%) !important;

  border-radius: 50% !important;

  box-shadow:
    0 9px 25px rgb(18 63 85 / 16%) !important;

  opacity: 1 !important;

  backdrop-filter:
    blur(12px) !important;

  -webkit-backdrop-filter:
    blur(12px) !important;

  transform:
    translateY(-50%) !important;

  transition:
    color 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease !important;
}


/* Dentro del espacio lateral reservado */

.codhem-prensa-slider
.elementor-swiper-button-prev,
.codhem-prensa-slider
.swiper-button-prev {
  left: 5px !important;
}


.codhem-prensa-slider
.elementor-swiper-button-next,
.codhem-prensa-slider
.swiper-button-next {
  right: 5px !important;
}


.codhem-prensa-slider .elementor-swiper-button svg,
.codhem-prensa-slider .swiper-button-prev svg,
.codhem-prensa-slider .swiper-button-next svg {
  width: 17px !important;
  height: 17px !important;

  fill: currentColor !important;
}


@media (hover: hover) {
  .codhem-prensa-slider
  .elementor-swiper-button:hover,
  .codhem-prensa-slider
  .swiper-button-prev:hover,
  .codhem-prensa-slider
  .swiper-button-next:hover {
    color: var(--codhem-white) !important;

    background: var(--codhem-teal) !important;
    border-color: var(--codhem-teal) !important;

    box-shadow:
      0 12px 30px rgb(8 122 119 / 26%) !important;

    transform:
      translateY(-50%)
      scale(1.06) !important;
  }
}


/* Foco con teclado */

.codhem-prensa-slider
.elementor-swiper-button:focus-visible,
.codhem-prensa-slider
.swiper-button-prev:focus-visible,
.codhem-prensa-slider
.swiper-button-next:focus-visible {
  outline:
    3px solid var(--codhem-primary) !important;

  outline-offset:
    3px !important;
}


/* ==========================================================
   7. PAGINACIÓN
   ========================================================== */

.codhem-prensa-slider .swiper-pagination,
.codhem-prensa-slider .swiper-pagination-bullets {
  position: relative !important;

  right: auto !important;
  bottom: auto !important;


  display: flex !important;

  width: 100% !important;


  align-items: center !important;
  justify-content: center !important;

  gap: 7px;

  margin:
    20px
    0
    0 !important;
}


/* Punto normal */

.codhem-prensa-slider
.swiper-pagination-bullet {
  width: 8px !important;
  height: 8px !important;

  margin: 0 !important;

  opacity: 1 !important;

  background:
    #bdcccf !important;

  border-radius:
    999px !important;

  transition:
    width 200ms ease,
    background-color 200ms ease !important;
}


/* Activo */

.codhem-prensa-slider
.swiper-pagination-bullet-active {
  width: 27px !important;

  background:
    var(--codhem-blue) !important;
}


/* ==========================================================
   8. TABLET
   ========================================================== */

@media (max-width: 1024px) {
.codhem-prensa-section > .e-con-inner {
    gap:
      26px !important;
  }


  .codhem-prensa-header {
    gap:
      22px !important;
  }


  .codhem-prensa-slider {
    padding-inline:
      29px !important;
  }


  .codhem-prensa-slider
  .elementor-swiper-button,
  .codhem-prensa-slider
  .swiper-button-prev,
  .codhem-prensa-slider
  .swiper-button-next {
    width:
      42px !important;

    height:
      42px !important;
  }


  .codhem-prensa-slider
  .elementor-swiper-button-prev,
  .codhem-prensa-slider
  .swiper-button-prev {
    left:
      4px !important;
  }


  .codhem-prensa-slider
  .elementor-swiper-button-next,
  .codhem-prensa-slider
  .swiper-button-next {
    right:
      4px !important;
  }
}


/* ==========================================================
   9. MÓVIL
   ========================================================== */

@media (max-width: 767px) {


  .codhem-prensa-section > .e-con-inner {
    gap:
      22px !important;
  }


  .codhem-prensa-header {
    display: flex !important;

    flex-direction:
      column !important;

    align-items:
      stretch !important;

    gap:
      18px !important;
  }


  .codhem-prensa-title .elementor-heading-title {
    font-size:
      2rem !important;
  }


  .codhem-prensa-title
  .elementor-widget-text-editor,
  .codhem-prensa-title
  .elementor-widget-text-editor p {
    font-size:
      0.96rem !important;
  }


  .codhem-prensa-header > .e-con:last-child {
    width:
      100% !important;

    min-width:
      0 !important;

    justify-content:
      stretch !important;
  }


  .codhem-btn-outline {
    width:
      100% !important;
  }


  .codhem-btn-outline .elementor-button {
    width:
      100% !important;

    justify-content:
      center !important;
  }


  .codhem-prensa-slider {
    padding:
      3px
      0
      0 !important;
  }


  .codhem-prensa-slider .swiper,
  .codhem-prensa-slider
  .elementor-loop-container {
    overflow:
      hidden !important;
  }


  /* En móvil se navega deslizando */

  .codhem-prensa-slider
  .elementor-swiper-button,
  .codhem-prensa-slider
  .swiper-button-prev,
  .codhem-prensa-slider
  .swiper-button-next {
    display:
      none !important;
  }


  .codhem-prensa-slider
  .swiper-pagination,
  .codhem-prensa-slider
  .swiper-pagination-bullets {
    margin-top:
      14px !important;
  }


  .codhem-prensa-slider
  .swiper-pagination-bullet-active {
    width:
      22px !important;
  }
}


/* ==========================================================
   10. ACCESIBILIDAD
   ========================================================== */

@media (prefers-reduced-motion: reduce) {
  .codhem-btn-outline .elementor-button,
  .codhem-btn-outline .elementor-button-icon,
  .codhem-prensa-slider .elementor-swiper-button,
  .codhem-prensa-slider .swiper-pagination-bullet {
    transition:
      none !important;
  }


  .codhem-btn-outline .elementor-button:hover,
  .codhem-btn-outline
  .elementor-button:hover
  .elementor-button-icon,
  .codhem-prensa-slider
  .elementor-swiper-button:hover {
    transform:
      none !important;
  }
}


@media (forced-colors: active) {
  .codhem-btn-outline .elementor-button,
  .codhem-prensa-slider
  .elementor-swiper-button {
    border:
      2px solid CanvasText !important;

    box-shadow:
      none !important;
  }
}


/* Todos los elementos del loop conservan la misma altura */
.codhem-prensa-slider .swiper-slide,
.codhem-prensa-slider .swiper-slide > *,
.codhem-prensa-slider .swiper-slide .elementor,
.codhem-prensa-slider .swiper-slide .e-con,
.codhem-prensa-slider .prensa-card {
  min-width: 0 !important;
}

.codhem-prensa-slider .swiper-slide > *,
.codhem-prensa-slider .prensa-card {
  width: 100% !important;
  height: 100% !important;
}

/* Paginación solo donde realmente ayuda */
@media (min-width: 768px) {
  .codhem-prensa-slider .swiper-pagination {
    display: none !important;
  }
}

/* ==========================================================
   ÁREAS Y MICROSITIOS
   ========================================================== */

.codhem-micrositios-section {
  --codhem-navy: var(--codhem-primary);

  --codhem-turquoise: var(--codhem-secondary);
  --codhem-turquoise-dark: var(--codhem-teal);


  --codhem-green: #68966b;
  --codhem-text: var(--codhem-ink);
  --codhem-muted: var(--codhem-slate-blue);
  --codhem-line: #dbe4e8;
  --codhem-surface: var(--codhem-white);
  --card-accent: var(--codhem-turquoise-dark);
  --card-soft: rgba(105, 194, 191, 0.12);

  position: relative;
  isolation: isolate;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  overflow: hidden;
  margin: 0 !important;
  color: var(--codhem-text);
  font-family: var(--codhem-font) !important;
}

.codhem-micrositios-section,
.codhem-micrositios-section *,
.codhem-micrositios-section *::before,
.codhem-micrositios-section *::after {
  box-sizing: border-box;
}

.codhem-micrositios-section > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: var(--codhem-container) !important;
  min-width: 0;
  gap: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.codhem-micrositios-section .e-atomic-element {
  width: 100% !important;
  min-width: 0;
}

/* ====================== ENCABEZADO ====================== */

.codhem-micrositios-section .titulo-principal {
  position: relative;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 10px !important;
  padding: 0 0 0 20px !important;
}

.codhem-micrositios-section .titulo-principal::before {
  content: "";
  position: absolute;
  inset: 3px auto 3px 0;
  width: 5px;
  background: linear-gradient(180deg, var(--codhem-turquoise), var(--codhem-turquoise-dark));
  border-radius: 999px;
}

.codhem-micrositios-section .titulo-principal .elementor-heading-title,
.codhem-micrositios-section .titulo-principal h2,
.codhem-micrositios-section .titulo-principal h3 {
  margin: 0 !important;
  color: var(--codhem-navy) !important;
  font-family: inherit !important;
  font-size: clamp(1.625rem, 2.2vw, 2.125rem) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.025em !important;
  text-align: center;
  text-wrap: balance;
}

.codhem-micrositios-section .texto-descriptivo {
  width: 100%;
  max-width: 780px;
  margin: 0 auto 24px !important;
  padding: 0 !important;
}

.codhem-micrositios-section .texto-descriptivo,
.codhem-micrositios-section .texto-descriptivo p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  color: var(--codhem-muted) !important;
  font-family: inherit !important;
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  text-align: center;
}

/* ====================== CUADRÍCULA ====================== */

.codhem-micrositios-section .elementor-element-1177561 {
  display: grid !important;
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.codhem-micrositios-section .tarjeta-micrositios {
  display: flex !important;
  grid-column: span 2;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Centrado automático de una última fila de tres tarjetas. */
.codhem-micrositios-section .elementor-element-1177561 .tarjeta-micrositios:nth-child(9):nth-last-child(3) {
  grid-column: 2 / span 2;
}

.codhem-micrositios-section .elementor-element-1177561 .tarjeta-micrositios:nth-child(10):nth-last-child(2) {
  grid-column: 4 / span 2;
}

.codhem-micrositios-section .elementor-element-1177561 .tarjeta-micrositios:nth-child(11):last-child {
  grid-column: 6 / span 2;
}

/* ====================== COLORES ====================== */

.codhem-micrositios-section .tarjeta-micrositios:nth-child(1) {
  --card-accent: #159f98;
  --card-soft: rgba(21, 159, 152, 0.1);
}

.codhem-micrositios-section .tarjeta-micrositios:nth-child(2) {
  --card-accent: #c59b14;
  --card-soft: rgba(197, 155, 20, 0.1);
}

.codhem-micrositios-section .tarjeta-micrositios:nth-child(3) {
  --card-accent: #60a956;
  --card-soft: rgba(96, 169, 86, 0.1);
}

.codhem-micrositios-section .tarjeta-micrositios:nth-child(4) {
  --card-accent: #279ca5;
  --card-soft: rgba(39, 156, 165, 0.1);
}

.codhem-micrositios-section .tarjeta-micrositios:nth-child(5) {
  --card-accent: #76509a;
  --card-soft: rgba(118, 80, 154, 0.1);
}

.codhem-micrositios-section .tarjeta-micrositios:nth-child(6) {
  --card-accent: #62a957;
  --card-soft: rgba(98, 169, 87, 0.1);
}

.codhem-micrositios-section .tarjeta-micrositios:nth-child(7) {
  --card-accent: #2b9da4;
  --card-soft: rgba(43, 157, 164, 0.1);
}

.codhem-micrositios-section .tarjeta-micrositios:nth-child(8) {
  --card-accent: #b88d24;
  --card-soft: rgba(184, 141, 36, 0.1);
}

.codhem-micrositios-section .tarjeta-micrositios:nth-child(9) {
  --card-accent: #259ca2;
  --card-soft: rgba(37, 156, 162, 0.1);
}

.codhem-micrositios-section .tarjeta-micrositios:nth-child(10) {
  --card-accent: #714993;
  --card-soft: rgba(113, 73, 147, 0.1);
}

.codhem-micrositios-section .tarjeta-micrositios:nth-child(11) {
  --card-accent: var(--codhem-purple-dark);
  --card-soft: rgba(95, 76, 128, 0.1);
}

/* ====================== TARJETA ====================== */

.codhem-micrositios-section .codhem-card {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 184px;
  height: 100% !important;
  overflow: hidden;
  margin: 0 !important;
  padding: 18px 16px 13px !important;
  background: rgba(255, 255, 255, 0.97) !important;
  border: 1px solid rgba(21, 54, 89, 0.1) !important;
  border-radius: 24px !important;
  box-shadow: 0 7px 20px rgba(21, 54, 89, 0.07) !important;
  transform: translateY(0);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.codhem-micrositios-section .codhem-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 22px;
  left: 22px;
  height: 3px;
  background: var(--card-accent);
  border-radius: 0 0 999px 999px;
}

.codhem-micrositios-section .codhem-card::after {
  content: "";
  position: absolute;
  top: -58px;
  right: -58px;
  width: 125px;
  height: 125px;
  pointer-events: none;
  background: radial-gradient(circle, var(--card-soft) 0%, transparent 70%);
  border-radius: 50%;
}

.codhem-micrositios-section .codhem-card > .e-con:first-child {
  position: relative;
  z-index: 1;
  display: flex !important;
  flex: 1 1 auto;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0;
  height: auto !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 2px 0 0 !important;
}

/* ====================== ICONO O LOGOTIPO ====================== */

.codhem-micrositios-section .icono-micrositio {
  position: relative;
  display: flex !important;
  flex: 0 0 68px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 68px !important;
  min-width: 68px !important;
  max-width: 68px !important;
  height: 68px !important;
  min-height: 68px !important;
  max-height: 68px !important;
  overflow: hidden;
  margin: 0 auto !important;
  padding: 8px !important;
  background-color: var(--card-soft) !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  background-origin: content-box !important;
  border: 1px solid rgba(21, 54, 89, 0.06);
  border-radius: 50% !important;
  transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.codhem-micrositios-section .icono-micrositio::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 7px;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
}

.codhem-micrositios-section .icono-micrositio img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}

/* ====================== TÍTULO DE TARJETA ====================== */

.codhem-micrositios-section .codhem-card > .e-con:first-child > .e-con:last-child {
  display: flex !important;
  flex: 1 1 auto;
  align-items: flex-start !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}

.codhem-micrositios-section .titulo-tercero {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.codhem-micrositios-section .titulo-tercero .elementor-heading-title,
.codhem-micrositios-section .titulo-tercero h3,
.codhem-micrositios-section .titulo-tercero h4 {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  min-height: 42px;
  margin: 0 !important;
  color: var(--codhem-navy) !important;
  font-family: inherit !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.01em !important;
  overflow-wrap: anywhere;
  text-align: center !important;
  text-wrap: balance;
}

/* ====================== ENLACE ====================== */

.codhem-micrositios-section .info-oculta {
  position: relative;
  z-index: 1;
  display: block !important;
  width: 100% !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: auto 0 0 !important;
  padding: 8px 0 0 !important;
  border-top: 1px solid rgba(21, 54, 89, 0.09);
  transform: none !important;
}

.codhem-micrositios-section .btn-tercero .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 40px !important;
  padding: 7px 4px !important;
  color: var(--card-accent) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  transition: color 180ms ease, background-color 180ms ease;
}

.codhem-micrositios-section .btn-tercero .elementor-button-content-wrapper {
  display: flex !important;
  flex-direction: row-reverse !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
}

.codhem-micrositios-section .btn-tercero .elementor-button-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform 180ms ease;
}

.codhem-micrositios-section .btn-tercero .elementor-button-icon svg {
  width: 14px !important;
  height: 14px !important;
  fill: currentColor !important;
}

/* ====================== INTERACCIÓN ====================== */

@media (hover: hover) {
  .codhem-micrositios-section .tarjeta-micrositios:hover .codhem-card {
    border-color: color-mix(in srgb, var(--card-accent) 38%, transparent) !important;
    box-shadow: 0 12px 27px rgba(21, 54, 89, 0.12) !important;
    transform: translateY(-3px);
  }

  .codhem-micrositios-section .tarjeta-micrositios:hover .icono-micrositio {
    background-color: color-mix(in srgb, var(--card-accent) 15%, white) !important;
    box-shadow: 0 7px 18px rgba(21, 54, 89, 0.1) !important;
    transform: scale(1.035);
  }

  .codhem-micrositios-section .tarjeta-micrositios:hover .btn-tercero .elementor-button {
    color: var(--codhem-navy) !important;
    background: var(--card-soft) !important;
  }

  .codhem-micrositios-section .tarjeta-micrositios:hover .btn-tercero .elementor-button-icon {
    transform: translateX(3px);
  }
}

/* ====================== TABLETA ====================== */

@media (min-width: 768px) and (max-width: 1024px) {

  .codhem-micrositios-section .elementor-element-1177561 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 15px !important;
  }

  .codhem-micrositios-section .tarjeta-micrositios,
  .codhem-micrositios-section .elementor-element-1177561 .tarjeta-micrositios:nth-child(9):nth-last-child(3),
  .codhem-micrositios-section .elementor-element-1177561 .tarjeta-micrositios:nth-child(10):nth-last-child(2),
  .codhem-micrositios-section .elementor-element-1177561 .tarjeta-micrositios:nth-child(11):last-child {
    grid-column: auto;
  }

  .codhem-micrositios-section .codhem-card {
    min-height: 180px;
  }
}

/* ====================== MÓVIL ====================== */

@media (max-width: 767px) {
  .codhem-micrositios-section {
    padding: 30px 14px 38px !important;
  }

  .codhem-micrositios-section .titulo-principal {
    width: 100%;
    margin: 0 0 9px !important;
    padding-left: 16px !important;
  }

  .codhem-micrositios-section .titulo-principal::before {
    inset-block: 2px;
    width: 4px;
  }

  .codhem-micrositios-section .titulo-principal .elementor-heading-title,
  .codhem-micrositios-section .titulo-principal h2,
  .codhem-micrositios-section .titulo-principal h3 {
    font-size: clamp(1.375rem, 5.8vw, 1.75rem) !important;
    line-height: 1.16 !important;
    letter-spacing: -0.02em !important;
    text-align: left;
  }

  .codhem-micrositios-section .texto-descriptivo {
    margin-bottom: 20px !important;
  }

  .codhem-micrositios-section .texto-descriptivo,
  .codhem-micrositios-section .texto-descriptivo p {
    font-size: 0.9375rem !important;
    line-height: 1.55 !important;
    text-align: left;
  }

  .codhem-micrositios-section .elementor-element-1177561 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 11px !important;
  }

  .codhem-micrositios-section .tarjeta-micrositios,
  .codhem-micrositios-section .elementor-element-1177561 .tarjeta-micrositios:nth-child(9):nth-last-child(3),
  .codhem-micrositios-section .elementor-element-1177561 .tarjeta-micrositios:nth-child(10):nth-last-child(2),
  .codhem-micrositios-section .elementor-element-1177561 .tarjeta-micrositios:nth-child(11):last-child {
    grid-column: auto;
  }

  .codhem-micrositios-section .codhem-card {
    min-height: 172px;
    padding: 15px 10px 10px !important;
    border-radius: 20px !important;
  }

  .codhem-micrositios-section .codhem-card > .e-con:first-child {
    gap: 8px !important;
  }

  .codhem-micrositios-section .icono-micrositio {
    flex-basis: 58px !important;
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
    padding: 6px !important;
  }

  .codhem-micrositios-section .titulo-tercero .elementor-heading-title,
  .codhem-micrositios-section .titulo-tercero h3,
  .codhem-micrositios-section .titulo-tercero h4 {
    min-height: 38px;
    font-size: 0.8125rem !important;
    line-height: 1.3 !important;
  }

  .codhem-micrositios-section .info-oculta {
    padding-top: 6px !important;
  }

  .codhem-micrositios-section .btn-tercero .elementor-button {
    min-height: 38px !important;
    font-size: 0.75rem !important;
  }
}

/* Una columna cuando dos tarjetas ya no caben con texto legible. */
@media (max-width: 479px) {
  .codhem-micrositios-section .elementor-element-1177561 {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }

  .codhem-micrositios-section .codhem-card {
    min-height: 136px;
    padding: 14px !important;
  }

  .codhem-micrositios-section .codhem-card > .e-con:first-child {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    align-items: center !important;
    justify-content: stretch !important;
    column-gap: 20px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .codhem-micrositios-section .codhem-card > .e-con:first-child > .e-con:last-child {
    grid-column: 2;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .codhem-micrositios-section .icono-micrositio {
    grid-column: 1;
    flex-basis: 48px !important;
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    margin: 0 !important;
  }

  .codhem-micrositios-section .titulo-tercero,
  .codhem-micrositios-section .titulo-tercero .elementor-widget-container {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .codhem-micrositios-section .titulo-tercero .elementor-heading-title,
  .codhem-micrositios-section .titulo-tercero h3,
  .codhem-micrositios-section .titulo-tercero h4 {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0.9375rem !important;
    line-height: 1.35 !important;
    text-align: left !important;
    text-wrap: pretty;
  }

  .codhem-micrositios-section .info-oculta {
    width: 100% !important;
    margin: 10px 0 0 !important;
    padding: 6px 0 0 !important;
  }

  .codhem-micrositios-section .btn-tercero .elementor-button {
    width: 100% !important;
    padding-inline: 0 !important;
    font-size: 0.8125rem !important;
  }
}

/* ====================== ACCESIBILIDAD ====================== */

.codhem-micrositios-section a:focus-visible,
.codhem-micrositios-section button:focus-visible {
  outline: 3px solid var(--codhem-navy) !important;
  outline-offset: 3px !important;
}

.codhem-micrositios-section .tarjeta-micrositios:focus-within .codhem-card {
  border-color: var(--card-accent) !important;
  box-shadow: 0 0 0 3px rgba(21, 54, 89, 0.14), 0 10px 24px rgba(21, 54, 89, 0.1) !important;
}

@media (prefers-contrast: more) {
  .codhem-micrositios-section .codhem-card {
    border-color: var(--codhem-navy) !important;
  }

  .codhem-micrositios-section .texto-descriptivo,
  .codhem-micrositios-section .texto-descriptivo p {
    color: var(--codhem-ink) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .codhem-micrositios-section .codhem-card,
  .codhem-micrositios-section .icono-micrositio,
  .codhem-micrositios-section .btn-tercero .elementor-button,
  .codhem-micrositios-section .btn-tercero .elementor-button-icon {
    transition: none !important;
  }

  .codhem-micrositios-section .tarjeta-micrositios:hover .codhem-card,
  .codhem-micrositios-section .tarjeta-micrositios:hover .icono-micrositio,
  .codhem-micrositios-section .tarjeta-micrositios:hover .btn-tercero .elementor-button-icon {
    transform: none !important;
  }
}

@media (forced-colors: active) {
  .codhem-micrositios-section .codhem-card {
    border: 2px solid CanvasText !important;
    box-shadow: none !important;
  }

  .codhem-micrositios-section .codhem-card::before {
    background: CanvasText !important;
  }
}

/* ==========================================================
   TRANSPARENCIA PROACTIVA
   ========================================================== */

.codhem-transparencia,
.codhem-transparencia-section {
  --codhem-navy: var(--codhem-primary);

  --codhem-turquoise: var(--codhem-secondary);
  --codhem-turquoise-dark: var(--codhem-teal);


  --codhem-green: #68966b;
  --codhem-text: var(--codhem-ink);
  --codhem-muted: var(--codhem-slate-blue);
  --codhem-line: #dbe5e8;
  --indicator-color: var(--codhem-turquoise-dark);
  --indicator-soft: rgba(105, 194, 191, 0.14);

  color: var(--codhem-text);
  font-family: var(--codhem-font) !important;
}

.codhem-transparencia,
.codhem-transparencia *,
.codhem-transparencia *::before,
.codhem-transparencia *::after,
.codhem-transparencia-section,
.codhem-transparencia-section *,
.codhem-transparencia-section *::before,
.codhem-transparencia-section *::after {
  box-sizing: border-box;
}

/* ====================== FONDO EXTERIOR ====================== */

.codhem-transparencia {
  position: relative;
  isolation: isolate;
  width: 100%;
  overflow: hidden;
  padding: 0 !important;
  background:
    radial-gradient(circle at 8% 18%, rgba(105, 194, 191, 0.2) 0%, rgba(105, 194, 191, 0.07) 18%, transparent 38%),
    radial-gradient(circle at 92% 10%, rgba(173, 161, 76, 0.14) 0%, transparent 32%),
    radial-gradient(circle at 82% 92%, rgba(128, 103, 171, 0.11) 0%, transparent 34%),
    linear-gradient(135deg, #f8fbfa 0%, #f1f6f5 48%, #f7f4eb 100%) !important;
}


.codhem-transparencia::after {
  content: "";
  position: absolute;
  z-index: 0;
  bottom: -150px;
  height: 340px;
  pointer-events: none;
  background: rgba(173, 161, 76, 0.09);
  border-radius: 50%;
  filter: blur(4px);
}

.codhem-transparencia > .e-con-inner {
  position: relative;
  z-index: 2;
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* ====================== CONTENEDOR PRINCIPAL ====================== */

.codhem-transparencia-section {
  position: relative;
  z-index: 2;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  overflow: hidden;
  margin: 0 !important;
  padding: clamp(34px, 4.5vw, 56px) clamp(16px, 3vw, 28px) !important;
}

.codhem-transparencia-section > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: var(--codhem-container) !important;
  min-width: 0;
  gap: 22px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.codhem-transparencia-section:not(.e-con-boxed) {
  --container-max-width: var(--codhem-container);
}

/* ====================== ENCABEZADO ====================== */

.codhem-transparencia-header {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  width: 100% !important;
  max-width: var(--codhem-container) !important;
  min-width: 0;
  gap: 26px !important;
  margin: 0 auto !important;
  padding: 0 0 0 22px !important;
}

.codhem-transparencia-header::before {
  content: "";
  position: absolute;
  inset: 3px auto 3px 0;
  width: 5px;
  background: linear-gradient(180deg, var(--codhem-turquoise), var(--codhem-turquoise-dark));
  border-radius: 999px;
}

.codhem-transparencia-copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: 100% !important;
  max-width: 760px !important;
  min-width: 0;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.codhem-transparencia-section .titulo-principal {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* La línea decorativa pertenece al encabezado, no se duplica. */
.codhem-transparencia-section .titulo-principal::before {
  display: none !important;
}

.codhem-transparencia-section .titulo-principal .elementor-heading-title,
.codhem-transparencia-section .titulo-principal h2,
.codhem-transparencia-section .titulo-principal h3 {
  margin: 0 !important;
  color: var(--codhem-navy) !important;
  font-family: inherit !important;
  font-size: clamp(1.625rem, 2.2vw, 2.125rem) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.025em !important;
  text-wrap: balance;
}

.codhem-transparencia-section .texto-descriptivo {
  width: 100% !important;
  max-width: 720px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.codhem-transparencia-section .texto-descriptivo,
.codhem-transparencia-section .texto-descriptivo p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  color: var(--codhem-muted) !important;
  font-family: inherit !important;
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  text-align: left !important;
}

/* ====================== BOTÓN ====================== */

.codhem-transparencia-btn {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.codhem-transparencia-btn .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px;
  padding: 11px 19px !important;
  color: var(--codhem-white) !important;
  background: var(--codhem-navy) !important;
  border: 1px solid var(--codhem-navy) !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 18px rgba(21, 54, 89, 0.16) !important;
  font-family: inherit !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  transform: translateY(0);
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease !important;
}

.codhem-transparencia-btn .elementor-button-content-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

.codhem-transparencia-btn .elementor-button-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  transition: transform 180ms ease;
}

.codhem-transparencia-btn .elementor-button-icon svg {
  width: 15px !important;
  height: 15px !important;
  fill: currentColor !important;
}

.codhem-transparencia-btn .elementor-button-icon svg path {
  fill: currentColor !important;
}

@media (hover: hover) {
  .codhem-transparencia-btn .elementor-button:hover {
    color: var(--codhem-navy) !important;
    background: var(--codhem-turquoise) !important;
    border-color: var(--codhem-turquoise) !important;
    box-shadow: 0 11px 23px rgba(21, 54, 89, 0.2) !important;
    transform: translateY(-2px);
  }

  .codhem-transparencia-btn .elementor-button:hover .elementor-button-icon {
    transform: translateX(3px);
  }
}

/* ====================== CUADRÍCULA ====================== */

.codhem-transparencia-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: var(--codhem-container) !important;
  min-width: 0;
  gap: 14px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* ====================== TARJETAS ====================== */

.codhem-transparencia-grid .cajadeinfo {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 172px;
  height: 100% !important;
  gap: 7px !important;
  overflow: hidden;
  margin: 0 !important;
  padding: 18px 12px 15px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(21, 54, 89, 0.1) !important;
  border-radius: 8px 24px 8px 24px !important;
  box-shadow: 0 7px 20px rgba(21, 54, 89, 0.07) !important;
  --indicator-color: var(--codhem-turquoise-dark);
  --indicator-soft: rgba(105, 194, 191, 0.14);
  transform: translateY(0);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease !important;
}

.codhem-transparencia-grid .cajadeinfo::before {
  content: "";
  position: absolute;
  top: 0;
  right: 18px;
  left: 18px;
  height: 3px;
  background: var(--indicator-color);
  border-radius: 0 0 999px 999px;
  transition: right 180ms ease, left 180ms ease;
}

/* ====================== COLORES INSTITUCIONALES ====================== */

.codhem-transparencia-grid .indicador-tramites {
  --indicator-color: var(--codhem-teal);
  --indicator-soft: rgba(105, 194, 191, 0.16);
}

.codhem-transparencia-grid .indicador-orientaciones {
  --indicator-color: #68966b;
  --indicator-soft: rgba(104, 150, 107, 0.14);
}

.codhem-transparencia-grid .indicador-quejas {
  --indicator-color: var(--codhem-blue);
  --indicator-soft: rgba(58, 83, 126, 0.13);
}

.codhem-transparencia-grid .indicador-precautorias {
  --indicator-color: var(--codhem-gold);
  --indicator-soft: rgba(173, 161, 76, 0.16);
}

.codhem-transparencia-grid .indicador-reparatorias {
  --indicator-color: var(--codhem-purple);
  --indicator-soft: rgba(128, 103, 171, 0.14);
}

/* ====================== ICONOS ====================== */

.codhem-indicador-icono {
  position: relative;
  z-index: 1;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 54px !important;
  min-width: 54px !important;
  max-width: 54px !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  margin: 0 auto 1px !important;
  padding: 0 !important;
  background: var(--indicator-soft) !important;
  border: 1px solid color-mix(in srgb, var(--indicator-color) 22%, transparent);
  border-radius: 50% !important;
  transition: transform 180ms ease, background-color 180ms ease !important;
}

.codhem-indicador-icono .elementor-icon-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
}

.codhem-indicador-icono .elementor-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--indicator-color) !important;
  fill: var(--indicator-color) !important;
  font-size: 23px !important;
}

.codhem-indicador-icono svg {
  width: 23px !important;
  height: 23px !important;
}

.codhem-indicador-icono svg,
.codhem-indicador-icono svg path {
  fill: currentColor !important;
}

/* ====================== NÚMEROS Y NOMBRES ====================== */

.codhem-indicador-numero {
  width: 100%;
  margin: 0 !important;
}

.codhem-indicador-numero .elementor-heading-title,
.codhem-indicador-numero h3,
.codhem-indicador-numero h4 {
  margin: 0 !important;
  color: var(--codhem-navy) !important;
  font-family: inherit !important;
  font-size: clamp(1.625rem, 2.15vw, 2rem) !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
  text-align: center;
  white-space: nowrap;
}

/* ====================== INTERACCIONES ====================== */

@media (hover: hover) {
  .codhem-transparencia-grid .cajadeinfo:hover {
    border-color: color-mix(in srgb, var(--indicator-color) 38%, transparent) !important;
    box-shadow: 0 12px 27px rgba(21, 54, 89, 0.12) !important;
    transform: translateY(-3px);
  }

  .codhem-transparencia-grid .cajadeinfo:hover::before {
    right: 12px;
    left: 12px;
  }

  .codhem-transparencia-grid .cajadeinfo:hover .codhem-indicador-icono {
    background: color-mix(in srgb, var(--indicator-color) 17%, white) !important;
    transform: scale(1.04);
  }
}

/* ====================== TABLETA ====================== */

@media (min-width: 768px) and (max-width: 1024px) {
  .codhem-transparencia-section {
    padding: 38px 22px 44px !important;
  }

  .codhem-transparencia-header {
    align-items: center !important;
    gap: 22px !important;
  }

  .codhem-transparencia-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 13px !important;
  }

  .codhem-transparencia-grid .cajadeinfo {
    grid-column: span 2;
    min-height: 165px;
  }

  .codhem-transparencia-grid .cajadeinfo:nth-child(4):nth-last-child(2) {
    grid-column: 2 / span 2;
  }

  .codhem-transparencia-grid .cajadeinfo:nth-child(5):last-child {
    grid-column: 4 / span 2;
  }
}

/* ====================== MÓVIL ====================== */

@media (max-width: 767px) {
  .codhem-transparencia {
    background:
      radial-gradient(circle at 10% 8%, rgba(105, 194, 191, 0.18), transparent 32%),
      radial-gradient(circle at 90% 92%, rgba(128, 103, 171, 0.1), transparent 34%),
      linear-gradient(160deg, #f8fbfa 0%, #f1f6f5 55%, #f7f4eb 100%) !important;
  }

  .codhem-transparencia-section {
    padding: 30px 14px 38px !important;
  }

  .codhem-transparencia-section > .e-con-inner {
    gap: 18px !important;
  }

  .codhem-transparencia-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 15px !important;
    padding-left: 16px !important;
  }

  .codhem-transparencia-header::before {
    width: 4px;
  }

  .codhem-transparencia-section .titulo-principal .elementor-heading-title,
  .codhem-transparencia-section .titulo-principal h2,
  .codhem-transparencia-section .titulo-principal h3 {
    font-size: clamp(1.375rem, 5.8vw, 1.75rem) !important;
    line-height: 1.16 !important;
    letter-spacing: -0.02em !important;
  }

  .codhem-transparencia-section .texto-descriptivo,
  .codhem-transparencia-section .texto-descriptivo p {
    font-size: 0.9375rem !important;
    line-height: 1.55 !important;
  }

  .codhem-transparencia-btn,
  .codhem-transparencia-btn .elementor-button {
    width: 100% !important;
  }

  .codhem-transparencia-btn .elementor-button {
    min-height: 48px;
  }

  .codhem-transparencia-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .codhem-transparencia-grid .cajadeinfo,
  .codhem-transparencia-grid .cajadeinfo:nth-child(4):nth-last-child(2) {
    grid-column: auto;
    min-height: 154px;
    gap: 5px !important;
    padding: 15px 8px 12px !important;
    border-radius: 7px 20px 7px 20px !important;
  }

  .codhem-transparencia-grid .cajadeinfo:nth-child(5):last-child {
    grid-column: 1 / -1;
    justify-self: center;
    width: min(100%, 230px) !important;
    min-height: 154px;
  }

  .codhem-indicador-icono {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
  }

  .codhem-indicador-icono .elementor-icon {
    font-size: 20px !important;
  }

  .codhem-indicador-icono svg {
    width: 20px !important;
    height: 20px !important;
  }

  .codhem-indicador-numero .elementor-heading-title,
  .codhem-indicador-numero h3,
  .codhem-indicador-numero h4 {
    font-size: clamp(1.375rem, 6vw, 1.625rem) !important;
  }
}

/* Una sola columna cuando dos indicadores ya no caben cómodamente. */
@media (max-width: 390px) {
  .codhem-transparencia-grid {
    grid-template-columns: 1fr !important;
  }

  .codhem-transparencia-grid .cajadeinfo,
  .codhem-transparencia-grid .cajadeinfo:nth-child(5):last-child {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center !important;
    justify-items: start;
    width: 100% !important;
    min-height: 112px;
    grid-column: auto;
    column-gap: 12px !important;
    padding: 14px 16px !important;
  }

  .codhem-transparencia-grid .cajadeinfo .codhem-indicador-icono {
    grid-column: 1;
    grid-row: 1 / span 2;
    margin: 0 !important;
  }

  .codhem-indicador-numero,
  .codhem-indicador-nombre {
    grid-column: 2;
  }

  .codhem-indicador-numero .elementor-heading-title,
  .codhem-indicador-numero h3,
  .codhem-indicador-numero h4,
  .codhem-indicador-nombre .elementor-heading-title,
  .codhem-indicador-nombre h4,
  .codhem-indicador-nombre h5 {
    justify-content: flex-start;
    min-height: 0;
    text-align: left !important;
  }
}

/* ====================== ACCESIBILIDAD ====================== */

.codhem-transparencia-section a:focus-visible,
.codhem-transparencia-section button:focus-visible {
  outline: 3px solid var(--codhem-navy) !important;
  outline-offset: 3px !important;
}

.codhem-transparencia-grid .cajadeinfo:focus-within {
  border-color: var(--indicator-color) !important;
  box-shadow: 0 0 0 3px rgba(21, 54, 89, 0.14), 0 11px 24px rgba(21, 54, 89, 0.1) !important;
}

@media (prefers-contrast: more) {
  .codhem-transparencia-grid .cajadeinfo {
    border-color: var(--codhem-navy) !important;
  }

  .codhem-transparencia-section .texto-descriptivo,
  .codhem-transparencia-section .texto-descriptivo p,
  .codhem-indicador-nombre .elementor-heading-title,
  .codhem-transparencia-update,
  .codhem-transparencia-update p {
    color: var(--codhem-ink) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .codhem-transparencia-btn .elementor-button,
  .codhem-transparencia-btn .elementor-button-icon,
  .codhem-transparencia-grid .cajadeinfo,
  .codhem-transparencia-grid .cajadeinfo::before,
  .codhem-indicador-icono {
    transition: none !important;
  }

  .codhem-transparencia-btn .elementor-button:hover,
  .codhem-transparencia-btn .elementor-button:hover .elementor-button-icon,
  .codhem-transparencia-grid .cajadeinfo:hover,
  .codhem-transparencia-grid .cajadeinfo:hover .codhem-indicador-icono {
    transform: none !important;
  }
}

/* =========================================================
   FORMACIÓN ACADÉMICA — CSS COMPLETO Y COMPACTO
   Reemplaza todo el CSS anterior de esta sección
   ========================================================= */

.codhem-formacion-destacada {
  --fa-azul: #123b63;
  --fa-azul-boton: #075985;
  --fa-turquesa: #53c4c3;
  --fa-dorado: #e7d45a;
  --fa-texto: #4d525b;
  --fa-blanco: #ffffff;
  --fa-radio: 28px;
  --fa-ancho: 1180px;

  position: relative;
  width: 100%;
  padding: 24px 16px !important;
  overflow: hidden;
}

.codhem-formacion-destacada,
.codhem-formacion-destacada * {
  box-sizing: border-box;
}

/* Contenedor principal */
.codhem-formacion-destacada > .e-con-inner {
  position: relative;
  z-index: 1;

  display: grid !important;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1fr) !important;

  align-items: stretch !important;
  gap: 0 !important;

  width: 100% !important;
  max-width: var(--fa-ancho) !important;
  min-height: 360px !important;

  margin: 0 auto !important;
  padding: 0 !important;

  background: var(--fa-blanco);
  border-radius: var(--fa-radio);
  overflow: hidden;

  box-shadow:
    0 14px 40px rgba(18, 59, 99, 0.08),
    0 2px 8px rgba(18, 59, 99, 0.04);
}

/* =========================================================
   IMAGEN
   ========================================================= */

.codhem-formacion-destacada .contenedor-img {
  position: relative !important;
  display: block !important;

  width: 100% !important;
  min-width: 0 !important;
  min-height: 360px !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}

.codhem-formacion-destacada .portada-formacion,
.codhem-formacion-destacada .portada-formacion .elementor-widget-container {
  position: absolute !important;
  inset: 0 !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}

.codhem-formacion-destacada .portada-formacion img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;
}

/* =========================================================
   CONTENIDO DERECHO
   ========================================================= */

.codhem-formacion-destacada .contenedor-info {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: stretch !important;

  width: 100% !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 24px 28px !important;

  background:
    linear-gradient(
      135deg,
      #ffffff 0%,
      #ffffff 68%,
      #f7fbfd 100%
    );
}

/* Encabezado */
.codhem-formacion-destacada .encabezado-formacion {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;

  width: 100% !important;
  min-width: 0 !important;

  margin: 0 0 18px !important;
  padding: 0 !important;
}

.codhem-formacion-destacada .bag-instituto {
  position: relative;
  width: auto !important;
  margin: 0 !important;
  padding: 0 54px 0 0 !important;
}

.codhem-formacion-destacada .bag-instituto::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;

  width: 38px;
  height: 2px;

  background: var(--fa-turquesa);
  transform: translateY(-50%);
}

.codhem-formacion-destacada .bag-instituto .elementor-heading-title {
  margin: 0 !important;

  color: #3270ae !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-transform: uppercase;
}

.codhem-formacion-destacada .titulo-principal {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.codhem-formacion-destacada .titulo-principal .elementor-heading-title {
  margin: 0 !important;

  color: var(--fa-azul) !important;
  font-size: clamp(27px, 2.5vw, 39px) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.codhem-formacion-destacada .texto-descriptivo {
  width: 100% !important;
  max-width: 560px;

  margin: 2px 0 0 !important;
  padding: 0 !important;
}

.codhem-formacion-destacada .texto-descriptivo p {
  margin: 0 !important;

  color: var(--fa-texto) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* =========================================================
   TARJETAS DE OFERTA ACADÉMICA
   ========================================================= */



/* Los tres enlaces */
.codhem-formacion-destacada .contenedor-maestria,
.codhem-formacion-destacada .contenedor-especialidad,
.codhem-formacion-destacada .contenedor-educacion {
  display: flex !important;
  align-items: stretch !important;

  width: 100% !important;
  min-width: 0 !important;
  min-height: 105px !important;

  margin: 0 !important;
  padding: 0 !important;

  color: var(--fa-azul) !important;
  text-decoration: none !important;

  border: 1px solid transparent;
  border-radius: 13px;

  overflow: hidden;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.codhem-formacion-destacada .contenedor-maestria {
  background: #f1efe5;
  border-color: #d7cc9f;
}

.codhem-formacion-destacada .contenedor-especialidad {
  background: #d7f0f1;
  border-color: #62c2c2;
}

.codhem-formacion-destacada .contenedor-educacion {
  background: #dceedd;
  border-color: #83c58b;
}

.codhem-formacion-destacada .contenedor-maestria:hover,
.codhem-formacion-destacada .contenedor-especialidad:hover,
.codhem-formacion-destacada .contenedor-educacion:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 18px rgba(18, 59, 99, 0.12);
}

/* Widget interior */
.codhem-formacion-destacada .maestria-bag,
.codhem-formacion-destacada .especialidad-bag,
.codhem-formacion-destacada .educacion-bag {
  display: flex !important;
  align-items: stretch !important;

  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}

.codhem-formacion-destacada
  .elementor-icon-box-wrapper {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;

  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 12px 10px !important;

  text-align: center !important;
}

/* Iconos */
.codhem-formacion-destacada .elementor-icon-box-icon {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

.codhem-formacion-destacada .elementor-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 42px !important;
  height: 42px !important;

  padding: 10px !important;
  border-radius: 50% !important;
}

.codhem-formacion-destacada .elementor-icon svg {
  width: 22px !important;
  height: 22px !important;
}

.codhem-formacion-destacada
  .maestria-bag
  .elementor-icon {
  color: #a49324 !important;
  background: rgba(205, 190, 91, 0.2) !important;
}

.codhem-formacion-destacada
  .especialidad-bag
  .elementor-icon {
  color: #36a9aa !important;
  background: rgba(83, 196, 195, 0.2) !important;
}

.codhem-formacion-destacada
  .educacion-bag
  .elementor-icon {
  color: #73b97b !important;
  background: rgba(115, 185, 123, 0.18) !important;
}

/* Texto de las tarjetas */
.codhem-formacion-destacada .elementor-icon-box-content {
  display: block !important;

  width: 100% !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
}

.codhem-formacion-destacada .elementor-icon-box-title {
  display: block !important;

  width: 100% !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  color: var(--fa-azul) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-align: center !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
  hyphens: none !important;
}

.codhem-formacion-destacada
  .elementor-icon-box-title span {
  display: inline !important;
}

/* =========================================================
   BOTONES
   ========================================================= */

.codhem-formacion-destacada .botones-formacion {
  display: flex !important;
  flex-direction: row !important;
  justify-content: flex-start !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 18px !important;

  width: 100% !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
}

.codhem-formacion-destacada .btn-oferta,
.codhem-formacion-destacada .btn-covocatorias {
  width: auto !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
}

/* Botón principal azul */
.codhem-formacion-destacada
  .btn-oferta
  .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 44px !important;

  padding: 11px 24px !important;

  color: #ffffff !important;
  background: var(--fa-azul-boton) !important;
  border: 0 !important;
  border-radius: 999px !important;

  box-shadow: 0 9px 20px rgba(7, 89, 133, 0.18);

  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  white-space: nowrap !important;

  transition:
    background-color 0.2s ease,
    transform 0.2s ease;
}

.codhem-formacion-destacada
  .btn-oferta
  .elementor-button:hover {
  background: #064d73 !important;
  transform: translateY(-2px);
}

.codhem-formacion-destacada
  .btn-oferta
  .elementor-button-content-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.codhem-formacion-destacada
  .btn-oferta
  .elementor-button-content-wrapper::after {
  content: "→";
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
}

/* Enlace secundario */
.codhem-formacion-destacada
  .btn-covocatorias
  .elementor-button {
  position: relative;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 44px !important;

  padding: 10px 4px 9px !important;

  color: var(--fa-azul) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid var(--fa-turquesa) !important;
  border-radius: 0 !important;

  box-shadow: none !important;

  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.codhem-formacion-destacada
  .btn-covocatorias
  .elementor-button-content-wrapper {
  display: inline-flex !important;
  flex-direction: row-reverse !important;
  align-items: center !important;
  gap: 10px !important;
}

.codhem-formacion-destacada
  .btn-covocatorias
  .elementor-button-icon {
  display: inline-flex !important;
  margin: 0 !important;
}

.codhem-formacion-destacada
  .btn-covocatorias
  .elementor-button-icon svg {
  width: 14px !important;
  height: 14px !important;
}

/* =========================================================
   TABLETA HORIZONTAL
   Mantiene las dos columnas, pero más compactas
   ========================================================= */

@media (min-width: 1025px) and (max-width: 1200px) {
  .codhem-formacion-destacada {
    padding: 20px 14px !important;
  }

  .codhem-formacion-destacada > .e-con-inner {
  

    min-height: 340px !important;
    border-radius: 24px;
  }

  .codhem-formacion-destacada .contenedor-img {
    min-height: 340px !important;
  }

  .codhem-formacion-destacada .contenedor-info {
    padding: 20px !important;
  }

  .codhem-formacion-destacada .encabezado-formacion {
    margin-bottom: 14px !important;
  }

  .codhem-formacion-destacada
    .titulo-principal
    .elementor-heading-title {
    font-size: 29px !important;
  }

  .codhem-formacion-destacada .texto-descriptivo p {
    font-size: 14px !important;
  }

  .codhem-formacion-destacada
    .grid-info-oferta-academica {
    gap: 9px !important;
    margin-bottom: 15px !important;
  }

  .codhem-formacion-destacada .contenedor-maestria,
  .codhem-formacion-destacada .contenedor-especialidad,
  .codhem-formacion-destacada .contenedor-educacion {
    min-height: 94px !important;
  }

  .codhem-formacion-destacada
    .elementor-icon-box-wrapper {
    gap: 5px !important;
    padding: 9px 6px !important;
  }

  .codhem-formacion-destacada .elementor-icon {
    width: 36px !important;
    height: 36px !important;
    padding: 8px !important;
  }

  .codhem-formacion-destacada
    .elementor-icon-box-title {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  .codhem-formacion-destacada .botones-formacion {
    gap: 12px !important;
  }

  .codhem-formacion-destacada
    .btn-oferta
    .elementor-button {
    padding-inline: 18px !important;
    font-size: 12px !important;
  }

  .codhem-formacion-destacada
    .btn-covocatorias
    .elementor-button {
    font-size: 12px !important;
  }
}

/* =========================================================
   TABLETA VERTICAL
   ========================================================= */

@media (max-width: 1024px) {
  .codhem-formacion-destacada {
    padding: 18px 12px !important;
  }

  .codhem-formacion-destacada > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    min-height: 0 !important;
    border-radius: 22px;
  }

  .codhem-formacion-destacada .contenedor-img {
    min-height: 260px !important;
    height: 260px !important;
  }

  .codhem-formacion-destacada .contenedor-info {
    padding: 22px !important;
  }

  .codhem-formacion-destacada
    .grid-info-oferta-academica {
    gap: 10px !important;
  }

  .codhem-formacion-destacada .contenedor-maestria,
  .codhem-formacion-destacada .contenedor-especialidad,
  .codhem-formacion-destacada .contenedor-educacion {
    min-height: 98px !important;
  }
}

/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767px) {
  .codhem-formacion-destacada {
    padding: 12px 8px !important;
  }

  .codhem-formacion-destacada > .e-con-inner {
    border-radius: 18px;
  }

  .codhem-formacion-destacada .contenedor-img {
    min-height: 210px !important;
    height: 210px !important;
  }

  .codhem-formacion-destacada .contenedor-info {
    padding: 20px 16px !important;
  }

  .codhem-formacion-destacada .encabezado-formacion {
    margin-bottom: 16px !important;
  }

  .codhem-formacion-destacada
    .titulo-principal
    .elementor-heading-title {
    font-size: 28px !important;
  }

  .codhem-formacion-destacada .texto-descriptivo p {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  /* Tarjetas en filas horizontales */
  .codhem-formacion-destacada
    .grid-info-oferta-academica {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    margin-bottom: 18px !important;
  }

  .codhem-formacion-destacada .contenedor-maestria,
  .codhem-formacion-destacada .contenedor-especialidad,
  .codhem-formacion-destacada .contenedor-educacion {
    min-height: 68px !important;
  }

  .codhem-formacion-destacada
    .elementor-icon-box-wrapper {
    flex-direction: row !important;
    justify-content: flex-start !important;
    gap: 13px !important;

    padding: 10px 14px !important;
    text-align: left !important;
  }

  .codhem-formacion-destacada
    .elementor-icon-box-content {
    flex: 1 1 auto !important;
  }

  .codhem-formacion-destacada
    .elementor-icon-box-title {
    font-size: 14px !important;
    line-height: 1.35 !important;
    text-align: left !important;
  }

  /* Botones */
  .codhem-formacion-destacada .botones-formacion {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  .codhem-formacion-destacada .btn-oferta,
  .codhem-formacion-destacada .btn-covocatorias {
    width: 100% !important;
  }

  .codhem-formacion-destacada
    .btn-oferta
    .elementor-button {
    width: 100% !important;
    min-height: 46px !important;
    padding: 11px 18px !important;
  }

  .codhem-formacion-destacada
    .btn-covocatorias
    .elementor-button {
    width: 100% !important;
    min-height: 42px !important;
  }
}

/* Móviles pequeños */
@media (max-width: 420px) {
  .codhem-formacion-destacada .contenedor-img {
    min-height: 190px !important;
    height: 190px !important;
  }

  .codhem-formacion-destacada .contenedor-info {
    padding: 18px 14px !important;
  }

  .codhem-formacion-destacada
    .titulo-principal
    .elementor-heading-title {
    font-size: 25px !important;
  }

  .codhem-formacion-destacada
    .elementor-icon-box-title {
    font-size: 13px !important;
  }
}

/* =========================================================
   PRODUCTOS EDITORIALES — PAGINACIÓN CORREGIDA
   Clases reales: .codhem-pubs-v2-dots / .codhem-pubs-v2-dot
   ========================================================= */

.codhem-pubs-v2-dots {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 0 !important;

    width: 100% !important;
    min-height: 44px !important;
    margin: 14px auto 0 !important;
    padding: 0 !important;

    overflow: visible !important;
}

/* Cada botón conserva un área accesible de 36 × 44 px,
   pero el punto visible aparece centrado dentro de ella. */
.codhem-pubs-v2-dot {
    appearance: none !important;
    -webkit-appearance: none !important;

    display: block !important;
    flex: 0 0 36px !important;

    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;

    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;
    outline-offset: 2px;

    background-color: transparent !important;
    background-image: radial-gradient(
        circle at center,
        #b8c6d5 0 5px,
        transparent 5.5px
    ) !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 12px 12px !important;

    box-shadow: none !important;
    transform: none !important;

    cursor: pointer !important;
    overflow: visible !important;
}

/* Evita círculos, líneas o adornos creados por Elementor/tema */
.codhem-pubs-v2-dot::before,
.codhem-pubs-v2-dot::after {
    content: none !important;
    display: none !important;
}

/* Punto activo: cápsula horizontal turquesa */
.codhem-pubs-v2-dot.active,
.codhem-pubs-v2-dot[aria-current="true"] {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;

    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;

    background-color: transparent !important;
    background-image: linear-gradient(
        90deg,
        #60c8cb,
        #60c8cb
    ) !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 24px 10px !important;

    border-radius: 0 !important;
    transform: none !important;
}

/* Hover */
.codhem-pubs-v2-dot:hover {
    background-image: radial-gradient(
        circle at center,
        #8198ad 0 6px,
        transparent 6.5px
    ) !important;
}

/* Mantiene el estilo activo durante hover */
.codhem-pubs-v2-dot.active:hover,
.codhem-pubs-v2-dot[aria-current="true"]:hover {
    background-image: linear-gradient(
        90deg,
        #4fbabd,
        #4fbabd
    ) !important;
    background-size: 24px 10px !important;
}

/* Navegación por teclado */
.codhem-pubs-v2-dot:focus {
    outline: none;
}

.codhem-pubs-v2-dot:focus-visible {
    outline: 2px solid #153b62 !important;
    outline-offset: 0 !important;
}

/* Móvil */
@media (max-width: 767px) {
    .codhem-pubs-v2-dots {
        justify-content: flex-start !important;
        flex-wrap: nowrap !important;

        max-width: 100% !important;
        min-height: 44px !important;
        margin-top: 12px !important;

        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .codhem-pubs-v2-dots::-webkit-scrollbar {
        display: none;
    }

    .codhem-pubs-v2-dot,
    .codhem-pubs-v2-dot.active,
    .codhem-pubs-v2-dot[aria-current="true"] {
        flex: 0 0 36px !important;
        width: 36px !important;
        min-width: 36px !important;
        max-width: 36px !important;

        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
    }
}


/* ==========================================================
   INFORME ANUAL DE ACTIVIDADES 2025
   ========================================================== */

.codhem-informe {
  --codhem-navy: var(--codhem-primary);
  --codhem-navy-mid: #1d4770;

  --codhem-turquoise: var(--codhem-secondary);
  --codhem-turquoise-light: #7bd1ce;


  --codhem-text: var(--codhem-ink);

  width: 100%;
  min-width: 0;
  font-family: var(--codhem-font) !important;
}

.codhem-informe,
.codhem-informe *,
.codhem-informe *::before,
.codhem-informe *::after {
  box-sizing: border-box;
}

/* ====================== BANNER ====================== */

.codhem-informe .codhem-informe-banner {
  position: relative;
  isolation: isolate;
  display: block !important;
  width: 100% !important;
  max-width: var(--codhem-container) !important;
  min-height: 330px;
  overflow: hidden;
  margin: 0 auto !important;
  padding: 0 !important;

  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 28px;
  box-shadow: 0 16px 38px rgba(21, 54, 89, 0.18);
}

/* Elementor coloca los hijos reales dentro de .e-con-inner. */
.codhem-informe .codhem-informe-banner > .e-con-inner {
  position: relative;
  z-index: 2;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 330px !important;
  gap: 28px !important;
  margin: 0 !important;
  padding: 38px clamp(34px, 5vw, 60px) !important;
}

.codhem-informe .codhem-informe-banner::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 84% 18%, rgba(105, 194, 191, 0.17), transparent 32%),
    linear-gradient(90deg, rgba(21, 54, 89, 0.18), transparent 68%);
}

.codhem-informe .codhem-informe-banner::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: -105px;
  right: 8%;
  width: 330px;
  height: 330px;
  pointer-events: none;
  background: rgba(105, 194, 191, 0.11);
  border-radius: 50%;
  filter: blur(24px);
}

/* ====================== CONTENIDO ====================== */

.codhem-informe .codhem-informe-contenido {
  position: relative;
  z-index: 4;
  flex: 0 1 52% !important;
  width: 52% !important;
  max-width: 500px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.codhem-informe .codhem-informe-contenido > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* La etiqueta real es un widget Divider, no un párrafo. */
.codhem-informe .codhem-informe-etiqueta {
  width: auto !important;
  margin: 0 0 7px !important;
}

.codhem-informe .codhem-informe-etiqueta .elementor-divider {
  padding: 0 !important;
}

.codhem-informe .codhem-informe-etiqueta .elementor-divider-separator {
  display: flex !important;
  align-items: center;
  justify-content: flex-start !important;
  width: auto !important;
  border: 0 !important;
}

.codhem-informe .codhem-informe-etiqueta .elementor-divider__text {
  padding: 0 !important;
  color: var(--codhem-turquoise) !important;
  font-family: inherit !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.codhem-informe .codhem-informe-titulo {
  width: 100%;
  margin: 0 !important;
}

.codhem-informe .codhem-informe-titulo .elementor-heading-title,
.codhem-informe .codhem-informe-titulo h2 {
  max-width: 480px;
  margin: 0 0 12px !important;
  color: var(--codhem-white) !important;
  font-family: inherit !important;
  font-size: clamp(1.875rem, 3vw, 2.625rem) !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.025em !important;
  text-wrap: balance;
}

.codhem-informe .codhem-informe-datos {
  width: 100%;
  margin: 0 !important;
}

.codhem-informe .codhem-informe-datos,
.codhem-informe .codhem-informe-datos p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  color: rgba(255, 255, 255, 0.8) !important;
  font-family: inherit !important;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

/* ====================== BOTÓN ====================== */

.codhem-informe .codhem-informe-boton {
  width: auto;
  margin: 20px 0 0 !important;
}

.codhem-informe .codhem-informe-boton .elementor-button {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  gap: 8px;
  padding: 11px 19px !important;
  color: var(--codhem-navy) !important;
  background: var(--codhem-turquoise) !important;
  border: 1px solid var(--codhem-turquoise) !important;
  border-radius: 999px !important;
  box-shadow: 0 7px 17px rgba(0, 0, 0, 0.16);
  font-family: inherit !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.01em;
  text-decoration: none !important;
  transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.codhem-informe .codhem-informe-boton .elementor-button-content-wrapper {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.codhem-informe .codhem-informe-boton .elementor-button-icon {
  display: inline-flex;
  transition: transform 180ms ease;
}

.codhem-informe .codhem-informe-boton .elementor-button-icon svg {
  width: 15px !important;
  height: 15px !important;
  fill: currentColor !important;
}

.codhem-informe .codhem-informe-boton .elementor-button-icon svg path {
  fill: currentColor !important;
}

@media (hover: hover) {
  .codhem-informe .codhem-informe-boton .elementor-button:hover {
    color: var(--codhem-navy) !important;
    background: var(--codhem-turquoise-light) !important;
    border-color: var(--codhem-turquoise-light) !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.21);
    transform: translateY(-2px);
  }

  .codhem-informe .codhem-informe-boton .elementor-button:hover .elementor-button-icon {
    transform: translateX(3px);
  }
}

/* ====================== PORTADA ====================== */

.codhem-informe .codhem-informe-portada {
  position: absolute !important;
  z-index: 5;
  top: 50% !important;
  right: clamp(28px, 6vw, 78px) !important;
  left: auto !important;
  flex: none !important;
  width: clamp(245px, 29vw, 345px) !important;
  max-width: 38% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none;
  filter: drop-shadow(0 17px 18px rgba(8, 28, 48, 0.34));
  transform: translateY(-50%) rotate(-1deg);
  transform-origin: center;
  animation: codhemPortadaFlotar 5s ease-in-out infinite;
}

.codhem-informe .codhem-informe-portada > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.codhem-informe .codhem-informe-portada .elementor-widget-image,
.codhem-informe .codhem-informe-portada .elementor-widget-container {
  width: 100% !important;
  margin: 0 !important;
}

.codhem-informe .codhem-informe-portada img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  object-fit: contain;
}

/* El centrado vertical debe permanecer dentro de la animación. */
@keyframes codhemPortadaFlotar {
  0%,
  100% {
    transform: translateY(-50%) rotate(-1deg);
  }

  50% {
    transform: translateY(calc(-50% - 8px)) rotate(-1deg);
  }
}

/* ====================== TABLETA ====================== */

@media (min-width: 768px) and (max-width: 1024px) {
  .codhem-informe {
    padding: 34px 22px;
  }

  .codhem-informe .codhem-informe-banner,
  .codhem-informe .codhem-informe-banner > .e-con-inner {
    min-height: 300px !important;
  }

  .codhem-informe .codhem-informe-banner > .e-con-inner {
    padding: 32px 34px !important;
  }

  .codhem-informe .codhem-informe-contenido {
    flex-basis: 55% !important;
    width: 55% !important;
    max-width: 430px !important;
  }

  .codhem-informe .codhem-informe-titulo .elementor-heading-title,
  .codhem-informe .codhem-informe-titulo h2 {
    font-size: clamp(1.75rem, 4vw, 2.25rem) !important;
  }

  .codhem-informe .codhem-informe-portada {
    right: 24px !important;
    width: clamp(225px, 33vw, 285px) !important;
    max-width: 38% !important;
  }
}

/* ====================== MÓVIL ====================== */

@media (max-width: 767px) {
  .codhem-informe {
    padding: 28px 14px;
  }

  .codhem-informe .codhem-informe-banner {
    min-height: 0 !important;
    border-radius: 22px;
  }

  .codhem-informe .codhem-informe-banner > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    min-height: 0 !important;
    gap: 12px !important;
    padding: 26px 18px 0 !important;
    text-align: center;
  }

  .codhem-informe .codhem-informe-contenido {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 520px !important;
  }

  .codhem-informe .codhem-informe-contenido > .e-con-inner {
    align-items: center !important;
  }

  .codhem-informe .codhem-informe-etiqueta .elementor-divider-separator {
    justify-content: center !important;
  }

  .codhem-informe .codhem-informe-etiqueta .elementor-divider__text {
    font-size: 0.75rem !important;
  }

  .codhem-informe .codhem-informe-titulo .elementor-heading-title,
  .codhem-informe .codhem-informe-titulo h2 {
    margin-bottom: 10px !important;
    font-size: clamp(1.5rem, 7vw, 1.875rem) !important;
    line-height: 1.14 !important;
    text-align: center;
  }

  .codhem-informe .codhem-informe-datos,
  .codhem-informe .codhem-informe-datos p {
    font-size: 0.8125rem !important;
    text-align: center;
  }

  .codhem-informe .codhem-informe-boton {
    width: 100%;
    margin-top: 17px !important;
  }

  .codhem-informe .codhem-informe-boton .elementor-button {
    width: 100%;
    min-height: 48px;
  }

  .codhem-informe .codhem-informe-portada {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    width: min(245px, 78vw) !important;
    max-width: 100% !important;
    margin: 6px auto -10px !important;
    filter: drop-shadow(0 13px 15px rgba(8, 28, 48, 0.3));
    transform: none !important;
    animation: none !important;
  }
}

/* ====================== ACCESIBILIDAD ====================== */

.codhem-informe a:focus-visible,
.codhem-informe button:focus-visible,
.codhem-informe .codhem-informe-boton .elementor-button:focus-visible {
  outline: 3px solid var(--codhem-white) !important;
  outline-offset: 3px !important;
}

@media (prefers-contrast: more) {
  .codhem-informe .codhem-informe-banner {
    border: 2px solid var(--codhem-white);
  }

  .codhem-informe .codhem-informe-datos,
  .codhem-informe .codhem-informe-datos p {
    color: var(--codhem-white) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .codhem-informe .codhem-informe-portada {
    animation: none !important;
  }

  .codhem-informe .codhem-informe-boton .elementor-button,
  .codhem-informe .codhem-informe-boton .elementor-button-icon {
    transition: none !important;
  }

  .codhem-informe .codhem-informe-boton .elementor-button:hover,
  .codhem-informe .codhem-informe-boton .elementor-button:hover .elementor-button-icon {
    transform: none !important;
  }
}



/* ==========================================================
   ENLACES INTERNOS Y EXTERNOS
   ========================================================== */


.codhem-enlaces {
  --azul: var(--codhem-primary);
  --azul-medio: var(--codhem-blue);
  --turquesa: var(--codhem-secondary);
  --amarillo: var(--codhem-accent);
  --dorado: var(--codhem-gold);
  --verde: var(--codhem-green);
  --morado: var(--codhem-purple);
  --rosa: var(--codhem-magenta);
  --beige: var(--codhem-sand);
  --texto: var(--codhem-text);
  --fondo: #f4f7f7;

  position: relative;
  isolation: isolate;
  width: 100%;
  overflow: hidden;


  box-sizing: border-box;
}

.codhem-enlaces,
.codhem-enlaces * {
  box-sizing: border-box;
}

.codhem-enlaces > .e-con-inner {
  position: relative;
  z-index: 2;

  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 34px !important;

  width: 100% !important;
  max-width: var(--codhem-container) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}


/* =========================================================
   PANEL DE ENLACES INTERNOS
   ========================================================= */

/* ENLACES INTERNOS: columnas adaptables y palabras completas */

.codhem-enlaces .codhem-enlaces-grid > .e-con-inner {
  grid-template-columns:
    repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
  gap: 15px !important;
}

.codhem-enlaces .codhem-enlace-card .elementor-widget-container,
.codhem-enlaces .codhem-enlace-card .elementor-icon-box-wrapper {
  width: 100% !important;
  min-width: 0 !important;
}

.codhem-enlaces .codhem-enlace-card .elementor-icon-box-content {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.codhem-enlaces .codhem-enlace-card .elementor-icon-box-title,
.codhem-enlaces .codhem-enlace-card .elementor-icon-box-title a,
.codhem-enlaces .codhem-enlace-card .elementor-icon-box-title span {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  max-height: none !important;
  line-height: 1.35 !important;
}

/* En celular: una tarjeta por fila */
@media (max-width: 767px) {
  .codhem-enlaces .codhem-enlaces-grid > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 13px !important;
  }
}


/* ==========================================================
   ENLACES INTERNOS Y EXTERNOS
   ========================================================== */

.codhem-enlaces {
  --azul: var(--codhem-primary, #153659);
  --azul-medio: var(--codhem-blue, #3a537e);
  --turquesa: var(--codhem-secondary, #69c2bf);
  --amarillo: var(--codhem-accent, #dece60);
  --dorado: var(--codhem-gold, #ada14c);
  --verde: var(--codhem-green, #84bf88);
  --morado: var(--codhem-purple, #8067ab);
  --rosa: var(--codhem-magenta, #b472ad);
  --beige: var(--codhem-sand, #eee8db);
  --texto: var(--codhem-text, #5f6367);

  position: relative;
  isolation: isolate;
  width: 100%;
  min-width: 0;
}

.codhem-enlaces,
.codhem-enlaces * {
  box-sizing: border-box;
}

.codhem-enlaces > .e-con-inner {
  position: relative;
  z-index: 2;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 34px !important;
  width: 100% !important;
  max-width: var(--codhem-container, 1200px) !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
}



/* Títulos: saltos entre palabras, sin partirlas */

.codhem-enlace-card .elementor-icon-box-title {
  margin: 0 !important;
  color: var(--azul) !important;
  font-size: 15px !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
}

.codhem-enlace-card .elementor-icon-box-title,
.codhem-enlace-card .elementor-icon-box-title a,
.codhem-enlace-card .elementor-icon-box-title span {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  text-decoration: none !important;
}

.codhem-enlace-card .elementor-icon-box-title a,
.codhem-enlace-card .elementor-icon-box-title span {
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

.codhem-enlace-card .elementor-icon-box-description {
  margin: 5px 0 0 !important;
  color: var(--texto) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

/* Interacción interna */

.codhem-enlace-card:hover,
.codhem-enlace-card:focus-within {
  border-color: var(--acento) !important;
  transform: translateY(-5px);

  box-shadow:
    0 18px 34px rgba(21, 54, 89, 0.13),
    0 0 0 2px var(--acento-suave);
}

.codhem-enlace-card:hover::before,
.codhem-enlace-card:focus-within::before {
  width: calc(100% - 36px);
}

.codhem-enlace-card:hover::after,
.codhem-enlace-card:focus-within::after {
  opacity: 1;
  transform: translate(4px, -50%) rotate(45deg);
}

.codhem-enlace-card:hover .elementor-icon,
.codhem-enlace-card:focus-within .elementor-icon {
  color: var(--codhem-white, #ffffff) !important;
  background: var(--acento) !important;
  transform: rotate(-4deg) scale(1.05);
}

.codhem-enlace-card a:focus-visible {
  border-radius: 5px;
  outline: 3px solid var(--azul);
  outline-offset: 4px;
}

/* =========================================================
   PANEL DE ENLACES EXTERNOS
   ========================================================= */

.codhem-enlaces-externos {
  position: relative;
  isolation: isolate;

  width: 100% !important;
  padding: 20px !important;
  overflow: hidden;

  background:
    radial-gradient(
      circle at 5% 5%,
      rgba(105, 194, 191, 0.34),
      transparent 34%
    ),
    radial-gradient(
      circle at 96% 90%,
      rgba(128, 103, 171, 0.30),
      transparent 38%
    ),
    radial-gradient(
      circle at 88% 5%,
      rgba(222, 206, 96, 0.17),
      transparent 28%
    ),
    linear-gradient(
      135deg,
      var(--codhem-primary) 0%,
      #263f69 53%,
      var(--codhem-blue) 100%
    );

  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 32px;

  box-shadow: 0 24px 55px rgba(21, 54, 89, 0.19);
}

.codhem-enlaces-externos::before,
.codhem-enlaces-externos::after {
  position: absolute;
  z-index: 0;

  border-radius: 50%;

  content: "";
  pointer-events: none;
}

.codhem-enlaces-externos::before {
  top: -105px;
  right: 10%;

  width: 260px;
  height: 260px;

  background: rgba(222, 206, 96, 0.12);
  filter: blur(7px);
}

.codhem-enlaces-externos::after {
  bottom: -145px;
  left: -85px;

  width: 315px;
  height: 315px;

  background: rgba(180, 114, 173, 0.16);
  filter: blur(9px);
}

.codhem-enlaces-externos > .e-con-inner {
  position: relative;
  z-index: 2;

  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 30px !important;

  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

.codhem-externos-titulo .elementor-heading-title .elementor-heading-title .elementor-size-default{
  margin: 0 0 12px !important;

  color: #ffffff !important;

  font-size: clamp(30px, 3.2vw, 43px) !important;
  font-weight: 750 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;

  text-align: center;
}


/* =========================================================
   GRID DE ENLACES EXTERNOS
   ========================================================= */

.codhem-externos-grid {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
}

.codhem-externos-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;

  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
}


/* =========================================================
   TARJETAS EXTERNAS
   ========================================================= */

.codhem-externo-card {
  --acento: var(--turquesa);
  --acento-suave: rgba(105, 194, 191, 0.18);

  position: relative;

  width: 100% !important;
  margin: 0 !important;
  min-width: 0 !important;
  min-height: 100px !important;
  padding: 10px !important;
  overflow: hidden;

  background: rgba(255, 255, 255, 0.95) !important;
  border: 1px solid rgba(255, 255, 255, 0.78) !important;
  border-radius: 19px !important;

  box-shadow:
    0 13px 28px rgba(5, 24, 45, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  transition:
    transform 220ms ease,
    box-shadow 220ms ease,
    border-color 220ms ease;
}

.codhem-externo-card::before {
  position: absolute;
  top: 0;
  left: 20px;

  width: 40px;
  height: 4px;

  background: var(--acento);
  border-radius: 0 0 999px 999px;

  content: "";
  transition: width 220ms ease;
}

.codhem-externo-card::after {
  position: absolute;
  top: 13px;
  right: 14px;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 25px;
  height: 25px;

  background: var(--acento);
  clip-path: polygon(18% 17%, 84% 17%, 84% 83%, 68% 83%, 68% 44%, 27% 85%, 15% 73%, 56% 33%, 18% 33%);
  content: "";
  opacity: 0.75;

  transition:
    color 220ms ease,
    background-color 220ms ease,
    transform 220ms ease;
}

.codhem-externo-card > .e-con-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  max-width: none !important;
  min-height: 86px !important;
  padding: 0 !important;
}


/* Colores alternados externos */

.codhem-externo-card:nth-child(6n + 1) {
  --acento: var(--turquesa);
  --acento-suave: rgba(105, 194, 191, 0.18);
}

.codhem-externo-card:nth-child(6n + 2) {
  --acento: var(--amarillo);
  --acento-suave: rgba(222, 206, 96, 0.21);
}

.codhem-externo-card:nth-child(6n + 3) {
  --acento: var(--verde);
  --acento-suave: rgba(132, 191, 136, 0.20);
}

.codhem-externo-card:nth-child(6n + 4) {
  --acento: var(--morado);
  --acento-suave: rgba(128, 103, 171, 0.17);
}

.codhem-externo-card:nth-child(6n + 5) {
  --acento: var(--rosa);
  --acento-suave: rgba(180, 114, 173, 0.18);
}

.codhem-externo-card:nth-child(6n + 6) {
  --acento: var(--dorado);
  --acento-suave: rgba(173, 161, 76, 0.19);
}


/* Interacción enlaces externos */

.codhem-externo-card:hover,
.codhem-externo-card:focus-within {
  border-color: var(--acento) !important;
  transform: translateY(-6px);

  box-shadow:
    0 20px 38px rgba(5, 24, 45, 0.24),
    0 0 0 2px var(--acento-suave);
}

.codhem-externo-card:hover::before,
.codhem-externo-card:focus-within::before {
  width: calc(100% - 40px);
}

.codhem-externo-card:hover::after,
.codhem-externo-card:focus-within::after {
  color: var(--codhem-white);
  background: var(--acento);
  opacity: 1;
  transform: translate(2px, -2px);
}

.codhem-externo-card:hover img,
.codhem-externo-card:focus-within img {
  filter: saturate(1);
  opacity: 1;
  transform: scale(1.045);
}

.codhem-externo-card a:focus-visible {
  border-radius: 12px;
  outline: 3px solid var(--amarillo);
  outline-offset: 4px;
}


/* =========================================================
   TABLETA
   ========================================================= */

@media (max-width: 1024px) {

  .codhem-enlaces-externos {
    padding: 44px 36px !important;
    border-radius: 28px;
  }

 

  .codhem-externo-card {
    min-height: 106px !important;
  }
}


/* =========================================================
   CELULAR
   ========================================================= */

@media (max-width: 767px) {
  .codhem-enlaces {
    padding: 0 !important;
  }
        
  .codhem-enlaces-internos {
    padding: 32px 18px !important;
    border-radius: 24px;
  }

  .codhem-enlaces-internos > .e-con-inner {
    gap: 23px !important;
  }


  .codhem-enlaces-grid > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 13px !important;
  }

  .codhem-enlace-card {
    min-height: 88px !important;
    padding: 16px 42px 16px 15px !important;
    border-radius: 16px !important;
  }

  .codhem-enlace-card::before {
    left: 16px;
  }

  .codhem-enlace-card::after {
    right: 14px;
  }

  .codhem-enlace-card .elementor-icon-box-wrapper {
    gap: 12px !important;
  }

  .codhem-enlace-card .elementor-icon {
    width: 44px !important;
    height: 44px !important;
    border-radius: 13px !important;
  }

  .codhem-enlace-card .elementor-icon-box-title {
    font-size: 14px !important;
  }

  .codhem-enlaces-externos {
    padding: 36px 18px !important;
    border-radius: 24px;
  }

  .codhem-enlaces-externos > .e-con-inner {
    gap: 24px !important;
  }

  .codhem-externos-titulo .elementor-heading-title {
    font-size: 30px !important;
    line-height: 1.1 !important;
  }


  .codhem-externos-grid > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 13px !important;
  }

  .codhem-externo-card {
    min-height: 120px !important;
    padding: 10px 10px !important;
    border-radius: 17px !important;
  }

  .codhem-externo-card > .e-con-inner,
  .codhem-externo-logo .elementor-widget-container,
  .codhem-externo-logo a {
    min-height: 76px !important;
  }
}


/* =========================================================
   CELULARES PEQUEÑOS
   ========================================================= */

@media (max-width: 390px) {

  .codhem-enlaces-internos,
  .codhem-enlaces-externos {
    padding-right: 14px !important;
    padding-left: 14px !important;
  }

  .codhem-internos-titulo .elementor-heading-title,
  .codhem-externos-titulo .elementor-heading-title {
    font-size: 27px !important;
  }

  .codhem-enlace-card {
    padding-left: 14px !important;
  }

  .codhem-enlace-card .elementor-icon {
    width: 31px !important;
    height: 31px !important;
  }

  .codhem-enlace-card .elementor-icon-box-title {
    font-size: 13.5px !important;
  }

  .codhem-externo-card {
    min-height: 108px !important;
  }
}


/* =========================================================
   ACCESIBILIDAD
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  .codhem-enlace-card,
  .codhem-enlace-card::before,
  .codhem-enlace-card::after,
  .codhem-enlace-card .elementor-icon,
  .codhem-externo-card,
  .codhem-externo-card::before,
  .codhem-externo-card::after,
  .codhem-externo-logo img {
    transition: none !important;
  }

  .codhem-enlace-card:hover,
  .codhem-enlace-card:focus-within,
  .codhem-enlace-card:hover .elementor-icon,
  .codhem-enlace-card:focus-within .elementor-icon,
  .codhem-externo-card:hover,
  .codhem-externo-card:focus-within,
  .codhem-externo-card:hover img,
  .codhem-externo-card:focus-within img {
    transform: none !important;
  }
}

/* ==========================================================
   CONOCE NUESTRAS VISITADURÍAS Y ESPECIALIZADAS
   ========================================================== */

/* CODHEM · Buscador de Visitadurías
 * Sustituye por completo el CSS anterior de este componente.
 */

.codhem-visitadurias {
    --cv-turquesa: var(--codhem-secondary);
    --cv-turquesa-oscuro: #287f7c;
    --cv-azul: var(--codhem-primary);
    --cv-azul-medio: var(--codhem-blue);
    --cv-dorado: var(--codhem-gold);
    --cv-morado: var(--codhem-purple-dark);
    --cv-texto: #4f5b62;
    --cv-borde: #dce6e7;
    --cv-fondo: #f4f8f8;
    --cv-blanco: var(--codhem-white);
    margin-inline: auto;
    color: var(--cv-texto);
    font-family: inherit;
}

.codhem-visitadurias *,
.codhem-visitadurias *::before,
.codhem-visitadurias *::after {
    box-sizing: border-box;
}

.codhem-visitadurias h2,
.codhem-visitadurias h3,
.codhem-visitadurias p {
    margin-top: 0;
}

.codhem-visitadurias__principal {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
    gap: clamp(24px, 4vw, 50px);
    align-items: center;
    padding: clamp(20px, 3vw, 30px);
    overflow: hidden;
    background:
        radial-gradient(circle at 100% 0, rgba(105, 194, 191, .17), transparent 34%),
        linear-gradient(135deg, #f7fbfb 0%, #eef6f6 100%);
    border: 1px solid rgba(105, 194, 191, .27);
    border-radius: 16px 62px 16px 62px;
    box-shadow: 0 18px 46px rgba(21, 54, 89, .09);
}

.codhem-visitadurias__buscador {
    min-width: 0;
}

.codhem-visitadurias__eyebrow {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 9px;
    color: var(--cv-turquesa-oscuro);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.codhem-visitadurias__eyebrow::before {
    width: 24px;
    height: 3px;
   content: "";
    background: var(--cv-turquesa);
    border-radius: 99px;
}

.codhem-visitadurias__buscador h2 {
    max-width: 570px;
    margin-bottom: 13px;
    color: var(--cv-azul);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 760;
    line-height: 1.03;
    letter-spacing: -.035em;
}

.codhem-visitadurias__introduccion {
    max-width: 580px;
    margin-bottom: 24px;
    font-size: 1rem;
    line-height: 1.65;
}

.codhem-visitadurias__formulario label {
    display: block;
    margin-bottom: 7px;
    color: var(--cv-azul);
    font-size: .88rem;
    font-weight: 750;
}

.codhem-visitadurias__control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px;
}

.codhem-visitadurias__campo-autocompletar {
    position: relative;
    min-width: 0;
}

.codhem-visitadurias__campo-autocompletar::after {
    position: absolute;
    top: 50%;
    right: 17px;
    width: 8px;
    height: 8px;
    content: "";
    border-right: 2px solid var(--cv-azul-medio);
    border-bottom: 2px solid var(--cv-azul-medio);
    pointer-events: none;
    transform: translateY(-70%) rotate(45deg);
}

.codhem-visitadurias__select,
.codhem-visitadurias__buscar {
    min-height: 50px;
    font: inherit;
}

.codhem-visitadurias__select {
    width: 100%;
    padding: 11px 44px 11px 15px;
    color: var(--cv-azul);
    background: var(--cv-blanco);
    border: 1px solid #c8d9db;
    border-radius: 11px;
    outline: none;
}

.codhem-visitadurias__select:focus {
    border-color: var(--cv-turquesa-oscuro);
    box-shadow: 0 0 0 4px rgba(105, 194, 191, .18);
}

.codhem-visitadurias__select[aria-invalid="true"] {
    border-color: #b74444;
    box-shadow: 0 0 0 4px rgba(183, 68, 68, .12);
}

.codhem-visitadurias__buscar,
.codhem-visitadurias__especializadas-toggle {
    padding: 11px 20px;
    color: var(--cv-blanco);
    font-weight: 760;
    background: var(--cv-turquesa-oscuro);
    border: 1px solid var(--cv-turquesa-oscuro);
    border-radius: 11px 23px 11px 23px;
    cursor: pointer;
    transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.codhem-visitadurias__buscar:hover,
.codhem-visitadurias__especializadas-toggle:hover {
    background: var(--cv-azul);
    border-color: var(--cv-azul);
    box-shadow: 0 9px 20px rgba(21, 54, 89, .18);
    transform: translateY(-2px);
}

.codhem-visitadurias__ayuda {
    margin: 13px 0 0;
    color: #69777d;
    font-size: .82rem;
    line-height: 1.5;
}

.codhem-visitadurias__estado {
    min-height: 19px;
    margin: 7px 0 0;
    color: var(--cv-turquesa-oscuro);
    font-size: .82rem;
    font-weight: 650;
}

/* Sede compacta dentro del bloque principal */
.codhem-visitadurias__sede-destacada {
    min-width: 0;
}

.codhem-sede {
    overflow: hidden;
    background: var(--cv-blanco);
    border: 1px solid rgba(21, 54, 89, .13);
    border-radius: 12px 42px 12px 42px;
    box-shadow: 0 16px 35px rgba(21, 54, 89, .13);
}

.codhem-sede__imagen {
    height: 165px;
    overflow: hidden;
    background: #dde9ea;
}

.codhem-sede__imagen img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.codhem-sede__contenido {
    padding: 20px 22px 22px;
}

.codhem-sede__etiqueta {
    display: inline-block;
    margin-bottom: 7px;
    color: var(--cv-turquesa-oscuro);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.codhem-sede h3 {
    margin-bottom: 6px;
    color: var(--cv-azul);
    font-size: 1.35rem;
    line-height: 1.2;
}

.codhem-sede__texto,
.codhem-sede__direccion,
.codhem-sede__telefono {
    margin-bottom: 6px;
    font-size: .82rem;
    line-height: 1.45;
}

.codhem-sede__direccion {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/* Resultado */
.codhem-visitadurias__resultados {
    padding-top: clamp(34px, 5vw, 58px);
    scroll-margin-top: 100px;
}

.codhem-visitadurias__resultados[hidden],
.codhem-visitadurias__especializadas-panel[hidden] {
    display: none !important;
}

.codhem-visitadurias__resultado-cabecera {
    margin-bottom: 18px;
    padding-left: 15px;
    border-left: 4px solid var(--cv-turquesa);
}

.codhem-visitadurias__resultado-cabecera .codhem-visitadurias__eyebrow::before {
    display: none;
}

.codhem-visitadurias__resultado-cabecera h2 {
    margin-bottom: 0;
    color: var(--cv-azul);
    font-size: clamp(1.55rem, 2.7vw, 2.15rem);
}

.codhem-visitadurias__grid,
.codhem-visitadurias__especializadas-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.codhem-visitadurias__especializadas-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.codhem-visitaduria {
    display: flex;
    min-width: 0;
    overflow: hidden;
    background: var(--cv-blanco);
    border: 1px solid var(--cv-borde);
    border-radius: 10px 34px 10px 34px;
    box-shadow: 0 11px 28px rgba(21, 54, 89, .08);
}

.codhem-visitaduria__imagen {
    flex: 0 0 34%;
    min-width: 130px;
    background: #e6eeee;
}

.codhem-visitaduria__imagen img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.codhem-visitaduria__contenido {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    padding: 17px;
}

.codhem-visitaduria__tipo {
    align-self: flex-start;
    margin-bottom: 7px;
    padding: 4px 8px;
    color: var(--cv-turquesa-oscuro);
    font-size: .59rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    background: rgba(105, 194, 191, .12);
    border: 1px solid rgba(105, 194, 191, .30);
    border-radius: 99px;
}

/* Código de color por tipo de atención */
.codhem-visitaduria--general .codhem-visitaduria__tipo {
    color: #1f716e;
    background: #eaf7f6;
    border-color: rgba(105, 194, 191, .42);
}

.codhem-visitaduria--adjunta .codhem-visitaduria__tipo {
    color: #665c18;
    background: #fbf8e5;
    border-color: rgba(173, 161, 76, .42);
}

.codhem-visitaduria--sede .codhem-visitaduria__tipo,
.codhem-visitaduria--otra .codhem-visitaduria__tipo {
    color: var(--cv-azul);
    background: #edf2f7;
    border-color: rgba(21, 54, 89, .22);
}

.codhem-visitaduria--especializada .codhem-visitaduria__tipo {
    color: var(--cv-morado);
    background: #f3eef8;
    border-color: rgba(128, 103, 171, .32);
}

.codhem-visitaduria h3 {
    margin-bottom: 9px;
    color: var(--cv-azul);
    font-size: 1rem;
    line-height: 1.25;
}

.codhem-visitaduria__datos {
    margin-bottom: 11px;
}

.codhem-visitaduria__dato {
    padding: 5px 0;
    border-bottom: 1px solid #edf1f1;
}

.codhem-visitaduria__dato-etiqueta {
    display: block;
    margin-bottom: 1px;
    color: var(--cv-turquesa-oscuro);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.codhem-visitaduria__dato p,
.codhem-visitaduria__dato a {
    margin: 0;
    color: var(--cv-texto);
    font-size: .76rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.codhem-visitaduria__acciones {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: auto;
}

.codhem-visitaduria__boton {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 10px;
    color: var(--cv-azul);
    font-size: .68rem;
    font-weight: 750;
    line-height: 1.15;
    text-align: center;
    text-decoration: none !important;
    background: var(--cv-blanco);
    border: 1px solid #c8d7d9;
    border-radius: 7px 14px 7px 14px;
}

.codhem-visitaduria__boton--principal,
.codhem-visitaduria__boton:hover {
    color: var(--cv-blanco);
    background: var(--cv-azul);
    border-color: var(--cv-azul);
}

.codhem-visitadurias__especializadas-cabecera {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.codhem-visitadurias__especializadas-cabecera .codhem-visitadurias__eyebrow {
    margin-bottom: 4px;
    color: var(--cv-morado);
}

.codhem-visitadurias__especializadas-cabecera .codhem-visitadurias__eyebrow::before {
    background: var(--cv-morado);
}

.codhem-visitadurias__especializadas-cabecera h2 {
    margin-bottom: 4px;
    color: var(--cv-azul);
    font-size: clamp(1.15rem, 2vw, 1.48rem);
}

.codhem-visitadurias__especializadas-cabecera p:last-child {
    margin-bottom: 0;
    font-size: .86rem;
}

.codhem-visitadurias__especializadas-toggle {
    flex: 0 0 auto;
    min-height: 43px;
    font-size: .8rem;
    background: var(--cv-morado);
    border-color: var(--cv-morado);
}

.codhem-visitadurias__especializadas-panel {
    padding-top: 21px;
}

.codhem-visitadurias__especializadas-grid .codhem-visitaduria {
    display: flex;
    flex-direction: column;
}

.codhem-visitadurias__especializadas-grid .codhem-visitaduria__imagen {
    flex: none;
    width: 100%;
    height: 120px;
}

.codhem-visitadurias__sin-asignacion {
    padding: 20px 22px;
    background: var(--codhem-white)bed;
    border-left: 4px solid var(--cv-dorado);
    border-radius: 7px 24px 7px 24px;
}

.codhem-visitadurias__sin-asignacion h3 {
    margin-bottom: 6px;
    color: var(--cv-azul);
}

.codhem-visitadurias__sin-asignacion p {
    margin-bottom: 0;
}

@media (max-width: 1024px) {
    .codhem-visitadurias__principal {
        grid-template-columns: minmax(0, 1fr) minmax(300px, .8fr);
        gap: 24px;
    }

    .codhem-visitadurias__grid,
    .codhem-visitadurias__especializadas-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .codhem-visitaduria {
        flex-direction: column;
    }

    .codhem-visitaduria__imagen {
        flex: none;
        width: 100%;
        height: 145px;
    }
}

@media (max-width: 767px) {
    .codhem-visitadurias__principal {
        grid-template-columns: 1fr;
        padding: 24px 17px 18px;
        border-radius: 11px 38px 11px 38px;
    }

    .codhem-visitadurias__buscador h2 {
        font-size: clamp(1.85rem, 9vw, 2.5rem);
    }

    .codhem-visitadurias__control {
        grid-template-columns: 1fr;
    }

    .codhem-visitadurias__buscar {
        width: 100%;
    }

    .codhem-sede {
        display: grid;
        grid-template-columns: 118px minmax(0, 1fr);
        border-radius: 9px 29px 9px 29px;
    }

    .codhem-sede__imagen {
        height: 100%;
        min-height: 235px;
    }

    .codhem-sede__contenido {
        padding: 17px 15px;
    }

    .codhem-sede .codhem-visitaduria__acciones {
        display: grid;
        grid-template-columns: 1fr;
    }

    .codhem-visitadurias__grid,
    .codhem-visitadurias__especializadas-grid {
        grid-template-columns: 1fr;
    }

    .codhem-visitadurias__especializadas-cabecera {
        align-items: stretch;
        flex-direction: column;
        gap: 14px;
    }

    .codhem-visitadurias__especializadas-toggle {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .codhem-sede {
        grid-template-columns: 1fr;
    }

    .codhem-sede__imagen {
        height: 130px;
        min-height: 0;
    }

    .codhem-visitaduria__acciones {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (prefers-reduced-motion: reduce) {
    .codhem-visitadurias *,
    .codhem-visitadurias *::before,
    .codhem-visitadurias *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

@media (forced-colors: active) {
    .codhem-visitadurias__principal,
    .codhem-sede,
    .codhem-visitaduria,
    .codhem-visitadurias__especializadas {
        border: 1px solid CanvasText;
    }
}

/* ==========================================================
   ESCALA TIPOGRÁFICA DE LA PORTADA
   ========================================================== */

.codhem-hero-title h1,
.codhem-hero-title h2,
.codhem-hero-title .elementor-heading-title,
.codhem-prensa-title h1,
.codhem-prensa-title h2,
.codhem-prensa-title .elementor-heading-title,
.codhem-micrositios-section .titulo-principal h1,
.codhem-micrositios-section .titulo-principal h2,
.codhem-micrositios-section .titulo-principal .elementor-heading-title,
.codhem-transparencia-copy .titulo-principal h1,
.codhem-transparencia-copy .titulo-principal h2,
.codhem-transparencia-copy .titulo-principal .elementor-heading-title,
.codhem-editoriales-wrap .titulo-principal h1,
.codhem-editoriales-wrap .titulo-principal h2,
.codhem-editoriales-wrap .titulo-principal .elementor-heading-title,
.codhem-eventos-externos .titulo-principal h1,
.codhem-eventos-externos .titulo-principal h2,
.codhem-eventos-externos .titulo-principal .elementor-heading-title,
.codhem-enlaces-hero .titulo-principal h1,
.codhem-enlaces-hero .titulo-principal h2,
.codhem-enlaces-hero .titulo-principal .elementor-heading-title,
.codhem-visitadurias__buscador h1,
.codhem-visitadurias__buscador h2,
.codhem-visitadurias__buscador .elementor-heading-title {
  color: var(--codhem-primary) !important;
  font-family: var(--codhem-font) !important;
  font-size: var(--codhem-fs-h2) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
}

.codhem-hero-title .elementor-heading-title {
  font-size: var(--codhem-fs-display) !important;
  line-height: 1.15 !important;
}

.codhem-hero-eyebrow .elementor-heading-title,
.codhem-hero-eyebrow .elementor-icon-list-text,
.codhem-visitadurias__eyebrow .elementor-heading-title,
.codhem-visitadurias__eyebrow .elementor-icon-list-text,
.codhem-enlaces-etiqueta .elementor-heading-title,
.codhem-enlaces-etiqueta .elementor-icon-list-text,
.codhem-internos-etiqueta .elementor-heading-title,
.codhem-internos-etiqueta .elementor-icon-list-text,
.codhem-externos-etiqueta .elementor-heading-title,
.codhem-externos-etiqueta .elementor-icon-list-text,
.codhem-visitadurias__eyebrow {
  font-family: var(--codhem-font) !important;
  font-size: var(--codhem-fs-label) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Avenir';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://qa-portal.codhem.org.mx/wp-content/uploads/2026/03/Avenir-Light.ttf') format('truetype');
}
@font-face {
	font-family: 'Avenir';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://qa-portal.codhem.org.mx/wp-content/uploads/2026/03/AvenirLTPro-Roman.ttf') format('truetype');
}
@font-face {
	font-family: 'Avenir';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://qa-portal.codhem.org.mx/wp-content/uploads/2026/03/Avenir-Heavy.ttf') format('truetype');
}
@font-face {
	font-family: 'Avenir';
	font-style: normal;
	font-weight: bold;
	font-display: auto;
	src: url('https://qa-portal.codhem.org.mx/wp-content/uploads/2026/03/Avenir-Black.ttf') format('truetype');
}
/* End Custom Fonts CSS */