/* Hallmark · macrostructure: Hilo comarcal (split hero + census line + ruled list) · tone: editorial institucional rural · anchor hue: hilo de cada asociación + oro federación
 * theme: studied-DNA (source: HOME-FINAL "El Tejido") · Newsreader + Inter + Space Mono
 * Clases fm-* aplicadas a contenedores/widgets Elementor v3. Fuente de verdad: design.md
 */

/* ---------- Tokens (copiados de HOME-FINAL/styles.css) ---------- */
:root{
  --tinta:#211C17; --tinta-soft:#4A4036;
  --encina:#22301F; --encina-2:#1A2618;
  --lino:#F7F1E6; --lino-claro:#FBF8F1;
  --piedra:#E7DECE; --piedra-media:#C9BCA6; --piedra-texto:#7A6E5C;
  --oro:#B8862F; --oro-claro:#D9A441; --oro-tinte:#F3E9D2;
  --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,sans-serif;
  --mono:"Space Mono",ui-monospace,monospace;
  --space-xs:8px; --space-sm:12px; --space-md:20px; --space-lg:32px; --space-xl:56px; --space-2xl:96px;
  --r:14px; --r-pill:100px;
  --ease-out:cubic-bezier(.2,.7,.2,1);
  --shadow:0 1px 2px rgba(33,28,23,.04),0 12px 34px -18px rgba(33,28,23,.22);
  --hilo:var(--oro); --hilo-ink:#8A6422;
}
/* Hilo por landing (ID de página) — hilo = decorativo, hilo-ink = texto/botones (>=4.5:1 sobre lino) */
.elementor-3149{--hilo:var(--c-arigata);--hilo-ink:#256B42}
.elementor-552 {--hilo:var(--c-asevaje);--hilo-ink:#B01A3C}
.elementor-1767{--hilo:var(--c-asecoc); --hilo-ink:#A3271A}
.elementor-1971{--hilo:var(--c-afoemba);--hilo-ink:#4A7319}
.elementor-1294{--hilo:var(--c-asemtru);--hilo-ink:#A1322F}

.fm-hilo-arigata{--hilo:var(--c-arigata);--hilo-ink:#256B42}
.fm-hilo-asevaje{--hilo:var(--c-asevaje);--hilo-ink:#B01A3C}
.fm-hilo-asecoc{--hilo:var(--c-asecoc);--hilo-ink:#A3271A}
.fm-hilo-afoemba{--hilo:var(--c-afoemba);--hilo-ink:#4A7319}
.fm-hilo-asemtru{--hilo:var(--c-asemtru);--hilo-ink:#A1322F}

/* ---------- Base de landing ---------- */
.fm-landing{background:var(--lino);color:var(--tinta);font-family:var(--sans);overflow-x:clip}
.fm-landing .elementor-heading-title{font-family:var(--serif);font-weight:500;color:var(--tinta);letter-spacing:-.015em;line-height:1.08;overflow-wrap:anywhere;min-width:0}
.fm-landing .elementor-widget-text-editor,.fm-landing .elementor-widget-text-editor p,.fm-landing .elementor-widget-text-editor li{font-family:var(--sans);color:var(--tinta-soft);font-size:17px;line-height:1.65}
.fm-landing .elementor-icon-list-text{font-size:16px!important}
.fm-landing .elementor-widget-text-editor p{max-width:62ch}
.fm-landing em,.fm-landing .fm-acento{font-style:italic;color:var(--hilo-ink)}
.fm-sec{padding-block:var(--space-2xl)}
.fm-wrap{max-width:1180px;margin-inline:auto;padding-inline:clamp(20px,5vw,48px)}
.fm-kicker .elementor-heading-title{font-family:var(--mono)!important;font-size:12.5px!important;letter-spacing:.14em;text-transform:uppercase;color:var(--hilo-ink)!important;font-weight:400!important}
.fm-h2 .elementor-heading-title{font-size:clamp(30.4px,3.6vw,46.4px)!important}

/* ---------- 1. Hero partido ---------- */
.fm-hero{position:relative;padding-block:clamp(48px,8vw,104px) clamp(40px,6vw,80px);background:var(--lino)}
.fm-hero::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:10px;background:var(--hilo)}
.fm-hero::after{content:"";position:absolute;inset-inline:0;bottom:0;height:3px;background:var(--tejido);opacity:.9}
.fm-hero-title .elementor-heading-title{font-size:clamp(38.4px,5.6vw,73.6px)!important;line-height:1.02!important}
.fm-hero-lead,.fm-hero-lead p{font-size:19px!important}
.fm-ficha{background:var(--lino-claro);border:1px solid var(--piedra);border-radius:var(--r);padding:var(--space-lg)!important;box-shadow:var(--shadow);border-top:4px solid var(--hilo)}
.fm-ficha .elementor-icon-list-item{padding-block:11.2px!important;border-bottom:1px solid var(--piedra)}
.fm-ficha .elementor-icon-list-item:last-child{border-bottom:0}
.fm-ficha .elementor-icon-list-text{font-family:var(--sans)!important;color:var(--tinta);font-size:15.7px;line-height:1.45}
.fm-ficha .elementor-icon-list-icon svg,.fm-ficha .elementor-icon-list-icon i{fill:var(--hilo-ink)!important;color:var(--hilo-ink)!important}

/* ---------- Botones ---------- */
.fm-btn .elementor-button{font-family:var(--sans)!important;font-weight:600;font-size:16px!important;border-radius:var(--r-pill);padding:14px 26px;white-space:nowrap;transition:transform .2s var(--ease-out),background-color .2s var(--ease-out),color .2s var(--ease-out)}
.fm-btn-primary .elementor-button{background:var(--hilo-ink)!important;color:var(--lino-claro)!important;border:1.5px solid var(--hilo-ink)}
.fm-btn-primary .elementor-button:hover{background:var(--tinta)!important;border-color:var(--tinta)}
.fm-btn-ghost .elementor-button{background:transparent!important;color:var(--tinta)!important;border:1.5px solid var(--tinta)}
.fm-btn-ghost .elementor-button:hover{background:var(--tinta)!important;color:var(--lino-claro)!important}
.fm-btn .elementor-button:active{transform:translateY(1px)}
.fm-btn .elementor-button:focus-visible,.fm-landing a:focus-visible{outline:3px solid var(--oro);outline-offset:3px}

/* ---------- 2. Censo en línea ---------- */
.fm-censo{background:var(--encina);color:var(--lino);padding-block:var(--space-lg)}
.fm-censo .elementor-widget-text-editor,.fm-censo .elementor-widget-text-editor p{font-family:var(--mono);color:var(--piedra);font-size:clamp(14.4px,1.6vw,16.8px);letter-spacing:.02em;max-width:none;margin:0;text-align:center}
.fm-censo b,.fm-censo strong{color:var(--lino-claro);font-weight:700;font-size:1.35em}
.fm-censo .fm-sep{color:var(--oro-claro);padding-inline:.6em}

/* ---------- 3. La asociación ---------- */
.fm-hechos .elementor-icon-list-item{border-top:1px solid var(--piedra-media);padding-block:13.6px!important}
.fm-hechos .elementor-icon-list-text{font-family:var(--sans)!important;color:var(--tinta);font-size:16px}
.fm-hechos .elementor-icon-list-text b{display:block;font-family:var(--mono);font-weight:400;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--piedra-texto);margin-bottom:2.4px}

/* ---------- 4. Qué ofrece (filas numeradas) ---------- */
.fm-ofrece{background:var(--lino-claro)}
.fm-fila{border-top:1px solid var(--piedra-media);padding-block:var(--space-md)!important;gap:var(--space-lg)!important}
.fm-fila:last-child{border-bottom:1px solid var(--piedra-media)}
.fm-num .elementor-heading-title{font-family:var(--mono)!important;font-size:14.4px!important;color:var(--hilo-ink)!important;font-weight:400!important}
.fm-fila-t .elementor-heading-title{font-size:23.2px!important}
.fm-fila .elementor-widget-text-editor p{margin:0}

/* ---------- 5. Territorio ---------- */
.fm-mapa{border-radius:var(--r);overflow:hidden;border:1px solid var(--piedra)}
.fm-pie .elementor-widget-text-editor,.fm-pie p{font-size:14.1px;color:var(--piedra-texto);font-family:var(--mono)}

/* ---------- 6. Directorio ---------- */
.fm-directorio{background:var(--lino-claro);border-top:1px solid var(--piedra)}

/* ---------- 7. Sectores (etiquetas) ---------- */
.fm-sectores ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:9.6px}
.fm-sectores li{border:1px solid var(--piedra-media);border-radius:var(--r-pill);padding:8px 16px;background:var(--lino-claro);font-size:15.2px;color:var(--tinta)}
.fm-sectores li b{font-family:var(--mono);font-weight:400;color:var(--hilo-ink);margin-left:6.4px}

/* ---------- 8. Cierre encina ---------- */
.fm-cierre{background:var(--encina);color:var(--lino);position:relative}
.fm-cierre::before{content:"";position:absolute;inset-inline:0;top:0;height:4px;background:var(--tejido)}
.fm-cierre .elementor-heading-title{color:var(--lino-claro)!important}
.fm-cierre .fm-kicker .elementor-heading-title{color:var(--oro-claro)!important}
.fm-cierre .elementor-widget-text-editor,.fm-cierre .elementor-widget-text-editor p{color:var(--piedra)}
.fm-cierre .elementor-icon-list-text{color:var(--lino-claro)!important}
.fm-cierre .elementor-icon-list-icon i,.fm-cierre .elementor-icon-list-icon svg{color:var(--oro-claro)!important;fill:var(--oro-claro)!important}
.fm-cierre a{color:var(--lino-claro)}
.fm-cierre .fm-btn-primary .elementor-button{background:var(--oro)!important;border-color:var(--oro);color:var(--tinta)!important}
.fm-cierre .fm-btn-primary .elementor-button:hover{background:var(--lino-claro)!important;border-color:var(--lino-claro)}
.fm-cierre .fm-btn-ghost .elementor-button{color:var(--lino-claro)!important;border-color:var(--piedra-media)}
.fm-cierre .fm-btn-ghost .elementor-button:hover{background:var(--lino-claro)!important;color:var(--tinta)!important}
.fm-federacion .elementor-widget-text-editor p{font-family:var(--mono);font-size:12.8px;letter-spacing:.08em;color:var(--oro-claro)}

/* ---------- Entrada suave ---------- */
@media (prefers-reduced-motion:no-preference){
  .fm-reveal{animation:fmUp .5s var(--ease-out) both}
  @keyframes fmUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
}

/* ---------- Móvil ---------- */
@media (max-width:767px){
  .fm-sec{padding-block:var(--space-xl)}
  .fm-hero::before{width:6px}
  .fm-fila{gap:var(--space-xs)!important}
  .fm-btn .elementor-button{width:100%;justify-content:center}
  .fm-censo .fm-sep{display:none}
  .fm-censo .elementor-widget-text-editor p span.fm-dato{display:block;padding-block:2.4px}
}

/* Retoques móvil 15/10 (2) */
@media (max-width:767px){
  .fm-btn,.fm-btn .elementor-button-wrapper,.fm-btn .elementor-button{width:100%!important;max-width:100%}
  .fm-ficha .elementor-heading-title{font-size:24px!important;line-height:1.15!important}
}

/* ---------- Índices editoriales (sectores / localidades) 15/10 ---------- */
.fm-indice ul{list-style:none;margin:0;padding:0;column-count:3;column-gap:56px}
.fm-indice li{break-inside:avoid;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:baseline;column-gap:12px;border-top:1px solid var(--piedra-media);padding:14px 0;margin:0}
.fm-indice-2 ul{column-count:2}
.fm-indice li .fm-n,.fm-indice li .fm-c{font-family:var(--mono);font-size:16px;line-height:1.4}
.fm-indice li .fm-n{color:var(--piedra-texto)}
.fm-indice li .fm-c{color:var(--tinta);text-align:right}
.fm-indice li a{font-family:var(--serif);font-size:22px;line-height:1.25;color:var(--tinta);text-decoration:none;transition:color .2s var(--ease-out)}
.fm-indice li a:hover{color:var(--hilo-ink);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.fm-indice-2 li{grid-template-columns:minmax(0,1fr) auto}
.fm-pt{display:inline-block;width:9px;height:9px;border-radius:50%;margin-left:8px;vertical-align:middle;position:relative;top:-1px}
.fm-pt-arigata{background:var(--c-arigata)}.fm-pt-asevaje{background:var(--c-asevaje)}.fm-pt-asecoc{background:var(--c-asecoc)}.fm-pt-afoemba{background:var(--c-afoemba)}.fm-pt-asemtru{background:var(--c-asemtru)}
.fm-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fm-grupo{border-top:3px solid var(--hilo);padding-block:28px 40px!important}
.fm-grupo-t .elementor-heading-title{font-size:clamp(30px,3vw,40px)!important}
@media (max-width:1024px){.fm-indice ul{column-count:2}}
@media (max-width:767px){.fm-indice ul,.fm-indice-2 ul{column-count:1}.fm-indice li a{font-size:21px}.fm-grupo{padding-block:24px 28px!important}}

/* ---------- Páginas institucionales (15/10 · asociaciones, quiénes somos, contacto) ---------- */
.fm-hero-corto{padding-block:clamp(40px,6vw,72px) clamp(32px,4vw,56px)}
.fm-estrecho{max-width:760px}
.fm-idx{background:var(--lino-claro)}
.fm-idx-row{border-top:1px solid var(--piedra-media);padding-block:var(--space-lg)!important;position:relative}
.fm-idx-row:last-child{border-bottom:1px solid var(--piedra-media)}
.fm-idx-row::before{content:'';position:absolute;inset-inline-start:0;top:-1px;width:56px;height:3px;background:var(--hilo)}
.fm-logo{background:#fff;border:1px solid var(--piedra);border-radius:var(--r);height:104px;padding:12px;align-items:center;justify-content:center}
.fm-logo img{width:auto;max-width:100%;max-height:78px;object-fit:contain;display:block;margin-inline:auto}
.fm-comarca .elementor-heading-title{font-family:var(--mono)!important;font-size:12.5px!important;letter-spacing:.14em;text-transform:uppercase;color:var(--piedra-texto)!important;font-weight:400!important}
.fm-idx-nombre .elementor-heading-title{font-size:clamp(30px,3.2vw,40px)!important;color:var(--hilo-ink)!important}
.fm-largo p{font-size:16px!important;margin:0;color:var(--piedra-texto)!important}
.fm-cifra .elementor-heading-title{font-family:var(--mono)!important;font-size:clamp(36px,4vw,52px)!important;font-weight:400!important;line-height:1!important;color:var(--tinta)!important}
.fm-cifra-t p{font-family:var(--mono)!important;font-size:12.5px!important;letter-spacing:.12em;text-transform:uppercase;color:var(--piedra-texto)!important;margin:0}
.fm-cita-box{border-inline-start:4px solid var(--oro);padding-inline-start:clamp(20px,3vw,40px)}
.fm-cita .elementor-heading-title{font-size:clamp(28px,3.4vw,44px)!important;line-height:1.22!important;max-width:26em}
.fm-lista-asoc ul{list-style:none;margin:0;padding:0}
.fm-lista-asoc li{border-top:1px solid var(--piedra-media);padding:15px 0 15px 30px;position:relative;display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline}
.fm-lista-asoc li:last-child{border-bottom:1px solid var(--piedra-media)}
.fm-lista-asoc li::before{content:'';position:absolute;inset-inline-start:0;top:50%;width:12px;height:12px;border-radius:50%;background:var(--pc);transform:translateY(-50%)}
.fm-lista-asoc li b{font-family:var(--serif);font-size:22px;font-weight:500;color:var(--tinta)}
.fm-lista-asoc li span{font-family:var(--mono);font-size:14px;color:var(--piedra-texto)}
.fm-a-arigata{--pc:var(--c-arigata)}.fm-a-asevaje{--pc:var(--c-asevaje)}.fm-a-asecoc{--pc:var(--c-asecoc)}.fm-a-afoemba{--pc:var(--c-afoemba)}.fm-a-asemtru{--pc:var(--c-asemtru)}
.fm-razones ul{list-style:none;margin:0;padding:0;columns:2;column-gap:56px}
.fm-razones li{break-inside:avoid;border-top:1px solid var(--piedra-media);padding:16px 0;color:var(--tinta)}
.fm-cierra .elementor-icon-list-item:last-child{border-bottom:1px solid var(--piedra-media)}
.fm-form{background:var(--lino-claro);border:1px solid var(--piedra);border-top:4px solid var(--oro);border-radius:var(--r);padding:clamp(24px,3vw,40px)!important;box-shadow:var(--shadow)}
.fm-form .wpcf7 form{margin:0}
.fm-form .row{display:flex;flex-wrap:wrap;gap:0 16px;margin:0!important}
.fm-form .row>[class*=col-]{flex:1 1 240px;float:none;width:auto;padding:0!important}
.fm-form .wpcf7 input[type=text],.fm-form .wpcf7 input[type=email],.fm-form .wpcf7 textarea{width:100%;border:1.5px solid var(--piedra-media);border-radius:10px;background:#fff;padding:14px 16px;font:400 16px/1.4 var(--sans);color:var(--tinta);box-shadow:none;margin:0 0 16px;height:auto}
.fm-form .wpcf7 textarea{min-height:160px;resize:vertical}
.fm-form .wpcf7 input::placeholder,.fm-form .wpcf7 textarea::placeholder{color:var(--piedra-texto);opacity:1}
.fm-form .wpcf7 input[type=text]:focus,.fm-form .wpcf7 input[type=email]:focus,.fm-form .wpcf7 textarea:focus{outline:3px solid var(--oro);outline-offset:1px;border-color:var(--tinta)}
.fm-form .wpcf7-not-valid{border-color:#A3271A!important}
.fm-form .wpcf7-not-valid-tip{color:#A3271A;font-size:16px;margin:-8px 0 14px;display:block}
.fm-form .fm-acepto{font-size:16px;line-height:1.5;color:var(--tinta-soft);margin-bottom:20px}
.fm-form .fm-acepto .wpcf7-list-item{margin:0}
.fm-form .fm-acepto input{margin-inline-end:8px}
.fm-form .fm-acepto a{color:var(--hilo-ink);text-decoration:underline;text-underline-offset:3px}
.fm-form .wpcf7-submit{background:var(--hilo-ink)!important;color:var(--lino-claro)!important;border:1.5px solid var(--hilo-ink);border-radius:var(--r-pill);padding:14px 26px;font:600 16px/1.2 var(--sans);white-space:nowrap;cursor:pointer;transition:background-color .2s var(--ease-out)}
.fm-form .wpcf7-submit:hover{background:var(--tinta)!important;border-color:var(--tinta)}
.fm-form .wpcf7-submit:focus-visible{outline:3px solid var(--oro);outline-offset:3px}
.fm-form .wpcf7 form .wpcf7-response-output{border:1.5px solid var(--piedra-media)!important;border-radius:10px;padding:12px 16px!important;margin:16px 0 0!important;font-size:16px;color:var(--tinta)}
.fm-ct-row{border-top:1px solid var(--piedra-media);padding-block:22px!important;align-items:baseline}
.fm-ct-row:last-child{border-bottom:1px solid var(--piedra-media)}
.fm-ct-nombre .elementor-heading-title{font-size:28px!important;color:var(--hilo-ink)!important}
.fm-ct-dato b{display:block;font-family:var(--mono);font-weight:400;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--piedra-texto);margin-bottom:3px}
.fm-ct-dato p{margin:0}
.fm-ct-dato a{color:var(--tinta);text-decoration:underline;text-decoration-color:var(--piedra-media);text-underline-offset:4px;overflow-wrap:anywhere}
.fm-ct-dato a:hover{color:var(--hilo-ink);text-decoration-color:var(--hilo-ink)}
@media (max-width:767px){
  .fm-razones ul{columns:1}
  .fm-form .wpcf7-submit{width:100%}
  .fm-ct-nombre .elementor-heading-title{font-size:26px!important}
}

.fm-landing .fm-pie.elementor-widget-text-editor p{font-family:var(--mono);font-size:16px;letter-spacing:.02em;color:var(--piedra-texto);margin:0;max-width:none}

@media (max-width:767px){.elementor-412 .fm-pie,.elementor-412 .fm-pie p{font-family:var(--sans)!important;font-size:15px!important;letter-spacing:0}}

/* Ajustes institucionales 15/10 */
.fm-comarca .elementor-heading-title{line-height:1.5!important}
.fm-idx-nombre{margin-top:4px}
.fm-ficha-l .elementor-icon-list-text b{display:block;font-family:var(--mono);font-weight:400;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--piedra-texto);margin-bottom:3px}
.fm-lista-asoc a{color:inherit;text-decoration:none}
.fm-lista-asoc a:hover{text-decoration:underline;text-decoration-color:var(--piedra-media);text-underline-offset:4px}

/* Auditoría landings 15/10 — filas Qué ofrece: el gap del contenedor (24px) se sumaba al padding de cada fila y dejaba más aire debajo que encima */
.fm-ofrece .fm-wrap{row-gap:0!important}
.fm-ofrece .fm-h2{margin-bottom:var(--space-lg)!important}

/* Formulario de contacto: retoques 15/10 */
.fm-form .row::before,.fm-form .row::after{display:none!important}
.fm-form .fm-pie,.fm-form .fm-pie p{font-family:var(--sans)!important;font-size:16px!important;line-height:1.55;color:var(--tinta-soft)!important;letter-spacing:0;margin:0}
.fm-form .fm-pie a{color:var(--hilo-ink)!important;text-decoration:underline;text-underline-offset:3px}

/* Auditoría landings 15/10 — directorio: pie de tarjeta vacío (sin valoraciones) dejaba una banda en blanco de 56px; buscador descentrado en móvil (padding-left 42px de Listeo); botón Buscar con el mismo tono que el CTA primario */
.fm-directorio .details-sidebar-col-nl:not(:has(.details-sidebar-upper-nl *)):not(:has(> :nth-child(2))){display:none}
.fm-directorio .main-search-input button.button{background:var(--hilo-ink)!important;border-color:var(--hilo-ink)!important}
@media (max-width:767px){
  .fm-directorio .main-search-input{padding:16px!important}
}

/* Auditoría landings 15/10 — la clase fm-federacion está en el propio widget, así que la regla de arriba no aplicaba: la línea salía en Inter 17px como un párrafo más */
.fm-cierre .fm-federacion p{font-family:var(--mono)!important;font-size:12.8px!important;line-height:1.7!important;letter-spacing:.08em;color:var(--oro-claro)!important;max-width:none}
.fm-cierre .fm-federacion a{color:var(--lino-claro);text-decoration:underline;text-underline-offset:3px}
.fm-form .wpcf7-not-valid-tip{background:none!important;text-align:left!important;padding:0!important;border:0!important}

/* Auditoría landings 15/10 — entradilla del hero a 17px en móvil: a 19px ocupaba 5-6 líneas y empujaba los CTA fuera de la primera pantalla */
@media (max-width:767px){.fm-hero-lead,.fm-hero-lead p{font-size:17px!important}}
.fm-form .wpcf7-submit:disabled{opacity:.5;cursor:not-allowed}
.fm-comarca .elementor-heading-title{letter-spacing:.08em!important}
/*FICHA-BEGIN*/
/* ---------- Ficha de empresa (plantilla Theme Builder "Ficha FEMAERCA") 15/10 ----------
 * body.fm-hilo-<asociacion> (filtro body_class en femaerca-ficha.php) fija --hilo/--hilo-ink con las reglas .fm-hilo-* de arriba. */
body.fm-ficha-pg{background:var(--lino)}
.fm-ft{background:var(--lino);color:var(--tinta);font-family:var(--sans);overflow-x:clip}
.fm-ft .fm-wrap{width:100%;box-sizing:border-box}
.fm-ft .fm-kicker .elementor-heading-title{font-size:16px!important;letter-spacing:.1em}

/* Cabecera */
.fm-ft-cab .listing-titlebar{margin:0!important;padding:0!important;background:none!important;border:0!important}
.fm-ft-cab .listing-titlebar-title{display:block;padding:0!important;margin:0!important;float:none!important}
.fm-ft-cab .listing-titlebar-tags{display:flex;flex-wrap:wrap;margin:0 0 20px!important;padding:0!important}
.fm-ft-cab .listing-tag{display:inline-flex;margin:0!important;padding:0!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.fm-ft-cab .listing-tag a{font:400 16px/1.4 var(--mono)!important;letter-spacing:.1em;text-transform:uppercase;color:var(--hilo-ink)!important;text-decoration:none;background:none!important;padding:0!important}
.fm-ft-cab .listing-tag a:hover{text-decoration:underline;text-underline-offset:4px}
.fm-ft-cab .listing-tag+.listing-tag::before{content:"\00b7";margin-inline:.85em;color:var(--piedra-texto)}
.fm-ft-cab .listing-titlebar-title h1{font-family:var(--serif)!important;font-weight:500!important;font-size:clamp(34px,4.6vw,60px)!important;line-height:1.05!important;letter-spacing:-.015em;color:var(--tinta)!important;margin:0 0 18px!important;max-width:20ch;text-wrap:balance;overflow-wrap:anywhere}
.fm-ft-cab .listing-address{border:0!important;font:400 18px/1.5 var(--sans)!important;color:var(--tinta-soft)!important;text-decoration:none;display:inline-block;overflow-wrap:anywhere}
.fm-ft-cab .listing-address i{color:var(--hilo-ink);margin-inline-end:8px}
.fm-ft-cab .listing-address:hover{color:var(--hilo-ink)!important}
.fm-ft-cab .listing-titlebar br{display:none}
.fm-aso-chip{display:inline-flex;align-items:center;gap:10px;padding:10px 18px 10px 15px;border:1.5px solid var(--hilo-ink);border-radius:var(--r-pill);background:var(--lino-claro);color:var(--tinta);font:500 16px/1.2 var(--sans);text-decoration:none;transition:background-color .2s var(--ease-out),color .2s var(--ease-out)}
.fm-aso-chip b{font-weight:600}
.fm-aso-pt{width:10px;height:10px;border-radius:50%;background:var(--hilo);flex:none}
.fm-aso-fl{display:inline-block;transition:transform .2s var(--ease-out)}
a.fm-aso-chip:hover{background:var(--hilo-ink);border-color:var(--hilo-ink);color:var(--lino-claro)}
a.fm-aso-chip:hover .fm-aso-pt{background:var(--lino-claro)}
a.fm-aso-chip:hover .fm-aso-fl{transform:translateX(3px)}
a.fm-aso-chip:focus-visible,.fm-aso-card-l:focus-visible{outline:3px solid var(--oro);outline-offset:3px}

/* Cuerpo */
.fm-ft-main{min-width:0}
.fm-ft-galeria:not(:has(a)){display:none}
.fm-ft-galeria .listing-slider-small,.fm-ft-galeria .listing-slider{border-radius:var(--r);overflow:hidden;margin:0!important}
.fm-ft-desc,.fm-ft-desc p{font:400 18px/1.7 var(--sans);color:var(--tinta-soft)}
.fm-ft-desc p{max-width:62ch;margin:0 0 1em}
.fm-ft-desc .fm-completa{margin-top:24px;padding-top:18px;border-top:1px solid var(--piedra-media);font-size:16px;color:var(--tinta-soft)}
.fm-ft-desc a{color:var(--hilo-ink);text-decoration:underline;text-underline-offset:3px}
.fm-ft-mapa-w .listing-desc-headline,.fm-ft-mapa-w .listing-section>h2{display:none}
.fm-ft-mapa-w .listing-section{margin:0!important;padding:0!important}
.fm-ft-mapa-w #singleListingMap-container{position:relative;border:1px solid var(--piedra);border-radius:var(--r);overflow:hidden;margin:0!important;box-shadow:var(--shadow)}
.fm-ft-mapa-w #singleListingMap{height:380px!important;margin:0!important}
.fm-ft-mapa-w #getDirection{position:absolute;top:auto!important;width:auto!important;height:auto!important;min-height:0!important;line-height:1.2!important;inset-inline-start:14px;bottom:14px;z-index:500;display:inline-flex;align-items:center;padding:10px 18px;border-radius:var(--r-pill);background:var(--lino-claro);color:var(--tinta);border:1.5px solid var(--tinta);font:600 16px/1.2 var(--sans);text-decoration:none;box-shadow:none;transition:background-color .2s var(--ease-out),color .2s var(--ease-out)}
.fm-ft-mapa-w #getDirection:hover{background:var(--tinta);color:var(--lino-claro)}

/* Barra lateral */
.fm-ft-aside{position:sticky;top:120px;align-self:flex-start;min-width:0}
.fm-ft-ctc{background:var(--lino-claro);border:1px solid var(--piedra);border-top:4px solid var(--hilo);border-radius:var(--r);padding:28px!important;box-shadow:var(--shadow)}
.fm-ft-ctc:not(:has(.listing-links li)){display:none}
.fm-ft-ctc .listing-links-container{margin:0!important;padding:0!important}
.fm-ft-ctc ul{list-style:none!important;margin:0!important;padding:0!important;float:none!important;display:block!important}
.fm-ft-ctc .listing-links li{display:block!important;float:none!important;margin:0!important;padding:0!important;border-top:1px solid var(--piedra);width:auto!important}
.fm-ft-ctc .listing-links li:first-child{border-top-color:var(--piedra-media)}
.fm-ft-ctc .listing-links li a{display:flex!important;align-items:baseline;gap:12px;padding:14px 0!important;margin:0!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:var(--tinta)!important;font:500 16.5px/1.4 var(--sans)!important;text-decoration:none;overflow-wrap:anywhere;word-break:break-word;transition:color .2s var(--ease-out)}
.fm-ft-ctc .listing-links li a i{flex:none;width:20px;text-align:center;color:var(--hilo-ink)!important;font-size:16px}
.fm-ft-ctc .listing-links li a:hover{color:var(--hilo-ink)!important}
.fm-ft-ctc .listing-links li a:focus-visible{outline:3px solid var(--oro);outline-offset:2px}
.fm-ft-ctc .clearfix{display:none}
.fm-aso-card{border-inline-start:4px solid var(--hilo);padding:2px 0 2px 20px}
.fm-aso-card p{margin:0}
.fm-aso-card-k{font:400 16px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-soft);margin-bottom:6px!important}
.fm-aso-card-n{font:500 34px/1.1 var(--serif);color:var(--hilo-ink);margin-bottom:10px!important}
.fm-aso-card-p{font:400 16px/1.6 var(--sans);color:var(--tinta-soft);margin-bottom:12px!important}
.fm-aso-card-l{font:600 16px/1.3 var(--sans);color:var(--tinta);text-decoration:underline;text-decoration-color:var(--hilo);text-decoration-thickness:2px;text-underline-offset:5px}
.fm-aso-card-l:hover{color:var(--hilo-ink)}
.fm-ft-claim{border-top:1px solid var(--piedra-media);padding-top:24px!important}
.fm-ft-claim-t .elementor-heading-title{font:500 26px/1.2 var(--serif)!important;color:var(--tinta)!important;margin:0}
.fm-ft-claim-p,.fm-ft-claim-p p{font:400 16px/1.6 var(--sans)!important;color:var(--tinta-soft)!important;margin:0}

/* Relacionadas */
.fm-ft-rel-t .elementor-heading-title{font-family:var(--serif)!important;font-weight:500!important;color:var(--tinta)!important}
.fm-ft-rel-w .desc-headline,.fm-ft-rel-w h3.desc-headline{display:none}
.fm-ft-rel-w .listing-item-container{display:block;padding:0!important}
.fm-ft-rel-w .listing-item{display:flex!important;flex-direction:column;height:auto!important;background:var(--lino-claro)!important;border:1px solid var(--piedra);border-top:3px solid var(--hilo);border-radius:var(--r)!important;overflow:hidden;box-shadow:var(--shadow);transition:transform .24s var(--ease-out)}
.fm-ft-rel-w .listing-item:hover{transform:translateY(-3px)}
.fm-ft-rel-w .listing-item::before,.fm-ft-rel-w .listing-item::after,.fm-ft-rel-w .listing-item-container::before,.fm-ft-rel-w .listing-item-container::after{display:none!important}
.fm-ft .fm-ft-rel-w .listing-item-container .listing-item img.listing-thumbnail,.fm-ft .fm-ft-rel-w .listing-item-container .listing-item .listing-thumbnail{position:static!important;width:100%!important;height:200px!important;min-height:0!important;max-height:none!important;aspect-ratio:auto;max-width:none;object-fit:contain;background:#fff;padding:14px;box-sizing:border-box;transform:none!important}
.fm-ft-rel-w .listing-item-content{position:static!important;padding:18px 20px 22px!important;background:none!important}
.fm-ft-rel-w .listing-item-content h3{font-family:var(--serif)!important;font-weight:500!important;font-size:22px!important;line-height:1.2!important;color:var(--tinta)!important;margin:0 0 8px!important;text-shadow:none!important;overflow-wrap:anywhere}
.fm-ft-rel-w .listing-item-content span{display:block;font:400 16px/1.5 var(--sans)!important;color:var(--tinta-soft)!important;text-shadow:none!important}
.fm-ft-rel-w .listing-badge,.fm-ft-rel-w .listing-small-badges-container,.fm-ft-rel-w .save.like-icon{display:none!important}
.fm-ft-rel-w .slick-dots,.fm-ft-rel-w .slider-controls-container{display:none!important}.fm-ft-cab .listing-titlebar-title>span{border:0!important;box-shadow:none!important}.fm-ft-cab .listing-titlebar-title::after,.fm-ft-cab .listing-titlebar::after{display:none!important}
/* Reseñas y verificación desactivadas en esta web */
.fm-ft #add-review,.fm-ft .add-review-box,.fm-ft .claim-badge,.fm-ft #listing-reviews{display:none!important}

@media (max-width:1024px){.fm-ft-aside{position:static}}
@media (max-width:767px){
  .fm-ft-cab .listing-titlebar-title h1{max-width:none}
  .fm-ft-mapa-w #singleListingMap{height:300px!important}
  .fm-ft-ctc{padding:22px!important}
  .fm-aso-card-n{font-size:30px}
  .fm-aso-chip{padding:10px 16px 10px 13px}
}
@media (prefers-reduced-motion:reduce){.fm-aso-chip,.fm-aso-fl,#getDirection{transition:none}}
.fm-ft .fm-aso-card p.fm-aso-card-k{font:400 16px/1.3 var(--mono)!important;letter-spacing:.1em!important}
.fm-ft .fm-aso-card p.fm-aso-card-n{font:500 34px/1.1 var(--serif)!important}
.fm-ft .fm-aso-card p.fm-aso-card-p{font:400 16px/1.6 var(--sans)!important}
.fm-ft .fm-aso-card a.fm-aso-card-l{font:600 16px/1.3 var(--sans)!important}
@media (max-width:767px){.fm-ft .fm-aso-card p.fm-aso-card-n{font-size:30px!important}}
.fm-ft-rel-w .slick-track{display:flex!important}
.fm-ft-rel-w .slick-slide{height:auto!important;float:none!important}
.fm-ft-rel-w .slick-slide>div,.fm-ft-rel-w .slick-slide .col-lg-6,.fm-ft-rel-w .listing-item-container{height:100%}
.fm-ft-rel-w .listing-item-container{background:none!important;box-shadow:none!important}
.fm-ft-rel-w .listing-item{flex:1 1 auto;min-height:100%}
@media (max-width:767px){.fm-ft-rel-w .col-lg-6,.fm-ft-rel-w .col-md-12,.fm-ft-rel-w .fw-carousel-item{padding-inline:0!important;margin-inline:0!important}.fm-ft-rel-w .slick-list{margin:0!important}}
/*FICHA-END*/

/* /listings/: barra de sectores sin iconos genericos (15/10) */
.category-slider .category-item i.fa-globe{display:none}
.category-slider .category-item{justify-content:center;min-height:0;padding:10px 14px}

/* Retoques ficha + mapas (15/10, 3) */
.fm-ft .fm-completa{display:none}
.leaflet-tile-pane{filter:grayscale(1) sepia(.22) brightness(1.05) contrast(.9)}
.fm-ft .listing-item-container,.fm-ft .listing-item{min-height:0!important;height:auto!important}
.fm-ft .slick-track{display:flex}.fm-ft .slick-slide{height:auto}
.fm-ft .listing-item > img{height:200px!important;width:100%;object-fit:contain;background:var(--lino-claro)}
img[src*="femaerca-sinfoto"]{object-fit:cover!important}

/*ARCHIVO-BEGIN*/
/* ---------- Archivo del directorio (plantilla Theme Builder "Archivo FEMAERCA") 15/10 ----------
 * /listings/, /listing-category/<sector>/ y /region/<localidad>/. Acento oro (federacion): --hilo por defecto. */
body.fm-arch-pg{background:var(--lino)}
.fm-arch{background:var(--lino);color:var(--tinta);font-family:var(--sans);overflow-x:clip}
.fm-arch .fm-wrap{max-width:1440px;width:100%;box-sizing:border-box;padding-block:0}
.fm-arch .fm-arch-cab.fm-hero{padding-block:clamp(40px,4.5vw,64px) clamp(32px,3.5vw,48px)}

/* Cabecera */
.fm-arch p.fm-arch-k{margin:0;font:400 16px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--hilo-ink)}
.fm-arch-h1 .elementor-heading-title{font-size:clamp(34px,4.6vw,60px)!important;line-height:1.05!important;max-width:24ch;text-wrap:balance}
.fm-arch p.fm-arch-lead{margin:0;max-width:68ch;font:400 18px/1.6 var(--sans);color:var(--tinta-soft)}
.fm-arch-lead a{color:var(--tinta);text-decoration:underline;text-decoration-color:var(--oro);text-decoration-thickness:2px;text-underline-offset:4px;transition:color .2s var(--ease-out)}
.fm-arch-lead a:hover{color:var(--hilo-ink)}

/* Buscador (widget de Listeo) */
.fm-arch-busca .listeo-minimal-search-form-wrapper{margin:0}
.fm-arch-busca .main-search-input{background:var(--lino-claro);border:1px solid var(--piedra);border-radius:var(--r);box-shadow:var(--shadow);margin:0;padding:12px 16px!important}
.fm-arch-busca .main-search-input input,.fm-arch-busca .main-search-input .menu-label{font:400 16px/1.4 var(--sans)!important;color:var(--tinta)}
.fm-arch-busca .main-search-input input::placeholder{color:var(--tinta-soft);opacity:1;font-size:16px}
.fm-arch-busca .main-search-input button.button{background:var(--hilo-ink)!important;border-color:var(--hilo-ink)!important;color:var(--lino-claro)!important;border-radius:var(--r-pill);font:600 16px/1.2 var(--sans);transition:background-color .2s var(--ease-out)}
.fm-arch-busca .main-search-input button.button:hover{background:var(--tinta)!important;border-color:var(--tinta)!important}
.fm-arch-busca input:focus-visible,.fm-arch-busca button:focus-visible{outline:3px solid var(--oro);outline-offset:2px}
.fm-arch .listeo-save-search-wrapper,.fm-arch .type-and-hit-enter{display:none!important}

/* Sectores: indice de enlaces con conteo real */
.fm-arch-sec ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.fm-arch-sec li{margin:0;padding:0}
.fm-arch-sec a{display:inline-flex;align-items:center;gap:8px;min-height:40px;box-sizing:border-box;padding:6px 14px;border:1px solid var(--piedra-media);border-radius:var(--r-pill);background:var(--lino-claro);font:400 16px/1.2 var(--sans);color:var(--tinta);text-decoration:none;transition:background-color .2s var(--ease-out),color .2s var(--ease-out),border-color .2s var(--ease-out)}
.fm-arch-sec a b{font:400 16px/1 var(--mono);color:var(--hilo-ink);transition:color .2s var(--ease-out)}
.fm-arch-sec a:hover{border-color:var(--tinta)}
.fm-arch-sec a[aria-current]{background:var(--tinta);border-color:var(--tinta);color:var(--lino-claro)}
.fm-arch-sec a[aria-current] b{color:var(--oro-claro)}
.fm-arch-sec a:focus-visible{outline:3px solid var(--oro);outline-offset:3px}

/* Cuerpo: resultados + mapa */
.fm-arch-fila{align-items:flex-start}
.fm-arch-lista,.fm-arch-mapcol{min-width:0}
.fm-arch p.fm-arch-count{margin:0 0 20px;padding-bottom:14px;border-bottom:1px solid var(--piedra-media);font:400 16px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-soft)}
.fm-arch-count b{font:500 34px/1 var(--serif);letter-spacing:-.01em;color:var(--tinta);margin-right:6px;text-transform:none}
.fm-arch #listeo-listings-container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:0;padding:0;float:none;width:auto}
.fm-arch #listeo-listings-container .listing-card-container-nl{width:auto;float:none;margin:0;padding:0;min-width:0}
.fm-arch #listeo-listings-container .loader-ajax-container,.fm-arch #listeo-listings-container .clearfix,.fm-arch-vacio{grid-column:1/-1}
.fm-arch .details-sidebar-col-nl:not(:has(.details-sidebar-upper-nl *)):not(:has(> :nth-child(2))){display:none}
.fm-arch .listeo-next-page-button{display:none!important}
.fm-arch-vacio{border-top:3px solid var(--oro);padding:28px 0}
.fm-arch .fm-arch-vacio p{margin:0 0 8px;font:400 18px/1.6 var(--sans);color:var(--tinta-soft);max-width:52ch}
.fm-arch-vacio b{font:500 28px/1.2 var(--serif);color:var(--tinta)}
.fm-arch-vacio a{color:var(--tinta);text-decoration:underline;text-decoration-color:var(--oro);text-decoration-thickness:2px;text-underline-offset:4px}

/* Paginacion */
.fm-arch .pagination-container{margin:40px 0 0!important;padding:0}
.fm-arch .pagination-container nav.pagination{margin:0!important;padding:0}
.fm-arch .pagination-container ul.pagination{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0;float:none}
.fm-arch .pagination-container ul.pagination li{margin:0;padding:0;float:none;display:block}
.fm-arch .pagination-container ul.pagination li a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;box-sizing:border-box;padding:0 14px;border:1px solid var(--piedra-media);border-radius:var(--r-pill);background:var(--lino-claro);font:400 16px/1 var(--mono);color:var(--tinta);text-decoration:none;transition:background-color .2s var(--ease-out),color .2s var(--ease-out),border-color .2s var(--ease-out)}
.fm-arch .pagination-container ul.pagination li a:hover{border-color:var(--tinta)}
.fm-arch .pagination-container ul.pagination li.current a{background:var(--tinta);border-color:var(--tinta);color:var(--lino-claro)}
.fm-arch .pagination-container ul.pagination li a:focus-visible{outline:3px solid var(--oro);outline-offset:3px}

/* Mapa: columna fija con el pie en tejido */
.fm-arch-mapcol{position:sticky;top:128px;align-self:flex-start}
.fm-arch-mapcol #map-container{position:relative;margin:0;height:calc(100vh - 168px);min-height:440px;max-height:760px;border:1px solid var(--piedra);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.fm-arch-mapcol #map{position:absolute;inset:0;width:100%;height:100%}
.fm-arch-mapcol #map-container::after{content:"";position:absolute;inset-inline:0;bottom:0;height:4px;background:var(--tejido);z-index:500;pointer-events:none}

@media (max-width:1024px){
  .fm-arch-mapcol{position:static}
  .fm-arch-mapcol #map-container{height:380px;min-height:0}
}
@media (max-width:767px){
  .fm-arch p.fm-arch-k{font-size:16px}
  .fm-arch p.fm-arch-lead{font-size:17px}
  .fm-arch p.fm-arch-count b{font-size:30px}
  .fm-arch #listeo-listings-container{grid-template-columns:minmax(0,1fr)}
  .fm-arch-mapcol #map-container{height:300px}
  .fm-arch-sec ul{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;margin-inline:calc(-1 * clamp(20px,5vw,48px));padding:0 clamp(20px,5vw,48px) 8px;scrollbar-width:thin}
  .fm-arch-sec li{flex:none;scroll-snap-align:start}
}
@media (prefers-reduced-motion:reduce){.fm-arch-sec a,.fm-arch-busca button,.fm-arch .pagination-container ul.pagination li a{transition:none}}
/* Texto >=16px en piezas de Listeo + mapa plegado en movil (lo gestiona Listeo: franja de 120px con boton Ver mapa) */
.fm-arch .listing-category-tag-nl,.fm-arch .status-button-nl,.fm-arch .mobile-map-toggle-btn,.fm-arch .item-label,.fm-arch .drilldown-menu .menu-item span{font-size:16px!important}
.fm-arch .pagination-container ul.pagination li a{font-size:16px!important;line-height:1!important}
/*ARCHIVO-END*/
/*ARCHIVO-2-BEGIN*/
/* Sin resultados (servidor y AJAX de Listeo comparten #listings-not-found) 15/10 */
.fm-arch #listeo-listings-container #listeo-listings-container{grid-column:1/-1;display:block;margin:0;padding:0}
.fm-arch #listings-not-found{grid-column:1/-1;float:none;width:auto;margin:0!important;padding:28px 0 0!important;border-top:3px solid var(--oro)}
.fm-arch #listings-not-found h2{margin:0 0 10px;font:500 28px/1.2 var(--serif);color:var(--tinta)}
.fm-arch #listings-not-found p{margin:0;max-width:52ch;font:400 18px/1.6 var(--sans);color:var(--tinta-soft)}
.fm-arch #listings-not-found a{color:var(--tinta);text-decoration:underline;text-decoration-color:var(--oro);text-decoration-thickness:2px;text-underline-offset:4px}
/*ARCHIVO-2-END*/
/*ARCHIVO-3-BEGIN*/
@media (max-width:767px){.fm-arch-sec li:first-child{margin-inline-start:clamp(20px,5vw,48px)}.fm-arch-sec li:last-child{margin-inline-end:clamp(20px,5vw,48px)}}
/*ARCHIVO-3-END*/
/*FICHA-DATOS-BEGIN (15/10/2026: CTA, horario, servicios) */
.fm-ft-cta:not(:has(.fm-cta)),.fm-ft-hor:not(:has(.fm-hor)),.fm-ft-srv:not(:has(.fm-srv)){display:none}
.fm-cta{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 0}
.fm-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 24px;border-radius:var(--r-pill);border:1.5px solid var(--tinta);background:transparent;color:var(--tinta)!important;font:600 16px/1.2 var(--sans);text-decoration:none!important;transition:background-color .2s var(--ease-out),color .2s var(--ease-out),transform .2s var(--ease-out)}
.fm-cta-btn:hover{background:var(--tinta);color:var(--lino-claro)!important}
.fm-cta-btn:focus-visible{outline:3px solid var(--oro);outline-offset:2px}
.fm-cta-call{background:var(--tinta);color:var(--lino-claro)!important}
.fm-cta-call:hover{background:var(--hilo-ink);border-color:var(--hilo-ink)}
.fm-cta-btn .fm-ico{flex:none}
.fm-d-k{font:400 16px/1.3 var(--mono)!important;letter-spacing:.1em;text-transform:uppercase;color:var(--hilo-ink)!important;margin:0 0 14px!important}
.fm-hor{background:var(--lino-claro);border:1px solid var(--piedra);border-top:4px solid var(--hilo);border-radius:var(--r);padding:26px 28px;box-shadow:var(--shadow);margin-top:20px}
.fm-hor-l{margin:0;padding:0}
.fm-hor-r{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid var(--piedra);font:400 16px/1.4 var(--sans)}
.fm-hor-r:first-child{border-top-color:var(--piedra-media)}
.fm-hor-r dt{font-weight:600;color:var(--tinta);margin:0}
.fm-hor-r dd{margin:0;text-align:right;color:var(--tinta-soft);font-variant-numeric:tabular-nums}
.fm-hor-r.is-cerrado dd{color:var(--piedra-texto)}
.fm-hor-txt{margin:14px 0 0;font:400 16px/1.6 var(--sans);color:var(--tinta-soft)}
.fm-srv{margin-top:4px}
.fm-srv-b+.fm-srv-b{margin-top:26px}
.fm-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.fm-chips li{margin:0;padding:7px 15px;border:1px solid var(--piedra-media);border-radius:var(--r-pill);background:var(--lino-claro);font:400 16px/1.35 var(--sans);color:var(--tinta)}
.fm-chips-s li{background:var(--oro-tinte);border-color:var(--piedra-media)}
.fm-srv-dl{margin:0;padding:0}
.fm-srv-dl>div{padding:10px 0;border-top:1px solid var(--piedra);display:grid;grid-template-columns:minmax(120px,170px) 1fr;gap:4px 16px}
.fm-srv-dl>div:first-child{border-top-color:var(--piedra-media)}
.fm-srv-dl dt{font:400 16px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--piedra-texto);margin:0}
.fm-srv-dl dd{margin:0;font:400 16px/1.5 var(--sans);color:var(--tinta);overflow-wrap:anywhere}
.fm-srv-dl a,.fm-hor-txt a{color:var(--hilo-ink);text-decoration:underline;text-underline-offset:3px}
@media (max-width:767px){
  .fm-cta{gap:8px}
  .fm-cta-btn{flex:1 1 calc(50% - 8px);padding:12px 14px}
  .fm-cta-call{flex-basis:100%}
  .fm-hor{padding:22px}
  .fm-srv-dl>div{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.fm-cta-btn{transition:none}}
/*FICHA-DATOS-END*/

/*FICHA-GALERIA (15/10/2026: .fm-ft .slick-slide{height:auto} dejaba las fotos de galeria a 0px) */
.fm-ft .fm-ft-galeria .listing-slider-small .item.slick-slide{height:260px;min-height:0;border-radius:var(--r)}
@media (max-width:767px){.fm-ft .fm-ft-galeria .listing-slider-small .item.slick-slide{height:210px}}

/* ===== QA final 15/10/2026 (control de calidad antes de enseñar al cliente) ===== */
/* 1. Tipografía: Raleway (Kirki/Listeo) fuera del sistema. Cuerpo y formularios en Inter,
      titulares de plantillas Listeo en Newsreader. Los widgets Elementor llevan su propia fuente. */
html body,html body input,html body select,html body textarea,html body button,
html body .button,html body input[type="submit"],html body .select2-container,html body .chosen-container{font-family:var(--sans)}
html body #titlebar h1,html body #titlebar h2,html body #not-found h2,
html body .dashboard-list-box h4,html body .listing-title-nl{font-family:var(--serif);font-weight:500;letter-spacing:-.01em}
html body .listing-title-nl{font-size:21px;line-height:1.25;color:var(--tinta)}
/* 2. Horario: cada turno no se parte por dentro (10:00–14:00 · 17:30–20:30). */
.fm-nw{white-space:nowrap}
/* 3. Mapa de la ficha: el botón "Cómo llegar" tapaba la atribución de OpenStreetMap. */
#singleListingMap-container #getDirection{top:14px!important;bottom:auto!important;left:auto!important;right:14px!important;width:auto!important}
/* 4. Contacto: la nota RGPD bajo el formulario heredaba la banda oscura del pie (.fm-pie). */
.fm-form .fm-pie{background:transparent!important;color:var(--tinta-soft)!important;padding:0!important;margin-top:4px}
.fm-form .fm-pie::before{content:none!important}
.fm-form .fm-pie p{color:var(--tinta-soft)!important;font-size:15px;line-height:1.55;margin:0}
.wpcf7 .wpcf7-acceptance label{line-height:1.5}
/* 5. Páginas de plantilla Listeo (404, alta deslogueada, panel): mismo papel y titulares de la marca. */
body.error404,body.add-listing-dashboard-template.user_not_logged_in{background:var(--lino)}
body.error404 #titlebar,body.add-listing-dashboard-template.user_not_logged_in #titlebar{background:var(--lino-claro);border-bottom:1px solid var(--piedra);padding:56px 0 40px}
body.error404 #titlebar h1,body.add-listing-dashboard-template.user_not_logged_in #titlebar h1{font-size:clamp(2rem,4.2vw,3rem);line-height:1.08;color:var(--tinta);margin:0}
#not-found{padding:56px 0 24px}
#not-found h2{font-size:clamp(4.5rem,14vw,8.5rem)!important;line-height:1!important;color:var(--tinta)!important;letter-spacing:-.03em}
#not-found h2 i{display:none}
#not-found p{font-family:var(--sans)!important;font-size:1.15rem!important;color:var(--tinta-soft)!important;line-height:1.5!important}
#not-found .fm-404-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px;padding:0;list-style:none}
#not-found .fm-404-links a{display:inline-flex;align-items:center;min-height:44px;padding:10px 22px;border:1.5px solid var(--tinta);border-radius:var(--r-pill);color:var(--tinta);font-weight:500;white-space:nowrap;text-decoration:none}
#not-found .fm-404-links a:hover,#not-found .fm-404-links a:focus-visible{background:var(--tinta);color:var(--lino)}
.fm-alta-intro{max-width:46ch;margin:0 auto 28px;font-size:1.05rem;line-height:1.6;color:var(--tinta-soft)}
/* 6. Panel de empresa: tarjetas de cifras con la paleta (no el verde/amarillo/rosa del tema) y menú sin "Noticias" (Fase 2). */
body.light-dashboard #navigation li:has(> a[href$="/noticias/"]){display:none}
body.light-dashboard .dashboard-stat{background:var(--lino-claro)!important;border:1px solid var(--piedra)!important;box-shadow:none!important}
body.light-dashboard .dashboard-stat .dashboard-stat-content span{color:var(--tinta-soft)!important;font-family:var(--sans)}
body.light-dashboard .dashboard-stat .dashboard-stat-content h4{color:var(--tinta)!important;font-family:var(--mono)!important}
body.light-dashboard .dashboard-stat .dashboard-stat-icon svg,body.light-dashboard .dashboard-stat .dashboard-stat-icon svg *{fill:var(--oro)!important}
body.light-dashboard .dashboard-stat::before,body.light-dashboard .dashboard-stat::after{display:none!important}
@media (prefers-reduced-motion:reduce){#not-found .fm-404-links a{transition:none}}
/* QA final 15/10 - 404: refuerzo de especificidad */
html body #not-found p{font-size:1.15rem!important;line-height:1.5!important;color:var(--tinta-soft)!important}
html body #not-found .main-search-input{background:var(--lino-claro)!important;border:1px solid var(--piedra)!important;box-shadow:none!important}
html body #not-found .main-search-input input{background:transparent!important;font-size:17px}

/* QA final 15/10 - ficha: correos largos alineados a la izquierda al partirse */
html body .listing-links-container .contact-links li,html body .listing-links-container .contact-links a.listing-links{text-align:left!important;overflow-wrap:anywhere}

/* QA final 15/10 - correcciones: el tema fija html{font-size:10px} (rem = 10px) y los input[type] de Listeo ganan en especificidad */
html body input[type],html body input[type]::placeholder,html body textarea::placeholder{font-family:var(--sans)}
html body .fm-alta-intro{font-size:17px;line-height:1.6}
html body #not-found p{font-size:18px!important}
body.error404 #titlebar h1,body.add-listing-dashboard-template.user_not_logged_in #titlebar h1{font-size:clamp(32px,4.2vw,48px)}

/* QA final 15/10 - 320px: botones de la ficha nunca en dos líneas; etiquetas sector/localidad no se parten; legales del pie en Inter */
.fm-cta .fm-cta-btn span{white-space:nowrap}
@media (max-width:359px){.fm-cta .fm-cta-btn{flex-basis:100%!important}}
.listing-titlebar-tags .listing-tag{display:inline-block;white-space:nowrap}
html body .fm-pie .elementor-icon-list-text{font-family:var(--sans)}
html body .fm-contacto .elementor-icon-list-text{font-family:var(--sans)}
