:root {
	--shell-header-button-height: 32px;
	--shell-header-button-radius: 10px;
	--shell-header-search-submit-width: 116px;
}

html {
	background-color: var(--shell-bg);
	color-scheme: light;
}

body {
	background-color: var(--shell-bg);
	background-image: var(--shell-bg-image);
	color: var(--shell-text);
}

#frontend-root {
	min-height: 100vh;
}

@view-transition {
	navigation: auto;
}

::view-transition-old(root),
::view-transition-new(root) {
	animation-duration: 160ms;
	animation-timing-function: ease;
}

/* ===== Capa canonica del shell publico ===== */
body.page-productos.has-catalog-tools .site-header {
	margin-bottom: var(--shell-toolbar-gap) !important;
	padding-bottom: 0 !important;
}

body.page-productos.has-catalog-tools > section.container.announcement-ticker,
body.page-productos.has-catalog-tools > section.container.filter-panel.card-surface.header-tools,
body.page-productos.has-catalog-tools > main.container.site-content,
body.page-productos.has-catalog-tools > main.container.site-content > .catalog-layout,
body.page-productos.has-catalog-tools > main.container.site-content > .catalog-layout > .catalog-layout-main,
body.page-productos.has-catalog-tools > main.container.site-content > .catalog-layout > .catalog-layout-main > .catalog-results-shell {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.page-productos.has-catalog-tools .announcement-ticker.container {
	margin-bottom: var(--shell-toolbar-gap) !important;
	background: var(--shell-message-bg) !important;
	border-color: var(--shell-message-border) !important;
	box-shadow: var(--shell-message-shadow) !important;
	max-height: 178px !important;
	overflow: hidden !important;
	padding: 4px 6px !important;
	gap: 6px !important;
	grid-template-columns: 32px minmax(0, 1fr) 32px !important;
	transition:
		max-height 180ms ease,
		margin-bottom 180ms ease,
		padding 180ms ease,
		border-width 180ms ease,
		border-radius 180ms ease,
		gap 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease,
		opacity 160ms ease;
}

body.page-productos.has-catalog-tools .announcement-ticker.container .announcement-track,
body.page-productos.has-catalog-tools .announcement-ticker.container .announcement-nav-btn,
body.page-productos.has-catalog-tools .announcement-ticker.container .announcement-image-shell,
body.page-productos.has-catalog-tools .announcement-ticker.container .announcement-item,
body.page-productos.has-catalog-tools .announcement-ticker.container .announcement-text {
	transition:
		min-height 180ms ease,
		padding 180ms ease,
		font-size 180ms ease,
		border-radius 180ms ease,
		transform 180ms ease,
		opacity 180ms ease;
}

body.page-productos.has-catalog-tools .announcement-ticker.container .announcement-track {
	min-height: clamp(70px, 7.4vw, 106px) !important;
	border-radius: 12px !important;
}

body.page-productos.has-catalog-tools .announcement-ticker.container .announcement-image-shell {
	position: relative !important;
	isolation: isolate !important;
	aspect-ratio: 6.6 / 1 !important;
	border-radius: 12px !important;
	width: min(100%, 860px) !important;
}

body.page-productos.has-catalog-tools .announcement-ticker.container .announcement-image-shell::after {
	content: '' !important;
	position: absolute !important;
	inset: 0 !important;
	border-radius: inherit !important;
	pointer-events: none !important;
	background:
		linear-gradient(90deg, rgba(8, 34, 84, 0.92) 0%, rgba(8, 34, 84, 0) 12%, rgba(8, 34, 84, 0) 88%, rgba(8, 34, 84, 0.92) 100%),
		linear-gradient(180deg, rgba(8, 34, 84, 0.46) 0%, rgba(8, 34, 84, 0) 18%, rgba(8, 34, 84, 0) 82%, rgba(8, 34, 84, 0.46) 100%) !important;
}

body.page-productos.has-catalog-tools .announcement-ticker.container .announcement-image {
	-webkit-mask-image: radial-gradient(ellipse 88% 78% at 50% 50%, #000 64%, transparent 100%) !important;
	mask-image: radial-gradient(ellipse 88% 78% at 50% 50%, #000 64%, transparent 100%) !important;
}

body.page-productos.has-catalog-tools .announcement-ticker.container .announcement-nav-btn {
	width: 32px !important;
	min-width: 32px !important;
	min-height: 42px !important;
	border-radius: 12px !important;
	font-size: 1.08rem !important;
}

body.page-productos.has-catalog-tools .announcement-ticker.container .announcement-item {
	padding: 0 10px !important;
}

body.page-productos.has-catalog-tools .announcement-ticker.container .announcement-text {
	min-height: 34px !important;
	padding: 0 10px !important;
	font-size: clamp(0.8rem, 0.46vw + 0.72rem, 0.92rem) !important;
}

body.page-productos.has-catalog-tools .announcement-ticker.container.is-compact {
	max-height: 0 !important;
	margin-bottom: 0 !important;
	padding: 0 !important;
	border-width: 0 !important;
	border-radius: 0 !important;
	gap: 0 !important;
	box-shadow: none !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

body.page-productos.has-catalog-tools .announcement-ticker.container.is-compact .announcement-track {
	min-height: 0 !important;
	border-radius: 0 !important;
}

body.page-productos.has-catalog-tools .announcement-ticker.container.is-compact .announcement-nav-btn {
	min-height: 0 !important;
	width: 0 !important;
	min-width: 0 !important;
	padding: 0 !important;
	border-width: 0 !important;
	border-radius: 0 !important;
	font-size: 0 !important;
	opacity: 0 !important;
}

body.page-productos.has-catalog-tools .announcement-ticker.container.is-compact .announcement-item {
	padding: 0 !important;
	opacity: 0 !important;
	transform: translateY(-6px) !important;
}

body.page-productos.has-catalog-tools .announcement-ticker.container.is-compact .announcement-text {
	min-height: 0 !important;
	padding: 0 !important;
	font-size: 0 !important;
	line-height: 0 !important;
}

body.page-productos.has-catalog-tools .announcement-ticker.container.is-compact .announcement-item-image {
	padding: 0 !important;
}

body.page-productos.has-catalog-tools .announcement-ticker.container.is-compact .announcement-image-shell {
	width: 0 !important;
	max-width: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	aspect-ratio: auto !important;
	border-radius: 0 !important;
	opacity: 0 !important;
}

body.page-productos.has-catalog-tools .announcement-ticker.container.is-compact .announcement-image {
	object-fit: cover !important;
	height: 0 !important;
}

body.page-productos.has-catalog-tools .catalog-grid-tools,
body.page-productos.has-catalog-tools > main.container.site-content > .catalog-layout > .catalog-layout-main > .catalog-results-shell,
body:is(.page-home, .page-productos, .page-producto, .page-carrito, .page-servicios).has-catalog-tools #mainNav.main-nav {
	background: var(--shell-panel-bg) !important;
	border-color: var(--shell-panel-border) !important;
	box-shadow: var(--shell-panel-shadow) !important;
}

body.page-productos.has-catalog-tools .catalog-grid-tools {
	margin-top: 0 !important;
	margin-bottom: 6px !important;
}

body.page-productos.has-catalog-tools .catalog-results-shell .marquesina-container {
	position: relative !important;
	overflow: hidden !important;
	margin: 0 0 8px !important;
	padding: 4px 10px !important;
	border-radius: 999px !important;
	border: 1px solid rgba(146, 189, 255, 0.28) !important;
	background: linear-gradient(90deg, rgba(5, 31, 79, 0.72), rgba(16, 61, 137, 0.82), rgba(5, 31, 79, 0.72)) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

body.page-productos.has-catalog-tools .catalog-results-shell .marquesina-track {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	white-space: nowrap !important;
}

body.page-productos.has-catalog-tools .catalog-results-shell .marquesina-text {
	font-family: 'DM Sans', 'Segoe UI', sans-serif !important;
	font-size: 0.68rem !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: #dff0ff !important;
}

body.page-productos .catalog-grid-tools .catalog-toolbar-segment,
body.page-productos .catalog-grid-tools .catalog-toolbar-order,
body.page-productos .catalog-grid-tools .catalog-grid-order-form {
	color: #184281 !important;
}

body.page-productos .catalog-grid-tools .catalog-order-btn-icon,
body.page-productos .catalog-grid-tools .catalog-grid-clear-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: currentColor !important;
	flex: 0 0 auto !important;
}

body.page-productos .catalog-grid-tools .catalog-order-btn-icon {
	width: 15px !important;
	height: 15px !important;
}

body.page-productos .catalog-grid-tools .catalog-grid-clear-icon {
	width: 16px !important;
	height: 16px !important;
}

body.page-productos .catalog-grid-tools .catalog-order-btn-icon svg,
body.page-productos .catalog-grid-tools .catalog-grid-clear-icon svg {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	stroke: currentColor !important;
	fill: none !important;
	stroke-width: 2 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
	opacity: 1 !important;
	visibility: visible !important;
}

body.page-productos .catalog-grid-tools .catalog-order-btn.is-active .catalog-order-btn-icon,
body.page-productos .catalog-grid-tools .catalog-order-btn.is-active .catalog-order-btn-currency {
	color: #f7fbff !important;
}

body:is(.page-home, .page-productos, .page-producto, .page-carrito, .page-servicios).has-catalog-tools #mainNav .nav-right .nav-account-actions {
	display: flex;
	flex-direction: row;
	gap: 8px;
	align-items: center;
	flex-wrap: nowrap;
}

body:is(.page-home, .page-productos, .page-producto, .page-carrito, .page-servicios).has-catalog-tools #mainNav .nav-right .nav-account-actions .inline-form {
	width: auto;
	margin: 0;
}

body:is(.page-home, .page-productos, .page-producto, .page-carrito, .page-servicios).has-catalog-tools #mainNav .nav-right .nav-account-actions .logout-link {
	background: linear-gradient(180deg, #c83232 0%, #9a1f1f 100%) !important;
	border: 1px solid rgba(255, 181, 181, 0.95) !important;
	color: #fff6f6 !important;
}

body:is(.page-home, .page-productos, .page-producto, .page-carrito, .page-servicios).has-catalog-tools #mainNav .nav-right .nav-account-actions .logout-link:hover {
	filter: brightness(1.08) !important;
}

