:root{
	--color-identidad-global: #8CA5AA;
	--color-nav: #2B4B59;
	--acento: #2E7594;
	--acento-hover: #246481;
	--acento-suave: #EAF3F7;
	--acento-borde: #AFCBD7;
	--rotulo: #6A6258;
	--price: #b97f4f;
	--discount-badge-bg: #267e4b;
	--grafito: #17191b;
	--texto: #23272a;
	--muted: #697176;
	--fondo: #f2f3f1;
	--panel: #ffffff;
	--linea: #dde1dd;
	--linea-suave: #eaede9;
	--page-max: 1200px;
	--radio: 0px;
	--shadow-soft: 0 8px 24px rgba(20, 24, 22, .055);
}

*{
	box-sizing: border-box;
}

/* Decisión visual vigente: interfaz de cantos rectos, sin bordes redondeados. */

html{
	scroll-behavior: smooth;
}

body{
	margin: 0;
	font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 15px;
	line-height: 1.5;
	color: var(--texto);
	background: var(--fondo);
}

body.mobile-menu-abierto{
	overflow: hidden;
}

.price{ color:var(--price); }
.product-price-content{display:inline-flex;align-items:baseline;gap:5px;flex-wrap:wrap;min-width:0}
.product-price-current{color:var(--price)}

