/* FEMAERCA · Cabecera y pie globales (Elementor Pro Theme Builder)
 * Fuente de verdad: design.md + HOME-FINAL/styles.css (nav + footer encina con hilo "tejido").
 * Encolado por wp-content/novamira-sandbox/femaerca-cabecera.php. Raíz del tema 10px → todo en px.
 */

/* ---------- Tokens (copia mínima, por si la página no carga landings.css) ---------- */
.elementor-location-header,
.elementor-location-footer{
  --tinta:#211C17; --tinta-soft:#4A4036;
  --encina:#22301F; --encina-2:#1A2618;
  --lino:#F7F1E6; --lino-claro:#FBF8F1;
  --piedra:#E7DECE; --piedra-media:#C9BCA6;
  --oro:#B8862F; --oro-claro:#D9A441; --oro-ink:#8A6422;
  --c-arigata:#2F7D4F; --c-asevaje:#D9234B; --c-asecoc:#C8311E; --c-afoemba:#7FB539; --c-asemtru:#C8403D;
  --tejido:linear-gradient(90deg,var(--c-arigata) 0 20%,var(--c-asevaje) 20% 40%,var(--c-asecoc) 40% 60%,var(--c-afoemba) 60% 80%,var(--c-asemtru) 80% 100%);
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Space Mono",ui-monospace,"SFMono-Regular",monospace;
  --ease-out:cubic-bezier(.2,.7,.2,1);
  --fm-gutter:clamp(16px,4vw,48px);
  --fm-cab-h:72px;
}

/* =====================================================================
   CABECERA
   ===================================================================== */
.elementor-location-header{
  position:sticky; top:var(--wp-admin--admin-bar--height,0px); z-index:990;
  background:var(--lino-claro);
}
@media (max-width:600px){ .elementor-location-header{top:0} }

/* Sombra que aparece al desplazarse, sin JS ni saltos (scroll-driven; si no hay soporte, no pasa nada) */
@supports (animation-timeline: scroll()){
  .elementor-location-header{animation:fm-cab-sombra linear both;animation-timeline:scroll(root);animation-range:0 96px}
  @keyframes fm-cab-sombra{from{box-shadow:0 0 0 rgba(33,28,23,0)}to{box-shadow:0 14px 30px -24px rgba(33,28,23,.38)}}
}

.fm-cab{background:var(--lino-claro);font-family:var(--sans);position:relative}
/* Hilo "tejido" de 5 colores, 3 px, bajo la cabecera */
.fm-cab::after{content:"";position:absolute;inset-inline:0;bottom:0;height:3px;background:var(--tejido);pointer-events:none}

.fm-cab .fm-cab__fila{
  max-width:1320px; margin-inline:auto; padding-inline:var(--fm-gutter)!important;
  min-height:var(--fm-cab-h); padding-bottom:3px!important; /* deja sitio al hilo */
  display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center; gap:clamp(16px,2.2vw,36px);
}

/* Logo */
.fm-cab .fm-cab__logo{flex:none;width:auto!important;margin:0!important}
.fm-cab .fm-cab__logo a{display:block;line-height:0;border-radius:4px}
.fm-cab .fm-cab__logo img{height:48px!important;width:auto!important;max-width:none!important;display:block;object-fit:contain}

