/* Aviso de cookies y gestor de consentimiento (ver /plantillas/bullent/js/cookies.js) */
.ck-banner {
	position: fixed; z-index: 9000; left: 0; right: 0; bottom: 0;
	padding: 0 var(--gutter, 1rem) var(--gutter, 1rem);
	pointer-events: none;
}
.ck-card {
	pointer-events: auto;
	max-width: 62rem; margin: 0 auto;
	background: var(--c-surface, #fff); color: var(--c-ink, #1b2a2d);
	border: 1px solid var(--c-line, #dfe6e7); border-top: 4px solid var(--c-primary, #00818e);
	border-radius: var(--radius, 14px);
	box-shadow: 0 10px 40px rgb(18 40 44 / .22);
	padding: 1.1rem 1.25rem;
	display: grid; gap: .9rem 1.5rem; grid-template-columns: 1fr auto; align-items: center;
	font: 0.95rem/1.5 var(--font-body, system-ui, sans-serif);
}
.ck-titulo { margin: 0 0 .25rem; font: 700 1.05rem/1.3 var(--font-display, Georgia, serif); }
.ck-texto { margin: 0; color: var(--c-ink-soft, #4a5b5e); }
.ck-texto a { color: var(--c-primary, #00818e); text-decoration: underline; }
.ck-acciones { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: flex-end; }
.ck-btn {
	appearance: none; cursor: pointer; font: 700 .92rem/1 var(--font-body, system-ui, sans-serif);
	padding: .75rem 1.15rem; border-radius: 999px; border: 2px solid var(--c-primary, #00818e);
	background: var(--c-primary, #00818e); color: #fff;
}
.ck-btn:hover { background: var(--c-primary-dark, #00717c); border-color: var(--c-primary-dark, #00717c); }
.ck-btn--sec { background: #fff; color: var(--c-primary-dark, #00717c); }
.ck-btn--sec:hover { background: var(--c-primary-soft, #e3f3f4); border-color: var(--c-primary, #00818e); color: var(--c-primary-dark, #00717c); }
.ck-btn--enlace { background: transparent; border-color: transparent; color: var(--c-ink-soft, #4a5b5e); text-decoration: underline; padding-left: .4rem; padding-right: .4rem; }
.ck-btn--enlace:hover { background: transparent; border-color: transparent; color: var(--c-primary, #00818e); }
.ck-btn:focus-visible, .ck-interruptor input:focus-visible + .ck-interruptor__pista { outline: 3px solid var(--c-accent, #f2a900); outline-offset: 2px; }

/* ventana de configuración */
.ck-fondo {
	position: fixed; z-index: 9100; inset: 0; background: rgb(18 40 44 / .55);
	display: flex; align-items: center; justify-content: center; padding: 1rem;
}
.ck-ventana {
	background: #fff; color: var(--c-ink, #1b2a2d); width: min(36rem, 100%); max-height: 90vh; overflow: auto;
	border-radius: var(--radius, 14px); padding: 1.4rem; box-shadow: var(--shadow-md, 0 6px 24px rgb(18 40 44 / .14));
	font: 0.95rem/1.55 var(--font-body, system-ui, sans-serif);
}
.ck-ventana h2 { margin: 0 0 .5rem; font: 700 1.25rem/1.3 var(--font-display, Georgia, serif); }
.ck-categoria { border-top: 1px solid var(--c-line, #dfe6e7); padding: 1rem 0; display: grid; grid-template-columns: 1fr auto; gap: .35rem 1rem; align-items: start; }
.ck-categoria h3 { margin: 0; font-size: 1rem; }
.ck-categoria p { margin: 0; grid-column: 1; color: var(--c-ink-soft, #4a5b5e); font-size: .9rem; }
.ck-siempre { font-size: .8rem; font-weight: 700; color: var(--c-primary-dark, #00717c); white-space: nowrap; }
.ck-interruptor { position: relative; display: inline-block; width: 3rem; height: 1.65rem; }
.ck-interruptor input { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.ck-interruptor__pista { position: absolute; inset: 0; border-radius: 999px; background: #b9c5c7; transition: background .2s; pointer-events: none; }
.ck-interruptor__pista::after { content: ""; position: absolute; top: .2rem; left: .2rem; width: 1.25rem; height: 1.25rem; border-radius: 50%; background: #fff; transition: transform .2s; }
.ck-interruptor input:checked + .ck-interruptor__pista { background: var(--c-primary, #00818e); }
.ck-interruptor input:checked + .ck-interruptor__pista::after { transform: translateX(1.35rem); }
.ck-ventana__acciones { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: flex-end; border-top: 1px solid var(--c-line, #dfe6e7); padding-top: 1rem; }

/* vídeos de YouTube / Vimeo hasta que se acepte el contenido externo */
.video__aviso {
	position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
	gap: .75rem; padding: 1rem; text-align: center; background: var(--c-footer, #12282c); color: #fff;
	font: .95rem/1.5 var(--font-body, system-ui, sans-serif);
}
.video__aviso p { margin: 0; max-width: 34rem; }
.video__aviso a { color: #9fd3d8; }

@media (max-width: 720px) {
	.ck-card { grid-template-columns: 1fr; }
	.ck-acciones { justify-content: stretch; }
	.ck-acciones .ck-btn { flex: 1 1 auto; text-align: center; }
	.ck-banner { padding-bottom: .5rem; }
}
@media (prefers-reduced-motion: reduce) {
	.ck-interruptor__pista, .ck-interruptor__pista::after { transition: none; }
}