.product-price-discount{display:inline-block;padding:1px 4px;background:var(--discount-badge-bg);color:#fff;font-size:10px;line-height:1.3;font-weight:750;white-space:nowrap;vertical-align:baseline}
.product-price-content.is-detail{display:flex;align-items:baseline;gap:5px 8px}
.product-price-original{width:100%;color:var(--muted);font-size:13px;font-weight:400;line-height:1.4;letter-spacing:0}

a{
	color: inherit;
	text-decoration: none;
}

button,
input,
select,
textarea{
	font: inherit;
}

button{
	color: inherit;
}

img{
	display: block;
	max-width: 100%;
}

.shell{
	width: min(var(--page-max), calc(100% - 36px));
	margin-inline: auto;
}

/* =====================================================================
   HEADER GENERAL
   ===================================================================== */
.site-header{
	position: relative;
	z-index: 70;
	background: var(--color-identidad-global);
	box-shadow: 0 1px 0 rgba(0, 0, 0, .06);
}

.header-row{
	height: 82px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
}

.brand img{
	width:auto;
	height:auto;
	max-width:258px;
	max-height:65px;
	object-fit:contain;
	object-position:left center;
}

/* Publicidad sobre la cabecera pública compartida. */
.header-banner-sobre{
	padding: 0;
	background: transparent;
}
.header-banner-sobre.banner-presentacion-fondo_blanco{ background:#fff; }
.header-banner-sobre.banner-presentacion-fondo_neutro{ background:#e9ebe8; }
.header-banner-sobre .banner-group{
	max-width: 1200px;
	margin-inline: auto;
}

.mobile-trigger{
	display: none;
	width: 42px;
	height: 42px;
	border: 1px solid var(--linea);
	background: #fff;
	font-size: 22px;
	cursor: pointer;
}

.main-nav{
	background: var(--color-nav);
}

.nav-row{
	position: relative;
	height: 38px;
	display: flex;
	align-items: stretch;
	gap: 0;
}

.nav-item{
	position: relative;
}

.nav-link{
	position: relative;
	height: 38px;
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 0 13px;
	border: 0;
	background: transparent;
	color: #e7e9e8;
	font-size: 11.25px;
	font-weight: 650;
	letter-spacing: .025em;
	white-space: nowrap;
	transition: color .15s ease, background .15s ease;
}

.nav-link-align-right{
	margin-left:auto;
}

.nav-link i{
	font-size: 9px;
	opacity: .72;
	transition: transform .15s ease, opacity .15s ease;
}

.nav-button{
	cursor: default;
}

.nav-link:hover,
.nav-link:focus-visible,
.has-dropdown:hover > .nav-link,
.nav-mega-host.is-keyboard-open > .nav-link{
	background:#fff;
	color:var(--color-identidad-global);
	outline:0;
}

/* El chevron conserva exactamente la misma posición en reposo/hover. Evita el
 * pequeño "salto" visual que se producía al desplazarlo 1 px al activarse. */
.nav-item:hover > .nav-link i,
.nav-mega-host.is-keyboard-open > .nav-link i{ opacity:1; transform:none; }

.nav-new,
.nav-new:hover{
	background:#b84d60;
	color:#fff;
}
.nav-new:hover{ background:#9f3f50; }

.desktop-menu{
	position:absolute;
	top:100%;
	left:0;
	z-index:90;
	background:#fff;
	border:1px solid #dbe3e7;
	border-top:0;
	box-shadow:0 24px 54px rgba(20,27,23,.16);
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transform:none;
	transition:none;
}

/* Mouse: apertura puramente por hover. Teclado: clase explícita administrada
 * por JS. No usamos :focus-within porque un click podía dejar el panel pegado. */
.has-dropdown:hover:not(.is-mega-closed) > .desktop-menu,
.nav-mega-host.is-keyboard-open:not(.is-mega-closed) > .desktop-menu{
	opacity:1;
	visibility:visible;
	pointer-events:auto;
	transform:none;
}

.nav-mega-host.is-mega-closed > .desktop-menu{
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transform:none;
}

/* Mega menú Desktop del header general. El panel se ancla al ancho completo
 * del contenedor de navegación y no al botón individual. */
.nav-mega-host{ position:static; }

.nav-mega-close{
	position:absolute;
	top:12px;
	right:14px;
	z-index:4;
	display:inline-grid;
	place-items:center;
	width:32px;
	height:32px;
	padding:0;
	border:1px solid #d7ddd8;
	background:#fff;
	color:#5b655e;
	cursor:pointer;
	box-shadow:0 1px 0 rgba(0,0,0,.02);
	transition:background .14s ease, color .14s ease, border-color .14s ease;
}
.nav-mega-close:hover,
.nav-mega-close:focus-visible{
	background:#eef3f5;
	border-color:#bfd0d8;
	color:var(--color-identidad-global);
	outline:0;
}
.nav-mega-close i{ font-size:14px; }

.nav-mega{
	width:100%;
	min-height:0;
	overflow:hidden;
}

.nav-mega-comercios{
	width:100%;
	display:grid;
	grid-template-columns:238px minmax(0,1fr);
}

.nav-mega-rail{
	display:flex;
	flex-direction:column;
	padding:14px 0;
	background:#f4f6f7;
	border-right:1px solid #dfe5e8;
}

.nav-mega-tab{
	display:grid;
	grid-template-columns:20px minmax(0,1fr) 14px;
	align-items:center;
	gap:9px;
	width:100%;
	min-height:43px;
	padding:9px 16px;
	border:0;
	border-left:3px solid transparent;
	background:transparent;
	color:#3b423e;
	font:inherit;
	font-size:12.5px;
	font-weight:650;
	line-height:1.25;
	text-align:left;
	cursor:pointer;
	transition:background .14s ease, color .14s ease, border-color .14s ease;
}
.nav-mega-tab > i:first-child{ color:#77817a; font-size:14px; }
.nav-mega-tab > i:last-child{ justify-self:end; color:#9aa19d; font-size:10px; }
.nav-mega-tab:hover,
.nav-mega-tab:focus-visible{
	background:#eef3f5;
	color:var(--color-identidad-global);
	outline:0;
}
.nav-mega-tab.is-active{
	background:#fff;
	border-left-color:var(--color-identidad-global);
	color:var(--color-identidad-global);
	box-shadow:0 1px 0 #e3e9ec, 0 -1px 0 #e3e9ec;
}
.nav-mega-tab.is-active > i:first-child,
.nav-mega-tab:hover > i:first-child{ color:var(--color-identidad-global); }

.nav-mega-stage{
	min-width:0;
	padding:22px 52px 26px 18px;
	background:#fff;
}
.nav-mega-pane[hidden]{ display:none !important; }
.nav-mega-heading{
	display:grid;
	gap:4px;
	margin-bottom:11px;
	padding-bottom:10px;
	border-bottom:1px solid #e3e9ec;
}
.nav-mega-heading > strong{
	color:#202722;
	font-family:Manrope,Inter,sans-serif;
	font-size:18px;
	font-weight:720;
	line-height:1.15;
}

.nav-mega-link-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	column-gap:18px;
	row-gap:0;
}

.nav-mega-link-grid > a{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	min-width:0;
	min-height:46px;
	padding:9px 6px 9px 0;
	border:0;
	border-bottom:1px solid #e3e9ec;
	background:transparent;
	color:#303833;
	font-size:12.25px;
	font-weight:600;
	line-height:1.25;
	text-decoration:none;
	transition:background .14s ease, color .14s ease, padding .14s ease;
}
.nav-mega-link-grid > a::before{
	content:"";
	position:absolute;
	left:-8px;
	top:9px;
	bottom:9px;
	width:2px;
	background:var(--color-identidad-global);
	transform:scaleY(0);
	transform-origin:center;
	transition:transform .14s ease;
}
.nav-mega-link-grid > a > span{ min-width:0; }
.nav-mega-client-copy{
	min-width:0;
	display:grid;
	gap:2px;
}
.nav-mega-client-name{
	min-width:0;
	color:inherit;
	line-height:1.2;
}
.nav-mega-client-locality{
	display:block;
	color:#a6aca8;
	font-size:9.75px;
	font-weight:400;
	line-height:1.2;
}
.nav-mega-link-grid > a:hover .nav-mega-client-locality,
.nav-mega-link-grid > a:focus-visible .nav-mega-client-locality{ color:#8f9792; }
.nav-mega-link-grid > a > i{
	flex:0 0 auto;
	color:#7d887f;
	font-size:10px;
	opacity:0;
	transform:translateX(-2px);
	transition:opacity .12s ease, transform .12s ease, color .12s ease;
}
.nav-mega-link-grid > a:hover,
.nav-mega-link-grid > a:focus-visible{
	background:#eef3f5;
	color:var(--color-identidad-global);
	outline:0;
}
.nav-mega-link-grid > a:hover::before,
.nav-mega-link-grid > a:focus-visible::before{ transform:scaleY(1); }
.nav-mega-link-grid > a:hover > i,
.nav-mega-link-grid > a:focus-visible > i{
	color:var(--color-identidad-global);
	opacity:1;
	transform:translateX(1px);
}

.nav-mega-simple{
	width:100%;
	min-height:0;
	padding:22px 52px 26px 18px;
}
.nav-mega-simple .nav-mega-link-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); }

.menu-badge{
	display: inline-block;
	margin-left: 6px;
	padding: 2px 4px;
	border-radius: 0;
	background: #c93d4e;
	color: #fff;
	font-size: 8px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	vertical-align: middle;
}

/* Header compacto utilizado dentro de auspiciantes. */
.site-header-compacto{
	box-shadow: none;
}

.site-header-compacto .header-row{
	height: 56px;
}

.site-header-compacto .brand img{
	width:auto;
	height:auto;
	max-width:176px;
	max-height:47px;
}

/* Dentro de un auspiciante el header general funciona como contexto y no
 * debe competir en altura con la identidad propia del comercio. */
.site-header-compacto .nav-row,
.site-header-compacto .nav-link{
	height: 35px;
}

.site-header-compacto .nav-link{
	padding-inline: 10px;
	font-size: 10.75px;
}

/* =====================================================================
   MENU MOBILE
   ===================================================================== */
.mobile-menu-backdrop{
	position: fixed;
	inset: 0;
	z-index: 105;
	background: rgba(0, 0, 0, .48);
	opacity: 0;
	visibility: hidden;
	transition: .2s ease;
}

.mobile-menu-backdrop.open{
	opacity: 1;
	visibility: visible;
}

.mobile-menu{
	position: fixed;
	inset: 0 0 0 auto;
	z-index: 110;
	width: min(390px, 92vw);
	height: 100vh;
	background: #fff;
	transform: translateX(105%);
	transition: .22s ease;
	overflow: auto;
}

.mobile-menu.open{
	transform: none;
}

.mobile-menu-head{
	height: 74px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 15px;
	border-bottom: 1px solid var(--linea);
}

.mobile-menu-head img{
	width:auto;
	max-width:170px;
	max-height:58px;
	object-fit:contain;
}

.mobile-menu-head button{
	border: 0;
	background: none;
	font-size: 20px;
	cursor: pointer;
}

.mobile-root,
.mobile-sub > button{
	width: 100%;
	border: 0;
	background: #fff;
	text-align: left;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 13px 16px;
	font-size: 12.5px;
	font-weight: 700;
	border-bottom: 1px solid var(--linea-suave);
}

.mobile-sub{
	display: none;
	background: #f6f7f5;
}

.mobile-sub.open,
.mobile-sub2.open{
	display: block;
}

.mobile-sub > button{
	padding-left: 25px;
	background: #f6f7f5;
}

.mobile-sub2{
	display: none;
	background: #fff;
}

.mobile-sub2 a,
.mobile-simple-list a{
	display: block;
	border-bottom: 1px solid var(--linea-suave);
	font-size: 12px;
}

.mobile-simple-list a{ padding: 10px 35px; }

.mobile-client-link{
	display:flex !important;
	align-items:center;
	justify-content:space-between;
	gap:10px;
}
.mobile-client-copy{
	min-width:0;
	display:grid;
	gap:2px;
}
.mobile-client-name{
	min-width:0;
}
.mobile-client-locality{
	display:block;
	color:#a6aca8;
	font-size:9px;
	font-weight:400;
	line-height:1.2;
}

.mobile-new{
	background: #b84d60;
	color: #fff;
}

/* =====================================================================
   FOOTER GENERAL
   ===================================================================== */
.site-footer{
	background: var(--color-identidad-global);
	color: #fff;
	padding-top: 10px;
}

.footer-main{
	min-height: 68px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.footer-brand img{
	width:auto;
	height:auto;
	max-width:132px;
	max-height:50px;
	object-fit:contain;
}

.footer-links{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 8px 19px;
}

.footer-links a{
	font-size: 11.5px;
	color: #20373E;
}

.footer-links a:hover{
	color: #F2F3F1;
}

.footer-bottom-bar{
	background: var(--color-nav);
}

.footer-bottom{
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 10.5px;
	color: #fff;
}

/* =====================================================================
   CABECERA / PIE DEL AUSPICIANTE - PERFIL DENTRO DE FULLAVENTURA
   ===================================================================== */
.sponsor-header{
	position:relative;
	z-index:35;
	background:linear-gradient(118deg,#e3eae0 0%,#f7f4ec 62%,#dfe8dc 100%);
	border-top:4px solid #829264;
	border-bottom:1px solid #c5cec2;
	box-shadow:0 8px 22px rgba(37,54,42,.10);
	color:#28332b;
}
.sponsor-header::after{
	content:"";
	position:absolute;
	inset:0 0 0 auto;
	width:min(34vw,470px);
	background:linear-gradient(135deg,transparent 12%,rgba(108,132,87,.10));
	clip-path:polygon(28% 0,100% 0,100% 100%,0 100%);
	pointer-events:none;
}
.sponsor-header-row{
	position:relative;
	z-index:1;
	min-height:124px;
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	align-items:center;
	gap:38px;
	padding-block:17px;
}
.sponsor-brand,.sponsor-footer-brand{ display:inline-flex; align-items:center; gap:20px; min-width:0; }
.sponsor-logo,.sponsor-footer-logo{
	flex:0 0 auto;
	height:90px;
	width:auto;
	display:flex;
	align-items:center;
	justify-content:center;
	background:#fff;
	border:1px solid #cdd6ca;
	box-shadow:0 7px 18px rgba(39,58,44,.12);
	overflow:hidden;
}
.sponsor-logo img,.sponsor-footer-logo img{ height:100%; width:auto; max-width:none; object-fit:contain; padding:6px; }
.sponsor-identity{ min-width:0; display:flex; flex-direction:column; }
.sponsor-kicker{
	align-self:flex-start;
	display:inline-flex;
	align-items:center;
	gap:7px;
	margin-bottom:8px;
	padding-left:9px;
	border-left:3px solid #9b8950;
	color:#5b6c50;
	font-size:10px;
	font-weight:800;
	line-height:1.1;
	letter-spacing:.13em;
	text-transform:uppercase;
}
.sponsor-kicker i{ font-size:12px; }
.sponsor-name-heading{
	margin:0;
	font-family:"Manrope","Inter",sans-serif;
	font-size:clamp(28px,2.55vw,38px);
	line-height:1;
	font-weight:850;
	letter-spacing:-.045em;
	color:#243128;
}
.sponsor-description{
	display:-webkit-box;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
	margin-top:7px;
	max-width:680px;
	font-family:"Manrope","Inter",sans-serif;
	font-size:14.5px;
	font-weight:700;
	line-height:1.35;
	color:#465c49;
	overflow:hidden;
	overflow-wrap:anywhere;
}
.sponsor-header-tools{
	display:flex;
	align-items:center;
	padding:13px 0 13px 25px;
	border-left:1px solid rgba(78,103,82,.25);
}
.sponsor-header-right,.sponsor-actions,.sponsor-footer-actions,.sponsor-social,.sponsor-footer-social{ display:flex; align-items:center; gap:9px; }
.sponsor-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:7px;
	min-height:40px;
	padding:9px 14px;
	border:1px solid transparent;
	font-size:12px;
	font-weight:750;
	transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;
}
.sponsor-btn-consult{ background:#fff; border-color:#fff; color:#294536; }
.sponsor-btn-consult:hover{ background:#e7d092; border-color:#e7d092; color:#1f3529; transform:translateY(-1px); }
.sponsor-btn-whatsapp{ background:#2f8150; border-color:#63a679; color:#fff; }
.sponsor-btn-whatsapp:hover{ background:#3d9862; border-color:#83be94; color:#fff; transform:translateY(-1px); }
.sponsor-social-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:6px;
	min-height:40px;
	padding:9px 11px;
	border:1px solid transparent;
	font-size:11px;
	font-weight:700;
	line-height:1;
	color:#fff;
	transition:filter .15s ease,transform .15s ease;
}
.sponsor-social-btn i{ font-size:14px; }
.sponsor-header .sponsor-social-btn{ width:40px; height:40px; padding:0; }
.sponsor-header .sponsor-social-btn i{ font-size:17px; }
.sponsor-social-youtube{ background:#d71e1e; border-color:#eb5c5c; }
.sponsor-social-instagram{ background:#a83b7f; border-color:#cb70aa; }
.sponsor-social-btn:hover{ filter:brightness(1.08); color:#fff; transform:translateY(-1px); }

.sponsor-notice{ background:#fff0bd; border-top:1px solid #e3c15c; border-bottom:1px solid #d9b64d; color:#463913; }
.sponsor-notice-inner{ display:flex; align-items:flex-start; gap:13px; padding-block:9px; }
.sponsor-notice-inner > i{ margin-top:1px; font-size:21px; color:#80600b; }
.sponsor-notice strong{ display:block; margin-bottom:1px; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.sponsor-notice p{ margin:0; font-size:14px; font-weight:550; line-height:1.5; }

.sponsor-footer{
	position:relative;
	background:linear-gradient(115deg,#e0e8dd 0%,#d4dfd3 100%);
	color:#2d3830;
	border-top:4px solid #829264;
}
.sponsor-footer-row{
	display:grid;
	grid-template-columns:minmax(240px,.9fr) minmax(370px,1.45fr) minmax(205px,auto);
	align-items:center;
	gap:34px;
	padding-block:24px;
}
.sponsor-footer-brand{
	display:grid;
	grid-template-columns:auto minmax(0,1fr);
	grid-template-rows:auto auto;
	align-items:center;
	column-gap:20px;
	row-gap:4px;
}
.sponsor-footer-brand.sponsor-footer-brand-sin-logo{ grid-template-columns:minmax(0,1fr); grid-template-rows:auto; }
.sponsor-footer-brand-sin-logo .sponsor-footer-name,
.sponsor-footer-brand-sin-logo .sponsor-footer-description{ grid-column:1; }
.sponsor-footer-logo{ grid-column:1; grid-row:1 / 3; height:68px; border-color:#c3cec1; box-shadow:0 6px 16px rgba(38,56,43,.11); }
.sponsor-footer-name{ grid-column:2; grid-row:1; align-self:end; font-family:"Manrope","Inter",sans-serif; font-size:20px; font-weight:800; letter-spacing:-.025em; color:#2c3930; }
.sponsor-footer-description{ grid-column:2; grid-row:2; align-self:start; max-width:300px; font-size:10.5px; line-height:1.4; color:#69756c; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sponsor-footer-data{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; min-width:0; }
.sponsor-footer-detail{
	display:flex;
	align-items:flex-start;
	gap:10px;
	min-width:0;
	padding:10px;
	background:rgba(255,255,255,.58);
	border:1px solid #c4cfc2;
}
.sponsor-footer-detail > i{ flex:0 0 30px; width:30px; height:30px; display:grid; place-items:center; background:#edf1e9; color:#5a725e; font-size:14px; }
.sponsor-footer-detail > span{ min-width:0; display:flex; flex-direction:column; }
.sponsor-footer-detail small{ margin-bottom:3px; font-size:8.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#738078; }
.sponsor-footer-detail strong{ font-size:11.5px; line-height:1.4; font-weight:600; color:#344138; overflow-wrap:anywhere; }
.sponsor-footer-controls{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:13px;
	padding-left:26px;
	border-left:1px solid #b8c4b6;
}
.sponsor-footer-controls-title{ font-size:9px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; color:#66745d; }
.sponsor-footer-actions,.sponsor-footer-social{ gap:10px; }
.sponsor-footer-social{ margin-top:1px; }
.sponsor-footer .sponsor-btn,.sponsor-footer .sponsor-social-btn{ min-height:36px; padding:8px 11px; font-size:10.5px; }
.sponsor-disclaimer{ background:#c8d3c7; border-top:1px solid #b8c5b7; color:#647068; }
.sponsor-disclaimer .shell{ padding-block:9px 11px; font-size:9.5px; line-height:1.4; text-align:center; }
/* =====================================================================
   BANNERS
   ===================================================================== */
.banner-carrusel{
	position: relative;
	width: 100%;
	height: var(--banner-alto);
	transition: height .58s cubic-bezier(.22,.61,.36,1);
	overflow: hidden;
	background: transparent;
}

.banner-track{
	display: flex;
	width: 100%;
	align-items: flex-start;
	will-change: transform;
}

.banner-capa{
	display: grid;
	flex: 0 0 100%;
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	width: 100%;
	gap: 12px;
}

.banner-capa > .banner-item{
	min-width: 0;
	height: auto;
	aspect-ratio: var(--banner-proporcion);
}

.banner-capa-1 > .banner-item{
	width: min(var(--banner-ancho), 100%);
	justify-self: center;
}

.banner-capa .banner-link{ height: auto; }
.banner-capa .banner-media{
	display: block;
	height: auto;
	aspect-ratio: var(--banner-proporcion);
}

.banner-capa-2{
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.banner-capa-3{
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* La alineación conserva las medidas nativas y el espacio entre piezas. */

.banner-capa-extremos > .banner-item,
.banner-group-extremos > .banner-item{ width:min(var(--banner-ancho),100%); }
.banner-capa-extremos > .banner-item:first-child,
.banner-group-extremos > .banner-item:first-child{ justify-self:start; }
.banner-capa-extremos > .banner-item:last-child,
.banner-group-extremos > .banner-item:last-child{ justify-self:end; }
.banner-capa-extremos.banner-capa-3 > .banner-item:nth-child(2),
.banner-group-extremos.banner-group-3 > .banner-item:nth-child(2){ justify-self:center; }

.banner-item,
.banner-link{
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.banner-media{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.banner-prev,
.banner-next{
	position: absolute;
	top: 50%;
	z-index: 4;
	width: 34px;
	height: 46px;
	border: 0;
	transform: translateY(-50%);
	background: rgba(17, 19, 20, .62);
	color: #fff;
	font-size: 18px;
	cursor: pointer;
}

.banner-prev{ left: 0; }
.banner-next{ right: 0; }
.banner-prev:hover,
.banner-next:hover{ background: rgba(17, 19, 20, .86); }

/* Las creatividades Desktop y Celular cambian a 768 px, sin alterar el layout. */
.banner-desktop-only{ display: block; }
.banner-celular-only{ display: none; }

@media (width < 768px) {
	.banner-desktop-only{ display: none !important; }
	.banner-celular-only{ display: block; }
	.banner-anclaje-celular .banner-carrusel{
		max-width: var(--banner-ancho);
		margin-inline: auto;
	}
	.banner-anclaje-celular .banner-group-2,
	.banner-anclaje-celular .banner-group-3,
	.banner-anclaje-celular .banner-capa-2,
	.banner-anclaje-celular .banner-capa-3{
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
	}
}

/* =====================================================================
   HOME DEL AUSPICIANTE
   ===================================================================== */
.sponsor-home{
	background: var(--fondo);
}

.sponsor-catalog-info{
	padding: 32px 0 40px;
}

.sponsor-catalog-info-box{
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 22px 24px;
	background: #fff;
	border: 1px solid var(--linea);
}

.sponsor-catalog-info-box > i{
	font-size: 24px;
	color: var(--acento-hover);
}

.sponsor-catalog-info-box h2{
	margin: 0 0 5px;
	font-size: 18px;
	font-weight: 650;
}

.sponsor-catalog-info-box p{
	margin: 0;
	font-size: 12.5px;
	line-height: 1.55;
	color: var(--muted);
}

.sponsor-banners{
	padding: 18px 0 24px;
}

.sponsor-search-results{
	padding: 0 0 36px;
}

.sponsor-products-section{
	padding: 30px 0 36px;
}

.sponsor-products-white{
	background: #fff;
}

.sponsor-products-latest{
	background: transparent;
}

.sponsor-section-head{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}

.sponsor-section-head h2{
	margin: 0;
	font-size: 22px;
	line-height: 1.2;
	font-weight: 650;
	letter-spacing: -.02em;
}

.sponsor-product-card,
.search-product-card{
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: #fff;
	border: 1px solid #e0e3e0;
	border-radius: 0;
	overflow: hidden;
	transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.sponsor-product-card:hover,
.search-product-card:hover{
	border-color: #bcc3be;
	box-shadow: var(--shadow-soft);
	transform: translateY(-1px);
}

.sponsor-product-photo{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 184px;
	padding: 12px;
	background: #fff;
	overflow: hidden;
}

.sponsor-product-photo img,
.search-product-photo img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.product-photo-empty{
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	background: #f4f5f3;
	color: #a2aaa5;
	font-size: 30px;
}

.sponsor-product-info{
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 11px 12px 13px;
	border-top: 1px solid #eff1ee;
}

.sponsor-product-title{
	display: -webkit-box;
	min-height: 39px;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	font-size: 13.5px;
	font-weight: 550;
	line-height: 1.42;
	color: #303638;
}

.sponsor-product-title:hover,
.search-product-title:hover{
	color: var(--acento-hover);
}

.sponsor-product-info strong{
	margin-top: 8px;
	font-size: 15.5px;
	font-weight: 700;
}

.search-card-badges{
	position: absolute;
	z-index: 3;
	top: 8px;
	left: 8px;
	display: flex;
	gap: 4px;
}

.product-badge{
	display: inline-flex;
	align-items: center;
	min-height: 18px;
	padding: 2px 5px;
	border-radius: 0;
	font-size: 8px;
	font-weight: 750;
	letter-spacing: .04em;
	line-height: 1;
}

.product-badge-red{
	background: #c43b35;
	color: #fff;
}

.product-badge-new{
	background: #e7bb42;
	color: #252525;
}

.search-product-card .product-badge{
	min-height: 22px;
	padding: 4px 7px;
	font-size: 10.5px;
}

/* =====================================================================
   BUSCADOR - FORMULARIO COMUN
   ===================================================================== */
.product-finder{
	background: #fff;
	border: 1px solid var(--linea);
	border-radius: 0;
	box-shadow: 0 6px 18px rgba(20, 24, 22, .035);
	padding: 21px;
}

.finder-heading-simple{
	margin-bottom: 18px;
}

.finder-heading-simple > span,
.search-hero-copy > span{
	display: block;
	margin-bottom: 4px;
	font-size: 9.5px;
	font-weight: 750;
	letter-spacing: .13em;
	color: var(--rotulo);
}

.finder-heading-simple h1,
.finder-heading-simple h2,
.search-hero-copy h1{
	margin: 0 0 5px;
	font-size: 25px;
	line-height: 1.15;
	font-weight: 650;
	letter-spacing: -.025em;
}

.finder-heading-simple p,
.search-hero-copy p{
	margin: 0;
	font-size: 12.5px;
	color: var(--muted);
}

.finder-field > label:first-child{
	display: block;
	margin-bottom: 6px;
	font-size: 12.25px;
	font-weight: 650;
	color: #444b4e;
}

.finder-main-category > label{
	display: block;
	margin-bottom: 7px;
	font-size: 11.5px;
	font-weight: 700;
	color: #3f4648;
}

.category-picker-primary > input[data-category-picker-input]{
	height: 48px;
	padding: 0 14px;
	border-color: #b9c1bd;
	font-size: 14px;
	font-weight: 550;
}

.finder-main-category{
	margin-bottom: 16px;
}

.finder-main-search{
	margin-bottom:16px;
}
.finder-main-search > label{
	display:block;
	margin-bottom:7px;
	font-size:11.5px;
	font-weight:700;
	color:#3f4648;
}
.finder-primary-search{ position:relative; }
.finder-primary-search > i{
	position:absolute;
	left:14px;
	top:50%;
	transform:translateY(-50%);
	font-size:16px;
	color:#667069;
}
.finder-primary-search input{
	width:100%;
	height:50px;
	padding:0 14px 0 42px;
	border:1px solid var(--acento-borde);
	border-radius:0;
	background:#fff;
	font-size:16px;
	font-weight:600;
	outline:0;
}
.finder-primary-search input:focus{
	border-color:var(--acento);
	box-shadow:0 0 0 3px color-mix(in srgb, var(--acento) 9%, transparent);
}

.finder-filter-grid{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 13px;
	margin-top: 15px;
}

/* Las dos Homes comparten un buscador compacto: Texto + Marca + Estado. Si la
 * Home principal habilita Comercio se agrega como cuarta columna contigua. */
.product-finder-embedded.is-home-search .finder-filter-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.product-finder-embedded.is-home-search.is-home-search-with-commerce .finder-filter-grid{ grid-template-columns: repeat(4, minmax(0, 1fr)); }

.finder-field select,
.finder-field > input,
.search-picker > input[data-search-picker-input],
.category-picker > input[data-category-picker-input],
.finder-price-row input{
	width: 100%;
	height: 38px;
	border: 1px solid var(--acento-borde);
	border-radius: 0;
	background: #fff;
	padding: 0 9px;
	font-size: 12px;
	outline: 0;
}

.finder-field select:focus,
.finder-field input:focus{
	border-color: var(--acento);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--acento) 9%, transparent);
}

.field-selection-note{
	display: block;
	margin-top: 4px;
	font-size: 9.5px;
	line-height: 1.3;
	color: #7a8285;
}

.finder-price-row{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6px;
}

.finder-check{
	display: flex;
	align-items: flex-start;
	gap: 7px;
	margin-top: 7px;
	font-size: 11.75px;
	line-height: 1.4;
	color: #555e61;
}

.finder-check input{
	margin: 2px 0 0;
}

.finder-field-flags{
	padding-top: 1px;
}

/* En el buscador embebido del auspiciante Estado no necesita ocupar todo
 * el ancho de una columna: queda aproximadamente como un input de precio. */
.product-finder-embedded .finder-field-state select{
	width: min(145px, 100%);
}

.location-options{
	padding: 7px 9px;
	border: 1px solid #d8ddd9;
	border-radius: 0;
	background: #fafbfa;
}

.location-check + .location-check{
	border-top: 0;
}

/* Marca / comercio buscables */
.search-picker,
.category-picker{
	position:relative;
}
.search-picker.has-inline-clear > input[data-search-picker-input],
.category-picker.has-inline-clear > input[data-category-picker-input]{ padding-right:36px; }
.public-picker-clear{
	position:absolute;
	top:50%;
	right:7px;
	z-index:5;
	display:inline-grid;
	place-items:center;
	width:24px;
	height:24px;
	padding:0;
	transform:translateY(-50%);
	border:0;
	background:transparent;
	color:#78817b;
	cursor:pointer;
}
.public-picker-clear:hover,
.public-picker-clear:focus-visible{ color:#3e4b41; background:#eef1ee; outline:0; }
.public-picker-clear[hidden]{ display:none; }
.public-picker-clear i{ font-size:12px; pointer-events:none; }

.search-picker-options,
.category-picker-panel{
	position: absolute;
	z-index: 45;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	display: none;
	background: #fff;
	border: 1px solid var(--acento-borde);
	border-radius: 0;
	box-shadow: 0 14px 34px rgba(0, 0, 0, .14);
	overflow: hidden;
}

.search-picker.is-open .search-picker-options,
.category-picker.is-open .category-picker-panel{
	display: block;
}

.search-picker-options{
	max-height: 235px;
	overflow-y: auto;
}

.search-picker-options button{
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding: 8px 9px;
	border: 0;
	border-bottom: 1px solid #eff1ef;
	background: #fff;
	font-size: 11.5px;
	text-align: left;
	cursor: pointer;
}
.search-picker-options button > span{ min-width:0; }
.search-picker-options button > small{ margin-left:auto; color:#858d8a; font-size:10px; font-weight:400; }

.search-picker-options button:hover{
	background: #f3f5f2;
}

.search-picker-options button.is-keyboard-active,
.category-option.is-keyboard-active{
	background: var(--acento-suave);
	outline: 1px solid var(--acento-borde);
	outline-offset: -1px;
}

.picker-no-results,
.category-no-results{
	padding: 12px;
	font-size: 10.5px;
	color: #777f82;
	text-align: center;
}

.category-option[hidden],
.search-picker-options button[hidden],
.category-no-results[hidden],
.picker-no-results[hidden],
.category-picker-status[hidden]{
	display: none !important;
}

.category-picker-status{
	padding: 6px 10px 2px;
	font-size: 9.5px;
	font-weight: 600;
	color: #6f7874;
}

/* Navegador jerarquico de categorias */
.category-picker-panel{
	min-width: 330px;
}

.category-picker-nav{
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 9px;
	border-bottom: 1px solid #e8ebe8;
	background: #f7f8f6;
}

.category-picker-nav > div{
	min-width: 0;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
}

.category-picker-nav small{
	font-size: 8.5px;
	color: #7b8386;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.category-picker-nav strong{
	font-size: 11.5px;
	font-weight: 650;
}

.category-back{
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	border: 1px solid #d7dbd8;
	border-radius: 0;
	background: #fff;
	cursor: pointer;
}

.category-back:disabled{
	opacity: .38;
	cursor: default;
}

.category-use-current{
	width: calc(100% - 18px);
	margin: 8px 9px 0;
	padding: 7px 8px;
	border: 1px solid var(--acento-borde);
	border-radius: 0;
	background: var(--acento-suave);
	color: var(--acento-hover);
	font-size: 12px;
	font-weight: 700;
	text-align: left;
	cursor: pointer;
}

.category-picker-options{
	max-height: 280px;
	overflow-y: auto;
	padding: 5px 0;
}

.category-option{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 8px 10px;
	border: 0;
	background: #fff;
	text-align: left;
	cursor: pointer;
}

.category-option:hover{
	background: #f3f5f2;
}

.category-option > span{
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.category-option strong{
	font-size: 11.5px;
	font-weight: 600;
}

.category-option small{
	margin-top: 1px;
	font-size: 8.5px;
	color: #858c8f;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.category-option > i{
	flex: 0 0 auto;
	font-size: 11px;
	color: #8a9295;
}

.finder-specific-filters{
	margin-top: 17px;
	padding-top: 15px;
	border-top: 1px solid #e5e8e5;
}

.finder-attributes-grid{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.attribute-options{
	padding: 5px 7px 7px;
	border: 1px solid #e0e4e1;
	border-radius: 0;
	background: #fff;
}

.finder-specific-disabled{
	display: flex;
	align-items: flex-start;
	gap: 7px;
	margin-top: 15px;
	padding: 9px 10px;
	border-radius: 0;
	background: #f5f6f4;
	color: #6b7376;
	font-size: 10.5px;
	line-height: 1.4;
}

.finder-specific-warning{
	border: 1px solid #e0e4df;
	background: #fafbf9;
}

.finder-actions{
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 18px;
}

.finder-submit{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-width: 130px;
	height: 38px;
	border: 0;
	border-radius: 0;
	background: var(--acento);
	color: #fff;
	font-size: 11.5px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
}

.finder-submit:hover{
	background: var(--acento-hover);
}

.finder-clear{
	font-family: inherit;
	font-size: 10.5px;
	font-weight: 600;
	color: #626a6d;
}

.finder-field-price-check-only .finder-check{
	margin-top: 0;
}

/* En buscadores embebidos Limpiar es una acción JS y conserva el aspecto
 * discreto del enlace visual usado en el sidebar. */
button.finder-clear{
	padding: 0;
	border: 0;
	background: transparent;
	line-height: 1.2;
	cursor: pointer;
}

/* =====================================================================
   BUSCADOR GENERAL - LAYOUT MODERNO CON FILTROS LATERALES
   ===================================================================== */
.search-page{
	min-height: 60vh;
	padding-bottom: 24px;
	background: #f4f5f3;
}

/* Los grupos publicitarios normales contienen sólo las piezas visibles.
 * Las medidas Desktop exactas se fijan más abajo desde 900 px;
 * en Tablet pueden reducirse proporcionalmente sin desbordar el viewport. */

.search-page-shell,
.home-page .home-search-section{
	padding-top: 8px;
}
.search-page-shell{ margin-bottom:24px; }

.search-hero{
	padding: 22px 24px;
	border: 1px solid var(--linea);
	border-radius: 0;
	background: #fff;
	box-shadow: 0 5px 16px rgba(20, 24, 22, .03);
}

.search-hero-copy{
	margin-bottom:15px;
}

/* El texto libre del Buscador General ya no cambia de jerarquía según el ancho.
 * Se presenta siempre como un control normal, sin caja verde destacada. */
.contexto-buscador .search-hero-text{
	max-width:none;
	padding:0;
	border:0;
	background:transparent;
}
.contexto-buscador .search-hero-text .finder-primary-search > i{
	left:11px;
	font-size:14px;
	color:#727b75;
}
.contexto-buscador .search-hero-text .finder-primary-search input{
	height:38px;
	padding:0 10px 0 34px;
	border:1px solid var(--acento-borde);
	background:#fff;
	font-size:12px;
	font-weight:400;
}
.contexto-buscador .search-hero-text .finder-primary-search input:focus{
	border-color:var(--acento);
	box-shadow:0 0 0 3px color-mix(in srgb, var(--acento) 9%, transparent);
}

.search-workspace{
	display: grid;
	grid-template-columns: 276px minmax(0, 1fr);
	gap: 22px;
	align-items: start;
	margin-top: 22px;
}

.search-mobile-filter-toggle{
	display: none;
}

.search-filter-backdrop,
.search-filter-close{
	display: none;
}

.search-sidebar{
	background: #fff;
	border: 1px solid var(--linea);
	border-radius: 0;
	overflow: visible;
}

.product-filter-form{
	padding: 17px;
}

.filter-panel-heading{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 14px;
	padding-bottom: 11px;
	border-bottom: 1px solid #e9ece9;
}

.filter-panel-heading strong{
	font-size: 14px;
	font-weight: 650;
}

.filter-panel-heading-actions{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-left: auto;
}

.filter-panel-heading a{
	font-size: 11.5px;
	color: #687174;
}

.filter-panel-heading .search-filter-close{
	display: none;
}

.product-filter-form .finder-filter-grid{
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-top: 0;
}

.product-filter-form .finder-specific-filters{
	margin-top: 15px;
}

/* En Desktop el sidebar autoaplica cada filtro confirmado cuando JS está
 * disponible. Sin JS no se agrega la clase y el botón sigue siendo fallback. */
.product-filter-form.has-desktop-auto-submit .finder-submit{
	display: none;
}

.product-filter-form.has-desktop-auto-submit .finder-actions{
	display: none;
}

/* En Desktop el Auspiciante autoaplica y conserva Limpiar filtros. En móvil
 * también autoaplica, aunque el botón manual queda visible como
 * fallback por decisión funcional. */
@media (width >= 992px) {.product-finder-embedded .product-finder-form.has-desktop-auto-submit .finder-submit{
		display: none;
	}}

.product-filter-form .finder-attributes-grid{
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.product-filter-form .finder-actions{
	align-items: stretch;
	flex-direction: column;
	margin-top: 16px;
}

.product-filter-form .finder-submit{
	width: 100%;
}

.product-filter-form .category-picker-panel{
	min-width: 360px;
}

.search-results-column{
	position: relative;
	min-width: 0;
}

/* Estado de espera del Buscador General. El overlay vive dentro del área que
 * será reemplazada por la próxima navegación GET y comunica que la acción fue
 * recibida sin convertir el buscador en AJAX. */
.search-processing-overlay{
	position: absolute;
	inset: 0;
	z-index: 35;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	min-height: 150px;
	padding: 64px 14px 14px;
	background: rgba(244, 245, 243, .88);
}

.search-processing-overlay[hidden]{
	display: none;
}

.search-processing-status{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 11px 15px;
	border: 1px solid #d6dcd7;
	background: #fff;
	box-shadow: 0 7px 22px rgba(24, 31, 27, .08);
	font-size: 12px;
	color: #40484a;
}

.search-processing-spinner{
	width: 20px;
	height: 20px;
	border: 2px solid #d4dad5;
	border-top-color: var(--acento);
	border-radius: 50%;
	animation: search-processing-spin .7s linear infinite;
}

@keyframes search-processing-spin {
	to { transform: rotate(360deg); }
}

[data-search-processing-root].is-search-processing [data-search-processing-region] > :not(.search-processing-overlay){
	opacity: .42;
}

/* No usamos disabled sobre inputs porque dejarían de viajar en el GET. La
 * interacción se bloquea visualmente durante los pocos milisegundos previos a
 * la navegación y la bandera JS ignora submits/clicks duplicados. */
[data-search-processing-root].is-search-processing [data-product-search-form],
[data-search-processing-root].is-search-processing .search-hero-text,
[data-search-processing-root].is-search-processing .results-order-form,
[data-search-processing-root].is-search-processing .active-filter-chips,
[data-search-processing-root].is-search-processing .search-pagination,
[data-search-processing-root].is-search-processing .search-suggestion,
[data-search-processing-root].is-search-processing .search-mobile-filter-toggle,
[data-search-processing-root].is-search-processing [data-finder-clear]{
	pointer-events: none;
}

body.search-is-processing,
body.search-is-processing *{
	cursor: wait !important;
}

.search-results-section{
	margin: 0;
}

.results-toolbar{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 11px;
}

.results-toolbar h2{
	margin: 0 0 2px;
	font-size: 18px;
	font-weight: 650;
}

.results-toolbar p{
	margin: 0;
	font-size: 11.5px;
	color: var(--muted);
}

.results-order-form{
	display: flex;
	align-items: center;
	gap: 9px;
}

.results-order-form label{
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 11px;
	color: #666e71;
}

.results-order-form select{
	height: 31px;
	border: 1px solid var(--acento-borde);
	border-radius: 0;
	background: #fff;
	font-size: 11px;
}

.active-filter-chips{
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	min-height: 1px;
	margin-bottom: 12px;
}

.active-filter-chip{
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-height: 29px;
	padding: 4px 4px 4px 8px;
	border: 1px solid #d9dfda;
	border-radius: 0;
	background: #fff;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.2;
	color: #50595c;
}

.active-filter-chip > span{
	min-width: 0;
}

.active-filter-chip-remove{
	display: inline-grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border-left: 1px solid #e2e6e3;
	color: #737c7f;
	font-size: 12px;
	text-decoration: none;
}

.active-filter-chip-remove:hover{
	background: #f1f3f1;
	color: #303638;
}

.search-suggestion{
	margin: -2px 0 13px !important;
	padding: 8px 10px;
	border: 1px solid #dce4d7;
	background: #f7faf4;
	font-size: 11.5px;
	color: #555e61;
}

.search-suggestion a{
	font-weight: 700;
	color: var(--acento-hover);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.search-product-grid{
	display: grid;
	gap: 12px;
}

/* Banner Medio del Buscador General: ocupa siempre una fila completa. JavaScript
 * lo ubica después de la primera fila real según el breakpoint vigente. */
.search-middle-banner{
	grid-column: 1 / -1;
	min-width: 0;
}

.search-middle-banner .banner-group{
	width: 100%;
}

.search-product-photo{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 176px;
	padding: 12px;
	background: #fff;
}

.search-product-info{
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 11px 12px 13px;
	border-top: 1px solid #eff1ee;
}

.search-product-shop{
	margin-bottom: 5px;
	font-size: 10.75px;
	font-weight: 600;
	color: #798184;
}

.search-product-shop:hover{
	color: var(--acento-hover);
}

.search-product-title{
	display: -webkit-box;
	overflow: hidden;
	min-height: 39px;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	font-size: 14px;
	font-weight: 550;
	line-height: 1.42;
	color: #303638;
}

.search-product-meta{
	margin-top: 7px;
	font-size: 10.75px;
	color: #7b8386;
}

.search-product-price-row{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-top: 8px;
}

.search-product-price{
	font-size: 16px;
	font-weight: 700;
}

.search-product-actions{
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-left: auto;
}

.search-product-action{
	width: 28px;
	height: 28px;
	display: inline-grid;
	place-items: center;
	border: 1px solid #d8ddda;
	border-radius: 0;
	background: #fff;
	font-size: 13px;
	transition: .15s ease;
}

.search-product-action-whatsapp{
	color: #16834f;
}

.search-product-action-whatsapp:hover{
	background: #eaf7f0;
	border-color: #a9d8bf;
}

.search-product-action-form{
	color: #4b5962;
}

.search-product-action-form:hover{
	background: #f0f3f4;
	border-color: #c9d0d4;
}

.search-product-installments{
	display: inline-flex;
	align-self: flex-start;
	margin-top: 5px;
	padding: 2px 5px;
	border-radius: 0;
	background: #e9f5f0;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	color: #187154;
}

.search-start-state,
.search-empty,
.search-error{
	background: #fff;
	border: 1px solid var(--linea);
	border-radius: 0;
}

.search-start-state{
	min-height: 330px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding: 42px;
	text-align: center;
}

.search-start-icon{
	width: 52px;
	height: 52px;
	display: grid;
	place-items: center;
	margin-bottom: 13px;
	border-radius: 0;
	background: #eef2ea;
	color: var(--acento-hover);
	font-size: 22px;
}

.search-start-state h2{
	margin: 0 0 5px;
	font-size: 20px;
	font-weight: 650;
}

.search-start-state p{
	max-width: 520px;
	margin: 0;
	font-size: 11.5px;
	color: var(--muted);
}

.search-start-hints{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 20px;
}

.search-start-hints span{
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 6px 9px;
	border-radius: 0;
	background: #f4f5f3;
	font-size: 9.5px;
	color: #646c6f;
}

.search-empty{
	padding: 35px;
	text-align: center;
}

.search-empty > i{
	font-size: 27px;
	color: #969ea0;
}

.search-empty h3{
	margin: 9px 0 4px;
	font-size: 17px;
	font-weight: 650;
}

.search-empty p{
	margin: 0;
	font-size: 11px;
	color: var(--muted);
}

.search-error{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 22px;
	color: #8b3232;
	font-size: 11.5px;
}

.search-pagination{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 4px;
	margin-top: 22px;
}

.search-pagination a,
.search-pagination span{
	min-width: 31px;
	height: 31px;
	display: grid;
	place-items: center;
	border: 1px solid #d4d9d5;
	border-radius: 0;
	background: #fff;
	font-size: 10.5px;
	color: #4e5659;
}

.search-pagination a{
	transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}

.search-pagination a:hover:not(.is-active){
	background: var(--acento-suave);
	border-color: var(--acento-borde);
	color: var(--acento-hover);
	transform: translateY(-1px);
}

.search-pagination a.is-active{
	background: var(--acento);
	border-color: var(--acento);
	color: #fff;
	font-weight: 700;
}

.search-pagination .pagination-nav{
	min-width: auto;
	padding: 0 10px;
	grid-auto-flow: column;
	gap: 4px;
}

.search-pagination .pagination-text{
	font-style: normal;
}

.search-pagination .pagination-ellipsis{
	min-width: 20px;
	border-color: transparent;
	background: transparent;
}

.search-pagination .is-disabled{
	color: #a1a8a4;
	background: #f5f6f5;
	cursor: default;
}

/* =====================================================================
   ESTADOS GENERALES
   ===================================================================== */
.status-page{
	min-height: 52vh;
	padding: 65px 0;
}

.status-box{
	max-width: 720px;
	padding: 38px;
	background: #fff;
	border: 1px solid var(--linea);
	border-radius: 0;
	text-align: center;
}

.status-box > i{
	font-size: 40px;
	color: var(--acento);
}

.status-box h1{
	margin: 12px 0 5px;
	font-size: 24px;
}

.status-box p{
	margin: 0 0 18px;
	color: var(--muted);
}

.status-action{
	display: inline-flex;
	padding: 9px 14px;
	border-radius: 0;
	background: var(--grafito);
	color: #fff;
	font-weight: 650;
}

/* Términos conserva una separación propia antes del footer general. */
.pagina-terminos .terms-page{ display:flow-root; background:#fff; }
.pagina-terminos .terms-content{ padding-bottom:48px; }

/* =====================================================================
   RESPONSIVE
   ===================================================================== */

@media (width < 1200px) {
	.sponsor-header-row{ gap:20px; }
	.sponsor-footer-row{ grid-template-columns:minmax(0,1fr) auto; gap:18px 24px; }
	.sponsor-footer-data{ grid-column:1 / -1; grid-row:2; }
	.sponsor-footer-controls{ grid-column:2; grid-row:1; }

	.search-workspace{
		grid-template-columns: 250px minmax(0, 1fr);
		gap: 16px;
	}

	.search-product-grid{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.finder-filter-grid,
.finder-attributes-grid{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}}

@media (width < 992px) {
	.sponsor-disclaimer{
		display: none;
	}

	.shell{
		width: min(var(--page-max), calc(100% - 24px));
	}

	.header-row,
.site-header-compacto .header-row{
		height: auto;
		display: grid;
		grid-template-columns: 1fr 46px;
		gap: 10px;
		padding: 9px 0;
	}

	.brand img{
		width:auto;
		height:auto;
		max-width:220px;
		max-height:64px;
	}

	.site-header-compacto .brand img{
		width:auto;
		height:auto;
		max-width:180px;
		max-height:48px;
	}

	.main-nav{
		display: none;
	}

	.mobile-trigger,
.site-header-compacto .mobile-trigger{
		display: block;
		grid-column: 2;
		grid-row: 1;
	}

	.site-header-compacto .mobile-trigger{
		/* El disparador blanco mantiene contraste sobre el fondo del header. */
		border-color: var(--linea);
		background: #fff;
		color: #171a1b;
	}

	/* Menú general más compacto cuando funciona como cabecera secundaria
	 * dentro del micrositio de un auspiciante. */
	body.contexto-auspiciante .mobile-root{
		padding: 10px 15px;
		font-size: 12px;
	}

	body.contexto-auspiciante .mobile-sub > button{
		padding: 8px 22px;
		font-size: 11.5px;
	}

	body.contexto-auspiciante .mobile-sub2 a,
body.contexto-auspiciante .mobile-simple-list a{
		padding: 9px 31px;
		font-size: 11px;
		line-height: 1.3;
	}

	.footer-main{
		align-items: flex-start;
		padding-block: 12px;
	}}

@media (width < 900px) {
	.search-workspace{
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.search-results-column{
		order: 2;
	}

	.product-filter-form .category-picker-panel{
		min-width:0;
		width:100%;
	}
	.product-filter-form .finder-actions{
		flex-direction: row;
	}

	.product-filter-form .finder-submit{
		width: auto;
	}

	/* El modo overlay se activa sólo cuando JS agrega la clase. Sin JS el
	 * formulario sigue visible en el flujo normal y no se pierde acceso. */
	.search-workspace.is-mobile-collapsible .search-mobile-filter-toggle{
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		height: 42px;
		padding: 0 13px;
		border: 1px solid var(--linea);
		border-radius: 0;
		background: #fff;
		font-size: 12px;
		font-weight: 650;
		color: #343a3c;
		cursor: pointer;
	}

	.search-mobile-filter-toggle span{
		display: inline-flex;
		align-items: center;
		gap: 7px;
	}

	.search-filter-backdrop{
		position: fixed;
		inset: 0;
		z-index: 145;
		display: block;
		background: rgba(0, 0, 0, .52);
		opacity: 0;
		visibility: hidden;
		transition: .2s ease;
	}

	.search-sidebar{
		order: 1;
	}

	.search-workspace.is-mobile-collapsible .search-sidebar{
		position: fixed;
		inset: 0 0 0 auto;
		z-index: 150;
		width: min(410px, 94vw);
		height: 100dvh;
		border: 0;
		border-radius: 0;
		overflow-y: auto;
		background: #fff;
		box-shadow: -15px 0 42px rgba(0, 0, 0, .2);
		transform: translateX(105%);
		visibility: hidden;
		transition: transform .22s ease, visibility .22s ease;
	}

	.search-workspace.is-mobile-collapsible .filter-panel-heading{
		position: sticky;
		top: 0;
		z-index: 5;
		margin: -17px -17px 14px;
		padding: 12px 12px 10px 17px;
		background: #fff;
	}

	.search-workspace.is-mobile-collapsible .filter-panel-heading .search-filter-close{
		display: grid;
		place-items: center;
		width: 34px;
		height: 34px;
		padding: 0;
		border: 1px solid #d9ddda;
		border-radius: 0;
		background: #fff;
		font-size: 14px;
		color: #454c4e;
		cursor: pointer;
	}

	.search-workspace.is-mobile-collapsible .product-filter-form.has-desktop-auto-submit .finder-actions{
		display: flex;
	}

	.search-workspace.is-mobile-collapsible .product-filter-form .finder-submit{
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.search-workspace.is-mobile-collapsible.is-filter-open .search-sidebar{
		transform: none;
		visibility: visible;
	}

	.search-workspace.is-mobile-collapsible.is-filter-open .search-filter-backdrop{
		opacity: 1;
		visibility: visible;
	}

	body.search-filter-modal-open{
		overflow: hidden;
	}

}

@media (width < 768px) {
	.footer-main{
		display:grid;
		grid-template-columns:minmax(0,1fr);
		justify-items:center;
		gap:14px;
		padding-block:18px 14px;
	}
	.footer-brand{ display:block; min-width:0; }
	.footer-brand img{ max-width:150px; max-height:56px; }
	.footer-links{
		width:100%;
		min-width:0;
		display:grid;
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:0;
		border-top:1px solid rgba(255,255,255,.08);
	}
	.footer-links a{
		min-width:0;
		padding:10px 6px;
		border-bottom:1px solid rgba(255,255,255,.08);
		text-align:center;
		overflow-wrap:anywhere;
	}
	.footer-bottom{
		height:auto;
		min-height:0;
		flex-direction:column;
		justify-content:center;
		gap:3px;
		padding-block:9px 11px;
		text-align:center;
		line-height:1.35;
	}
	.sponsor-header::after{ width:42%; }
	.sponsor-header-row{
		min-height:0;
		grid-template-columns:minmax(0,1fr) auto;
		gap:10px;
		padding-block:10px;
	}
	.sponsor-brand{ width:100%; gap:10px; min-width:0; }
	.sponsor-logo{ height:58px; }
		.sponsor-identity{ display:flex; flex:1 1 0; min-width:0; }
	.sponsor-kicker{ display:none; }
	.sponsor-kicker i{ font-size:9px; }
	.sponsor-name-heading{
		display:block;
		max-width:100%;
		font-size:clamp(18px,5.2vw,24px);
		line-height:1.05;
		overflow-wrap:anywhere;
		hyphens:auto;
	}
	.sponsor-description{ display:none; }
	.sponsor-header-tools{ display:block; min-width:max-content; padding:0; border-left:0; }
	.sponsor-header .sponsor-social{ display:none; }
	.sponsor-header-right{ display:block; }
	.sponsor-actions{ flex-wrap:nowrap; justify-content:flex-end; gap:5px; }
	.sponsor-actions .sponsor-btn{ width:36px; height:36px; min-height:36px; padding:0; font-size:14px; }
	.sponsor-actions .sponsor-btn > span{ display:none; }

	.sponsor-footer-row{ display:flex; flex-direction:column; align-items:stretch; gap:15px; padding-block:14px 16px; }
	.sponsor-footer-brand{
		grid-template-columns:auto minmax(0,1fr);
		grid-template-rows:auto auto;
		align-items:center;
	}
	.sponsor-footer-logo{ grid-column:1; grid-row:1; }
	.sponsor-footer-name{ grid-column:2; grid-row:1; align-self:center; }
	.sponsor-footer-description{
		grid-column:1 / -1;
		grid-row:2;
		max-width:none;
		margin-top:8px;
		white-space:normal;
		overflow:visible;
		text-overflow:clip;
	}
	.sponsor-footer-data{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; padding-top:13px; border-top:1px solid rgba(48,67,54,.16); }
	.sponsor-footer-controls{
		display:grid;
		grid-template-columns:max-content max-content;
		align-content:start;
		align-items:flex-start;
		width:100%;
		padding:13px 0 0;
		border-left:0;
		border-top:1px solid rgba(48,67,54,.16);
		column-gap:7px;
		row-gap:9px;
	}
	.sponsor-footer-controls-title{ grid-column:1 / -1; }
	.sponsor-footer-actions,.sponsor-footer-social{ flex-wrap:nowrap; justify-content:flex-start; gap:6px; }
	.sponsor-footer-social{ margin-top:0; }
	.sponsor-footer .sponsor-btn{ padding-inline:8px; font-size:10.5px; }
	.sponsor-footer .sponsor-social-btn{ width:34px; min-width:34px; padding:0; }
	.sponsor-footer .sponsor-social-btn span{ display:none; }
	.sponsor-disclaimer{ display:none; }

	.sponsor-notice-inner{ gap:9px; padding-block:7px; }
	.sponsor-notice-inner > i{ font-size:17px; }
	.sponsor-notice strong{ display:none; }
	body.contexto-auspiciante .mobile-sub2 a{
		padding: 9px 31px;
		font-size: 11px;
		line-height: 1.3;
	}

	body.pagina-terminos{
		background: #fff;
	}

	.pagina-terminos .terms-page{
		padding: 8px 0 0;
		background: #fff;
	}

	.pagina-terminos .terms-content{
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 14px 12px 48px;
		border: 0;
		box-sizing: border-box;
	}

	.terms-content h1,
.terms-content h2{
		font-size: 21px;
	}

	.terms-content h4{
		font-size: 15px;
	}

	.terms-content p{
		font-size: 11.5px;
		line-height: 1.62;
	}}

@media (width < 576px) {
	.pagina-terminos .terms-content{ padding-bottom:36px; }
	.header-row,
	.site-header-compacto .header-row{ grid-template-columns:minmax(0,1fr) 46px; }
	.brand{ min-width:0; }
	.brand img{ width:min(220px,calc(47px + 30vw)); max-width:100%; }
	.site-header-compacto .brand img{ width:min(180px,calc(47px + 30vw)); max-width:100%; }
	.sponsor-header-row{ gap:8px; }
	.sponsor-brand{ gap:8px; }
	.sponsor-logo{ height:54px; }
		.sponsor-name-heading{ font-size:clamp(17px,5vw,20px); }
	.sponsor-actions .sponsor-btn{ width:34px; height:34px; min-height:34px; font-size:13px; }

	.sponsor-footer-brand{ gap:10px; }
	.sponsor-footer .sponsor-btn{ width:34px; min-width:34px; padding:0; }
	.sponsor-footer .sponsor-btn span{ display:none; }

	.sponsor-footer-name{ font-size:16px; }
	.sponsor-footer-logo{ height:54px; }
	.sponsor-footer-data{ grid-template-columns:1fr; }
}

/* Último nivel móvil: más aire entre auspiciantes para mejorar lectura y toque. */
.mobile-sub2 a{
	padding: 9px 35px;
	font-size: 11px;
	line-height: 1.3;
}

/* ---------------------------------------------------------------------
   ARCHIVO DE NOTAS
   --------------------------------------------------------------------- */
.notes-page{
	background: #fff;
}

.notes-archive-hero{
	padding: 30px 0 24px;
	background: #fff;
	border-bottom: 1px solid var(--linea);
}

.notes-archive-hero h1{
	margin: 0 0 5px;
	font-size: 30px;
	line-height: 1.15;
}

.notes-archive-hero > .shell > p{
	margin: 0 0 20px;
	color: var(--muted);
}

.notes-search-form{
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(230px, .8fr) auto;
	gap: 12px;
	align-items: end;
}

.notes-field{
	display: grid;
	gap: 6px;
	font-size: 12px;
	font-weight: 600;
}

.notes-field input,
.notes-field select,
.notes-author-picker > .notes-input-icon input{
	width: 100%;
	height: 43px;
	border: 1px solid #cfd4cf;
	background: #fff;
	padding: 0 12px;
	outline: 0;
}

.notes-input-icon{
	position: relative;
	display: block;
}

.notes-input-icon i{
	position: absolute;
	left: 13px;
	top: 50%;
	transform: translateY(-50%);
	color: #7b8380;
}

.notes-input-icon input{
	padding-left: 38px;
}

.notes-search-button{
	height: 43px;
	padding: 0 20px;
	border: 1px solid var(--acento);
	background: var(--acento);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
}

.notes-search-button:hover{ border-color:var(--acento-hover); background:var(--acento-hover); }
.notes-show-all{
	margin-top: 13px;
	font-size: 12px;
	color: #56615b;
}

.notes-show-all a:hover{ color: var(--acento-hover); }
.note-read-link{
	font-size: 11px;
	font-weight: 650;
	color: var(--acento-hover);
	transition: color .14s ease;
}
.note-read-link:hover{ color: var(--acento-hover); text-decoration: underline; text-underline-offset: 2px; }
.note-result-copy h2 a{ transition: color .14s ease; }
.note-result-copy h2 a:hover{ color: var(--acento-hover); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }

.notes-results-section{
	padding: 26px 0 48px;
}

.notes-search-notice{
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 13px 15px;
	border: 1px solid #d8ddd8;
	background: #f7f9f7;
	color: #4f5953;
	font-size: 13px;
	line-height: 1.45;
}

.notes-search-notice > i{
	color: var(--acento-hover);
	font-size: 17px;
}

.notes-search-notice-error{
	border-color: #e4c8c8;
	background: #fff7f7;
	color: #7b3737;
}

.notes-results-toolbar{
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 20px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--linea);
}

.notes-result-summary{
	display: grid;
	gap: 2px;
}

.notes-result-summary strong{
	font-size: 17px;
}

.notes-result-summary span{
	font-size: 11.5px;
	color: var(--muted);
}

.notes-toolbar-controls{
	display: flex;
	gap: 10px;
	align-items: end;
}

.notes-toolbar-controls label{
	display: grid;
	gap: 4px;
	font-size: 10.5px;
	font-weight: 600;
}

.notes-toolbar-controls select{
	height: 34px;
	border: 1px solid #d2d6d2;
	background: #fff;
	padding: 0 8px;
}

.notes-list{
	display: grid;
}

.note-result{
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	gap: 22px;
	padding: 22px 0;
	border-bottom: 1px solid var(--linea);
}

.note-result.no-image{
	grid-template-columns: 1fr;
}

.note-result-photo{
	height: 126px;
	background: #fff;
	border: 1px solid var(--linea);
	overflow: hidden;
}

.note-result-photo img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.note-result-body,
.note-result-copy{
	min-width: 0;
}

.note-result-meta{
	display: flex;
	gap: 16px;
	font-size: 10.5px;
	color: #7a817e;
}

.note-result-copy h2{
	margin: 7px 0 6px;
	font-size: 18px;
	line-height: 1.3;
	font-weight: 650;
}

.note-result-copy mark,
.note-result-description mark{ padding:0 2px; background:#f3df92; color:#273229; font-weight:750; }
.note-result-description{
	margin: 0 0 8px;
	font-size: 12.5px;
	line-height: 1.55;
	color: #59615f;
}

.notes-empty{
	padding: 44px 0;
	text-align: center;
	color: var(--muted);
}

.notes-pagination{
	margin-top: 24px;
}

/* ---------------------------------------------------------------------
   FORMULARIO DE CONSULTA + IFRAME MODAL
   --------------------------------------------------------------------- */
.consulta-page{
	padding: 28px 0 42px;
}

.consulta-page-modal{
	padding: 0;
}

.consulta-dialog{
	position: relative;
	width: min(650px, 100%);
	margin: 0 auto;
	background: #fff;
	border: 0;
	padding: 12px 15px 14px;
}

.consulta-accent{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: var(--acento);
}

.consulta-close{
	position: absolute;
	top: 7px;
	right: 7px;
	width: 29px;
	height: 29px;
	border: 0;
	background: transparent;
	cursor: pointer;
	font-size: 15px;
}

.consulta-close:hover{
	background: #f1f2f0;
}

.consulta-head{
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 2px 35px 9px 0;
	margin-bottom: 9px;
	border-bottom: 1px solid #ecefeb;
}

.consulta-head.no-logo{
	min-height: 45px;
}

.consulta-logo-wrap{
	width: 94px;
	height: 45px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex: 0 0 auto;
}

.consulta-logo-wrap img{
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: left center;
}

.consulta-heading span{
	display: block;
	font-size: 11.5px;
	font-weight: 650;
	color: #737b78;
}

.consulta-heading h1{
	margin: 1px 0 0;
	font-size: 22px;
	line-height: 1.15;
}

.consulta-grid{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 7px 10px;
}

.consulta-field{
	display: grid;
	gap: 3px;
	font-size: 13px;
	font-weight: 650;
}

.consulta-field small{
	font-size: 10.5px;
	font-weight: 400;
	color: #868d89;
}

.consulta-field b{ color: #a23b33; }
.consulta-wide{ grid-column: 1 / -1; }

.consulta-field input,
.consulta-field select,
.consulta-field textarea{
	width: 100%;
	border: 1px solid #ccd2cd;
	background: #fff;
	padding: 2px 6px;
	outline: 0;
	font: inherit;
	font-weight: 400;
}

.consulta-field input,
.consulta-field select{ height: 34px; }
.consulta-field textarea{ min-height: 68px; max-height: 118px; resize: vertical; line-height: 1.38; }
.consulta-field input:focus,
.consulta-field select:focus,
.consulta-field textarea:focus{ border-color: var(--acento); }
.consulta-field input[readonly]{ background: #f3f4f2; color: #5f6764; }

.consulta-field.is-invalid input,
.consulta-field.is-invalid textarea{
	border-color: #c83434;
	background: #fffafa;
}

.consulta-form-bottom{
	display: flex;
	justify-content: flex-end;
	margin-top: 9px;
}

.consulta-form-bottom button,
.consulta-status button{
	height: 38px;
	border: 1px solid var(--acento);
	background: var(--acento);
	color: #fff;
	padding: 0 20px;
	font-weight: 700;
	font-size: 13.5px;
	cursor: pointer;
	transition: background-color .16s ease, border-color .16s ease, opacity .16s ease;
}

.consulta-form-bottom button:not(:disabled):hover,
.consulta-status button:hover{
	background: var(--acento-hover);
	border-color: var(--acento-hover);
}

.consulta-errors{
	margin-bottom: 9px;
	padding: 8px 10px;
	border: 1px solid #d8b3ad;
	background: #fff5f3;
	font-size: 12.5px;
	color: #7a342b;
}

.consulta-errors ul{ margin: 0; padding-left: 16px; }

.consulta-status{
	padding: 32px 14px 22px;
	text-align: center;
}

.consulta-status > i{
	display: inline-grid;
	place-items: center;
	width: 76px;
	height: 76px;
	margin-bottom: 12px;
	border-radius: 50%;
	font-size: 42px;
}

.consulta-success > i{
	border: 2px solid #8eaa6c;
	background: #f3f8ee;
	color: var(--acento-hover);
}

.consulta-unavailable > i{
	border: 2px solid #aab1ad;
	background: #f5f6f5;
	color: #626b66;
}

.consulta-status h2{
	margin: 0 0 7px;
	font-size: 24px;
	line-height: 1.2;
}

.consulta-status p{
	max-width: 500px;
	margin: 0 auto 20px;
	font-size: 13px;
	line-height: 1.55;
	color: var(--muted);
}

.consulta-modal-open{ overflow: hidden; }

.consulta-modal-overlay{
	position: fixed;
	inset: 0;
	z-index: 1200;
}

.consulta-modal-backdrop{
	position: absolute;
	inset: 0;
	background: rgba(17, 20, 19, .72);
}

.consulta-modal-frame-wrap{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(680px, calc(100% - 20px));
	height: min(420px, calc(100% - 20px));
	max-height: calc(100% - 20px);
	background: #fff;
	border: 0;
	transition: height .12s ease;
}

.consulta-modal-frame{
	width: 100%;
	height: 100%;
	border: 0;
	background: #fff;
}

.consulta-modal-document{
	background: transparent;
	padding: 0;
}

@media (width < 992px) {.notes-search-form{
		grid-template-columns: 1fr 1fr;
	}
	.notes-search-button{ grid-column: 1 / -1; }}

@media (width < 576px) {.notes-archive-hero{ padding: 20px 0 18px; }
	.notes-archive-hero h1{ font-size: 23px; }
	.notes-archive-hero > .shell > p{ font-size: 11.5px; margin-bottom: 14px; }
	.notes-search-form{ grid-template-columns: 1fr; }
	.notes-search-button{ grid-column: auto; }
	.notes-results-toolbar{ align-items: stretch; flex-direction: column; gap: 10px; }
	.notes-toolbar-controls{ display: grid; grid-template-columns: .7fr 1.3fr; }
	.notes-toolbar-controls select{ width: 100%; }
	.note-result{
		grid-template-columns: 98px minmax(0, 1fr);
		gap: 11px;
		padding: 14px 0;
	}
	.note-result-photo{ height: 86px; }
	.note-result-body{ display: contents; }
	.note-result-copy{ grid-column: 2; }
	.note-result.no-image .note-result-copy{ grid-column: 1; }
	.note-result-meta{ flex-direction: column; align-items: flex-start; gap: 3px; font-size: 12px; }
	.note-result-copy h2{ margin: 4px 0; font-size: 13px; line-height: 1.3; }
	.note-result-description{ grid-column: 1 / -1; margin: 0; font-size: 12px; line-height: 1.5; }
	.note-result-body > .note-read-link{ grid-column: 1 / -1; justify-self: start; }
	.note-read-link{ font-size: 9.5px; }

	/* En celular los controles laterales de paginación se reducen a < y >. */
	.notes-pagination .pagination-nav{ min-width: 31px; padding: 0 8px; }
	.notes-pagination .pagination-nav .pagination-text,
.notes-pagination .pagination-nav i{ display: none; }
	.notes-pagination .pagination-prev::before{ content: "<"; }
	.notes-pagination .pagination-next::before{ content: ">"; }

	.consulta-modal-document{ padding: 0; }
	.consulta-dialog{ padding: 10px 11px 12px; }
	.consulta-head{ gap: 8px; padding-bottom: 7px; margin-bottom: 7px; }
	.consulta-logo-wrap{ width: 72px; height: 36px; }
	.consulta-heading h1{ font-size: 19px; }
	.consulta-grid{ grid-template-columns: 1fr; gap: 6px; }
	.consulta-wide{ grid-column: auto; }

	.consulta-form-bottom{ margin-top: 7px; }
	.consulta-form-bottom button,
.consulta-status button{ width: 100%; }
	.consulta-status{ padding: 25px 8px 15px; }
	.consulta-status > i{ width: 68px; height: 68px; font-size: 37px; }
	.consulta-status h2{ font-size: 21px; }
	.consulta-status p{ font-size: 12px; }
	.consulta-modal-frame-wrap{ top:7px; left:50%; transform:translateX(-50%); width:calc(100% - 14px); max-height:calc(100% - 14px); }}

/* =====================================================================
   HOME PRINCIPAL - ESTILOS CONSOLIDADOS VIGENTES
   ===================================================================== */

/* Tarjetas de productos de la Home. En Desktop la cantidad de columnas se
 * ajusta más abajo; en celular se conserva una tarjeta horizontal por fila. */
.home-product-card{ position:relative; min-width:0; background:#fff; border:1px solid var(--linea); }
.home-product-badges{ position:absolute; top:6px; left:6px; z-index:2; display:flex; gap:3px; }
.home-product-photo{ display:flex; align-items:center; justify-content:center; height:185px; padding:12px; background:#fff; }
.home-product-photo img{ max-width:100%; max-height:100%; object-fit:contain; }
.home-product-info{ display:grid; gap:5px; padding:10px 11px 12px; border-top:1px solid #eef0ed; }
.home-product-title{ font-size:12.5px; line-height:1.35; font-weight:520; }
.home-product-title:hover{ color:var(--acento-hover); }
.home-product-shop{ font-size:9.5px; color:#7b8380; }
.home-product-info strong{ font-size:15px; font-weight:700; }
.home-error{ margin-top:12px; }
.home-page{ background: #f2f3f1; }
.home-page .home-hero-zone{ background:transparent; }
.home-page .home-search-section{ background: #f2f3f1; }
.home-page .home-search-shell .product-finder{ margin: 0; }
.home-page .home-search-shell .finder-main-search{
	margin:5px 0 18px;
	padding:0;
	border:0;
	background:transparent;
}
.home-page .home-search-shell .finder-main-search > label{
	margin-bottom:6px;
	font-size:14px;
	font-weight:800;
	color:var(--texto);
}
.home-page .home-search-shell .finder-primary-search input{
	height:50px;
	font-size:16px;
}
.home-page .home-search-shell .finder-heading-simple h1{ font-size: 27px; }
.home-page .home-search-shell .finder-heading-simple p{ max-width: 760px; }

.home-content-section{ padding:24px 0; }

.home-grid-presentacion-fondo_blanco,
.home-grid-presentacion-integrado{ border:0; }
.home-grid-presentacion-fondo_neutro{ border-top:1px solid #dfe3df; border-bottom:1px solid #dfe3df; }
.home-section-head{ display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:16px; }
.home-section-head h2{ margin:0; font-size:22px; line-height:1.2; font-weight:650; letter-spacing:-.018em; }
.home-section-head a{ font-size:11px; font-weight:650; color:var(--acento); }
.home-section-head a:hover{ color:var(--acento-hover); }

.home-banner-band{ padding:0; background:transparent; }

.home-bottom-banner{ padding:0; background:transparent; }
.home-secondary-banner{ padding:0; background:transparent; }
.home-secondary-banner-spacer{ height:18px; background:#f2f3f1; }

/* Nota especial opcional entre el Principal y el buscador.
 * Usa un tratamiento arena/ocre para llamar la atención sin confundirse con
 * la barra oscura del Header ni con los acentos azules de la Home. */
.home-special-note{
	padding: 10px 0;
	background: #f2f3f1;
}

.home-special-note-card{
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	align-items: center;
	gap: 17px;
	padding: 17px 21px;
	border-left: 5px solid #b37a22;
	background: #f3e4c2;
	box-shadow: 0 6px 16px rgba(93, 67, 25, .10);
}

.home-special-note-icon{
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #9b6920;
	color: #fff;
	font-size: 20px;
}

.home-special-note-copy h2{
	margin: 0;
	font-size: 20px;
	line-height: 1.22;
	font-weight: 750;
}

.home-special-note-copy h2 a{
	color: #3b3020;
	text-decoration: none;
}

.home-special-note-copy h2 a:hover{
	text-decoration: underline;
	text-underline-offset: 3px;
}

.home-special-note-copy p{
	margin: 5px 0 0;
	max-width: 980px;
	font-size: 12.5px;
	line-height: 1.5;
	color: #675b48;
}

.home-special-note-meta{
	display: flex;
	align-items: center;
	gap: 5px;
	margin-top: 7px;
	font-size: 10.5px;
	font-weight: 550;
	color: #756751;
}

.home-special-note-meta i{
	color: #9b6920;
}

@media (width < 576px) {
	.home-special-note{ padding: 6px 0; }
	.home-special-note-card{
		grid-template-columns: 38px minmax(0, 1fr);
		gap: 11px;
		padding: 13px 14px;
	}
	.home-special-note-icon{ width: 36px; height: 36px; font-size: 16px; }
	.home-special-note-copy h2{ font-size: 16px; }
	.home-special-note-copy p{ font-size: 11px; }
	.home-special-note-meta{ margin-top: 5px; font-size: 9.5px; }
}
.home-editorial-section{ padding: 38px 0; background:#e7e9e6; }
.home-editorial-layout{ display:grid; grid-template-columns:minmax(280px,360px) minmax(0,1fr); gap:30px; align-items:center; }
.home-editorial-layout.no-image{ grid-template-columns:1fr; }
.home-editorial-image{ width:100%; height:210px; background:#dfe2dd; overflow:hidden; align-self:center; }
.home-editorial-image img{ width:100%; height:100%; object-fit:cover; }
.home-editorial-copy{ align-self:center; min-width:0; }
.home-editorial-copy > span{ display:block; font-size:9px; line-height:1.2; font-weight:800; letter-spacing:.13em; color:var(--rotulo); }
.home-editorial-copy h2{ margin:7px 0 9px; font-size:26px; line-height:1.18; letter-spacing:-.026em; }
.home-editorial-copy h2 a:hover{ color:var(--acento-hover); }
.home-editorial-copy p{ margin:0 0 12px; font-size:14.5px; line-height:1.6; color:#59615e; }
.home-editorial-meta{ display:flex; flex-wrap:wrap; gap:4px 14px; font-size:10.5px; color:#737b78; }
.home-editorial-copy > a{ display:inline-block; margin-top:14px; font-size:11px; font-weight:650; color:var(--acento); }
.home-editorial-copy > a:hover{ color:var(--acento-hover); }

.home-video-section{ padding: 38px 0; background:#e6e8e5; }
.home-video-layout{ display:grid; grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr); gap:34px; align-items:center; }
.home-video-copy h2{ margin:0 0 10px; font-size:26px; line-height:1.2; }
.home-video-copy p{ margin:0 0 14px; color:#4f5955; font-size:16px; line-height:1.58; }
.home-video-copy a{ font-size:11px; font-weight:650; color:var(--acento); }
.home-video-copy a:hover{ color:var(--acento-hover); }
.home-video-frame{ width:min(100%,680px); aspect-ratio:16/9; background:#202426; justify-self:end; }
.home-video-frame iframe{ width:100%; height:100%; border:0; display:block; }

.home-intermedio3-section{ padding: 34px 0; background:#fff; }
.home-intermedio3-grid{ display:grid; grid-template-columns:minmax(0,3fr) minmax(250px,1fr); gap:14px; align-items:stretch; }
.home-intermedio3-grid.notes-only{ grid-template-columns:minmax(280px,560px); justify-content:center; }

.home-notes-card{ margin:0; max-width:none; display:flex; flex-direction:column; border:1px solid var(--linea); background:#fff; padding:17px; min-width:0; }
.home-intermedio3-section .home-notes-card{ height:210px; padding:12px 14px; }
.home-notes-card > span{ font-size:8.5px; line-height:1.05; font-weight:800; letter-spacing:.12em; color:var(--rotulo); }
.home-notes-card h2{ margin:1px 0 3px; font-size:20px; line-height:1.12; }
.home-notes-card p{ margin:0 0 10px; font-size:10.5px; color:var(--muted); }
.home-notes-card form{ display:grid; gap:7px; }
.home-notes-card select,
.home-notes-card input{ width:100%; min-width:0; height:35px; border:1px solid #ccd1cd; background:#fff; padding:0 9px; font-size:11px; }
.home-notes-search-row{ display:flex; }
.home-notes-search-row input{ border-right:0; }
.home-notes-search-row > button{ flex:0 0 38px; width:38px; border:1px solid var(--acento); background:var(--acento); color:#fff; cursor:pointer; }
.home-notes-search-row > button:hover{ border-color:var(--acento-hover); background:var(--acento-hover); }
.home-notes-card > a{ display:block; margin-top:auto; padding-top:8px; border-top:1px solid #e5e9e5; font-size:9.5px; line-height:1.4; color:var(--acento); }
.home-notes-card > a:hover{ color:var(--acento-hover); }

/*
 * COMUNIDAD - HOME PRINCIPAL
 * Foro y Full Shop comparten la misma jerarquía visual, pero mantienen sus
 * datos y fallos independientes. Si una fuente no devuelve contenido, la
 * tarjeta conserva encabezado y enlace; sólo queda vacío su cuerpo.
 */
.home-community-section{
	padding: 34px 0 42px;
	background: #f1f3f1;
	color: var(--texto);
}
.home-community-grid{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	align-items: stretch;
}
.home-community-card{
	min-width: 0;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #dfe3df;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .025);
}
.home-community-head{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 18px;
	padding: 17px 18px 14px;
	border-bottom: 1px solid #e5e8e5;
}
.home-community-head span{
	display: block;
	margin-bottom: 4px;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .12em;
	color: var(--rotulo);
}
.home-community-head h2{
	margin: 0;
	font-size: 19px;
	line-height: 1.22;
	font-weight: 700;
	color: #242827;
}
.home-community-head > a{
	flex: 0 0 auto;
	font-size: 10.5px;
	font-weight: 650;
	color: var(--acento);
	white-space: nowrap;
}
.home-community-head > a:hover{
	color: var(--acento-hover);
}
.home-community-content{
	flex: 1 1 auto;
	padding: 2px 18px 6px;
}
.home-forum-list > a{
	display: block;
	padding: 10px 0 9px;
	border-bottom: 1px solid #ecefec;
}
.home-forum-list > a:last-child,
.home-shop-list > a:last-child{
	border-bottom: 0;
}
.home-forum-list > a:hover strong,
.home-shop-list > a:hover strong{
	color: var(--acento-hover);
}
.home-forum-list strong{
	display: block;
	font-size: 12.5px;
	line-height: 1.34;
	font-weight: 600;
	color: #303433;
}
.home-forum-list span{
	display: block;
	margin-top: 3px;
	font-size: 10.5px;
	line-height: 1.35;
	color: #727a76;
}
.home-shop-list > a{
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	gap: 11px;
	align-items: center;
	padding: 9px 0;
	border-bottom: 1px solid #ecefec;
}
.home-shop-thumb{
	width: 58px;
	height: 48px;
	display: grid;
	place-items: center;
	background: #eef1ee;
	border: 1px solid #e1e5e1;
	overflow: hidden;
	font-size: 7.5px;
	font-weight: 800;
	color: #6e776f;
}
.home-shop-thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.home-shop-list div{
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.home-shop-list strong{
	font-size: 12.5px;
	line-height: 1.3;
	font-weight: 600;
	color: #303433;
}
.home-shop-list small{
	font-size: 9.5px;
	line-height: 1.3;
	color: var(--acento);
}
.home-shop-list b{
	font-size: 11.5px;
	line-height: 1.25;
	font-weight: 700;
	color: #222725;
}

@media (width < 992px) {.home-editorial-layout{ grid-template-columns:minmax(240px,34%) minmax(0,1fr); }
	.home-editorial-layout.no-image{ grid-template-columns:1fr; }
	.home-editorial-image{ height:190px; }

	.home-video-layout{ grid-template-columns:1fr; }
	.home-video-frame{ width:min(100%,var(--home-video-max-width,676px)); justify-self:center; }
	.home-intermedio3-grid{ grid-template-columns:1fr; }
	.home-community-grid{ grid-template-columns:1fr; gap:18px; }}

@media (width < 576px) {
	.search-page-shell,
	.home-page .home-search-section{ padding-top:5px; }
	.search-page-shell{ margin-bottom:18px; }
	.home-secondary-banner{ padding:0; }
	.home-secondary-banner-spacer{ height:11px; }
	.home-page .home-search-shell .finder-heading-simple h1{ font-size:22px; }
	.home-content-section{ padding:18px 0; }
	.home-banner-band,
.home-bottom-banner{ padding:0; }
	.home-section-head{ margin-bottom:11px; }
	.home-section-head h2{ font-size:17px; }

	.home-product-card{ display:flex; flex-direction:column; min-height:0; }
	.home-product-photo{ width:100%; height:auto; aspect-ratio:4 / 3; padding:8px; }
	.home-product-info{ border-top:1px solid #eef0ed; border-left:0; padding:11px 12px 13px; align-content:initial; }
	.home-product-title{ font-size:14.5px; line-height:1.35; }
	.home-product-info strong{ font-size:15.5px; }
	.home-editorial-section{ padding:24px 0; }
	.home-editorial-layout,
.home-editorial-layout.no-image{ grid-template-columns:1fr; gap:16px; }
	.home-editorial-image{ height:150px; }
	.home-editorial-copy > span{ line-height:1.12; letter-spacing:.09em; }
	.home-editorial-copy h2{ font-size:20px; }
	.home-editorial-copy p{ font-size:13px; }

	.home-video-section{ padding:25px 0; }
	.home-video-copy h2{ font-size:21px; }
	.home-video-copy p{ font-size:15.5px; line-height:1.55; }
	.home-intermedio3-section{ padding:24px 0; }
	.home-intermedio3-section .home-notes-card{ height:auto; padding:14px; }
	.home-community-section{ padding:24px 0 30px; }
	.home-community-head{ align-items:flex-start; padding:14px 14px 12px; }
	.home-community-head h2{ font-size:17px; }
	.home-community-head > a{ font-size:10px; }
	.home-community-content{ padding:2px 14px 5px; }
	.home-forum-list strong,
.home-shop-list strong{ font-size:12px; }
	.home-forum-list span{ font-size:10px; }
	.home-shop-list > a{ grid-template-columns:54px minmax(0,1fr); gap:10px; }
	.home-shop-thumb{ width:54px; height:45px; }
	.home-shop-list b{ font-size:11px; }}

/* ---------------------------------------------------------------------
   HOME - NOTA ESPECIAL Y GRUPOS TEMPORALES DE BANNERS
   --------------------------------------------------------------------- */

/* Un grupo temporal sólo contiene las piezas de la campaña visible. */
.banner-group{
	display:grid;
	width:100%;
	margin-inline:auto;
	grid-template-columns:minmax(0,1fr);
	gap:12px;
	justify-content:center;
	background:transparent;
}

.banner-group-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.banner-group-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.banner-group > .banner-item{ min-width:0; height:auto; background:transparent; }
.banner-group > .banner-item:empty{ aspect-ratio:var(--banner-proporcion, auto); }
.banner-group .banner-link{ height:auto; }
.banner-group .banner-media{ display:block; width:100%; height:auto; aspect-ratio:var(--banner-proporcion, auto); object-fit:contain; }
.banner-group-extremos .banner-media{ aspect-ratio:var(--banner-proporcion); object-fit:cover; }

.home-section-links{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 6px 14px;
}

.home-community-content:empty{
	min-height: 0;
}

@media (width < 576px) {
	.home-section-links{
		justify-content: flex-end;
		gap: 4px 10px;
	}
}
.community-forum-meta{display:flex;align-items:center;flex-wrap:wrap;gap:3px 7px}.community-forum-meta>span{display:inline-flex;align-items:center;gap:4px}.community-forum-meta i{font-size:.95em;color:var(--acento)}

.community-forum-meta > span + span::before{
	content: "·";
	margin-right: 3px;
	color: #a2a8a5;
}

/* Estado de procesamiento del formulario de consultas. */
.consulta-form-bottom button:disabled,
.consulta-form.is-submitting .consulta-form-bottom button{
	cursor: wait;
	opacity: .86;
	pointer-events: none;
}

.consulta-submit-spinner{
	display: inline-block;
	transform-origin: 50% 50%;
	animation: consulta-spin .7s linear infinite !important;
}

.consulta-submit-progress{
	height: 4px;
	margin-top: 7px;
	overflow: hidden;
	background: #e1e6e1;
	opacity: 0;
	visibility: hidden;
	transition: opacity .12s ease;
}

.consulta-submit-progress span{
	display: block;
	width: 38%;
	height: 100%;
	background: var(--acento);
	transform: translateX(-120%);
}

.consulta-form.is-submitting .consulta-submit-progress{
	opacity: 1;
	visibility: visible;
}

.consulta-form.is-submitting .consulta-submit-progress span{
	animation: consulta-progress .95s ease-in-out infinite;
}

@keyframes consulta-spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

@keyframes consulta-progress {
	0% { transform: translateX(-120%); }
	100% { transform: translateX(365%); }
}

/* Publicidad emergente de la Home. */
body.home-emergent-open{ overflow: hidden; }
.home-emergent-overlay{ position:fixed; inset:0; z-index:10000; display:grid; place-items:center; padding:24px; background:rgba(10,13,12,.84); }
.home-emergent-panel{ position:relative; width:min(780px,calc(100vw - 48px)); background:#111; box-shadow:0 24px 78px rgba(0,0,0,.48); }
.home-emergent-panel--celular{ width:min(300px,calc(100vw - 30px)); }
.home-emergent-close{ position:absolute; top:-17px; right:-17px; z-index:5; display:grid; place-items:center; width:40px; height:40px; border:2px solid #fff; border-radius:50%; outline:0; background:transparent; color:#fff; font-size:21px; cursor:pointer; box-shadow:none; }
.home-emergent-close:focus,
.home-emergent-close:focus-visible{ outline:0; box-shadow:0 0 0 2px rgba(255,255,255,.42); }
.home-emergent-countdown{ position:absolute; right:10px; bottom:10px; z-index:5; display:grid; place-items:center; min-width:47px; height:43px; padding:0 9px; background:rgba(20,24,22,.86); color:#fff; border:1px solid rgba(255,255,255,.55); font-size:25px; line-height:1; font-weight:800; font-variant-numeric:tabular-nums; }
.home-emergent-media .banner-group{ width:100%; height:auto !important; min-height:0 !important; gap:0; background:transparent; }
.home-emergent-panel--desktop .home-emergent-media .banner-group{ aspect-ratio:780 / 480; }
.home-emergent-panel--celular .home-emergent-media .banner-group{ aspect-ratio:300 / 400; }
.home-emergent-media .banner-item,
.home-emergent-media .banner-link,
.home-emergent-media .banner-media{ width:100%; height:100%; }
.home-emergent-media .banner-media{ object-fit:cover; }

/* Bienvenida a un nuevo auspiciante: pieza institucional con identidad propia. */
.home-welcome{ padding:12px 0 25px; background:#f2f3f1; }
.home-welcome-card{ position:relative; display:grid; grid-template-columns:minmax(190px,255px) minmax(0,1fr); min-height:178px; overflow:hidden; border:1px solid var(--acento-hover); border-left:6px solid #d8ad58; background:linear-gradient(118deg,var(--acento) 0%,#367D9A 58%,var(--acento-hover) 100%); box-shadow:0 12px 28px rgba(26,75,96,.16); color:#fff; }
.home-welcome-card.no-image{ grid-template-columns:1fr; }
.home-welcome-brand{ display:grid; place-items:center; min-height:178px; padding:22px; background:#fff; border-right:1px solid rgba(255,255,255,.16); }
.home-welcome-brand a{ display:grid; place-items:center; width:100%; height:100%; }
.home-welcome-brand img{ max-width:205px; max-height:110px; object-fit:contain; }
.home-welcome-copy{ align-self:center; padding:24px 31px 26px; }
.home-welcome-kicker{ display:block; margin-bottom:5px; font-size:11.5px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:#f0cf8a; }
.home-welcome-copy h2{ margin:0; font-family:"Manrope","Inter",sans-serif; font-size:clamp(25px,2.35vw,33px); line-height:1.13; font-weight:800; letter-spacing:-.025em; color:#fff; }
.home-welcome-copy h2 a:hover{ text-decoration:underline; text-underline-offset:4px; }
.home-welcome-copy p{ max-width:850px; margin:10px 0 0; font-size:15px; line-height:1.62; color:#f0f6f8; }
.home-welcome-link{ display:inline-flex; align-items:center; gap:7px; margin-top:14px; padding-bottom:2px; border-bottom:1px solid rgba(240,207,138,.65); font-size:12.5px; font-weight:750; color:#f0cf8a; }
.home-welcome-link:hover{ color:#fff; border-color:#fff; }

/* El alto máximo se configura en app.php; el ancho sale de la relación 16:9. */
.home-video-frame{ width:min(100%,var(--home-video-max-width,676px)); aspect-ratio:16/9; }

/* Legibilidad Desktop: se evita bajar texto funcional a tamaños de microcopy. */
@media (width >= 992px) {.nav-link{ font-size:13.5px; }
	.site-header-compacto .nav-link{ font-size:13px; }

	.sponsor-logo{ height:96px; }
		.sponsor-kicker{ font-size:11px; }
	.sponsor-description{ font-size:15px; }
	.sponsor-footer-detail strong{ font-size:13px; line-height:1.45; }
	.sponsor-btn{ min-height:38px; padding:8px 13px; font-size:13px; }
	.sponsor-social-btn{ min-height:34px; padding:7px 10px; font-size:12px; }
	.sponsor-footer-description{ font-size:11.5px; }
	.sponsor-footer .sponsor-btn{ min-height:34px; padding:6px 10px; font-size:12.5px; }
	.sponsor-disclaimer{ font-size:11px; line-height:1.45; }

	.home-page .home-search-shell .finder-main-search{ margin:5px 0 18px; padding:0; border:0; background:transparent; }
	.home-page .home-search-shell .finder-main-search > label{ margin-bottom:7px; font-size:16px; font-weight:800; color:var(--texto); }
	.home-page .home-search-shell .finder-primary-search input{ height:52px; font-size:17px; }
	.product-finder-embedded .product-finder-form.has-desktop-auto-submit .finder-submit{ display:inline-flex; }
	.product-finder-embedded .product-finder-form.has-desktop-auto-submit .finder-actions{ display:flex; }
	.finder-submit{ font-size:13px; }
	.finder-clear{ font-size:12px; }
	.finder-field > label:first-child{ font-size:13px; }

	.home-video-copy p{ font-size:18.5px; line-height:1.55; }

	.home-product-title{ font-size:13.5px; }
	.home-product-shop{ font-size:11.5px; line-height:1.3; }
	.home-section-head a{ font-size:12.5px; }
	.home-editorial-copy > span{ font-size:10.5px; }
	.home-editorial-meta{ font-size:12px; }
	.home-editorial-copy > a{ font-size:12.5px; }

	.home-video-copy a{ font-size:12.5px; }

	.search-product-shop{ font-size:11.5px; }
	.search-product-title{ font-size:14px; }
	.search-product-meta{ font-size:11.5px; }
	.notes-result-summary,
.notes-toolbar-controls label{ font-size:12px; }
	.terms-content p{ font-size:14px; }
	.footer-links a{ font-size:12.5px; }
	.footer-bottom{ font-size:11.5px; }}

@media (width < 992px) {.home-welcome-card{ grid-template-columns:1fr; }
	.home-welcome-brand{ min-height:128px; border-right:0; border-bottom:1px solid #dfe4df; }
	.home-welcome-copy{ padding:20px; }}
@media (width < 768px) {
	.home-emergent-overlay{ place-items:start center; padding:48px 24px 24px; overflow-y:auto; }
}

@media (width < 576px) {.home-emergent-overlay{ padding:40px 15px 15px; }
	.home-emergent-close{ top:-13px; right:-10px; width:36px; height:36px; font-size:18px; }
	.home-emergent-countdown{ min-width:42px; height:39px; font-size:22px; }
	.home-welcome{ padding:7px 0 16px; }
	.home-welcome-copy h2{ font-size:22px; }
	.home-welcome-copy p{ font-size:13.5px; }
}

@media (width >= 992px) {.notes-field{ font-size:13px; }
	.notes-search-button,
.notes-show-all{ font-size:13px; }
	.notes-result-summary span{ font-size:12.5px; }
	.notes-toolbar-controls label{ font-size:12px; }
	.note-result-meta{ font-size:12px; }
	.note-result-description{ font-size:13.5px; }
	.note-read-link{ font-size:12.5px; }

	.home-notes-card > span{ font-size:10px; }
	.home-notes-card p{ font-size:12px; }
	.home-notes-card select,
.home-notes-card input{ font-size:12.5px; }
	.home-notes-card > a{ font-size:11.5px; }
	.home-community-head span{ font-size:10px; }
	.home-community-head > a{ font-size:12px; }
	.home-forum-list span{ font-size:11.5px; }
	.home-shop-list small{ font-size:11px; }
	.home-shop-list b{ font-size:12.5px; }
}

/* Atributos técnicos escalables: checkboxes limitados inicialmente y selector
 * buscable para atributos de valor único con muchas opciones. */

.attribute-search-picker .search-picker-options{ max-height:260px; }
.product-filter-form .finder-filter-grid > .finder-specific-filters{ grid-column:1 / -1; margin:0; padding:0; border-top:0; }

.product-filter-form .finder-filter-grid > .finder-specific-filters .finder-attributes-grid{ display:flex; flex-direction:column; gap:12px; }

/* Ajustes de presentación y densidad de tarjetas. */

.search-product-grid.is-compact{
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
.search-product-grid.is-compact .search-product-card{
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr);
	min-height: 132px;
}
.search-product-grid.is-compact .search-product-photo{
	width: 132px;
	height: 100%;
	min-height: 132px;
	padding: 8px;
}
.search-product-grid.is-compact .search-product-info{
	min-width: 0;
	padding: 11px 12px;
	border-top: 0;
	border-left: 1px solid #eff1ee;
}
.search-product-grid.is-compact .search-product-title{
	min-height: 0;
}

@media (width < 576px) {.search-product-grid.is-compact{ grid-template-columns: 1fr; }
	.search-product-grid.is-compact .search-product-card{
		display: grid;
		grid-template-columns: 108px minmax(0, 1fr);
		min-height: 108px;
	}
	.search-product-grid.is-compact .search-product-photo{
		width: 108px;
		height: 108px;
		min-height: 108px;
		aspect-ratio: auto;
		padding: 6px;
	}
	.search-product-grid.is-compact .search-product-info{
		padding: 10px;
		border-top: 0;
		border-left: 1px solid #eff1ee;
	}}

/* Filtros técnicos tipo faceta buscable. */
.attribute-facet-search{
	position: relative;
	margin: 0 0 7px;
}
.attribute-facet-search i{
	position: absolute;
	left: 9px;
	top: 50%;
	transform: translateY(-50%);
	color: #7a8280;
	font-size: 12px;
	pointer-events: none;
}
.attribute-facet-search input{
	width: 100%;
	min-width: 0;
	height: 34px;
	padding: 6px 30px 6px 29px;
	border: 1px solid #d9dfda;
	border-radius: 0;
	background: #fff;
	font: inherit;
	font-size: 12px;
	color: #2e3433;
}
.attribute-options-searchable{
	display: flex;
	flex-direction: column;
	gap: 0;
	/* El alto incluye padding + bordes porque el proyecto usa border-box. De
	 * este modo el parámetro representa filas REALES y no una aproximación. */
	max-height: calc((var(--attribute-visible-rows, 10) * 32px) + 14px);
	overflow-y: auto;
	overscroll-behavior: contain;
	border-top: 1px solid #ecefec;
}
.attribute-option{
	display: flex;
	align-items: center;
	gap: 7px;
	height: 32px;
	min-height: 32px;
	padding: 4px 3px;
	box-sizing: border-box;
	border-bottom: 1px solid #f0f2f0;
	font-size: 11.75px;
	line-height: 1.25;
	cursor: pointer;
}
.attribute-option:hover{ background: #f7f8f6; }
.attribute-option input{ flex: 0 0 auto; }
.attribute-option span{ min-width: 0; }
.attribute-option small{
	margin-left: auto;
	padding-left: 6px;
	color: #858d8a;
	font-size: 10px;
}
.attribute-filter-empty{
	padding: 8px 3px 3px;
	color: #777f7d;
	font-size: 11px;
}
.attribute-filter-empty[hidden],
.attribute-option[hidden]{ display: none !important; }

/* Presentaciones alternativas de atributos y Estado. */
.finder-state-options{ display:flex; flex-direction:column; gap:1px; }
.finder-state-options .finder-check{ margin-top:5px; }
.attribute-options-static{ display:flex; flex-direction:column; gap:0; padding:4px 7px; border:1px solid #e0e4e1; background:#fff; }
.attribute-options-static .attribute-option{ height:auto; min-height:30px; }
.attribute-text-options{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding-top:3px; }
.attribute-text-option{ position:relative; display:inline-flex; align-items:center; gap:5px; cursor:pointer; color:#56605e; font-size:11.75px; line-height:1.35; }
.attribute-text-option input{ position:absolute; opacity:0; pointer-events:none; }
.attribute-text-option span{ border-bottom:1px solid transparent; }
.attribute-text-option:hover span{ color:var(--acento-hover); border-bottom-color:var(--acento-borde); }
.attribute-text-option input:checked + span{ color:var(--acento-hover); font-weight:700; }
.attribute-text-option small{ color:#858d8a; font-size:10px; }
.finder-state-text{ display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
.finder-state-text .attribute-text-option{ font-size:11.75px; }
.attribute-options-searchable.is-search-only[hidden]{ display:none !important; }

/* Navegación de catálogo del auspiciante.
 * En lugar de repartir todas las raíces en una barra horizontal que termina
 * truncando nombres, se muestra una única entrada "Productos". Al abrirla se
 * despliega un mega panel superpuesto: raíces a la izquierda y categorías
 * finales a la derecha. Los padres organizan; sólo las hojas son enlaces. */
.sponsor-catalog-nav{
	position:relative;
	z-index:34;
	margin:0;
	background:#56635a;
	border-bottom:1px solid #465149;
	box-shadow:0 2px 6px rgba(29,37,32,.10);
}
.sponsor-catalog-shell{ position:relative; padding-block:0; }
.sponsor-catalog-trigger{
	display:inline-flex;
	align-items:center;
	gap:12px;
	min-height:44px;
	padding:0 16px;
	border:0;
	background:transparent;
	color:#fff;
	font:inherit;
	cursor:pointer;
	transition:background .16s ease;
}
.sponsor-catalog-trigger:hover,
.sponsor-catalog-trigger:focus-visible,
.sponsor-catalog-nav.is-open .sponsor-catalog-trigger{ background:#465248; }
.sponsor-catalog-trigger-main{ display:inline-flex; align-items:center; gap:9px; font-size:12px; letter-spacing:.035em; text-transform:uppercase; }
.sponsor-catalog-trigger-main i{ font-size:16px; }
.sponsor-catalog-trigger-copy{ color:#d6ddd8; font-size:11px; font-weight:500; }
.sponsor-catalog-trigger-chevron{ display:grid; place-items:center; width:24px; height:24px; margin-left:5px; border-radius:50%; background:#fff; color:#24382b; font-size:16px; font-weight:800; box-shadow:0 1px 5px rgba(0,0,0,.22); transition:transform .18s ease,background .18s ease; }
.sponsor-catalog-nav.is-open .sponsor-catalog-trigger-chevron{ transform:rotate(180deg); }

.sponsor-catalog-popover{
	position:absolute;
	left:0;
	right:0;
	top:100%;
	z-index:96;
	background:#fff;
	border:1px solid #d8ded9;
	border-top:0;
	box-shadow:0 20px 46px rgba(20,29,23,.20);
}
.sponsor-catalog-popover[hidden]{ display:none !important; }

/* Patrón tipo "vertical tabs + content panel": las dos columnas comparten un
 * alto estable. Si una raíz tiene muchas opciones, cada lado puede desplazarse
 * sin provocar que el menú cambie de tamaño entre selecciones. */
.sponsor-catalog-layout{
	display:grid;
	grid-template-columns:310px minmax(0,1fr);
	height:min(500px,calc(100vh - 190px));
	min-height:380px;
	background:#fff;
}
.sponsor-catalog-rail{
	padding:14px 0;
	background:#f4f6f3;
	border-right:1px solid #dce2dd;
	overflow-y:auto;
}
.sponsor-catalog-rail-item{
	position:relative;
	display:grid;
	grid-template-columns:minmax(0,1fr) auto 14px;
	align-items:center;
	gap:10px;
	width:100%;
	min-height:44px;
	padding:10px 14px 10px 18px;
	border:0;
	border-left:3px solid transparent;
	background:transparent;
	color:#39423c;
	font:inherit;
	font-size:12.5px;
	font-weight:700;
	line-height:1.25;
	text-align:left;
	text-decoration:none;
	cursor:pointer;
	transition:background .14s ease,color .14s ease,border-color .14s ease;
}
.sponsor-catalog-rail-item span{ min-width:0; }
.sponsor-catalog-rail-item small{
	justify-self:end;
	min-width:30px;
	margin-left:10px;
	padding:2px 7px;
	background:#e6eae6;
	color:#68716b;
	font-size:9.5px;
	font-weight:650;
	text-align:center;
}
.sponsor-catalog-rail-item i{ color:#8d9690; font-size:10px; }
.sponsor-catalog-rail-item:hover,
.sponsor-catalog-rail-item:focus-visible{
	background:#edf1ed;
	color:#2b352e;
	outline:0;
}
.sponsor-catalog-rail-item.is-active{
	background:#fff;
	border-left-color:#70825f;
	color:#263229;
	box-shadow:inset 0 1px #e3e7e3,inset 0 -1px #e3e7e3;
}
.sponsor-catalog-rail-item.is-leaf:hover i{ transform:translateX(2px); }

.sponsor-catalog-panels{
	min-width:0;
	height:100%;
	background:#fff;
	overflow-y:auto;
}
.sponsor-catalog-panel{
	min-height:100%;
	padding:24px 28px 30px;
	background:#fff;
}
.sponsor-catalog-panel[hidden]{ display:none !important; }
.sponsor-catalog-groups{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:22px 28px;
	align-items:start;
}
.sponsor-catalog-group{ min-width:0; }
.sponsor-catalog-group-title{
	display:block;
	padding:0 0 8px;
	border-bottom:1px solid #dfe4e0;
	color:#303a33;
	font-size:12.5px;
	font-weight:800;
	line-height:1.3;
}
.sponsor-catalog-subitems{
	display:flex;
	flex-direction:column;
	padding-top:5px;
}
.sponsor-catalog-subitems a{
	position:relative;
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	align-items:baseline;
	gap:12px;
	padding:6px 7px 6px 10px;
	border-bottom:1px solid #f0f2f0;
	color:#59635d;
	font-size:11.5px;
	line-height:1.25;
	text-decoration:none;
	transition:background .13s ease,color .13s ease,padding .13s ease;
}
.sponsor-catalog-subitems a::before,
.sponsor-catalog-leaf-card::before{
	content:"";
	position:absolute;
	left:0;
	top:8px;
	bottom:8px;
	width:2px;
	background:#82966b;
	transform:scaleY(0);
	transition:transform .13s ease;
}
.sponsor-catalog-subitems a:hover,
.sponsor-catalog-subitems a:focus-visible{
	padding-left:13px;
	background:#f4f7f2;
	color:var(--acento-hover);
	outline:0;
}
.sponsor-catalog-subitems a:hover::before,
.sponsor-catalog-subitems a:focus-visible::before,
.sponsor-catalog-leaf-card:hover::before,
.sponsor-catalog-leaf-card:focus-visible::before{ transform:scaleY(1); }
.sponsor-catalog-subitems a span{ min-width:0; }
.sponsor-catalog-subitems a small{
	justify-self:end;
	min-width:26px;
	margin-left:8px;
	color:#89918c;
	font-size:9px;
	text-align:right;
}
.sponsor-catalog-leaf-card{
	position:relative;
	display:grid;
	grid-template-columns:minmax(0,1fr) auto 14px;
	align-items:center;
	gap:10px;
	min-height:44px;
	padding:8px 7px 8px 10px;
	border:0;
	border-bottom:1px solid #e7ebe7;
	background:transparent;
	color:#37413a;
	font-size:12px;
	font-weight:750;
	line-height:1.25;
	text-decoration:none;
	transition:padding .14s ease,background .14s ease,color .14s ease;
}
.sponsor-catalog-leaf-card small{
	min-width:28px;
	margin-left:8px;
	padding:2px 6px;
	background:#eef1ee;
	color:#758079;
	font-size:9px;
	font-weight:650;
	text-align:center;
}
.sponsor-catalog-leaf-card i{ color:#7d897f; font-size:10px; }
.sponsor-catalog-leaf-card:hover,
.sponsor-catalog-leaf-card:focus-visible{
	padding-left:14px;
	background:#f4f7f2;
	color:var(--acento-hover);
	outline:0;
}

@media (width >= 768px) and (width < 1200px){
	.nav-mega-comercios .nav-mega-link-grid,
	.nav-mega-simple .nav-mega-link-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
	.sponsor-catalog-layout{ grid-template-columns:270px minmax(0,1fr); }
	.sponsor-catalog-groups{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (width < 992px){
	.sponsor-catalog-shell{ padding-inline:0; }
	.sponsor-catalog-trigger{ width:100%; justify-content:flex-start; padding-inline:14px; }
	.sponsor-catalog-trigger-copy{ flex:1; text-align:left; }
	.sponsor-catalog-trigger-chevron{ margin-left:auto; }

	/* Tablet/celular: el catálogo deja de superponerse. Cada raíz abre su propio
	 * bloque inmediatamente debajo y empuja el resto, igual que el menú mobile
	 * general. */
	.sponsor-catalog-popover{ position:static; border-inline:0; box-shadow:none; }
	.sponsor-catalog-layout{ display:block; height:auto; min-height:0; overflow:visible; }
	.sponsor-catalog-rail{
		display:flex;
		flex-direction:column;
		gap:0;
		padding:0;
		border-right:0;
		border-bottom:1px solid #dde2de;
		overflow:visible;
	}
	.sponsor-catalog-rail-item{
		width:100%;
		min-height:46px;
		padding:11px 14px;
		border-left:0;
		border-bottom:1px solid #e2e6e2;
		white-space:normal;
	}
	.sponsor-catalog-rail-item small{ margin-left:12px; }
	.sponsor-catalog-rail-item.is-active,
	.sponsor-catalog-rail-item:hover,
	.sponsor-catalog-rail-item:focus-visible{
		border-left-color:transparent;
		background:#fff;
		color:#30402f;
		box-shadow:none;
	}
	.sponsor-catalog-rail-item i{ display:none; }
	.sponsor-catalog-panels{ height:auto; overflow:visible; }
	.sponsor-catalog-panels:empty{ display:none; }
	.sponsor-catalog-rail > .sponsor-catalog-panel{
		width:100%;
		min-height:0;
		padding:16px 14px 20px;
		border-bottom:1px solid #d9dfda;
		background:#fff;
	}
	.sponsor-catalog-groups{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 20px; }
}

@media (width < 576px){
	.sponsor-catalog-trigger-copy{ display:none; }
	.sponsor-catalog-groups{ grid-template-columns:1fr; gap:13px; }
}

/* Página de categoría propia del auspiciante. Reutiliza tarjetas y motor del
 * Buscador, pero mantiene una barra de refinamiento mínima propia del comercio. */
.sponsor-category-page{ padding:0 0 38px; }
.sponsor-category-page-shell{ padding-top:18px; }
.sponsor-category-breadcrumb{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:6px;
	min-height:30px;
	margin-bottom:12px;
	font-size:12px;
	line-height:1.35;
	color:#727a7d;
}
.sponsor-category-breadcrumb a{ transition:color .15s ease; }
.sponsor-category-breadcrumb a:hover{ color:var(--acento-hover); }
.sponsor-category-breadcrumb i{ font-size:8px; color:#a2a8a5; }
.sponsor-category-heading{ margin:2px 0 18px; padding-bottom:14px; border-bottom:1px solid #dfe4e0; }
.sponsor-category-heading h1{ margin:0; color:#262d28; font-size:clamp(26px,3vw,36px); line-height:1.08; font-weight:750; }
.sponsor-category-page .search-results-section{ padding-top:0; }
.sponsor-category-page .results-toolbar{ margin-top:0; align-items:flex-end; }
.sponsor-category-page .results-order-form{ margin-left:auto; }

.sponsor-category-dynamic{ position:relative; min-height:120px; }
.sponsor-category-dynamic.is-processing .search-results-section{ opacity:.58; pointer-events:none; }
.sponsor-category-processing{
	position:absolute;
	inset:0;
	z-index:12;
	align-items:flex-start;
	justify-content:center;
	padding-top:56px;
	background:rgba(255,255,255,.62);
}
.sponsor-category-processing:not([hidden]){ display:flex; }

.sponsor-category-filter-form{
	display:grid;
	align-items:end;
	gap:9px;
	width:auto;
}
.sponsor-category-filter-form.has-calibre{ grid-template-columns:minmax(180px,230px) minmax(190px,240px) 126px 162px; }
.sponsor-category-filter-form.no-calibre{ grid-template-columns:minmax(190px,240px) 126px 162px; }
.sponsor-category-filter-form .results-filter-control,
.sponsor-category-filter-form .results-sort-control{
	display:grid;
	grid-template-columns:1fr;
	align-items:end;
	gap:4px;
	min-width:0;
	font-size:10.5px;
	font-weight:600;
	color:#666e71;
}
.sponsor-category-filter-form select,
.sponsor-category-filter-form .search-picker > input[data-search-picker-input]{
	width:100%;
	height:34px;
	min-width:0;
	border:1px solid #c7ceca;
	background:#fff;
	font-size:11.5px;
	color:#333b36;
}
.sponsor-category-filter-form .search-picker > input[data-search-picker-input]{ padding-right:34px; }
.sponsor-category-filter-form .public-picker-clear{ top:50%; transform:translateY(-50%); }
.sponsor-category-filter-form .search-picker-options{ min-width:230px; }
.sponsor-category-caliber-control .search-picker-options{ min-width:190px; }

@media (width >= 1200px){
	.sponsor-category-five-columns .search-product-grid{ grid-template-columns:repeat(5,minmax(0,1fr)); }
}

@media (width < 1200px){
	.sponsor-category-page .results-toolbar{ align-items:stretch; flex-direction:column; }
	.sponsor-category-page .results-order-form{ margin-left:0; }
	.sponsor-category-filter-form{ width:100%; }
	.sponsor-category-filter-form.has-calibre{ grid-template-columns:repeat(4,minmax(0,1fr)); }
	.sponsor-category-filter-form.no-calibre{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (width < 768px){
	.sponsor-category-filter-form.has-calibre,
	.sponsor-category-filter-form.no-calibre{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (width < 576px){
	/* La ruta se elimina COMPLETAMENTE recién por debajo de 576 px. */
	.sponsor-category-breadcrumb{ display:none !important; }
	.sponsor-category-page-shell{ padding-top:12px; }
	.sponsor-category-filter-form.has-calibre,
	.sponsor-category-filter-form.no-calibre{ grid-template-columns:1fr 1fr; gap:8px; }
	.sponsor-category-filter-form .sponsor-category-caliber-control,
	.sponsor-category-filter-form .sponsor-category-brand-control{ grid-column:1 / -1; }
	.sponsor-category-filter-form .sponsor-category-caliber-control{ order:1; }
	.sponsor-category-filter-form .sponsor-category-brand-control{ order:2; }
	.sponsor-category-filter-form .sponsor-category-state-control{ order:3; }
	.sponsor-category-filter-form .sponsor-category-sort-control{ order:4; }
	.sponsor-category-filter-form .search-picker-options{ min-width:100%; }
}

/* =====================================================================
   BANNERS GENERALES - PRESENTACIONES POR ANCLAJE
   ===================================================================== */
.section-presentacion-integrado{ background:transparent; border:0; }
.section-presentacion-fondo_body{ background:var(--fondo); }
.section-presentacion-fondo_blanco{ background:#fff; border:0; }
.section-presentacion-fondo_neutro{ background:#e9ebe8; }

.home-page .home-hero-zone,
.search-top-banners,
.notes-top-ads,
.note-general-banner{ margin:0; padding:0; }
.banner-anclaje{ width:100%; padding:24px 0; box-sizing:border-box; }
.header-banner-sobre .banner-anclaje{ padding:4px 0; }
.home-intermedio3-banners .banner-anclaje-home_despues_grilla_4{ padding-block:0; }
.banner-anclaje .banner-group{ margin-inline:auto; }
/* El espacio vertical pertenece siempre al propio bloque publicitario.
 * El color de presentación cubre también ese padding, sin franjas del body. */
/* La sección exterior pinta el fondo de borde a borde; el banner permanece
 * centrado dentro de .shell sin ampliar el viewport. */
:not(.header-banner-sobre):has(> .shell > .banner-anclaje.banner-presentacion-ancho-pantalla.banner-presentacion-fondo_body){ background:var(--fondo); }
:not(.header-banner-sobre):has(> .shell > .banner-anclaje.banner-presentacion-ancho-pantalla.banner-presentacion-fondo_blanco){ background:#fff; }
:not(.header-banner-sobre):has(> .shell > .banner-anclaje.banner-presentacion-ancho-pantalla.banner-presentacion-fondo_neutro){ background:#e9ebe8; }

/* En los anclajes sobre cabecera, el fondo general es el azul del header. */
.site-header > .header-banner-sobre .banner-anclaje.banner-presentacion-fondo_body{ background:transparent; }

.notes-inline-ad{ margin:0; }

@media (width < 576px) {.banner-anclaje{ padding:18px 0; }}

/* =====================================================================
   BUSCADOR GLOBAL DE CABECERA
   ===================================================================== */
.header-search{
	flex:0 1 520px;
	max-width:520px;
	margin-left:auto;
}
.header-search-control{
	position:relative;
	display:flex;
	align-items:center;
	min-height:44px;
	background:#fff;
	border:1px solid #cfd5cf;
	box-shadow:0 2px 9px rgba(20,30,24,.06);
}
.site-header-compacto .header-search{ max-width:390px; }
.site-header-compacto .header-search-control{ min-height:36px; }
.site-header-compacto .header-search-control input[type="search"]{ padding:7px 9px; font-size:12.25px; }
.site-header-compacto .header-search-scope-button{ min-height:34px; max-width:155px; padding-inline:8px; font-size:10.25px; }
.site-header-compacto .header-search-submit{ flex-basis:38px; }
.header-search-control > .bi-search{
	flex:0 0 auto;
	margin-left:14px;
	font-size:16px;
	color:#7a837d;
}
.header-search-control input[type="search"]{
	min-width:0;
	flex:1 1 auto;
	border:0;
	outline:0;
	background:transparent;
	padding:10px 12px;
	font-size:14px;
	color:#242a26;
}
.header-search-control input[type="search"]::placeholder{ color:#8a918c; }
.header-search-submit{
	flex:0 0 44px;
	align-self:stretch;
	border:0;
	border-left:1px solid #e0e4e0;
	background:#fff;
	color:#4f672f;
	font-size:17px;
	cursor:pointer;
}
.header-search-submit:hover{ background:#f5f7f3; color:var(--acento-hover); }
.header-search-scope{ position:static; flex:0 0 auto; border-left:1px solid #e0e4e0; }
.header-search-scope-button{
	display:flex;
	align-items:center;
	gap:7px;
	max-width:220px;
	min-height:42px;
	padding:0 10px 0 12px;
	border:0;
	background:#fff;
	font-size:11.5px;
	font-weight:650;
	color:#4d5550;
	cursor:pointer;
}
.header-search-scope-button span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.header-search-scope-menu{
	position:absolute;
	top:calc(100% + 6px);
	left:0;
	right:44px;
	z-index:120;
	min-width:0;
	padding:6px;
	background:#fff;
	border:1px solid #dfe3df;
	box-shadow:0 16px 40px rgba(20,30,24,.16);
}
.header-search-scope-menu button{
	width:100%;
	display:flex;
	align-items:center;
	gap:10px;
	padding:10px 9px;
	border:0;
	background:#fff;
	text-align:left;
	font-size:12.5px;
	cursor:pointer;
}
.header-search-scope-menu button:hover{ background:#eef3f5; }
.header-search-scope-menu button i{ color:#7a847d; }
.header-search-scope-menu button.is-selected i{ color:var(--color-identidad-global); }

@media (width < 992px){
	.header-search{
		grid-column:1 / -1;
		grid-row:2;
		width:100%;
		max-width:none;
		margin:0;
	}
	.header-search-control{ min-height:42px; }
}

@media (width < 768px){
	.site-header-compacto .header-search{ max-width:none; }
	.header-search-scope-button{ max-width:160px; }
	.header-search-scope-menu{ right:44px; }
}

@media (width < 576px){
	.header-search-control > .bi-search{ display:none; }
	.header-search-control input[type="search"]{ padding-left:11px; font-size:16px; }
	.header-search-scope{ position:static; border-left:0; }
	.header-search-scope-button{ display:none; }
	.header-search-scope-menu{ left:0; right:0; top:calc(100% + 6px); min-width:0; width:100%; }
}

/* Las visualizaciones compactas configurables se aplican sólo por debajo de 576 px.
   Por encima de ese corte las grillas continúan con su adaptación normal. */
@media (width >= 576px){
	.search-product-grid.is-compact{ gap:18px; }
	.search-product-grid.is-compact .search-product-card{ display:flex; flex-direction:column; min-height:0; }
	.search-product-grid.is-compact .search-product-photo{ width:100%; height:auto; min-height:0; aspect-ratio:1/1; padding:10px; }
	.search-product-grid.is-compact .search-product-info{ padding:12px; border-left:0; border-top:1px solid #eff1ee; }
}

/* Entre 768 y 992 px el sitio mantiene la cabecera expandida. Los filtros del
   Buscador pueden seguir usando su adaptación de tablet sin convertir el
   header ni las creatividades publicitarias a variante Celular. */
@media (width >= 768px) and (width < 992px){

	.header-row{ height:82px; display:flex; align-items:center; justify-content:space-between; gap:22px; padding:0; }
	.site-header-compacto .header-row{ height:56px; display:flex; padding:0; }
	.brand img{ width:auto; height:auto; max-width:258px; max-height:72px; }
	.site-header-compacto .brand img{ width:auto; height:auto; max-width:176px; max-height:47px; }
	.main-nav{ display:block; }
	.mobile-trigger,.site-header-compacto .mobile-trigger{ display:none; }
	.header-search{ grid-column:auto; grid-row:auto; width:auto; max-width:520px; margin-left:auto; }
	.site-header-compacto .header-search{ max-width:390px; }
}

@media (width >= 768px){
	.sponsor-home .sponsor-product-photo{ height:184px; }
}

@media (width < 768px){
	.home-page .home-search-shell .finder-main-search{ padding:0; }
	.home-page .home-search-shell .finder-primary-search input{ height:48px; font-size:16px; }
}

/* El buscador principal mantiene el placeholder visualmente secundario. */
.finder-primary-search input::placeholder{ font-weight:400; }

/* Home principal: las grillas comerciales usan el mismo patrón de carrusel
 * adaptable que la Home del auspiciante. La cantidad configurada es el total;
 * las columnas visibles dependen únicamente del ancho disponible. */
.home-product-carousel{ position:relative; }
.home-product-carousel-track{
	display:flex;
	gap:10px;
	overflow-x:auto;
	overflow-y:hidden;
	scroll-behavior:smooth;
	scroll-snap-type:x proximity;
	scrollbar-width:none;
	overscroll-behavior-inline:contain;
	padding:2px 1px 8px;
}
.home-product-carousel-track::-webkit-scrollbar{ display:none; }
.home-product-carousel-track > *{ flex:0 0 100%; scroll-snap-align:start; }
.home-product-carousel-arrow{
	position:absolute;
	top:50%;
	z-index:4;
	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:var(--acento);
	font-size:19px;
	cursor:pointer;
	transform:translateY(-50%);
}
.home-product-carousel-arrow:hover{ color:var(--acento-hover); border-color:var(--acento); }
.home-product-carousel-prev{ left:-14px; }
.home-product-carousel-next{ right:-14px; }
.home-product-carousel-arrow[hidden],
.home-product-carousel-arrow:disabled{ display:none !important; }

@media (width >= 576px){
	.home-product-carousel-track > *{ flex-basis:calc((100% - 10px) / 2); }
}
@media (width >= 768px){
	.home-product-carousel-track > *{ flex-basis:calc((100% - 20px) / 3); }
}
@media (width >= 992px){
	.home-product-carousel-track > *{ flex-basis:calc((100% - 30px) / 4); }
}
@media (width >= 1200px){
	.home-product-carousel-track > *{ flex-basis:calc((100% - 50px) / 6); }
}

/* El precio del Buscador tiene menor jerarquía que el título de la tarjeta. */
.search-product-price{ font-size:14px; }
@media (width < 576px){
	.search-product-price{ font-size:13.5px; }
}

/* La cantidad de columnas del buscador es fija desde 576 px.
 * Debajo de ese corte, la presentación configurada decide el diseño. */
.search-product-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (width >= 576px) and (width < 768px){
	.search-product-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (width < 576px){
	.search-product-grid{ grid-template-columns:1fr; }
	.search-product-grid.is-reduced{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
	.search-product-grid.is-reduced .search-product-photo{ height:140px; padding:6px; }
	.search-product-grid.is-reduced .search-product-info{ min-width:0; padding:7px 7px 8px; }
	.search-product-grid.is-reduced .search-product-shop{ margin-bottom:3px; font-size:9px; }
	.search-product-grid.is-reduced .search-product-title{ min-height:30px; font-size:10.75px; font-weight:500; line-height:1.35; }
	.search-product-grid.is-reduced .search-product-meta{ margin-top:4px; font-size:9px; line-height:1.35; }
	.search-product-grid.is-reduced .search-product-price-row{ flex-wrap:wrap; gap:4px; margin-top:5px; }
	.search-product-grid.is-reduced .search-product-price{ font-size:12px; font-weight:500; }
	.search-product-grid.is-reduced .search-product-actions{ gap:4px; margin-left:0; }
	.search-product-grid.is-reduced .search-product-action{ width:24px; height:24px; font-size:12px; }
	.search-product-grid.is-reduced .search-product-installments{ font-size:9px; }
	.search-product-grid.is-reduced .search-card-badges{ top:5px; left:5px; gap:2px; }
	.search-product-grid.is-reduced .product-badge{ min-height:15px; padding:2px 3px; font-size:6.5px; letter-spacing:.02em; }
}
@media (width >= 576px) and (width < 768px){
	.search-product-grid.is-compact{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
}
@media (width >= 768px){
	.search-product-grid.is-compact{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
}

/* En resultados compactos los badges se limitan al área de foto para que
 * NOVEDAD no tape la columna de datos en teléfonos. */
@media (width < 576px){
	.search-product-grid.is-compact .search-card-badges{
		top:0;
		left:0;
		width:108px;
		height:108px;
		pointer-events:none;
	}
	.search-product-grid.is-compact .search-card-badges .product-badge-red{
		position:absolute;
		top:5px;
		left:5px;
	}
	.search-product-grid.is-compact .search-card-badges .product-badge-new{
		position:absolute;
		left:5px;
		bottom:5px;
	}
}

/* =====================================================================
   JERARQUIA DE CATEGORIA Y ATRIBUTOS PLEGABLES DEL BUSCADOR
   ===================================================================== */
.product-filter-form .finder-field-category.is-priority{
	padding:11px 10px 12px;
	border:1px solid #d8dfd6;
	background:#f8faf7;
}
.product-filter-form .finder-field-category.is-priority > label{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:8px;
}
.finder-priority-badge{
	padding:2px 5px;
	background:#e9efe4;
	color:#526843;
	font-size:8px;
	font-weight:800;
	letter-spacing:.08em;
}
.finder-category-hint{
	display:flex;
	align-items:flex-start;
	gap:5px;
	margin:-2px 0 7px;
	color:#737c76;
	font-size:9.75px;
	font-weight:500;
	line-height:1.35;
}
.finder-field-category.is-inferred{
	border-color:#b9c8ae;
	background:#f4f8f1;
}
.finder-field-category.is-inferred .finder-category-hint{ color:#526843; }

.finder-attribute-field{
	margin:0;
	padding:0;
	border-top:1px solid #e1e5e2;
}
.finder-attribute-field:last-child{ border-bottom:1px solid #e1e5e2; }
.attribute-collapse-trigger{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	width:100%;
	min-height:43px;
	padding:9px 2px;
	border:0;
	background:transparent;
	color:#35403a;
	font:inherit;
	text-align:left;
	cursor:pointer;
}
.attribute-collapse-trigger:hover,
.attribute-collapse-trigger:focus-visible{ color:var(--acento-hover); outline:0; }
.attribute-collapse-title,
.finder-category-children-title{
	display:flex;
	align-items:baseline;
	gap:7px;
	min-width:0;
	font-size:12px;
	font-weight:760;
	line-height:1.2;
}
.attribute-collapse-title small{
	color:#7f8882;
	font-size:9px;
	font-weight:550;
	white-space:nowrap;
}
.attribute-collapse-trigger > i{
	flex:0 0 auto;
	font-size:13px;
	color:#69736d;
}
.attribute-collapse-body{ padding:2px 0 10px; }
.attribute-collapse-body[hidden]{ display:none !important; }
.finder-attribute-field.has-selection .attribute-collapse-trigger{ color:var(--acento-hover); }

/* Checkbox y Lista con checkbox dejan de vivir dentro de una caja gris. El
 * propio encabezado plegable aporta la separación visual necesaria. */
.finder-attribute-field .attribute-options{
	padding:0 2px 2px 0;
	border:0;
	background:transparent;
}
.finder-attribute-field .attribute-options-static{
	padding:0;
	border:0;
	background:transparent;
}
.finder-attribute-field .attribute-options-searchable{
	padding-right:3px;
	border-top:0;
	scrollbar-width:auto;
	scrollbar-color:#89938c #edf0ed;
}
.finder-attribute-field .attribute-options-searchable::-webkit-scrollbar{ width:11px; }
.finder-attribute-field .attribute-options-searchable::-webkit-scrollbar-track{ background:#edf0ed; }
.finder-attribute-field .attribute-options-searchable::-webkit-scrollbar-thumb{
	background:#89938c;
	border:2px solid #edf0ed;
}
.finder-attribute-field .attribute-options-searchable::-webkit-scrollbar-thumb:hover{ background:#6f7972; }

@media (width < 992px){
	.attribute-collapse-trigger{ min-height:46px; padding-block:10px; }
	.attribute-collapse-title{ font-size:12.5px; }
}

/* Navegación móvil clara tanto con mouse como con teclado. */
.mobile-root,
.mobile-sub > button{
	cursor:pointer;
	transition:background-color .14s ease,color .14s ease;
}
.mobile-root:hover,
.mobile-root:focus-visible,
.mobile-sub > button:hover,
.mobile-sub > button:focus-visible{
	background:#eef3f5;
	color:var(--color-identidad-global);
	outline:0;
}
.mobile-client-link{
	cursor:pointer;
	transition:background-color .14s ease,color .14s ease;
}
.mobile-client-link:hover,
.mobile-client-link:focus-visible{
	background:#eef3f5;
	color:var(--color-identidad-global);
	outline:0;
}

/* Variantes de presentación para la bienvenida de nuevos
 * auspiciantes. `clasico` conserva la pieza histórica; `claro` y `editorial`
 * comparten los mismos datos, con composiciones visuales propias. */
.home-welcome-format-claro{
	grid-template-columns:minmax(220px,285px) minmax(0,1fr);
	min-height:194px;
	border:1px solid #bdc9b5;
	border-left:7px solid #b18a42;
	background:linear-gradient(112deg,#dce6d2 0%,#eef2e9 76%);
	box-shadow:0 12px 28px rgba(33,48,38,.12);
	color:var(--texto);
}
.home-welcome-format-claro .home-welcome-brand{
	min-height:190px;
	padding:30px;
	border-right:1px solid #c7d1c1;
	background:#f8f6ef;
}
.home-welcome-format-claro .home-welcome-copy{
	padding:29px 38px 31px;
}
.home-welcome-format-claro .home-welcome-kicker,
.home-welcome-format-editorial .home-welcome-kicker{
	display:flex;
	align-items:center;
	gap:10px;
	margin-bottom:8px;
}
.home-welcome-format-claro .home-welcome-kicker{
	display:inline-flex;
	width:auto;
	padding:6px 10px;
	background:#405d38;
	color:#fff;
}
.home-welcome-format-claro .home-welcome-kicker::before,
.home-welcome-format-editorial .home-welcome-kicker::before{
	content:"";
	flex:0 0 28px;
	height:2px;
	background:currentColor;
}
.home-welcome-format-claro .home-welcome-kicker::before{
	background:#d7b66f;
}
.home-welcome-format-claro .home-welcome-copy h2{
	font-size:clamp(27px,2.5vw,34px);
	color:#223127;
}
.home-welcome-format-claro .home-welcome-copy p{
	max-width:780px;
	margin-top:11px;
	color:#4d5b52;
}
.home-welcome-format-claro .home-welcome-link{
	margin-top:17px;
	padding:9px 14px;
	border:1px solid #314b37;
	background:#314b37;
	color:#fff;
}
.home-welcome-format-claro .home-welcome-link i,
.home-welcome-format-editorial .home-welcome-link i{
	transition:transform .16s ease;
}
.home-welcome-format-claro .home-welcome-link:hover{
	border-color:#24382a;
	background:#24382a;
	color:#fff;
}
.home-welcome-format-claro .home-welcome-link:hover i,
.home-welcome-format-editorial .home-welcome-link:hover i{
	transform:translateX(3px);
}

.home-welcome-format-editorial{
	grid-template-columns:minmax(0,1fr) minmax(230px,300px);
	min-height:214px;
	border:0;
	border-left:5px solid #c6a25a;
	background:linear-gradient(110deg,#1e2b25 0%,#2b4033 100%);
	box-shadow:0 12px 30px rgba(19,28,23,.18);
	color:#fff;
}
.home-welcome-format-editorial .home-welcome-copy{
	order:1;
	padding:34px 42px 36px;
}
.home-welcome-format-editorial .home-welcome-brand{
	order:2;
	min-height:214px;
	padding:31px;
	border:0;
	border-left:1px solid rgba(255,255,255,.16);
	background:#f4f1e9;
}
.home-welcome-format-editorial .home-welcome-kicker{ color:#e2c27d; }
.home-welcome-format-editorial .home-welcome-copy h2{
	max-width:760px;
	font-family:"Manrope","Inter",sans-serif;
	font-size:clamp(28px,2.65vw,37px);
	line-height:1.1;
	font-weight:800;
	letter-spacing:-.032em;
	color:#fff;
}
.home-welcome-format-editorial .home-welcome-copy p{
	max-width:760px;
	margin-top:11px;
	color:#dce4df;
}
.home-welcome-format-editorial .home-welcome-link{
	margin-top:17px;
	padding:9px 14px;
	border:1px solid rgba(255,255,255,.62);
	color:#fff;
}
.home-welcome-format-editorial .home-welcome-link:hover{
	border-color:#fff;
	background:#fff;
	color:#24352b;
}
@media (width < 992px){
	.home-welcome-format-claro,
	.home-welcome-format-editorial{
		grid-template-columns:1fr;
	}
	.home-welcome-format-claro .home-welcome-brand{
		min-height:126px;
		border-right:0;
		border-bottom:1px solid #c7d1c1;
	}
	.home-welcome-format-claro .home-welcome-copy{
		padding:24px 25px 27px;
	}
	.home-welcome-format-editorial .home-welcome-brand{
		order:1;
		min-height:126px;
		border-left:0;
		border-bottom:1px solid rgba(39,55,46,.16);
	}
	.home-welcome-format-editorial .home-welcome-copy{
		order:2;
		padding:25px 27px 29px;
	}
}
@media (width < 576px){
	.home-welcome-format-claro .home-welcome-brand,
	.home-welcome-format-editorial .home-welcome-brand{
		min-height:112px;
		padding:20px;
	}
	.home-welcome-format-claro .home-welcome-copy,
	.home-welcome-format-editorial .home-welcome-copy{
		padding:21px 19px 24px;
	}
	.home-welcome-format-claro .home-welcome-copy h2,
	.home-welcome-format-editorial .home-welcome-copy h2{
		font-size:24px;
	}
	.home-welcome-format-claro .home-welcome-kicker::before,
	.home-welcome-format-editorial .home-welcome-kicker::before{
		flex-basis:20px;
	}
}

/* Buscador de Notas: controles con el mismo peso visual que el resto del sitio. */
.notes-field input,
.notes-field select,
.notes-author-picker > .notes-input-icon input,
.notes-author-picker .search-picker-options button{
	font-weight:400;
}
.notes-field input::placeholder,
.notes-author-picker input::placeholder{
	font-weight:400;
	opacity:1;
}
.notes-author-picker > .notes-input-icon input{
	padding-left:44px;
}

/* La variante editorial no reserva una segunda columna cuando no hay logo. */
.home-welcome-format-editorial.no-image{
	grid-template-columns:1fr;
}

/* Cierre explícito del menú de categorías del auspiciante. Es una
 * acción secundaria deliberadamente más compacta que la X del mega menú. */
.sponsor-catalog-close{
	position:absolute;
	top:8px;
	right:34px;
	z-index:4;
	width:24px;
	height:24px;
	display:grid;
	place-items:center;
	padding:0;
	border:1px solid #d9dfda;
	background:#fff;
	color:#727c75;
	font-size:11px;
	line-height:1;
	cursor:pointer;
	transition:background .14s ease,color .14s ease,border-color .14s ease;
}
.sponsor-catalog-close:hover,
.sponsor-catalog-close:focus-visible{
	background:#f2f5f2;
	border-color:#bcc6bd;
	color:#344039;
	outline:0;
}
.sponsor-catalog-popover .sponsor-catalog-layout{ padding-top:0; }
.sponsor-catalog-popover .sponsor-catalog-panels{ padding-top:12px; }
@media (width < 992px){
	.sponsor-catalog-nav.is-open .sponsor-catalog-trigger-chevron{ visibility:hidden; }
	.sponsor-catalog-close{
		top:10px;
		right:14px;
		border-radius:50%;
	}
	.sponsor-catalog-popover .sponsor-catalog-rail{ padding-top:0; }
	.sponsor-catalog-popover .sponsor-catalog-panels{ padding-top:0; }
}

/* Navegación contextual de categorías en el Buscador General.
 * Cuando todavía no hay una hoja elegida, se muestran únicamente las raíces
 * o los hijos inmediatos de la rama actual. Mantiene el filtro compacto y
 * evita desplegar toda la taxonomía de una sola vez. */
.product-filter-form .finder-category-children{
	width:100%;
	margin:0;
	padding:2px 0 5px;
}
.finder-category-children-title{
	margin-bottom:5px;
	color:#35403a;
}
.finder-category-children-list{
	display:flex;
	flex-direction:column;
}
.finder-category-children-list > a{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	min-height:34px;
	padding:7px 2px;
	border:0;
	color:#465049;
	font-size:11.5px;
	font-weight:500;
	text-decoration:none;
}
.finder-category-children-list > a i{
	flex:0 0 auto;
	color:#9aa19d;
	font-size:10px;
}
.finder-category-children-list > a:hover,
.finder-category-children-list > a:focus-visible{
	color:var(--acento-hover);
	outline:0;
}
.finder-category-children-list > a:hover i,
.finder-category-children-list > a:focus-visible i{ color:var(--acento); }

/* Misma tipografía para encabezados técnicos y Subcategorías. */
.attribute-collapse-title,
.finder-category-children-title{ font-size:13px; }

/* La opción integrada sólo afecta a Desktop; en móvil se conserva el panel del drawer. */
@media (width >= 900px){
	body.search-filters-integrated .search-sidebar{ background:transparent; border:0; box-shadow:none; }
	body.search-filters-integrated .search-sidebar .product-filter-form{ padding:0; }
}

/* En la Home, sólo en celular se ocultan enlaces a las categorías de las grillas. */
@media (width < 576px){
	.home-grid-category-links{ display:none !important; }
}
