/* Top Criterio - Cookies. Todo con #tcck para no chocar con el tema ni con Elementor. */

#tcck{
	--tcck-adminbar:0px;
	font-family:inherit;
	font-size:15px;
	line-height:1.5;
	-webkit-font-smoothing:antialiased;
}
body.admin-bar #tcck{--tcck-adminbar:32px}
@media (max-width:782px){
	body.admin-bar #tcck{--tcck-adminbar:46px}
}
#tcck *,#tcck *::before,#tcck *::after{box-sizing:border-box}
#tcck p{margin:0;padding:0}

/* ---------- Fondo oscurecido ---------- */
#tcck .tcck__overlay{
	position:fixed;
	inset:0;
	z-index:999979;
	background:rgba(5,10,30,.58);
	opacity:0;
	visibility:hidden;
	transition:opacity .3s ease,visibility 0s linear .3s;
}
#tcck.tcck--overlay.is-open .tcck__overlay,
#tcck.is-modal-open .tcck__overlay{opacity:1;visibility:visible;transition-delay:0s}

/* ---------- Banner ---------- */
#tcck .tcck__banner{
	position:fixed;
	z-index:999980;
	display:flex;
	flex-direction:column;
	gap:18px;
	width:min(var(--tcck-w),calc(100vw - (var(--tcck-off) * 2)));
	max-height:calc(100vh - (var(--tcck-off) * 2));
	overflow-y:auto;
	padding:24px;
	background:var(--tcck-bg);
	color:var(--tcck-text);
	border:1px solid rgba(255,255,255,.12);
	border-radius:var(--tcck-radius);
	box-shadow:0 24px 70px rgba(2,10,50,.45);
	opacity:0;
	visibility:hidden;
	transform:translateY(18px);
	transition:opacity .35s ease,transform .35s cubic-bezier(.22,.9,.3,1),visibility 0s linear .35s;
}
#tcck.is-open .tcck__banner{opacity:1;visibility:visible;transform:none;transition-delay:0s}
#tcck.is-modal-open .tcck__banner{opacity:0;visibility:hidden;transition-delay:0s}

#tcck .tcck__title{margin:0 0 8px;color:var(--tcck-text);font-size:19px;font-weight:700;letter-spacing:-.01em;line-height:1.25}
#tcck .tcck__msg{color:var(--tcck-text);font-size:14.5px;opacity:.82}
#tcck .tcck__links{margin-top:10px;font-size:13px}
#tcck .tcck__links a{color:var(--tcck-text);text-decoration:underline;text-underline-offset:3px;opacity:.9}
#tcck .tcck__links a:hover{opacity:1}
#tcck .tcck__links span{opacity:.5;margin:0 4px}

/* Posiciones de tarjeta */
#tcck.tcck--pos-bottom-left .tcck__banner{left:var(--tcck-off);bottom:var(--tcck-off)}
#tcck.tcck--pos-bottom-right .tcck__banner{right:var(--tcck-off);bottom:var(--tcck-off)}
#tcck.tcck--pos-top-left .tcck__banner{left:var(--tcck-off);top:calc(var(--tcck-off) + var(--tcck-adminbar));transform:translateY(-18px)}
#tcck.tcck--pos-top-right .tcck__banner{right:var(--tcck-off);top:calc(var(--tcck-off) + var(--tcck-adminbar));transform:translateY(-18px)}
#tcck.tcck--pos-middle-left .tcck__banner{left:var(--tcck-off);top:50%;transform:translate(-18px,-50%)}
#tcck.tcck--pos-middle-right .tcck__banner{right:var(--tcck-off);top:50%;transform:translate(18px,-50%)}
#tcck.tcck--pos-top-left.is-open .tcck__banner,
#tcck.tcck--pos-top-right.is-open .tcck__banner{transform:none}
#tcck.tcck--pos-middle-left.is-open .tcck__banner,
#tcck.tcck--pos-middle-right.is-open .tcck__banner{transform:translateY(-50%)}

