.elementor-4751 .elementor-element.elementor-element-e99efdc{--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;--align-items:flex-start;--gap:2.5rem 4rem;--row-gap:2.5rem;--column-gap:4rem;--padding-top:8.2rem;--padding-bottom:1.4rem;--padding-left:2.5rem;--padding-right:2.5rem;}.elementor-4751 .elementor-element.elementor-element-e99efdc:not(.elementor-motion-effects-element-type-background), .elementor-4751 .elementor-element.elementor-element-e99efdc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F2F2F0;}.elementor-4751 .elementor-element.elementor-element-20f11f5{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0rem 0rem;--row-gap:0rem;--column-gap:0rem;--padding-top:0rem;--padding-bottom:0rem;--padding-left:0rem;--padding-right:0rem;}.elementor-4751 .elementor-element.elementor-element-dc20a3b > .elementor-widget-container{margin:0rem 0rem 1rem 0rem;}.elementor-4751 .elementor-element.elementor-element-dc20a3b{text-align:start;}.elementor-4751 .elementor-element.elementor-element-dc20a3b .elementor-heading-title{font-family:"Barlow", Sans-serif;font-size:2.5rem;font-weight:800;line-height:1.08em;letter-spacing:-0.025em;color:#141414;}.elementor-4751 .elementor-element.elementor-element-b4fe0f8 > .elementor-widget-container{margin:0rem 0rem 1.75rem 0rem;}.elementor-4751 .elementor-element.elementor-element-b4fe0f8{text-align:start;font-family:"Inter", Sans-serif;font-size:1rem;font-weight:400;line-height:1.8em;color:#3A3A3A;}:root{--page-title-display:none;}body.elementor-page-4751{padding:0px 0px 0px 0px;}@media(max-width:1024px){.elementor-4751 .elementor-element.elementor-element-e99efdc{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--padding-top:4.5rem;--padding-bottom:4.5rem;--padding-left:2rem;--padding-right:2rem;}.elementor-4751 .elementor-element.elementor-element-dc20a3b .elementor-heading-title{font-size:2.25rem;}}@media(max-width:767px){.elementor-4751 .elementor-element.elementor-element-e99efdc{--padding-top:8.8rem;--padding-bottom:3.5rem;--padding-left:1.25rem;--padding-right:1.25rem;}.elementor-4751 .elementor-element.elementor-element-dc20a3b{text-align:center;}.elementor-4751 .elementor-element.elementor-element-dc20a3b .elementor-heading-title{font-size:1.875rem;}.elementor-4751 .elementor-element.elementor-element-b4fe0f8{text-align:start;}}@media(min-width:768px){.elementor-4751 .elementor-element.elementor-element-e99efdc{--content-width:78rem;}.elementor-4751 .elementor-element.elementor-element-20f11f5{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-4751 .elementor-element.elementor-element-20f11f5{--width:100%;}}/* Start custom CSS *//* ==========================================================================
   GRUPO AJF · Fuenlabrada (post 2128)
   Mismo sistema de marca. Bloque propio: mosaico asímetrico de la exposición.
   ========================================================================== */

:root{
  --ajf-negro:#141414;
  --ajf-rojo:#B2271A;
  --ajf-rojo-clr:#E86A5A;
  --ajf-linea:#D8D8D4;
  --ajf-linea-inv:rgba(255,255,255,.12);
  --ajf-ease:cubic-bezier(.2,.7,.2,1);
  --ajf-hh:6.5rem;
  --ajf-hero-gap:4rem;
  --ajf-item-lh:calc(0.9375rem * 1.55);
}
@media (max-width:1024px){ :root{ --ajf-hero-gap:3rem; } }
@media (max-width:767px){  :root{ --ajf-hero-gap:2.25rem; } }

.elementor-page-2128 *,
.elementor-page-2128 *::before,
.elementor-page-2128 *::after{ border-radius:0 !important; }

.elementor-page-2128{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
.elementor-page-2128 .elementor-widget-text-editor p:last-child,
.elementor-page-2128 .elementor-widget-text-editor > .elementor-widget-container > p:last-child{ margin-bottom:0; }
.elementor-page-2128 a:focus-visible,
.elementor-page-2128 button:focus-visible{ outline:2px solid var(--ajf-rojo-clr); outline-offset:3px; }
.elementor-page-2128 b{ font-weight:600; }

/* --- Hero bajo la cabecera ---------------------------------------------- */
body.page-id-2128 .ajf-hdr{
  position:relative;
  z-index:50;
  background:transparent !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}
body.page-id-2128 .ajf-hdr a{ color:#FFFFFF; }
body.page-id-2128 .ajf-hdr a:hover{ color:var(--ajf-rojo-clr); }
body.page-id-2128 .site-main,
body.page-id-2128 #content{ padding-top:0 !important; margin-top:0 !important; }

.ajf-hero{ margin-top:0; position:relative; z-index:1; }
.ajf-has-hdr .ajf-hero{ margin-top:calc(-1 * var(--ajf-hh)); }
.ajf-hero{
  padding-top:calc(var(--ajf-hh) + var(--ajf-hero-gap)) !important;
  padding-bottom:var(--ajf-hero-gap) !important;
}
html:not(.ajf-has-hdr) .ajf-hero{ padding-top:var(--ajf-hero-gap) !important; }
.ajf-hero::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:9rem;
  background:linear-gradient(to bottom,rgba(20,20,20,0),var(--ajf-negro));
  pointer-events:none;
  z-index:0;
}
.ajf-hero > .e-con-inner{ position:relative; z-index:2; }

/* --- Antetítulos con filete rojo ---------------------------------------- */
.ajf-eyebrow .elementor-heading-title{ display:inline-flex; align-items:center; gap:.875rem; }
.ajf-eyebrow .elementor-heading-title::before{
  content:"";
  display:block;
  width:0; height:1px;
  background:currentColor;
  transition:width .9s var(--ajf-ease) .15s;
}
.ajf-eyebrow.is-in .elementor-heading-title::before,
.is-in .ajf-eyebrow .elementor-heading-title::before{ width:2.125rem; }

/* --- Negrita SEO subrayada en los titulares ----------------------------- */
.ajf-h2 b{
  font-weight:500;
  background-image:linear-gradient(var(--ajf-rojo),var(--ajf-rojo));
  background-repeat:no-repeat;
  background-position:0 100%;
  background-size:0% 3px;
  padding-bottom:.05em;
  -webkit-box-decoration-break:clone;
          box-decoration-break:clone;
  transition:background-size 1.15s var(--ajf-ease) .3s;
}
.ajf-h2.is-in b{ background-size:100% 3px; }
.ajf-h2-inv b{ background-image:linear-gradient(var(--ajf-rojo-clr),var(--ajf-rojo-clr)); }
.ajf-ctah b{ background-image:linear-gradient(#FFFFFF,#FFFFFF); }

/* --- Listados con viñeta cuadrada --------------------------------------- */
.ajf-services .elementor-icon-list-item{ align-items:flex-start; }
.ajf-services .elementor-icon-list-icon{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  height:var(--ajf-item-lh);
  flex:0 0 auto;
}
.ajf-services .elementor-icon-list-icon i{ margin:0; }

/* --- Tarjeta de datos y horarios ---------------------------------------- */
.ajf-card{ position:relative; }
.ajf-card::after{
  content:"";
  position:absolute;
  top:0; left:0; right:auto; bottom:auto;
  width:100%; height:3px;
  background:var(--ajf-rojo);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .9s var(--ajf-ease) .2s;
}
.ajf-card.is-in::after,
.is-in .ajf-card::after{ transform:scaleX(1); }

.ajf-contact .elementor-icon-list-item{ align-items:flex-start; }
.ajf-contact .elementor-icon-list-icon{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  height:calc(0.9375rem * 1.6);
  flex:0 0 auto;
}
.ajf-contact .elementor-icon-list-icon i{ margin:0; }
.ajf-contact .elementor-icon-list-item > a{ transition:transform .3s var(--ajf-ease); }
.ajf-contact .elementor-icon-list-item:hover > a{ transform:translateX(.1875rem); }

/* Horarios: etiqueta en versalitas encima de la hora */
.ajf-hours .elementor-icon-list-icon{ display:none !important; }
.ajf-hours .elementor-icon-list-text{ padding-inline-start:0 !important; display:block; }
.ajf-hours .elementor-icon-list-text span{
  display:block;
  font-size:.6875rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#8E8E8B;
  margin-bottom:.125rem;
}

/* --- Mosaico de la exposición: bloque propio de esta URL ---------------- */
.ajf-mosaic{
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  grid-auto-rows:11rem;
  grid-template-rows:none !important;
}
.ajf-mosaic .ajf-mo-big{ grid-column:span 2; grid-row:span 2; }
.ajf-mosaic .ajf-mo-wide{ grid-column:span 2; }
@media (max-width:1024px){
  .ajf-mosaic{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; grid-auto-rows:10rem; }
  .ajf-mosaic .ajf-mo-big{ grid-column:span 2; grid-row:span 2; }
  .ajf-mosaic .ajf-mo-wide{ grid-column:span 2; }
}
@media (max-width:767px){
  .ajf-mosaic{ grid-template-columns:minmax(0,1fr) !important; grid-auto-rows:14rem; }
  .ajf-mosaic .ajf-mo-big,
  .ajf-mosaic .ajf-mo-wide{ grid-column:span 1; grid-row:span 1; }
}

.ajf-mo{ overflow:hidden; min-width:0; }
.ajf-mo,
.ajf-mo > .elementor-widget-container,
.ajf-mo figure,
.ajf-mo .elementor-image{ height:100%; }
.ajf-mo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:grayscale(.15) contrast(1.02);
  transition:transform .9s var(--ajf-ease), filter .7s var(--ajf-ease);
}
@media (hover:hover){
  .ajf-mo:hover img{ transform:scale(1.05); filter:grayscale(0) contrast(1); }
}

/* --- CTA final ----------------------------------------------------------- */
.ajf-cta{ position:relative; }
.ajf-cta::after{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:3px;
  background:var(--ajf-negro);
}

/* --- Botones ------------------------------------------------------------- */
.ajf-btn .elementor-button{
  transition:background-color .35s var(--ajf-ease), color .35s var(--ajf-ease), border-color .35s var(--ajf-ease);
}

/* --- Revelado al hacer scroll ------------------------------------------- */
[data-ajf]{
  opacity:0;
  transform:translateY(1.5rem);
  transition:opacity .85s var(--ajf-ease), transform .85s var(--ajf-ease);
}
[data-ajf].is-in{ opacity:1; transform:none; }

/* --- Movimiento reducido ------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  .elementor-page-2128 *,
  .elementor-page-2128 *::before,
  .elementor-page-2128 *::after{
    animation-duration:.001ms !important;
    transition-duration:.001ms !important;
  }
  [data-ajf]{ opacity:1 !important; transform:none !important; }
  .ajf-h2 b{ background-size:100% 3px !important; }
  .ajf-eyebrow .elementor-heading-title::before{ width:2.125rem !important; }
  .ajf-card::after{ transform:none !important; }
}/* End custom CSS */