body .site-footer {
	padding: 10px 0 4px !important;
	--footer-font-family: 'DM Sans', 'Segoe UI', sans-serif;
	--footer-title-size: 0.74rem;
	--footer-text-size: 0.67rem;
	--footer-meta-size: 0.62rem;
	font-family: var(--footer-font-family) !important;
	letter-spacing: 0.01em !important;
}

body .site-footer,
body .site-footer h4,
body .site-footer p,
body .site-footer span,
body .site-footer a,
body .site-footer li {
	font-family: var(--footer-font-family) !important;
}

body .footer-compact-grid.container,
body .footer-compact-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr) !important;
	gap: 6px !important;
	align-items: stretch !important;
}

body .footer-compact-grid .footer-block {
	padding: 7px 8px !important;
	border-radius: 10px !important;
	background: rgba(255, 255, 255, 0.05) !important;
	border: 1px solid rgba(169, 191, 235, 0.18) !important;
}

body .footer-compact-grid .footer-block h4 {
	margin: 0 !important;
	font-size: var(--footer-title-size) !important;
	font-weight: 800 !important;
	line-height: 1.08 !important;
	letter-spacing: 0.02em !important;
}

body .footer-contact-panel {
	display: grid !important;
	gap: 6px !important;
}

body .footer-contact-head,
body .footer-map-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 8px !important;
	min-height: 0 !important;
}

