.szm-map{
	--szm-primary:var(--ast-global-color-0,#d9b933);
	--szm-secondary:var(--ast-global-color-1,#be9a60);
	--szm-label-font-size:24px;
	width:100%;
	max-width:1000px;
	margin-inline:auto;
	font-family:inherit
}
.szm-heading{text-align:center;text-transform:uppercase;font-size:18px;font-weight:700;letter-spacing:.04em;margin:0 0 14px;color:var(--szm-secondary)}
.szm-canvas svg{display:block;width:100%;height:auto;overflow:visible}
.szm-map.szm-recolor .szm-svg>path,
.szm-map.szm-recolor .szm-svg>polygon,
.szm-map.szm-recolor .szm-svg>g:not(.szm-markers) path,
.szm-map.szm-recolor .szm-svg>g:not(.szm-markers) polygon{fill:var(--szm-map-fill)!important;stroke:var(--szm-map-stroke)!important}
.szm-point{cursor:pointer}
.szm-point-halo{fill:var(--szm-primary);opacity:.22;transform-box:fill-box;transform-origin:center;animation:szmPulse 2s infinite}
.szm-point-core{fill:var(--szm-primary);stroke:#fff;stroke-width:4;vector-effect:non-scaling-stroke;transition:.2s;transform-box:fill-box;transform-origin:center}
.szm-label-bg{fill:rgba(255,255,255,.96);stroke:var(--szm-secondary);stroke-opacity:.35;stroke-width:1;vector-effect:non-scaling-stroke;transition:.2s}
.szm-label-text{fill:#444;font-size:var(--szm-label-font-size);font-weight:600;dominant-baseline:middle;pointer-events:none;transition:.2s}
.szm-link:hover .szm-point-core,.szm-link:focus .szm-point-core{fill:var(--szm-secondary);transform:scale(1.25)}
.szm-link:hover .szm-label-bg,.szm-link:focus .szm-label-bg{fill:#171717;stroke:#171717}
.szm-link:hover .szm-label-text,.szm-link:focus .szm-label-text{fill:#fff}
.szm-link:focus{outline:none}
@keyframes szmPulse{0%{transform:scale(.75);opacity:.55}70%,100%{transform:scale(1.6);opacity:0}}
@media(max-width:767px){.szm-heading{font-size:14px}.szm-label-text{font-size:calc(var(--szm-label-font-size) * 1.08)}}
@media(prefers-reduced-motion:reduce){.szm-point-halo{animation:none}.szm-point-core,.szm-label-bg,.szm-label-text{transition:none}}

/* Zonas destacadas para footer: 4 + 4 en escritorio */
.szm-zone-links{
	--szm-zone-columns:4;
	width:100%;
	font-family:inherit
}
.szm-zone-links__heading{
	margin:0 0 18px;
	color:inherit;
	font-size:16px;
	font-weight:700;
	line-height:1.25;
	text-transform:uppercase;
	letter-spacing:.02em
}
.szm-zone-links__grid{
	display:grid;
	grid-template-columns:repeat(var(--szm-zone-columns),minmax(0,1fr));
	gap:14px 28px;
	list-style:none;
	margin:0;
	padding:0
}
.szm-zone-links__item{margin:0;padding:0;min-width:0}
.szm-zone-links__link{
	display:inline-block;
	color:inherit;
	font-size:16px;
	line-height:1.35;
	text-decoration:none;
	transition:opacity .2s ease,color .2s ease
}
.szm-zone-links__link:hover,
.szm-zone-links__link:focus{
	color:var(--ast-global-color-0,#d9b933);
	text-decoration:underline;
	text-underline-offset:3px
}
.szm-zone-links__link:focus-visible{
	outline:2px solid currentColor;
	outline-offset:3px
}
@media(max-width:767px){
	.szm-zone-links__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px}
}
@media(max-width:420px){
	.szm-zone-links__grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:10px 16px
	}
}
@media(prefers-reduced-motion:reduce){
	.szm-zone-links__link{transition:none}
}

/* Mega menú de zonas: localidades + mapa SVG */
.szm-mega-menu{
	--szm-mega-columns:4;
	--szm-mega-rows:6;
	width:100%;
	font-family:inherit;
	color:#171717
}
.szm-mega-menu__inner{
	display:grid;
	grid-template-columns:minmax(0,1.65fr) minmax(270px,.78fr);
	gap:34px;
	align-items:center
}
.szm-mega-menu__heading{
	margin:0 0 18px;
	font-size:13px;
	line-height:1.2;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--ast-global-color-0,#d9b933)
}
.szm-mega-menu__grid{
	display:grid;
	grid-template-columns:repeat(var(--szm-mega-columns),minmax(0,1fr));
	grid-template-rows:repeat(var(--szm-mega-rows),auto);
	grid-auto-flow:column;
	gap:5px 22px;
	list-style:none;
	margin:0;
	padding:0
}
.szm-mega-menu__item{margin:0;padding:0;min-width:0}
.szm-mega-menu__link{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:8px;
	min-height:38px;
	padding:7px 8px;
	border-radius:6px;
	color:#262626;
	font-size:14px;
	font-weight:600;
	line-height:1.25;
	text-decoration:none;
	transition:background-color .16s ease,color .16s ease,transform .16s ease
}
.szm-mega-menu__arrow{
	opacity:0;
	transform:translateX(-4px);
	transition:opacity .16s ease,transform .16s ease
}
.szm-mega-menu__link:hover,
.szm-mega-menu__link:focus-visible{
	background:#f7f5ef;
	color:#111;
	text-decoration:none;
	transform:translateX(2px)
}
.szm-mega-menu__link:hover .szm-mega-menu__arrow,
.szm-mega-menu__link:focus-visible .szm-mega-menu__arrow{
	opacity:1;
	transform:translateX(0)
}
.szm-mega-menu__link:focus-visible{
	outline:2px solid var(--ast-global-color-0,#d9b933);
	outline-offset:1px
}
.szm-mega-menu__all{
	display:inline-flex;
	align-items:center;
	gap:7px;
	margin-top:18px;
	color:#171717;
	font-size:14px;
	font-weight:800;
	text-decoration:none;
	border-bottom:2px solid var(--ast-global-color-0,#d9b933);
	padding-bottom:3px
}
.szm-mega-menu__all:hover,
.szm-mega-menu__all:focus-visible{color:var(--ast-global-color-0,#d9b933)}
.szm-mega-menu__map{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:230px;
	padding:18px;
	border-radius:12px;
	background:#f7f5ef
}
.szm-mega-menu__map .szm-map{max-width:390px;margin:0}
.szm-mega-menu__map .szm-canvas svg{max-height:260px}
.szm-mega-menu__map .szm-point-halo{animation:none;opacity:.16}
.szm-mega-menu__map .szm-point-core{stroke-width:3}

/* Integración automática en un elemento de menú con clase szm-zone-mega */
.szm-zone-mega{position:relative!important}
.szm-zone-mega>.sub-menu{display:none!important}
.szm-zone-mega>.szm-mega-flyout{
	position:absolute;
	z-index:99999;
	top:100%;
	left:50%;
	width:min(1180px,calc(100vw - 32px));
	padding-top:12px;
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transform:translateX(-50%) translateY(6px);
	transition:opacity .16s ease,visibility .16s ease,transform .16s ease
}
.szm-zone-mega>.szm-mega-flyout>.szm-mega-menu{
	padding:28px 30px;
	background:#fff;
	border:1px solid rgba(0,0,0,.08);
	border-top:3px solid var(--ast-global-color-0,#d9b933);
	border-radius:0 0 12px 12px;
	box-shadow:0 22px 55px rgba(0,0,0,.17)
}
.szm-zone-mega:hover>.szm-mega-flyout,
.szm-zone-mega:focus-within>.szm-mega-flyout,
.szm-zone-mega.is-szm-mega-open>.szm-mega-flyout{
	opacity:1;
	visibility:visible;
	pointer-events:auto;
	transform:translateX(-50%) translateY(0)
}

/* Menú móvil: la clase se añade al elemento Zonas del menú móvil. */
@media(max-width:1024px){
	.szm-zone-mega>.szm-mega-flyout{display:none!important}
	.szm-zone-mobile-scroll>ul,
	.szm-zone-mobile-scroll>.sub-menu,
	.szm-zone-mobile-scroll>.elementskit-dropdown,
	.szm-zone-mobile-scroll>.elementskit-submenu-panel{
		display:grid!important;
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
		column-gap:6px!important;
		row-gap:0!important;
		max-height:calc(100dvh - 190px)!important;
		overflow-y:auto!important;
		overflow-x:hidden!important;
		overscroll-behavior:contain;
		-webkit-overflow-scrolling:touch;
		padding-top:6px!important;
		padding-bottom:8px!important
	}
	.szm-zone-mobile-scroll>ul>li,
	.szm-zone-mobile-scroll>.sub-menu>li,
	.szm-zone-mobile-scroll>.elementskit-dropdown>li,
	.szm-zone-mobile-scroll>.elementskit-submenu-panel>li{
		width:auto!important;
		min-width:0!important;
		margin:0!important
	}
	.szm-zone-mobile-scroll>ul>li>a,
	.szm-zone-mobile-scroll>.sub-menu>li>a,
	.szm-zone-mobile-scroll>.elementskit-dropdown>li>a,
	.szm-zone-mobile-scroll>.elementskit-submenu-panel>li>a{
		display:block!important;
		width:100%!important;
		min-width:0!important;
		padding:9px 12px!important;
		white-space:normal!important;
		line-height:1.25!important
	}
	.szm-zone-mobile-scroll>ul::-webkit-scrollbar,
	.szm-zone-mobile-scroll>.sub-menu::-webkit-scrollbar,
	.szm-zone-mobile-scroll>.elementskit-dropdown::-webkit-scrollbar,
	.szm-zone-mobile-scroll>.elementskit-submenu-panel::-webkit-scrollbar{width:5px}
	.szm-zone-mobile-scroll>ul::-webkit-scrollbar-thumb,
	.szm-zone-mobile-scroll>.sub-menu::-webkit-scrollbar-thumb,
	.szm-zone-mobile-scroll>.elementskit-dropdown::-webkit-scrollbar-thumb,
	.szm-zone-mobile-scroll>.elementskit-submenu-panel::-webkit-scrollbar-thumb{
		background:rgba(0,0,0,.22);
		border-radius:10px
	}

	@media(min-width:700px){
		.szm-zone-mobile-scroll>ul,
	.szm-zone-mobile-scroll>.sub-menu,
	.szm-zone-mobile-scroll>.elementskit-dropdown,
	.szm-zone-mobile-scroll>.elementskit-submenu-panel{
			grid-template-columns:repeat(3,minmax(0,1fr))!important
		}
	}

	.szm-mega-menu__inner{grid-template-columns:1fr}
	.szm-mega-menu__map{display:none}
	.szm-mega-menu__grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
		grid-template-rows:none;
		grid-auto-flow:row;
		gap:4px 14px
	}
}
@media(max-width:480px){
	.szm-mega-menu__grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
	.szm-zone-mega>.szm-mega-flyout,
	.szm-mega-menu__link,
	.szm-mega-menu__arrow{transition:none}
}

/* TecnoAzar · enlaces de zonas en footer */
a.szm-zone-links__link{
	font-size:14px !important;
	color:#999999 !important;
}
