/* # DEVMC - 2026.10.20 - feature #puna-interactive-coverage-map# "Styles of the interactive NOA coverage map." */
/* # DEVMC - 2026.10.23 - fix #puna-no-own-vue# "Moved verbatim out of the <style> block of components/coverage-map.blade.php (BLUEPRINT forbids <style> in theme views, BlueprintConformanceNoInlineStyleTest); linked from layouts/htmlheader like motion.css." */
.pn-coverage-map {
    position: relative;
    width: 100%;
    isolation: isolate;
    padding: 16px 20px 18px;
    border: 1px solid rgba(15, 76, 92, 0.09);
    border-radius: 28px;
    background: linear-gradient(153deg, #ffffff 9%, #f0f7f7 100%);
    box-shadow: 0 22px 62px rgba(10, 46, 58, 0.07);
    overflow: hidden;
}
.pn-coverage-map::before {
    content: "";
    position: absolute;
    inset: 7% 4% 15%;
    z-index: -1;
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(61, 220, 151, 0.11), transparent 68%);
    pointer-events: none;
}
.pn-coverage-map__eyebrow {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 2px;
    color: var(--color-brand-primary);
    font: 700 12px/1.4 "Barlow", sans-serif;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.pn-coverage-map__eyebrow::before {
    content: "";
    width: 7px;
    height: 7px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--color-brand-secondary);
    box-shadow: 0 0 0 4px rgba(61, 220, 151, .15);
}
.pn-coverage-map__svg {
    display: block;
    width: 100%;
    max-width: 425px;
    height: auto;
    max-height: 510px;
    margin: 0 auto;
    overflow: visible;
}
.pn-coverage-map__region {
    transform-box: fill-box;
    transform-origin: center;
    transition: transform 260ms cubic-bezier(.2,.85,.2,1), filter 260ms ease;
    cursor: pointer;
}
.pn-coverage-map__region.is-active {
    transform: translateY(-10px) scale(1.018);
    filter: drop-shadow(0 12px 7px rgba(10, 46, 58, .25));
}
.pn-coverage-map__shape {
    stroke: #0b2f45;
    stroke-width: 3.4;
    stroke-linejoin: round;
    paint-order: stroke fill;
    outline: none;
}
.pn-coverage-map__shape:focus-visible {
    stroke: #16825a;
    stroke-width: 7;
    outline: none;
}
.pn-coverage-map__region--jujuy .pn-coverage-map__shape { fill: #ffcf9f; }
.pn-coverage-map__region--salta .pn-coverage-map__shape { fill: #bfe9c6; }
.pn-coverage-map__region--tucuman .pn-coverage-map__shape { fill: #ffb5be; }
.pn-coverage-map__region--catamarca .pn-coverage-map__shape { fill: #d7c4fa; }
.pn-coverage-map__name {
    font: 700 37px/1 "Barlow Condensed", sans-serif;
    fill: #0b2f45;
    text-anchor: middle;
    pointer-events: none;
    user-select: none;
}
.pn-coverage-map__name--tucuman { font-size: 30px; }
.pn-coverage-map__footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    margin-top: -3px;
    text-align: center;
}
.pn-coverage-map__selection {
    min-height: 21px;
    margin: 0;
    color: var(--color-puna-muted);
    font: 500 13px/1.5 "Barlow", sans-serif;
}
.pn-coverage-map__selection strong {
    color: var(--color-brand-primary);
    font-weight: 700;
}
.pn-coverage-map__tagline {
    margin: 0;
    color: var(--color-puna-ink);
    font: 600 clamp(31px, 3vw, 41px)/1.2 "Caveat", cursive;
    transform: rotate(-3deg);
}
@media (max-width: 639px) {
    .pn-coverage-map { padding: 14px 14px 19px; border-radius: 22px; }
    .pn-coverage-map__svg { max-height: 450px; }
}
@media (prefers-reduced-motion: reduce) {
    .pn-coverage-map__region { transition: none; }
}