body .footer-contact-copy {
	display: grid !important;
	gap: 2px !important;
}

body .footer-contact-copy p {
	margin: 0 !important;
	font-size: var(--footer-meta-size) !important;
	font-weight: 600 !important;
	line-height: 1.1 !important;
	color: rgba(216, 229, 255, 0.76) !important;
}

body .footer-hours-block {
	display: grid !important;
	gap: 3px !important;
}

body .footer-hours-title {
	margin: 0 !important;
	font-size: var(--footer-meta-size) !important;
	font-weight: 800 !important;
	line-height: 1.1 !important;
	letter-spacing: 0.02em !important;
	color: #ffffff !important;
}

body .footer-contact-list-compact {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 4px !important;
}

body .footer-contact-list-compact li,
body .footer-contact-row {
	grid-template-columns: 14px 1fr !important;
	gap: 4px !important;
	font-size: var(--footer-text-size) !important;
	font-weight: 600 !important;
	line-height: 1.16 !important;
}

body .footer-contact-list-compact .footer-icon {
	font-size: 0.78rem !important;
}

body .footer-contact-head .footer-whatsapp-btn {
	flex: 0 0 auto !important;
	min-height: 30px !important;
	padding: 6px 8px !important;
	font-size: var(--footer-text-size) !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: 0.01em !important;
	border-radius: 8px !important;
	box-shadow: none !important;
}

