/**
 * Slider de categorías (OZ-Sliders [oz_wc_categories]) — diseño 7K.
 * Card con esquinas redondeadas; la IMAGEN toca los bordes (sin padding lateral).
 * El título y el badge SÍ llevan padding (separados del borde). Arriba: título +
 * badge rojo con la cantidad; abajo: la imagen a todo el ancho.
 *
 * Scope: la clase  cat-cards-7k  (se pone al slider desde el panel de OZ-Sliders).
 */

/* ---------- La tarjeta (el <a>) ---------- */
.cat-cards-7k .ozs__slide .ozs-wc-cat {
	position: relative;               /* ancla: la imagen llena la card y el texto va encima */
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 355px;                     /* tamaño exacto de la card */
	max-width: 100%;
	height: 500px;
	min-height: 0;
	padding: 0;                       /* SIN padding: la imagen llega al borde */
	background: #ffffff;
	border: 1.5px solid #ececec;      /* gris claro; rojo solo en hover */
	border-radius: 18px;              /* esquinas redondeadas */
	overflow: hidden;                 /* la imagen respeta el redondeo */
	color: #131a20;
	text-decoration: none;
	box-sizing: border-box;
	transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}

/* Hover: borde rojo + sombra (fondo blanco, sin recolorear) */
.cat-cards-7k .ozs__slide .ozs-wc-cat:hover,
.cat-cards-7k .ozs__slide .ozs-wc-cat:focus-visible,
.cat-cards-7k .ozs__slide .ozs-wc-cat.is-current {
	background: #ffffff;
	color: #131a20;
	border-color: #e20613;
	box-shadow: 0 12px 28px rgba(0, 0, 0, .10);
	transform: translateY(-2px);
}

/* ---------- Orden: título -> badge -> imagen ---------- */
.cat-cards-7k .ozs__slide .ozs-wc-cat__name      { order: 1; }
.cat-cards-7k .ozs__slide .ozs-wc-cat__count     { order: 2; }
.cat-cards-7k .ozs__slide .ozs-wc-cat__icon-wrap { order: 3; }

/* ---------- Título (con padding: NO toca el borde) ---------- */
.cat-cards-7k .ozs__slide .ozs-wc-cat__name {
	position: relative;               /* encima de la imagen */
	z-index: 3;
	display: block;
	width: 100%;
	min-height: 0;
	margin: 0 0 12px;
	padding: 30px 26px 0;             /* aire arriba: el título no queda tan pegado */
	box-sizing: border-box;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.25;
	color: #131a20;
	text-align: center;
	overflow: visible;
	-webkit-line-clamp: unset;
}

/* ---------- Badge rojo con la cantidad (centrado) ---------- */
.cat-cards-7k .ozs__slide .ozs-wc-cat__count {
	position: relative;               /* encima de la imagen */
	z-index: 3;
	margin: 0 0 18px;
	padding: 6px 18px;
	background: #e20613;
	color: #ffffff;
	border-radius: 6px;
	font-size: 15px;                   /* texto "N productos" un poco más grande */
	font-weight: 600;
	line-height: 1.2;
	opacity: 1;                        /* el plugin lo pone a 0.78 */
}
.cat-cards-7k .ozs__slide .ozs-wc-cat__count::after {
	content: " productos";
}

/* ---------- Imagen = TODA la card (de fondo, edge to edge) ---------- */
.cat-cards-7k .ozs__slide .ozs-wc-cat__icon-wrap {
	position: absolute;                /* llena la card completa */
	inset: 0;
	z-index: 1;                        /* de fondo, debajo del texto */
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;                  /* respeta el redondeo de la card */
}
.cat-cards-7k .ozs__slide .ozs-wc-cat__icon {
	display: block;
	width: 100%;
	max-width: 100%;                   /* anula el max-width:80px del plugin */
	height: 100%;
	min-height: 0;
	margin: 0;
	padding: 0;
}
.cat-cards-7k .ozs__slide .ozs-wc-cat__img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: none;
	margin: 0;
	object-fit: cover;                 /* la imagen llena TODA la card */
}

/* Sin recolorear la imagen en hover */
.cat-cards-7k .ozs__slide .ozs-wc-cat:hover .ozs-wc-cat__img,
.cat-cards-7k .ozs__slide .ozs-wc-cat.is-current .ozs-wc-cat__img {
	filter: none;
}

