.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-aea11ef:#7A3324;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#7A3324;}.elementor-kit-6 h2{color:var( --e-global-color-aea11ef );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --e-gv-f9e824d:30px; }
/* Start custom CSS *//* ===== FASE MÓVIL (punto 15 + repaso general) ===== */
@media (max-width: 767px) {
  /* Sin desplazamiento lateral */
  html, body { overflow-x: clip; }
  /* Mismo margen lateral en todas las secciones (cabecera, contenido y pie) */
  .elementor > .e-con.e-parent:not(.e-atomic-element) { padding-left: 20px !important; padding-right: 20px !important; }
  .elementor-widget, .elementor-widget-container, .e-con-inner { max-width: 100%; }
  .elementor img { max-width: 100%; height: auto; }
  /* Pie: los enlaces saltan de línea en lugar de salirse de la pantalla */
  .elementor-location-footer .elementor-icon-list-items.elementor-inline-items { flex-wrap: wrap; row-gap: 6px; }
  .elementor-location-footer .elementor-icon-list-text { white-space: normal; word-break: normal; }
}
/* ===== Cabecera móvil (punto 16): logo a la izquierda con margen, menú a la derecha sin caja ===== */
@media (max-width: 767px) {
  .elementor-location-header .elementor-element-9aa328a { flex-direction: row !important; flex-wrap: nowrap !important; justify-content: space-between !important; align-items: center !important; padding: 14px 20px !important; position: relative; }
  .elementor-location-header .elementor-element-48c11af { width: auto !important; max-width:  75%; margin: 0 !important; }
  .elementor-location-header .elementor-element-48c11af img { width: 250px; max-width: 100%; }
  .elementor-location-header .elementor-element-q1r2s3t { width: auto !important; flex: 0 0 auto !important; margin: 0 !important; position: static; }
  .elementor-location-header .elementor-menu-toggle { background: transparent !important; margin: 0 0 0 auto !important; padding: 6px !important; }
  .elementor-location-header .elementor-element-q1r2s3t .elementor-nav-menu--dropdown { position: absolute; left: 0 !important; right: 0 !important; width: 100% !important; top: 100%; z-index: 999; }
}
/* Cabecera y menú por encima del contenido (menú móvil desplegado) */
.elementor-location-header { position: relative; z-index: 1000; }
.elementor-location-header .elementor-element-231b225 { z-index: 1000; }
/* Pie en móvil: columnas apiladas y línea legal centrada */
@media (max-width: 767px) {
  .elementor-location-footer .elementor-element-fab22eb { flex-direction: column !important; flex-wrap: nowrap !important; gap: 28px !important; }
  .elementor-location-footer .elementor-element-fab22eb > .elementor-element { width: 100% !important; max-width: 100% !important; }
  .elementor-location-footer .elementor-element-026053b { flex-direction: column !important; align-items: center !important; gap: 10px !important; text-align: center; }
  .elementor-location-footer .elementor-element-026053b > .elementor-element { width: 100% !important; text-align: center; }
  .elementor-location-footer .elementor-element-026053b .elementor-icon-list-items { justify-content: center; }
}
/* Responsive review: local landing pages and service contact blocks. */
@media (max-width:767px) {
 :is(.elementor-819,.elementor-842,.elementor-838,.elementor-815,.elementor-810,.elementor-793) h1.elementor-heading-title {font-size:32px; line-height:1.2; overflow-wrap:break-word;}
 .elementor-819 .elementor-element-1b6b0e6,
 .elementor-842 .elementor-element-1b363c4 {flex-direction:column; gap:24px;}
 .elementor-819 .elementor-element-1b6b0e6 > .e-con,
 .elementor-842 .elementor-element-1b363c4 > .e-con {width:100%; min-width:0;}
 :is(.elementor-1356,.elementor-1381) .elementor-widget-text-editor {overflow-wrap:anywhere;}
}
/* ===== FASE MÓVIL (punto 15 + repaso general) ===== */
@media (max-width: 767px) {
  /* Sin desplazamiento lateral */
  html, body { overflow-x: clip; }
  /* Mismo margen lateral en todas las secciones (cabecera, contenido y pie) */
  .elementor > .e-con.e-parent:not(.e-atomic-element) { padding-left: 20px !important; padding-right: 20px !important; }
  .elementor-widget, .elementor-widget-container, .e-con-inner { max-width: 100%; }
  .elementor img { max-width: 100%; height: auto; }
  /* Pie: los enlaces saltan de línea en lugar de salirse de la pantalla */
  .elementor-location-footer .elementor-icon-list-items.elementor-inline-items { flex-wrap: wrap; row-gap: 6px; }
  .elementor-location-footer .elementor-icon-list-text { white-space: normal; word-break: normal; }
}
/* ===== Cabecera móvil (punto 16): logo a la izquierda con margen, menú a la derecha sin caja ===== */
@media (max-width: 767px) {
  .elementor-location-header .elementor-element-9aa328a { flex-direction: row !important; flex-wrap: nowrap !important; justify-content: space-between !important; align-items: center !important; padding: 14px 20px !important; position: relative; }
  .elementor-location-header .elementor-element-48c11af { width: auto !important; max-width:  75%; margin: 0 !important; }
  .elementor-location-header .elementor-element-48c11af img { width: 250px; max-width: 100%; }
  .elementor-location-header .elementor-element-q1r2s3t { width: auto !important; flex: 0 0 auto !important; margin: 0 !important; position: static; }
  .elementor-location-header .elementor-menu-toggle { background: transparent !important; margin: 0 0 0 auto !important; padding: 6px !important; }
  .elementor-location-header .elementor-element-q1r2s3t .elementor-nav-menu--dropdown { position: absolute; left: 0 !important; right: 0 !important; width: 100% !important; top: 100%; z-index: 999; }
}
/* Cabecera y menú por encima del contenido (menú móvil desplegado) */
.elementor-location-header { position: relative; z-index: 1000; }
.elementor-location-header .elementor-element-231b225 { z-index: 1000; }
/* Pie en móvil: columnas apiladas y línea legal centrada */
@media (max-width: 767px) {
  .elementor-location-footer .elementor-element-fab22eb { flex-direction: column !important; flex-wrap: nowrap !important; gap: 28px !important; }
  .elementor-location-footer .elementor-element-fab22eb > .elementor-element { width: 100% !important; max-width: 100% !important; }
  .elementor-location-footer .elementor-element-026053b { flex-direction: column !important; align-items: center !important; gap: 10px !important; text-align: center; }
  .elementor-location-footer .elementor-element-026053b > .elementor-element { width: 100% !important; text-align: center; }
  .elementor-location-footer .elementor-element-026053b .elementor-icon-list-items { justify-content: center; }
}
/* Responsive review: local landing pages and service contact blocks. */
@media (max-width:767px) {
 :is(.elementor-819,.elementor-842,.elementor-838,.elementor-815,.elementor-810,.elementor-793) h1.elementor-heading-title {font-size:32px !important; line-height:1.2 !important; overflow-wrap:break-word;}
 .elementor-819 .elementor-element-1b6b0e6,
 .elementor-842 .elementor-element-1b363c4 {flex-direction:column; gap:24px;}
 .elementor-819 .elementor-element-1b6b0e6 > .e-con,
 .elementor-842 .elementor-element-1b363c4 > .e-con {width:100%; min-width:0;}
 :is(.elementor-1356,.elementor-1381) .elementor-widget-text-editor {overflow-wrap:anywhere;}
}

