/**
 * Secciones nuevas de la portada: carrusel de Categorías Destacadas y
 * mosaico de Marcas Destacadas. Ver inc/home-sections.php.
 */

:root {
	--oz-home-ink: #0b2d5c;
	--oz-home-blue: #176AC9;
	--oz-home-lime: #b6d400;
}

/* ===== Título compartido (antetítulo + dos tonos + barra a la izquierda) ===== */
.oz-home-titulo {
	position: relative;
	padding-left: 18px;
	margin: 0 0 26px;
}
.oz-home-titulo::before {
	content: "";
	position: absolute;
	left: 0;
	top: 4px;
	bottom: 4px;
	width: 4px;
	border-radius: 999px;
	background: var(--oz-home-lime);
}
.oz-home-titulo .producto-detalle__marca {
	margin: 0 0 2px;
	color: var(--oz-home-blue);
	font: 500 clamp(0.95rem, 1.4vw, 1.15rem)/1.2 'Poppins', system-ui, sans-serif;
}
.oz-home-titulo .producto-detalle__titulo {
	margin: 0;
	font: 800 clamp(1.6rem, 3.2vw, 2.6rem)/1.15 'Poppins', system-ui, sans-serif;
	color: var(--oz-home-ink);
}
.oz-home-titulo .producto-detalle__titulo-verde {
	color: var(--oz-home-lime);
}

/* ===== 1. Carrusel de categorías ===== */
.oz-home-cats {
	position: relative;
	padding: 46px 0 56px;
	background-color: var(--oz-home-ink);
	overflow: hidden;
}
.oz-home-cats::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: var(--oz-home-cats-bg, none);
	background-size: cover;
	background-position: center;
	opacity: 0.22;
	pointer-events: none;
}
.oz-home-cats__inner {
	position: relative;
	width: min(1280px, 92vw);
	margin: 0 auto;
}
/* El módulo wc-categories del plugin está pensado para ICONOS: oculta la
   imagen real (opacity:0) y pinta el archivo como máscara de color lime.
   Aquí las imágenes son fotos, así que se desactiva la máscara y se
   muestra la foto a sangre. */
.oz-home-cats .ozs--wc-categories .ozs-wc-cat .ozs-card__media::after {
	content: none !important;
	display: none !important;
}
.oz-home-cats .ozs--wc-categories .ozs-wc-cat .ozs-card__img,
.oz-home-cats .ozs--wc-categories .ozs-wc-cat .ozs-wc-cat__img {
	opacity: 1 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	filter: none !important;
}
.oz-home-cats .ozs--wc-categories .ozs-wc-cat:hover .ozs-wc-cat__img {
	transform: scale(1.04);
	filter: none !important;
}
.oz-home-cats .ozs--wc-categories .ozs-wc-cat .ozs-card__media {
	aspect-ratio: 3 / 4 !important;
	padding: 0 !important;
	border-bottom: 0 !important;
	background: #0b2d5c !important;
	overflow: hidden;
}

/* Tarjeta de cada categoría (marcado del plugin OZ Sliders):
   a.ozs-wc-cat > .ozs-card > .ozs-card__media + .ozs-card__body */