body .footer-map-panel {
	display: grid !important;
	grid-template-rows: auto minmax(0, 1fr) !important;
	gap: 4px !important;
}

body .footer-map-head {
	align-items: flex-start !important;
}

body .footer-map-address {
	display: grid !important;
	grid-template-columns: 14px 1fr !important;
	gap: 4px !important;
	margin: 0 !important;
	font-size: var(--footer-text-size) !important;
	font-weight: 600 !important;
	line-height: 1.14 !important;
	color: rgba(216, 229, 255, 0.86) !important;
}

body .footer-map-panel .footer-map-wrap {
	border-radius: 8px !important;
}

body .footer-map-panel .footer-map-wrap iframe {
	height: 86px !important;
}

body .footer-copy {
	margin-top: 4px !important;
	padding-top: 4px !important;
	font-size: var(--footer-meta-size) !important;
	font-weight: 600 !important;
	line-height: 1.1 !important;
}

@media (min-width: 1024px) {
	body.has-product-header-layout .site-header {
		position: sticky !important;
		top: 0 !important;
		z-index: 140 !important;
	}

	body.has-product-header-layout.has-catalog-tools #mainNav.main-nav {
		display: grid !important;
		grid-template-columns: minmax(240px, 290px) minmax(0, 1fr) !important;
		grid-template-rows: auto auto !important;
		grid-template-areas:
			'logo search'
			'logo buttons' !important;
		align-items: center !important;
		column-gap: 14px !important;
		row-gap: 8px !important;
		padding: 8px 12px !important;
		min-height: 0 !important;
		height: auto !important;
		border: 1px solid var(--shell-panel-border) !important;
		border-radius: 18px !important;
		overflow: visible !important;
	}

	body.has-product-header-layout.has-catalog-tools #mainNav.main-nav::before,
	body.has-product-header-layout.has-catalog-tools #mainNav.main-nav::after {
		display: none !important;
		content: none !important;
	}

	body.has-product-header-layout.has-catalog-tools #mainNav > .header-logo-link {
		grid-area: logo !important;
		order: 0 !important;
		width: 100% !important;
		height: 86px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
	}

	body.has-product-header-layout.has-catalog-tools #mainNav > .header-logo-link img {
		width: auto !important;
		max-width: 100% !important;
		max-height: 78px !important;
		object-fit: contain !important;
	}

	body.has-product-header-layout.has-catalog-tools #mainNav > .header-search-desktop {
		grid-area: search !important;
		order: 1 !important;
		display: block !important;
		margin: 0 !important;
		padding: 0 !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		overflow: hidden !important;
	}

	body.has-product-header-layout.has-catalog-tools #mainNav > .header-search-desktop label {
		position: static !important;
		display: block !important;
		width: auto !important;
		height: auto !important;
		padding: 0 !important;
		margin: 0 0 6px !important;
		overflow: visible !important;
		clip: auto !important;
		white-space: nowrap !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		color: #d7e8ff !important;
		font-size: 0.82rem !important;
		font-weight: 900 !important;
		letter-spacing: 0.05em !important;
		text-transform: uppercase !important;
		z-index: auto !important;
	}

	body.has-product-header-layout.has-catalog-tools #mainNav > .header-search-desktop .search-inline {
		display: flex !important;
		align-items: center !important;
		gap: 8px !important;
		width: 100% !important;
		min-width: 0 !important;
		margin-bottom: 4px !important;
		padding: 4px !important;
		border: 1px solid #123c88 !important;
		border-radius: 14px !important;
		background: linear-gradient(180deg, #f7fbff 0%, #e6efff 100%) !important;
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 8px 16px rgba(5, 28, 74, 0.16) !important;
		box-sizing: border-box !important;
	}

	body.has-product-header-layout.has-catalog-tools #mainNav > .header-search-desktop .search-inline input[type='text'],
	body.has-product-header-layout.has-catalog-tools #mainNav > .header-search-desktop .search-inline input[type='search'] {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		height: var(--shell-control-height) !important;
		min-height: var(--shell-control-height) !important;
		padding: 0 12px !important;
		font-size: 0.92rem !important;
		border-radius: var(--shell-control-radius) !important;
		background: #ffffff !important;
		border: 1px solid #123c88 !important;
		box-shadow: none !important;
	}

	body.has-product-header-layout.has-catalog-tools #mainNav > .header-search-desktop .search-inline .search-submit-btn {
		flex: 0 0 var(--shell-header-search-submit-width) !important;
		width: var(--shell-header-search-submit-width) !important;
		min-width: var(--shell-header-search-submit-width) !important;
		max-width: var(--shell-header-search-submit-width) !important;
		height: var(--shell-control-height) !important;
		min-height: var(--shell-control-height) !important;
		padding: 0 12px !important;
		font-size: 0.76rem !important;
		white-space: nowrap !important;
	}

	body.has-product-header-layout.has-catalog-tools #mainNav > .header-nav-buttons {
		grid-area: buttons !important;
		order: 2 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 0 !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 8px 0 0 !important;
		border-top: 1px solid rgba(173, 201, 247, 0.42) !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		scrollbar-width: none !important;
	}

	body.has-product-header-layout.has-catalog-tools #mainNav > .header-nav-buttons::-webkit-scrollbar {
		display: none !important;
	}

	body.has-product-header-layout.has-catalog-tools #mainNav > .header-nav-buttons .nav-group {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 0 !important;
		margin: 0 !important;
		min-width: 0 !important;
	}

	body.has-product-header-layout.has-catalog-tools #mainNav > .header-nav-buttons .nav-left {
		justify-content: flex-start !important;
	}

	body.has-product-header-layout.has-catalog-tools #mainNav > .header-nav-buttons .nav-right {
		justify-content: flex-start !important;
		margin-left: 2px !important;
		align-items: center !important;
	}

	body.has-product-header-layout.has-catalog-tools #mainNav > .header-nav-buttons .nav-group > a,
	body.has-product-header-layout.has-catalog-tools #mainNav > .header-nav-buttons .nav-group .link-btn,
	body.has-product-header-layout.has-catalog-tools #mainNav > .header-nav-buttons .cart-link,
	body.has-product-header-layout.has-catalog-tools #mainNav > .header-nav-buttons .repair-link {
		min-height: var(--shell-header-button-height) !important;
		height: var(--shell-header-button-height) !important;
		padding: 0 14px !important;
		border: 1px solid rgba(153, 201, 255, 0.62) !important;
		border-radius: var(--shell-header-button-radius) !important;
		background: linear-gradient(180deg, rgba(35, 95, 198, 0.95) 0%, rgba(24, 70, 157, 0.95) 100%) !important;
		box-shadow: 0 6px 14px rgba(6, 27, 74, 0.3), inset 0 1px 0 rgba(218, 237, 255, 0.24) !important;
		color: #f2f8ff !important;
		font-size: 0.81rem !important;
		font-weight: 800 !important;
		text-transform: uppercase !important;
		letter-spacing: 0.03em !important;
		white-space: nowrap !important;
	}

	body.has-product-header-layout.has-catalog-tools #mainNav > .header-nav-buttons .nav-group > a:hover,
	body.has-product-header-layout.has-catalog-tools #mainNav > .header-nav-buttons .nav-group .link-btn:hover,
	body.has-product-header-layout.has-catalog-tools #mainNav > .header-nav-buttons .cart-link:hover,
	body.has-product-header-layout.has-catalog-tools #mainNav > .header-nav-buttons .repair-link:hover {
		filter: brightness(1.08) !important;
		transform: translateY(-1px) !important;
		text-decoration: none !important;
	}

	body.has-product-header-layout.has-catalog-tools #mainNav > .header-nav-buttons .nav-group > a.is-active {
		background: linear-gradient(180deg, #86d5ff 0%, #56aef0 100%) !important;
		border-color: rgba(195, 236, 255, 0.95) !important;
		color: #073567 !important;
		box-shadow: 0 7px 14px rgba(9, 50, 123, 0.34) !important;
	}

	body.has-product-header-layout.has-catalog-tools #mainNav > .header-nav-buttons .cart-link {
		background: linear-gradient(180deg, #2ebcd8 0%, #1894c6 100%) !important;
		border-color: rgba(167, 241, 255, 0.95) !important;
		color: #f4fbff !important;
	}

	body.has-product-header-layout.has-catalog-tools #mainNav > .header-nav-buttons .repair-link {
		background: linear-gradient(180deg, #4fb4ff 0%, #2d8fe9 100%) !important;
		border-color: rgba(186, 224, 255, 0.94) !important;
		color: #f4fbff !important;
		text-decoration: none !important;
	}

	body.has-product-header-layout.has-catalog-tools #mainNav > .header-nav-buttons .cart-link .btn-icon,
	body.has-product-header-layout.has-catalog-tools #mainNav > .header-nav-buttons .cart-link .nav-cart-icon {
		display: none !important;
	}

	body.has-product-header-layout.has-catalog-tools #mainNav > .header-nav-buttons .cart-link .cart-pill {
		margin-left: 6px !important;
		min-width: 16px !important;
		height: 16px !important;
		font-size: 0.62rem !important;
	}

	body.page-productos.has-catalog-header-tools .filter-panel.card-surface.header-tools,
	body.page-productos.has-catalog-header-tools .filter-panel.card-surface.header-tools.container {
		display: none !important;
	}
}

