/* ============================================================
   Escorts Col — Consentimiento
   ============================================================ */

.ecc-bloqueado { overflow: hidden }

/* ============================================================
   VERIFICACIÓN DE EDAD
   ============================================================
   Cubre la pantalla entera: no es un aviso que se pueda ignorar,
   es una puerta.
   ============================================================ */

.ecc-edad {
	position: fixed; inset: 0; z-index: 99999;
	display: flex; align-items: center; justify-content: center;
	padding: 20px;
	background: rgba(14, 8, 14, .93);
	backdrop-filter: blur(10px);
	font-family: 'Inter', system-ui, -apple-system, sans-serif;
}
.ecc-edad[hidden] { display: none }

.ecc-edad-caja {
	width: 100%; max-width: 460px;
	padding: 34px 30px 28px;
	background: #fff;
	border-radius: 18px;
	box-shadow: 0 24px 60px rgba(0,0,0,.4);
	text-align: center;
	animation: ecc-sube .35s cubic-bezier(.16,1,.3,1);
}
@keyframes ecc-sube {
	from { opacity: 0; transform: translateY(14px) scale(.98) }
	to   { opacity: 1; transform: none }
}

.ecc-edad-sello {
	display: inline-flex; align-items: center; justify-content: center;
	width: 58px; height: 58px;
	margin-bottom: 18px;
	background: linear-gradient(135deg, #c33c61, #8e2d55);
	border-radius: 50%;
	font-size: 19px; font-weight: 800; color: #fff;
	letter-spacing: -.02em;
}

.ecc-edad h2 {
	margin: 0 0 12px;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 1.6rem; font-weight: 700; color: #0f172a;
	letter-spacing: -.02em;
}
.ecc-edad p {
	margin: 0 0 14px;
	font-size: 14.5px; line-height: 1.65; color: #475569;
}
.ecc-edad-legal {
	padding: 12px 14px;
	background: #fef2f5;
	border-radius: 10px;
	font-size: 13.5px !important; color: #8e2d55 !important;
}

.ecc-edad-btns {
	display: flex; flex-direction: column; gap: 9px;
	margin: 20px 0 16px;
}

.ecc-edad-pie {
	margin: 0 !important;
	font-size: 12px !important; line-height: 1.55 !important;
	color: #94a3b8 !important;
}
.ecc-edad-pie a { color: #8e2d55; text-decoration: underline }

/* ============================================================
   BANNER DE COOKIES
   ============================================================ */

.ecc-ck {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 99990;
	padding: 14px;
	font-family: 'Inter', system-ui, -apple-system, sans-serif;
	transform: translateY(110%);
	transition: transform .32s cubic-bezier(.16,1,.3,1);
}
.ecc-ck[hidden] { display: none }
.ecc-ck.is-visible { transform: none }

.ecc-ck-caja {
	max-width: 1080px; margin: 0 auto;
	padding: 20px 22px;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	box-shadow: 0 -4px 12px rgba(15,23,42,.06), 0 20px 50px -20px rgba(15,23,42,.3);
}

/* ---------- Vista simple ---------- */
.ecc-ck-simple {
	display: grid; grid-template-columns: 1fr; gap: 16px;
	align-items: center;
}
@media (min-width: 940px) {
	.ecc-ck-simple { grid-template-columns: 1fr auto; gap: 28px }
}

.ecc-ck h2 {
	margin: 0 0 6px;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 1.15rem; font-weight: 700; color: #0f172a;
}
.ecc-ck-texto p {
	margin: 0;
	font-size: 13.5px; line-height: 1.6; color: #475569;
	max-width: 68ch;
}
.ecc-ck-texto a { color: #8e2d55; text-decoration: underline }

.ecc-ck-btns {
	display: flex; flex-wrap: wrap; gap: 8px;
	align-items: center;
}
@media (max-width: 939px) {
	.ecc-ck-btns { flex-direction: column-reverse }
	.ecc-ck-btns .ecc-btn { width: 100% }
}

/* ---------- Vista de configuración ---------- */
.ecc-ck-config { max-height: 68vh; overflow-y: auto }
.ecc-ck-config h2 { margin-bottom: 16px; font-size: 1.25rem }

.ecc-ck-grupo {
	padding: 14px 0;
	border-top: 1px solid #eef2f6;
}
.ecc-ck-grupo:first-of-type { border-top: none; padding-top: 0 }
.ecc-ck-grupo p {
	margin: 7px 0 0;
	font-size: 13px; line-height: 1.6; color: #64748b;
	max-width: 76ch;
}

.ecc-ck-cab { display: flex; align-items: center; justify-content: space-between; gap: 14px }
.ecc-ck-cab strong { font-size: 14.5px; color: #0f172a }

.ecc-ck-fijo {
	margin-left: 10px;
	padding: 3px 9px;
	background: #f1f5f9; color: #64748b;
	border-radius: 999px;
	font-size: 11px; font-weight: 600;
}

/* Interruptor */
.ecc-ck-sw {
	display: inline-flex; align-items: center; gap: 11px;
	cursor: pointer;
}
.ecc-ck-sw input { position: absolute; opacity: 0; width: 1px; height: 1px }
.ecc-ck-sw-track {
	position: relative;
	width: 42px; height: 24px;
	background: #cbd5e1;
	border-radius: 999px;
	transition: background .2s;
	flex-shrink: 0;
}
.ecc-ck-sw-track::after {
	content: ''; position: absolute; top: 3px; left: 3px;
	width: 18px; height: 18px;
	background: #fff; border-radius: 50%;
	box-shadow: 0 1px 3px rgba(0,0,0,.2);
	transition: transform .22s cubic-bezier(.16,1,.3,1);
}
.ecc-ck-sw input:checked + .ecc-ck-sw-track { background: #c33c61 }
.ecc-ck-sw input:checked + .ecc-ck-sw-track::after { transform: translateX(18px) }
.ecc-ck-sw input:focus-visible + .ecc-ck-sw-track {
	outline: 2px solid #c33c61; outline-offset: 2px;
}

.ecc-ck-config .ecc-ck-btns {
	margin-top: 18px; padding-top: 16px;
	border-top: 1px solid #eef2f6;
	justify-content: flex-end;
}

/* ============================================================
   BOTONES
   ============================================================
   Colores literales: estos elementos viven fuera del tema y no
   deben depender de variables que quizá no existan.
   ============================================================ */

.ecc-btn {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 44px;
	padding: 11px 22px;
	border-radius: 10px;
	font-family: inherit; font-size: 14px; font-weight: 600;
	cursor: pointer; text-decoration: none;
	border: 1.5px solid transparent;
	transition: box-shadow .2s, background .18s, border-color .18s, transform .14s;
}
.ecc-btn:focus-visible { outline: 2px solid #c33c61; outline-offset: 2px }

.ecc-btn-si {
	background: linear-gradient(135deg, #c33c61, #8e2d55);
	color: #fff;
}
.ecc-btn-si:hover {
	box-shadow: 0 6px 18px rgba(195,60,97,.34);
	transform: translateY(-1px);
	color: #fff;
}

.ecc-btn-gh {
	background: #fff; color: #475569;
	border-color: #e2e8f0;
}
.ecc-btn-gh:hover { background: #f8fafc; border-color: #cbd5e1; color: #0f172a }

.ecc-btn-no {
	background: #fff; color: #64748b;
	border-color: #e2e8f0;
	font-weight: 500; font-size: 13.5px;
}
.ecc-btn-no:hover { background: #f8fafc; color: #334155 }

@media (max-width: 520px) {
	.ecc-edad-caja { padding: 28px 20px 22px }
	.ecc-edad h2 { font-size: 1.35rem }
	.ecc-ck-caja { padding: 18px 16px }
}

@media (prefers-reduced-motion: reduce) {
	.ecc-edad-caja { animation: none }
	.ecc-ck { transition: none }
}

/* Contraste AA: los grises originales quedaban entre 3 y 4:1 */
.ecc-edad p { color: #4a4145 }
.ecc-edad-pie { color: #6b6266 !important }
.ecc-ck-texto p { color: #4a4145 }
.ecc-ck-grupo p { color: #55606d }
.ecc-ck-hint, .ecct-hint { color: #6b7280 }