/* Home hero: fluid width on tablet, without changing desktop. */
@media (min-width:768px) and (max-width:1024px) {
 .elementor-99 .elementor-element.elementor-element-44e31906 {width:100%; max-width:100%; min-width:0;}
 .elementor-99 .elementor-element-44e31906 > .elementor-element {max-width:100%; min-width:0;}
}
/* ===== FASE MÓVIL (punto 15 + repaso general) ===== */
@media (max-width: 767px) {
  /* Sin desplazamiento lateral */
  html, body { overflow-x: clip; }
  /* Mismo margen lateral en todas las secciones (cabecera, contenido y pie) */
  .elementor > .e-con.e-parent:not(.e-atomic-element) { padding-left: 20px !important; padding-right: 20px !important; }
  .elementor-widget, .elementor-widget-container, .e-con-inner { max-width: 100%; }
  .elementor img { max-width: 100%; height: auto; }
  /* Pie: los enlaces saltan de línea en lugar de salirse de la pantalla */
  .elementor-location-footer .elementor-icon-list-items.elementor-inline-items { flex-wrap: wrap; row-gap: 6px; }
  .elementor-location-footer .elementor-icon-list-text { white-space: normal; word-break: normal; }
}
/* ===== Cabecera móvil (punto 16): logo a la izquierda con margen, menú a la derecha sin caja ===== */
@media (max-width: 767px) {
  .elementor-location-header .elementor-element-9aa328a { flex-direction: row !important; flex-wrap: nowrap !important; justify-content: space-between !important; align-items: center !important; padding: 14px 20px !important; position: relative; }
  .elementor-location-header .elementor-element-48c11af { width: auto !important; max-width:  75%; margin: 0 !important; }
  .elementor-location-header .elementor-element-48c11af img { width: 250px; max-width: 100%; }
  .elementor-location-header .elementor-element-q1r2s3t { width: auto !important; flex: 0 0 auto !important; margin: 0 !important; position: static; }
  .elementor-location-header .elementor-menu-toggle { background: transparent !important; margin: 0 0 0 auto !important; padding: 6px !important; }
  .elementor-location-header .elementor-element-q1r2s3t .elementor-nav-menu--dropdown { position: absolute; left: 0 !important; right: 0 !important; width: 100% !important; top: 100%; z-index: 999; }
}
/* Cabecera y menú por encima del contenido (menú móvil desplegado) */
.elementor-location-header { position: relative; z-index: 1000; }
.elementor-location-header .elementor-element-231b225 { z-index: 1000; }
/* Pie en móvil: columnas apiladas y línea legal centrada */
@media (max-width: 767px) {
  .elementor-location-footer .elementor-element-fab22eb { flex-direction: column !important; flex-wrap: nowrap !important; gap: 28px !important; }
  .elementor-location-footer .elementor-element-fab22eb > .elementor-element { width: 100% !important; max-width: 100% !important; }
  .elementor-location-footer .elementor-element-026053b { flex-direction: column !important; align-items: center !important; gap: 10px !important; text-align: center; }
  .elementor-location-footer .elementor-element-026053b > .elementor-element { width: 100% !important; text-align: center; }
  .elementor-location-footer .elementor-element-026053b .elementor-icon-list-items { justify-content: center; }
}
/* Responsive review: local landing pages and service contact blocks. */
@media (max-width:767px) {
 :is(.elementor-819,.elementor-842,.elementor-838,.elementor-815,.elementor-810,.elementor-793) h1.elementor-heading-title {font-size:32px; line-height:1.2; overflow-wrap:break-word;}
 .elementor-819 .elementor-element-1b6b0e6,
 .elementor-842 .elementor-element-1b363c4 {flex-direction:column; gap:24px;}
 .elementor-819 .elementor-element-1b6b0e6 > .e-con,
 .elementor-842 .elementor-element-1b363c4 > .e-con {width:100%; min-width:0;}
 :is(.elementor-1356,.elementor-1381) .elementor-widget-text-editor {overflow-wrap:anywhere;}
}
/* ===== FASE MÓVIL (punto 15 + repaso general) ===== */
@media (max-width: 767px) {
  /* Sin desplazamiento lateral */
  html, body { overflow-x: clip; }
  /* Mismo margen lateral en todas las secciones (cabecera, contenido y pie) */
  .elementor > .e-con.e-parent:not(.e-atomic-element) { padding-left: 20px !important; padding-right: 20px !important; }
  .elementor-widget, .elementor-widget-container, .e-con-inner { max-width: 100%; }
  .elementor img { max-width: 100%; height: auto; }
  /* Pie: los enlaces saltan de línea en lugar de salirse de la pantalla */
  .elementor-location-footer .elementor-icon-list-items.elementor-inline-items { flex-wrap: wrap; row-gap: 6px; }
  .elementor-location-footer .elementor-icon-list-text { white-space: normal; word-break: normal; }
}
/* ===== Cabecera móvil (punto 16): logo a la izquierda con margen, menú a la derecha sin caja ===== */
@media (max-width: 767px) {
  .elementor-location-header .elementor-element-9aa328a { flex-direction: row !important; flex-wrap: nowrap !important; justify-content: space-between !important; align-items: center !important; padding: 14px 20px !important; position: relative; }
  .elementor-location-header .elementor-element-48c11af { width: auto !important; max-width:  75%; margin: 0 !important; }
  .elementor-location-header .elementor-element-48c11af img { width: 250px; max-width: 100%; }
  .elementor-location-header .elementor-element-q1r2s3t { width: auto !important; flex: 0 0 auto !important; margin: 0 !important; position: static; }
  .elementor-location-header .elementor-menu-toggle { background: transparent !important; margin: 0 0 0 auto !important; padding: 6px !important; }
  .elementor-location-header .elementor-element-q1r2s3t .elementor-nav-menu--dropdown { position: absolute; left: 0 !important; right: 0 !important; width: 100% !important; top: 100%; z-index: 999; }
}
/* Cabecera y menú por encima del contenido (menú móvil desplegado) */
.elementor-location-header { position: relative; z-index: 1000; }
.elementor-location-header .elementor-element-231b225 { z-index: 1000; }
/* Pie en móvil: columnas apiladas y línea legal centrada */
@media (max-width: 767px) {
  .elementor-location-footer .elementor-element-fab22eb { flex-direction: column !important; flex-wrap: nowrap !important; gap: 28px !important; }
  .elementor-location-footer .elementor-element-fab22eb > .elementor-element { width: 100% !important; max-width: 100% !important; }
  .elementor-location-footer .elementor-element-026053b { flex-direction: column !important; align-items: center !important; gap: 10px !important; text-align: center; }
  .elementor-location-footer .elementor-element-026053b > .elementor-element { width: 100% !important; text-align: center; }
  .elementor-location-footer .elementor-element-026053b .elementor-icon-list-items { justify-content: center; }
}
/* Responsive review: local landing pages and service contact blocks. */
@media (max-width:767px) {
 :is(.elementor-819,.elementor-842,.elementor-838,.elementor-815,.elementor-810,.elementor-793) h1.elementor-heading-title {font-size:32px !important; line-height:1.2 !important; overflow-wrap:break-word;}
 .elementor-819 .elementor-element-1b6b0e6,
 .elementor-842 .elementor-element-1b363c4 {flex-direction:column; gap:24px;}
 .elementor-819 .elementor-element-1b6b0e6 > .e-con,
 .elementor-842 .elementor-element-1b363c4 > .e-con {width:100%; min-width:0;}
 :is(.elementor-1356,.elementor-1381) .elementor-widget-text-editor {overflow-wrap:anywhere;}
}

