/* ==========================================================================
   Ficha 2026 de Escuelas, Clases, Doctores, Parques, Salones y Museos (ficha26.php + partes en ficha26/). Se carga junto con css/portada26.css (variables --hp26-*, header, footer, .hp26-btn).
   Mockups: tmp/Ficha Escuela KIDSin.html, tmp/Ficha Clases KIDSin.html, tmp/Ficha Doctor KIDSin.html y tmp/Ficha Parque KIDSin (1).html. Móvil primero; 16 px de margen lateral mínimo y sin scroll horizontal.
   Colores: amarillo #ffcc33 · magenta #c6005e · azul #009ee2 · textos #1a1a1a / #3d3d3d / #6b6b6b
            fondos #e5f5fd (precio) · #f7f7f5 (sobre) · #fdf2f7 (entrevista, calificar)
   ========================================================================== */

.f26-main, .f26-modal { --f26-gris: #6b6b6b; --f26-azul-osc: #00618c; --f26-rosa: #fdf2f7; --f26-hueso: #f7f7f5; --f26-celeste: #e5f5fd; --f26-pad-x: max(16px, var(--hp26-pad-x)); }
.f26-main { overflow-x: clip; }
.f26-main h1, .f26-main h2, .f26-main h3, .f26-main h4 { margin: 0; }
.f26-main h2, .f26-main h3 { color: var(--hp26-negro); }

.f26-sec { padding: clamp(26px, 3.4vw, 48px) var(--f26-pad-x); background: var(--hp26-blanco); }
.f26-sec-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 10px 20px; }

/* Títulos: Amatic "a mano" (f26-h2) y sans (f26-h2-sans) */
.f26-main .f26-h2 { font-family: 'Amatic SC', cursive; font-weight: 700; font-size: clamp(36px, 4.2vw, 50px); line-height: 1; color: var(--hp26-negro); text-wrap: pretty; }
.f26-main .f26-h2-magenta { color: var(--hp26-magenta); }
.f26-main .f26-h2-sans { font-size: clamp(20px, 2.2vw, 26px); font-weight: 800; line-height: 1.25; color: var(--hp26-negro); text-wrap: pretty; }
.f26-main .f26-h3, .f26-modal .f26-h3 { font-family: 'Amatic SC', cursive; font-weight: 700; font-size: clamp(30px, 3.4vw, 40px); line-height: 1; color: var(--hp26-negro); }
.f26-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.f26-eyebrow-azul { color: var(--f26-azul-osc); }
.f26-eyebrow-rosa { color: #a33a6c; }
.f26-nota { font-size: 14px; font-weight: 600; color: var(--f26-gris); }
.f26-link { font-size: 14px; font-weight: 700; color: var(--hp26-magenta); text-decoration: none; }
.f26-link:hover { color: var(--hp26-azul); }
.f26-vacio { margin-top: 14px; font-size: 16px; font-weight: 600; color: var(--hp26-texto); }
.f26-vacio a { color: var(--hp26-magenta); font-weight: 800; }

.f26-stars { font-size: 16px; letter-spacing: .06em; color: #e0a700; white-space: nowrap; }

/* Texto que viene del editor (listas, negritas) */
.f26-prose { font-size: 16px; line-height: 1.6; font-weight: 500; color: var(--hp26-texto); text-wrap: pretty; }
.f26-prose p { margin: 0 0 .7em; }
.f26-prose p:last-child { margin-bottom: 0; }
.f26-main .f26-prose ul { list-style: disc; padding-left: 1.3em; margin: 0 0 .7em; }
.f26-main .f26-prose ul:last-child { margin-bottom: 0; }
.f26-prose li { margin: 0 0 .35em; }
.f26-prose strong, .f26-prose b { font-weight: 800; color: var(--hp26-negro); }
.f26-prose a { color: var(--hp26-magenta); }

/* Botones propios */
.f26-btn-lg { padding: 16px 28px; font-size: 13px; }
.f26-btn-full { width: 100%; }
.f26-btn-outline {
	display: inline-flex; align-items: center; gap: 9px;
	padding: 13px 26px; border: 2px solid var(--hp26-negro); border-radius: 999px;
	background: var(--hp26-blanco); color: var(--hp26-negro); cursor: pointer;
	font-family: Raleway, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; white-space: nowrap;
}
.f26-btn-outline.f26-btn-lg { padding: 14px 26px; font-size: 13px; }
.f26-btn-outline img { width: 22px; height: 22px; }
.f26-btn-outline:hover { background: var(--hp26-negro); color: var(--hp26-blanco); }
.f26-btn-magenta-outline { border-color: var(--hp26-magenta); color: var(--hp26-magenta); align-self: flex-start; }
.f26-btn-magenta-outline:hover { background: var(--hp26-magenta); color: var(--hp26-blanco); }
.f26-btn-azul-outline { border-color: var(--hp26-azul); color: var(--hp26-azul); }
.f26-btn-azul-outline:hover { background: var(--hp26-azul); color: var(--hp26-blanco); }

/* ==========================================================================
   HERO
   ========================================================================== */
.f26-hero {
	margin: clamp(12px, 1.6vw, 20px) clamp(10px, 2vw, 24px) 0;
	padding: clamp(16px, 2.2vw, 28px) clamp(16px, 3.4vw, 44px) clamp(22px, 3.2vw, 44px);
	border: clamp(5px, .6vw, 7px) solid var(--hp26-amarillo); border-radius: 32px;
	background: var(--hp26-blanco);
}
.f26-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; font-size: 13px; font-weight: 600; color: var(--f26-gris); }
.f26-crumbs a { color: var(--f26-gris); text-decoration: none; }
.f26-crumbs a:hover { color: var(--hp26-magenta); text-decoration: underline; }
.f26-crumb-here { color: var(--hp26-negro); font-weight: 800; }
.f26-sello {
	display: inline-flex; align-items: center; gap: 8px;
	margin-top: clamp(16px, 2.2vw, 26px); padding: 7px 15px 7px 11px;
	border-radius: 999px; background: var(--hp26-amarillo);
	font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--hp26-negro);
}
.f26-main .f26-h1 { margin-top: 10px; font-size: clamp(30px, 4.8vw, 60px); line-height: 1.05; font-weight: 800; color: var(--hp26-negro); text-wrap: pretty; overflow-wrap: break-word; }
.f26-hero-row { display: flex; flex-wrap: wrap-reverse; align-items: flex-end; justify-content: space-between; gap: 18px clamp(14px, 2vw, 32px); margin-top: clamp(10px, 1.2vw, 14px); }
.f26-hero-txt { flex: 1 1 400px; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: clamp(10px, 1.1vw, 13px); }
.f26-hero-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.f26-pill-rating {
	display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px;
	border-radius: 999px; background: #fff8e1; border: 1px solid var(--hp26-amarillo);
	text-decoration: none; color: var(--hp26-negro);
}
.f26-pill-rating b { font-size: 15px; font-weight: 800; }
.f26-pill-rating span:last-child { font-size: 14px; font-weight: 600; color: var(--f26-gris); }
.f26-pill-rating:hover { border-color: var(--hp26-magenta); }
.f26-tags .f26-pill-precio { padding: 5px 12px; border-radius: 999px; background: #e6f6ea; border: 1px solid #bfe5c8; font-size: 13px; font-weight: 800; color: #17692e; text-decoration: none; white-space: nowrap; }
.f26-tags .f26-pill-precio:hover { border-color: #1faa3d; }
.f26-lugar { min-width: 0; font-size: 15px; font-weight: 600; line-height: 1.4; color: var(--hp26-texto); overflow-wrap: break-word; }
.f26-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.f26-tags span { padding: 6px 13px; border-radius: 999px; background: var(--f26-celeste); font-size: 13px; font-weight: 700; color: var(--f26-azul-osc); }
.f26-hero-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; padding-top: clamp(18px, 3.4vw, 46px); }
.f26-logo {
	flex: none; display: flex; align-items: center; justify-content: center; overflow: hidden;
	width: clamp(130px, 17vw, 220px); height: clamp(130px, 17vw, 220px); padding: 14px;
	border-radius: 28px; background: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, .14);
}
.f26-main .f26-logo img { width: 100%; height: 100%; object-fit: contain; }

/* ==========================================================================
   ÍNDICE STICKY (en móvil hace scroll horizontal dentro de sí mismo)
   ========================================================================== */
