/* ==========================================================================
   BANNER DE CONSENTIMIENTO — skin v3 (crema / bosque / Outfit)

   Módulo real: CookiesJSR (NO eu-cookie-compliance). Este bloque salió de
   css/fase5-audit-fixes.css (clúster F) a su propio fichero para poder viajar
   en la library frontend/cookies — la que adjunta
   templates/cookies/cookies-block.html.twig y que SÍ carga también en la
   portada. fase5-audit-fixes.css va en frontend/global-styling, y
   frontend.theme retira esa library en la home (hook_page_attachments_alter),
   así que allí el banner se quedaba con el azul #004C93 por defecto del
   contrib. Una sola fuente: el clúster F ya no existe en fase5.

   POR QUÉ TODO var(--token) LLEVA FALLBACK HEX: el banner es position:fixed y
   vive fuera de .home-2026, y design-system-v3-tokens.css NO está adjunta en
   ninguna página (sigue registrada e inerte hasta C1+). En la home la paleta
   v3 vive SCOPEADA (redesign-2026.css: .home-2026, .site-footer, .skip-link…),
   así que --bosque y --crema no resuelven en el banner; en los interiores sí,
   heredados del :root legacy. Los fallbacks son los hex canónicos del v3
   (shared/design-tokens/tokens/v3.json), de modo que las dos rutas pintan lo
   mismo. --font-body sí resuelve en ambas (:root de redesign-2026.css, weight
   400, adjunta desde page.html.twig), y su fallback es el mismo stack Outfit.

   Theming legacy en style.css:12875+ con !important (botones 27px, texto 12px,
   fondo #31562d — que resulta ser el hex correcto del v3, aunque llegara antes
   de que el v3 lo nombrara --bosque). Los !important de este bloque vencen
   ESOS !important vía mayor especificidad (#cookiesjsr). No se añaden nuevos:
   el bloque de style.css se retira en su propia fase, no en esta.

   IDs de auditoría: P2-campamentos_tarifa-006, P2-home-004,
   P2-campamentos_toledo-007, P2-campamentos_layoscamp-santander-...-006,
   P2-cart-006, P2-contacto-006, P2-equipo-005, P2-politica-de-cookies-003,
   P2-cart-002, P3-campamentos_sotogrande-009, P3-campamentos_kids-camp-008,
   P3-preguntas-frecuentes-008, P3-campamentos_curso-...-009. Fila 1 de
   docs/audit-taste-d11-2026-08-24.md.

   REQUISITOS LEGALES aplicados:
   - Simetría estricta Permitir <-> Denegar: los TRES botones (Configuración,
     Denegar todo, Permitir todo) comparten exactamente el mismo estilo
     (se neutraliza la variante .important del módulo que destacaba Permitir).
   - Tap target >= 44px los tres; en columna a 360 caben sin scroll
     (~370px < 640px de viewport útil).
   - Texto banner >= 14px blanco sobre --bosque #31562D: 8.40:1, AA y AAA
     (medido con shared/design-tokens/scripts/contraste.mjs, no estimado).
   - Links a políticas visibles y SUBRAYADOS (AA), blanco 8.40:1.
   - Withdraw tab: N/A — CookiesJSR no tiene pestaña de retirada persistente;
     la reapertura va por link de footer (#modificarCookies, config
     openSettingsHash). No se oculta nada que el módulo ofrezca.

   NOTA CSS-vs-config: el banner usa los colores DEFAULT del módulo
   (drupalSettings sin theming) parcheados desde style.css legacy. Lo
   sostenible es definir las custom properties --banner-... y --btn-... del
   propio CookiesJSR (lib soporta vars) en la config del módulo o retirar
   el bloque legacy de style.css cuando se pueda tocar. Este bloque es el
   puente CSS hasta entonces.
   ========================================================================== */

/* Capa base del banner: v3 --bosque, --font-body (Outfit) >= 14px blanco */
#cookiesjsr .cookiesjsr-banner {
  background-color: var(--bosque, #31562D) !important; /* vence #31562d !important de style.css */
  font-family: var(--font-body, "Outfit", "Helvetica Neue", Arial, sans-serif);
  color: #fff;
}
#cookiesjsr .cookiesjsr-banner .cookiesjsr-banner--info {
  font-size: 0.875rem !important; /* vence 12px !important de style.css */
  line-height: 1.5;
  color: #fff;
}

/* Links a políticas: visibles + subrayado AA (blanco 8.40:1 sobre --bosque) */
#cookiesjsr .cookiesjsr-banner a,
#cookiesjsr .cookiesjsr-banner .cookiesjsr-links a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 2px;
}
#cookiesjsr .cookiesjsr-banner .cookiesjsr-banner--links {
  font-size: 0.875rem;
}

/* Botones: los TRES idénticos (simetría RGPD), >= 44px, pill blanco con
   texto --bosque (8.40:1). Se cubren .cookiesjsr-settings,
   [data-cookiesjsr="important.denyAll"] y [data-cookiesjsr="important.allowAll"]
   neutralizando la variante .important del módulo. */
#cookiesjsr .cookiesjsr-banner .cookiesjsr-btn,
#cookiesjsr .cookiesjsr-banner .cookiesjsr-btn.important,
#cookiesjsr .cookiesjsr-banner .cookiesjsr-btn.cookiesjsr-settings {
  min-height: 44px !important; /* vence min-height: initial !important de style.css */
  padding: 10px 18px;
  background-color: #fff !important; /* vence bg #31562d !important (settings) y default del lib */
  color: var(--bosque, #31562D) !important; /* vence color #31562d !important (.important) */
  border: 2px solid #fff;
  border-radius: 8px;
  font-family: var(--font-body, "Outfit", "Helvetica Neue", Arial, sans-serif);
  font-size: 0.875rem;
  font-weight: 600;
}
#cookiesjsr .cookiesjsr-banner .cookiesjsr-btn:hover,
#cookiesjsr .cookiesjsr-banner .cookiesjsr-btn:focus-visible {
  background-color: var(--crema, #FDF8EE) !important; /* vence hover white !important de style.css */
  color: var(--bosque, #31562D) !important; /* --bosque sobre --crema: 7.94:1, AA y AAA */
  border-color: var(--crema, #FDF8EE);
}

/* Backdrop gris del bloque de cookies del theme (cookies-block.html.twig
   pinta <div class="overlay"> con rgba(0,0,0,.5) z-index 1031 vía style.css):
   oscurecía TODA la página hasta consentir (P2-cart-002) y quedaba por
   debajo de las cards sticky en fichas (P3-campamentos_curso-...-009).
   El banner CookiesJSR no necesita backdrop (no es modal bloqueante).
   :has() acota al overlay hermano de #cookiesjsr para no tocar otros usos.
   !important: el JS del theme muestra el overlay con style.display inline
   (verificado en vivo: la regla sin !important matcheaba y no aplicaba). */
.overlay:has(+ #cookiesjsr) {
  display: none !important;
}