/* Home hero: fluid width on tablet, without changing desktop. */
@media (min-width:768px) and (max-width:1024px) {
 .elementor-99 .elementor-element.elementor-element-44e31906 {width:100%; max-width:100%; min-width:0;}
 .elementor-99 .elementor-element-44e31906 > .elementor-element {max-width:100%; min-width:0;}
}

/* Tablet navigation: align logo and toggle, contain dropdown width. */
@media (min-width:768px) and (max-width:1024px) {
 .elementor-location-header .elementor-element-9aa328a {padding:14px 24px; position:relative;}
 .elementor-location-header .elementor-element-9aa328a > .e-con-inner {justify-content:space-between; align-items:center;}
 .elementor-location-header .elementor-element-48c11af {width:250px; max-width:75%;}
 .elementor-location-header .elementor-element-q1r2s3t {width:auto; position:static;}
 .elementor-location-header .elementor-element-q1r2s3t .elementor-nav-menu--dropdown {position:absolute; left:0 !important; right:0 !important; width:100% !important; top:100%; z-index:999;}
}
/* ===== FASE MÓVIL (punto 15 + repaso general) ===== */
@media (max-width: 767px) {
  /* Sin desplazamiento lateral */
  html, body { overflow-x: clip; }
  /* Mismo margen lateral en todas las secciones (cabecera, contenido y pie) */
  .elementor > .e-con.e-parent:not(.e-atomic-element) { padding-left: 20px !important; padding-right: 20px !important; }
  .elementor-widget, .elementor-widget-container, .e-con-inner { max-width: 100%; }
  .elementor img { max-width: 100%; height: auto; }
  /* Pie: los enlaces saltan de línea en lugar de salirse de la pantalla */
  .elementor-location-footer .elementor-icon-list-items.elementor-inline-items { flex-wrap: wrap; row-gap: 6px; }
  .elementor-location-footer .elementor-icon-list-text { white-space: normal; word-break: normal; }
}
/* ===== Cabecera móvil (punto 16): logo a la izquierda con margen, menú a la derecha sin caja ===== */
@media (max-width: 767px) {
  .elementor-location-header .elementor-element-9aa328a { flex-direction: row !important; flex-wrap: nowrap !important; justify-content: space-between !important; align-items: center !important; padding: 14px 20px !important; position: relative; }
  .elementor-location-header .elementor-element-48c11af { width: auto !important; max-width:  75%; margin: 0 !important; }
  .elementor-location-header .elementor-element-48c11af img { width: 250px; max-width: 100%; }
  .elementor-location-header .elementor-element-q1r2s3t { width: auto !important; flex: 0 0 auto !important; margin: 0 !important; position: static; }
  .elementor-location-header .elementor-menu-toggle { background: transparent !important; margin: 0 0 0 auto !important; padding: 6px !important; }
  .elementor-location-header .elementor-element-q1r2s3t .elementor-nav-menu--dropdown { position: absolute; left: 0 !important; right: 0 !important; width: 100% !important; top: 100%; z-index: 999; }
}
/* Cabecera y menú por encima del contenido (menú móvil desplegado) */
.elementor-location-header { position: relative; z-index: 1000; }
.elementor-location-header .elementor-element-231b225 { z-index: 1000; }
/* Pie en móvil: columnas apiladas y línea legal centrada */
@media (max-width: 767px) {
  .elementor-location-footer .elementor-element-fab22eb { flex-direction: column !important; flex-wrap: nowrap !important; gap: 28px !important; }
  .elementor-location-footer .elementor-element-fab22eb > .elementor-element { width: 100% !important; max-width: 100% !important; }
  .elementor-location-footer .elementor-element-026053b { flex-direction: column !important; align-items: center !important; gap: 10px !important; text-align: center; }
  .elementor-location-footer .elementor-element-026053b > .elementor-element { width: 100% !important; text-align: center; }
  .elementor-location-footer .elementor-element-026053b .elementor-icon-list-items { justify-content: center; }
}
/* Responsive review: local landing pages and service contact blocks. */
@media (max-width:767px) {
 :is(.elementor-819,.elementor-842,.elementor-838,.elementor-815,.elementor-810,.elementor-793) h1.elementor-heading-title {font-size:32px; line-height:1.2; overflow-wrap:break-word;}
 .elementor-819 .elementor-element-1b6b0e6,
 .elementor-842 .elementor-element-1b363c4 {flex-direction:column; gap:24px;}
 .elementor-819 .elementor-element-1b6b0e6 > .e-con,
 .elementor-842 .elementor-element-1b363c4 > .e-con {width:100%; min-width:0;}
 :is(.elementor-1356,.elementor-1381) .elementor-widget-text-editor {overflow-wrap:anywhere;}
}
/* ===== FASE MÓVIL (punto 15 + repaso general) ===== */
@media (max-width: 767px) {
  /* Sin desplazamiento lateral */
  html, body { overflow-x: clip; }
  /* Mismo margen lateral en todas las secciones (cabecera, contenido y pie) */
  .elementor > .e-con.e-parent:not(.e-atomic-element) { padding-left: 20px !important; padding-right: 20px !important; }
  .elementor-widget, .elementor-widget-container, .e-con-inner { max-width: 100%; }
  .elementor img { max-width: 100%; height: auto; }
  /* Pie: los enlaces saltan de línea en lugar de salirse de la pantalla */
  .elementor-location-footer .elementor-icon-list-items.elementor-inline-items { flex-wrap: wrap; row-gap: 6px; }
  .elementor-location-footer .elementor-icon-list-text { white-space: normal; word-break: normal; }
}
/* ===== Cabecera móvil (punto 16): logo a la izquierda con margen, menú a la derecha sin caja ===== */
@media (max-width: 767px) {
  .elementor-location-header .elementor-element-9aa328a { flex-direction: row !important; flex-wrap: nowrap !important; justify-content: space-between !important; align-items: center !important; padding: 14px 20px !important; position: relative; }
  .elementor-location-header .elementor-element-48c11af { width: auto !important; max-width:  75%; margin: 0 !important; }
  .elementor-location-header .elementor-element-48c11af img { width: 250px; max-width: 100%; }
  .elementor-location-header .elementor-element-q1r2s3t { width: auto !important; flex: 0 0 auto !important; margin: 0 !important; position: static; }
  .elementor-location-header .elementor-menu-toggle { background: transparent !important; margin: 0 0 0 auto !important; padding: 6px !important; }
  .elementor-location-header .elementor-element-q1r2s3t .elementor-nav-menu--dropdown { position: absolute; left: 0 !important; right: 0 !important; width: 100% !important; top: 100%; z-index: 999; }
}
/* Cabecera y menú por encima del contenido (menú móvil desplegado) */
.elementor-location-header { position: relative; z-index: 1000; }
.elementor-location-header .elementor-element-231b225 { z-index: 1000; }
/* Pie en móvil: columnas apiladas y línea legal centrada */
@media (max-width: 767px) {
  .elementor-location-footer .elementor-element-fab22eb { flex-direction: column !important; flex-wrap: nowrap !important; gap: 28px !important; }
  .elementor-location-footer .elementor-element-fab22eb > .elementor-element { width: 100% !important; max-width: 100% !important; }
  .elementor-location-footer .elementor-element-026053b { flex-direction: column !important; align-items: center !important; gap: 10px !important; text-align: center; }
  .elementor-location-footer .elementor-element-026053b > .elementor-element { width: 100% !important; text-align: center; }
  .elementor-location-footer .elementor-element-026053b .elementor-icon-list-items { justify-content: center; }
}
/* Responsive review: local landing pages and service contact blocks. */
@media (max-width:767px) {
 :is(.elementor-819,.elementor-842,.elementor-838,.elementor-815,.elementor-810,.elementor-793) h1.elementor-heading-title {font-size:32px !important; line-height:1.2 !important; overflow-wrap:break-word;}
 .elementor-819 .elementor-element-1b6b0e6,
 .elementor-842 .elementor-element-1b363c4 {flex-direction:column; gap:24px;}
 .elementor-819 .elementor-element-1b6b0e6 > .e-con,
 .elementor-842 .elementor-element-1b363c4 > .e-con {width:100%; min-width:0;}
 :is(.elementor-1356,.elementor-1381) .elementor-widget-text-editor {overflow-wrap:anywhere;}
}