.f26-toc {
	position: sticky; top: 0; z-index: 15;
	display: flex; align-items: center; gap: 12px;
	margin-top: clamp(12px, 1.6vw, 20px);
	padding: 10px var(--f26-pad-x);
	background: var(--hp26-blanco); border-bottom: 3px solid var(--hp26-amarillo);
}
.f26-toc-links { flex: 1 1 auto; min-width: 0; display: flex; gap: 6px 18px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.f26-toc-links::-webkit-scrollbar { display: none; }
.f26-toc-links a { flex: none; padding: 6px 0; font-size: 14px; font-weight: 700; color: var(--hp26-negro); text-decoration: none; white-space: nowrap; border-bottom: 2px solid transparent; }
.f26-toc-links a:hover { color: var(--hp26-magenta); }
.f26-toc-links a.is-active { color: var(--hp26-magenta); border-bottom-color: var(--hp26-magenta); }
.f26-toc-btn {
	flex: none; padding: 10px 18px; border: none; border-radius: 999px; background: var(--hp26-azul); color: var(--hp26-blanco); cursor: pointer;
	font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap;
}
.f26-toc-btn:hover { filter: brightness(.92); }
a.f26-toc-btn { text-decoration: none; color: var(--hp26-blanco); }
/* Anclas: que el título no quede debajo del índice */
.f26-main [id] { scroll-margin-top: 70px; }

/* ==========================================================================
   INTRO Y FIRMA
   ========================================================================== */
.f26-intro { padding: clamp(24px, 3vw, 40px) var(--f26-pad-x) clamp(10px, 1.4vw, 16px); }
.f26-intro-p { font-size: clamp(17px, 1.7vw, 20px); line-height: 1.65; font-weight: 500; color: var(--hp26-texto); text-wrap: pretty; }
.f26-intro-p p { margin: 0 0 .85em; }
.f26-intro-p p:last-child { margin-bottom: 0; }
.f26-intro-p strong, .f26-intro-p b { font-weight: 800; color: var(--hp26-negro); }
.f26-main .f26-intro-p ul, .f26-main .f26-intro-p ol, .f26-main .f26-sobre-txt ul, .f26-main .f26-sobre-txt ol { list-style: disc; padding-left: 1.3em; margin: .5em 0 14px; }
.f26-main .f26-intro-p li, .f26-main .f26-sobre-txt li { margin: 0 0 .35em; }
/* Subtítulos dentro de la intro y del resumen de opiniones (doctores: "¿Sabías que?", "Mi consejo como mamá") */
.f26-main .f26-intro-p h3, .f26-main .f26-opiniones-resumen h3 { margin: clamp(18px, 2.2vw, 26px) 0 8px; font-size: clamp(18px, 1.9vw, 22px); font-weight: 800; line-height: 1.3; color: var(--hp26-negro); text-wrap: pretty; }
.f26-main .f26-intro-p > h3:first-child, .f26-main .f26-opiniones-resumen > h3:first-child { margin-top: 0; }
.f26-main .f26-opiniones-resumen { margin-top: clamp(12px, 1.6vw, 18px); }
.f26-main .f26-opiniones-resumen ol, .f26-main .f26-intro-p ol { list-style: decimal; }
.f26-main .f26-opiniones-resumen ul, .f26-main .f26-opiniones-resumen ol { padding-left: 1.3em; margin: .5em 0 .7em; }
.f26-firma { margin-top: 18px; display: flex; align-items: center; gap: 12px 14px; padding-top: 16px; border-top: 1px solid var(--hp26-linea); }
.f26-main .f26-firma img { flex: none; width: 46px; height: 46px; border-radius: 999px; object-fit: cover; background: #fde9f2; }
.f26-firma p { font-size: 14px; line-height: 1.45; font-weight: 600; color: var(--hp26-texto); }
.f26-firma b { font-weight: 800; color: var(--hp26-magenta); }

/* ==========================================================================
   PRECIO
   ========================================================================== */
.f26-main .f26-precio { background: var(--f26-celeste); }
.f26-precios { margin-top: clamp(16px, 2vw, 24px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: clamp(12px, 1.4vw, 18px); }
.f26-precio-card { display: flex; flex-direction: column; gap: 14px; padding: clamp(18px, 2vw, 24px); border-radius: 22px; background: var(--hp26-blanco); border: 1px solid #cfe9f8; }
.f26-main .f26-precio-card h3 { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--hp26-azul); }
.f26-precio-mes { font-size: clamp(26px, 2.8vw, 34px); font-weight: 800; line-height: 1.05; color: var(--hp26-negro); }
.f26-precio-al { margin-top: 4px; font-size: 14px; font-weight: 600; color: var(--f26-gris); }
.f26-precio-ins { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--hp26-linea); font-size: 14px; font-weight: 500; color: var(--hp26-texto); }
.f26-precio-ins strong { font-weight: 800; color: var(--hp26-negro); }
.f26-precio-nota { margin-top: clamp(14px, 1.8vw, 20px); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; }
.f26-precio-nota p { font-size: 14px; font-style: italic; font-weight: 500; color: var(--f26-gris); text-wrap: pretty; }
.f26-disclaimer { margin-top: 12px; font-size: 13px; line-height: 1.5; color: var(--f26-gris); }

/* ==========================================================================
   OPINIONES
   ========================================================================== */
.f26-desglose { margin-top: clamp(16px, 2vw, 24px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 8px 24px; padding: clamp(14px, 1.8vw, 20px); border-radius: 20px; background: #fffbea; }
.f26-desglose-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 12px; padding: 6px 0; border-bottom: 1px solid #f3e6b3; font-size: 15px; font-weight: 700; color: var(--hp26-negro); }
.f26-desglose-val { white-space: nowrap; }
.f26-desglose-val b { font-weight: 800; }
.f26-sin-datos { font-size: 13px; font-weight: 600; color: var(--f26-gris); }
.f26-resenas-lista { margin-top: clamp(16px, 2vw, 24px); display: flex; flex-direction: column; gap: 12px; }
.f26-resena { padding: clamp(16px, 1.8vw, 22px); border: 1px solid var(--hp26-linea); border-radius: 20px; background: var(--hp26-blanco); }
.f26-resena-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.f26-resena-head .f26-stars { color: var(--hp26-amarillo); }
.f26-resena-head b { font-size: 15px; font-weight: 800; }
.f26-resena-fecha { font-size: 13px; font-weight: 600; color: var(--f26-gris); }
.f26-resena p { margin-top: 10px; font-size: 16px; line-height: 1.6; font-weight: 500; color: var(--hp26-texto); overflow-wrap: break-word; }

/* ==========================================================================
   FOTOS (carrusel con scroll-snap: 1 foto en móvil, 2 en tablet, 3 en escritorio)
   ========================================================================== */
.f26-main .f26-fotos { padding-bottom: clamp(8px, 1vw, 12px); }
.f26-carrusel { position: relative; margin-top: clamp(14px, 1.8vw, 22px); }
.f26-carrusel-track {
	display: grid; grid-auto-flow: column; grid-auto-columns: 100%; gap: 12px;
	overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; overscroll-behavior-x: contain;
}
.f26-carrusel-track::-webkit-scrollbar { display: none; }
.f26-foto { display: block; scroll-snap-align: start; height: clamp(200px, 20vw, 240px); border-radius: 18px; overflow: hidden; background: var(--f26-hueso); }
.f26-main .f26-foto img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.f26-foto:hover img { transform: scale(1.03); }
.f26-flecha {
	position: absolute; top: 50%; transform: translateY(-50%);
	display: flex; align-items: center; justify-content: center; width: 44px; height: 44px;
	border: none; border-radius: 999px; background: var(--hp26-blanco); box-shadow: 0 4px 16px rgba(0, 0, 0, .18);
	font-size: 20px; font-weight: 800; color: var(--hp26-negro); cursor: pointer;
}
.f26-flecha-prev { left: 6px; }
.f26-flecha-next { right: 6px; }
.f26-flecha:disabled { opacity: .35; cursor: default; }
@media (min-width: 600px) { .f26-carrusel-track { grid-auto-columns: calc((100% - 12px) / 2); } }
@media (min-width: 900px) {
	.f26-carrusel-track { grid-auto-columns: calc((100% - 24px) / 3); }
	.f26-flecha-prev { left: -10px; }
	.f26-flecha-next { right: -10px; }
}

/* ==========================================================================
   LA ESCUELA EN DETALLE: el diseño de siempre de KIDSin (banda amarilla con cajas blancas, icono + etiqueta + valor)
   ========================================================================== */
.f26-main .f26-detalle-head { padding-bottom: clamp(14px, 1.8vw, 22px); }
.f26-banda { padding: clamp(24px, 3.4vw, 40px) var(--f26-pad-x); background: var(--hp26-amarillo); box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15); }
.f26-banda-grid { display: grid; grid-template-columns: 1fr; gap: 12px 24px; }
@media (min-width: 640px) { .f26-banda-grid { grid-template-columns: 1fr 1fr; } }
.f26-dato { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 8px 14px; background: #fff; }
.f26-main .f26-dato-ico { flex: none; width: 45px; height: 45px; }
.f26-dato-lbl { flex: 1 1 auto; min-width: 0; font-size: 17px; line-height: 1.3; color: #7c8791; }
.f26-dato-val { flex: 0 1 auto; min-width: 0; text-align: right; font-size: 17px; font-weight: 800; line-height: 1.3; color: var(--hp26-magenta); overflow-wrap: break-word; }
.f26-main .f26-dato-sino { flex: none; width: 32px; height: 32px; }
.f26-dato-ancho { grid-column: 1 / -1; flex-wrap: wrap; }
.f26-dato-ancho .f26-dato-lbl { flex: 0 0 auto; }
.f26-dato-ancho .f26-dato-val { flex: 1 1 260px; text-align: left; }
@media (min-width: 640px) { .f26-dato-ancho .f26-dato-val { text-align: right; } }

/* ¿Sabías qué? */
.f26-main .f26-sabias-wrap { padding-top: clamp(18px, 2.2vw, 26px); }
.f26-sabias {
	display: flex; flex-wrap: wrap; align-items: flex-start; gap: clamp(14px, 2vw, 28px);
	padding: clamp(18px, 2.2vw, 28px); border: clamp(5px, .6vw, 7px) solid var(--hp26-amarillo); border-radius: 26px; background: #fffdf3;
}
.f26-main .f26-sabias img { flex: 0 0 auto; width: clamp(76px, 8vw, 110px); height: auto; }
.f26-sabias-txt { flex: 1 1 280px; min-width: 0; }
.f26-sabias .f26-prose { margin-top: 10px; font-size: clamp(15px, 1.5vw, 17px); font-weight: 600; }

/* ==========================================================================
   NIVELES (acordeón)
   ========================================================================== */
.f26-acordeon { margin-top: clamp(14px, 1.8vw, 20px); display: flex; flex-direction: column; gap: 10px; }
.f26-acc { border: 1px solid var(--hp26-linea); border-radius: 18px; background: var(--hp26-blanco); overflow: hidden; }
.f26-acc.is-open { border-color: var(--hp26-amarillo); }
.f26-acc-btn {
	display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%;
	padding: clamp(15px, 1.6vw, 20px) clamp(16px, 1.8vw, 22px); border: none; background: var(--hp26-blanco); cursor: pointer; text-align: left;
}
.f26-acc-tit { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.f26-acc-nivel { font-size: clamp(17px, 1.8vw, 21px); font-weight: 800; color: var(--hp26-negro); }
.f26-acc-edades { font-size: 14px; font-weight: 600; color: var(--f26-gris); }
.f26-acc-sign { flex: none; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 999px; background: var(--hp26-amarillo); font-size: 18px; font-weight: 800; color: var(--hp26-negro); }
.f26-acc-sign::before { content: '+'; }
.f26-acc.is-open .f26-acc-sign::before { content: '−'; }
.f26-acc-body { padding: 0 clamp(16px, 1.8vw, 22px) clamp(18px, 2vw, 24px); }
.f26-acc-bloque { padding: 14px 0; border-top: 1px solid var(--hp26-linea); }
.f26-main .f26-acc-bloque h4 { margin-bottom: 6px; font-size: 12px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--hp26-azul); }
.f26-acc-bloque .f26-prose { font-size: 15px; }

/* ==========================================================================
   SOBRE · ENTREVISTA · COMPARTIR · CONTACTO
   ========================================================================== */
.f26-main .f26-sobre { background: var(--f26-hueso); }
.f26-sobre-txt { margin-top: clamp(12px, 1.6vw, 18px); }
.f26-sobre-txt p { margin: 0 0 14px; font-size: clamp(16px, 1.6vw, 18px); line-height: 1.7; font-weight: 500; color: var(--hp26-texto); text-wrap: pretty; }
.f26-sobre-txt p:last-child { margin-bottom: 0; }
.f26-sobre-txt strong, .f26-sobre-txt b { font-weight: 800; color: var(--hp26-negro); }

.f26-entrevista .f26-h2 { margin-top: 6px; }
.f26-qa-lista { margin-top: clamp(16px, 2vw, 24px); display: flex; flex-direction: column; gap: clamp(12px, 1.4vw, 18px); }
.f26-qa { padding: clamp(16px, 1.8vw, 22px); border-left: 4px solid var(--hp26-magenta); border-radius: 0 18px 18px 0; background: var(--f26-rosa); }
.f26-main .f26-qa h3 { font-size: clamp(16px, 1.6vw, 19px); font-weight: 800; line-height: 1.4; color: var(--hp26-negro); text-wrap: pretty; }
.f26-qa .f26-prose { margin-top: 8px; line-height: 1.65; }

.f26-main .f26-compartir { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 24px; text-align: center; padding-top: clamp(22px, 2.8vw, 36px); padding-bottom: clamp(22px, 2.8vw, 36px); background: var(--hp26-amarillo); }
.f26-compartir p { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 2px 12px; font-size: 18px; font-weight: 600; color: var(--hp26-texto); }
.f26-compartir-mano { font-family: 'Amatic SC', cursive; font-weight: 700; font-size: clamp(32px, 3.4vw, 42px); line-height: 1; color: var(--hp26-magenta); }
.f26-compartir b { font-weight: 800; color: var(--hp26-negro); }

.f26-contacto { padding: clamp(18px, 2.4vw, 32px) var(--f26-pad-x); background: var(--hp26-azul); }
.f26-contacto-box {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: clamp(14px, 2vw, 28px);
	padding: clamp(14px, 1.8vw, 22px) clamp(16px, 2.4vw, 32px); border: clamp(5px, .6vw, 7px) solid var(--hp26-amarillo); border-radius: 24px; background: var(--hp26-blanco);
}
.f26-main .f26-contacto-box img { flex: none; width: clamp(64px, 7vw, 92px); height: auto; }
.f26-main .f26-contacto-box .f26-h2 { flex: 1 1 260px; min-width: 0; font-size: clamp(30px, 3.4vw, 42px); }

/* ==========================================================================
   CALIFICAR
   ========================================================================== */
.f26-calif-form { display: flex; flex-direction: column; gap: clamp(16px, 2vw, 22px); padding: clamp(18px, 2.6vw, 36px); border-radius: 28px; background: var(--f26-rosa); }
.f26-calif-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); gap: clamp(10px, 1.2vw, 14px); }
.f26-calif-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 14px; margin: 0; padding: 12px 16px; border: 2px solid transparent; border-radius: 18px; background: var(--hp26-blanco); min-width: 0; }
.f26-calif-row.is-error { border-color: var(--hp26-magenta); }
.f26-calif-row legend { float: left; flex: 1 1 140px; min-width: 0; padding: 0; font-size: 15px; line-height: 1.4; font-weight: 700; color: var(--hp26-negro); }
/* Estrellas de entrada: los radios van de 5 a 1 en el HTML y se pintan al revés, así "~" colorea las anteriores */
.f26-rate { display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; }
.f26-rate input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.f26-rate label { padding: 0 2px; font-size: 28px; line-height: 1; color: #e3c6d3; cursor: pointer; transition: color .12s; }
.f26-rate label:hover, .f26-rate label:hover ~ label, .f26-rate input:checked ~ label { color: #e0a700; }
.f26-rate input:focus-visible + label { outline: 2px solid var(--hp26-azul); outline-offset: 2px; border-radius: 4px; }

.f26-campos-fila { display: flex; flex-wrap: wrap; align-items: flex-end; gap: clamp(10px, 1.4vw, 16px); }
.f26-campo { flex: 1 1 200px; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.f26-campo > span { font-size: 15px; font-weight: 700; color: var(--hp26-negro); }
.f26-campo small { font-weight: 500; color: var(--f26-gris); }
.f26-campo input, .f26-campo select, .f26-campo textarea, .f26-canal input[type="tel"], .f26-canal input[type="email"] {
	width: 100%; padding: 14px 16px; font-family: Raleway, sans-serif; font-size: 16px; font-weight: 500; color: var(--hp26-negro);
	border: 2px solid #cfe9f8; border-radius: 14px; background: var(--hp26-blanco); outline: none;
}
.f26-calif-form .f26-campo input, .f26-calif-form .f26-campo select, .f26-calif-form .f26-campo textarea { border-color: var(--hp26-blanco); }
.f26-campo textarea { resize: vertical; }
.f26-campo input:focus, .f26-campo select:focus, .f26-campo textarea:focus, .f26-canal input:focus { border-color: var(--hp26-azul); box-shadow: 0 0 0 3px rgba(0, 158, 226, .2); }
.f26-campo .is-error, .f26-canal .is-error { border-color: var(--hp26-magenta) !important; }
.f26-check { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; font-weight: 500; line-height: 1.45; color: var(--f26-gris); cursor: pointer; }
.f26-check input { flex: none; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--hp26-magenta); cursor: pointer; }
.f26-check a { font-weight: 800; color: var(--hp26-magenta); }
.f26-check.is-error span { color: var(--hp26-magenta); }
.f26-calif-enviar { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; }
.f26-calif-enviar .hp26-btn { flex: 1 1 260px; }
.f26-calif-enviar .g-recaptcha { flex: none; max-width: 100%; overflow: hidden; }
.f26-form-msg { font-size: 15px; font-weight: 700; color: var(--hp26-magenta); }
.f26-form-msg:empty { display: none; }
.f26-gracias { padding: clamp(20px, 2.6vw, 36px); border-radius: 28px; background: var(--f26-rosa); text-align: center; }
.f26-gracias p { margin-top: 10px; font-size: 16px; font-weight: 600; color: var(--hp26-texto); }

/* ==========================================================================
   OTRAS ESCUELAS (tarjetas como las de la grilla del hub)
   ========================================================================== */
.f26-otras-grid { margin-top: clamp(16px, 2vw, 26px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: clamp(14px, 1.8vw, 24px); }
.f26-otra { display: flex; flex-direction: column; border: 1px solid var(--hp26-amarillo); border-radius: 14px; background: var(--hp26-blanco); text-decoration: none; overflow: hidden; transition: transform .18s, box-shadow .18s; }
.f26-otra:hover { transform: translateY(-4px); box-shadow: 0 10px 28px rgba(0, 0, 0, .12); }
.f26-otra-logo { display: flex; align-items: center; justify-content: center; height: clamp(110px, 12vw, 140px); padding: 12px; }
.f26-main .f26-otra-logo img { max-height: 100%; width: auto; object-fit: contain; }
.f26-otra-nombre { display: block; padding: 11px 16px; background: var(--hp26-amarillo); font-size: 16px; font-weight: 800; line-height: 1.25; color: var(--hp26-blanco); text-align: center; text-transform: uppercase; text-wrap: pretty; }
.f26-otra-info { flex: 1 1 auto; display: flex; flex-direction: column; gap: 8px; padding: 13px 16px 16px; background: var(--f26-hueso); }
.f26-otra-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.f26-otra-tipo { font-size: 14px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #6b7280; }
.f26-otra-row .f26-stars { color: var(--hp26-amarillo); }
.f26-otra-niveles { font-size: 15px; font-weight: 800; line-height: 1.35; color: #a97600; }

/* ==========================================================================
   CLASES: costos (extras + aviso), datos de la academia, "Completa tu ficha" (Básico), dónde y quién, sobre, entrevista
   ========================================================================== */
.f26-precio-extra { margin-top: clamp(14px, 1.8vw, 20px); padding: clamp(16px, 2vw, 24px); border-radius: 18px; background: var(--hp26-blanco); border: 1px dashed var(--hp26-azul); }
.f26-main .f26-precio-extra h3 { font-size: clamp(18px, 1.9vw, 22px); font-weight: 800; line-height: 1.3; color: var(--f26-azul-osc); }
.f26-precio-extra .f26-prose { margin-top: 12px; font-size: clamp(16px, 1.6vw, 18px); }
.f26-precio-disc { font-size: 15px; line-height: 1.55; font-weight: 500; color: var(--f26-gris); }
.f26-precio-extra .f26-prose + .f26-precio-disc { margin-top: 16px; }

.f26-filas { margin: clamp(14px, 1.8vw, 22px) 0 0; display: flex; flex-direction: column; border-top: 1px solid var(--hp26-amarillo); }
.f26-fila { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 24px; padding: 13px 2px; border-bottom: 1px solid var(--hp26-amarillo); }
.f26-fila dt { flex: 0 0 220px; min-width: 0; font-size: 16px; line-height: 1.45; font-weight: 500; color: var(--f26-gris); }
.f26-fila dd { flex: 1 1 200px; min-width: 0; margin: 0; font-size: 17px; line-height: 1.45; font-weight: 700; color: var(--hp26-negro); text-wrap: pretty; overflow-wrap: break-word; }
.f26-mapa { font-weight: 700; color: var(--hp26-azul); white-space: nowrap; }
.f26-mapa:hover { color: var(--hp26-magenta); }

.f26-main .f26-completa { padding-top: 0; }
.f26-completa-box {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px;
	padding: clamp(16px, 2vw, 24px) clamp(18px, 2.4vw, 32px); border: clamp(5px, .6vw, 7px) solid var(--hp26-amarillo); border-radius: 24px; background: #fffdf3;
}
.f26-completa-box p { flex: 1 1 280px; min-width: 0; font-size: 17px; line-height: 1.45; font-weight: 600; color: var(--hp26-texto); text-wrap: pretty; }
.f26-completa-box b { font-weight: 800; color: var(--hp26-negro); }

.f26-donde-txt { margin-top: clamp(14px, 1.8vw, 22px); padding-top: 14px; border-top: 1px solid var(--hp26-amarillo); }
.f26-donde-txt p { margin-bottom: .9em; }

.f26-main .f26-sobre-h { margin-top: clamp(22px, 2.6vw, 32px); }
.f26-sobre-txt.f26-prose { margin-top: clamp(12px, 1.6vw, 18px); font-size: clamp(16px, 1.6vw, 18px); line-height: 1.7; }
.f26-qa-intro { margin-top: 10px; font-size: clamp(16px, 1.6vw, 18px); line-height: 1.65; }
.f26-main .f26-sabias h2.f26-h3 { margin: 0; }
/* ==========================================================================
   DOCTORES (tmp/Ficha Doctor KIDSin.html): acentos en azul (body.ficha26-doc), especialidad y clínica en el hero, precio
   único, tarjetas de datos, cajas de consultorio con mapa, H3 de "Sobre…"
   ========================================================================== */
.ficha26-doc .f26-hero, .ficha26-doc .f26-modal-box { border-color: var(--hp26-azul); }
.ficha26-doc .f26-toc { border-bottom-color: var(--hp26-azul); }
.ficha26-doc .f26-pill-rating { background: var(--f26-celeste); border-color: var(--hp26-azul); }
.ficha26-doc .f26-contacto { background: var(--hp26-amarillo); }
.ficha26-doc .f26-contacto-box { border-color: var(--hp26-azul); }
.ficha26-doc .f26-calif-form { background: var(--f26-celeste); }
.ficha26-doc .f26-main .f26-calif-form .f26-h2 { color: var(--f26-azul-osc); }
.ficha26-doc .f26-calif-form .f26-eyebrow-rosa { color: var(--f26-azul-osc); }
.ficha26-doc .f26-rate label { color: #b9d4e2; }
.ficha26-doc .f26-rate label:hover, .ficha26-doc .f26-rate label:hover ~ label, .ficha26-doc .f26-rate input:checked ~ label { color: #e0a700; }
.ficha26-doc .f26-gracias { background: var(--f26-celeste); }
.ficha26-doc .f26-otra { border-color: var(--hp26-azul); }
.ficha26-doc .f26-otra-nombre { background: var(--hp26-azul); }
.ficha26-doc .f26-otra-niveles { color: var(--f26-azul-osc); }
.ficha26-doc .f26-desglose { background: var(--f26-hueso); }
.ficha26-doc .f26-desglose-row { border-bottom-color: var(--hp26-linea); }

.f26-especialidad { font-size: clamp(17px, 1.8vw, 21px); font-weight: 700; line-height: 1.35; color: var(--f26-azul-osc); text-wrap: pretty; }
.f26-donde-hero { margin-top: -6px; font-size: 16px; font-weight: 700; line-height: 1.4; color: var(--hp26-texto); text-wrap: pretty; }
.f26-logo-foto { padding: 0; }
.f26-main .f26-logo-foto img { object-fit: cover; }

.f26-precio-doc { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.f26-main .f26-precio-doc .f26-h2 { flex: 1 1 320px; min-width: 0; }
.f26-precio-pill { flex: none; max-width: 100%; padding: 12px 24px; border-radius: 999px; background: var(--hp26-blanco); border: 1px solid #cfe9f8; font-size: clamp(22px, 2.4vw, 30px); font-weight: 800; line-height: 1.1; color: var(--hp26-negro); overflow-wrap: break-word; }
.f26-main .f26-precio-doc-disc { margin-top: clamp(12px, 1.4vw, 16px); font-size: 14px; line-height: 1.5; color: var(--hp26-texto); }

.f26-tarjetas { margin: clamp(16px, 2vw, 24px) 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: clamp(10px, 1.2vw, 14px); }
.f26-tarjeta { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; border-radius: 16px; background: var(--f26-hueso); }
.f26-tarjeta dt { font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: #6b7280; }
.f26-tarjeta dd { margin: 0; font-size: clamp(17px, 1.7vw, 20px); font-weight: 800; line-height: 1.25; color: var(--hp26-negro); text-wrap: pretty; overflow-wrap: break-word; }

.f26-consultorio {
	margin-top: clamp(18px, 2.2vw, 26px); display: flex; flex-wrap: wrap; gap: clamp(14px, 1.8vw, 24px);
	padding: clamp(16px, 2.2vw, 28px); border: clamp(5px, .6vw, 7px) solid var(--hp26-azul); border-radius: 26px; background: #f4fbff;
}
.f26-consultorio-txt { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.f26-consultorio-ante { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--hp26-azul); }
.f26-main .f26-consultorio-nombre { font-size: clamp(19px, 2vw, 24px); font-weight: 800; line-height: 1.25; color: var(--hp26-negro); text-wrap: pretty; overflow-wrap: break-word; }
.f26-consultorio-dir { font-size: clamp(16px, 1.6vw, 18px); line-height: 1.5; font-weight: 700; color: var(--hp26-negro); text-wrap: pretty; overflow-wrap: break-word; }
.f26-consultorio-hora { font-size: 15px; font-weight: 600; color: var(--hp26-texto); }
.f26-main .f26-servicios { display: flex; flex-wrap: wrap; gap: 10px; margin: 4px 0 0; padding: 0; list-style: none; }
.f26-servicios li { padding: 8px 15px; border-radius: 999px; background: var(--hp26-blanco); border: 1px solid #cfe9f8; font-size: 14px; font-weight: 700; color: var(--f26-azul-osc); }
.f26-consultorio-otras { font-size: 15px; }
.f26-consultorio-mapa { flex: 1 1 280px; min-width: 0; min-height: clamp(200px, 20vw, 260px); border-radius: 20px; overflow: hidden; background: var(--hp26-blanco); border: 1px solid #cfe9f8; }
.f26-consultorio-mapa iframe { display: block; width: 100%; height: 100%; min-height: clamp(200px, 20vw, 260px); border: 0; }

.f26-main .f26-sobre-h3 { margin-top: clamp(20px, 2.4vw, 28px); font-size: clamp(18px, 1.9vw, 22px); font-weight: 800; line-height: 1.3; color: var(--hp26-negro); text-wrap: pretty; }
.f26-sobre-h3 + .f26-sobre-txt.f26-prose { margin-top: 8px; }

/* ==========================================================================
   MODALES (informes y compartir)
   ========================================================================== */
.f26-modal { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: flex-start; justify-content: center; padding: clamp(12px, 3vw, 40px); background: rgba(26, 26, 26, .55); overflow: auto; overscroll-behavior: contain; }
.f26-modal-box { position: relative; width: 100%; max-width: 720px; margin: auto 0; padding: clamp(18px, 2.6vw, 36px); border: clamp(5px, .6vw, 7px) solid var(--hp26-amarillo); border-radius: 28px; background: var(--hp26-blanco); }
.f26-modal-sm { max-width: 440px; }
.f26-modal-head { display: flex; align-items: flex-start; gap: 16px; }
.f26-modal-head > :first-child { flex: 1 1 auto; min-width: 0; margin: 0; }
.f26-modal .f26-h2 { font-family: 'Amatic SC', cursive; font-weight: 700; font-size: clamp(32px, 3.6vw, 44px); line-height: 1; color: var(--hp26-negro); text-wrap: pretty; }
.f26-modal-close { flex: none; width: 44px; height: 44px; border: 2px solid var(--hp26-linea); border-radius: 999px; background: var(--hp26-blanco); font-size: 22px; font-weight: 800; line-height: 1; color: var(--hp26-negro); cursor: pointer; }
.f26-modal-close:hover { border-color: var(--hp26-magenta); color: var(--hp26-magenta); }
.f26-info-form { margin-top: clamp(16px, 2vw, 22px); display: flex; flex-direction: column; gap: clamp(14px, 1.6vw, 18px); }
.f26-fieldset { margin: 0; padding: 0; border: none; min-width: 0; }
.f26-fieldset legend { padding: 0 0 9px; font-size: 15px; font-weight: 600; color: var(--hp26-texto); }
.f26-info-form .f26-campo > span { font-weight: 600; color: var(--hp26-texto); }
.f26-opciones, .f26-canales { display: flex; flex-wrap: wrap; gap: 10px; }
.f26-opcion { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border: 2px solid #cfe9f8; border-radius: 14px; font-size: 15px; font-weight: 700; color: var(--hp26-negro); cursor: pointer; min-width: 0; }
.f26-opcion input { flex: none; width: 20px; height: 20px; margin: 0; accent-color: var(--hp26-azul); }
.f26-canal { flex: 1 1 240px; min-width: 0; display: flex; align-items: center; gap: 10px; padding: 6px 6px 6px 14px; border: 2px solid #cfe9f8; border-radius: 14px; cursor: pointer; }
.f26-canal input[type="checkbox"] { flex: none; width: 22px; height: 22px; margin: 0; accent-color: var(--hp26-azul); }
.f26-canal > span { flex: none; font-size: 15px; font-weight: 800; color: var(--hp26-negro); }
.f26-main .f26-canal input[type="tel"], .f26-canal input[type="tel"], .f26-canal input[type="email"] { flex: 1 1 90px; min-width: 0; padding: 10px 12px; border: none; border-left: 1px solid var(--hp26-linea); border-radius: 0; }
.f26-info-form .f26-check input { accent-color: var(--hp26-azul); }
.f26-info-form .f26-check a { color: var(--hp26-azul); }
.f26-modal .f26-gracias { margin-top: 16px; background: var(--f26-celeste); }

.f26-share-lista { margin-top: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.f26-share {
	display: flex; align-items: center; justify-content: center; padding: 14px 12px; border: none; border-radius: 14px; cursor: pointer;
	font-family: Raleway, sans-serif; font-size: 15px; font-weight: 800; color: #fff; text-decoration: none;
}
.f26-share:hover { filter: brightness(.9); color: #fff; }
.f26-share-fb { background: #0165e1; }
.f26-share-wa { background: #1faa3d; }
.f26-share-x { background: #000; }
.f26-share-link { background: var(--hp26-magenta); }

body.f26-modal-abierto { overflow: hidden; }

/* ==========================================================================
   BARRA FIJA DEL CTA (todas las fichas): monstruo + botón que abre el modal. Sale cuando el hero deja la pantalla (js/ficha26.js).
   Celular: barra abajo de lado a lado, el monstruo se asoma por arriba. Escritorio (≥900px): tarjeta flotante abajo a la derecha.
   ========================================================================== */
.f26-cta {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 900;
	display: flex; align-items: center; gap: 12px;
	padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
	background: var(--hp26-blanco); border-top: 3px solid var(--hp26-amarillo); box-shadow: 0 -6px 20px rgba(26, 26, 26, .12);
	transform: translateY(calc(100% + 40px)); visibility: hidden; transition: transform .28s ease, visibility 0s .28s;
}
.f26-cta.is-visible { transform: none; visibility: visible; transition: transform .28s ease; }
.f26-cta-img { flex: none; width: 62px; height: auto; max-height: 84px; object-fit: contain; object-position: bottom; margin-top: -34px; align-self: flex-end; }
.f26-cta-txt { display: none; margin: 0; font-size: 15px; line-height: 1.25; color: var(--hp26-negro); }
.f26-cta-txt b { display: block; font-weight: 800; }
.f26-cta-txt span { font-size: 13px; font-weight: 600; color: #6b6b6b; }
.f26-cta-btn { flex: 1 1 auto; min-width: 0; padding: 15px 18px; font-size: 13px; white-space: normal; line-height: 1.2; text-align: center; }
.f26-cta-cerrar { position: absolute; top: -15px; right: 12px; z-index: 1; width: 30px; height: 30px; padding: 0; border: 2px solid var(--hp26-linea); border-radius: 999px; background: var(--hp26-blanco); box-shadow: 0 2px 6px rgba(26, 26, 26, .15); font-size: 18px; font-weight: 800; line-height: 1; color: var(--hp26-negro); cursor: pointer; }
.f26-cta-cerrar:hover { border-color: var(--hp26-magenta); color: var(--hp26-magenta); }
/* Saludo: sólo la primera vez que aparece la barra, ~3 s (js/ficha26.js); luego imagen quieta */
.f26-cta-img.is-saluda { transform-origin: 50% 100%; animation: f26-saluda .8s ease-in-out 4; }
@keyframes f26-saluda { 0%, 100% { rotate: 0deg; } 25% { rotate: -9deg; } 75% { rotate: 9deg; } }
@media (prefers-reduced-motion: reduce) { .f26-cta-img.is-saluda { animation: none; } }
@media (min-width: 600px) and (max-width: 899px) {
	.f26-cta-txt { display: block; flex: 1 1 auto; min-width: 0; }
	.f26-cta-btn { flex: none; }
}
body.f26-modal-abierto .f26-cta { visibility: hidden; }
@media (max-width: 899px) {
	body.f26-cta-on { padding-bottom: 76px; } /* que el footer no quede tapado */
	body.f26-cta-on .hp26-goup { bottom: 92px; }
}
@media (min-width: 900px) {
	.f26-cta {
		left: auto; right: 24px; bottom: 24px; width: 290px;
		flex-direction: column; gap: 12px; padding: 48px 20px 20px; text-align: center;
		border: 4px solid var(--hp26-amarillo); border-radius: 28px; box-shadow: 0 12px 32px rgba(26, 26, 26, .18);
		transform: translateY(24px); opacity: 0; transition: transform .28s ease, opacity .28s ease, visibility 0s .28s;
	}
	.f26-cta.is-visible { transform: none; opacity: 1; transition: transform .28s ease, opacity .28s ease; }
	.f26-cta-img { position: absolute; top: -44px; left: 50%; width: 80px; max-height: 86px; margin: 0; transform: translateX(-50%); }
	.f26-cta-cerrar { top: 10px; right: 10px; box-shadow: none; }
	.f26-cta-txt { display: block; font-size: 17px; }
	.f26-cta-btn { width: 100%; padding: 16px 18px; }
	body.f26-cta-on .hp26-goup { right: 330px; }
}

/* ==========================================================================
   PARQUES (tmp/Ficha Parque KIDSin (1).html): hero con borde azul (body.ficha26-par), entrada y descuento en el hero,
   atracciones, edades, tarifas, opinión de KIDSin, ubicación y consejos
   ========================================================================== */
.ficha26-par .f26-hero { border-color: var(--hp26-azul); }
.f26-main .f26-subtitulo { margin-top: 6px; font-size: clamp(17px, 1.8vw, 21px); font-weight: 600; line-height: 1.35; color: var(--f26-gris); text-wrap: pretty; }
.f26-main .f26-h2-azul { color: var(--hp26-azul); }
.f26-eyebrow-ocre { color: #a97600; }

.f26-entrada { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; margin-top: 4px; }
.f26-entrada-box { display: flex; flex-direction: column; justify-content: center; gap: 2px; padding: 12px 18px; border-radius: 16px; background: var(--f26-rosa); text-decoration: none; }
.f26-entrada-box span { font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: #a33a6c; }
.f26-entrada-box b { font-size: 19px; font-weight: 800; color: var(--hp26-negro); }
.f26-descuento { display: inline-flex; align-items: center; gap: 9px; padding: 12px 18px; border-radius: 16px; background: #e8f6ee; font-size: 15px; font-weight: 800; color: #0a6b39; }
.f26-descuento > span { display: flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 6px; background: #0a8f4a; font-size: 13px; color: var(--hp26-blanco); }
.f26-descuento-no { background: var(--f26-hueso); color: var(--f26-gris); font-weight: 700; }

.f26-main .f26-atracciones { background: var(--f26-celeste); }
.f26-atr-grid { margin-top: clamp(16px, 2vw, 24px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: clamp(14px, 1.8vw, 22px); }
.f26-atr { display: flex; flex-direction: column; border-radius: 20px; background: var(--hp26-blanco); border: 1px solid #cfe9f8; overflow: hidden; }
.f26-atr-foto { display: block; height: clamp(170px, 18vw, 230px); background: #f0f7fb; }
.f26-main .f26-atr-foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.f26-atr-txt { display: flex; flex-direction: column; gap: 10px; padding: clamp(18px, 2vw, 24px); }
.f26-atr-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; }
.f26-main .f26-atr-head h3 { flex: 1 1 160px; min-width: 0; font-size: clamp(19px, 2vw, 23px); font-weight: 800; line-height: 1.25; color: var(--hp26-negro); text-wrap: pretty; }
.f26-atr-precio { flex: none; max-width: 100%; padding: 6px 13px; border-radius: 999px; background: var(--f26-rosa); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--hp26-magenta); overflow-wrap: break-word; }
.f26-atr-precio.is-incluido { background: #e8f6ee; color: #0a6b39; }
.f26-atr-desc { font-size: 16px; line-height: 1.55; font-weight: 500; color: var(--f26-gris); text-wrap: pretty; }
.f26-atr-desc p { margin: 0; }
.f26-atr-cond { margin-top: clamp(16px, 2vw, 22px); color: #3d6b83; font-size: 15px; }
.f26-atr-disc { margin-top: 12px; font-size: 15px; line-height: 1.55; font-weight: 500; color: #3d6b83; text-wrap: pretty; }
.f26-precios-par .f26-atr-disc { color: var(--f26-gris); }

.f26-edades-lista { margin-top: clamp(14px, 1.8vw, 22px); display: flex; flex-direction: column; gap: 14px; }
.f26-edades-lista p { font-size: clamp(16px, 1.7vw, 18px); line-height: 1.6; font-weight: 500; color: var(--hp26-texto); text-wrap: pretty; }
.f26-edades-lista strong { font-weight: 800; color: var(--hp26-negro); }

.f26-tarifas { margin-top: clamp(16px, 2vw, 24px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: clamp(14px, 1.8vw, 20px); }
.f26-tarifa { --f26-t-borde: #0a8f4a; --f26-t-fondo: #e8f6ee; display: flex; flex-direction: column; border: 2px solid var(--f26-t-borde); border-radius: 22px; background: var(--hp26-blanco); overflow: hidden; }
.f26-tarifa-1 { --f26-t-borde: var(--hp26-azul); --f26-t-fondo: var(--f26-celeste); }
.f26-tarifa-2 { --f26-t-borde: var(--hp26-amarillo); --f26-t-fondo: #fff8e1; }
.f26-tarifa-3 { --f26-t-borde: var(--hp26-magenta); --f26-t-fondo: var(--f26-rosa); }
.f26-main .f26-tarifa h3 { display: flex; align-items: center; min-height: 3.9em; padding: clamp(14px, 1.6vw, 18px) clamp(18px, 2.2vw, 26px); background: var(--f26-t-fondo); font-size: clamp(19px, 2vw, 23px); font-weight: 800; line-height: 1.3; color: var(--hp26-negro); text-wrap: pretty; }
.f26-tarifa-body { flex: 1 1 auto; display: flex; flex-direction: column; gap: 14px; padding: clamp(18px, 2.2vw, 26px); }
.f26-tarifa-precios { display: flex; flex-wrap: wrap; gap: 12px 28px; }
.f26-tarifa-precios > span { display: flex; flex-direction: column; gap: 2px; }
.f26-tarifa-precios > span > span { font-size: 14px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--f26-gris); }
.f26-tarifa-precios strong { font-size: clamp(24px, 2.6vw, 30px); font-weight: 800; line-height: 1.1; color: var(--hp26-negro); }
.f26-tarifa-nota { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--hp26-linea); font-size: 16px; line-height: 1.5; font-weight: 600; color: var(--hp26-texto); text-wrap: pretty; }
.f26-main .f26-paquetes-tit { margin-top: clamp(26px, 3.2vw, 40px); font-size: clamp(20px, 2.2vw, 26px); font-weight: 800; line-height: 1.25; color: var(--hp26-negro); }
.f26-paquetes-tit + .f26-paquetes { margin-top: clamp(12px, 1.4vw, 16px); }
.f26-paquetes + .f26-precios-nota { margin-top: clamp(16px, 2vw, 22px); }
.f26-precios-nota { margin-top: 14px; font-size: 15px; line-height: 1.55; font-weight: 600; color: var(--hp26-texto); text-wrap: pretty; }

.f26-opinion-grid { margin-top: clamp(16px, 2vw, 24px); display: flex; flex-wrap: wrap; align-items: flex-start; gap: clamp(12px, 1.6vw, 20px); }
.f26-opinion-box { flex: 1 1 320px; min-width: 0; padding: clamp(18px, 2.2vw, 26px); border-radius: 22px; background: #f2f9f6; border: 2px solid #0a8f4a; }
.f26-opinion-mejora { flex-basis: 280px; background: var(--f26-rosa); border-color: var(--hp26-magenta); }
.f26-main .f26-opinion-box h3 { font-size: clamp(18px, 1.9vw, 22px); font-weight: 800; color: #0a6b39; }
.f26-main .f26-opinion-mejora h3 { color: var(--hp26-magenta); }
.f26-main .f26-opinion-box ul, .f26-main .f26-ubi-llegar ul, .f26-main .f26-sabias-par ul { margin: 14px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; }
.f26-opinion-box li, .f26-sabias-par li { display: flex; gap: 11px; font-size: 16px; line-height: 1.55; font-weight: 500; color: #1f3d2c; text-wrap: pretty; }
.f26-opinion-mejora li { color: #3d2330; }
.f26-opinion-box li > span:first-child { flex: none; font-size: 15px; font-weight: 800; color: #0a8f4a; }
.f26-opinion-mejora li > span:first-child { color: var(--hp26-magenta); }
.f26-opinion-box li > span:last-child, .f26-sabias-par li > span:last-child { flex: 1 1 auto; min-width: 0; }
.f26-opinion-box strong, .f26-consejos-lista strong, .f26-sabias-par strong, .f26-ubi-llegar strong { font-weight: 800; }
.f26-opinion-box a, .f26-consejos-lista a, .f26-sabias-par a, .f26-ubi-llegar a { color: var(--hp26-magenta); }

.f26-main .f26-ubicacion { background: #f2f9f6; }
.f26-ubi-grid { margin-top: clamp(16px, 2vw, 24px); display: flex; flex-wrap: wrap; gap: clamp(12px, 1.6vw, 20px); }
.f26-ubi-datos { flex: 1 1 300px; min-width: 0; display: flex; flex-direction: column; gap: 12px; padding: clamp(18px, 2.2vw, 26px); border-radius: 22px; background: var(--hp26-blanco); border: 2px solid var(--hp26-amarillo); }
.f26-ubi-datos dl { margin: 0; display: flex; flex-direction: column; gap: 12px; }
.f26-ubi-datos dt { font-size: 14px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--hp26-magenta); }
.f26-ubi-datos dd { margin: 3px 0 0; font-size: 17px; line-height: 1.5; font-weight: 600; color: var(--hp26-negro); text-wrap: pretty; overflow-wrap: break-word; }
.f26-ubi-mapa { align-self: flex-start; margin-top: 4px; }
.f26-ubi-llegar { flex: 1 1 340px; min-width: 0; padding: clamp(18px, 2.2vw, 26px); border-radius: 22px; background: var(--hp26-blanco); }
.f26-main .f26-ubi-llegar h3 { font-size: clamp(18px, 1.9vw, 22px); font-weight: 800; color: var(--hp26-negro); }
.f26-ubi-llegar li { position: relative; padding-left: 19px; font-size: 16px; line-height: 1.5; font-weight: 500; color: var(--hp26-texto); text-wrap: pretty; }
.f26-ubi-llegar li::before { content: ''; position: absolute; left: 0; top: 8px; width: 8px; height: 8px; border-radius: 999px; background: var(--hp26-azul); }

.f26-main .f26-consejos { background: #fff8e1; }
.f26-main .f26-consejos-lista { margin: clamp(16px, 2vw, 24px) 0 0; padding: 0; list-style: none; border-top: 2px solid var(--hp26-amarillo); }
.f26-consejos-lista li { display: flex; align-items: baseline; gap: clamp(14px, 1.6vw, 22px); padding: clamp(14px, 1.6vw, 20px) 0; border-bottom: 2px solid var(--hp26-amarillo); }
.f26-consejo-n { flex: none; width: 1.6em; font-size: clamp(18px, 1.9vw, 22px); font-weight: 800; color: #a97600; }
.f26-consejos-lista p { flex: 1 1 auto; min-width: 0; font-size: clamp(17px, 1.8vw, 19px); line-height: 1.55; font-weight: 500; color: var(--hp26-texto); text-wrap: pretty; }
.f26-sabias-par { margin-top: clamp(18px, 2.2vw, 26px); padding: clamp(16px, 2vw, 24px); border-radius: 18px; background: var(--hp26-blanco); border: 2px solid var(--hp26-amarillo); }
.f26-consejos .f26-sabias-par:first-child { margin-top: 0; }
.f26-main .f26-sabias-par .f26-h3 { font-size: clamp(28px, 3.2vw, 38px); color: var(--hp26-magenta); }
.f26-sabias-par li { color: var(--hp26-texto); }
.f26-sabias-par li > span:first-child { flex: none; font-weight: 800; color: var(--hp26-magenta); }

/* ==========================================================================
   MUSEOS Y CULTURA (tmp/Ficha Museos y Cultura.html; decisiones en tmp/FICHA26-museos.md): hero con borde azul
   (body.ficha26-mus), entrada y "Actividades desde" en el hero, datos en corto y "Qué hay adentro". Opinión, ubicación
   y consejos usan las piezas de parques.
   ========================================================================== */
.ficha26-mus .f26-hero { border-color: var(--hp26-azul); }
.f26-entrada-box.is-verde { background: #e8f6ee; }
.f26-entrada-box.is-verde span { color: #0a6b39; }

.f26-main .f26-corto { background: var(--f26-celeste); }
.f26-corto-grid { margin-top: clamp(16px, 2vw, 24px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: clamp(12px, 1.4vw, 16px); }
.f26-corto-card { display: flex; flex-direction: column; gap: 5px; padding: clamp(16px, 1.8vw, 22px); border-radius: 20px; background: var(--hp26-blanco); border: 1px solid #cfe9f8; }
.f26-corto-label { font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--f26-azul-osc); }
.f26-corto-valor { font-size: clamp(18px, 1.9vw, 21px); font-weight: 800; line-height: 1.3; color: var(--hp26-negro); text-wrap: pretty; overflow-wrap: break-word; }
.f26-corto-nota { font-size: 14px; line-height: 1.45; font-weight: 500; color: var(--f26-gris); text-wrap: pretty; }

.ficha26-mus .f26-main .f26-atracciones { background: var(--hp26-blanco); }
.ficha26-mus .f26-atr { border: 3px solid var(--hp26-azul); box-shadow: 0 6px 18px rgba(0, 0, 0, .07); }
.f26-main .f26-atr-cuando { margin: 0; font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--f26-azul-osc); }
.ficha26-mus .f26-atr-cond { color: var(--f26-gris); }

/* "Lo que nos gusta" con un párrafo que presenta una lista (La Ceiba) */
.f26-main .f26-opinion-box li ul { display: block; margin: 8px 0 0; padding-left: 20px; list-style: disc; }
.f26-main .f26-opinion-box li li { display: list-item; margin-top: 4px; }

/* ==========================================================================
   Salones de fiestas (body.ficha26-sal; mockup tmp/Ficha Salon KIDSin.html; decisiones en tmp/FICHA26-salones.md §0)
   ========================================================================== */

/* Hero: "Precios desde" (rosa) y "Capacidad" (celeste) */
.f26-cifras { display: flex; flex-wrap: wrap; gap: 10px; }
.f26-cifra { display: flex; flex-direction: column; gap: 2px; padding: 11px 20px; border-radius: 18px; text-decoration: none; }
.f26-cifra > span { font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.f26-cifra b { font-size: clamp(22px, 2.4vw, 28px); font-weight: 800; line-height: 1.1; }
.f26-cifra-precio { background: var(--f26-rosa); border: 1px solid #f4c9dd; }
.f26-cifra-precio > span { color: #a33a6c; }
.f26-cifra-precio b { color: var(--hp26-magenta); }
.f26-cifra-cap { background: var(--f26-celeste); border: 1px solid #cfe9f8; }
.f26-cifra-cap > span, .f26-cifra-cap b { color: var(--f26-azul-osc); }

/* Instalaciones: filas etiqueta / valor en dos columnas (una en móvil) */
.f26-main .f26-inst { margin: clamp(14px, 1.8vw, 22px) 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 0 clamp(24px, 4vw, 64px); border-top: 1px solid var(--hp26-amarillo); }
.f26-inst-fila { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; padding: 13px 2px; border-bottom: 1px solid var(--hp26-amarillo); }
.f26-inst-fila dt { flex: 0 0 168px; min-width: 0; font-size: 16px; line-height: 1.45; font-weight: 500; color: var(--f26-gris); }
.f26-inst-fila dd { flex: 1 1 120px; min-width: 0; margin: 0; font-size: 17px; line-height: 1.45; font-weight: 700; color: var(--hp26-negro); text-wrap: pretty; }

/* Paquetes y costos */
.f26-main .f26-paquetes-sal { background: var(--f26-celeste); }
.f26-paquetes-sal .f26-precios { grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }
.f26-main .f26-paquetes-sal .f26-precio-card h3 { font-size: 14px; }
.f26-paq-dur { margin-top: 6px; font-size: 18px; font-weight: 700; color: var(--hp26-texto); }
.f26-main .f26-paq-incluye { margin: 0; padding: 12px 0 0; list-style: none; display: flex; flex-direction: column; gap: 10px; border-top: 1px solid var(--hp26-linea); }
.f26-paq-incluye li { position: relative; padding-left: 16px; font-size: 17px; line-height: 1.5; font-weight: 500; color: var(--hp26-texto); text-wrap: pretty; overflow-wrap: break-word; }
.f26-paq-incluye li::before { content: '·'; position: absolute; left: 2px; top: 0; font-weight: 800; color: var(--hp26-azul); }
.f26-paq-incluye strong { font-weight: 800; color: var(--hp26-negro); }
.f26-aviso { margin-top: clamp(14px, 1.8vw, 20px); font-size: 14px; line-height: 1.5; font-style: italic; font-weight: 500; color: var(--f26-gris); text-wrap: pretty; }

/* Opiniones: calificación de Google con su fecha */
.f26-google { margin-top: 10px; font-size: 14px; line-height: 1.5; font-weight: 600; color: var(--f26-gris); }
.f26-google b { color: var(--hp26-negro); }

/* "Sobre {nombre}": subtítulos que vienen del contenido */
.ficha26-sal .f26-main .f26-sobre-txt h3 { margin: 1.2em 0 .5em; font-size: clamp(18px, 1.9vw, 21px); font-weight: 800; line-height: 1.3; color: var(--hp26-negro); }

/* ===================== Tiendas y servicios (tmp/FICHA26-tiendas-servicios.md) ===================== */
/* Productos / paquetes: tarjetas con foto opcional, como las de paquetes de salones */
.f26-main .f26-productos { background: var(--f26-celeste); }
.f26-productos .f26-precios { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.f26-main .f26-productos .f26-precio-card h3 { font-size: 16px; font-weight: 800; line-height: 1.3; letter-spacing: 0; text-transform: none; color: var(--hp26-negro); }
.f26-productos .f26-precio-mes { font-size: clamp(22px, 2.2vw, 28px); }
.f26-prod-foto { display: block; aspect-ratio: 4 / 3; border-radius: 14px; overflow: hidden; background: var(--f26-hueso); }
.f26-prod-foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.f26-prod-nota { margin-top: clamp(14px, 1.8vw, 20px); font-size: 16px; line-height: 1.55; font-weight: 600; color: var(--hp26-texto); }
.f26-main .f26-prod-nota ul { margin: 0; padding-left: 1.2em; list-style: disc; display: flex; flex-direction: column; gap: 6px; }

/* Hero y pastillas como el mockup de tiendas / servicios: borde magenta, pastillas rosas */
.ficha26-tie .f26-hero, .ficha26-tie .f26-modal-box { border-color: var(--hp26-magenta); }
.ficha26-tie .f26-tags span { background: var(--f26-rosa); color: #a33a6c; }

/* "Qué vas a encontrar" / "Qué ofrece": caja punteada magenta bajo las filas de Datos */
.f26-encontrar { margin-top: clamp(14px, 1.8vw, 20px); padding: clamp(16px, 2vw, 24px); border-radius: 18px; background: var(--hp26-blanco); border: 1px dashed var(--hp26-magenta); }
.f26-main .f26-encontrar h3 { font-size: clamp(18px, 1.9vw, 22px); font-weight: 800; line-height: 1.3; color: var(--hp26-magenta); }
.f26-main .f26-encontrar ul { margin: 14px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 11px; }
.f26-encontrar li { position: relative; padding-left: 18px; font-size: clamp(16px, 1.6vw, 18px); line-height: 1.6; font-weight: 500; color: var(--hp26-texto); text-wrap: pretty; }
.f26-encontrar li::before { content: '·'; position: absolute; left: 2px; top: 0; font-weight: 800; color: var(--hp26-magenta); }
.f26-encontrar li strong, .f26-encontrar li b { font-weight: 800; }
.f26-encontrar-aviso { margin-top: 16px; font-size: 15px; line-height: 1.55; font-weight: 500; color: var(--f26-gris); }

/* Promedios de opiniones: tarjetas amarillas del mockup */
.f26-promedios { margin-top: clamp(16px, 2vw, 24px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 10px; }
.f26-promedio { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px; border-radius: 16px; background: #fff8e1; }
.f26-promedio-lbl { font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: #a97600; }
.f26-promedio-val { font-size: 17px; color: var(--hp26-negro); }
.f26-promedio-val .f26-stars { letter-spacing: .08em; color: #e0a700; }
.f26-promedio-val b { font-weight: 800; }

/* Ubicación y horarios: recuadro magenta con los datos a la izquierda y "Cómo llegar →" a la derecha */
.f26-sede { margin-top: clamp(16px, 2vw, 24px); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; padding: clamp(16px, 2vw, 22px) clamp(18px, 2.2vw, 26px); border: 2px solid var(--hp26-magenta); border-radius: 22px; background: var(--hp26-blanco); }
.f26-sede + .f26-sede { margin-top: 12px; }
.f26-sede-txt { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 7px; }
.f26-main .f26-sede-txt p { font-size: 16px; line-height: 1.5; font-weight: 500; color: var(--hp26-texto); text-wrap: pretty; overflow-wrap: break-word; }
.f26-sede-btn { flex: none; padding: 14px 26px; border-radius: 999px; background: var(--hp26-azul); color: var(--hp26-blanco); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
.f26-sede-btn:hover { background: var(--hp26-magenta); color: var(--hp26-blanco); }

/* Detalle de precios de los paquetes (tarjetas con filas concepto / precio) y notas en caja */
.f26-precios.f26-prod-tablas { margin-top: clamp(12px, 1.4vw, 18px); grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.f26-prod-tabla dl { margin: 0; display: flex; flex-direction: column; }
.f26-prod-tabla dl > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px dashed #cfe9f8; }
.f26-prod-tabla dl > div:last-child { border-bottom: 0; padding-bottom: 0; }
.f26-prod-tabla dt { min-width: 0; font-size: 16px; line-height: 1.4; font-weight: 600; color: var(--hp26-texto); }
.f26-prod-tabla dd { margin: 0; flex: none; font-size: 18px; font-weight: 800; color: var(--hp26-negro); white-space: nowrap; }
.f26-prod-notas { margin-top: clamp(12px, 1.4vw, 18px); display: flex; flex-direction: column; gap: 12px; padding: clamp(16px, 2vw, 24px); border-radius: 22px; background: var(--hp26-blanco); border: 1px solid #cfe9f8; }
.f26-prod-notas .f26-prod-nota { margin-top: 0; }
.f26-main .f26-prod-notas ul { list-style: none; padding-left: 0; }
.f26-prod-notas li { position: relative; padding-left: 18px; }
.f26-prod-notas li::before { content: '·'; position: absolute; left: 2px; top: 0; font-weight: 800; color: var(--hp26-azul); }

/* Zonas donde da servicio: pastillas rosas del mockup */
.f26-main .f26-cobertura-txt { margin-top: 8px; font-size: 16px; line-height: 1.55; font-weight: 500; color: var(--f26-gris); }
.f26-zonas { margin-top: clamp(14px, 1.8vw, 20px); display: flex; flex-wrap: wrap; gap: 10px; }
.f26-zonas span { padding: 10px 20px; border-radius: 999px; background: var(--f26-rosa); border: 1px solid #f4cbdd; font-size: 15px; font-weight: 700; color: #a33a6c; }

/* ==========================================================================
   TRÁMITES (body.ficha26-tra; mockup tmp/Ficha Tramite KIDSin.html; partes ficha26/*-tramite.php)
   ========================================================================== */
/* Hero: "✓ Verificado el …" (amarillo) + categoría (celeste) y datos rápidos en caja azul */
.f26-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: clamp(16px, 2.2vw, 26px); }
.f26-chip-verif { display: inline-flex; align-items: center; gap: 6px; padding: 7px 15px 7px 11px; border-radius: 999px; background: var(--hp26-amarillo); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--hp26-negro); }
.f26-chip-cat { padding: 7px 14px; border-radius: 999px; background: var(--f26-celeste); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--f26-azul-osc); }
.f26-main .f26-rapidos { align-self: stretch; margin: clamp(6px, 1vw, 12px) 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 0 clamp(24px, 3vw, 48px); padding: clamp(6px, 1vw, 12px) clamp(16px, 2vw, 24px); border: 2px solid var(--hp26-azul); border-radius: 20px; background: var(--hp26-blanco); }
.f26-rapidos > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 18px; padding: 13px 0; border-bottom: 1px solid #cfe9f8; }
.f26-rapidos dt { flex: none; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #6b7280; }
.f26-rapidos dd { margin: 0; flex: 0 1 auto; min-width: 0; font-size: clamp(16px, 1.6vw, 18px); font-weight: 600; line-height: 1.35; color: var(--hp26-negro); text-wrap: pretty; overflow-wrap: break-word; }
.ficha26-tra .f26-hero-btns { padding-top: clamp(8px, 1.4vw, 16px); }

/* HTML que viene del contenido (párrafos, listas, capturas) */
.f26-tra-html { font-size: 16px; line-height: 1.6; font-weight: 500; color: var(--hp26-texto); text-wrap: pretty; overflow-wrap: break-word; }
.f26-tra-html p { margin: 0 0 .7em; }
.f26-tra-html > :last-child, .f26-tra-html p:last-child { margin-bottom: 0; }
.f26-main .f26-tra-html ul { list-style: disc; padding-left: 1.3em; margin: .4em 0 .7em; }
.f26-main .f26-tra-html ol { list-style: decimal; padding-left: 1.4em; margin: .4em 0 .7em; }
.f26-tra-html li { margin: 0 0 .35em; }
.f26-tra-html strong, .f26-tra-html b { font-weight: 800; color: var(--hp26-negro); }
.f26-tra-html a { color: var(--hp26-magenta); font-weight: 700; }
.f26-main .f26-tra-html h3, .f26-main .f26-tra-html h4 { margin: 1em 0 .4em; font-size: 17px; font-weight: 800; color: var(--hp26-negro); }
.f26-main .f26-tra-html > h3:first-child, .f26-main .f26-tra-html > h4:first-child { margin-top: 0; }
.f26-tra-html img { display: block; max-width: 100%; height: auto; margin: 12px 0; border-radius: 14px; border: 1px solid #ececec; }
.f26-tra-html .wp-caption { width: auto !important; max-width: 100%; margin: 12px 0; }
.f26-tra-html .wp-caption-text { margin: 4px 0 0; font-size: 13px; font-weight: 600; color: var(--f26-gris); }

/* ¿Dónde se saca? */
.f26-tra-donde { background: var(--f26-celeste); }
.f26-tra-sedes { margin-top: clamp(16px, 2vw, 24px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: clamp(12px, 1.4vw, 18px); }
.f26-tra-sede { display: flex; flex-direction: column; gap: 12px; padding: clamp(18px, 2vw, 26px); border-radius: 22px; background: var(--hp26-blanco); border: 1px solid #cfe9f8; min-width: 0; }
.f26-main .f26-tra-sede h3 { font-size: clamp(18px, 1.9vw, 22px); font-weight: 800; line-height: 1.25; text-wrap: pretty; }
.f26-tra-sede dl { margin: 0; display: flex; flex-direction: column; gap: 9px; }
.f26-tra-sede dl > div { display: flex; gap: 10px; padding-top: 9px; border-top: 1px solid #ececec; }
.f26-tra-sede dt { flex: none; width: 92px; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #6b7280; }
.f26-tra-sede dd { margin: 0; flex: 1 1 auto; min-width: 0; font-size: 15px; line-height: 1.5; font-weight: 600; color: var(--hp26-negro); overflow-wrap: break-word; }
.f26-main .f26-tra-mapa { align-self: flex-start; margin-top: auto; }

/* ¿Cómo se tramita, paso a paso? */
.f26-tra-entrada, .f26-tra-grupo-intro, .f26-tra-despues { margin-top: clamp(14px, 1.8vw, 20px); }
.f26-tra-grupo-intro { font-weight: 700; color: var(--hp26-negro); }
.f26-main .f26-tra-pasos { margin: clamp(14px, 1.8vw, 22px) 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: clamp(12px, 1.4vw, 18px); }
.f26-tra-paso { display: flex; flex-wrap: wrap; gap: clamp(14px, 1.8vw, 22px); padding: clamp(16px, 1.8vw, 24px); border: 1px solid #ececec; border-radius: 22px; background: var(--hp26-blanco); }
.f26-tra-paso-n { flex: none; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 999px; background: var(--hp26-amarillo); font-size: 19px; font-weight: 800; color: var(--hp26-negro); }
.f26-tra-paso-txt { flex: 1 1 280px; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 8px; }
.f26-main .f26-tra-paso-txt h3 { font-size: clamp(17px, 1.8vw, 21px); font-weight: 800; line-height: 1.3; text-wrap: pretty; }
.f26-tra-captura { flex: 1 1 260px; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.f26-tra-captura img { display: block; width: 100%; height: auto; border-radius: 16px; border: 1px solid #ececec; background: var(--f26-hueso); }
.f26-tra-captura p { margin: 0; }
.f26-tra-captura .wp-caption { width: auto !important; margin: 0; }
.f26-tra-captura .wp-caption-text { margin: 4px 0 0; font-size: 13px; font-weight: 600; color: var(--f26-gris); }
.f26-tra-otro .f26-tra-html { margin-top: clamp(14px, 1.8vw, 20px); }

/* Requisitos */
.f26-tra-req { background: var(--f26-hueso); }
.f26-tra-req-grid { margin-top: clamp(14px, 1.8vw, 22px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); gap: clamp(12px, 1.4vw, 18px); align-items: start; }
.f26-tra-req-card { display: flex; flex-direction: column; gap: 12px; padding: clamp(18px, 2vw, 24px); border-radius: 22px; background: var(--hp26-blanco); border: 1px solid #ececec; min-width: 0; }
.f26-main .f26-tra-req-card h3 { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--hp26-azul); line-height: 1.4; }
.f26-main .f26-tra-req-card > ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 11px; }
.f26-tra-req-card > ul > li { display: flex; gap: 10px; }
.f26-tra-req-card > ul > li > .f26-tra-html { flex: 1 1 auto; min-width: 0; font-weight: 600; color: var(--hp26-negro); }
.f26-tra-check { flex: none; color: var(--hp26-magenta); font-weight: 800; line-height: 1.6; }
.f26-tra-nota { font-size: 15px; color: var(--f26-gris); }

/* Costo: caja amarilla con la cifra y el detalle (tabla, formas de pago, texto y aviso) */
.f26-tra-costo-box { margin-top: clamp(16px, 2vw, 24px); display: flex; flex-wrap: wrap; align-items: flex-start; gap: clamp(16px, 2vw, 32px); padding: clamp(20px, 2.4vw, 32px); border: clamp(5px, .6vw, 7px) solid var(--hp26-amarillo); border-radius: 26px; background: #fffdf3; }
.f26-tra-costo-cifra { flex: 0 0 auto; max-width: 100%; }
.f26-main .f26-tra-costo-txt { margin: 0; font-size: clamp(34px, 4.4vw, 56px); font-weight: 800; line-height: 1; color: var(--hp26-magenta); overflow-wrap: break-word; }
.f26-main .f26-tra-costo-nota { margin: 6px 0 0; font-size: 14px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #a97600; }
.f26-tra-costo-detalle { flex: 1 1 300px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.f26-tra-costo-detalle .f26-tra-html { font-size: clamp(15px, 1.5vw, 17px); }
.f26-tra-costo-detalle .f26-aviso { margin-top: 0; }
.f26-tra-tabla { width: 100%; border-collapse: collapse; font-size: 15px; background: var(--hp26-blanco); border-radius: 14px; overflow: hidden; }
.f26-tra-tabla th { padding: 10px 14px; text-align: left; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #a97600; background: #fff6d6; }
.f26-tra-tabla td { padding: 11px 14px; border-top: 1px solid #f3e6b8; font-weight: 600; line-height: 1.4; color: var(--hp26-negro); vertical-align: top; overflow-wrap: break-word; }
.f26-tra-tabla td:last-child, .f26-tra-tabla th:last-child { text-align: right; white-space: nowrap; font-weight: 800; }
.f26-main .f26-tra-pagos { margin: 0; font-size: 15px; font-weight: 600; color: var(--hp26-texto); }
.f26-tra-pagos b { font-weight: 800; color: var(--hp26-negro); }

/* Opiniones: qué se califica; formulario: escala de cada criterio */
.f26-main .f26-resenas-desc { margin-top: 8px; font-size: 15px; line-height: 1.55; font-weight: 600; color: var(--hp26-texto); text-wrap: pretty; }
.f26-calif-escala { flex: 1 0 100%; font-size: 12px; font-weight: 600; color: var(--f26-gris); }

/* Recomendaciones y consejos: tarjetas con borde magenta */
.f26-tra-consejos .f26-h2 { margin-top: 6px; }
.f26-tra-consejos-lista { margin-top: clamp(16px, 2vw, 24px); display: flex; flex-direction: column; gap: clamp(10px, 1.2vw, 14px); }
.f26-main .f26-tra-consejo { padding: clamp(16px, 1.8vw, 22px); border-left: 4px solid var(--hp26-magenta); border-radius: 0 18px 18px 0; background: var(--f26-rosa); font-size: clamp(16px, 1.6vw, 18px); font-weight: 600; color: var(--hp26-negro); }

/* Reportar un cambio: banda gris sobre el footer */
.f26-tra-reportar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; padding: clamp(24px, 3vw, 40px) var(--f26-pad-x); background: #464b5e; }
.f26-main .f26-tra-reportar-tit { margin: 0; flex: 1 1 320px; min-width: 0; font-size: clamp(19px, 2vw, 22px); font-weight: 700; line-height: 1.3; color: var(--hp26-blanco); text-wrap: pretty; }
.f26-tra-reportar-form { flex: 1 1 420px; min-width: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.f26-tra-reportar-form input[type="text"] { flex: 1 1 220px; min-width: 0; padding: 13px 18px; font-family: Raleway, sans-serif; font-size: 16px; font-weight: 500; color: var(--hp26-negro); border: 2px solid #666c80; border-radius: 999px; background: var(--hp26-blanco); }
.f26-tra-reportar-form .hp26-btn { flex: none; }
.f26-main .f26-tra-reportar-form .f26-form-msg { flex: 1 0 100%; margin: 0; font-size: 14px; font-weight: 600; color: #eceef3; }

/* ===================== Restaurantes (tmp/Ficha Restaurante KIDSin.html; tmp/FICHA26-restaurantes.md) ===================== */
.ficha26-rst .f26-hero { border-color: var(--hp26-magenta); }

/* ¿Qué tiene para niños?: tarjetas blancas Sí / No sobre celeste + caja punteada de dietas */
.f26-main .f26-rst-ninos { background: var(--f26-celeste); }
.f26-main .f26-rst-amen { margin: clamp(16px, 2vw, 24px) 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: clamp(10px, 1.2vw, 14px); }
.f26-rst-amen li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; border-radius: 18px; background: var(--hp26-blanco); border: 1px solid #cfe9f8; }
.f26-rst-amen li span { flex: 1 1 auto; min-width: 0; font-size: 16px; line-height: 1.35; font-weight: 700; color: var(--hp26-negro); text-wrap: pretty; }
.f26-rst-amen li b { flex: none; font-size: 15px; font-weight: 800; }
.f26-rst-amen .is-si { color: #0a8f4a; }
.f26-rst-amen .is-no { color: #b3b3b3; }
.f26-rst-dietas { margin-top: clamp(14px, 1.8vw, 20px); padding: clamp(16px, 2vw, 24px); border-radius: 18px; background: var(--hp26-blanco); border: 1px dashed var(--hp26-azul); }
.f26-main .f26-rst-dietas h3 { font-size: clamp(18px, 1.9vw, 22px); font-weight: 800; line-height: 1.3; color: var(--f26-azul-osc); }
.f26-rst-dietas p { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 10px; }
.f26-rst-dietas p span { padding: 9px 18px; border-radius: 999px; background: #fff8e1; border: 1px solid var(--hp26-amarillo); font-size: 15px; font-weight: 700; color: var(--hp26-negro); }

/* Precios y promociones: tarjetas de precio como las de escuelas (adulto, niño) y la promoción en amarillo, más ancha */
.f26-rst-precios .f26-precios { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.f26-rst-precios .f26-precio-card { border: 2px solid #cfe9f8; }
.f26-rst-precios .f26-rst-promo { grid-column: span 2; background: #fff8e1; border-color: var(--hp26-amarillo); }
.f26-main .f26-rst-promo h3 { color: #a97600; }
.f26-rst-promo p { font-size: clamp(18px, 1.9vw, 22px); line-height: 1.4; font-weight: 800; color: var(--hp26-negro); text-wrap: pretty; overflow-wrap: break-word; }
@media (max-width: 560px) { .f26-rst-precios .f26-rst-promo { grid-column: auto; } }

/* Ubicación y horarios: recuadro amarillo por sucursal (el de tiendas es magenta) */
.f26-rst-ubi-intro { margin-top: 8px; font-size: 16px; line-height: 1.55; font-weight: 500; color: var(--f26-gris); }
.f26-rst-ubi .f26-sede { border-color: var(--hp26-amarillo); }
.f26-main .f26-rst-ubi .f26-sede-txt h3 { font-size: clamp(18px, 1.9vw, 22px); font-weight: 800; line-height: 1.25; color: var(--hp26-negro); text-wrap: pretty; overflow-wrap: break-word; }

/* ===================== Playas y clubs de playa (tmp/Ficha Playa.html; tmp/FICHA26-playas.md) ===================== */
.ficha26-pla .f26-hero { border-color: var(--hp26-azul); }
.f26-chip-bandera { display: inline-flex; align-items: center; gap: 8px; padding: 7px 15px; border-radius: 999px; background: var(--f26-celeste); border: 1px solid var(--hp26-azul); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--f26-azul-osc); }

/* Antes de meterse al agua: tarjetas blancas sobre celeste; el borde dice si es algo bueno (verde), a vigilar (magenta) o un dato (amarillo) */
.f26-main .f26-pla-seg { background: var(--f26-celeste); }
.f26-pla-seg-grid { margin-top: clamp(16px, 2vw, 24px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: clamp(12px, 1.4vw, 16px); }
.f26-pla-seg-card { display: flex; flex-direction: column; gap: 5px; padding: clamp(16px, 1.8vw, 22px); border-radius: 20px; background: var(--hp26-blanco); border: 3px solid var(--hp26-amarillo); }
.f26-pla-seg-card.is-ok { border-color: #0a8f4a; }
.f26-pla-seg-card.is-ojo { border-color: var(--hp26-magenta); }
.f26-pla-seg-lbl { font-size: 15px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--hp26-texto); }
.f26-pla-seg-val { font-size: clamp(20px, 2.1vw, 24px); font-weight: 800; line-height: 1.25; color: var(--hp26-negro); text-wrap: pretty; overflow-wrap: break-word; }
.f26-pla-seg-card.is-ok .f26-pla-seg-val { color: #0a6b39; }
.f26-pla-seg-card.is-ojo .f26-pla-seg-val { color: var(--hp26-magenta); }
.f26-pla-seg-nota { margin-top: clamp(14px, 1.8vw, 20px); font-size: 15px; line-height: 1.55; font-weight: 500; color: #3d6b83; text-wrap: pretty; }
.f26-pla-seg-nota p { margin: 0; }
.f26-pla-seg-nota p + p { margin-top: 8px; }

/* Qué hay en la playa: verde con ✓ lo que tiene, gris con × lo que no */
.f26-main .f26-pla-serv-lista { margin: clamp(16px, 2vw, 24px) 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: clamp(10px, 1.2vw, 14px); }
.f26-pla-serv-lista li { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-radius: 16px; background: #f2f9f6; border: 1px solid #b9e0c9; font-size: 17px; font-weight: 700; line-height: 1.35; color: var(--hp26-negro); }
.f26-pla-serv-lista li.is-no { background: var(--f26-hueso); border-color: #e2e2e2; color: var(--f26-gris); }
.f26-pla-serv-ico { flex: none; display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 999px; background: #0a8f4a; color: var(--hp26-blanco); font-size: 15px; font-weight: 800; }
.f26-pla-serv-lista li.is-no .f26-pla-serv-ico { background: #9a9a9a; }

/* Precios (clubs): las tarjetas de restaurantes, sin el pie "platillo y bebida" */
.f26-pla-precios .f26-precio-card .f26-precio-mes { margin: 0; }

/* Club de playa (body.ficha26-rst, piezas de restaurantes): "Cómo llegar" bajo la tarjeta de ubicación */
.f26-main .f26-rst-llegar { margin-top: 12px; padding-left: 0; padding-right: 0; }

/* Servicios (14 oct 2026): calificación en línea y % que lo recomienda junto a la de KIDSin; nota del precio; paquetes en
   tabla con lo que incluye cada uno; "Cómo contratar a…"; preguntas frecuentes de la ficha; pie de foto de la galería */
.f26-google-srv { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; background: var(--hp26-blanco); border: 1px solid var(--hp26-linea); font-size: 14px; font-weight: 600; line-height: 1.3; color: var(--f26-gris); }
.f26-google-srv b { font-size: 15px; font-weight: 800; color: var(--hp26-negro); }
.f26-google-srv .f26-stars { color: #e0a700; }
.f26-tags .f26-precio-nota { align-self: center; font-size: 12px; font-weight: 600; color: var(--f26-gris); }
.f26-tabla-wrap { margin-top: clamp(14px, 1.8vw, 20px); overflow-x: auto; border: 1px solid #cfe9f8; border-radius: 18px; background: var(--hp26-blanco); -webkit-overflow-scrolling: touch; }
.f26-tabla-wrap:focus-visible { outline: 3px solid var(--hp26-azul); outline-offset: 2px; }
.f26-tabla { width: 100%; min-width: 420px; border-collapse: collapse; font-size: 16px; line-height: 1.4; }
.f26-tabla thead th { padding: 11px 16px; text-align: left; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--hp26-azul); background: #eef8fe; }
.f26-tabla tbody th, .f26-tabla td { padding: 12px 16px; border-top: 1px solid #e3f2fb; text-align: left; vertical-align: top; }
.f26-tabla tbody th { font-weight: 700; color: var(--hp26-negro); }
.f26-tabla td { font-size: 17px; font-weight: 800; color: var(--hp26-negro); white-space: nowrap; }
.f26-tabla th:last-child, .f26-tabla td:last-child { text-align: right; }
.f26-paquete-incluye { display: block; margin-top: 4px; font-size: 14px; font-weight: 500; color: var(--hp26-texto); }
.f26-paquetes + .f26-precios, .f26-tabla-wrap + .f26-precios { margin-top: clamp(14px, 1.8vw, 20px); }
.f26-condiciones-txt { margin-top: clamp(12px, 1.6vw, 18px); }
.f26-main .f26-condiciones-txt ul, .f26-main .f26-condiciones-txt ol { list-style: disc; padding-left: 1.3em; margin: .5em 0 .7em; }
.f26-main .f26-condiciones-txt ol { list-style: decimal; }
.f26-main .f26-condiciones-txt li { margin: 0 0 .4em; }
.f26-faqs-list { margin-top: clamp(14px, 1.8vw, 20px); display: flex; flex-direction: column; gap: 12px; }
.f26-faq { padding: clamp(16px, 2vw, 22px); border-radius: 18px; background: var(--hp26-blanco); border: 1px solid var(--hp26-linea); }
.f26-main .f26-faq h3 { margin: 0 0 8px; font-size: 17px; font-weight: 800; line-height: 1.35; color: var(--hp26-negro); }
.f26-foto { position: relative; }
.f26-foto-pie { position: absolute; left: 0; right: 0; bottom: 0; padding: 8px 12px; background: linear-gradient(transparent, rgba(0, 0, 0, .65)); font-size: 13px; font-weight: 600; line-height: 1.35; color: #fff; }

/* Salones (15 oct 2026): mapa incrustado bajo "Datos del salón" (salon_ubicacion_iframe), a todo el ancho, 16:9, máx. 360px en celular */
.f26-main .f26-mapa-tit { margin: clamp(20px, 2.6vw, 30px) 0 12px; font-size: clamp(18px, 1.9vw, 22px); font-weight: 800; line-height: 1.3; color: var(--hp26-negro); }
.f26-mapa-embed { position: relative; width: 100%; aspect-ratio: 16 / 9; border-radius: 22px; overflow: hidden; background: var(--f26-hueso); border: 1px solid var(--hp26-linea); }
.f26-mapa-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (max-width: 599px) { .f26-mapa-embed { aspect-ratio: 4 / 3; max-height: 360px; } }
