/* =========================================================================
   Fiestas Patrias (decoración temporal, septiembre 2026) — recetas 1:1 de
   prototipo/Header.dc.html y prototipo/Inicio.dc.html (proyecto Claude Design
   «Auditoría de Oncocentro.cl», FIESTAS-PATRIAS-IMPLEMENTACION.md).
   Se encola solo cuando oc_fiestas_patrias() está en ventana (functions.php).
   Retiro definitivo: borrar esta hoja, los bloques condicionados en
   header.php / front-page.php / footer.php, los helpers de functions.php,
   assets/img/fiestas/ y assets/fonts/dancing-script-700.woff2.
   ========================================================================= */

/* Dancing Script solo mientras dure la campaña: como esta hoja solo se encola
   en ventana, el woff2 no se pide el resto del año. Self-hosted por la misma
   razón que el resto de las fuentes (descargar-fuentes.ps1): rendimiento y
   Ley 21.719 (no exponer IPs de visitantes de un sitio de salud a terceros). */
@font-face {
	font-family: 'Dancing Script';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('../fonts/dancing-script-700.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Guirnalda colgante del header (Inicio, Contacto y Postulación). El arranque
   queda metido bajo el borde del header sticky: contenedor de 86px cuyo borde
   inferior cae 66px por debajo del header. */
.oc-fiestas-guirnalda { position: absolute; left: 0; right: 0; bottom: -66px; height: 86px; pointer-events: none; z-index: 1; }
.oc-fiestas-guirnalda > svg { display: block; filter: drop-shadow(0 1.5px 2px rgba(32, 46, 71, 0.18)); }
.oc-fiestas-guirnalda__colgantes { position: absolute; top: 0; left: 0; right: 0; display: flex; justify-content: space-around; align-items: flex-start; padding: 0 18px; }
.oc-fiestas-guirnalda__item { display: flex; flex-direction: column; align-items: center; transform-origin: top center; }
.oc-fiestas-guirnalda__cuerda { display: block; width: 1px; background: rgba(107, 120, 143, 0.6); }
.oc-fiestas-guirnalda__colgante { display: block; filter: drop-shadow(0 1px 1px rgba(32, 46, 71, 0.18)); }

/* El panel de Sucursales y el menú móvil no declaran z-index en theme.css
   (se apilan por orden de documento); mientras la guirnalda exista deben
   superponérsele explícitamente. */
.oc-sucursales__panel, .oc-menu-movil { z-index: 8; }

@keyframes oc-fp-sway { 0%, 100% { transform: rotate(-1.6deg); } 50% { transform: rotate(1.6deg); } }
@keyframes oc-fp-sway2 { 0%, 100% { transform: rotate(1.8deg); } 50% { transform: rotate(-1.8deg); } }
@media (prefers-reduced-motion: reduce) { .oc-fiestas-guirnalda * { animation: none !important; } }

/* Móvil (≤700px): el prototipo ocultaba la guirnalda; Franco pidió verla
   también en el teléfono (2026-09-01, 2.ª). Adaptación: tubo completo y la
   MITAD de los colgantes — se ocultan los pares del DOM (índices impares del
   bucle PHP), quedan 9 de 17 y el margin-top bezier de los que sobreviven se
   desvía ≤3px de su posición re-espaciada, imperceptible. Las tres páginas
   decoradas ganan holgura extra arriba porque el header móvil mide 62px y los
   colgantes cuelgan hasta ~110px desde el borde superior. main.pg-… gana el
   empate de especificidad contra las hojas de página sin depender del orden
   de encolado. */
@media (max-width: 700px) {
	.oc-fiestas-guirnalda__item:nth-child(even) { display: none; }
	.oc-fiestas-guirnalda__colgantes { padding: 0 10px; }
	main.pg-inicio .in-hero__cont { padding-top: 62px; }
	main.pg-contacto .pg-contacto__hero-inner { padding-top: 56px; }
}

/* Ramada de eucalipto (solo Inicio): franja a caballo del borde hero/sección,
   sobre la primera sección tras el héroe. */
.pg-inicio .in-empiece { position: relative; }
.oc-fiestas-ramada { position: absolute; left: 0; right: 0; top: -16px; height: 32px; overflow: hidden; pointer-events: none; z-index: 2; }
.oc-fiestas-ramada svg { display: block; filter: drop-shadow(0 1px 1.5px rgba(32, 46, 71, 0.2)); }

/* Saludo caligráfico (solo Inicio): en flujo, texto plano sobre la franja
   blanca — sin vidrio, sin pill, sin fondo. El texto es contenido legible
   (única pieza sin aria-hidden). */
.oc-fiestas-saludo { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 10px; margin: -8px 0 26px; }
.oc-fiestas-saludo__fila { display: flex; align-items: center; gap: 14px; }
.oc-fiestas-saludo__fila svg { display: block; flex: none; }
.oc-fiestas-saludo__texto { font-family: 'Dancing Script', cursive; font-size: 29px; font-weight: 700; color: var(--navy); white-space: nowrap; line-height: 1; }
.oc-fiestas-saludo__huasos { height: 122px; width: auto; margin: -4px 0 -14px; }

/* Pudú «¡Viva Chile!» (solo Inicio): sobre el botón flotante de WhatsApp
   (bottom:26 right:26 z-index:70 en theme.css) sin taparlo ni robar clics. */
.oc-fiestas-pudu { position: fixed; right: 22px; bottom: 92px; z-index: 55; pointer-events: none; }
.oc-fiestas-pudu img { display: block; height: 130px; width: auto; filter: drop-shadow(0 6px 10px rgba(32, 46, 71, 0.3)); }
/* Móvil: 130px se veía fuera de lugar en el iPhone (Franco, 2026-09-01, 2.ª);
   se achica y se pega al borde, siempre despejado del botón de WhatsApp (que
   a ≤900px baja a bottom:16 right:16 y a ≤520px es circular de 50px). */
@media (max-width: 900px) {
	.oc-fiestas-pudu { right: 14px; bottom: 78px; }
	.oc-fiestas-pudu img { height: 92px; }
}

/* Holgura de Postulación bajo la guirnalda: 40px → 52px de padding-top.
   main.pg-… gana el empate de especificidad contra postulacion-estudio.css
   sin depender del orden de encolado. */
main.pg-postulacion-estudio .pe-contenedor { padding-top: 52px; }
/* En móvil la guirnalda ahora es visible y el header mide 62px: un poco más
   de holgura. Va DESPUÉS de la regla de 52px para ganar el empate. */
@media (max-width: 700px) {
	main.pg-postulacion-estudio .pe-contenedor { padding-top: 58px; }
}