@media (max-width: 1023px) {
	body.has-product-header-layout.has-catalog-tools #mainNav > .header-search-desktop {
		display: none !important;
	}

	body.has-product-header-layout.has-catalog-tools #mainNav > .header-nav-buttons {
		display: contents !important;
	}
}

@media (max-width: 860px) {
	body.page-productos.has-catalog-tools .catalog-results-shell .marquesina-container {
		margin-bottom: 6px !important;
		padding: 3px 8px !important;
	}

	body.page-productos.has-catalog-tools .catalog-results-shell .marquesina-track {
		width: 100% !important;
	}

	body.page-productos.has-catalog-tools .catalog-results-shell .marquesina-text {
		font-size: 0.61rem !important;
		letter-spacing: 0.07em !important;
	}

	body .site-footer {
		padding: 8px 0 3px !important;
	}

	body .footer-compact-grid.container,
	body .footer-compact-grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		gap: 5px !important;
	}

	body .footer-compact-grid .footer-block {
		padding: 6px 6px !important;
		border-radius: 9px !important;
	}

	body .footer-contact-head,
	body .footer-map-head {
		align-items: center !important;
		flex-direction: row !important;
		gap: 5px !important;
	}

	body .footer-contact-copy p {
		font-size: 0.6rem !important;
	}

	body .footer-hours-title {
		font-size: 0.58rem !important;
	}

	body .footer-contact-head .footer-whatsapp-btn {
		width: auto !important;
		min-width: 0 !important;
		justify-content: center !important;
		padding: 5px 7px !important;
		font-size: 0.64rem !important;
	}

	body .footer-contact-list-compact {
		gap: 4px !important;
	}

	body .footer-contact-list-compact li,
	body .footer-contact-row {
		font-size: 0.66rem !important;
		line-height: 1.12 !important;
	}

	body .footer-map-address {
		font-size: 0.62rem !important;
		line-height: 1.08 !important;
	}

	body .footer-map-panel .footer-map-wrap iframe {
		height: 74px !important;
	}

	body .footer-copy {
		margin-top: 3px !important;
		padding-top: 3px !important;
		font-size: 0.62rem !important;
	}
}

