/* Svenskhet.se Pass 25.4 — exact national map + readable network footer */

/* -------------------------------------------------------------------------
   /karta: one official coordinate frame for counties, islands and markers.
   ------------------------------------------------------------------------- */
.page-map .map-stage__projection {
    position:absolute !important;
    z-index:2;
    top:8% !important;
    left:50% !important;
    width:auto !important;
    height:84% !important;
    aspect-ratio:var(--map-view-w) / var(--map-view-h) !important;
    transform:translateX(-50%) !important;
    pointer-events:none;
    isolation:isolate;
}

.page-map .map-stage__projection::before,
.page-map .map-stage__projection::after {
    display:none !important;
}

.page-map .map-stage__land {
    position:absolute !important;
    z-index:1;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    overflow:visible;
    fill:none !important;
    stroke:none !important;
    filter:drop-shadow(0 28px 48px rgba(0,18,38,.32));
    pointer-events:none;
}

.page-map .map-stage__county {
    fill:rgba(255,253,247,.96);
    fill-rule:evenodd;
    stroke:rgba(0,82,147,.42);
    stroke-width:1.15;
    stroke-linejoin:round;
    vector-effect:non-scaling-stroke;
}

.page-map .map-stage__county:nth-child(3n+2) { fill:rgba(246,249,252,.97); }
.page-map .map-stage__county:nth-child(3n+3) { fill:rgba(255,248,219,.96); }

.page-map .map-stage__projection .map-marker {
    z-index:5;
    left:var(--x) !important;
    top:var(--y) !important;
    pointer-events:auto;
}

.page-map .map-stage__projection .map-marker > span:first-child {
    width:7px;
    height:7px;
    border:1.5px solid #fff;
    background:var(--swe-coral-500);
    box-shadow:0 0 0 2px rgba(254,203,0,.28),0 5px 15px rgba(0,20,40,.38);
}

.page-map .map-stage--dense .map-stage__projection .map-marker > span:first-child {
    width:5px;
    height:5px;
    border-width:1px;
    box-shadow:0 0 0 1.5px rgba(254,203,0,.32),0 4px 12px rgba(0,20,40,.32);
    opacity:.88;
}

.page-map .map-stage__projection .map-marker:hover > span:first-child,
.page-map .map-stage__projection .map-marker:focus-visible > span:first-child,
.page-map .map-stage__projection .map-marker.is-active > span:first-child {
    background:var(--swe-yellow-500);
    transform:scale(2.25);
    box-shadow:0 0 0 3px #fff,0 0 0 8px rgba(0,82,147,.28),0 12px 30px rgba(0,20,40,.48);
}

.page-map .map-stage__chrome { z-index:8; }
.page-map .map-stage__legend { z-index:8; }

/* -------------------------------------------------------------------------
   Independent network: complete names, real card width, balanced rows.
   ------------------------------------------------------------------------- */
.site-network__grid {
    grid-template-columns:repeat(12,minmax(0,1fr)) !important;
    gap:16px !important;
}

.site-network-card--priority {
    grid-column:span 4 !important;
}

.site-network-card:not(.site-network-card--priority) {
    grid-column:span 3;
    min-height:142px;
    grid-template-columns:54px minmax(0,1fr) 26px;
    gap:15px;
    padding:20px;
}

.site-network-card:nth-child(8) { grid-column:2 / span 3; }
.site-network-card:nth-child(9) { grid-column:5 / span 3; }
.site-network-card:nth-child(10) { grid-column:8 / span 3; }

.site-network-card__copy strong,
.site-network-card__copy > span,
.site-network-card__copy small {
    overflow:visible;
    max-width:none;
    white-space:normal;
    text-overflow:clip;
}

.site-network-card__copy strong {
    font-size:clamp(17px,1.2vw,22px);
    line-height:1.08;
}

.site-network-card__copy > span {
    overflow-wrap:anywhere;
    line-height:1.35;
}

.site-network-card__copy small {
    display:-webkit-box;
    margin-top:8px;
    line-height:1.45;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    line-clamp:2;
    overflow:hidden;
}

.site-network-card:not(.site-network-card--priority) .site-network-card__mark {
    width:54px;
    height:54px;
    border-radius:17px;
    font-size:15px;
}

@media (max-width:1200px) {
    .site-network__grid { grid-template-columns:repeat(6,minmax(0,1fr)) !important; }
    .site-network-card--priority,
    .site-network-card:not(.site-network-card--priority) { grid-column:span 2 !important; }
    .site-network-card:nth-child(10) { grid-column:3 / span 2 !important; }
    .site-network-card:nth-child(8),
    .site-network-card:nth-child(9) { grid-column:span 2 !important; }
}

@media (max-width:760px) {
    .page-map .map-stage__projection { top:9% !important; height:78% !important; }
    .site-network__grid { grid-template-columns:1fr !important; }
    .site-network-card,
    .site-network-card--priority,
    .site-network-card:not(.site-network-card--priority),
    .site-network-card:nth-child(8),
    .site-network-card:nth-child(9),
    .site-network-card:nth-child(10) { grid-column:1 !important; }
    .site-network-card:not(.site-network-card--priority) { min-height:118px; }
}
