.elementor-1228 .elementor-element.elementor-element-ea46313{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:flex-end;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#E5E5E5EE;--border-color:#E5E5E5EE;--margin-top:0px;--margin-bottom:0px;--margin-left:50px;--margin-right:0px;--padding-top:20px;--padding-bottom:10px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1228 .elementor-element.elementor-element-ad8255c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-1228 .elementor-element.elementor-element-ad8255c .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:24px;font-weight:600;color:#000304;}.elementor-1228 .elementor-element.elementor-element-78fa888{--display:grid;--e-con-grid-template-columns:340px 340px 1fr;--e-con-grid-template-rows:repeat(1, 1fr);--gap:00px 86px;--row-gap:00px;--column-gap:86px;--grid-auto-flow:row;--justify-items:start;--align-items:start;--overlay-opacity:0.5;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:00px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1228 .elementor-element.elementor-element-78fa888:not(.elementor-motion-effects-element-type-background), .elementor-1228 .elementor-element.elementor-element-78fa888 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1228 .elementor-element.elementor-element-78fa888::before, .elementor-1228 .elementor-element.elementor-element-78fa888 > .elementor-background-video-container::before, .elementor-1228 .elementor-element.elementor-element-78fa888 > .e-con-inner > .elementor-background-video-container::before, .elementor-1228 .elementor-element.elementor-element-78fa888 > .elementor-background-slideshow::before, .elementor-1228 .elementor-element.elementor-element-78fa888 > .e-con-inner > .elementor-background-slideshow::before, .elementor-1228 .elementor-element.elementor-element-78fa888 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#FFFFFF;--background-overlay:'';}.elementor-1228 .elementor-element.elementor-element-b7b3af9{--display:flex;--min-height:0px;--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-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-1228 .elementor-element.elementor-element-4c3f8f8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-1228 .elementor-element.elementor-element-c642755{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-1228 .elementor-element.elementor-element-c642755.elementor-element{--order:-99999 /* order start hack */;}.elementor-1228 .elementor-element.elementor-element-cea03e5{--display:flex;--min-height:530px;}@media(max-width:1024px){.elementor-1228 .elementor-element.elementor-element-78fa888{--grid-auto-flow:row;}}@media(min-width:768px){.elementor-1228 .elementor-element.elementor-element-ea46313{--width:94%;}.elementor-1228 .elementor-element.elementor-element-b7b3af9{--width:340px;}.elementor-1228 .elementor-element.elementor-element-cea03e5{--width:340px;}}@media(max-width:767px){.elementor-1228 .elementor-element.elementor-element-ad8255c .elementor-heading-title{font-size:18px;}.elementor-1228 .elementor-element.elementor-element-78fa888{--e-con-grid-template-columns:1;--grid-auto-flow:row;}.elementor-1228 .elementor-element.elementor-element-c642755{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}}/* Start custom CSS for container, class: .elementor-element-ea46313 */.elementor-1228 .elementor-element.elementor-element-ea46313 {
    /* Forzamos al contenedor a medir el 100% MENOS los 100px de márgenes */
    width: calc(100% - 100px) !important;
    
    /* Aseguramos que el margen se aplique bien */
    margin-left: 50px !important;
    margin-right: 50px !important;
}

