.elementor-12 .elementor-element.elementor-element-1cf1398{--display:flex;--position:absolute;--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:1.4rem;--padding-bottom:1.4rem;--padding-left:var(--margen);--padding-right:var(--margen);top:0px;--z-index:20;}body:not(.rtl) .elementor-12 .elementor-element.elementor-element-1cf1398{left:0px;}body.rtl .elementor-12 .elementor-element.elementor-element-1cf1398{right:0px;}.elementor-12 .elementor-element.elementor-element-6fc03d8{--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:center;--gap:1.5rem 1.5rem;--row-gap:1.5rem;--column-gap:1.5rem;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;}.elementor-12 .elementor-element.elementor-element-842455d{text-align:start;}.elementor-12 .elementor-element.elementor-element-ef910f7{--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:0;--padding-bottom:0;--padding-left:0;--padding-right:0;}.elementor-12 .elementor-element.elementor-element-283501d .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-12 .elementor-element.elementor-element-283501d .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-12 .elementor-element.elementor-element-283501d{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-12 .elementor-element.elementor-element-283501d .elementor-icon-list-text{transition:color 0.3s;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-12 .elementor-element.elementor-element-ef910f7{--width:auto;}}@media(max-width:767px){.elementor-12 .elementor-element.elementor-element-6fc03d8{--flex-wrap:nowrap;}}/* Start custom CSS *//* Cabecera (Theme Builder) · CSS de la plantilla. Fuente: wordpress/css/cabecera.css.
   La posición absoluta (portada), el z-index y el padding están en el panel del contenedor #cabecera. */

/* Cabecera fija en todo el sitio. El sticky va en el envoltorio de la plantilla, no en #cabecera: su
   padre es ese envoltorio, que mide lo mismo que ella, y un sticky no sale de su padre (kit 07 §53).
   Con sesión iniciada, debajo de la barra de WordPress; por debajo de 600 px esa barra no es fija */
.elementor-location-header { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 50; }
@media (max-width: 600px) { .elementor-location-header { top: 0; } }
#cabecera { color: var(--blanco); transition: background-color .25s var(--suave); }
/* En la portada flota sobre el hero (posición absoluta, en el panel; el envoltorio mide 0 y la lleva
   pegada arriba) sin fondo: el hero es del mismo color y lleva el grano. En cuanto la página se mueve,
   reset-landing.js le pone fondo */
#cabecera.con-fondo { background-color: var(--tinta); }
/* Páginas interiores (gracias, 404 y legales): barra oscura en el flujo; no tapa nada, no hace falta padding */
body:not(.home) #cabecera { position: relative; background-color: var(--tinta); }
#cabecera .menu .elementor-icon-list-items { display: flex; flex-wrap: nowrap; gap: clamp(.9rem, 1.6vw, 1.6rem); margin: 0; padding: 0; }
#cabecera .menu .elementor-icon-list-item { margin: 0; padding: 0; }
#cabecera .menu .elementor-icon-list-item::after { display: none; }
#cabecera .menu .elementor-icon-list-icon { display: none; }
#cabecera .menu .elementor-icon-list-text { font-size: .8rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: inherit; padding: 0; white-space: nowrap; }
#cabecera .menu a:hover .elementor-icon-list-text { color: var(--rojo-claro); }
#cabecera .elementor-button { padding: .7rem 1.2rem; font-size: .8rem; }
/* El enlace del logo, en bloque: como inline-block, la línea de texto que lo rodea añadía 8 px debajo y la cabecera
   medía 107 px en vez de los 99 del build */
#cabecera .elementor-widget.logo a { display: block; }
/* Lo mismo con el botón a 320 px, donde la letra es pequeña: sin esto su widget medía 1,2 px más que él */
#cabecera .elementor-button { vertical-align: top; }

/* Móvil: nunca menú hamburguesa (Pablo, 29/09). El logo y el botón, con el texto en una línea */
#cabecera .elementor-button { white-space: nowrap; }
@media (max-width: 860px) {
  #cabecera .menu { display: none; }
}
@media (max-width: 480px) {
  #cabecera .elementor-widget.logo img { height: 2.6rem; width: auto; }
  #cabecera .elementor-button { padding: .6rem .9rem; font-size: .7rem; letter-spacing: .04em; }
}
/* Hasta 400 px, el logo y el botón bajan con la pantalla (29/09): sin esto el logo se deformaba a 360 y a 320 el botón
   se salía y la página se movía de lado. El logo no se encoge: solo baja de alto, con su proporción */
@media (max-width: 400px) {
  #cabecera .elementor-widget.logo { flex-shrink: 0; }
  #cabecera .elementor-widget.logo img { height: min(2.6rem, 10vw); }
  #cabecera .elementor-button { padding: .55rem .7rem; font-size: min(.7rem, 2.8vw); }
}
@media (prefers-reduced-motion: reduce) { #cabecera { transition: none; } }/* End custom CSS */