/* Banner de cookies — usa los tokens del tema La Haya (con valores de respaldo). */

.lh-cookies, .lh-cookies-prefs {
	--ck-bg: var(--arena-0, #FFFDF6);
	--ck-text: var(--basalto-900, #241C15);
	--ck-muted: var(--basalto-500, #6B5D4C);
	--ck-line: var(--border-subtle, rgba(36,28,21,.14));
	--ck-solid-bg: var(--basalto-900, #241C15);
	--ck-solid-text: var(--arena-50, #FAF5EA);
	--ck-solid-hover: var(--basalto-950, #17110B);
	--ck-link: var(--caldera-700, #7A3418);
	--ck-accent: var(--caldera-600, #95401F);
}
.lh-cookies--dark {
	--ck-bg: var(--basalto-950, #17110B);
	--ck-text: var(--arena-50, #FAF5EA);
	--ck-muted: var(--text-inverse-muted, rgba(250,245,234,.64));
	--ck-line: var(--border-inverse, rgba(250,245,234,.22));
	--ck-solid-bg: var(--arena-50, #FAF5EA);
	--ck-solid-text: var(--basalto-900, #241C15);
	--ck-solid-hover: var(--arena-200, #E8D9BE);
	--ck-link: var(--arena-200, #E8D9BE);
	--ck-accent: var(--mosto-400, #C79A3B);
}
.lh-cookies--marino {
	--ck-bg: var(--atlantico-900, #123540);
	--ck-text: var(--arena-50, #FAF5EA);
	--ck-muted: rgba(250,245,234,.7);
	--ck-line: rgba(250,245,234,.22);
	--ck-solid-bg: var(--arena-50, #FAF5EA);
	--ck-solid-text: var(--atlantico-900, #123540);
	--ck-solid-hover: var(--atlantico-100, #DCEEF0);
	--ck-link: var(--atlantico-100, #DCEEF0);
	--ck-accent: var(--atlantico-500, #2E8C9E);
}

/* Banner ----------------------------------------------------------------- */
.lh-cookies[hidden], .lh-cookies-reopen[hidden] { display: none !important; }
#lh-cookies { position: fixed; z-index: 95; left: 24px; bottom: 24px; width: min(420px, calc(100vw - 32px)); }
#lh-cookies.lh-cookies--box-right { left: auto; right: 24px; }
#lh-cookies.lh-cookies--bar { left: 0; right: 0; bottom: 0; width: auto; }
#lh-cookies.lh-cookies--modal { inset: 0; width: auto; display: grid; place-items: center; padding: 16px; background: rgba(23,17,11,.45); }

.lh-cookies__panel {
	background: var(--ck-bg); color: var(--ck-text);
	border: 1px solid var(--ck-line); border-top: 3px solid var(--ck-accent); border-radius: var(--radius-md, 8px);
	box-shadow: var(--shadow-raised, 0 24px 56px rgba(23,17,11,.16));
	padding: 22px 24px 20px;
	font-family: var(--font-sans, sans-serif);
	opacity: 0; transform: translateY(12px);
	transition: opacity 260ms var(--ease-out, ease), transform 260ms var(--ease-out, ease);
}
.lh-cookies.is-visible .lh-cookies__panel { opacity: 1; transform: none; }
.lh-cookies--bar .lh-cookies__panel { border-radius: 0; border-left: 0; border-right: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 32px; padding: 18px max(24px, calc((100vw - var(--container-max, 1200px)) / 2)); }
.lh-cookies--bar .lh-cookies__title { flex-basis: 100%; }
.lh-cookies--bar .lh-cookies__text { flex: 1 1 420px; margin: 0; }
.lh-cookies--bar .lh-cookies__actions { flex: 0 0 auto; margin: 0; }
.lh-cookies--modal .lh-cookies__panel { width: min(480px, 100%); }

.lh-cookies__title { margin: 0 0 6px; font-family: var(--font-display, Georgia, serif); font-size: 24px; line-height: 1.2; font-weight: 500; color: var(--ck-text); }
.lh-cookies__text { margin: 0 0 16px; font-size: 14px; line-height: 1.55; color: var(--ck-muted); }
.lh-cookies__text a { color: var(--ck-link); font-weight: 500; white-space: nowrap; }

.lh-cookies__actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.lh-cookies__btn {
	appearance: none; cursor: pointer; font: inherit; font-size: 14px; font-weight: 600; letter-spacing: .01em;
	padding: 10px 18px; border-radius: var(--radius-xs, 2px); border: 1px solid transparent; line-height: 1.2;
	transition: background-color 140ms, color 140ms, border-color 140ms;
}
/* Aceptar y rechazar con el mismo peso visual (guía AEPD). */
.lh-cookies__btn--solid { background: var(--ck-solid-bg); color: var(--ck-solid-text); flex: 1 1 0; }
.lh-cookies__btn--solid:hover { background: var(--ck-solid-hover); }
.lh-cookies__btn--ghost { background: transparent; color: var(--ck-text); border-color: var(--ck-line); }
.lh-cookies__btn--ghost:hover { border-color: currentColor; }
.lh-cookies__btn--link { background: none; color: var(--ck-link); padding: 10px 6px; text-decoration: underline; text-underline-offset: 3px; flex-basis: 100%; text-align: center; }
.lh-cookies--bar .lh-cookies__btn--link { flex-basis: auto; }
.lh-cookies__btn:focus-visible, .lh-cookies-prefs__close:focus-visible, .lh-cookies-reopen:focus-visible { outline: 2px solid var(--focus-ring, #2E8C9E); outline-offset: 2px; }

/* Preferencias ----------------------------------------------------------- */
.lh-cookies-prefs {
	width: min(560px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 0; overflow: auto;
	border: 0; border-radius: var(--radius-md, 8px); border-top: 3px solid var(--ck-accent);
	background: var(--ck-bg); color: var(--ck-text); box-shadow: var(--shadow-raised, 0 24px 56px rgba(23,17,11,.16));
	font-family: var(--font-sans, sans-serif);
}
.lh-cookies-prefs::backdrop { background: rgba(23,17,11,.5); }
.lh-cookies-prefs__inner { padding: 24px clamp(20px, 4vw, 32px); }
.lh-cookies-prefs__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.lh-cookies-prefs__title { margin: 0; font-family: var(--font-display, Georgia, serif); font-size: 28px; line-height: 1.15; font-weight: 500; color: var(--ck-text); }
.lh-cookies-prefs__close { background: none; border: 0; color: var(--ck-muted); font-size: 28px; line-height: 1; cursor: pointer; padding: 0 4px; }
.lh-cookies-prefs__intro { margin: 10px 0 18px; font-size: 14px; line-height: 1.55; color: var(--ck-muted); }
.lh-cookies-prefs__list { list-style: none; margin: 0 0 20px; padding: 0; border-top: 1px solid var(--ck-line); }
.lh-cookies-prefs__item { padding: 14px 0; border-bottom: 1px solid var(--ck-line); }
.lh-cookies-prefs__row { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.lh-cookies-prefs__name { font-weight: 600; font-size: 15px; cursor: pointer; }
.lh-cookies-prefs__always { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; color: var(--vina-700, #555D34); }
.lh-cookies--dark .lh-cookies-prefs__always, .lh-cookies--marino .lh-cookies-prefs__always { color: var(--vina-100, #EAECD9); }
.lh-cookies-prefs__desc { margin: 6px 0 0; font-size: 13.5px; line-height: 1.5; color: var(--ck-muted); }
.lh-cookies-prefs__actions .lh-cookies__btn { flex: 1 1 auto; }

.lh-switch { position: relative; display: inline-flex; flex: 0 0 auto; }
.lh-switch input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; z-index: 1; }
.lh-switch__track { width: 42px; height: 24px; border-radius: 999px; background: var(--ck-line); border: 1px solid var(--ck-line); position: relative; transition: background-color 160ms; }
.lh-switch__track::after { content: ""; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background: var(--ck-bg); box-shadow: 0 1px 2px rgba(0,0,0,.25); transition: transform 160ms var(--ease-out, ease); }
.lh-switch input:checked + .lh-switch__track { background: var(--vina-500, #77804C); border-color: var(--vina-500, #77804C); }
.lh-switch input:checked + .lh-switch__track::after { transform: translateX(18px); }
.lh-switch input:focus-visible + .lh-switch__track { outline: 2px solid var(--focus-ring, #2E8C9E); outline-offset: 2px; }

/* Botón para reabrir ----------------------------------------------------- */
.lh-cookies-reopen {
	position: fixed; z-index: 80; bottom: 16px; left: 16px; width: 40px; height: 40px; border-radius: 50%;
	display: grid; place-items: center; cursor: pointer;
	background: var(--arena-0, #FFFDF6); color: var(--basalto-700, #453A2F); border: 1px solid var(--border-subtle, rgba(36,28,21,.14));
	box-shadow: var(--shadow-card, 0 10px 28px rgba(23,17,11,.07)); opacity: .85; transition: opacity 140ms, transform 140ms;
}
.lh-cookies-reopen:hover { opacity: 1; transform: translateY(-2px); }
.lh-cookies-reopen--right { left: auto; right: 16px; }

@media (max-width: 560px) {
	#lh-cookies, #lh-cookies.lh-cookies--box-right { left: 12px; right: 12px; bottom: 12px; width: auto; }
	#lh-cookies.lh-cookies--bar { left: 0; right: 0; bottom: 0; }
	.lh-cookies__panel { padding: 18px 18px 16px; }
	.lh-cookies__title { font-size: 21px; }
	.lh-cookies--bar .lh-cookies__actions { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.lh-cookies__panel, .lh-switch__track::after { transition: none; }
}