/* Menú principal (escritorio) */
.fm-cab .fm-cab__nav{flex:1 1 auto;min-width:0;width:auto!important;margin:0!important}
.fm-cab .fm-cab__nav .elementor-nav-menu--main .elementor-nav-menu{gap:26px;flex-wrap:nowrap}
.fm-cab .fm-cab__nav .elementor-nav-menu--main .menu-item{margin:0!important}
.fm-cab .fm-cab__nav .elementor-nav-menu--main .elementor-item{
  font-family:var(--sans)!important; font-size:16px!important; font-weight:450!important; line-height:1.2!important;
  color:var(--tinta-soft)!important; padding:10px 0!important; margin:0!important; white-space:nowrap;
  position:relative; transition:color .2s var(--ease-out);
}
.fm-cab .fm-cab__nav .elementor-nav-menu--main .elementor-item::after{
  content:""; position:absolute; left:0; right:auto; bottom:4px; width:0; height:1.5px; top:auto;
  background:var(--oro); opacity:1; transition:width .3s var(--ease-out);
}
.fm-cab .fm-cab__nav .elementor-nav-menu--main .elementor-item:hover{color:var(--tinta)!important}
.fm-cab .fm-cab__nav .elementor-nav-menu--main .elementor-item:hover::after{width:100%}
.fm-cab .fm-cab__nav .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var(--tinta)!important;font-weight:500!important}
.fm-cab .fm-cab__nav .elementor-nav-menu--main .elementor-item.elementor-item-active::after{width:100%}
.fm-cab .fm-cab__nav .elementor-nav-menu--main .fm-solo-movil{display:none!important}

/* Acciones: Acceder + CTA oro */
.fm-cab .fm-cab__acciones{flex:none;width:auto!important;display:flex;flex-direction:row;align-items:center;gap:clamp(14px,1.6vw,24px);padding:0!important}
.fm-cab .fm-cab__acceso{width:auto!important;margin:0!important}
.fm-cab .fm-acceso-enlace{
  font-family:var(--sans); font-size:15px; font-weight:500; color:var(--tinta-soft);
  text-decoration:none; white-space:nowrap; padding:10px 2px; display:inline-flex; align-items:center; gap:8px;
  border-bottom:0; transition:color .2s var(--ease-out);
}
/* marca de "puerta": un punto de oro, decorativo */
.fm-cab .fm-acceso-enlace::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--oro);flex:none}
.fm-cab .fm-acceso-enlace:hover{color:var(--tinta)}
.fm-cab .fm-acceso-enlace i{display:none}

.fm-cab .fm-cab__cta{width:auto!important;margin:0!important}
.fm-cab .fm-cab__cta .elementor-button{
  background:var(--oro)!important; color:#231a07!important; border:1.5px solid var(--oro)!important;
  border-radius:100px!important; padding:12px 22px!important;
  font-family:var(--sans)!important; font-size:15px!important; font-weight:500!important; line-height:1.15!important;
  white-space:nowrap; box-shadow:none; transition:background .25s,border-color .25s,transform .3s var(--ease-out),box-shadow .3s var(--ease-out);
}
.fm-cab .fm-cab__cta .elementor-button:hover{background:var(--oro-claro)!important;border-color:var(--oro-claro)!important;transform:translateY(-1px);box-shadow:0 10px 22px -14px rgba(138,100,34,.7)}
.fm-cab .fm-cab__cta .elementor-button-content-wrapper{gap:8px;flex-direction:row}
.fm-cab .fm-cab__cta .fm-flecha{display:inline-block;transition:transform .3s var(--ease-out)}
.fm-cab .fm-cab__cta .elementor-button:hover .fm-flecha{transform:translateX(3px)}

/* Foco visible, coherente en todo el bloque */
.fm-cab a:focus-visible,.fm-cab button:focus-visible,.fm-cab .elementor-menu-toggle:focus-visible,
.fm-pie a:focus-visible{outline:2px solid var(--oro)!important;outline-offset:3px;border-radius:4px}

