/* Aviso de cookies (template-parts/cookies.php + assets/js/consentimiento.js). */

.ph-cookies {
	position: fixed; z-index: 60; left: 0; right: 0; bottom: 0;
	max-height: 90dvh; overflow-y: auto; padding: 22px 20px calc(20px + env(safe-area-inset-bottom));
	background: var(--hv-blanco); color: var(--hv-tinta);
	border-radius: var(--r-lg) var(--r-lg) 0 0; box-shadow: 0 -10px 50px -12px rgba(31, 36, 48, .45);
	display: flex; flex-direction: column; gap: 12px;
}
.ph-cookies[hidden] { display: none; }

.ph-cookies__cabeza { display: flex; align-items: center; gap: 12px; }
.ph-cookies__cabeza h2 { margin: 0; font-size: 22px; line-height: 1.2; font-weight: var(--fw-title); }
.ph-cookies__icono { position: relative; flex: none; width: 48px; height: 48px; border-radius: var(--r-pill); background: var(--hv-ocre); }
.ph-cookies__icono i { position: absolute; border-radius: var(--r-pill); background: #8F3415; }
.ph-cookies__icono i:nth-child(1) { left: 12px; top: 12px; width: 7px; height: 7px; }
.ph-cookies__icono i:nth-child(2) { left: 27px; top: 18px; width: 6px; height: 6px; }
.ph-cookies__icono i:nth-child(3) { left: 17px; top: 29px; width: 8px; height: 8px; }

.ph-cookies__texto { margin: 0; font-size: 17px; line-height: 1.5; color: #3A3F4C; text-wrap: pretty; }
.ph-cookies__enlaces { display: block; margin-top: 6px; font-size: 15px; font-weight: 700; }
.ph-cookies__enlaces a { display: inline-flex; align-items: center; min-height: 44px; }

.ph-cookies__acciones { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-top: 4px; }
.ph-cookies__acciones[hidden], .ph-cookies__configurar[hidden] { display: none; }
.ph-cookies .ph-btn { min-height: 56px; font-size: 17px; width: 100%; margin: 0; cursor: pointer; }
.ph-cookies__configurar {
	align-self: center; min-height: 44px; padding: 0 12px; border: 0; background: transparent;
	color: var(--hv-barro-600); font: 800 16px var(--font); cursor: pointer; text-decoration: underline;
}

.ph-cookies__lista { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--hv-linea); }
.ph-cookies__lista li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--hv-linea); }
.ph-cookies__que { line-height: 1.3; }
.ph-cookies__que b { display: block; font-size: 17px; font-weight: var(--fw-title); }
.ph-cookies__que small { font-size: 14px; color: var(--hv-tinta-2); font-weight: 600; }
.ph-cookies__fija { flex: none; font-size: 13px; font-weight: var(--fw-title); color: var(--hv-turquesa-700); }
.ph-cookies__config { display: flex; flex-direction: column; gap: 12px; }
.ph-cookies__config[hidden] { display: none; }

.ph-cookies__conmutador { flex: none; width: 56px; height: var(--tap); border: 0; background: transparent; cursor: pointer; display: grid; place-items: center; }
.ph-cookies__pista { position: relative; width: 52px; height: 30px; border-radius: var(--r-pill); background: var(--hv-niebla); transition: background .2s; }
.ph-cookies__perilla { position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: var(--r-pill); background: var(--hv-blanco); transition: left .2s; }
.ph-cookies__conmutador[aria-checked="true"] .ph-cookies__pista { background: var(--hv-barro-600); }
.ph-cookies__conmutador[aria-checked="true"] .ph-cookies__perilla { left: 25px; }

.ph-cookies a:focus-visible, .ph-cookies button:focus-visible { outline: none; box-shadow: var(--focus); border-radius: var(--r-pill); }

@media (min-width: 900px) {
	.ph-cookies { left: 24px; right: auto; bottom: 24px; width: 460px; border-radius: var(--r-lg); padding-bottom: 20px; }
}
@media (prefers-reduced-motion: reduce) {
	.ph-cookies__pista, .ph-cookies__perilla { transition: none; }
}

/* Enlaces legales y botón de preferencias en el pie */
.ph-footer__legal { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-3) var(--sp-6); }
.ph-footer__legales ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 var(--sp-5); }
.ph-footer__legales a, .ph-cookies-pref {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0; border: 0; background: transparent;
	color: var(--hv-niebla); font: inherit; font-size: 14px; text-decoration: underline; cursor: pointer;
}
.ph-footer__legales a:hover, .ph-cookies-pref:hover { color: var(--hv-ocre); }
.ph-footer__legales a:focus-visible, .ph-cookies-pref:focus-visible { outline: none; box-shadow: 0 0 0 3px var(--hv-tinta), 0 0 0 6px var(--hv-ocre); }

/* Páginas legales (page.php) */
.ph-pagina { max-width: 780px; padding-top: var(--sp-10); padding-bottom: var(--sp-10); }
.ph-pagina__titulo { margin: 0 0 var(--sp-4); font-size: var(--fs-h1); line-height: 1.08; font-weight: var(--fw-title); letter-spacing: -.02em; text-wrap: balance; }
.ph-pagina__fecha { margin: 0 0 var(--sp-6); font-size: var(--fs-meta); font-weight: var(--fw-meta); color: var(--hv-tinta-2); }
.ph-pagina__cuerpo { font-size: 18px; line-height: 1.7; }
.ph-pagina__cuerpo h2 { margin: var(--sp-10) 0 var(--sp-3); font-size: var(--fs-h3); line-height: 1.2; font-weight: var(--fw-title); }
.ph-pagina__cuerpo h3 { margin: var(--sp-6) 0 var(--sp-2); font-size: 20px; font-weight: var(--fw-title); }
.ph-pagina__cuerpo p { margin: 0 0 var(--sp-4); }
.ph-pagina__cuerpo ul { margin: 0 0 var(--sp-4); padding-left: 1.2em; }
.ph-pagina__cuerpo li { margin-bottom: var(--sp-2); }
.ph-pagina__cuerpo table { display: block; overflow-x: auto; width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.45; margin: var(--sp-4) 0; }
.ph-pagina__cuerpo th, .ph-pagina__cuerpo td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--hv-linea); }
.ph-pagina__cuerpo th { font-weight: var(--fw-title); background: var(--hv-blanco); white-space: nowrap; }
.ph-pagina__cuerpo code { font-size: .92em; background: var(--hv-ocre-100); padding: 1px 6px; border-radius: 4px; }
