.sl-am { --sl-map-active: #0e3c32; --sl-map-hover: #006362; --sl-map-inactive: #e2e2e2; width: 100%; }
.sl-am--services { --sl-map-active: #BD0F38; --sl-map-hover: #840B27; }
.sl-am [hidden] { display: none !important; }
.sl-am__canvas { position: relative; }
.sl-am__outline { display: block; width: 100%; height: auto; max-height: 420px; }
.sl-am__outline path { fill: var(--sl-map-active); }
.sl-am__svg { display: block; width: 100%; height: auto; overflow: visible; }
.sl-am__svg path { fill: var(--sl-map-inactive); stroke: #fff; stroke-width: .65; vector-effect: non-scaling-stroke; }
.sl-am__svg .sl-am__country { cursor: pointer; }
.sl-am__svg .sl-am__country path { fill: var(--sl-map-active); transition: fill .15s; }
.sl-am__svg .sl-am__country:hover path, .sl-am__svg .sl-am__country:focus path { fill: var(--sl-map-hover); }
.sl-am__svg .sl-am__country:focus-visible { outline: 2px solid var(--sl-map-hover); outline-offset: 3px; }
.sl-am__tooltip { position: absolute; z-index: 2; max-width: min(280px, 90%); padding: 9px 13px; background: #fff; color: #172b25; border: 1px solid #dedede; border-radius: 4px; box-shadow: 0 2px 5px #0002; font: 14px/1.4 sans-serif; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .sl-am__svg .sl-am__country path { transition: none; } }
.sl-am__countries { columns: 3 220px; column-gap: 2rem; margin-block: 1.5rem; }
.sl-am__countries details { break-inside: avoid; padding-block: .35rem; }
.sl-am__countries summary { cursor: pointer; }
.sl-am__languages { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; padding-left: 1.5rem; }
.sl-am__countries .sl-am__languages { display: block; }
.sl-am__languages a { text-decoration: underline; }
.sl-am[data-services-ready] .sl-am__countries { columns: auto; }
.sl-am[data-services-ready] .sl-am__countries .sl-am__languages { display: flex; }
.sl-am__popover { position: absolute; z-index: 5; box-sizing: border-box; width: 260px; max-width: calc(100% - 16px); overflow: auto; padding: 18px; border: 1px solid var(--sl-map-active); border-radius: 6px; background: #fff; color: #172b25; box-shadow: 0 4px 20px #0003; font: 16px/1.5 sans-serif; }
.sl-am__popover > strong { display: block; padding-right: 30px; margin-bottom: 10px; }
.sl-am__popover-close { position: absolute; top: 5px; right: 5px; width: 36px; height: 36px; border: 0; background: transparent; color: inherit; font: 26px/1 sans-serif; cursor: pointer; }
.sl-am__popover .sl-am__languages { display: block; margin: 0; padding: 0; list-style: none; }
.sl-am__popover .sl-am__languages a { display: block; padding: 7px 4px; color: var(--sl-map-active); }
.sl-am__popover .sl-am__languages a:hover,
.sl-am__popover .sl-am__languages a:focus-visible { color: var(--sl-map-hover); }
.sl-am--popup-open .sl-am__tooltip { display: none !important; }
.sl-am--services .sl-am__country:focus,
.sl-am--services .sl-am__country:focus-visible { outline: none !important; box-shadow: none !important; }