.oz-home-cats .ozs-wc-cat {
	display: block;
	text-decoration: none;
}
.oz-home-cats .ozs-wc-cat:hover { text-decoration: none; }
.oz-home-cats .ozs-wc-cat .ozs-card {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	background: #0b2d5c;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.oz-home-cats .ozs-wc-cat:hover .ozs-card {
	transform: translateY(-4px);
	box-shadow: 0 20px 38px rgba(0, 0, 0, 0.34);
}
/* Difuminado verde al pasar el mouse */
.oz-home-cats .ozs-wc-cat .ozs-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(182, 212, 0, 0.55) 0%, rgba(151, 190, 19, 0.92) 100%);
	opacity: 0;
	transition: opacity 0.25s ease;
	pointer-events: none;
}
.oz-home-cats .ozs-wc-cat:hover .ozs-card::before,
.oz-home-cats .ozs-wc-cat:focus-visible .ozs-card::before {
	opacity: 1;
}
.oz-home-cats .ozs-wc-cat__img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 4;
	max-height: 340px;
	object-fit: cover;
}
/* Nombre centrado abajo, con la flecha al lado */
.oz-home-cats .ozs--wc-categories .ozs-wc-cat .ozs-card__body,
.oz-home-cats .ozs-card__body {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 40px 14px 18px !important;
	background: linear-gradient(to top, rgba(8, 25, 48, 0.85) 40%, rgba(8, 25, 48, 0)) !important;
	border: 0 !important;
	transition: background 0.25s ease;
}
.oz-home-cats .ozs--wc-categories .ozs-wc-cat__name,
.oz-home-cats .ozs-wc-cat__name {
	margin: 0 !important;
	color: #ffffff !important;
	font: 700 16px/1.25 'Poppins', system-ui, sans-serif !important;
	text-align: center !important;
	transition: color 0.25s ease;
}
.oz-home-cats .ozs-card__body::after {
	content: "›";
	flex: 0 0 auto;
	color: #ffffff;
	font: 700 22px/1 'Poppins', system-ui, sans-serif;
	transform: translateY(-1px);
	transition: color 0.25s ease;
}
/* Al pasar el mouse: el fondo verde tapa la foto y el texto pasa a azul */
.oz-home-cats .ozs-wc-cat:hover .ozs-card__body,
.oz-home-cats .ozs-wc-cat:focus-visible .ozs-card__body {
	background: transparent !important;
}
.oz-home-cats .ozs-wc-cat:hover .ozs-wc-cat__name,
.oz-home-cats .ozs-wc-cat:focus-visible .ozs-wc-cat__name {
	color: var(--oz-home-ink) !important;
}
.oz-home-cats .ozs-wc-cat:hover .ozs-card__body::after,
.oz-home-cats .ozs-wc-cat:focus-visible .ozs-card__body::after {
	color: var(--oz-home-ink);
}
/* Flechas del carrusel: cuadradas, con borde verde (en el diseño) */
.oz-home-cats .ozs__nav-btn {
	width: 46px !important;
	height: 46px !important;
	border: 2px solid var(--oz-home-lime) !important;
	border-radius: 8px !important;
	background: transparent !important;
	color: #ffffff !important;
	box-shadow: none !important;
	transition: background 0.2s ease, color 0.2s ease;
}
.oz-home-cats .ozs__nav-btn:hover {
	background: var(--oz-home-lime) !important;
	color: var(--oz-home-ink) !important;
}
.oz-home-cats .ozs__nav-btn::before,
.oz-home-cats .ozs__nav-btn::after {
	border-color: currentColor !important;
	background-color: currentColor !important;
	color: currentColor !important;
}

.oz-home-cats .ozs-wc-cat__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 3 / 4;
	background: #d7dde5;
	color: var(--oz-home-ink);
	font: 800 2rem/1 'Poppins', system-ui, sans-serif;
}

/* ===== 2. Mosaico de marcas ===== */
.oz-home-marcas {
	padding: 56px 0 64px;
}
.oz-home-marcas__inner {
	position: relative;
	width: min(1280px, 92vw);
	margin: 0 auto;
}
.oz-home-marcas__vertienda {
	position: absolute;
	top: 6px;
	right: 0;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	border-radius: 8px;
	background: var(--oz-home-lime);
	color: #1f2937;
	font: 700 13px/1 'Poppins', system-ui, sans-serif;
	text-decoration: none;
}
.oz-home-marcas__vertienda:hover {
	background: #a3be00;
	text-decoration: none;
}
.oz-home-marcas__grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 18px;
}
.oz-home-marcas__item {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	grid-column: span 2;
	min-height: 190px;
	padding: 24px;
	border-radius: 16px;
	background-color: #eef1f4;
	background-size: cover;
	background-position: center;
	text-decoration: none;
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.oz-home-marcas__item--grande {
	grid-column: span 3;
	min-height: 320px;
}
.oz-home-marcas__item:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 34px rgba(11, 45, 92, 0.18);
	text-decoration: none;
}
.oz-home-marcas__logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 62%;
}
.oz-home-marcas__logo img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 76px;
	object-fit: contain;
}
.oz-home-marcas__item--grande .oz-home-marcas__logo img {
	max-height: 104px;
}
.oz-home-marcas__texto {
	font: 800 clamp(1.3rem, 2.4vw, 2rem)/1 'Poppins', system-ui, sans-serif;
	letter-spacing: 0.06em;
	color: var(--oz-home-ink);
}

