/* Respiración Completa · Cookies (colores y letras del tema, con reservas por si falta). */
.rcck-aviso,
.rcck-panel,
.rcck-flotante,
.rcck-video {
	--rcck-crema: var(--crema, #f2eee6);
	--rcck-oliva: var(--oliva, #3c4535);
	--rcck-texto: var(--texto, #4c5045);
	--rcck-linea: var(--linea, #dcd5c7);
	--rcck-boton: var(--boton, #ffc580);
	--rcck-boton-hover: var(--boton-hover, #f7b262);
	--rcck-sans: var(--sans, "Helvetica Neue", Arial, sans-serif);
	--rcck-serif: var(--serif, Georgia, serif);
}

.rcck-aviso {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	left: 1rem;
	z-index: 9990;
	display: flex;
	justify-content: center;
	pointer-events: none;
}

.rcck-aviso[hidden] {
	display: none;
}

.rcck-aviso__caja {
	width: min(46rem, 100%);
	padding: 1.4rem 1.6rem;
	border: 1px solid var(--rcck-linea);
	background: #fff;
	color: var(--rcck-texto);
	box-shadow: 0 12px 40px rgba(60, 69, 53, .18);
	font: 300 .92rem/1.55 var(--rcck-sans);
	pointer-events: auto;
}

.rcck-aviso__titulo,
.rcck-panel__titulo {
	margin: 0 0 .4rem;
	color: var(--rcck-oliva);
	font: italic 400 1.5rem/1.2 var(--rcck-serif);
}

.rcck-aviso__texto,
.rcck-panel__texto {
	margin: 0 0 1rem;
}

.rcck-aviso a,
.rcck-panel a {
	color: var(--rcck-oliva);
}

.rcck-aviso__botones {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
}

/* Aceptar y Rechazar con el mismo peso visual (guía de la AEPD). */
.rcck-boton {
	flex: 1 1 8rem;
	padding: .85rem 1rem;
	border: 1px solid var(--rcck-oliva);
	border-radius: 1px;
	background: #fff;
	color: var(--rcck-oliva);
	font: 400 .68rem/1 var(--rcck-sans);
	letter-spacing: .22em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .2s ease;
}

.rcck-boton:hover {
	background: var(--rcck-crema);
}

.rcck-boton--si {
	border-color: var(--rcck-boton);
	background: var(--rcck-boton);
}

.rcck-boton--si:hover {
	background: var(--rcck-boton-hover);
}

/* Panel */
.rcck-panel {
	width: min(36rem, calc(100% - 2rem));
	max-height: calc(100vh - 2rem);
	padding: 0;
	border: 0;
	background: #fff;
	color: var(--rcck-texto);
	font: 300 .92rem/1.55 var(--rcck-sans);
}

.rcck-panel::backdrop {
	background: rgba(29, 33, 26, .55);
}

.rcck-panel__caja {
	padding: 1.6rem;
}

.rcck-cat {
	padding: .9rem 0;
	border-top: 1px solid var(--rcck-linea);
}

.rcck-cat:last-of-type {
	margin-bottom: 1.2rem;
	border-bottom: 1px solid var(--rcck-linea);
}

.rcck-cat__cabecera {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	cursor: pointer;
}

.rcck-cat__nombre {
	color: var(--rcck-oliva);
	font-weight: 400;
}

.rcck-cat__siempre {
	font-size: .78rem;
	color: #6b7556;
}

.rcck-cat__texto {
	margin: .3rem 0 0;
	font-size: .85rem;
}

.rcck-interruptor {
	appearance: none;
	flex: none;
	position: relative;
	width: 2.6rem;
	height: 1.4rem;
	margin: 0;
	border-radius: 1rem;
	background: #cfcabf;
	cursor: pointer;
	transition: background-color .2s ease;
}

.rcck-interruptor::after {
	content: "";
	position: absolute;
	top: .2rem;
	left: .2rem;
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	background: #fff;
	transition: transform .2s ease;
}

.rcck-interruptor:checked {
	background: var(--rcck-oliva);
}

.rcck-interruptor:checked::after {
	transform: translateX(1.2rem);
}

.rcck-interruptor:focus-visible {
	outline: 1px solid #c0743f;
	outline-offset: 3px;
}

/* Botón para volver a abrir el panel */
.rcck-flotante {
	position: fixed;
	bottom: 1rem;
	left: 1rem;
	z-index: 9980;
	display: grid;
	place-items: center;
	width: 2.6rem;
	height: 2.6rem;
	padding: 0;
	border: 1px solid var(--rcck-linea);
	border-radius: 50%;
	background: #fff;
	color: var(--rcck-oliva);
	box-shadow: 0 4px 14px rgba(60, 69, 53, .15);
	cursor: pointer;
	opacity: .8;
}

.rcck-flotante:hover {
	opacity: 1;
}

.rcck-flotante[hidden] {
	display: none;
}

.rcck-flotante svg {
	width: 1.35rem;
	height: 1.35rem;
}

/* Vídeos externos bloqueados */
.rcck-video {
	position: absolute;
	inset: 0;
}

.rcck-video iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

.rcck-video__aviso {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .8rem;
	padding: 1.5rem;
	background: #1d211a;
	color: var(--rcck-crema);
	font: 300 .95rem/1.5 var(--rcck-sans);
	text-align: center;
}

.rcck-video__aviso p {
	max-width: 26rem;
	margin: 0;
}

.rcck-video__aviso .rcck-boton {
	flex: none;
}

.rcck-video.es-activo .rcck-video__aviso {
	display: none;
}

/* Tabla de la política de cookies */
.rcck-tabla-envoltura {
	overflow-x: auto;
	margin: 0 0 1.5rem;
}

.rcck-tabla {
	width: 100%;
	border-collapse: collapse;
	font-size: .88rem;
}

.rcck-tabla th,
.rcck-tabla td {
	padding: .55rem .7rem;
	border-bottom: 1px solid var(--linea, #dcd5c7);
	text-align: left;
	vertical-align: top;
}

.rcck-tabla th {
	color: var(--oliva, #3c4535);
	font-weight: 400;
}

@media (max-width: 600px) {
	.rcck-aviso {
		right: .5rem;
		bottom: .5rem;
		left: .5rem;
	}

	.rcck-aviso__caja {
		padding: 1.1rem 1.2rem;
	}

	/* Que no tape el botón de WhatsApp de la esquina contraria. */
	.rcck-flotante {
		bottom: .8rem;
		left: .8rem;
	}
}
