.elementor-31 .elementor-element.elementor-element-1e9bdb0{--display:flex;--min-height:50vh;--justify-content:center;--overlay-opacity:0.72;--padding-top:150px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-31 .elementor-element.elementor-element-1e9bdb0:not(.elementor-motion-effects-element-type-background), .elementor-31 .elementor-element.elementor-element-1e9bdb0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://cuellarabogados.es/wp-content/uploads/2026/08/slide-1-entrada.jpg");background-position:center center;background-size:cover;}.elementor-31 .elementor-element.elementor-element-1e9bdb0::before, .elementor-31 .elementor-element.elementor-element-1e9bdb0 > .elementor-background-video-container::before, .elementor-31 .elementor-element.elementor-element-1e9bdb0 > .e-con-inner > .elementor-background-video-container::before, .elementor-31 .elementor-element.elementor-element-1e9bdb0 > .elementor-background-slideshow::before, .elementor-31 .elementor-element.elementor-element-1e9bdb0 > .e-con-inner > .elementor-background-slideshow::before, .elementor-31 .elementor-element.elementor-element-1e9bdb0 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(75deg, #1F3D2C 10%, #1F3D2C 100%);}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );color:var( --e-global-color-primary );}.elementor-31 .elementor-element.elementor-element-29238ff{text-align:start;}.elementor-31 .elementor-element.elementor-element-29238ff .elementor-heading-title{color:#FFFFFF;}.elementor-31 .elementor-element.elementor-element-547af68{text-align:start;}.elementor-31 .elementor-element.elementor-element-547af68 .elementor-heading-title{color:#EFE8DA;}.elementor-31 .elementor-element.elementor-element-d5cf151{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-31 .elementor-element.elementor-element-d5cf151:not(.elementor-motion-effects-element-type-background), .elementor-31 .elementor-element.elementor-element-d5cf151 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FBF9F4;}.elementor-31 .elementor-element.elementor-element-939a8e9{--display:flex;}.elementor-31 .elementor-element.elementor-element-939a8e9:not(.elementor-motion-effects-element-type-background), .elementor-31 .elementor-element.elementor-element-939a8e9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-31 .elementor-element.elementor-element-093b626{--display:flex;}.elementor-31 .elementor-element.elementor-element-8c5c5c5{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );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-31 .elementor-element.elementor-element-1d46453{--display:flex;}.elementor-31 .elementor-element.elementor-element-5424f34{--display:flex;}.elementor-31 .elementor-element.elementor-element-5424f34:not(.elementor-motion-effects-element-type-background), .elementor-31 .elementor-element.elementor-element-5424f34 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EFE8DA;}.elementor-31 .elementor-element.elementor-element-df4a7f1{border-radius:16px 16px 16px 16px;}.elementor-31 .elementor-element.elementor-element-df4a7f1 iframe{height:340px;}.elementor-31 .elementor-element.elementor-element-a03a71f{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--overlay-opacity:0.82;}.elementor-31 .elementor-element.elementor-element-a03a71f:not(.elementor-motion-effects-element-type-background), .elementor-31 .elementor-element.elementor-element-a03a71f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://cuellarabogados.es/wp-content/uploads/2026/08/slide-2-sala.jpg");background-position:center center;background-size:cover;}.elementor-31 .elementor-element.elementor-element-a03a71f::before, .elementor-31 .elementor-element.elementor-element-a03a71f > .elementor-background-video-container::before, .elementor-31 .elementor-element.elementor-element-a03a71f > .e-con-inner > .elementor-background-video-container::before, .elementor-31 .elementor-element.elementor-element-a03a71f > .elementor-background-slideshow::before, .elementor-31 .elementor-element.elementor-element-a03a71f > .e-con-inner > .elementor-background-slideshow::before, .elementor-31 .elementor-element.elementor-element-a03a71f > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#1F3D2C;--background-overlay:'';}.elementor-31 .elementor-element.elementor-element-332043d{text-align:center;}.elementor-31 .elementor-element.elementor-element-332043d .elementor-heading-title{color:#FFFFFF;}.elementor-31 .elementor-element.elementor-element-74eb0cf{color:var( --e-global-color-f5910ea );}.elementor-31 .elementor-element.elementor-element-1f7cd79{--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;--justify-content:center;--flex-wrap:wrap;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-31 .elementor-element.elementor-element-141f8e8 .elementor-button{border-radius:999px 999px 999px 999px;}.elementor-31 .elementor-element.elementor-element-f18dbfa .elementor-button{background-color:rgba(255,255,255,0);fill:#EFE8DA;color:#EFE8DA;border-style:solid;border-width:1px 1px 1px 1px;border-color:rgba(239,232,218,0.55);border-radius:999px 999px 999px 999px;}.elementor-31 .elementor-element.elementor-element-f18dbfa .elementor-button:hover, .elementor-31 .elementor-element.elementor-element-f18dbfa .elementor-button:focus{background-color:#EFE8DA;color:#1F3D2C;}.elementor-31 .elementor-element.elementor-element-f18dbfa .elementor-button:hover svg, .elementor-31 .elementor-element.elementor-element-f18dbfa .elementor-button:focus svg{fill:#1F3D2C;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}}@media(max-width:767px){.elementor-31 .elementor-element.elementor-element-1e9bdb0{--min-height:40vh;--padding-top:10px;--padding-bottom:48px;--padding-left:20px;--padding-right:20px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-31 .elementor-element.elementor-element-df4a7f1 iframe{height:240px;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}}/* Start custom CSS *//* ===== El despacho (post 31) =====
   Movido desde el widget HTML al campo nativo de CSS de la pagina (18-08).
   OJO 1: los CONTENEDORES guardan sus clases en 'css_classes' y los WIDGETS en
   '_css_classes'. Si una clase no sale en el HTML, es que se escribio mal.
   OJO 2: el relleno vertical de las secciones se pone AQUI. En un contenedor
   'boxed' Elementor guarda la variable --padding-* pero no la aplica.
   OJO 3: un contenedor con los hijos centrados los ENCOGE al contenido. Si un
   widget tiene que ocupar todo el ancho, hay que forzarselo (ver .cu-fh-grupo).
   OJO 4 (18-08): TODA propiedad de tipografia sobre '.elementor-heading-title'
   lleva !important. Elementor genera en cada pagina la regla generica
   '.elementor-widget-heading .elementor-heading-title{font-size:var(--e-global-typography-primary-font-size)}',
   con la MISMA especificidad que estas clases (dos clases). Esa variable esta
   vacia en el kit, asi que sin !important el titular puede salir heredado a
   17px segun que hoja de estilo (cabecera/pie) cargue despues en el orden del
   navegador - no es fiable dejarlo sin forzar. Descubierto el 18-08 en produccion.
   ================================================================== */

/* -- Portada de pagina -- */
.cu-fh-hero{padding-block:150px 60px!important;}
@media(max-width:767px){.cu-fh-hero{padding-block:120px 48px!important;}}
.cu-fh-h1 .elementor-heading-title{font-size:clamp(2.4rem,5vw,4.2rem)!important;line-height:1.04!important;}
.cu-fh-sub .elementor-heading-title{font-family:"Mulish",sans-serif!important;font-weight:400!important;font-size:20px!important;line-height:1.6!important;margin-top:14px;}

/* -- Foto de grupo --
   El recorte y la proporcion de la foto viven en el <style> del propio widget
   HTML (1752f9a), no aqui. Aqui solo el relleno de la banda y el ancho. */
.cu-fh-grupo{padding-block:56px!important;}
@media(max-width:767px){.cu-fh-grupo{padding-block:36px!important;}}
.cu-fh-grupo .elementor-widget,
.cu-fh-grupo .elementor-widget-container{width:100%!important;}

/* -- Texto del cliente a dos columnas (peticion suya del 27-07) y justificado
      (peticion del 28-07). 'hyphens' evita los rios blancos del justificado. -- */
.cu-fh-texto{padding-block:88px!important;}
@media(max-width:767px){.cu-fh-texto{padding-block:56px!important;}}
.cu-fh-cols{display:grid!important;grid-template-columns:1fr 1fr!important;gap:56px!important;align-items:start;}
@media(max-width:900px){.cu-fh-cols{grid-template-columns:1fr!important;gap:40px!important;}}
.cu-fh-col{padding:0!important;}
.cu-fh-txt{font-family:"Mulish",sans-serif;font-size:17px;line-height:1.75;color:#5E5A57;
  text-align:justify;hyphens:auto;-webkit-hyphens:auto;}
.cu-fh-txt p+p{margin-top:18px;}

/* Rotulo dorado con filete, igual que en el mockup */
.cu-fh-eyebrow .elementor-heading-title{font-family:"Mulish",sans-serif!important;font-weight:700!important;
  font-size:13px!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:#B7A178!important;
  padding-bottom:14px;margin-bottom:22px;border-bottom:1px solid rgba(183,161,120,.4);
  display:block;}

/* -- Las oficinas --
   05-09, peticion del cliente: el mapa al lado del texto y la banda mas corta.
   El contenedor es 'boxed', asi que la rejilla va sobre su .e-con-inner y no
   sobre el contenedor: los tres widgets de texto se apilan en la columna 1 y
   el mapa ocupa la 2 entero. La regla del mapa va DESPUES de la generica de
   .elementor-widget porque las dos tienen la misma especificidad (3 clases) y
   aqui gana el orden, no el peso. Debajo de 900px cae a una sola columna. */
.cu-fh-oficinas{padding-block:64px!important;}
@media(max-width:767px){.cu-fh-oficinas{padding-block:44px!important;}}
.cu-fh-oficinas>.e-con-inner{display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  column-gap:56px;align-items:center;}
.cu-fh-oficinas>.e-con-inner>.elementor-widget{grid-column:1;}
.cu-fh-oficinas>.e-con-inner>.cu-fh-mapa{grid-column:2;grid-row:1/span 3;}
@media(max-width:900px){
  .cu-fh-oficinas>.e-con-inner{grid-template-columns:1fr!important;row-gap:26px;}
  .cu-fh-oficinas>.e-con-inner>.elementor-widget,
  .cu-fh-oficinas>.e-con-inner>.cu-fh-mapa{grid-column:1;grid-row:auto;}
}
.cu-fh-h2 .elementor-heading-title{font-size:clamp(1.8rem,3.2vw,2.6rem)!important;line-height:1.15!important;}
/* La direccion, el horario y el telefono son datos, no prosa: NO se justifican.
   05-09, visto en 390px: el justificado global del 03-09 (que vive en el CSS
   del pie y apunta a '.elementor-widget-text-editor p') separaba '954 547 819'
   en tres bloques a lo ancho de la pantalla. Hay que escribir la excepcion
   sobre el propio <p>: el 'text-align:left' del widget solo le llegaba al
   parrafo por herencia, y una regla que apunta al elemento gana a lo heredado
   aunque el padre lleve !important (trampa 11 del CLAUDE.md). */
.cu-fh-dir{text-align:left!important;margin-bottom:0;}
.cu-fh-dir p{text-align:left!important;hyphens:none;-webkit-hyphens:none;}
.cu-fh-mapa iframe{border-radius:16px;display:block;}

/* -- Cierre hacia Contacto --
   05-09: el color lleva !important. Sin el, la regla que Elementor imprime en
   CADA hoja de pagina ('.elementor-widget-text-editor{color:var(--e-global-color-text)}')
   tiene la MISMA especificidad que esta clase, y como post-180.css (el pie) se
   carga DESPUES que post-31.css, ganaba el gris de texto sobre el fondo oscuro.
   Es el mismo problema de orden que la trampa 8 del CLAUDE.md, con el color en
   vez de la tipografia. En Equipo si llego a verse roto (05-09). */
.cu-fh-cta{padding-block:88px!important;}
@media(max-width:767px){.cu-fh-cta{padding-block:60px!important;}}
.cu-fh-cta-txt{text-align:center!important;color:#EFE8DA!important;max-width:34rem;margin:14px auto 0;font-size:18px;}
.cu-fh-cta-txt p{color:#EFE8DA!important;text-align:center!important;}
.cu-fh-botones{gap:16px!important;margin-top:32px;}/* End custom CSS */