/* Home hero: fluid width on tablet, without changing desktop. */
@media (min-width:768px) and (max-width:1024px) {
 .elementor-99 .elementor-element.elementor-element-44e31906 {width:100%; max-width:100%; min-width:0;}
 .elementor-99 .elementor-element-44e31906 > .elementor-element {max-width:100%; min-width:0;}
}

/* Tablet navigation: align logo and toggle, contain dropdown width. */
@media (min-width:768px) and (max-width:1024px) {
 .elementor-location-header .elementor-element-9aa328a {padding:14px 24px; position:relative;}
 .elementor-location-header .elementor-element-9aa328a > .e-con-inner {justify-content:space-between; align-items:center;}
 .elementor-location-header .elementor-element-48c11af {width:250px; max-width:75%;}
 .elementor-location-header .elementor-element-q1r2s3t {width:auto; position:static;}
 .elementor-location-header .elementor-element-q1r2s3t .elementor-nav-menu--dropdown {position:absolute; left:0 !important; right:0 !important; width:100% !important; top:100%; z-index:999;}
}

@media (min-width:768px) and (max-width:1024px) {
 .elementor-107 .elementor-widget-text-editor {overflow-wrap:anywhere;}
}
/* ===== FASE MÓVIL (punto 15 + repaso general) ===== */
@media (max-width: 767px) {
  /* Sin desplazamiento lateral */
  html, body { overflow-x: clip; }
  /* Mismo margen lateral en todas las secciones (cabecera, contenido y pie) */
  .elementor > .e-con.e-parent:not(.e-atomic-element) { padding-left: 20px !important; padding-right: 20px !important; }
  .elementor-widget, .elementor-widget-container, .e-con-inner { max-width: 100%; }
  .elementor img { max-width: 100%; height: auto; }
  /* Pie: los enlaces saltan de línea en lugar de salirse de la pantalla */
  .elementor-location-footer .elementor-icon-list-items.elementor-inline-items { flex-wrap: wrap; row-gap: 6px; }
  .elementor-location-footer .elementor-icon-list-text { white-space: normal; word-break: normal; }
}
/* ===== Cabecera móvil (punto 16): logo a la izquierda con margen, menú a la derecha sin caja ===== */
@media (max-width: 767px) {
  .elementor-location-header .elementor-element-9aa328a { flex-direction: row !important; flex-wrap: nowrap !important; justify-content: space-between !important; align-items: center !important; padding: 14px 20px !important; position: relative; }
  .elementor-location-header .elementor-element-48c11af { width: auto !important; max-width:  75%; margin: 0 !important; }
  .elementor-location-header .elementor-element-48c11af img { width: 250px; max-width: 100%; }
  .elementor-location-header .elementor-element-q1r2s3t { width: auto !important; flex: 0 0 auto !important; margin: 0 !important; position: static; }
  .elementor-location-header .elementor-menu-toggle { background: transparent !important; margin: 0 0 0 auto !important; padding: 6px !important; }
  .elementor-location-header .elementor-element-q1r2s3t .elementor-nav-menu--dropdown { position: absolute; left: 0 !important; right: 0 !important; width: 100% !important; top: 100%; z-index: 999; }
}
/* Cabecera y menú por encima del contenido (menú móvil desplegado) */
.elementor-location-header { position: relative; z-index: 1000; }
.elementor-location-header .elementor-element-231b225 { z-index: 1000; }
/* Pie en móvil: columnas apiladas y línea legal centrada */
@media (max-width: 767px) {
  .elementor-location-footer .elementor-element-fab22eb { flex-direction: column !important; flex-wrap: nowrap !important; gap: 28px !important; }
  .elementor-location-footer .elementor-element-fab22eb > .elementor-element { width: 100% !important; max-width: 100% !important; }
  .elementor-location-footer .elementor-element-026053b { flex-direction: column !important; align-items: center !important; gap: 10px !important; text-align: center; }
  .elementor-location-footer .elementor-element-026053b > .elementor-element { width: 100% !important; text-align: center; }
  .elementor-location-footer .elementor-element-026053b .elementor-icon-list-items { justify-content: center; }
}
/* Responsive review: local landing pages and service contact blocks. */
@media (max-width:767px) {
 :is(.elementor-819,.elementor-842,.elementor-838,.elementor-815,.elementor-810,.elementor-793) h1.elementor-heading-title {font-size:32px; line-height:1.2; overflow-wrap:break-word;}
 .elementor-819 .elementor-element-1b6b0e6,
 .elementor-842 .elementor-element-1b363c4 {flex-direction:column; gap:24px;}
 .elementor-819 .elementor-element-1b6b0e6 > .e-con,
 .elementor-842 .elementor-element-1b363c4 > .e-con {width:100%; min-width:0;}
 :is(.elementor-1356,.elementor-1381) .elementor-widget-text-editor {overflow-wrap:anywhere;}
}
/* ===== FASE MÓVIL (punto 15 + repaso general) ===== */
@media (max-width: 767px) {
  /* Sin desplazamiento lateral */
  html, body { overflow-x: clip; }
  /* Mismo margen lateral en todas las secciones (cabecera, contenido y pie) */
  .elementor > .e-con.e-parent:not(.e-atomic-element) { padding-left: 20px !important; padding-right: 20px !important; }
  .elementor-widget, .elementor-widget-container, .e-con-inner { max-width: 100%; }
  .elementor img { max-width: 100%; height: auto; }
  /* Pie: los enlaces saltan de línea en lugar de salirse de la pantalla */
  .elementor-location-footer .elementor-icon-list-items.elementor-inline-items { flex-wrap: wrap; row-gap: 6px; }
  .elementor-location-footer .elementor-icon-list-text { white-space: normal; word-break: normal; }
}
/* ===== Cabecera móvil (punto 16): logo a la izquierda con margen, menú a la derecha sin caja ===== */
@media (max-width: 767px) {
  .elementor-location-header .elementor-element-9aa328a { flex-direction: row !important; flex-wrap: nowrap !important; justify-content: space-between !important; align-items: center !important; padding: 14px 20px !important; position: relative; }
  .elementor-location-header .elementor-element-48c11af { width: auto !important; max-width:  75%; margin: 0 !important; }
  .elementor-location-header .elementor-element-48c11af img { width: 250px; max-width: 100%; }
  .elementor-location-header .elementor-element-q1r2s3t { width: auto !important; flex: 0 0 auto !important; margin: 0 !important; position: static; }
  .elementor-location-header .elementor-menu-toggle { background: transparent !important; margin: 0 0 0 auto !important; padding: 6px !important; }
  .elementor-location-header .elementor-element-q1r2s3t .elementor-nav-menu--dropdown { position: absolute; left: 0 !important; right: 0 !important; width: 100% !important; top: 100%; z-index: 999; }
}
/* Cabecera y menú por encima del contenido (menú móvil desplegado) */
.elementor-location-header { position: relative; z-index: 1000; }
.elementor-location-header .elementor-element-231b225 { z-index: 1000; }
/* Pie en móvil: columnas apiladas y línea legal centrada */
@media (max-width: 767px) {
  .elementor-location-footer .elementor-element-fab22eb { flex-direction: column !important; flex-wrap: nowrap !important; gap: 28px !important; }
  .elementor-location-footer .elementor-element-fab22eb > .elementor-element { width: 100% !important; max-width: 100% !important; }
  .elementor-location-footer .elementor-element-026053b { flex-direction: column !important; align-items: center !important; gap: 10px !important; text-align: center; }
  .elementor-location-footer .elementor-element-026053b > .elementor-element { width: 100% !important; text-align: center; }
  .elementor-location-footer .elementor-element-026053b .elementor-icon-list-items { justify-content: center; }
}
/* Responsive review: local landing pages and service contact blocks. */
@media (max-width:767px) {
 :is(.elementor-819,.elementor-842,.elementor-838,.elementor-815,.elementor-810,.elementor-793) h1.elementor-heading-title {font-size:32px !important; line-height:1.2 !important; overflow-wrap:break-word;}
 .elementor-819 .elementor-element-1b6b0e6,
 .elementor-842 .elementor-element-1b363c4 {flex-direction:column; gap:24px;}
 .elementor-819 .elementor-element-1b6b0e6 > .e-con,
 .elementor-842 .elementor-element-1b363c4 > .e-con {width:100%; min-width:0;}
 :is(.elementor-1356,.elementor-1381) .elementor-widget-text-editor {overflow-wrap:anywhere;}
}