/* Degradado blanco arriba: separa el texto de la imagen y lo hace legible */
.cat-cards-7k .ozs__slide .ozs-wc-cat::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 42%;
	z-index: 2;                        /* sobre la imagen, bajo el texto */
	background: linear-gradient(to bottom,
		rgba(255, 255, 255, .96) 0%,
		rgba(255, 255, 255, .85) 40%,
		rgba(255, 255, 255, 0) 100%);
	pointer-events: none;
}

/* ============================================================
   Flechas del slider de PRODUCTOS ([oz_wc_products]) — rojas,
   circulares, a los LADOS (fuera de las cards, sin tapar imágenes).
   Especificidad ALTA (html body .ozs.ozs--wc-products ...) para
   ganarle a banner.css (flechas verdes) y a los presets.
   NOTA: hay que ACTIVAR las flechas (nav) en el panel del slider.
   ============================================================ */
/* Espacio a los lados para las flechas + sin recorte del contenedor */
html body .ozs.ozs--wc-products {
	position: relative;
	padding-left: 56px !important;
	padding-right: 56px !important;
	overflow: visible !important;
}
/* Con las flechas a los LADOS no se necesita el espacio superior de nav */
html body .ozs.ozs--wc-products:not(.ozs--banner):not(.ozs--has-header) {
	padding-top: 0 !important;
}
/* Clave: el plugin pone .ozs__nav como position:absolute SIN tamaño (se encoge
   a 0 y los botones colapsan a la derecha). La forzamos a cubrir TODO el slider
   para que prev/next se ubiquen a los extremos reales del .ozs. */
html body .ozs.ozs--wc-products .ozs__nav {
	position: absolute !important;
	inset: 0 !important;
	pointer-events: none;
	z-index: 60;
}

/* Botón: círculo ROJO, centrado verticalmente, a los lados */
html body .ozs.ozs--wc-products .ozs__nav-btn {
	position: absolute !important;
	top: var(--ozs-nav-top, 50%) !important;   /* centro del viewport (lo calcula el JS) */
	bottom: auto !important;
	left: auto;
	right: auto;
	transform: translateY(-50%) !important;
	width: 44px !important;
	height: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 2px solid #ffffff !important;     /* borde blanco: visible sobre rojo y sobre oscuro */
	border-radius: 50% !important;            /* círculo */
	background: #e20613 !important;           /* rojo (gana al verde de banner) */
	box-shadow: 0 2px 10px rgba(0, 0, 0, .45) !important;
	opacity: 1 !important;
	cursor: pointer;
	pointer-events: auto;
	z-index: 60 !important;
}
/* Especificidad (0,5,2) para ganarle a
   ".ozs:not(.ozs--banner):not(.ozs--has-header) > .ozs__nav .ozs__nav-btn { left:auto!important }" (0,5,0) */
html body .ozs.ozs--wc-products.oz-nav-auto .ozs__nav .ozs__nav-btn--prev { left: 8px !important; right: auto !important; }
html body .ozs.ozs--wc-products.oz-nav-auto .ozs__nav .ozs__nav-btn--next { right: 8px !important; left: auto !important; }
/* Hover: solo oscurece; SIN salto (el plugin mete transform:translateY(-1px) que
   tira la flecha hacia abajo). Especificidad (0,6,2) para ganarle a esa regla. */
html body .ozs.ozs--wc-products.oz-nav-auto .ozs__nav .ozs__nav-btn:hover,
html body .ozs.ozs--wc-products.oz-nav-auto .ozs__nav .ozs__nav-btn:focus-visible {
	background: #c00510 !important;
	transform: translateY(-50%) !important;   /* se queda centrada, no salta */
}

/* Flecha (chevron) BLANCA — elimina cualquier flecha SVG heredada (banner/preset) */
html body .ozs.ozs--wc-products .ozs__nav-btn::before {
	content: "" !important;
	display: block !important;
	width: 10px !important;
	height: 10px !important;
	margin: 0 auto !important;
	background: none !important;
	background-image: none !important;
	border-top: 2px solid #ffffff !important;
	border-right: 2px solid #ffffff !important;
	border-bottom: 0 !important;
	border-left: 0 !important;
}
html body .ozs.ozs--wc-products .ozs__nav-btn--prev::before { transform: rotate(-135deg) !important; }
html body .ozs.ozs--wc-products .ozs__nav-btn--next::before { transform: rotate(45deg) !important; }

/* El viewport recorta la sombra de las cards (overflow:hidden). Le doy aire
   vertical para que el GLOW del hover se vea arriba y abajo sin romper el
   recorte horizontal del carrusel. */
html body .ozs.ozs--wc-products .ozs__viewport {
	overflow: hidden;
	padding-top: 16px !important;
	padding-bottom: 16px !important;
}
