/*
 * KGN Promo Block – Estilos frontend
 * Los colores del countdown se inyectan como CSS variables inline desde PHP.
 * Bootstrap ya está en el tema; aquí solo van los estilos propios del bloque.
 */

@import url('https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed:wght@700&display=swap');

/* ══════════════════════════════════════════════════════════════
   BLOQUE RAÍZ
   ══════════════════════════════════════════════════════════════ */
.kgnb-promo {
	/* Variables con valores de seguridad (se sobreescriben por inline style) */
	--kgn-head-h:           200px;
	--kgn-prod-h:           230px;
	--kgn-gap:              16px;
	--kgn-timer-box-bg:     #9e1423;
	--kgn-timer-box-color:  #ffffff;
	--kgn-timer-colon-color:#ffffff;

	font-family: 'Barlow Semi Condensed', Arial, sans-serif;
	background-repeat:   no-repeat;
	background-position: center;
	background-size:     cover;
	margin: 0;
	line-height: 1.4;
	-webkit-font-smoothing: antialiased;
}

/* Mobile */
@media (max-width: 991.98px) {
	.kgnb-promo {
		width: 91vw;
		margin-left: 50%;
		transform: translateX(-50%);
	}
}

/* Desktop */
@media (min-width: 992px) {
	.kgnb-promo {
		max-width: 1200px;
		width: 100%;
		margin: 0 auto;
	}
}

/* ══════════════════════════════════════════════════════════════
   CABECERA
   ══════════════════════════════════════════════════════════════ */
.kgnb-promo .kgn-header {
	margin: -70px 100px -50px 100px;
}

.kgnb-promo .head-card {
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.kgnb-promo .head-card img {
	height: 100%;
	width: auto;
	object-fit: contain;
	display: block;
}

/* Altura fija en desktop para las tres columnas */
@media (min-width: 992px) {
	.kgnb-promo .head-card,
	.kgnb-promo .timer-card {
		height: var(--kgn-head-h);
	}
}

/* Mobile: layout apilado */
@media (max-width: 991.98px) {
	.kgnb-promo .kgn-header {
		margin: 10px auto 0 auto;
		width: 90%;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 0;
	}

	.kgnb-promo .kgn-header .kgn-col-title {
		width: 100%;
		flex: none;
	}

	.kgnb-promo .kgn-header .kgn-col-title img {
		width: 100%;
		height: auto;
		max-height: 90px;
		object-fit: contain;
	}

	.kgnb-promo .kgn-header .kgn-col-timer {
		width: 100%;
		flex: none;
	}
}

/* ══════════════════════════════════════════════════════════════
   COUNTDOWN TIMER
   ══════════════════════════════════════════════════════════════ */
.kgnb-promo .timer-card {
	position: relative;
	padding: 16px 10px;
	overflow: hidden;
}

.kgnb-promo .timer-stack {
	display: flex;
	align-items: center;
	gap: 4px;
	transform: skewX(-6deg);
}

@media (max-width: 991.98px) {
	.kgnb-promo .timer-card  { padding: 4px 10px 12px; }
	.kgnb-promo .timer-stack { gap: 2px; }
}

/* Caja del dígito */
.kgnb-promo .timer-box {
	width: 60px;
	height: 60px;
	background: var(--kgn-timer-box-bg);
	color: var(--kgn-timer-box-color);
	font-weight: 700;
	font-size: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(0, 0, 0, .25);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25);
}

/* Separador ":" */
.kgnb-promo .timer-colon {
	color: var(--kgn-timer-colon-color);
	font-size: 30px;
	font-weight: 700;
	transform: translateY(-2px);
	text-shadow: 0 1px 0 rgba(0, 0, 0, .25);
}

/* Tamaño XL en pantallas muy grandes */
@media (min-width: 1200px) {
	.kgnb-promo .timer-box   { width: 72px; height: 76px; font-size: 40px; }
	.kgnb-promo .timer-colon { font-size: 36px; }
}

/* ══════════════════════════════════════════════════════════════
   GUTTER BOOTSTRAP (override sin afectar al tema)
   ══════════════════════════════════════════════════════════════ */
.kgnb-promo .g-custom {
	--bs-gutter-x: var(--kgn-gap);
	--bs-gutter-y: var(--kgn-gap);
}

/* ══════════════════════════════════════════════════════════════
   SLIDER SWIPER
   ══════════════════════════════════════════════════════════════ */
.kgnb-promo .kgn-slider-wrap {
	position: relative;
}

@media (min-width: 992px) {
	.kgnb-promo .kgn-slider-wrap {
		margin-top: 10px;
		padding: 0 24px 20px; /* espacio lateral para flechas */
	}
}

@media (max-width: 991.98px) {
	.kgnb-promo .kgn-slider-wrap {
		margin-top: 6px;
		padding: 0 0 16px;
	}
}

/* El overflow:hidden va en el propio Swiper, no en el wrapper */
.kgnb-promo .kgn-swiper {
	overflow: hidden;
}

/* Tarjeta de cada producto */
.kgnb-promo .kgn-slide-card {
	display: block;
	border-radius: 18px;
	overflow: hidden;
	text-decoration: none;
	-webkit-user-drag: none;
	user-select: none;
}

@media (min-width: 992px) {
	.kgnb-promo .kgn-slide-card { height: var(--kgn-prod-h); }
}

@media (max-width: 991.98px) {
	.kgnb-promo .kgn-slide-card { height: 260px; }
}

.kgnb-promo .kgn-slide-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	pointer-events: none;
	-webkit-user-drag: none;
}

/* ══════════════════════════════════════════════════════════════
   FLECHAS DE NAVEGACIÓN (solo desktop)
   ══════════════════════════════════════════════════════════════ */
.kgnb-promo .kgn-arrow {
	display: none;
}

@media (min-width: 992px) {
	.kgnb-promo .kgn-arrow {
		display: flex;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		z-index: 12;
		border: none;
		width: 44px;
		height: 44px;
		border-radius: 50%;
		background: rgba(255, 255, 255, .15);
		color: #fff;
		font-size: 24px;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		backdrop-filter: blur(4px);
		-webkit-backdrop-filter: blur(4px);
		transition: background .2s;
	}

	.kgnb-promo .kgn-arrow:hover  { background: rgba(255, 255, 255, .30); }
	.kgnb-promo .kgn-arrow-prev   { left:  -8px; }
	.kgnb-promo .kgn-arrow-next   { right: -8px; }

	/* Ocultar flechas nativas de Swiper */
	.kgnb-promo .swiper-button-next,
	.kgnb-promo .swiper-button-prev { display: none !important; }
}