@media (max-width: 520px) {
	body .footer-compact-grid.container,
	body .footer-compact-grid {
		grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr) !important;
	}

	body .footer-compact-grid .footer-block h4 {
		font-size: 0.7rem !important;
	}

	body .footer-contact-copy p {
		font-size: 0.56rem !important;
	}

	body .footer-hours-title {
		font-size: 0.54rem !important;
	}

	body .footer-contact-list-compact li,
	body .footer-contact-row {
		font-size: 0.62rem !important;
	}

	body .footer-map-address {
		font-size: 0.58rem !important;
	}

	body .footer-contact-head .footer-whatsapp-btn {
		padding: 4px 6px !important;
		font-size: 0.6rem !important;
	}

	body .footer-map-panel .footer-map-wrap iframe {
		height: 68px !important;
	}

	body.page-productos.has-catalog-tools .site-header {
		position: static !important;
		top: auto !important;
		z-index: auto !important;
		margin-bottom: 6px !important;
	}

	body.page-productos.has-catalog-tools .site-header,
	body.page-productos.has-catalog-tools .site-header .header-banner,
	body.page-productos.has-catalog-tools .site-header .header-banner-row,
	body.page-productos.has-catalog-tools #mainNav {
		overflow: visible !important;
	}

	body.page-productos.has-catalog-tools .site-header .header-banner-row {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 4px !important;
	}

	body.page-productos.has-catalog-tools .catalog-search-sticky:not(.nav-search-mobile) {
		display: none !important;
	}

	body.page-productos.has-catalog-tools #mainNav > .catalog-search-sticky.nav-search-mobile {
		order: 3 !important;
		display: block !important;
		position: static !important;
		top: auto !important;
		z-index: auto !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 4px !important;
		border-radius: 9px !important;
		border: 1px solid rgba(133, 174, 244, 0.55) !important;
		box-shadow: 0 6px 12px rgba(8, 37, 95, 0.2) !important;
		background: radial-gradient(circle at 18% 12%, rgba(96, 165, 250, 0.18), transparent 50%), linear-gradient(180deg, #0d3f90 0%, #1c5dbe 100%) !important;
	}

	body.page-productos.has-catalog-tools #mainNav > .catalog-search-sticky.nav-search-mobile.is-fixed-mobile-search {
		position: fixed !important;
		top: 0 !important;
		z-index: 160 !important;
		margin: 0 !important;
	}

	body.page-productos.has-catalog-tools #mainNav > .catalog-search-sticky.nav-search-mobile .catalog-search-sticky-form {
		margin: 0 !important;
	}

	body.page-productos.has-catalog-tools #mainNav > .catalog-search-sticky.nav-search-mobile .search-inline.has-mobile-cart {
		grid-template-columns: minmax(0, 1fr) 32px 32px !important;
		gap: 4px !important;
	}

	body.page-productos.has-catalog-tools #mainNav > .catalog-search-sticky.nav-search-mobile input[type='text'] {
		height: var(--shell-control-height-mobile) !important;
		min-height: var(--shell-control-height-mobile) !important;
		padding: 0 9px !important;
		font-size: 0.86rem !important;
		line-height: 1.1 !important;
		border-radius: 8px !important;
	}

	body.page-productos.has-catalog-tools #mainNav > .catalog-search-sticky.nav-search-mobile .search-submit-btn,
	body.page-productos.has-catalog-tools #mainNav > .catalog-search-sticky.nav-search-mobile .search-cart-mobile {
		width: 32px !important;
		min-width: 32px !important;
		height: 32px !important;
		padding: 0 !important;
		border-radius: 8px !important;
	}

	body.page-productos.has-catalog-tools #mainNav .nav-group {
		order: 4 !important;
	}

	body.page-productos.has-catalog-tools .announcement-ticker.container.is-compact .announcement-track,
	body.page-productos.has-catalog-tools .announcement-ticker.container.is-compact .announcement-image-shell,
	body.page-productos.has-catalog-tools .announcement-ticker.container.is-compact .announcement-nav-btn {
		min-height: 0 !important;
	}

	body.page-productos.has-catalog-tools .announcement-ticker.container.is-compact .announcement-nav-btn {
		width: 0 !important;
		min-width: 0 !important;
		font-size: 0 !important;
		border-radius: 0 !important;
	}

	body.page-productos.has-catalog-tools .announcement-ticker.container.is-compact .announcement-item {
		padding: 0 !important;
	}

	body.page-productos.has-catalog-tools .announcement-ticker.container.is-compact .announcement-text {
		min-height: 0 !important;
		padding: 0 !important;
		font-size: 0 !important;
	}

	body.page-productos.has-catalog-tools .announcement-ticker.container.is-compact .announcement-image-shell {
		aspect-ratio: auto !important;
	}

	body:is(.page-home, .page-productos, .page-producto, .page-carrito, .page-servicios).has-catalog-tools #mainNav .nav-right .nav-account-actions {
		flex-wrap: wrap !important;
		width: 100% !important;
	}

	body:is(.page-home, .page-productos, .page-producto, .page-carrito, .page-servicios).has-catalog-tools #mainNav .nav-right .nav-account-actions .repair-link,
	body:is(.page-home, .page-productos, .page-producto, .page-carrito, .page-servicios).has-catalog-tools #mainNav .nav-right .nav-account-actions .logout-link {
		flex: 1 1 calc(50% - 4px);
		min-width: 0 !important;
	}
}