/* RESPONSIVE: En móvil quitamos esos márgenes para que no quede comprimido */
@media (max-width: 768px) {
    .elementor-1228 .elementor-element.elementor-element-ea46313 {
        width: 100% !important;
        margin-left: 20px !important;
        margin-right: 20px !important;
        width: calc(100% - 40px) !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78fa888 *//* ======================================
   UNITÉ ARQUITECTURA - BLOQUE NOSOTROS
   CSS DEL BLOQUE DE CONTENIDO
   Alineado con el contenedor .ua-nosotros
   ====================================== */

:root {
  --ua-align-desktop: 50px;
  --ua-align-mobile: 20px;
}


/* =========================
   GRID PRINCIPAL — DESKTOP
   Misma lógica que .ua-nosotros:
   width calc + margin externo
   ========================= */

.ua-nosotros-grid {
  width: calc(100% - (var(--ua-align-desktop) * 2)) !important;
  max-width: none !important;

  margin-left: var(--ua-align-desktop) !important;
  margin-right: var(--ua-align-desktop) !important;

  display: grid !important;
  grid-template-columns:
    minmax(300px, 1fr)
    minmax(300px, 1fr)
    minmax(520px, 1.6fr) !important;

  column-gap: clamp(42px, 3.8vw, 86px) !important;
  row-gap: 0 !important;

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

  margin-top: 26px !important;
  margin-bottom: 46px !important;

  padding-left: 0 !important;
  padding-right: 0 !important;

  box-sizing: border-box !important;
  outline: none !important;
}

.ua-nosotros-grid > .e-con-inner {
  width: 100% !important;
  max-width: none !important;

  display: grid !important;
  grid-template-columns:
    minmax(300px, 1fr)
    minmax(300px, 1fr)
    minmax(520px, 1.6fr) !important;

  column-gap: clamp(42px, 3.8vw, 86px) !important;
  row-gap: 0 !important;

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

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

  box-sizing: border-box !important;
}


/* =========================
   LIMPIEZA GENERAL ELEMENTOR
   ========================= */

.ua-nosotros-grid *,
.ua-nosotros-grid .elementor-widget,
.ua-nosotros-grid .elementor-widget-container,
.ua-nosotros-grid .elementor-element {
  box-sizing: border-box !important;
}

.ua-nosotros-grid .elementor-widget,
.ua-nosotros-grid .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

.ua-nosotros-grid .elementor-widget:not(:last-child) {
  margin-bottom: 0 !important;
}


/* Reset específico del primer elemento en columna central y derecha */

.ua-center-col > .e-con-inner > .elementor-element:first-child,
.ua-center-col > .elementor-element:first-child,
.ua-right-col > .e-con-inner > .elementor-element:first-child,
.ua-right-col > .elementor-element:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


/* Reset específico widget text-editor */

.ua-center-col .elementor-widget-text-editor,
.ua-center-col .elementor-widget-text-editor .elementor-widget-container,
.ua-center-col .elementor-widget-text-editor .elementor-widget-container > *,
.ua-center-col .elementor-widget-text-editor pre,
.ua-center-col .elementor-widget-text-editor div,
.ua-right-col .elementor-widget-text-editor,
.ua-right-col .elementor-widget-text-editor .elementor-widget-container,
.ua-right-col .elementor-widget-text-editor .elementor-widget-container > *,
.ua-right-col .elementor-widget-text-editor pre,
.ua-right-col .elementor-widget-text-editor div {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-block-start: 0 !important;
}


/* Elemento concreto inspeccionado — columna central */

.elementor-element-01edb3a,
.elementor-element-01edb3a .elementor-widget-container,
.elementor-element-01edb3a pre,
.elementor-element-01edb3a .elementor-widget-container > * {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-block-start: 0 !important;
}


/* Elemento concreto inspeccionado — columna derecha */

.elementor-element-9ae6f99,
.elementor-element-9ae6f99 .elementor-widget-container,
.elementor-element-9ae6f99 .elementor-widget-container > *:first-child,
.elementor-element-9ae6f99 h3:first-child,
.elementor-element-9ae6f99 p:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-block-start: 0 !important;
}


/* =========================
   COLUMNAS GENERALES
   ========================= */

.ua-left-col,
.ua-center-col,
.ua-right-col {
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  position: relative !important;
  top: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  transform: none !important;
  align-self: start !important;
}


/* =========================
   COLUMNA IZQUIERDA
   ========================= */

.ua-left-col {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  height: auto !important;
  min-height: auto !important;
  position: relative !important;
  padding-bottom: 24px !important;
}

.ua-left-col > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;

  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
}


/* Imagen */

.ua-photo {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ua-photo .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

.ua-photo img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 340 / 465 !important;
  max-width: 100% !important;

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

  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: top !important;
}


/* Pie de foto */

.ua-caption {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin-top: 4px !important;
}

