/* Aviso de cookies CLM_IA. --cc-color llega del color principal de Divi (o de los ajustes). */
.cc-aviso,
.cc-flotante,
.cc-politica {
	--cc-tinta: #1f2a37;
	--cc-tinta-suave: #4b5563;
	--cc-fondo: #ffffff;
	--cc-borde: rgba(31, 42, 55, 0.14);
}

.cc-aviso[hidden],
.cc-flotante[hidden] { display: none !important; }

.cc-aviso {
	position: fixed;
	left: 16px;
	bottom: 16px;
	z-index: 2147483000;
	max-width: 440px;
	width: calc(100% - 32px);
	box-sizing: border-box;
	font-family: inherit;
	font-size: 15px;
	line-height: 1.5;
	color: var(--cc-tinta);
	animation: cc-entrar 0.25s ease-out both;
}
.cc-aviso__caja {
	background: var(--cc-fondo);
	border: 1px solid var(--cc-borde);
	border-top: 4px solid var(--cc-color, #2b4c7e);
	border-radius: 10px;
	box-shadow: 0 10px 30px rgba(17, 24, 39, 0.18);
	padding: 18px 20px 20px;
}
.cc-aviso__titulo {
	margin: 0 0 6px !important;
	padding: 0 !important;
	font-size: 17px !important;
	line-height: 1.3 !important;
	font-weight: 700 !important;
	color: var(--cc-tinta) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.cc-aviso__texto {
	margin: 0 0 14px !important;
	padding: 0 !important;
	font-size: 14.5px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	color: var(--cc-tinta-suave) !important;
}
.cc-aviso__texto a { color: var(--cc-color, #2b4c7e) !important; text-decoration: underline !important; font-weight: 600 !important; }
.cc-aviso__botones { display: flex; gap: 10px; flex-wrap: wrap; }

/* Aceptar y Rechazar con el mismo tamaño, color y posición: la AEPD pide que rechazar sea igual de fácil. */
.cc-boton {
	flex: 1 1 0;
	min-width: 120px;
	min-height: 44px;
	padding: 10px 18px;
	border: 2px solid var(--cc-color, #2b4c7e);
	border-radius: 6px;
	background: var(--cc-color, #2b4c7e);
	color: #fff !important;
	font: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	transition: filter 0.15s ease, transform 0.15s ease;
}
.cc-boton:hover { filter: brightness(1.1); }
.cc-boton:active { transform: translateY(1px); }
.cc-boton:focus-visible,
.cc-flotante:focus-visible { outline: 3px solid var(--cc-tinta); outline-offset: 2px; }

.cc-boton--linea {
	flex: 0 0 auto;
	background: transparent;
	color: var(--cc-color, #2b4c7e) !important;
}

.cc-flotante {
	position: fixed;
	left: 14px;
	bottom: 14px;
	z-index: 2147482999;
	min-height: 36px;
	padding: 6px 14px;
	border: 1px solid var(--cc-borde);
	border-radius: 999px;
	background: var(--cc-fondo);
	color: var(--cc-tinta) !important;
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	box-shadow: 0 4px 14px rgba(17, 24, 39, 0.14);
	cursor: pointer;
	opacity: 0.88;
}
.cc-flotante:hover { opacity: 1; }
.cc-con-aviso .cc-flotante { display: none !important; }

@keyframes cc-entrar { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .cc-aviso { animation: none; } .cc-boton { transition: none; } }

@media (max-width: 520px) {
	.cc-aviso { left: 8px; bottom: 8px; width: calc(100% - 16px); max-width: none; }
	.cc-aviso__caja { padding: 16px; }
	.cc-flotante { left: 8px; bottom: 8px; }
}

/* Página de la política */
.cc-politica h2 { margin-top: 1.6em; }
.cc-politica__tabla { overflow-x: auto; margin: 0 0 1.4em; }
.cc-politica table { width: 100%; border-collapse: collapse; font-size: 14px; }
.cc-politica th,
.cc-politica td { text-align: left; vertical-align: top; padding: 8px 10px; border-bottom: 1px solid var(--cc-borde); }
.cc-politica th { font-weight: 700; }
.cc-politica code { font-size: 12.5px; word-break: break-word; }
.cc-politica .cc-politica__fecha { color: var(--cc-tinta-suave); font-size: 14px; }

@media print { .cc-aviso, .cc-flotante { display: none !important; } }

/* Línea legal al pie de todas las páginas */
.cc-pie {
	clear: both;
	padding: 14px 16px 18px;
	background: #f5f6f7;
	border-top: 1px solid rgba(31, 42, 55, 0.1);
	color: #4b5563;
	font-size: 13px;
	line-height: 1.6;
	text-align: center;
}
.cc-pie p { margin: 0 0 2px !important; padding: 0 !important; font-size: 13px !important; color: #4b5563 !important; }
.cc-pie nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 10px; }
.cc-pie a { color: #374151 !important; text-decoration: underline; text-underline-offset: 2px; }
.cc-pie a:hover { color: var(--cc-color, #2b4c7e) !important; }
.cc-pie span { color: #9ca3af; }
/* Que el botón fijo «Cookies» no tape la línea legal en móvil */
@media (max-width: 520px) { .cc-pie { padding-bottom: 56px; } }
.cc-legal ul { margin-bottom: 1.2em; }