/* Tramo intermedio de escritorio (1200-1359): aprieta sin pasar a hamburguesa */
@media (min-width:1200px) and (max-width:1359px){
  .fm-cab .fm-cab__fila{gap:24px}
  .fm-cab .fm-cab__logo img{height:42px!important}
  .fm-cab .fm-cab__nav .elementor-nav-menu--main .elementor-nav-menu{gap:20px}
  .fm-cab .fm-cab__nav .elementor-nav-menu--main .elementor-item{font-size:15px!important}
  .fm-cab .fm-cab__nav .elementor-nav-menu--main .menu-item:first-child{display:none!important} /* "Inicio" ya lo hace el logo */
  .fm-cab .fm-cab__cta .elementor-button{padding:11px 18px!important}
}
/* 1025-1199: Elementor aún pinta el menú horizontal (su corte es 1024) → se fuerza la hamburguesa */
@media (min-width:1025px) and (max-width:1199px){
  .fm-cab .fm-cab__nav .elementor-nav-menu--main{display:none!important}
  .fm-cab .fm-cab__nav .elementor-menu-toggle{display:flex!important}
  .fm-cab .fm-cab__nav .elementor-nav-menu--dropdown{display:block!important}
}

/* ---------- Tableta y móvil: hamburguesa ---------- */
@media (max-width:1199px){
  .fm-cab{--fm-cab-h:60px}
  .fm-cab .fm-cab__fila{gap:10px;padding-inline:16px!important}
  .fm-cab .fm-cab__logo{margin-right:auto!important}
  .fm-cab .fm-cab__logo img{height:38px!important}
  .fm-cab .fm-cab__acciones{order:2;gap:8px}
  .fm-cab .fm-cab__acceso{display:none}
  .fm-cab .fm-cab__nav{order:3;flex:none}
  .fm-cab .fm-cab__cta .elementor-button{padding:9px 16px!important;font-size:15px!important}

  .fm-cab .elementor-menu-toggle{
    width:44px;height:44px;padding:0!important;margin:0!important;border-radius:10px!important;
    background:transparent!important;color:var(--tinta)!important;border:1px solid var(--piedra)!important;
    display:flex;align-items:center;justify-content:center;font-size:22px!important;
  }
  .fm-cab .elementor-menu-toggle svg{fill:var(--tinta)!important;width:22px;height:22px}
  .fm-cab .elementor-menu-toggle.elementor-active{background:var(--lino)!important;border-color:var(--piedra-media)!important}

  /* Panel desplegable a lo ancho, bajo el hilo */
  .fm-cab .elementor-nav-menu--dropdown.elementor-nav-menu__container{
    background:var(--lino-claro)!important; margin-top:11px!important; /* 60-44 / 2 + hilo */
    border-top:1px solid var(--piedra); box-shadow:0 24px 40px -28px rgba(33,28,23,.45);
    max-height:calc(100dvh - 64px)!important; overflow-y:auto;
  }
  .fm-cab .elementor-nav-menu--dropdown .elementor-nav-menu{padding:6px 16px 18px}
  .fm-cab .elementor-nav-menu--dropdown .elementor-item{
    font-family:var(--sans)!important; font-size:18px!important; font-weight:450!important;
    color:var(--tinta)!important; background:transparent!important;
    padding:15px 2px!important; border-bottom:1px solid var(--piedra); justify-content:space-between;
  }
  .fm-cab .elementor-nav-menu--dropdown .elementor-item.elementor-item-active{color:var(--oro-ink)!important;font-weight:500!important}
  .fm-cab .elementor-nav-menu--dropdown .elementor-item:hover,
  .fm-cab .elementor-nav-menu--dropdown .elementor-item:focus{background:transparent!important;color:var(--oro-ink)!important}
  .fm-cab .elementor-nav-menu--dropdown .fm-acceso > .elementor-item{
    border-bottom:0; margin-top:6px; font-family:var(--mono)!important; font-size:14px!important;
    letter-spacing:.12em; text-transform:uppercase; color:var(--tinta-soft)!important;
  }
}
@media (max-width:359px){
  .fm-cab .fm-cab__logo img{height:34px!important}
  .fm-cab .fm-cab__cta .fm-extra{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
  .fm-cab .fm-cab__cta .elementor-button{padding:9px 14px!important}
}

/* =====================================================================
   PIE — banda encina con hilo tejido
   ===================================================================== */
.fm-pie{background:var(--encina)!important;color:var(--piedra-media);font-family:var(--sans);position:relative}
.fm-pie::before{content:"";position:absolute;inset-inline:0;top:0;height:3px;background:var(--tejido)}

.fm-pie .fm-pie__cols{
  max-width:1240px!important; margin-inline:auto!important; width:100%;
  padding:clamp(56px,7vw,96px) var(--fm-gutter) clamp(40px,5vw,64px)!important;
  display:grid!important; grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));
  gap:clamp(32px,4vw,64px); align-items:start;
}
.fm-pie .fm-pie__col{padding:0!important;gap:0!important;width:auto!important;min-width:0}