/* El caption queda fuera del flujo para que la altura la marque solo la foto */
.elementor-element-c642755 {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  margin: -30px 0 0 0 !important;
}

.ua-caption,
.ua-caption *,
.ua-caption p,
.ua-caption span,
.ua-caption div,
.ua-caption .elementor-heading-title {
  font-family: Roboto, Arial, Helvetica, sans-serif !important;
  font-size: clamp(11px, 0.58vw, 13px) !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  color: #333 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  font-style: normal !important;
  padding: 0 !important;
}

.ua-caption .elementor-widget-container,
.ua-caption p,
.ua-caption div,
.ua-caption span {
  margin-top: -20px !important;
  padding-top: 0 !important;
}


/* =========================
   COLUMNA CENTRAL
   Misma altura visual que la foto
   ========================= */

.ua-center-col {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  align-self: start !important;

  aspect-ratio: 340 / 465 !important;
  height: auto !important;
  min-height: 0 !important;

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

.ua-center-col > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  align-items: flex-start !important;

  flex: 1 1 auto !important;
  height: 100% !important;
  min-height: 0 !important;

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


/* Texto principal */

.ua-main-text {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ua-main-text,
.ua-main-text > *,
.ua-main-text > * > *,
.ua-main-text .elementor-widget-container,
.ua-main-text .elementor-widget-container > *,
.ua-main-text p:first-child,
.ua-main-text p:first-of-type {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-block-start: 0 !important;
}

.ua-main-text,
.ua-main-text *,
.ua-main-text p,
.ua-main-text span,
.ua-main-text div {
  font-family: Roboto, Arial, Helvetica, sans-serif !important;
  font-size: clamp(13px, 0.72vw, 15px) !important;
  line-height: 1.18 !important;
  font-weight: 400 !important;
  color: #111 !important;
  letter-spacing: 0 !important;
  text-align: justify !important;
  font-style: normal !important;
}

.ua-main-text p {
  margin: 0 0 18px 0 !important;
  padding: 0 !important;
}

.ua-main-text p:last-child {
  margin-bottom: 0 !important;
}


/* Arquitectos pegado al final de la altura de la foto */

.ua-architects {
  width: 100% !important;
  max-width: 100% !important;

  margin-top: auto !important;
  margin-bottom: 0 !important;
  padding: 0 !important;

  align-self: flex-start !important;
}

.ua-architects,
.ua-architects *,
.ua-architects p,
.ua-architects span,
.ua-architects div {
  font-family: Roboto, Arial, Helvetica, sans-serif !important;
  font-size: clamp(13px, 0.72vw, 15px) !important;
  line-height: 1.15 !important;
  font-weight: 400 !important;
  color: #111 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  font-style: normal !important;
}

.ua-architects p {
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
}

.ua-architects p:last-child {
  margin-bottom: 0 !important;
}

.ua-architects strong,
.ua-architects b {
  font-weight: 700 !important;
}


/* =========================
   COLUMNA DERECHA
   ========================= */

.ua-right-col {
  margin: 0 !important;
  padding: 0 !important;
  align-self: start !important;
  transform: none !important;

  height: auto !important;
  min-height: 0 !important;
  display: block !important;
}

.ua-right-col .elementor-widget-container,
.ua-right-col .elementor-widget-container > div,
.ua-right-col .elementor-widget-container > section,
.ua-right-col .elementor-widget-container > article {
  margin: 0 !important;
  padding: 0 !important;

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

  display: block !important;
  justify-content: initial !important;
  align-items: initial !important;
}

/* Reset agresivo de todo margen superior heredado de Elementor */
.ua-right-col .elementor-widget-container,
.ua-right-col .elementor-widget-container > *:first-child,
.ua-right-col h3:first-child,
.ua-right-col h1:first-child,
.ua-right-col h2:first-child,
.ua-right-col h4:first-child,
.ua-right-col p:first-child,
.ua-right-col p:first-of-type {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-block-start: 0 !important;
}

.ua-right-col,
.ua-right-col *,
.ua-right-col p,
.ua-right-col span,
.ua-right-col div,
.ua-right-col li {
  font-family: Roboto, Arial, Helvetica, sans-serif !important;
  font-size: clamp(13px, 0.72vw, 15px) !important;
  line-height: 1.18 !important;
  font-weight: 400 !important;
  color: #111 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  font-style: normal !important;
}

.ua-right-col p {
  margin: 0 0 14px 0 !important;
  padding: 0 !important;
}

.ua-right-col p:last-child {
  margin-bottom: 0 !important;
}

.ua-right-col h1,
.ua-right-col h2,
.ua-right-col h3,
.ua-right-col h4 {
  font-family: Roboto, Arial, Helvetica, sans-serif !important;
  font-size: clamp(13px, 0.72vw, 15px) !important;
  line-height: 1.18 !important;
  font-weight: 700 !important;
  color: #111 !important;
  margin: 0 0 14px 0 !important;
  padding: 0 !important;
}

.ua-right-col strong,
.ua-right-col b {
  font-weight: 700 !important;
}


/* =========================
   PANTALLAS GRANDES
   Importante: no añadimos padding extra aquí,
   para no desalinear con .ua-nosotros
   ========================= */

@media (min-width: 1600px) {
  .ua-nosotros-grid,
  .ua-nosotros-grid > .e-con-inner {
    column-gap: clamp(60px, 4vw, 110px) !important;
  }
}


/* =========================
   FOOTER REAL DE WORDPRESS
   ========================= */

.site-footer,
#colophon,
footer.site-footer,
footer.wp-block-template-part,
footer.elementor-location-footer {
  margin-top: 46px !important;
  padding-top: 0 !important;
}

.site-footer p,
.site-footer .footer-inner,
#colophon p,
footer.elementor-location-footer p {
  margin-top: 0 !important;
}


/* =========================
   EVITAR ALTURAS FANTASMA
   ========================= */

.elementor-element:has(.ua-nosotros-grid) {
  min-height: auto !important;
}


/* ======================================
   FOOTER PEGADO AL PIE VISUAL
   ====================================== */

@media (min-width: 1025px) {

  html,
  body {
    min-height: 100vh !important;
  }

  body {
    display: flex !important;
    flex-direction: column !important;
  }

  #page,
  .site {
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
  }

  #content,
  .site-content,
  .site-main,
  main,
  .elementor-location-single,
  .elementor {
    flex: 1 0 auto !important;
  }

  .site-footer,
  #colophon,
  footer.site-footer,
  footer.wp-block-template-part,
  footer.elementor-location-footer {
    margin-top: auto !important;
    padding-top: 0 !important;
  }
}


/* ======================================
   RESPONSIVE TABLET GRANDE
   ====================================== */

@media (max-width: 1250px) {
  .ua-nosotros-grid,
  .ua-nosotros-grid > .e-con-inner {
    grid-template-columns:
      minmax(260px, 1fr)
      minmax(260px, 1fr)
      minmax(420px, 1.4fr) !important;
    column-gap: 42px !important;
    align-items: start !important;
  }

  .ua-center-col {
    align-self: start !important;
    aspect-ratio: 340 / 465 !important;
    height: auto !important;
  }

  .ua-center-col > .e-con-inner {
    height: 100% !important;
    flex: 1 1 auto !important;
  }
}


/* ======================================
   RESPONSIVE TABLET PEQUEÑA
   ====================================== */

@media (max-width: 1024px) {
  .ua-nosotros-grid,
  .ua-nosotros-grid > .e-con-inner {
    grid-template-columns: 1fr 1fr !important;
    column-gap: 42px !important;
    row-gap: 42px !important;
  }

  .ua-nosotros-grid {
    width: calc(100% - 72px) !important;
    margin-left: 36px !important;
    margin-right: 36px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .ua-center-col,
  .ua-center-col > .e-con-inner {
    justify-content: flex-start !important;
    aspect-ratio: unset !important;
    height: auto !important;
    min-height: auto !important;
  }

  .ua-architects {
    margin-top: 32px !important;
  }

  .ua-right-col {
    grid-column: 1 / -1 !important;
    align-self: start !important;
    height: auto !important;
  }

  .ua-right-col .elementor-widget-container,
  .ua-right-col .elementor-widget-container > div,
  .ua-right-col .elementor-widget-container > section,
  .ua-right-col .elementor-widget-container > article {
    height: auto !important;
    display: block !important;
  }

  .ua-right-col p {
    margin: 0 0 13px 0 !important;
  }

  .ua-right-col h1,
  .ua-right-col h2,
  .ua-right-col h3,
  .ua-right-col h4 {
    margin: 0 0 13px 0 !important;
  }
}


/* ======================================
   RESPONSIVE MÓVIL
   Respetando que .ua-nosotros usa:
   width: calc(100% - 40px);
   margin-left: 20px;
   margin-right: 20px;
   ====================================== */

@media (max-width: 767px) {

  .ua-nosotros-grid,
  .ua-nosotros-grid > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
  }

  .ua-nosotros-grid {
    width: calc(100% - (var(--ua-align-mobile) * 2)) !important;
    margin-left: var(--ua-align-mobile) !important;
    margin-right: var(--ua-align-mobile) !important;

    margin-top: 32px !important;
    margin-bottom: 36px !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .ua-nosotros-grid > .e-con-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .ua-left-col,
  .ua-left-col > .e-con-inner,
  .ua-photo,
  .ua-caption {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  .elementor-element-c642755 {
    left: 0 !important;
    margin-left: 0 !important;
  }

  .ua-center-col,
  .ua-center-col > .e-con-inner {
    justify-content: flex-start !important;
    aspect-ratio: unset !important;
    height: auto !important;
    min-height: auto !important;
  }

  .ua-architects {
    margin-top: 28px !important;
  }

  .ua-main-text,
  .ua-main-text *,
  .ua-main-text p {
    text-align: left !important;
  }


  /* Header móvil alineado con .ua-nosotros y la foto */
  header,
  .site-header,
  #masthead,
  header.site-header,
  .elementor-location-header {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  header > .e-con,
  header > .elementor-section,
  header > .elementor-container,
  .site-header > .e-con,
  .site-header > .elementor-section,
  .site-header > .elementor-container,
  #masthead > .e-con,
  #masthead > .elementor-section,
  #masthead > .elementor-container,
  .elementor-location-header > .e-con,
  .elementor-location-header > .elementor-section,
  .elementor-location-header > .elementor-container {
    width: calc(100% - (var(--ua-align-mobile) * 2)) !important;
    max-width: calc(100% - (var(--ua-align-mobile) * 2)) !important;

    margin-left: var(--ua-align-mobile) !important;
    margin-right: var(--ua-align-mobile) !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box !important;
  }

  header > .e-con > .e-con-inner,
  header > .elementor-section > .elementor-container,
  .site-header > .e-con > .e-con-inner,
  .site-header > .elementor-section > .elementor-container,
  #masthead > .e-con > .e-con-inner,
  #masthead > .elementor-section > .elementor-container,
  .elementor-location-header > .e-con > .e-con-inner,
  .elementor-location-header > .elementor-section > .elementor-container {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

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

    box-sizing: border-box !important;
  }

  header .site-branding,
  header .custom-logo-link,
  header .site-title,
  header .elementor-widget-theme-site-logo,
  header .elementor-widget-heading,
  .site-header .site-branding,
  .site-header .custom-logo-link,
  .site-header .site-title,
  .site-header .elementor-widget-theme-site-logo,
  .site-header .elementor-widget-heading,
  .elementor-location-header .site-branding,
  .elementor-location-header .custom-logo-link,
  .elementor-location-header .site-title,
  .elementor-location-header .elementor-widget-theme-site-logo,
  .elementor-location-header .elementor-widget-heading {
    margin-left: 0 !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: auto !important;
    max-width: calc(100% - 54px) !important;
  }

  header .elementor-menu-toggle,
  header .menu-toggle,
  header .elementor-widget-nav-menu,
  .site-header .elementor-menu-toggle,
  .site-header .menu-toggle,
  .site-header .elementor-widget-nav-menu,
  .elementor-location-header .elementor-menu-toggle,
  .elementor-location-header .menu-toggle,
  .elementor-location-header .elementor-widget-nav-menu {
    margin-left: auto !important;
    margin-right: 0 !important;
    padding-right: 0 !important;
    width: auto !important;
    max-width: 44px !important;
    flex-shrink: 0 !important;
  }


  /* IMPORTANTE:
     No tocamos .ua-nosotros.
     Su CSS propio controla el subrayado y el ancho:
     width: calc(100% - 40px);
     margin-left: 20px;
     margin-right: 20px;
  */


  /* Footer móvil alineado con el mismo eje */
  .site-footer,
  #colophon,
  footer.site-footer,
  footer.wp-block-template-part,
  footer.elementor-location-footer {
    width: calc(100% - (var(--ua-align-mobile) * 2)) !important;
    margin-left: var(--ua-align-mobile) !important;
    margin-right: var(--ua-align-mobile) !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .site-footer > *,
  #colophon > *,
  footer.site-footer > *,
  footer.wp-block-template-part > *,
  footer.elementor-location-footer > *,
  .site-footer .footer-inner,
  .site-footer .site-info,
  .site-footer .ast-builder-grid-row,
  .site-footer .ast-footer-copyright,
  #colophon .footer-inner,
  #colophon .site-info,
  #colophon .ast-builder-grid-row,
  #colophon .ast-footer-copyright,
  footer.elementor-location-footer .elementor-container,
  footer.elementor-location-footer .e-con-inner,
  footer.elementor-location-footer .elementor-widget-container,
  footer.elementor-location-footer .elementor-widget {
    margin-left: 0 !important;
    padding-left: 0 !important;
    max-width: none !important;
    width: auto !important;
    text-align: left !important;
    justify-content: flex-start !important;
  }

  footer.elementor-location-footer .elementor-social-icons-wrapper,
  footer.elementor-location-footer .elementor-widget-social-icons,
  .site-footer .elementor-social-icons-wrapper,
  .site-footer .elementor-widget-social-icons,
  #colophon .elementor-social-icons-wrapper,
  #colophon .elementor-widget-social-icons {
    margin-left: auto !important;
    margin-right: 0 !important;
    justify-content: flex-end !important;
    text-align: right !important;
  }
}
/* ======================================
   AJUSTE PESO TIPOGRÁFICO
   Texto normal a 500, títulos/negritas siguen en 700
   ====================================== */

.ua-caption,
.ua-caption *,
.ua-caption p,
.ua-caption span,
.ua-caption div,
.ua-caption .elementor-heading-title,
.ua-main-text,
.ua-main-text *,
.ua-main-text p,
.ua-main-text span,
.ua-main-text div,
.ua-architects,
.ua-architects *,
.ua-architects p,
.ua-architects span,
.ua-architects div,
.ua-right-col,
.ua-right-col *,
.ua-right-col p,
.ua-right-col span,
.ua-right-col div,
.ua-right-col li {
  font-weight: 500 !important;
}

.ua-right-col h1,
.ua-right-col h2,
.ua-right-col h3,
.ua-right-col h4,
.ua-architects strong,
.ua-architects b,
.ua-right-col strong,
.ua-right-col b {
  font-weight: 800 !important;
}
/* ======================================
   FIX CONÓCENOS - ORDEN FOTO + CAPTION
   ====================================== */

.ua-left-col,
.ua-left-col > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
}

/* La foto siempre primero */
.ua-photo {
  order: 1 !important;
}

/* El crédito siempre debajo de la foto */
.ua-caption,
.elementor-element-c642755 {
  order: 2 !important;

  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;

  width: 100% !important;
  margin: 6px 0 0 0 !important;
  padding: 0 !important;
}

/* Limpiar márgenes internos del crédito */
.ua-caption .elementor-widget-container,
.ua-caption p,
.ua-caption div,
.ua-caption span {
  margin: 0 !important;
  padding: 0 !important;
}/* End custom CSS */