/* El Bulín 2026 · estilos de las plantillas nuevas (sistema de diseño «El Bulín», dirección Sierra viva). */

@font-face { font-family: "Work Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/work-sans-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Work Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/work-sans-latin-500-normal.woff2) format("woff2"); }
@font-face { font-family: "Work Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/work-sans-latin-600-normal.woff2) format("woff2"); }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/oswald-latin-500-normal.woff2) format("woff2"); }

:root {
	--bg: #f1ede5; --surface: #ffffff; --surface-alt: #f2f4ef;
	--ink: #14261c; --ink-muted: #4e5652; --border: #ddd8cf; --border-strong: #8a8f86;
	--lima: #abc431; --on-lima: #14261c; --verde: #176b4d; --verde-tint: #eaf5ef;
	--bosque: #1d3a2c; --on-bosque: #f4f1e8; --on-bosque-muted: #c9d3c0;
	--papel: #fbf8f1; --tierra: #8a6f45; --focus: #1c7b58;
	--font-sans: "Work Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--font-display: Oswald, "Arial Narrow", sans-serif;
	--r-sm: 8px; --r-md: 14px; --r-lg: 22px;
	--wrap: 1280px; --gutter: 32px;
}

/* Base */
.eb, .eb * { box-sizing: border-box; }
body.eb { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font-sans); font-size: 16px; line-height: 24px; -webkit-font-smoothing: antialiased; }
html:has(body.eb) { overflow-x: clip; }
.eb :where(img) { max-width: 100%; height: auto; }
.eb a { color: var(--verde); }
.eb a:hover { color: var(--ink); }
.eb :focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.eb button { font: inherit; }
.eb-saltar { position: absolute; left: -9999px; top: 8px; z-index: 100; background: var(--surface); padding: 8px 16px; border-radius: var(--r-sm); }
.eb-saltar:focus { left: 16px; }
.eb-wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
.eb-img-vacia { display: block; background: var(--surface-alt); }

/* Tipos */
.eb-eyebrow { margin: 0; font-size: 13px; line-height: 16px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--verde); }
.eb-eyebrow--lima { color: var(--lima); }
.eb-h2 { margin: 0; font-family: var(--font-display); font-weight: 500; font-size: 40px; line-height: 44px; text-wrap: balance; }
.eb-h2--m { font-size: 34px; line-height: 38px; }
.eb-h3 { margin: 0; font-family: var(--font-display); font-weight: 500; font-size: 28px; line-height: 32px; }
.eb-lead { margin: 0; font-size: 17px; line-height: 27px; color: var(--on-bosque-muted); }
.eb-lead--oscuro { color: var(--ink-muted); }
.eb-estrella { color: var(--tierra); }
.eb-nota { font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.eb-enlace { font-weight: 600; }
.eb-num { font-variant-numeric: tabular-nums; }

/* Botones */
.eb-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 24px; border-radius: var(--r-md); border: 0; font: 600 16px/1 var(--font-sans); text-decoration: none; cursor: pointer; white-space: nowrap; }
.eb .eb-btn--lima { background: var(--lima); color: var(--on-lima); }
.eb .eb-btn--lima:hover { filter: brightness(0.94); color: var(--on-lima); }
.eb-redondo { width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--surface); color: var(--ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; flex: 0 0 auto; }
.eb-redondo--borde { border: 1.5px solid var(--border-strong); }

/* Cabecera */
.eb-cab { background: var(--bosque); color: var(--on-bosque); position: relative; z-index: 20; }
.eb-cab__in { max-width: var(--wrap); margin: 0 auto; padding: 12px var(--gutter); display: flex; align-items: center; gap: 28px; }
.eb-cab__logo { display: inline-flex; padding: 4px 0; flex: 0 0 auto; }
.eb-cab__logo-img { height: 46px; width: auto; display: block; }
.eb-cab__nav { flex: 1 1 auto; }
.eb-cab__lista { list-style: none; margin: 0; padding: 0; display: flex; gap: 24px; flex-wrap: wrap; }
.eb .eb-cab__lista a { color: var(--on-bosque); text-decoration: none; font-size: 15px; font-weight: 500; }
.eb .eb-cab__lista a:hover { color: var(--lima); }
.eb .eb-cab__wa { display: inline-flex; align-items: center; gap: 6px; color: var(--on-bosque-muted); text-decoration: none; font-size: 14px; white-space: nowrap; }
.eb .eb-cab__wa:hover { color: var(--on-bosque); }
.eb-cab__reservar { min-height: 44px; }
.eb-cab__reservar--movil { display: none; }
.eb-cab__menu-btn { display: none; align-items: center; gap: 6px; min-height: 44px; padding: 0 12px; border: 1.5px solid var(--on-bosque-muted); border-radius: var(--r-md); background: transparent; color: var(--on-bosque); cursor: pointer; }

/* Hero */
.eb-hero { position: relative; }
.eb-hero__pase { position: relative; }
.eb-hero__fotos { position: relative; height: 560px; overflow: hidden; background: var(--bosque); }
.eb-hero__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; opacity: 0; transform: scale(1); transition: opacity 1.2s ease-in-out, transform 7s ease-out; }
.eb-hero__foto.is-on { opacity: 1; transform: scale(1.06); }
.eb-hero__ctrl { position: absolute; top: 24px; right: var(--gutter); display: flex; align-items: center; gap: 10px; }
.eb-hero__nombre { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border-radius: 999px; background: var(--surface); font-size: 14px; font-weight: 600; }
.eb-hero__puntos { position: absolute; top: 33px; left: calc(var(--gutter) - 7px); display: flex; gap: 0; }
.eb-hero__punto { box-sizing: border-box; width: 24px; height: 24px; border-radius: 999px; border: 0; padding: 7px; background: var(--surface); background-clip: content-box; cursor: pointer; transition: width 0.2s; }
.eb-hero__punto.is-on { width: 42px; background: var(--lima); background-clip: content-box; }
.eb-hero__panel-wrap { margin-top: -180px; position: relative; }
.eb-hero__panel { background: var(--surface); border-radius: var(--r-lg); box-shadow: 0 16px 40px rgba(20, 38, 28, 0.18); padding: 40px 40px 32px; display: flex; flex-direction: column; gap: 18px; max-width: 1000px; }
.eb-hero__h1 { margin: 0; font-family: var(--font-display); font-weight: 500; font-size: 56px; line-height: 58px; text-wrap: balance; }
.eb-hero__confianza { margin: 0; font-size: 14px; color: var(--ink-muted); }
.eb-hero__confianza b { color: var(--ink); }
.eb-hero--pag .eb-hero__fotos { height: 460px; }
.eb-hero--pag .eb-hero__foto.is-on { transform: none; }
.eb-hero--pag .eb-hero__panel-wrap { margin-top: -160px; }
.eb-hero--pag .eb-hero__panel { gap: 14px; }
.eb-hero--pag .eb-hero__h1 { font-size: 48px; line-height: 52px; }
.eb-hero--pag .eb-hero__lede { margin: 0; max-width: 70ch; }
.eb-hero--pag .eb-datos { margin: 0; }
.eb-migas--panel { margin: 0; padding: 0; }
.eb-blog__chips ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.eb-blog__chips .eb-chip-btn { text-decoration: none; }
.eb-blog__chips .eb-chip-btn:hover { border-color: var(--verde); color: var(--verde); }