/* Barras de ancho completo */
#tcck.tcck--pos-bottom-bar .tcck__banner,
#tcck.tcck--pos-top-bar .tcck__banner{
	left:0;
	right:0;
	width:auto;
	max-width:none;
	flex-direction:row;
	align-items:center;
	justify-content:space-between;
	gap:28px;
	padding:20px max(24px,calc((100vw - 1160px) / 2));
	border-left:0;
	border-right:0;
}
#tcck.tcck--pos-bottom-bar .tcck__banner{bottom:0;border-bottom:0;border-radius:var(--tcck-radius) var(--tcck-radius) 0 0}
#tcck.tcck--pos-top-bar .tcck__banner{top:var(--tcck-adminbar);border-top:0;border-radius:0 0 var(--tcck-radius) var(--tcck-radius);transform:translateY(-18px)}
#tcck.tcck--pos-top-bar.is-open .tcck__banner{transform:none}
#tcck.tcck--pos-bottom-bar .tcck__body,
#tcck.tcck--pos-top-bar .tcck__body{flex:1;max-width:760px}
#tcck.tcck--pos-bottom-bar .tcck__actions,
#tcck.tcck--pos-top-bar .tcck__actions{flex:none;min-width:420px}

/* Centro */
#tcck.tcck--pos-center .tcck__banner{
	left:50%;
	top:50%;
	width:min(540px,calc(100vw - 24px));
	max-height:90vh;
	padding:30px;
	transform:translate(-50%,-47%);
}
#tcck.tcck--pos-center.is-open .tcck__banner{transform:translate(-50%,-50%)}

/* ---------- Botones ---------- */
#tcck .tcck__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#tcck .tcck__btn{
	all:unset;
	box-sizing:border-box;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:48px;
	padding:0 18px;
	border-radius:calc(var(--tcck-radius) * .6);
	font-family:inherit;
	font-size:15px;
	font-weight:700;
	line-height:1.2;
	text-align:center;
	cursor:pointer;
	-webkit-tap-highlight-color:transparent;
	transition:filter .2s ease,transform .2s ease,background .2s ease,border-color .2s ease;
}
#tcck .tcck__btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
#tcck .tcck__btn:active{transform:translateY(0)}
#tcck .tcck__btn:focus-visible{outline:3px solid var(--tcck-text);outline-offset:3px}
#tcck .tcck__btn--accept{background:linear-gradient(135deg,var(--tcck-accent),var(--tcck-accent2));color:var(--tcck-btn-text)}
#tcck .tcck__btn--reject{background:var(--tcck-reject-bg);color:var(--tcck-reject-text)}
#tcck .tcck__btn--config{grid-column:1 / -1;border:1px solid rgba(255,255,255,.35);color:var(--tcck-text);background:transparent}
#tcck .tcck__btn--config:hover{background:rgba(255,255,255,.1)}

/* ---------- Ventana de preferencias ---------- */
#tcck .tcck__modal{
	position:fixed;
	z-index:999982;
	left:50%;
	top:50%;
	display:flex;
	flex-direction:column;
	width:min(580px,calc(100vw - 24px));
	max-height:88vh;
	background:var(--tcck-bg);
	color:var(--tcck-text);
	border:1px solid rgba(255,255,255,.14);
	border-radius:var(--tcck-radius);
	box-shadow:0 30px 90px rgba(2,10,50,.55);
	opacity:0;
	visibility:hidden;
	transform:translate(-50%,-47%);
	transition:opacity .3s ease,transform .3s cubic-bezier(.22,.9,.3,1),visibility 0s linear .3s;
}
#tcck.is-modal-open .tcck__modal{opacity:1;visibility:visible;transform:translate(-50%,-50%);transition-delay:0s}

#tcck .tcck__modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 24px 14px}
#tcck .tcck__modal-title{color:var(--tcck-text);font-size:20px;font-weight:700;letter-spacing:-.01em}
#tcck .tcck__close{
	all:unset;
	box-sizing:border-box;
	display:grid;
	place-items:center;
	width:40px;
	height:40px;
	border-radius:12px;
	color:var(--tcck-text);
	cursor:pointer;
}
#tcck .tcck__close:hover{background:rgba(255,255,255,.12)}
#tcck .tcck__close:focus-visible{outline:3px solid var(--tcck-text);outline-offset:2px}

#tcck .tcck__modal-body{flex:1;overflow-y:auto;padding:0 24px;overscroll-behavior:contain}
#tcck .tcck__cat{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-top:1px solid rgba(255,255,255,.14)}
#tcck .tcck__cat-name{color:var(--tcck-text);font-size:16px;font-weight:700}
#tcck .tcck__cat-desc{margin-top:3px;color:var(--tcck-text);font-size:13.5px;opacity:.75}

#tcck .tcck__modal-foot{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:18px 24px 24px;border-top:1px solid rgba(255,255,255,.14)}

