/*
 * Banner de consentimiento.
 *
 * Regla de oro: «Aceptar» y «Rechazar» comparten tamaño, color, tipografía y
 * posición. Si uno destaca sobre el otro, el consentimiento deja de ser libre
 * y el banner no cumple.
 */

.lkc {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
	padding: 1rem;
	display: flex;
	justify-content: center;
}

.lkc[hidden] { display: none; }

.lkc__caja {
	width: 100%;
	max-width: 780px;
	max-height: 85vh;
	overflow-y: auto;
	padding: 1.5rem 1.6rem;
	background: #fff;
	border: 1px solid #e3e7eb;
	border-radius: 12px;
	box-shadow: 0 4px 12px rgba(44, 52, 64, .1), 0 20px 48px rgba(44, 52, 64, .18);
	font-family: inherit;
	font-size: 15px;
	line-height: 1.6;
	color: #2c3440;
}

.lkc__titulo {
	margin: 0 0 .5rem;
	font-size: 1.15rem;
	font-weight: 600;
	color: #2c3440;
}

.lkc__texto { margin: 0 0 1.1rem; }
.lkc__texto a { color: #3f4f63; }

.lkc__detalle {
	margin: 0 0 1.2rem;
	padding-top: 1rem;
	border-top: 1px solid #e3e7eb;
}

.lkc__detalle[hidden] { display: none; }

.lkc__cat + .lkc__cat { margin-top: 1rem; }

.lkc__cat-cab {
	display: flex;
	align-items: center;
	gap: .55rem;
	font-weight: 600;
	cursor: pointer;
}

.lkc__cat-cab input[disabled] { cursor: default; }

.lkc__siempre {
	margin-left: auto;
	font-size: .78rem;
	font-weight: 500;
	color: #5c6672;
	white-space: nowrap;
}

.lkc__cat-desc {
	margin: .3rem 0 0 1.75rem;
	font-size: .875rem;
	color: #5c6672;
}

.lkc__botones {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
}

/* Aceptar y rechazar: idénticos a propósito. */
.lkc__boton {
	flex: 1 1 190px;
	padding: .8em 1.2em;
	border: 2px solid #57697f;
	border-radius: 100px;
	background: #57697f;
	color: #fff;
	font-family: inherit;
	font-size: .95rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 180ms ease, border-color 180ms ease;
}

.lkc__boton:hover { background: #3f4f63; border-color: #3f4f63; }
.lkc__boton:focus-visible { outline: 3px solid #2c3440; outline-offset: 2px; }

/*
 * «Configurar» y «Guardar» son acciones distintas, no una alternativa
 * disimulada a rechazar: por eso van en otro estilo y nunca compiten con
 * las dos opciones principales.
 */
.lkc__boton--secundario {
	flex: 1 1 140px;
	background: transparent;
	border-color: #c3c9d0;
	color: #2c3440;
}

.lkc__boton--secundario:hover { background: #f2f4f6; border-color: #8a929c; }

.lkc__boton[hidden] { display: none; }

@media (max-width: 620px) {
	.lkc { padding: .6rem; }
	.lkc__caja { padding: 1.2rem 1.1rem; }
	.lkc__boton { flex: 1 1 100%; }
}

/* Aviso que sustituye a un contenido de terceros bloqueado. */
.lkc-bloqueado {
	padding: 1.6rem;
	border: 1px dashed #c3c9d0;
	border-radius: 10px;
	background: #f4f6f8;
	color: #2c3440;
	text-align: center;
	font-size: .95rem;
}

.lkc-bloqueado p { margin: 0 0 .6rem; }
.lkc-bloqueado p:last-child { margin-bottom: 0; }

.lkc-desbloquear {
	padding: .6em 1.2em;
	border: 2px solid #57697f;
	border-radius: 100px;
	background: #57697f;
	color: #fff;
	font-family: inherit;
	font-size: .9rem;
	font-weight: 600;
	cursor: pointer;
}

.lkc-desbloquear:hover { background: #3f4f63; border-color: #3f4f63; }

.lkc-tabla { width: 100%; border-collapse: collapse; font-size: .9rem; }
.lkc-tabla th,
.lkc-tabla td { padding: .6em .8em; border-bottom: 1px solid #e3e7eb; text-align: left; }
.lkc-tabla th { background: #f4f6f8; font-weight: 600; }
