/* Home configurable del auspiciante.
 * El cliente administra contenido y orden; la adaptación visual queda resuelta
 * por el sitio con los breakpoints globales de FullAventura. */

.sponsor-home-config-section,
.sponsor-featured-section,
.sponsor-category-section{
	padding:30px 0 36px;
}

.sponsor-home-config-section,
.sponsor-category-section{
	background:#fff;
}

.sponsor-home-config-section.section-presentacion-fondo_body{ background:var(--fondo); }
.sponsor-home-config-section.section-presentacion-fondo_blanco{ background:#fff; }
.sponsor-home-config-section.section-presentacion-fondo_neutro{ background:#e9ebe8; }

.sponsor-featured-section{
	background:#eef1ed;
	border-block:1px solid #dce2dc;
}

/* Carrusel común para productos y categorías. El número visible depende del
 * ancho disponible; la cantidad configurada indica el total del bloque. */
.sponsor-carousel{
	position:relative;
}

.sponsor-carousel-track,
.sponsor-category-track{
	display:flex;
	gap:13px;
	padding:2px 1px 8px;
	overflow-x:auto;
	overflow-y:hidden;
	scroll-behavior:smooth;
	scroll-snap-type:x proximity;
	scrollbar-width:none;
	overscroll-behavior-inline:contain;
}

.sponsor-carousel-track::-webkit-scrollbar,
.sponsor-category-track::-webkit-scrollbar{
	display:none;
}

.sponsor-carousel-track > *,
.sponsor-category-track > *{
	scroll-snap-align:start;
}
.sponsor-carousel-track > *{ flex:0 0 100%; }
.sponsor-category-track > *{ flex:0 0 46%; }

.sponsor-carousel-arrow{
	position:absolute;
	top:50%;
	z-index:3;
	display:grid;
	place-items:center;
	width:42px;
	height:42px;
	padding:0;
	border:1px solid #d2d7d3;
	border-radius:50%;
	background:#fff;
	box-shadow:0 4px 14px rgba(25,34,28,.14);
	color:#27332c;
	font-size:19px;
	cursor:pointer;
	transform:translateY(-50%);
	transition:border-color .16s ease,box-shadow .16s ease,opacity .16s ease;
}

.sponsor-carousel-prev{ left:-14px; }
.sponsor-carousel-next{ right:-14px; }

.sponsor-carousel-arrow:hover{
	border-color:#9ba69e;
	box-shadow:0 5px 16px rgba(25,34,28,.19);
}

.sponsor-carousel-arrow:disabled,
.sponsor-carousel-arrow[hidden]{
	display:none;
}

/* Muro: el sitio elige las columnas. justify-content:center evita que una
 * última fila incompleta quede visualmente pegada al margen izquierdo. */
.sponsor-product-wall{
	--sponsor-wall-columns:2;
	--sponsor-wall-gap:13px;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:var(--sponsor-wall-gap);
}

.sponsor-product-wall > .sponsor-product-card{
	flex:0 1 calc((100% - (var(--sponsor-wall-columns) - 1) * var(--sponsor-wall-gap)) / var(--sponsor-wall-columns));
	max-width:calc((100% - (var(--sponsor-wall-columns) - 1) * var(--sponsor-wall-gap)) / var(--sponsor-wall-columns));
}

/* Producto destacado: pieza promocional con presencia de banner. Un producto
 * ocupa una franja horizontal; dos productos forman dos módulos equivalentes. */
.sponsor-featured-grid{
	display:grid;
	grid-template-columns:minmax(0,1fr);
	gap:20px;
}

.sponsor-featured-card{
	position:relative;
	display:grid;
	grid-template-columns:minmax(0,1fr);
	min-height:0;
	overflow:hidden;
	border:0;
	border-left:7px solid #b99650;
	background:#fff;
	box-shadow:0 14px 34px rgba(31,44,35,.14);
}

.sponsor-featured-photo{
	display:flex;
	align-items:center;
	justify-content:center;
	min-width:0;
	height:250px;
	min-height:250px;
	padding:20px;
	background:linear-gradient(135deg,#fff 0%,#f1f4ef 100%);
	overflow:hidden;
}

.sponsor-featured-photo img{
	display:block;
	width:100%;
	height:100%;
	margin:auto;
	max-height:340px;
	object-fit:contain;
	transition:transform .24s ease;
}
.sponsor-featured-card:hover .sponsor-featured-photo img{ transform:scale(1.025); }

.sponsor-featured-marker{
	position:absolute;
	z-index:4;
	top:0;
	left:0;
	display:inline-flex;
	align-items:center;
	gap:7px;
	min-height:34px;
	padding:0 13px;
	background:#263c2f;
	box-shadow:0 5px 14px rgba(26,39,31,.17);
	color:#fff;
	font-size:10px;
	font-weight:800;
	letter-spacing:.09em;
	text-transform:uppercase;
}
.sponsor-featured-marker i{ color:#e1bd72; font-size:12px; }

.sponsor-featured-info{
	display:flex;
	flex-direction:column;
	justify-content:center;
	min-width:0;
	padding:24px 22px 25px;
	border-top:1px solid #e3e8e3;
	background:#fff;
}

.sponsor-featured-badges{
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	margin-bottom:10px;
}

.sponsor-featured-title{
	color:#202923;
	font-family:Manrope,Inter,sans-serif;
	font-size:27px;
	font-weight:800;
	line-height:1.12;
	letter-spacing:-.025em;
	text-decoration:none;
}

.sponsor-featured-title:hover{ color:var(--acento-hover); }

.sponsor-featured-meta{
	display:flex;
	flex-wrap:wrap;
	gap:7px 14px;
	gap:6px 12px;
	margin-top:10px;
	color:#67716b;
	font-size:11.5px;
	font-weight:650;
	text-transform:uppercase;
	letter-spacing:.045em;
}

.sponsor-featured-info > strong{
	margin-top:16px;
	font-family:Manrope,Inter,sans-serif;
	font-size:27px;
	font-weight:800;
	line-height:1.1;
}

.sponsor-featured-attributes{
	display:grid;
	gap:4px;
	margin:11px 0 0;
	font-size:11.5px;
}
.sponsor-featured-attributes > div{ display:flex; gap:6px; }
.sponsor-featured-attributes dt{ font-weight:700; color:#4c574f; }
.sponsor-featured-attributes dd{ margin:0; color:#68736c; }
.sponsor-featured-actions{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.sponsor-featured-action{
	display:inline-flex;
	align-items:center;
	gap:6px;
	min-height:38px;
	padding:8px 13px;
	border:1px solid #344f3b;
	background:#344f3b;
	color:#fff;
	font-size:12px;
	font-weight:700;
	text-decoration:none;
}
.sponsor-featured-action:hover{ border-color:#253b2c; background:#253b2c; }
.sponsor-featured-action-whatsapp{ border-color:#438258; background:#fff; color:#2d7442; }
.sponsor-featured-action-whatsapp:hover{ border-color:#438258; background:#eef7f0; color:#245f37; }

/* Las presentaciones del Muro cambian sólo en teléfono. */
@media (width < 576px){
	.sponsor-product-wall.is-classic,
	.sponsor-product-wall.is-compact{ --sponsor-wall-columns:1; --sponsor-wall-gap:10px; }
	.sponsor-product-wall.is-compact .sponsor-product-card{
		display:grid;
		grid-template-columns:108px minmax(0,1fr);
		min-height:108px;
	}
	.sponsor-product-wall.is-compact .sponsor-product-photo{
		width:108px;
		height:108px;
		min-height:108px;
		padding:6px;
	}
	.sponsor-product-wall.is-compact .sponsor-product-info{
		min-width:0;
		padding:10px;
		border-top:0;
		border-left:1px solid #eff1ee;
	}
	.sponsor-product-wall.is-compact .sponsor-product-title{ min-height:0; font-size:13.5px; }
	.sponsor-product-wall.is-compact .search-card-badges{ top:0; left:0; width:108px; height:108px; pointer-events:none; }
	.sponsor-product-wall.is-compact .product-badge-red{ position:absolute; top:5px; left:5px; }
	.sponsor-product-wall.is-compact .product-badge-new{ position:absolute; bottom:5px; left:5px; }

	.sponsor-product-wall.is-reduced{ --sponsor-wall-columns:2; --sponsor-wall-gap:6px; }
	.sponsor-product-wall.is-reduced .sponsor-product-photo{ height:140px; padding:6px; }
	.sponsor-product-wall.is-reduced .sponsor-product-info{ padding:7px 7px 8px; }
	.sponsor-product-wall.is-reduced .sponsor-product-title{ min-height:30px; font-size:10.75px; font-weight:500; line-height:1.35; }
	.sponsor-product-wall.is-reduced .sponsor-product-info strong{ margin-top:4px; font-size:12px; font-weight:500; }
	.sponsor-product-wall.is-reduced .search-card-badges{ top:5px; left:5px; gap:2px; }
	.sponsor-product-wall.is-reduced .product-badge{ min-height:15px; padding:2px 3px; font-size:6.5px; letter-spacing:.02em; }
}

/* Galería de categorías: tarjeta visual amplia, inspirada en un carrusel de
 * accesos comerciales, no en una segunda grilla de productos. */
.sponsor-category-track{
	grid-auto-columns:minmax(0,46%);
}

.sponsor-category-card{
	display:flex;
	flex-direction:column;
	min-width:0;
	border:1px solid #e0e3e0;
	background:#fff;
	color:#222b26;
	text-align:center;
	text-decoration:none;
	transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}

.sponsor-category-card:hover{
	border-color:#bbc3bd;
	box-shadow:var(--shadow-soft);
	transform:translateY(-1px);
}

.sponsor-category-photo{
	display:flex;
	align-items:center;
	justify-content:center;
	aspect-ratio:1 / .78;
	padding:12px;
	background:#fff;
	overflow:hidden;
}

.sponsor-category-photo img{
	width:100%;
	height:100%;
	object-fit:contain;
}

.sponsor-category-photo-empty{
	background:#f3f5f3;
	color:#a0aaa3;
	font-size:30px;
}

.sponsor-category-copy{
	display:flex;
	min-height:72px;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:4px;
	padding:10px 9px 12px;
	border-top:1px solid #eff1ee;
}
.sponsor-category-card strong{
	font-size:14px;
	line-height:1.22;
}
.sponsor-category-card small{
	color:#7b837e;
	font-size:11px;
	line-height:1.2;
}

.sponsor-category-carousel.is-no-overflow .sponsor-category-track.is-short{
	justify-content:center;
}

@media (width >= 576px){
	.sponsor-carousel-track{ gap:13px; }
	.sponsor-carousel-track > *{ flex-basis:calc((100% - 13px) / 2); }
	.sponsor-category-track{ gap:13px; }
	.sponsor-category-track > *{ flex-basis:calc((100% - 26px) / 3); }
	.sponsor-carousel-arrow{ display:grid; }
	.sponsor-product-wall,
	.sponsor-product-wall-4,
	.sponsor-product-wall-6,
	.sponsor-product-wall-8,
	.sponsor-product-wall-10{ --sponsor-wall-columns:2; }
	.sponsor-featured-card{
		grid-template-columns:44% minmax(0,1fr);
		min-height:300px;
	}
	.sponsor-featured-photo{ height:100%; min-height:300px; padding:25px; }
	.sponsor-featured-info{ padding:25px; border-top:0; border-left:1px solid #e3e8e3; }
	.sponsor-featured-title{ font-size:25px; }
	.sponsor-featured-info > strong{ margin-top:15px; font-size:25px; }
}

@media (width >= 768px){
	.sponsor-home-config-section,
	.sponsor-featured-section,
	.sponsor-category-section{ padding:30px 0 36px; }
	.sponsor-carousel-track > *{ flex-basis:calc((100% - 26px) / 3); }
	.sponsor-category-track > *{ flex-basis:calc((100% - 39px) / 4); }
	.sponsor-product-wall-4{ --sponsor-wall-columns:2; }
	.sponsor-product-wall-6{ --sponsor-wall-columns:3; }
	.sponsor-product-wall-8{ --sponsor-wall-columns:4; }
	.sponsor-product-wall-10{ --sponsor-wall-columns:2; }
	.sponsor-featured-card{ grid-template-columns:minmax(240px,43%) minmax(0,1fr); }
	.sponsor-featured-count-1 .sponsor-featured-title{ font-size:clamp(28px,3vw,38px); }
}

@media (width >= 992px){
	.sponsor-carousel-track > *{ flex-basis:calc((100% - 39px) / 4); }
	.sponsor-category-track > *{ flex-basis:calc((100% - 52px) / 5); }
	.sponsor-product-wall-4{ --sponsor-wall-columns:4; }
	.sponsor-product-wall-6{ --sponsor-wall-columns:3; }
	.sponsor-product-wall-8{ --sponsor-wall-columns:4; }
	.sponsor-product-wall-10{ --sponsor-wall-columns:5; }
	.sponsor-featured-count-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.sponsor-featured-count-2 .sponsor-featured-card{
		grid-template-columns:minmax(0,1fr);
		grid-template-rows:210px auto;
		min-height:0;
	}
	.sponsor-featured-count-2 .sponsor-featured-photo{ height:210px; min-height:210px; padding:20px; }
	.sponsor-featured-count-2 .sponsor-featured-info{ justify-content:flex-start; padding:20px 22px 22px; border-top:1px solid #e3e8e3; border-left:0; }
	.sponsor-featured-count-2 .sponsor-featured-title{ font-size:23px; }
	.sponsor-featured-count-2 .sponsor-featured-attributes{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px 14px; }
	.sponsor-featured-count-2 .sponsor-featured-attributes > div{ min-width:0; }
	.sponsor-featured-count-2 .sponsor-featured-actions{ margin-top:12px; }
}

@media (width >= 1200px){
	.sponsor-carousel-track > *{ flex-basis:calc((100% - 52px) / 5); }
	.sponsor-category-track > *{ flex-basis:calc((100% - 65px) / 6); }
	.sponsor-product-wall-4{ --sponsor-wall-columns:4; }
	.sponsor-product-wall-6{ --sponsor-wall-columns:3; }
	.sponsor-product-wall-8{ --sponsor-wall-columns:4; }
	.sponsor-product-wall-10{ --sponsor-wall-columns:5; }
}

/* V131 - La Galería de categorías se integra directamente al fondo general de
 * la Home, sin una franja blanca exterior adicional. */
.sponsor-category-section{ background:transparent; }

@media (width < 576px){
	.sponsor-carousel-track > .sponsor-product-card{
		flex:0 0 100% !important;
		width:100%;
		min-width:100%;
		max-width:100%;
	}
}