/* Interruptores */
#tcck .tcck__switch{position:relative;flex:none;display:inline-block;width:50px;height:28px;cursor:pointer}
#tcck .tcck__switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:2}
#tcck .tcck__switch span{position:absolute;inset:0;border-radius:28px;background:rgba(255,255,255,.22);transition:background .25s ease}
#tcck .tcck__switch span::after{
	content:"";
	position:absolute;
	left:3px;
	top:3px;
	width:22px;
	height:22px;
	border-radius:50%;
	background:#fff;
	box-shadow:0 2px 6px rgba(0,0,0,.3);
	transition:transform .25s cubic-bezier(.22,.9,.3,1);
}
#tcck .tcck__switch input:checked + span{background:linear-gradient(135deg,var(--tcck-accent),var(--tcck-accent2))}
#tcck .tcck__switch input:checked + span::after{transform:translateX(22px)}
#tcck .tcck__switch input:disabled{cursor:not-allowed}
#tcck .tcck__switch input:disabled + span{opacity:.55}
#tcck .tcck__switch input:focus-visible + span{outline:3px solid var(--tcck-text);outline-offset:3px}

/* ---------- Botón para cambiar la decisión ---------- */
#tcck .tcck__reopen{
	all:unset;
	box-sizing:border-box;
	position:fixed;
	bottom:16px;
	z-index:999970;
	display:grid;
	place-items:center;
	width:48px;
	height:48px;
	border-radius:50%;
	background:var(--tcck-bg);
	color:#E0B15B;
	border:1px solid rgba(255,255,255,.2);
	box-shadow:0 8px 22px rgba(2,10,50,.35);
	cursor:pointer;
	opacity:0;
	visibility:hidden;
	transform:scale(.85);
	transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s;
}
#tcck .tcck__reopen--left{left:16px}
#tcck .tcck__reopen--right{right:16px}
#tcck.has-consent:not(.is-open):not(.is-modal-open) .tcck__reopen{opacity:1;visibility:visible;transform:none;transition-delay:0s}
#tcck .tcck__reopen:hover{transform:scale(1.06)}
#tcck .tcck__reopen:focus-visible{outline:3px solid #E0B15B;outline-offset:3px}

#tcck .tcck__live{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- Tablet y móvil ---------- */
@media (max-width:900px){
	#tcck.tcck--pos-bottom-bar .tcck__banner,
	#tcck.tcck--pos-top-bar .tcck__banner{flex-direction:column;align-items:stretch;gap:18px;padding:22px 24px}
	#tcck.tcck--pos-bottom-bar .tcck__actions,
	#tcck.tcck--pos-top-bar .tcck__actions{min-width:0}
}
@media (max-width:640px){
	/* Las tarjetas se convierten en una hoja pegada abajo (o arriba) con margen */
	#tcck.tcck--pos-bottom-left .tcck__banner,
	#tcck.tcck--pos-bottom-right .tcck__banner,
	#tcck.tcck--pos-middle-left .tcck__banner,
	#tcck.tcck--pos-middle-right .tcck__banner{
		left:12px;
		right:12px;
		top:auto;
		bottom:12px;
		width:auto;
		max-height:calc(100vh - 24px);
		transform:translateY(18px);
	}
	#tcck.tcck--pos-top-left .tcck__banner,
	#tcck.tcck--pos-top-right .tcck__banner{
		left:12px;
		right:12px;
		top:calc(12px + var(--tcck-adminbar));
		width:auto;
	}
	#tcck.tcck--pos-bottom-left.is-open .tcck__banner,
	#tcck.tcck--pos-bottom-right.is-open .tcck__banner,
	#tcck.tcck--pos-middle-left.is-open .tcck__banner,
	#tcck.tcck--pos-middle-right.is-open .tcck__banner{transform:none}
	#tcck .tcck__banner{padding:20px}
	#tcck .tcck__title{font-size:18px}
	#tcck.tcck--pos-center .tcck__banner{padding:22px}
	#tcck .tcck__modal-foot{grid-template-columns:1fr}
	#tcck .tcck__modal-foot .tcck__btn--accept{order:1}
	#tcck .tcck__modal-foot .tcck__btn--reject{order:2}
	#tcck .tcck__modal-foot .tcck__btn--config{order:3}
	#tcck .tcck__reopen{bottom:12px;width:44px;height:44px}
	#tcck .tcck__reopen--left{left:12px}
	#tcck .tcck__reopen--right{right:12px}
}

@media (prefers-reduced-motion:reduce){
	#tcck *{transition-duration:.01ms!important;transition-delay:0s!important}
}
@media print{
	#tcck{display:none}
}