@media (max-width: 991.98px) {
	.oz-home-marcas__grid { gap: 14px; }
	.oz-home-marcas__item { grid-column: span 3; min-height: 150px; }
	.oz-home-marcas__item--grande { grid-column: span 6; min-height: 220px; }
	.oz-home-cats .ozs__slide img { height: 210px; }
}

@media (max-width: 575.98px) {
	.oz-home-marcas__vertienda { position: static; margin: 0 0 18px; }
	.oz-home-marcas__item,
	.oz-home-marcas__item--grande { grid-column: span 6; min-height: 140px; }
}

/* ===== Títulos de las demás secciones de la portada =====
   Mismo patrón que el diseño: antetítulo pequeño en azul, título grande
   en dos tonos (azul + verde), barra verde a la izquierda y caja alta
   normal (sin mayúsculas forzadas). Se limita a las filas 2, 5 y 6 del
   maquetador para no tocar el bloque del producto SAGA, que usa el mismo
   componente pero con otro diseño. */

.oz-pb-r-2 .producto-detalle,
.oz-pb-r-6 .producto-detalle {
	position: relative;
	padding-left: 18px;
}
.oz-pb-r-2 .producto-detalle::before,
.oz-pb-r-6 .producto-detalle::before {
	content: "";
	position: absolute;
	left: 0;
	top: 4px;
	bottom: 4px;
	width: 4px;
	border-radius: 999px;
	background: var(--oz-home-lime);
}
.oz-pb-r-2 .producto-detalle__marca,
.oz-pb-r-6 .producto-detalle__marca {
	margin: 0 0 2px !important;
	color: var(--oz-home-blue) !important;
	font: 500 clamp(0.95rem, 1.4vw, 1.15rem)/1.2 'Poppins', system-ui, sans-serif !important;
	text-transform: none !important;
	text-decoration: none !important;
}
.oz-pb-r-2 .producto-detalle__titulo,
.oz-pb-r-6 .producto-detalle__titulo {
	margin: 0 !important;
	font: 800 clamp(1.6rem, 3.2vw, 2.6rem)/1.15 'Poppins', system-ui, sans-serif !important;
	color: var(--oz-home-ink) !important;
	text-transform: none !important;
}
.oz-pb-r-2 .producto-detalle__titulo-azul,
.oz-pb-r-6 .producto-detalle__titulo-azul {
	color: var(--oz-home-ink) !important;
}
.oz-pb-r-2 .producto-detalle__titulo-verde,
.oz-pb-r-6 .producto-detalle__titulo-verde {
	color: var(--oz-home-lime) !important;
}

/* Fila 5 ("Marcas que Respaldan / Cada Proyecto"), sobre fondo azul oscuro */
.oz-pb-r-5 .titulo-marcas {
	position: relative;
	display: block;
	margin: 0 0 8px !important;
	padding-left: 18px;
	text-align: left !important;
}
.oz-pb-r-5 .titulo-marcas::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	bottom: 6px;
	width: 4px;
	border-radius: 999px;
	background: var(--oz-home-lime);
}
.oz-pb-r-5 .titulo-marcas__superior {
	display: block;
	color: #7cb2ec !important;
	font: 500 clamp(0.95rem, 1.4vw, 1.15rem)/1.2 'Poppins', system-ui, sans-serif !important;
	text-transform: none !important;
}
.oz-pb-r-5 .titulo-marcas__inferior {
	display: block;
	color: #ffffff !important;
	font: 800 clamp(1.6rem, 3.2vw, 2.6rem)/1.15 'Poppins', system-ui, sans-serif !important;
	text-transform: none !important;
}