/* Marca */
.fm-pie .fm-pie__logo{width:auto!important;margin:0 0 28px!important;text-align:left!important}
.fm-pie .fm-pie__logo .elementor-widget-container{text-align:left!important}
.fm-pie .fm-pie__logo a{display:inline-block;line-height:0;background:var(--lino-claro);padding:14px 18px;border-radius:12px;box-shadow:0 0 0 1px rgba(247,241,230,.08)}
.fm-pie .fm-pie__logo img{height:56px!important;width:auto!important;max-width:none!important;display:block}
.fm-pie .fm-pie__lema .elementor-heading-title{
  font-family:var(--serif)!important; font-weight:400!important; font-size:clamp(24px,2.2vw,30px)!important;
  line-height:1.18!important; letter-spacing:-.01em; color:var(--lino-claro)!important;
}
.fm-pie .fm-pie__lema em{font-style:italic;color:var(--oro-claro)}
.fm-pie .fm-pie__frase{margin-top:18px!important}
.fm-pie .fm-pie__frase,.fm-pie .fm-pie__frase p{font-family:var(--sans)!important;letter-spacing:0!important;font-size:16px!important;line-height:1.6!important;color:var(--piedra-media)!important;max-width:38ch;margin:0}

/* Rótulos de columna (mono) */
.fm-pie .fm-pie__rotulo{margin:0 0 20px!important}
.fm-pie .fm-pie__rotulo .elementor-heading-title{
  font-family:var(--mono)!important; font-size:12.5px!important; font-weight:400!important;
  letter-spacing:.14em; text-transform:uppercase; color:var(--oro-claro)!important; line-height:1.3!important;
}

/* Listas de enlaces (Icon List sin icono) */
.fm-pie .fm-pie__lista .elementor-icon-list-items{margin:0!important;display:flex;flex-direction:column;gap:12px}
.fm-pie .fm-pie__lista .elementor-icon-list-item{padding:0!important;margin:0!important}
.fm-pie .fm-pie__lista .elementor-icon-list-item::after{display:none!important}
.fm-pie .fm-pie__lista .elementor-icon-list-item a{display:inline-flex;align-items:center;gap:12px;min-height:28px}
.fm-pie .fm-pie__lista .elementor-icon-list-text{
  font-family:var(--sans)!important; font-size:16px!important; line-height:1.4!important;
  color:var(--lino)!important; opacity:.82; padding:0!important; transition:opacity .2s,color .2s;
  background-image:linear-gradient(currentColor,currentColor); background-size:0 1px; background-repeat:no-repeat; background-position:0 100%;
  transition:opacity .2s,background-size .3s var(--ease-out);
}
.fm-pie .fm-pie__lista a:hover .elementor-icon-list-text{opacity:1;background-size:100% 1px}
.fm-pie .fm-pie__lista .elementor-icon-list-icon{display:none}