/* Buscador */
.eb-busca { min-height: 64px; }
.eb-busca.ebx { margin: 0; max-width: none; }
.eb-campo { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.eb-campo__et { font-size: 13px; font-weight: 600; color: var(--ink-muted); }
.eb-campo__in { min-height: 48px; width: 100%; min-width: 0; padding: 0 14px; border: 1.5px solid var(--border-strong); border-radius: var(--r-sm); background: var(--surface); color: var(--ink); font: 400 16px/1.2 var(--font-sans); }
.eb-campo__in:focus { outline: 2px solid var(--focus); outline-offset: 1px; }
.eb-busca__ir { min-width: 150px; }
.eb-filtros { min-width: 0; min-inline-size: 0; border: 0; margin: 4px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.eb-filtros__et { float: left; margin-right: 4px; padding: 0; font-size: 13px; font-weight: 600; color: var(--ink-muted); }
.eb-chip { position: relative; display: inline-flex; }
.eb-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.eb-chip span, .eb-chip-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 16px; border-radius: 8px; border: 1.5px solid var(--border-strong); background: var(--surface); color: var(--ink); font: 500 14px/1 var(--font-sans); cursor: pointer; white-space: nowrap; }
.eb-chip input:checked + span { background: var(--verde); border-color: var(--verde); color: #fff; }
.eb-chip input:checked + span::before { content: "✓"; }
.eb-chip input:focus-visible + span { outline: 2px solid var(--focus); outline-offset: 2px; }
.eb-chip-btn[aria-selected="true"] { background: var(--verde); border-color: var(--verde); color: #fff; }

/* Secciones */
.eb-sec { padding-top: 88px; }
.eb-sec--junta { padding-top: 24px; }
.eb-sec--pegada { padding-top: 0; }
.eb-sec__cab { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.eb-sec__cab > div:first-child { display: flex; flex-direction: column; gap: 8px; }
.eb-sec__h { margin-bottom: 24px; }
.eb-rejilla { display: grid; gap: 24px; }
.eb-rejilla--4 { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }

/* Tarjeta grande */
.eb .eb-tarjeta { display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); overflow: hidden; color: var(--ink); text-decoration: none; }
.eb .eb-tarjeta:hover { border-color: var(--border-strong); color: var(--ink); }
.eb-tarjeta__foto { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.eb-tarjeta__cuerpo { padding: 16px; display: flex; flex-direction: column; gap: 6px; }
.eb-tarjeta__fila { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.eb-tarjeta__nombre { font-family: var(--font-display); font-weight: 500; font-size: 22px; line-height: 28px; }
.eb-tarjeta__meta { font-size: 14px; line-height: 20px; color: var(--ink-muted); }
.eb-tarjeta__pie { margin-top: 6px; }
.eb-tarjeta__accion { font-size: 14px; font-weight: 600; color: var(--verde); }

/* Lista compacta (todas) */
.eb-lista-casas { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 16px; }
.eb-lista-casas li[hidden] { display: none; }
.eb .eb-mini { display: flex; gap: 14px; padding: 10px; height: 100%; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); color: var(--ink); text-decoration: none; }
.eb .eb-mini:hover { border-color: var(--border-strong); color: var(--ink); }
.eb-mini__foto { width: 104px; height: 104px; border-radius: var(--r-sm); object-fit: cover; flex: 0 0 auto; display: block; }
.eb-mini__txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 auto; }
.eb-mini__pueblo { font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--verde); }
.eb-mini__nombre { font-family: var(--font-display); font-weight: 500; font-size: 20px; line-height: 24px; }
.eb-mini__fila { margin-top: auto; display: flex; justify-content: space-between; align-items: flex-end; gap: 8px; font-size: 13px; line-height: 18px; }
.eb-mini__meta { color: var(--ink-muted); min-width: 0; }
.eb-mini__desc { font-size: 14px; line-height: 19px; color: var(--ink-muted); margin-bottom: 6px; }
.eb-sec__intro { margin: 8px 0 0; max-width: 60ch; color: var(--ink-muted); }

/* Bandas oscuras */
.eb-banda { background: var(--bosque); color: var(--on-bosque); border-radius: var(--r-lg); padding: 56px; }
.eb .eb-banda a:not(.eb-btn) { color: var(--lima); }

/* Mapa */
.eb-mapa { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 40px; align-items: center; }
.eb-mapa__txt { display: flex; flex-direction: column; gap: 16px; }
.eb-mapa__zonas { margin: 0; font-size: 15px; line-height: 22px; }
.eb-mapa__zonas a { font-weight: 600; }
.eb-mapa__caja { position: relative; width: 100%; aspect-ratio: 1 / 1; border-radius: var(--r-md); overflow: hidden; background: #f1f1ec; }
.eb-mapa__svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.eb-pin { position: absolute; transform: translate(-50%, -100%); z-index: 2; display: inline-flex; align-items: center; gap: 4px; min-width: 30px; min-height: 30px; padding: 0 8px; border-radius: 999px; border: 2px solid #fff; background: var(--verde); color: var(--on-bosque); font: 600 12px/1 var(--font-sans); box-shadow: 0 1px 4px rgba(20, 38, 28, 0.35); cursor: pointer; }
.eb-pin__punto { width: 10px; height: 10px; border-radius: 50%; background: #fff; }
.eb-pin__txt { display: none; white-space: nowrap; }
.eb-pin.is-on { z-index: 3; background: var(--bosque); padding: 0 10px 0 6px; }
.eb-pin.is-on .eb-pin__punto { background: var(--lima); }
.eb-pin.is-on .eb-pin__txt { display: inline; }
.eb .eb-mapa__ficha { position: absolute; left: 12px; bottom: 28px; width: 220px; background: var(--surface); color: var(--ink); border-radius: var(--r-md); overflow: hidden; box-shadow: 0 2px 10px rgba(20, 38, 28, 0.18); text-decoration: none; z-index: 4; }
.eb-mapa__ficha img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.eb-mapa__ficha-txt { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 2px; }
.eb-mapa__ficha-nombre { font-family: var(--font-display); font-weight: 500; font-size: 18px; line-height: 22px; }
.eb-mapa__ficha-meta { font-size: 13px; color: var(--ink-muted); }
.eb-mapa__ficha-cta { margin-top: 6px; font-size: 14px; font-weight: 600; color: var(--verde); }
.eb .eb-mapa__ver { position: absolute; right: 12px; bottom: 28px; z-index: 4; border-radius: 999px; color: var(--on-lima); box-shadow: 0 2px 8px rgba(20, 38, 28, 0.25); }
.eb-mapa__real { position: absolute; inset: 0; z-index: 1; background: #e8ebe4; }
.eb-mapa__caja.is-real .eb-mapa__svg, .eb-mapa__caja.is-real > .eb-pin, .eb-mapa__caja.is-real .eb-mapa__activar { display: none; }
.eb-mapa__activar { position: absolute; top: 12px; left: 12px; z-index: 4; min-height: 40px; padding: 0 16px; border: 0; border-radius: 999px; background: var(--surface); color: var(--ink); font: 600 14px/1 var(--font-sans); box-shadow: 0 1px 4px rgba(20, 38, 28, 0.3); cursor: pointer; }
.eb-mapa__real .eb-pin { position: absolute; }
.eb-mapa__real .leaflet-div-icon { background: none; border: 0; }
.eb-mapa__nota { position: absolute; left: 10px; bottom: 6px; z-index: 2; font-size: 12px; color: #5f6368; }
.eb-mapa__caja.is-real .eb-mapa__nota { display: none; }

/* Planes */
.eb .eb-plan { display: flex; gap: 14px; align-items: center; padding: 12px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); color: var(--ink); text-decoration: none; }
.eb .eb-plan:hover { border-color: var(--border-strong); color: var(--ink); }
.eb-plan__foto { width: 72px; height: 72px; border-radius: var(--r-sm); object-fit: cover; flex: 0 0 auto; }
.eb-plan__tit { display: block; margin: 0; font-family: var(--font-display); font-weight: 500; font-size: 20px; line-height: 24px; }
.eb-plan__txt { display: block; font-size: 14px; line-height: 20px; color: var(--ink-muted); }

/* Opiniones */
.eb-papel { background: var(--papel); border-radius: var(--r-lg); padding: 48px; }
.eb-papel .eb-sec__cab { margin-bottom: 12px; }
.eb-opiniones { list-style: none; margin: 12px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.eb-op { margin: 0; background: var(--surface); border-radius: var(--r-md); padding: 24px; display: flex; flex-direction: column; gap: 10px; height: 100%; }
.eb-op blockquote { margin: 0; font-size: 17px; line-height: 26px; }
.eb-op figcaption { margin-top: auto; font-size: 14px; color: var(--ink-muted); }
.eb-op__nota { font-family: var(--font-display); font-weight: 500; font-size: 18px; }
.eb-carrusel__ctrl { display: flex; gap: 10px; align-items: center; }

/* Propietarios */
.eb-prop { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; padding: 40px 48px; }
.eb-prop__txt { display: flex; flex-direction: column; gap: 10px; flex: 1 1 520px; min-width: 0; }

/* Guía, preguntas y tabla */
.eb-guia { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.eb-prosa { display: flex; flex-direction: column; gap: 16px; max-width: 68ch; }
.eb-prosa p { margin: 0; font-size: 17px; line-height: 28px; }
.eb-h4 { margin: 8px 0 0; font-family: var(--font-display); font-weight: 500; font-size: 22px; line-height: 26px; }
.eb-guia__faq { display: flex; flex-direction: column; gap: 12px; }
.eb-faq { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); padding: 14px 18px; }
.eb-faq summary { cursor: pointer; font-weight: 600; font-size: 16px; line-height: 24px; }
.eb-faq p { margin: 8px 0 0; font-size: 15px; line-height: 24px; color: var(--ink-muted); }
.eb-tabla__tit { margin: 64px 0 16px; }
.eb-tabla { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface); }
.eb-tabla table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 20px; min-width: 860px; }
.eb-tabla thead tr { background: var(--surface-alt); text-align: left; }
.eb-tabla th, .eb-tabla td { padding: 10px 16px; text-align: left; vertical-align: top; }
.eb-tabla thead th { padding: 12px 16px; }
.eb-tabla tbody tr { border-top: 1px solid var(--border); }
.eb-tabla tbody th { font-weight: 600; }

/* Más que dormir y guías */
.eb-extra { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); padding: 20px; display: flex; flex-direction: column; gap: 8px; }
.eb-extra { overflow: hidden; }
.eb-extra__foto { display: block; width: calc(100% + 40px); max-width: none; height: 170px; margin: -20px -20px 6px; object-fit: cover; }
.eb-extra__tit { margin: 0; font-family: var(--font-display); font-weight: 500; font-size: 22px; line-height: 26px; }
.eb-extra__txt { margin: 0; font-size: 15px; line-height: 23px; color: var(--ink-muted); }
.eb-extra__links { margin: auto 0 0; display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 14px; font-weight: 600; }
.eb-guias { margin-top: 40px; display: flex; flex-direction: column; gap: 10px; }
.eb-guias__txt { margin: 0; font-size: 15px; color: var(--ink-muted); }
.eb-guias__lista { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.eb .eb-guias__lista a { text-decoration: none; color: var(--ink); }
.eb .eb-guias__lista a:hover { border-color: var(--verde); color: var(--verde); }
.eb-mini__nombre, .eb-tarjeta__nombre, .eb-plan__tit { margin: 0; }
.eb-faq summary h3 { display: inline; margin: 0; font: inherit; }

/* Pie */
.eb-pie { margin-top: 96px; background: var(--bosque); color: var(--on-bosque-muted); }
.eb-pie__in { max-width: var(--wrap); margin: 0 auto; padding: 40px var(--gutter) 24px; display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: 32px; font-size: 14px; line-height: 22px; }
.eb-pie p, .eb-pie ul { margin: 0; padding: 0; list-style: none; }
.eb-pie__col { display: flex; flex-direction: column; gap: 6px; }
.eb-pie__col ul { display: flex; flex-direction: column; gap: 6px; }
.eb-pie__tit { margin: 0 0 4px; font-size: 14px; font-weight: 600; color: var(--on-bosque); }
.eb-pie__nombre { font-family: var(--font-display); font-weight: 500; font-size: 22px; line-height: 28px; color: var(--on-bosque); }
.eb .eb-pie a { color: var(--on-bosque-muted); text-decoration: none; }
.eb .eb-pie a:hover { color: var(--on-bosque); text-decoration: underline; }
.eb .eb-pie b { color: var(--on-bosque); }
.eb-pie__legal { max-width: var(--wrap); margin: 0 auto; padding: 16px var(--gutter) 32px; border-top: 1px solid rgba(244, 241, 232, 0.15); font-size: 13px; }

/* Página de pueblo */
.eb-migas ol { list-style: none; margin: 0; padding: 20px 0 0; display: flex; flex-wrap: wrap; gap: 6px; font-size: 14px; color: var(--ink-muted); }
.eb-migas li + li::before { content: "›"; margin-right: 6px; }
.eb-pue__cab { padding: 20px 0 28px; display: flex; flex-direction: column; gap: 14px; max-width: 900px; }
.eb-pue__h1 { margin: 0; font-family: var(--font-display); font-weight: 500; font-size: 52px; line-height: 56px; text-wrap: balance; }
.eb-pue__lede { margin: 0; font-size: 18px; line-height: 28px; color: var(--ink-muted); max-width: 70ch; }
.eb-datos { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.eb-datos li { display: inline-block; padding: 7px 12px; line-height: 20px; border-radius: 999px; background: var(--verde-tint); font-size: 14px; }
.eb-pue__acciones { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 4px; }
.eb .eb-btn--borde { background: var(--surface); color: var(--ink); border: 1.5px solid var(--border-strong); }
.eb .eb-btn--borde:hover { border-color: var(--ink); color: var(--ink); }
.eb-btn--s { min-height: 44px; padding: 0 18px; font-size: 15px; }
.eb-mosaico { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 220px 220px; gap: 8px; border-radius: var(--r-lg); overflow: hidden; }
.eb-mosaico__foto { width: 100%; height: 100%; object-fit: cover; display: block; }
.eb-mosaico__foto--grande { grid-row: 1 / 3; }
.eb-casas { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 20px; }
.eb-casa { display: grid; grid-template-columns: 360px minmax(0, 1fr); background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); overflow: hidden; }
.eb-casa__media { position: relative; min-height: 260px; overflow: hidden; background: var(--surface-alt); }
.eb-casa__foto-a { position: absolute; inset: 0; display: block; }
.eb-casa__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; opacity: 0; transition: opacity .8s ease-in-out; }
.eb-casa__foto.is-on { opacity: 1; }
.eb-galeria__btn { position: absolute; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border-radius: 50%; border: 0; background: rgba(255,255,255,.92); color: var(--ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; opacity: 0; transition: opacity .2s; }
.eb-galeria__btn svg { width: 18px; height: 18px; }
.eb-galeria__btn--prev { left: 10px; }
.eb-galeria__btn--next { right: 10px; }
.eb-casa__media:hover .eb-galeria__btn, .eb-galeria__btn:focus-visible { opacity: 1; }
.eb-galeria__n { position: absolute; right: 10px; bottom: 10px; padding: 2px 8px; border-radius: 999px; background: rgba(20,38,28,.7); color: #fff; font-size: 12px; }
.eb-casa__txt { padding: 22px 24px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.eb-casa__nombre { margin: 0; font-family: var(--font-display); font-weight: 500; font-size: 28px; line-height: 32px; }
.eb .eb-casa__nombre a { color: var(--ink); text-decoration: none; }
.eb .eb-casa__nombre a:hover { color: var(--verde); }
.eb-casa__datos { margin: 0; font-size: 15px; color: var(--ink-muted); }
.eb-casa__datos b { color: var(--ink); }
.eb-casa__desc { margin: 0; font-size: 16px; line-height: 25px; }
.eb-casa__camas { margin: 0; font-size: 14px; line-height: 21px; color: var(--ink-muted); }
.eb-casa__camas span { font-weight: 600; color: var(--ink); }
.eb-casa__extras { list-style: none; margin: 2px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.eb-casa__extras li { padding: 4px 10px; border-radius: 999px; border: 1px solid var(--border); font-size: 13px; }
.eb-casa__acciones { margin-top: auto; padding-top: 8px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.eb-casa__cal { grid-column: 1 / -1; padding: 24px; border-top: 1px solid var(--border); background: var(--surface-alt); }
.eb-casa__cal[hidden] { display: none; }
.eb-casa.is-open { grid-template-columns: 240px minmax(0, 1fr) 380px; }
.eb-casa.is-open .eb-casa__cal { grid-column: auto; padding: 14px; border-top: 0; border-left: 1px solid var(--border); }
.eb-casa.is-open .eb-casa__cal .elbulin-booking { width: 100%; margin: 0; box-shadow: none; }
.eb-casa.is-open .eb-casa__txt { padding: 18px 20px; gap: 6px; }
.eb-casa.is-open .eb-casa__nombre { font-size: 24px; line-height: 28px; }
.eb-casa.is-open .eb-casa__desc { font-size: 15px; line-height: 22px; }
.eb-casa.is-open .eb-casa__acciones { flex-direction: column; align-items: flex-start; gap: 10px; }
.eb-grupo { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; }
.eb-grupo__txt { flex: 1 1 520px; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.eb-grupo__txt p { margin: 0; }
.eb-grupo__acciones { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.eb .eb-grupo__wa { color: var(--lima); font-weight: 600; }
.eb-comun { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.eb-comun li { position: relative; padding: 14px 16px 14px 42px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); font-size: 15px; line-height: 22px; }
.eb-comun li::before { content: "✓"; position: absolute; left: 16px; top: 14px; color: var(--verde); font-weight: 600; }
.eb-ver { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.eb-ver li { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); padding: 16px 18px; }
.eb-ver__tit { margin: 0 0 4px; font-family: var(--font-display); font-weight: 500; font-size: 20px; line-height: 24px; }
.eb-ver p { margin: 0; font-size: 15px; line-height: 23px; color: var(--ink-muted); }
.eb-rutas { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.eb-ruta { background: var(--papel); border-radius: var(--r-md); padding: 20px; display: flex; flex-direction: column; gap: 8px; }
.eb-ruta__tit { margin: 0; font-family: var(--font-display); font-weight: 500; font-size: 22px; line-height: 26px; }
.eb-ruta__datos { margin: 0; display: flex; flex-wrap: wrap; gap: 6px; font-size: 13px; font-weight: 600; }
.eb-ruta__datos span { padding: 3px 10px; border-radius: 999px; background: var(--surface); }
.eb-ruta__nivel--facil { color: var(--verde); }
.eb-ruta__nivel--exigente { color: #9a3b1e; }
.eb-ruta__txt { margin: 0; font-size: 15px; line-height: 23px; }
.eb-planes-t { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.eb-planes-t div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--border); }
.eb-planes-t dt { font-weight: 600; }
.eb-planes-t dd { margin: 0; color: var(--ink-muted); }
.eb-pue__p { margin: 8px 0 0; font-size: 15px; line-height: 24px; color: var(--ink-muted); }
.eb-otros .eb-chip-btn { text-decoration: none; }

/* Tarjetas de planes (portada y zonas) */
.eb-planes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.eb .eb-planc { display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); overflow: hidden; color: var(--ink); text-decoration: none; }
.eb .eb-planc:hover { border-color: var(--border-strong); color: var(--ink); }
.eb-planc__foto { display: block; width: 100%; height: 220px; object-fit: cover; }
.eb-planc__cuerpo { display: flex; flex-direction: column; gap: 6px; flex: 1 1 auto; padding: 16px 18px 18px; }
.eb-planc__tit { margin: 0; font-family: var(--font-display); font-weight: 500; font-size: 22px; line-height: 26px; }
.eb-planc__txt { font-size: 15px; line-height: 23px; color: var(--ink-muted); }
.eb-planc__cta { margin-top: auto; padding-top: 6px; }
@media (max-width: 1080px) { .eb-planes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .eb-planes { gap: 10px; } .eb .eb-planc { border-radius: var(--r-md); } .eb-planc__foto { height: 120px; } .eb-planc__cuerpo { padding: 10px 10px 12px; gap: 4px; } .eb-planc__tit { font-size: 17px; line-height: 21px; } .eb-planc__txt { font-size: 13px; line-height: 18px; } .eb-planc__cta { font-size: 13px; } }

/* Guía del pueblo */
.eb-mosaico--guia .eb-mosaico__foto:nth-child(2) { grid-column: 2 / 4; }
.eb-indice { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 0; }
.eb-indice a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border-radius: 999px; background: var(--surface); border: 1px solid var(--border); color: var(--ink); font-size: 14px; font-weight: 600; text-decoration: none; }
.eb-indice a:hover { border-color: var(--border-strong); }
.eb-gui section[id], .eb-gui [id] { scroll-margin-top: 90px; }
.eb-gui .eb-zona__hacer { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.eb-gui__tag { margin: 0 0 4px; font-size: 12px; line-height: 16px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--verde); }
.eb-gui__fiestas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.eb-gui__salida { margin: 0; font-size: 14px; font-weight: 600; color: var(--ink-muted); }
.eb-gui__aviso { margin: 16px 0 0; padding: 14px 18px; border-radius: var(--r-md); background: var(--verde-tint); font-size: 15px; line-height: 23px; }
.eb-gui__comer { list-style: none; margin: 12px 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.eb-gui__comer li { padding-bottom: 10px; border-bottom: 1px solid var(--border); }
.eb-gui__rest { margin: 0; font-size: 16px; line-height: 22px; font-weight: 600; font-family: var(--font-sans); }
.eb-gui__comer p { margin: 2px 0 0; font-size: 14px; line-height: 21px; color: var(--ink-muted); }

/* Página por tipo de escapada */
.eb-tipo__intro { max-width: 820px; }
.eb-pasos { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; counter-reset: paso; }
.eb-pasos li { position: relative; padding: 16px 18px 16px 64px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); counter-increment: paso; }
.eb-pasos li::before { content: counter(paso); position: absolute; left: 18px; top: 16px; width: 30px; height: 30px; border-radius: 50%; background: var(--lima); color: var(--on-lima); font-weight: 700; display: flex; align-items: center; justify-content: center; }
.eb-pasos p { margin: 0; font-size: 15px; line-height: 23px; color: var(--ink-muted); }
.eb-tipo__planes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Fichas: al pasar por encima suben un poco y la foto hace zoom (como la portada anterior) */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	.eb .eb-tarjeta, .eb .eb-planc, .eb .eb-mini, .eb .eb-plan { transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.2s ease; }
	.eb .eb-tarjeta:hover, .eb .eb-planc:hover, .eb .eb-mini:hover, .eb .eb-plan:hover { transform: translateY(-6px); box-shadow: 0 18px 42px rgba(20, 38, 28, 0.12); }
	.eb-tarjeta__foto, .eb-planc__foto { transition: transform 0.5s ease; }
	.eb .eb-tarjeta:hover .eb-tarjeta__foto, .eb .eb-planc:hover .eb-planc__foto { transform: scale(1.05); }
	.eb-tarjeta__cuerpo, .eb-planc__cuerpo { position: relative; z-index: 1; background: var(--surface); }
}

/* Página de zona */
.eb-zona__busca { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 20px; box-shadow: 0 10px 30px rgba(20, 38, 28, 0.08); }
@media (min-width: 761px) { .eb-zona__busca { background: none; border: 0; box-shadow: none; padding: 0; max-width: 920px; } }
.eb-zona__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
.eb-zona__lista li[hidden] { display: none; }
.eb-zona__lista .eb-tarjeta { height: 100%; }
.eb-zona__desc { margin: 4px 0 0; font-size: 15px; line-height: 22px; color: var(--ink); }
.eb-zona__lista .eb-casa__extras { margin-top: 6px; }
.eb-zona__lista .eb-tarjeta__accion { margin-top: auto; padding-top: 8px; }
.eb-zona__lista .eb-tarjeta__cuerpo { flex: 1 1 auto; }
.eb-zona__vacio { margin: 16px 0 0; }
.eb-ver__tit a { color: var(--ink); text-decoration: none; }
.eb-zona__lista > li { display: flex; flex-direction: column; gap: 8px; }
.eb-zona__casas { margin: 0; padding: 0 4px; font-size: 14px; line-height: 21px; color: var(--ink-muted); }
.eb-zona__casas span { font-weight: 600; color: var(--ink); }
.eb-zona__hacer { list-style: none; margin: 20px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.eb-zona__hacer li { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); padding: 16px 18px; }
.eb-zona__hacer p { margin: 0; font-size: 15px; line-height: 23px; color: var(--ink-muted); }
.eb-zona__hacer-foto { display: block; width: calc(100% + 36px); max-width: none; margin: -16px -18px 14px; height: 170px; object-fit: cover; border-radius: var(--r-md) var(--r-md) 0 0; }

/* Ficha de casa */
.eb-pildora { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 8px; border: 1.5px solid var(--border-strong); background: var(--surface); color: var(--ink); font: 600 14px/1 var(--font-sans); cursor: pointer; }
.eb-pildora:hover { border-color: var(--ink); }
.eb-ficha__fotos { position: relative; }
.eb-ficha__foto-btn { display: block; padding: 0; border: 0; background: var(--surface-alt); cursor: zoom-in; min-width: 0; min-height: 0; overflow: hidden; }
.eb-ficha__foto-btn img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.eb-ficha__foto-btn:hover img { transform: scale(1.03); }
.eb-ficha__foto-btn img.eb-mosaico__foto { aspect-ratio: auto; height: 100%; border-radius: 0; }
.eb-ficha__fotos-acc { position: absolute; right: 14px; bottom: 14px; display: flex; gap: 8px; flex-wrap: wrap; }
.eb-ficha__cuerpo { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 48px; align-items: start; margin-top: 40px; }
.eb-ficha__info { display: flex; flex-direction: column; gap: 48px; min-width: 0; }
.eb-ficha__sec { display: flex; flex-direction: column; gap: 14px; }
.eb-ficha__sec.eb-prosa { max-width: none; }
.eb-ficha__lado { position: sticky; top: 20px; }
.admin-bar .eb-ficha__lado { top: 52px; }
.eb-ficha__caja { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 16px; display: flex; flex-direction: column; gap: 12px; box-shadow: 0 10px 30px rgba(20, 38, 28, 0.08); }
.eb-ficha__caja-tit { margin: 0; font-family: var(--font-display); font-weight: 500; font-size: 22px; line-height: 26px; }
.eb-ficha__cal { min-height: 470px; }
.eb-ficha__cal .elbulin-booking { width: 100%; margin: 0; box-shadow: none; }
.eb-ficha__cal .elbulin-booking .eb-day { aspect-ratio: auto; height: 36px !important; }
.eb-ficha__wa { width: 100%; }
.eb-ficha__caja-nota { margin: 0; font-size: 13px; line-height: 19px; color: var(--ink-muted); }
.eb-camas { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.eb-camas li { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); padding: 14px 16px; }
.eb-camas__tit { margin: 0 0 4px; font-size: 15px; font-weight: 600; }
.eb-camas p { margin: 0; font-size: 15px; line-height: 22px; color: var(--ink-muted); }
.eb-equipo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 32px; }
.eb-equipo__tit { margin: 0 0 6px; font-family: var(--font-display); font-weight: 500; font-size: 20px; line-height: 24px; }
.eb-equipo ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 4px; }
.eb-equipo li { position: relative; padding-left: 22px; font-size: 15px; line-height: 22px; }
.eb-equipo li::before { content: "✓"; position: absolute; left: 0; color: var(--verde); font-weight: 600; }
.eb-ficha__dir { margin: 0; font-weight: 600; }
.eb-ficha__p { margin: 0; font-size: 16px; line-height: 26px; }
.eb-rutas--ficha { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.eb-ficha__sec .eb-h4 { margin-top: 6px; }
.eb-ficha__mapa { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; padding: 16px; border-radius: var(--r-md); background: var(--surface-alt); }
.eb-ficha__mapa.is-on { padding: 0; overflow: hidden; display: block; }
.eb-ficha__mapa.is-on iframe { display: block; width: 100%; height: 360px; border: 0; }
.eb-ficha__mapa.is-on .eb-enlace { display: inline-block; margin: 10px 14px; }
.eb-notas { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 32px; }
.eb-notas li { display: grid; grid-template-columns: 110px minmax(0, 1fr) 44px; gap: 10px; align-items: center; font-size: 14px; }
.eb-notas__barra { height: 6px; border-radius: 999px; background: var(--surface-alt); overflow: hidden; }
.eb-notas__barra i { display: block; height: 100%; background: var(--verde); }
.eb-notas b { text-align: right; font-variant-numeric: tabular-nums; }
.eb-opiniones--ficha { grid-template-columns: 1fr; }
.eb-opiniones--ficha .eb-op { background: var(--papel); }
.eb-ficha__barra { display: none; }
.eb-visor { width: min(1100px, 96vw); max-height: 94vh; padding: 0; border: 0; border-radius: var(--r-md); background: #0e1612; color: #fff; overflow: hidden; }
.eb-visor::backdrop { background: rgba(10, 16, 12, 0.85); }
.eb-visor__fotos figure { margin: 0; }
.eb-visor__img { display: block; width: 100%; max-height: 86vh; height: auto; object-fit: contain; }
.eb-visor__cerrar { position: absolute; top: 8px; right: 10px; z-index: 2; width: 40px; height: 40px; border-radius: 50%; border: 0; background: rgba(255,255,255,.9); color: var(--ink); font-size: 26px; line-height: 1; cursor: pointer; }
.eb-visor__prev, .eb-visor__next { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; }
.eb-visor__prev { left: 10px; }
.eb-visor__next { right: 10px; }
.eb-visor__n { position: absolute; left: 14px; bottom: 6px; margin: 0; font-size: 13px; color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,.6); }
.eb-visor--tour { height: 86vh; }
.eb-visor__tour, .eb-visor__tour iframe { width: 100%; height: 100%; border: 0; display: block; }
.eb-visor__tour .bt-tour { width: 100%; height: 100%; max-height: none; aspect-ratio: auto; margin: 0; border-radius: 0; }

/* Página de pueblo · ordenador: el calendario de cada casa siempre a la vista, a la derecha */
@media (min-width: 1081px) {
	.eb-casa, .eb-casa.is-open { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 350px; }
	.eb-casa__cal, .eb-casa__cal[hidden] { display: block; grid-column: auto; padding: 12px; border-top: 0; border-left: 1px solid var(--border); min-height: 380px; }
	.eb-casa__cal .elbulin-booking { padding: 10px 12px; }
	.eb-casa__cal .elbulin-booking .eb-day { aspect-ratio: auto; height: 34px !important; }
	.eb-casa__cal .elbulin-booking .eb-weekdays, .eb-casa__cal .elbulin-booking .eb-days { gap: 2px; }
	.eb-casa__txt { justify-content: center; }
	.eb-casa__acciones { margin-top: 6px; padding-top: 0; }
	.eb-casa__cal .elbulin-booking { width: 100%; margin: 0; box-shadow: none; }
	.eb-casa__txt { padding: 18px 20px; gap: 6px; }
	.eb-casa__nombre { font-size: 24px; line-height: 28px; }
	.eb-casa__desc { font-size: 15px; line-height: 22px; }
	.eb-casa [data-eb-cal] { display: none; }
}
.elbulin-booking .eb-guests .eb-w-tit { margin: 0; font-size: .9rem; font-weight: 700; }

/* Tableta */
@media (max-width: 1080px) {
	.eb-cab__wa span { display: none; }
	.eb-mapa { grid-template-columns: 1fr; }
	.eb-opiniones { grid-template-columns: 1fr; }
	.eb-pie__in { grid-template-columns: 1fr 1fr; }
	.eb-ficha__cuerpo { grid-template-columns: 1fr; }
	.eb-ficha__lado { position: static; }
	.eb-ficha__caja { max-width: 460px; }
	.eb-rutas { grid-template-columns: 1fr 1fr; }
	.eb-casa { grid-template-columns: 280px minmax(0, 1fr); }
	.eb-casa.is-open { grid-template-columns: 280px minmax(0, 1fr); }
	.eb-casa.is-open .eb-casa__cal { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--border); }
	.eb-casa.is-open .eb-casa__cal .elbulin-booking { max-width: 380px; margin: 0 auto; }
}

/* Móvil */
@media (max-width: 760px) {
	:root { --bg: #ebe6dc; }
	.eb-mosaico--guia { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.eb-mosaico--guia .eb-mosaico__foto:nth-child(2) { grid-column: auto; }
	.eb-gui__fiestas { grid-template-columns: 1fr; }
	.eb-tipo__planes { grid-template-columns: 1fr; }
	.eb-indice { flex-wrap: nowrap; overflow-x: auto; margin-left: -16px; margin-right: -16px; padding: 0 16px 4px; }
	.eb-indice a { flex: 0 0 auto; }
	.eb-tarjeta, .eb-planc, .eb-zona__hacer li, .eb-ver li, .eb-casa, .eb-faq { box-shadow: 0 1px 2px rgba(20, 38, 28, 0.06), 0 4px 14px rgba(20, 38, 28, 0.06); }
	:root { --gutter: 16px; }
	.eb-cab__in { gap: 10px; flex-wrap: wrap; padding-top: 10px; padding-bottom: 10px; }
	.eb-cab__logo-img { height: 38px; }
	.eb-cab__menu-btn { display: inline-flex; margin-left: auto; order: 2; }
	.eb-cab__menu-btn span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.eb .eb-cab__wa { order: 1; margin-left: 0; width: 44px; height: 44px; justify-content: center; border-radius: 50%; background: #25d366; color: #fff; }
	.eb .eb-cab__wa:hover { color: #fff; background: #1ebe5b; }
	.eb-cab__wa svg { width: 24px; height: 24px; }
	.eb-cab__reservar--esc { display: none; }
	.eb-cab__reservar--movil { display: inline-flex; order: 1; margin-left: auto; min-height: 44px; padding-left: 16px; padding-right: 16px; }
	.eb-cab__nav { order: 3; flex-basis: 100%; display: none; }
	.eb-cab__nav.is-open { display: block; }
	.eb-cab__lista { flex-direction: column; gap: 0; padding: 8px 0; }
	.eb .eb-cab__lista a { display: flex; align-items: center; min-height: 44px; font-size: 16px; }

	.eb-hero__fotos { height: 300px; }
	.eb-hero__ctrl { top: 12px; right: 12px; gap: 6px; }
	.eb-hero__nombre { display: none; }
	.eb-hero__ctrl .eb-redondo { width: 40px; height: 40px; }
	.eb-hero__puntos { top: auto; bottom: 79px; left: 9px; }
	.eb-hero__panel-wrap { margin-top: -64px; }
	.eb-hero__panel { padding: 22px 18px 18px; gap: 14px; border-radius: 18px; }
	.eb-hero__h1 { font-size: 34px; line-height: 38px; }
	.eb-hero--pag .eb-hero__fotos { height: 220px; }
	.eb-hero--pag .eb-hero__panel-wrap { margin-top: -48px; }
	.eb-hero--pag .eb-hero__h1 { font-size: 30px; line-height: 34px; }
	.eb-filtros { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.eb-filtros__et { float: none; display: block; width: 100%; margin: 0 0 2px; }
	.eb-chip, .eb-chip span { width: 100%; justify-content: center; }

	.eb-sec { padding-top: 56px; }
	.eb-sec--junta { padding-top: 20px; }
	.eb-sec--pegada { padding-top: 0; }
	.eb-h2 { font-size: 30px; line-height: 34px; }
	.eb-h2--m { font-size: 28px; line-height: 32px; }
	.eb-h3 { font-size: 24px; line-height: 28px; }
	.eb-rejilla { gap: 16px; }

	#libres .eb-rejilla { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 78%; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 -16px; padding: 0 16px 8px; scrollbar-width: none; }
	#libres .eb-rejilla::-webkit-scrollbar { display: none; }
	#libres .eb-tarjeta { scroll-snap-align: start; }
	.eb-lista-casas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.eb .eb-mini { flex-direction: column; gap: 8px; padding: 8px; }
	.eb-mini__foto { width: 100%; height: auto; aspect-ratio: 1 / 1; }
	.eb-mini__nombre { font-size: 17px; line-height: 21px; }
	.eb-mini__fila { flex-direction: row; font-size: 12px; line-height: 16px; }
	.eb-mini__desc { font-size: 13px; line-height: 17px; }

	.eb-banda { padding: 24px 20px; }
	.eb-mapa { gap: 20px; }
	.eb .eb-mapa__ficha { display: none; }
	.eb-pin { min-width: 26px; min-height: 26px; }
	.eb .eb-mapa__ver { left: 12px; right: 12px; bottom: 26px; }

	.eb-papel { padding: 24px 20px; }
	.eb-prop { padding: 24px 20px; }
	.eb-prop .eb-btn { width: 100%; }
	.eb-guia { grid-template-columns: 1fr; gap: 32px; }
	.eb-tabla__tit { margin-top: 40px; }
	.eb-tabla { overflow: visible; border: 0; background: none; }
	.eb-tabla table, .eb-tabla tbody { display: block; min-width: 0; }
	.eb-tabla thead { display: none; }
	.eb-tabla tbody tr { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 12px; padding: 12px 14px; margin-bottom: 10px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); }
	.eb-tabla tbody th { grid-column: 1 / -1; padding: 0 0 4px; font-size: 16px; }
	.eb-tabla tbody td { padding: 0; font-size: 13px; line-height: 18px; }
	.eb-tabla tbody td::before { content: attr(data-et) ": "; color: var(--ink-muted); }
	.eb-tabla tbody td[data-et="Pueblo"], .eb-tabla tbody td[data-et="Alojamientos"] { grid-column: 1 / -1; }
	.eb-pie__in { grid-template-columns: 1fr; gap: 24px; }
	.eb-pie { margin-top: 64px; }
	.eb-pue__h1 { font-size: 34px; line-height: 38px; }
	.eb-pue__lede { font-size: 16px; line-height: 25px; }
	.eb-pue__acciones .eb-btn { flex: 1 1 auto; }
	.eb-mosaico { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: none; gap: 6px; border-radius: var(--r-md); }
	.eb-mosaico__foto { aspect-ratio: 1 / 1; height: auto; }
	.eb-mosaico__foto--grande { grid-column: 1 / -1; grid-row: auto; aspect-ratio: 16 / 9; }
	.eb-casa { grid-template-columns: 1fr; }
	.eb-casa__media { min-height: 0; aspect-ratio: 16 / 10; }
	.eb-galeria__btn { opacity: 1; }
	.eb-casa__txt { padding: 16px; }
	.eb-casa__nombre { font-size: 24px; line-height: 28px; }
	.eb-casa__acciones .eb-btn { width: 100%; }
	.eb-casa__cal { padding: 12px 0; }
	.eb-zona__busca { padding: 12px; }
	.eb-zona__lista { grid-template-columns: 1fr 1fr; gap: 10px; }
	.eb-zona__lista .eb-tarjeta { border-radius: var(--r-md); }
	.eb-zona__lista .eb-tarjeta__foto { aspect-ratio: 4 / 3; height: auto; }
	.eb-zona__lista .eb-tarjeta__cuerpo { padding: 10px; gap: 4px; }
	.eb-zona__lista .eb-tarjeta__fila { flex-wrap: wrap; gap: 2px 6px; }
	.eb-zona__lista .eb-tarjeta__nombre { font-size: 17px; line-height: 21px; }
	.eb-zona__lista .eb-nota { font-size: 13px; }
	.eb-zona__lista .eb-mini__pueblo, .eb-zona__lista .eb-tarjeta__meta { font-size: 12px; line-height: 16px; }
	.eb-zona__lista .eb-zona__desc, .eb-zona__lista .eb-casa__extras { display: none; }
	.eb-zona__lista .eb-tarjeta__accion { font-size: 13px; line-height: 17px; padding-top: 4px; }
	.eb-zona__lista .eb-zona__casas { font-size: 12px; line-height: 17px; padding: 0 2px; }
	.eb-ficha__fotos-acc { position: static; grid-column: 1 / -1; margin-top: 4px; }
	.eb-ficha__foto-btn { aspect-ratio: 1 / 1; }
	.eb-ficha__foto-btn.eb-mosaico__foto--grande { aspect-ratio: 16 / 10; }
	.eb-ficha__cuerpo { margin-top: 24px; gap: 32px; }
	.eb-ficha__info { gap: 36px; }
	.eb-equipo, .eb-notas { grid-template-columns: 1fr; }
	.eb-ficha__caja { max-width: none; padding: 12px; }
	.eb-ficha__barra { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; background: var(--surface); border-top: 1px solid var(--border); box-shadow: 0 -6px 20px rgba(20,38,28,.1); font-size: 14px; line-height: 18px; transition: transform .2s; }
	.eb-ficha__barra.is-oculta { transform: translateY(110%); }
	.eb-ficha { padding-bottom: 70px; }
	.eb-casa.is-open { grid-template-columns: 1fr; }
	.eb-casa.is-open .eb-casa__cal { padding: 12px 0; }
	.eb-rutas { grid-template-columns: 1fr; }
	.eb-planes-t div { grid-template-columns: 1fr; gap: 2px; }
	.eb-grupo__acciones, .eb-grupo__acciones .eb-btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.eb-hero__foto { transition: none; transform: none !important; }
	.eb-hero__punto { transition: none; }
	.eb-casa__foto { transition: none; }
}

/* Ficha: fotos del pueblo en «Qué ver» */
.eb-mosaico--ficha { grid-template-rows: 150px 150px; margin: 4px 0 18px; }
@media (max-width: 760px) { .eb-mosaico--ficha { grid-template-rows: none; } }

/* Ficha: «La casa» con más ritmo */
#la-casa { gap: 12px; }
#la-casa p { font-size: 16px; line-height: 26px; color: var(--ink-muted); max-width: 66ch; }
#la-casa p.eb-ficha__entrada { font-size: 20px; line-height: 31px; color: var(--ink); max-width: none; margin-bottom: 6px; }
.eb-ficha__ladillo { margin: 14px 0 0; font-family: var(--font-display); font-weight: 500; font-size: 22px; line-height: 26px; color: var(--ink); }
.eb-esencial { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)); gap: 14px 8px; }
.eb-esencial li { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; font-size: 14px; line-height: 18px; color: var(--ink); }
.eb-esencial svg { color: var(--verde); }
.eb-ficha__destacado { margin: 8px 0; padding: 16px 20px; background: var(--verde-tint); border-left: 4px solid var(--lima); border-radius: 0 var(--r-md) var(--r-md) 0; }
#la-casa .eb-ficha__destacado p { margin: 0; font-size: 18px; line-height: 27px; color: var(--bosque); font-weight: 500; }
.eb-ficha__figura { margin: 10px 0; }
.eb-ficha__figura img { display: block; width: 100%; height: auto; max-height: 420px; object-fit: cover; border-radius: var(--r-md); }
.eb-ficha__figura figcaption { margin-top: 6px; font-size: 13px; line-height: 18px; color: var(--ink-muted); }
@media (max-width: 760px) {
	#la-casa p.eb-ficha__entrada { font-size: 18px; line-height: 28px; }
	.eb-esencial { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.eb-ficha__figura img { max-height: 300px; }
}

.eb-esencial-caja { display: flex; flex-direction: column; gap: 14px; padding: 16px; margin: 16px 0 8px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); }
.eb-esencial-caja .eb-datos { justify-content: center; padding-top: 12px; border-top: 1px solid var(--border); }
.eb-ficha__titulo { display: flex; align-items: baseline; justify-content: space-between; gap: 8px 20px; flex-wrap: wrap; max-width: 820px; }
.eb-ficha__nota { margin: 0; font-size: 18px; line-height: 24px; white-space: nowrap; }
.eb-ficha__nota b { font-size: 22px; }
.eb-ficha__nota span:last-child { color: var(--ink-muted); font-size: 14px; }
@media (max-width: 760px) { .eb-esencial-caja { padding: 12px; } }

/* Móvil: la barra «Ver fechas» manda abajo; el chat sube por encima y el botón flotante de cookies se cambia por el enlace «Configurar cookies» del pie */
@media (max-width: 760px) {
	.eb-ficha__barra { padding-bottom: calc(10px + env(safe-area-inset-bottom)); }
	body.eb .cky-btn-revisit-wrapper { display: none !important; }
	body:has(.eb-ficha__barra) #chat-application,
	body:has(.eb-ficha__barra) #smartsupp-widget-container > div,
	body:has(.eb-ficha__barra) iframe[id^="chat-application"] { bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
	body:has(.eb-ficha__barra) main.eb-ficha { padding-bottom: 76px; }
}

/* Pie: bloques plegables (abiertos en escritorio) y botones de contacto en el móvil */
.eb-pie__plegable > summary { list-style: none; cursor: default; pointer-events: none; }
.eb-pie__plegable > summary::-webkit-details-marker { display: none; }
.eb-pie .eb-pie__botones { display: none; }
details.eb-pie__plegable { display: block; }
details.eb-pie__plegable > summary { display: block; margin-bottom: 10px; }
details.eb-pie__plegable > ul { display: flex; flex-direction: column; gap: 6px; }
@media (max-width: 760px) {
	.eb-pie { margin-top: 48px; }
	.eb-pie__in { gap: 0; padding: 28px 16px 8px; }
	.eb-pie__marca { gap: 10px; padding-bottom: 16px; }
	.eb-pie__marca > p:not(.eb-pie__nombre) { display: none; }
	.eb-pie .eb-pie__botones { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 8px; }
	.eb .eb-pie__botones a { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; border: 1px solid rgba(244, 241, 232, 0.3); border-radius: 999px; color: var(--on-bosque); font-weight: 600; text-decoration: none; }
	.eb-pie__botones svg { width: 18px; height: 18px; }
	details.eb-pie__plegable { border-top: 1px solid rgba(244, 241, 232, 0.15); }
	details.eb-pie__plegable > summary { margin-bottom: 0; pointer-events: auto; cursor: pointer; display: flex; align-items: center; justify-content: space-between; min-height: 48px; }
	.eb-pie__plegable > summary::after { content: ""; width: 9px; height: 9px; border-right: 2px solid var(--on-bosque-muted); border-bottom: 2px solid var(--on-bosque-muted); transform: rotate(45deg); margin-right: 4px; transition: transform .2s; }
	.eb-pie__plegable[open] > summary::after { transform: rotate(-135deg); }
	.eb-pie__plegable .eb-pie__tit { margin: 0; }
	details.eb-pie__plegable > ul { padding: 0 0 14px; gap: 10px; }
	.eb-pie__legal { padding: 14px 16px 24px; text-align: center; }
	body:has(.eb-ficha__barra) .eb-pie__legal { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
	body:has(.eb-ficha__barra) main.eb-ficha { padding-bottom: 0; }

	/* Cabecera: fija arriba, se esconde al bajar y vuelve al subir */
	.eb-cab { position: sticky; top: 0; z-index: 40; transition: transform .25s ease; }
	body.admin-bar .eb-cab { top: 46px; }
	.eb-cab.is-oculta { transform: translateY(-110%); }
}
@media (max-width: 600px) { body.admin-bar .eb-cab { top: 0; } }
@media (prefers-reduced-motion: reduce) { .eb-cab { transition: none; } }

/* Actividades */
.eb-act__aviso { margin: 0; padding: 12px 16px; border-left: 3px solid var(--verde); background: var(--surface); border-radius: var(--r-sm); font-size: 14px; line-height: 21px; color: var(--ink-muted); }
.eb-act__arriba + .eb-sec { padding-top: 48px; }
.eb-act__cab { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: center; margin-bottom: 16px; }
.eb-act__cab > :first-child { grid-column: span 2; }
.eb-act__cab .eb-sec__intro { max-width: 62ch; }
.eb-act__cab--intro { margin-bottom: 0; align-items: start; }
.eb-act__cab--hero { align-items: end; max-width: none; }
.eb-act__cab--hero > div { display: flex; flex-direction: column; gap: 14px; }
.eb-act__cab--hero .eb-act__foto--hero img { height: 320px; }
.eb-act__cab--intro .eb-prosa { max-width: none; }
.eb-act__arriba .eb-indice { margin-top: 24px; }
.eb-act__foto { margin: 0; }
.eb-act__foto img { display: block; width: 100%; height: 200px; object-fit: cover; border-radius: var(--r-md); }
.eb-act__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 1080px) { .eb-act__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } .eb-act__cab { grid-template-columns: repeat(2, minmax(0, 1fr)); } .eb-act__cab > :first-child { grid-column: auto; } }
.eb-act__lista > li { display: flex; flex-direction: column; gap: 6px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); padding: 16px 18px; }
.eb-act__lista > li > p:not(.eb-gui__tag) { margin: 0; font-size: 15px; line-height: 23px; color: var(--ink-muted); }
.eb-act__lista .eb-casa__extras { margin-top: 4px; }
.eb-act__lista .eb-act__mas { margin-top: auto; padding-top: 6px; font-size: 14px; }
.eb-act__mas a { color: var(--verde); font-weight: 600; }
.eb-act__planes { margin: 0; padding-left: 18px; font-size: 15px; line-height: 23px; color: var(--ink-muted); }
@media (max-width: 760px) {
	.eb-act__cab { grid-template-columns: 1fr; gap: 12px; }
	.eb-act__cab > :first-child { grid-column: auto; }
	.eb-act__foto { order: -1; }
	.eb-act__foto--hero { order: 0; }
	.eb-act__cab--hero .eb-act__foto--hero img { height: 200px; }
	.eb-act__foto img { height: 180px; }
	.eb-act__lista { grid-template-columns: 1fr; gap: 12px; }
}

/* Preguntas frecuentes */
.eb-act__contacto { align-self: end; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); padding: 18px; display: flex; flex-direction: column; gap: 8px; }
.eb-act__contacto p { margin: 0; color: var(--ink-muted); font-size: 15px; line-height: 22px; }
.eb-act__contacto .eb-act__contacto-t { font-family: var(--font-display); font-size: 22px; line-height: 26px; color: var(--ink); }
.eb .eb-act__contacto .eb-pie__botones { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 0; padding: 0; list-style: none; }
.eb-act__contacto .eb-pie__botones a { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 14px; border-radius: 999px; background: var(--verde); color: #fff; font-weight: 600; font-size: 14px; text-decoration: none; }
.eb-act__contacto .eb-pie__botones a svg { width: 16px; height: 16px; fill: currentColor; }
.eb-faqi__nav { margin-top: 24px; }
.eb-faqi__bloque { padding-top: 56px; }
.eb-faqi__lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; align-items: start; }
.eb-faqi__lista .eb-faq p a { color: var(--verde); font-weight: 600; }
@media (max-width: 900px) { .eb-faqi__lista { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .eb-faqi__bloque { padding-top: 40px; } }

/* Contacto */
.eb-contacto__form { display: flex; flex-direction: column; gap: 12px; align-self: start; }
.eb-contacto__redes { align-self: start; }
.eb-contacto__redes ul { margin: 6px 0 10px; padding-left: 18px; }
.eb-contacto__redes a { color: var(--verde); font-weight: 600; }
.eb-contacto__form .wpcf7 input:not([type=checkbox]):not([type=submit]), .eb-contacto__form .wpcf7 select, .eb-contacto__form .wpcf7 textarea { width: 100%; box-sizing: border-box; min-height: 44px; padding: 10px 12px; border: 1px solid var(--border-strong); border-radius: var(--r-sm); background: var(--surface); font: inherit; color: var(--ink); }
.eb-contacto__form .wpcf7 textarea { min-height: 140px; }
.eb-contacto__form .wpcf7 p { margin: 0 0 12px; font-size: 15px; line-height: 22px; }
.eb-contacto__form .wpcf7 input[type=submit] { min-height: 48px; padding: 0 28px; border: 0; border-radius: 999px; background: var(--verde); color: #fff; font-weight: 700; font-size: 16px; cursor: pointer; }

/* Blog */
.eb-blog__temas ul { margin: 6px 0 0; padding-left: 18px; display: flex; flex-direction: column; gap: 4px; }
.eb-blog__temas a, .eb-art__toc a { color: var(--verde); font-weight: 600; text-decoration: none; }
.eb-blog__lista { list-style: none; margin: 20px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.eb-blog__card a { display: flex; flex-direction: column; gap: 6px; height: 100%; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); overflow: hidden; color: var(--ink); text-decoration: none; padding-bottom: 16px; }
.eb-blog__card a:hover { border-color: var(--border-strong); }
.eb-blog__foto { display: block; width: 100%; height: 190px; object-fit: cover; margin-bottom: 6px; }
.eb-blog__meta { padding: 0 16px; font-size: 12px; line-height: 16px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--verde); }
.eb-blog__tit { margin: 0; padding: 0 16px; font-family: var(--font-display); font-weight: 500; font-size: 20px; line-height: 25px; }
.eb-blog__txt { margin: 0; padding: 0 16px; font-size: 15px; line-height: 22px; color: var(--ink-muted); }
.eb-blog__dest { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: center; color: var(--ink); text-decoration: none; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); overflow: hidden; }
.eb-blog__dest-foto { grid-column: span 2; display: block; width: 100%; height: 380px; object-fit: cover; }
.eb-blog__dest-txt { display: flex; flex-direction: column; gap: 10px; padding: 20px 24px 20px 8px; }
.eb-blog__dest-txt .eb-blog__meta { padding: 0; }
.eb-blog__dest-tit { margin: 0; font-family: var(--font-display); font-weight: 500; font-size: 28px; line-height: 32px; }
.eb-blog__dest-txt p { margin: 0; color: var(--ink-muted); font-size: 15px; line-height: 23px; }
.eb-blog__archivo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; align-items: start; margin-top: 16px; }
.eb-blog__archivo ul { margin: 10px 0 0; padding-left: 18px; display: flex; flex-direction: column; gap: 6px; font-size: 15px; line-height: 21px; }
.eb-blog__archivo a { color: var(--ink); }
/* Artículo */
.eb-art__cab { max-width: 820px; padding: 20px 0 20px; display: flex; flex-direction: column; gap: 12px; }
.eb-art__meta { margin: 0; font-size: 14px; color: var(--ink-muted); }
.eb-art__portada { margin: 0 0 8px; }
.eb-art__portada img { display: block; width: 100%; height: auto; max-height: 520px; object-fit: cover; border-radius: var(--r-lg); }
.eb-art__cuerpo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding-top: 24px; align-items: start; }
.eb-art__prosa { grid-column: span 2; min-width: 0; max-width: 760px; font-size: 18px; line-height: 30px; }
.eb-art__prosa > * { margin: 0 0 18px; }
.eb-art__prosa h2 { margin: 36px 0 12px; font-family: var(--font-display); font-weight: 500; font-size: 30px; line-height: 36px; scroll-margin-top: 90px; }
.eb-art__prosa h3 { margin: 26px 0 10px; font-family: var(--font-display); font-weight: 500; font-size: 23px; line-height: 28px; }
.eb-art__prosa h4 { margin: 20px 0 8px; font-size: 18px; }
.eb-art__prosa a { color: var(--verde); font-weight: 600; }
.eb-art__prosa img { max-width: 100%; height: auto; border-radius: var(--r-md); }
.eb-art__prosa figure { margin: 22px 0; }
.eb-art__prosa figcaption { font-size: 14px; line-height: 20px; color: var(--ink-muted); margin-top: 6px; }
.eb-art__prosa ul, .eb-art__prosa ol { padding-left: 22px; }
.eb-art__prosa li { margin-bottom: 6px; }
.eb-art__prosa blockquote { margin: 22px 0; padding: 4px 0 4px 18px; border-left: 3px solid var(--verde); color: var(--ink-muted); font-style: italic; }
.eb-art__prosa table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 22px; display: block; overflow-x: auto; }
.eb-art__prosa th, .eb-art__prosa td { padding: 8px 10px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
.eb-art__prosa iframe, .eb-art__prosa video { max-width: 100%; }
.eb-art__prosa .aligncenter { margin-left: auto; margin-right: auto; display: block; }
.eb-art__lado { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 16px; }
.eb-art__toc ol { margin: 6px 0 0; padding-left: 18px; display: flex; flex-direction: column; gap: 6px; font-size: 14px; line-height: 20px; }
.eb-art__cta .eb-btn { align-self: flex-start; margin-top: 6px; }
@media (max-width: 1080px) { .eb-blog__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) {
	.eb-art__cuerpo { grid-template-columns: 1fr; }
	.eb-art__prosa { grid-column: auto; }
	.eb-art__lado { position: static; order: -1; }
	.eb-art__cta { display: none; }
	.eb-blog__dest { grid-template-columns: 1fr; }
	.eb-blog__dest-foto { grid-column: auto; height: 240px; }
	.eb-blog__dest-txt { padding: 4px 18px 20px; }
	.eb-blog__archivo { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
	.eb-blog__lista { grid-template-columns: 1fr 1fr; gap: 10px; }
	.eb-blog__foto { height: 120px; }
	.eb-blog__tit { font-size: 16px; line-height: 20px; padding: 0 10px; }
	.eb-blog__meta { padding: 0 10px; font-size: 12px; }
	.eb-blog__txt { display: none; }
	.eb-blog__card a { padding-bottom: 12px; }
	.eb-art__prosa { font-size: 17px; line-height: 28px; }
	.eb-art__prosa h2 { font-size: 26px; line-height: 31px; }
	.eb-blog__dest-tit { font-size: 23px; line-height: 27px; }
}

/* Páginas de texto */
.eb-legal .eb-art__toc ul { margin: 6px 0 0; padding-left: 18px; display: flex; flex-direction: column; gap: 6px; font-size: 14px; line-height: 20px; }
.eb-legal .eb-art__prosa { font-size: 17px; line-height: 28px; }
.eb-legal .eb-art__prosa h2 { font-size: 26px; line-height: 31px; }
@media (max-width: 900px) { .eb-legal .eb-art__lado { order: 0; } }

/* Gestión */
.eb-gestion__pasos { list-style: none; margin: 20px 0 16px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.eb-gestion__pasos li { position: relative; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); padding: 18px 18px 18px 64px; }
.eb-gestion__pasos p { margin: 0; font-size: 15px; line-height: 23px; color: var(--ink-muted); }
.eb-gestion__num { position: absolute; left: 18px; top: 18px; width: 32px; height: 32px; border-radius: 50%; background: var(--verde); color: #fff; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.eb-gestion .eb-act__aviso p + p { margin-top: 8px; }
@media (max-width: 1080px) { .eb-gestion__pasos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .eb-gestion__pasos { grid-template-columns: 1fr; } }

/* Gestión · contenido y animaciones */
.eb-gestion__cita { margin: 0; align-self: center; padding: 22px 24px; border-left: 4px solid var(--verde); background: var(--surface); border-radius: var(--r-md); font-family: var(--font-display); font-size: 24px; line-height: 30px; color: var(--bosque); }
.eb-gestion__equilibrio { margin: 0; align-self: center; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); padding: 20px; display: flex; flex-direction: column; gap: 14px; }
.eb-gestion__barra span { display: block; font-size: 13px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink-muted); margin-bottom: 6px; }
.eb-gestion__barra i { display: block; height: 12px; border-radius: 999px; background: linear-gradient(90deg, var(--verde) 0 var(--v), var(--border) var(--v) 100%); background-size: 100% 100%; }
.eb-gestion__equilibrio figcaption { font-size: 15px; line-height: 22px; color: var(--bosque); font-weight: 600; }
.eb-gestion__tecno { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 32px; align-items: center; }
.eb-gestion__tecno-txt p { color: var(--on-bosque-muted); font-size: 16px; line-height: 26px; margin: 0 0 14px; }
.eb-gestion__tecno-txt .eb-h2 { color: var(--on-bosque); margin: 6px 0 14px; }
.eb-gestion__lema { font-family: var(--font-display); font-size: 26px !important; line-height: 32px !important; color: #d7e36a !important; margin-top: 18px !important; }
.eb-gestion__eco { margin: 0; text-align: center; }
.eb-gestion__eco svg { width: 100%; max-width: 440px; height: auto; overflow: visible; }
.eb-gestion__eco figcaption { margin-top: 8px; font-size: 14px; color: var(--on-bosque-muted); }
.eb-eco__l { stroke: #d7e36a; stroke-width: 2; stroke-dasharray: 6 8; opacity: 0.75; }
.eb-eco__n circle { fill: rgba(255,255,255,0.08); stroke: rgba(255,255,255,0.35); stroke-width: 1.5; }
.eb-eco__n text { fill: var(--on-bosque); font-size: 12px; font-weight: 700; text-anchor: middle; font-family: inherit; }
.eb-eco__hub { fill: #d7e36a; }
.eb-eco__pulso { fill: none; stroke: #d7e36a; stroke-width: 2; transform-origin: 220px 220px; }
.eb-eco__hub-t { fill: var(--bosque); font-family: var(--font-display); font-size: 22px; text-anchor: middle; }
.eb-eco__hub-n { font-size: 30px; font-weight: 700; }
.eb-gestion__oper { margin-top: 28px; align-items: start; }
.eb-gestion__check { list-style: none; margin: 0; padding: 18px 20px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); display: flex; flex-direction: column; gap: 8px; font-size: 15px; line-height: 21px; }
.eb-gestion__check li { position: relative; padding-left: 26px; }
.eb-gestion__check li::before { content: ""; position: absolute; left: 0; top: 2px; width: 16px; height: 16px; border-radius: 50%; background: var(--verde); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8'/%3E%3C/svg%3E"); }
.eb-gestion__check li::after { content: ""; position: absolute; left: 5px; top: 5px; width: 6px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
@media (prefers-reduced-motion: no-preference) {
	.eb-js .eb-reveal { opacity: 0; transform: translateY(18px); transition: opacity 0.6s ease var(--d, 0ms), transform 0.6s ease var(--d, 0ms); }
	.eb-js .eb-reveal.is-visible { opacity: 1; transform: none; }
	.eb-js .eb-gestion__barra i { background-size: 0% 100%; background-repeat: no-repeat; background-image: linear-gradient(90deg, var(--verde), var(--verde)); background-color: var(--border); transition: background-size 1.2s cubic-bezier(.2,.7,.2,1) var(--d, 0ms); }
	.eb-js .is-visible .eb-gestion__barra i { background-size: var(--v) 100%; }
	.eb-js .eb-gestion__eco .eb-eco__l { stroke-dashoffset: 0; opacity: 0; transition: opacity 0.5s ease var(--d); }
	.eb-js .eb-gestion__eco.is-visible .eb-eco__l { opacity: 0.75; animation: eb-flujo 1.6s linear infinite; }
	.eb-js .eb-gestion__eco .eb-eco__n { opacity: 0; transform: scale(0.6); transform-box: fill-box; transform-origin: center; transition: opacity 0.45s ease var(--d), transform 0.45s cubic-bezier(.3,1.5,.5,1) var(--d); }
	.eb-js .eb-gestion__eco.is-visible .eb-eco__n { opacity: 1; transform: none; }
	.eb-gestion__eco.is-visible .eb-eco__pulso { animation: eb-pulso 2.4s ease-out infinite; }
}
@keyframes eb-flujo { to { stroke-dashoffset: -28; } }
@keyframes eb-pulso { 0% { transform: scale(1); opacity: 0.8; } 100% { transform: scale(1.6); opacity: 0; } }
@media (max-width: 900px) { .eb-gestion__tecno { grid-template-columns: 1fr; } .eb-gestion__cita { font-size: 20px; line-height: 26px; } }

/* Ficha: aviso para elegir fechas */
.eb-ficha__paso { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 12px; padding: 10px 12px; background: var(--verde-tint); border-radius: var(--r-md); font-size: 14px; line-height: 20px; color: var(--ink); }
.eb-ficha__paso i { font-style: normal; flex: 0 0 24px; height: 24px; border-radius: 50%; background: var(--verde); color: #fff; font-weight: 700; font-size: 13px; display: flex; align-items: center; justify-content: center; }

/* Gestión en cualquier destino */
.eb-gestion__dest { align-items: center; }
.eb-gestion__dpasos { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.eb-gestion__dpasos li { position: relative; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); padding: 16px 18px 16px 64px; }
.eb-gestion__dpasos h3 { margin: 0 0 4px; }
.eb-gestion__dpasos p { margin: 0; font-size: 15px; line-height: 23px; color: var(--ink-muted); }
.eb-gestion__dpasos .eb-gestion__num { top: 16px; }
.eb-gestion__mapa { margin: 0; text-align: center; }
.eb-espana { display: block; width: 100%; max-width: 420px; height: auto; margin: 0 auto; overflow: visible; }
.eb-espana circle { fill: var(--verde); opacity: 0.85; }
.eb-espana .eb-espana__base { fill: var(--lima); stroke: var(--verde); stroke-width: 2.5; opacity: 1; }
.eb-espana .eb-espana__onda { fill: none; stroke: var(--lima); stroke-width: 2.5; opacity: 0; transform-box: fill-box; transform-origin: center; }
.eb-gestion__mapa figcaption { margin-top: 10px; font-family: var(--font-display); font-size: 20px; line-height: 26px; color: var(--verde); }
@media (prefers-reduced-motion: no-preference) {
	.eb-js .eb-gestion__mapa .eb-espana circle:not(.eb-espana__base):not(.eb-espana__onda) { opacity: 0.12; transition: opacity 0.5s ease var(--d, 0ms); }
	.eb-js .eb-gestion__mapa.is-visible .eb-espana circle:not(.eb-espana__base):not(.eb-espana__onda) { opacity: 0.85; }
	.eb-gestion__mapa.is-visible .eb-espana__onda { animation: eb-onda 2.8s ease-out infinite; }
	.eb-gestion__mapa.is-visible .eb-espana__onda--2 { animation-delay: 1.4s; }
}
@keyframes eb-onda { 0% { transform: scale(1); opacity: 0.9; } 100% { transform: scale(5); opacity: 0; } }
@media (max-width: 900px) { .eb-gestion__mapa { max-width: 360px; margin: 8px auto 0; } }

/* Envoltorio de páginas con contenido antiguo */
.eb-envoltorio { display: block; min-height: 50vh; }
.eb-envoltorio > :not(.elementor) { max-width: var(--wrap); margin-left: auto; margin-right: auto; padding-left: var(--gutter); padding-right: var(--gutter); }
.eb-envoltorio--solo { min-height: 100vh; display: flex; flex-direction: column; justify-content: center; }
.eb-reservas__motor { min-height: 480px; padding-top: 8px; }

/* Aviso de alojamiento o pueblo sin casas de El Bulín, y casas cercanas en la ficha */
.eb-aviso-baja { margin: 16px 0 0; padding: 14px 18px; border-radius: var(--r-md); background: #fbf1dc; border-left: 4px solid var(--tierra); font-size: 15px; line-height: 23px; color: var(--ink); max-width: 860px; }
.eb-sinc .eb-aviso-baja { margin: 0; }
.eb-cercanas { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 8px; }
.eb-cercanas a { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--r-md); text-decoration: none; color: var(--ink); background: var(--surface); }
.eb-cercanas a:hover { border-color: var(--verde); color: var(--ink); }
.eb-cercanas span { font-size: 13px; line-height: 18px; color: var(--ink-muted); }
.eb-sinc .eb-guia__faq > .eb-h2 { margin: 0 0 12px; }

/* Móviles estrechos: que logo, Reservar, WhatsApp y menú quepan en una línea */
@media (max-width: 360px) {
	.eb-cab__in { gap: 6px; }
	.eb-cab__logo-img { height: 32px; }
	.eb-cab__reservar--movil { padding-left: 12px; padding-right: 12px; font-size: 15px; }
	.eb .eb-cab__wa, .eb-cab__menu-btn { width: 40px; height: 40px; min-height: 40px; }
	.eb-cab__menu-btn { padding: 0; justify-content: center; }
}

/* Páginas sencillas sin Elementor: pago, formularios */
.eb-envoltorio > .eb-env-pag__logo { text-align: center; margin: 32px auto 0; }
.eb-env-pag__logo img { height: 56px; width: auto; }
.eb-env-pag { max-width: 760px !important; margin: 40px auto 72px; }
.eb-env-pag h1 { font-family: var(--font-display); font-weight: 500; font-size: clamp(30px, 5vw, 44px); line-height: 1.1; margin: 4px 0 14px; color: var(--ink); }
.eb-env-pag__lede { font-size: 18px; line-height: 28px; color: var(--ink-muted); margin: 0 0 18px; }
.eb-env-pag--centro { text-align: center; }
.eb-env-pag__icono { width: 72px; height: 72px; margin: 0 auto 12px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 36px; font-weight: 700; color: #fff; }
.eb-env-pag__icono--ok { background: var(--verde); }
.eb-env-pag__icono--error { background: #b3412f; }
.eb-env-pag__contacto { font-size: 15px; line-height: 23px; color: var(--ink-muted); margin: 0 0 24px; }
.eb-env-pag__form { margin-top: 24px; padding: 24px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); }
.eb-env-pag__form p { margin: 0 0 16px; }
.eb-env-pag__form label { display: block; font-weight: 600; font-size: 15px; line-height: 22px; color: var(--ink); }
.eb-env-pag__form input[type=text], .eb-env-pag__form input[type=email], .eb-env-pag__form input[type=tel], .eb-env-pag__form input[type=date], .eb-env-pag__form select, .eb-env-pag__form textarea { width: 100%; margin-top: 6px; min-height: 46px; padding: 10px 12px; border: 1.5px solid var(--border-strong); border-radius: var(--r-sm); background: #fff; font: 400 16px/1.4 var(--font-sans); color: var(--ink); box-sizing: border-box; }
.eb-env-pag__form textarea { min-height: 110px; }
.eb-env-pag__form .wpcf7-list-item { margin: 0; font-weight: 400; }
.eb-env-pag__form input[type=submit] { min-height: 48px; padding: 0 28px; border: 0; border-radius: var(--r-md); background: var(--lima); color: var(--on-lima); font: 600 16px/1 var(--font-sans); cursor: pointer; }
.eb-env-pag__form input[type=submit]:hover { filter: brightness(.95); }
@media (max-width: 760px) { .eb-env-pag__form { padding: 16px; } }
.eb-tabla--lic table { min-width: 0; }
.eb-art__prosa .eb-tabla--lic { margin: 0 0 8px; }
.eb-art__prosa .eb-tabla--lic th, .eb-art__prosa .eb-tabla--lic td { border-bottom: 1px solid var(--border); }

/* 404, búsqueda y archivos del blog */
.eb-404__cab { padding-top: 48px; }
.eb-404__cab > * { max-width: 860px; }
.eb-404__enlaces { margin-top: 20px; }
.eb-saltar-v { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.eb-buscatxt { display: flex; gap: 8px; max-width: 620px; margin: 20px 0 0; }
.eb-buscatxt input { flex: 1 1 auto; min-width: 0; min-height: 48px; padding: 0 14px; border: 1.5px solid var(--border-strong); border-radius: var(--r-md); background: #fff; font: 400 16px/1.4 var(--font-sans); color: var(--ink); }
.eb-archivo .eb-pue__cab { margin-bottom: 8px; }
.eb-paginas { margin: 28px 0 0; }
.eb-paginas .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.eb-paginas .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 12px; border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface); text-decoration: none; color: var(--ink); }
.eb-paginas .page-numbers.current { background: var(--bosque); color: var(--on-bosque); border-color: var(--bosque); }
.eb-paginas .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Recuadro del buscador (portada y páginas con foto grande) más compacto */
.eb-hero .eb-hero__panel { padding: 26px 32px 22px; gap: 12px; max-width: 884px; }

/* Buscador (widget): rectángulo con esquinas suaves, sin extremos redondos */
.eb-busca.ebx .ebx-bar, .eb-busca.ebx.is-narrow .ebx-bar { border-radius: 12px; }
.eb-busca.ebx button.ebx-field, .eb-busca.ebx button.ebx-go, .eb-busca.ebx.is-narrow button.ebx-field, .eb-busca.ebx.is-narrow button.ebx-go { border-radius: 8px; }
.eb-busca.ebx:not(.is-narrow) .ebx-bar { padding: 6px; }
.eb-busca.ebx:not(.is-narrow) button.ebx-go { padding: 0 26px; }
.eb-hero__pie .eb-hero__confianza { font-size: 13px; }
.eb-hero:not(.eb-hero--pag) .eb-hero__h1 { font-size: 46px; line-height: 50px; }
.eb-hero--pag .eb-hero__h1 { font-size: 42px; line-height: 46px; }
.eb-hero--pag .eb-hero__lede { font-size: 16px; line-height: 24px; }
.eb-hero__pie { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 20px; }
.eb-hero__pie .eb-filtros { margin: 0; }
@media (max-width: 760px) {
	.eb-hero .eb-hero__panel { padding: 18px 16px 16px; gap: 10px; }
	.eb-hero .eb-hero__h1 { font-size: 28px; line-height: 32px; }
	.eb-hero--pag .eb-hero__lede { font-size: 15px; line-height: 22px; }
	.eb-hero__pie { display: block; }
	.eb-hero__pie .eb-filtros { display: flex; flex-wrap: wrap; gap: 6px; }
	.eb-hero__pie .eb-filtros__et { width: auto; margin: 0 2px 0 0; }
	.eb-hero__pie .eb-chip, .eb-hero__pie .eb-chip span { width: auto; }
	.eb-hero__pie .eb-chip span { min-height: 36px; padding: 0 12px; font-size: 13px; }
	.eb-hero .eb-eyebrow { font-size: 12px; }
	.eb-hero__pie .eb-hero__confianza { margin-top: 10px; font-size: 13px; line-height: 18px; }
}
.eb-hero__panel .eb-migas--panel { margin: 0 0 -4px; padding: 0; }
.eb-hero__panel .eb-migas--panel ol { padding-top: 0; }
.eb-hero--pag .eb-hero__lede { max-width: none; }
@media (max-width: 760px) {
	.eb-hero__panel .eb-migas--panel { font-size: 13px; }
	.eb-hero--pag .eb-datos li { font-size: 12px; padding: 4px 10px; }
}

/* Pie: línea legal con el selector de idioma (GTranslate) */
.eb-pie__legal { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; }
.eb-pie__idioma { display: inline-flex; align-items: center; gap: 8px; }
.eb-pie__idioma select { min-height: 36px; padding: 0 10px; border: 1px solid rgba(244, 241, 232, 0.35); border-radius: var(--r-sm); background: transparent; color: var(--on-bosque); font: 500 13px/1 var(--font-sans); cursor: pointer; }
.eb-pie__idioma select option { color: var(--ink); background: #fff; }
@media (max-width: 760px) { .eb-pie__idioma select { min-height: 44px; font-size: 16px; } }

/* 0.6.68 · Áreas táctiles de 44 px como mínimo (auditoría móvil) */
.eb-hero__punto { width: 44px; height: 44px; padding: 17px; }
.eb-hero__puntos { top: 23px; left: calc(var(--gutter) - 17px); }
.eb-hero__punto.is-on { width: 62px; }
.eb-pin::before { content: ""; position: absolute; inset: -8px; }
.eb-sec__cab .eb-enlace, .eb-mapa__zonas a { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 700px) {
	.eb-pin { min-width: 30px; min-height: 30px; }
	.eb-hero__puntos { top: auto; left: -1px; bottom: 69px; }
}

/* Salón común (Montejo) */
.eb-salon__txt { max-width: 760px; margin: 0 0 12px; }
.eb-salon__fotos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 16px; }
.eb-salon__fotos img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--r-md); display: block; }
@media (max-width: 700px) { .eb-salon__fotos { grid-template-columns: 1fr 1fr; } }