	/* ====== Cookie bar fijo abajo ====== */
	.cookie-bar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 9999;
		width: 100%;
		background: rgba(0, 0, 0, 0.66);
		backdrop-filter: blur(5px);
		/* border-top: 1px solid #e5e7eb; */
		padding: 18px 24px;
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	}

	/* contenedor interno */
	.cookie-content {
		max-width: 1400px;
		margin: 0 auto;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 28px;
	}

	/* texto */
	.cookie-text {
		flex: 1;
		min-width: 0;
	}

	.cookie-text h4 {
		margin: 0 0 6px;
		font-size: 18px;
		font-weight: 600;
		color: #FFFFFF;
	}

	.cookie-text p {
		margin: 0;
		font-size: 14px;
		line-height: 1.5;
		color: #FFFFFF;
	}

	/* acciones */
	.cookie-actions {
		display: flex;
		align-items: center;
		gap: 12px;
		flex-wrap: nowrap;
		white-space: nowrap;
	}

	/* botones base */
	.cookie-actions button {
		padding: 10px 18px;
		border-radius: 10px;
		font-size: 14px;
		font-weight: 600;
		cursor: pointer;
		transition: transform .15s ease, background .25s ease, color .25s ease, border-color .25s ease;
	}

	.cookie-actions button:active {
		transform: scale(.98);
	}

	/* outline rojo */
	.btn-outline {
		background: #ffffff;
		border: 1px solid #E4002B;
		color: #E4002B;
		padding: 12px 25px;
		font-family: 'Chilena Bold';
	}

	.btn-outline:hover {
		background: #E4002B;
		color: #fff;
	}

	/* principal azul */
	.btn-primary {
		background: #0B3067;
		border: 1px solid #0B3067;
		color: #fff;
		padding: 12px 25px;
		font-family: 'Chilena Bold';
	}

	.btn-primary:hover {
		background: #051E45;
		border-color: #051E45;
	}

	/* ====== Responsive ====== */
	@media (max-width: 900px) {
		.cookie-content {
			flex-direction: column;
			align-items: stretch;
			gap: 14px;
		}

		.cookie-actions {
			width: 100%;
			flex-wrap: wrap;
			white-space: normal;
		}

		.cookie-actions button {
			flex: 1 1 160px;
			/* se acomodan en 2 filas si hace falta */
			text-align: center;
		}
	}

	/* ====== Evitar que tape contenido (opcional pero recomendado) ======
   Añade la clase 'has-cookiebar' al body cuando el banner esté visible.
*/
	body.has-cookiebar {
		padding-bottom: var(--cookiebar-h, 120px);
	}

	.cookie-bar {
		box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.05);
	}

	.cookie-bar {
		animation: slideUp 0.4s ease;
	}

	@keyframes slideUp {
		from {
			transform: translateY(100%);
			opacity: 0;
		}

		to {
			transform: translateY(0);
			opacity: 1;
		}
	}






	/* ===== Overlay ===== */
	.consent-overlay {
		position: fixed;
		inset: 0;
		z-index: 9999;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 24px;
		background: rgba(0, 0, 0, .55);
		backdrop-filter: blur(6px);
		-webkit-backdrop-filter: blur(6px);
	}

	.is-hidden {
		display: none;
	}

	/* ===== Modal ===== */
	.consent-modal {
		width: min(980px, 100%);
		background: #fff;
		border-radius: 8px;
		box-shadow: 0 18px 60px rgba(0, 0, 0, .35);
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
		overflow-y: scroll;
		height: 100%;
	}

	.consent-modal__header {
		padding: 22px 26px 10px;
	}

	.consent-modal__header h2 {
		margin: 0;
		font-size: 18px;
		font-weight: 700;
		color: #111827;
	}

	.consent-modal__body {
		padding: 0 26px 18px;
		color: #4b5563;
		font-size: 13px;
		line-height: 1.55;
	}

	.consent-modal__body p {
		margin: 10px 0;
	}

	/* ===== List ===== */
	.consent-list {
		margin-top: 14px;
		border-top: 1px solid #e5e7eb;
		padding-top: 12px;
	}

	/* Row clickable */
	.consent-row {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;

		background: transparent;
		border: 0;
		padding: 14px 0;
		cursor: pointer;
		text-align: left;
	}

	/* PANEL ACORDEÓN */
	.consent-panel {
		overflow: hidden;
		max-height: 0;
		transition: max-height .3s ease, padding .3s ease;
		padding-left: 28px;
		border-bottom: 1px solid #e5e7eb;
	}

	.consent-panel p {
		margin: 10px 0 14px;
		font-size: 13px;
		color: #4b5563;
	}

	/* Cuando está activo */
	.consent-panel.is-open {
		padding-top: 6px;
		padding-bottom: 10px;
	}

	.consent-row__left {
		display: inline-flex;
		align-items: center;
		gap: 12px;
		min-width: 0;
	}

	.consent-row__title {
		font-size: 16px;
		font-weight: 700;
		color: #111827;
		font-family: 'Chilena Bold';
	}

	/* caret (flecha) */
	.consent-caret {
		width: 10px;
		height: 10px;
		border-right: 2px solid #1f3a8a;
		border-bottom: 2px solid #1f3a8a;
		transform: rotate(-45deg);
		transition: transform .2s ease;
	}

	.consent-row[aria-expanded="true"] .consent-caret {
		transform: rotate(45deg);
	}

	.consent-row__right {
		display: inline-flex;
		align-items: center;
		gap: 12px;
	}

	.consent-row__status {
		font-weight: 700;
		color: #16a34a;
		/* verde “Siempre activas” */
		font-size: 15px;
	}

	/* panel text */
	.consent-panel p {
		margin: 0;
		color: #4b5563;
		font-size: 13px;
		line-height: 1.55;
	}

	/* ===== Switch ===== */
	.switch {
		position: relative;
		width: 46px;
		height: 24px;
		display: inline-block;
	}

	.switch input {
		position: absolute;
		opacity: 0;
		width: 1px;
		height: 1px;
	}

	.switch__ui {
		position: absolute;
		inset: 0;
		background: #cbd5e1;
		border-radius: 999px;
		transition: background .2s ease;
	}

	.switch__ui::after {
		content: "";
		position: absolute;
		top: 3px;
		left: 3px;
		width: 18px;
		height: 18px;
		border-radius: 999px;
		background: #fff;
		box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
		transition: transform .2s ease;
	}

	.switch input:checked+.switch__ui {
		background: #1d4ed8;
		/* azul */
	}

	.switch input:checked+.switch__ui::after {
		transform: translateX(22px);
	}

	/* ===== Footer buttons ===== */
	.consent-modal__footer {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 14px;
		padding: 16px 26px 22px;
		border-top: 1px solid #e5e7eb;
		background: #fff;
	}

	.btn {
		height: 46px;
		border-radius: 10px;
		font-size: 14px;
		font-weight: 700;
		cursor: pointer;
		transition: transform .15s ease, background .2s ease, color .2s ease, border-color .2s ease;
	}

	.btn:active {
		transform: scale(.99);
	}

	.btn-outline {
		background: #ffffff;
		border: 1px solid #E4002B;
		color: #E4002B;
	}

	.btn-outline:hover {
		background: #E4002B;
		color: #fff;
	}

	.btn-primary {
		background: #0B3067;
		border: 1px solid #0B3067;
		color: #fff;
	}

	.btn-primary:hover {
		background: #072456;
		border-color: #072456;
	}

	/* ===== Responsive ===== */
	@media (max-width: 768px) {
		.consent-overlay {
			padding: 14px;
		}

		.consent-modal {
			border-radius: 10px;
		}

		.consent-modal__header,
		.consent-modal__body,
		.consent-modal__footer {
			padding-left: 16px;
			padding-right: 16px;
		}

		.consent-modal__body {
			max-height: 70vh;
			overflow: auto;
		}

		.consent-row__title {
			font-size: 15px;
		}

		.consent-row__status {
			font-size: 14px;
		}

		.consent-modal__footer {
			grid-template-columns: 1fr;
		}
	}

	.cookie-meta {
		margin-top: 14px;
		background: #f3f4f6;
		border-radius: 10px;
		padding: 18px 18px;
	}

	.cookie-meta__item {
		padding: 6px 0;
	}

	/* grid de 2 columnas: label | value */
	.cookie-meta__row {
		display: grid;
		grid-template-columns: 140px 1fr;
		gap: 20px;
		padding: 3px 0;
		align-items: start;
	}

	.cookie-meta__label {
		font-weight: 800;
		color: #111827;
		font-size: 13px;
		line-height: 1.2;
	}

	.cookie-meta__value {
		color: #111827;
		font-size: 13px;
		line-height: 1.55;
		word-break: break-word;
	}

	/* separador entre “bloques” */
	.cookie-meta__divider {
		height: 1px;
		background: #e5e7eb;
		margin: 18px 0;
	}

	.cookie-meta__row--desc .cookie-meta__value {
		color: #374151;
	}

	@media (max-width: 640px) {
		.cookie-meta__row {
			grid-template-columns: 1fr;
			gap: 6px;
		}

		.cookie-meta__label {
			font-size: 16px;
		}

		.cookie-meta__value {
			font-size: 15px;
		}
	}