/* Asociaciones: punto de color que se estira en hilo al pasar */
.fm-pie .fm-pie__asocs .elementor-icon-list-item a::before{
  content:""; width:9px; height:9px; border-radius:9px; flex:none; background:var(--c);
  transition:width .3s var(--ease-out);
}
.fm-pie .fm-pie__asocs .elementor-icon-list-item a:hover::before,
.fm-pie .fm-pie__asocs .elementor-icon-list-item a:focus-visible::before{width:22px}
.fm-pie .fm-pie__asocs .elementor-icon-list-item:nth-child(1){--c:var(--c-arigata)}
.fm-pie .fm-pie__asocs .elementor-icon-list-item:nth-child(2){--c:var(--c-asevaje)}
.fm-pie .fm-pie__asocs .elementor-icon-list-item:nth-child(3){--c:var(--c-asecoc)}
.fm-pie .fm-pie__asocs .elementor-icon-list-item:nth-child(4){--c:var(--c-afoemba)}
.fm-pie .fm-pie__asocs .elementor-icon-list-item:nth-child(5){--c:var(--c-asemtru)}
.fm-pie .fm-pie__asocs .elementor-icon-list-text{letter-spacing:.02em}

/* Franja inferior */
.fm-pie .fm-pie__base{
  max-width:1240px!important; margin-inline:auto!important; width:100%;
  padding:24px var(--fm-gutter) 32px!important; position:relative;
  display:flex!important; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 32px;
}
.fm-pie .fm-pie__base::before{content:"";position:absolute;top:0;inset-inline:var(--fm-gutter);width:auto!important;height:1px;background:rgba(247,241,230,.14)}
.fm-pie .fm-pie__base > .elementor-element{width:auto!important;margin:0!important;min-width:0}
.fm-pie .fm-pie__copy,.fm-pie .fm-pie__copy p{font-family:var(--sans)!important;letter-spacing:0!important;font-size:14px!important;line-height:1.55!important;color:var(--piedra-media)!important;margin:0;max-width:none}
.fm-pie .fm-pie__copy b{color:var(--lino);font-weight:500}
.fm-pie .fm-pie__legal .elementor-icon-list-items{margin:0!important;display:flex;flex-direction:row;flex-wrap:wrap;gap:6px 24px}
.fm-pie .fm-pie__legal .elementor-icon-list-item{padding:0!important;margin:0!important}
.fm-pie .fm-pie__legal .elementor-icon-list-item::after{display:none!important}
.fm-pie .fm-pie__legal .elementor-icon-list-text{font-size:16px!important;color:var(--piedra-media)!important;padding:0!important;transition:color .2s}
.fm-pie .fm-pie__legal a:hover .elementor-icon-list-text{color:var(--lino-claro)!important;text-decoration:underline;text-underline-offset:4px}
.fm-pie .fm-pie__legal .elementor-icon-list-icon{display:none}

@media (max-width:1024px){
  .fm-pie .fm-pie__cols{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fm-pie .fm-pie__marca{grid-column:1 / -1;display:grid!important;grid-template-columns:auto 1fr;column-gap:32px;align-items:start}
  .fm-pie .fm-pie__marca .fm-pie__logo{grid-row:1 / span 2}
  .fm-pie .fm-pie__marca .fm-pie__lema .elementor-heading-title{max-width:none}
}
@media (max-width:767px){
  .fm-pie .fm-pie__cols{grid-template-columns:1fr 1fr;gap:40px 24px;padding-inline:16px!important}
  .fm-pie .fm-pie__marca{display:flex!important;flex-direction:column}
  .fm-pie .fm-pie__asocs-col{grid-column:1 / -1}
  .fm-pie .fm-pie__asocs .elementor-icon-list-items{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}
  .fm-pie .fm-pie__base{padding-inline:16px!important;flex-direction:column;align-items:flex-start}
  .fm-pie .fm-pie__lista .elementor-icon-list-item a{min-height:32px}
}
@media (max-width:359px){
  .fm-pie .fm-pie__cols{grid-template-columns:1fr}
  .fm-pie .fm-pie__asocs .elementor-icon-list-items{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  .fm-cab *,.fm-pie *{transition:none!important}
  .fm-cab .fm-cab__cta .elementor-button:hover{transform:none}
}