/* Home hero: fluid width on tablet, without changing desktop. */
@media (min-width:768px) and (max-width:1024px) {
 .elementor-99 .elementor-element.elementor-element-44e31906 {width:100%; max-width:100%; min-width:0;}
 .elementor-99 .elementor-element-44e31906 > .elementor-element {max-width:100%; min-width:0;}
}

/* Tablet navigation: align logo and toggle, contain dropdown width. */
@media (min-width:768px) and (max-width:1024px) {
 .elementor-location-header .elementor-element-9aa328a {padding:14px 24px; position:relative;}
 .elementor-location-header .elementor-element-9aa328a > .e-con-inner {justify-content:space-between; align-items:center;}
 .elementor-location-header .elementor-element-48c11af {width:250px; max-width:75%;}
 .elementor-location-header .elementor-element-q1r2s3t {width:auto; position:static;}
 .elementor-location-header .elementor-element-q1r2s3t .elementor-nav-menu--dropdown {position:absolute; left:0 !important; right:0 !important; width:100% !important; top:100%; z-index:999;}
}

@media (min-width:768px) and (max-width:1024px) {
 .elementor-107 .elementor-widget-text-editor {overflow-wrap:anywhere;}
}

@media (min-width:768px) and (max-width:1024px) {
 .elementor-99 .elementor-element-203c1ce8 > .e-con-inner {flex-direction:column; gap:24px;}
 .elementor-99 .elementor-element-203c1ce8 > .e-con-inner > .e-con {width:100%; min-width:0;}
 .elementor-99 .elementor-element.elementor-element-3befbe26 {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px;}
 .elementor-99 .elementor-element-3befbe26 > .e-con {width:100%; min-width:0;}
}/* End custom CSS */