/* Svenskhet.se Pass 25.3 — visual alignment, contrast, sharing and network polish */
:root {
    --swe-yellow-ink:#6d4d00;
    --swe-yellow-deep:#8a6200;
    --swe-yellow-soft:#fff3b2;
    --swe-blue-050:#f4f9fc;
    --swe-blue-100:#e4f1f8;
    --swe-blue-300:#98cdea;
    --swe-coral-500:#e6674f;
}

body[data-experience-refinement="25.3"] { --experience-signal:var(--swe-yellow-500); }

/* One coordinate system for land, islands, markers and the cartographic rings. */
.map-stage::after { display:none !important; }
.map-stage__projection {
    position:absolute;
    z-index:1;
    top:8%;
    left:50%;
    height:84%;
    aspect-ratio:330 / 670;
    transform:translateX(-50%);
    pointer-events:none;
}
.map-stage__projection::before,
.map-stage__projection::after {
    content:"";
    position:absolute;
    z-index:-1;
    pointer-events:none;
    border:1px solid rgba(254,203,0,.18);
    border-radius:50%;
}
.map-stage__projection::before { inset:12% -95%; box-shadow:0 0 0 56px rgba(99,184,230,.025); }
.map-stage__projection::after { inset:27% -52%; border-color:rgba(255,255,255,.11); }
.map-stage__land {
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    overflow:visible;
    pointer-events:none;
}
.map-stage__mainland,
.map-stage__island {
    fill:rgba(255,253,247,.97);
    stroke:var(--swe-yellow-500);
    stroke-width:2;
    vector-effect:non-scaling-stroke;
}
.map-stage__island { fill:rgba(255,243,178,.94); }
.map-stage__projection .map-marker {
    left:var(--x);
    top:var(--y);
    pointer-events:auto;
}
.map-stage__projection .map-marker > span:first-child {
    background:var(--swe-coral-500);
    box-shadow:0 0 0 2px rgba(255,255,255,.98),0 0 0 5px rgba(254,203,0,.22),0 6px 18px rgba(0,20,40,.42);
}
.map-stage--dense .map-stage__projection .map-marker > span:first-child {
    width:5px;
    height:5px;
    opacity:.82;
}
.map-stage__projection .map-marker:hover > span:first-child,
.map-stage__projection .map-marker:focus-visible > span:first-child,
.map-stage__projection .map-marker.is-active > span:first-child {
    background:var(--swe-yellow-500);
    box-shadow:0 0 0 4px rgba(255,255,255,.98),0 0 0 10px rgba(22,119,183,.24),0 14px 34px rgba(0,20,40,.52);
}

/* Yellow is a signal surface, not low-contrast body text on paper. */
.portal-contract { color:var(--swe-blue-950); }
.portal-contract p span { color:var(--swe-blue-700); }
.portal-contract li b {
    display:inline-grid;
    min-width:30px;
    min-height:30px;
    place-items:center;
    padding:4px 7px;
    color:var(--swe-blue-950) !important;
    border-radius:999px;
    background:var(--swe-yellow-500);
}
.portal-fact-band {
    color:var(--swe-blue-950) !important;
    background:
        radial-gradient(circle at 85% 10%,rgba(254,203,0,.18),transparent 20rem),
        linear-gradient(180deg,var(--swe-blue-100),var(--swe-snow)) !important;
    border-color:rgba(0,82,147,.14) !important;
}
.portal-fact-band article { border-color:rgba(0,82,147,.13) !important; }
.portal-fact-band strong { color:var(--swe-blue-800) !important; text-shadow:none; }
.portal-fact-band span { color:var(--swe-yellow-ink) !important; }
.portal-fact-band p { color:#35566d !important; }
.section--paper .eyebrow:not(.eyebrow--light),
.section--linen .eyebrow:not(.eyebrow--light),
.portal-contract .eyebrow,
.portal-fact-band .eyebrow,
.site-network .eyebrow { color:var(--swe-blue-700); }
.public-alert--info { border-color:var(--swe-blue-600); background:var(--swe-blue-050); }
.collection-count strong,
.collection-empty > span { color:var(--swe-yellow-300); }
.my-sweden-hero {
    background:
        radial-gradient(circle at 78% 16%,rgba(254,203,0,.2),transparent 24rem),
        linear-gradient(135deg,var(--swe-blue-950),var(--swe-blue-700)) !important;
}

/* Network footer: three flagship properties lead, the rest remain complete and compact. */
.site-network__grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; }
.site-network-card { min-width:0; }
.site-network-card--priority {
    grid-column:span 2;
    min-height:190px;
    padding:25px;
    color:var(--swe-snow);
    border-color:rgba(255,255,255,.16);
    background:
        radial-gradient(circle at 82% 18%,rgba(254,203,0,.18),transparent 12rem),
        linear-gradient(145deg,var(--swe-blue-900),var(--swe-blue-700));
    box-shadow:0 25px 70px rgba(0,31,58,.22);
}
.site-network-card--priority .site-network-card__mark {
    color:var(--swe-blue-950);
    background:var(--swe-yellow-500);
    box-shadow:0 14px 35px rgba(0,20,40,.25);
}
.site-network-card--priority .site-network-card__copy > span,
.site-network-card--priority .site-network-card__copy small { color:rgba(255,255,255,.7); }
.site-network-card--priority .site-network-card__arrow { color:var(--swe-yellow-300); }
.site-network-card--ploppbox { --network-accent:#8f7cff; }
.site-network-card--house { --network-accent:#60c7d8; }
.site-network-card--vastoscope { --network-accent:#f39c6b; }
.site-network-card--venue { --network-accent:#67b79b; }

/* Share engine — canonical, accessible, and deliberately part of the editorial journey. */
.share-engine {
    position:relative;
    z-index:5;
    padding:clamp(54px,7vw,92px) 0;
    color:var(--swe-snow);
    background:
        radial-gradient(circle at 86% 10%,rgba(254,203,0,.2),transparent 24rem),
        radial-gradient(circle at 7% 100%,rgba(230,103,79,.17),transparent 28rem),
        linear-gradient(132deg,var(--swe-blue-950),var(--swe-blue-800));
    overflow:hidden;
}
.share-engine::before {
    content:"";
    position:absolute;
    inset:0;
    opacity:.15;
    pointer-events:none;
    background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);
    background-size:54px 54px;
    mask-image:linear-gradient(90deg,#000,transparent 82%);
}
.share-engine__rail { position:relative; display:grid; grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr); gap:clamp(32px,5vw,80px); align-items:center; }
.share-engine__identity { display:flex; align-items:center; gap:22px; }
.share-engine__sigil { width:78px; aspect-ratio:1; display:grid; place-items:center; flex:none; color:var(--swe-blue-950); border-radius:24px; background:var(--swe-yellow-500); font-family:var(--serif); font-size:30px; box-shadow:0 20px 55px rgba(0,15,30,.3); }
.share-engine__identity p { margin:0 0 7px; color:var(--swe-yellow-300); font-size:9px; font-weight:950; letter-spacing:.18em; }
.share-engine__identity h2 { margin:0; font-family:var(--serif); font-size:clamp(34px,4vw,58px); font-weight:400; line-height:.95; }
.share-engine__actions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid rgba(255,255,255,.15); border-radius:24px; overflow:hidden; background:rgba(0,31,58,.42); backdrop-filter:blur(16px); }
.share-engine__actions button { min-width:0; min-height:132px; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; gap:6px; padding:20px; color:var(--swe-snow); border:0; border-right:1px solid rgba(255,255,255,.12); background:transparent; text-align:left; cursor:pointer; }
.share-engine__actions button:last-child { border-right:0; }
.share-engine__actions button:hover,.share-engine__actions button:focus-visible { color:var(--swe-blue-950); background:var(--swe-yellow-500); }
.share-engine__actions button > span { margin-bottom:auto; font-size:24px; }
.share-engine__actions strong { font-size:13px; }
.share-engine__actions small { color:rgba(255,255,255,.58); line-height:1.35; }
.share-engine__actions button:hover small,.share-engine__actions button:focus-visible small { color:rgba(0,31,58,.7); }
.share-engine__status { grid-column:1/-1; min-height:1.4em; margin:0; color:var(--swe-yellow-300); font-size:11px; font-weight:800; }
.share-engine__dialog { width:100%; max-width:none; height:100%; max-height:none; margin:0; padding:0; border:0; background:transparent; }
.share-engine__dialog::backdrop { background:rgba(0,20,40,.82); backdrop-filter:blur(16px) saturate(.75); }
.share-engine__dialog-panel { width:min(980px,calc(100% - 32px)); max-height:calc(100dvh - 48px); margin:24px auto; padding:clamp(24px,4vw,48px); overflow:auto; color:var(--swe-blue-950); border:1px solid rgba(255,255,255,.3); border-radius:32px; background:var(--swe-snow); box-shadow:0 60px 180px rgba(0,20,40,.48); }
.share-engine__dialog-panel > header { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; }
.share-engine__dialog-panel > header p { margin:0 0 6px; color:var(--swe-yellow-ink); font-size:9px; font-weight:950; letter-spacing:.17em; text-transform:uppercase; }
.share-engine__dialog-panel > header h2 { margin:0; font-family:var(--serif); font-size:clamp(44px,6vw,76px); font-weight:400; }
.share-engine__dialog-panel > header button { display:flex; align-items:center; gap:10px; min-height:44px; padding:0 14px; color:var(--swe-blue-950); border:1px solid rgba(0,82,147,.17); border-radius:999px; background:var(--swe-blue-050); cursor:pointer; }
.share-engine__dialog-panel > header button i { width:16px; height:16px; position:relative; }
.share-engine__dialog-panel > header button i::before,.share-engine__dialog-panel > header button i::after { content:""; position:absolute; left:7px; top:1px; width:2px; height:14px; background:currentColor; transform:rotate(45deg); }
.share-engine__dialog-panel > header button i::after { transform:rotate(-45deg); }
.share-engine__preview { display:grid; grid-template-columns:90px 1fr; gap:22px; margin:28px 0; padding:24px; border-left:6px solid var(--swe-yellow-500); background:linear-gradient(135deg,var(--swe-blue-050),var(--swe-blue-100)); }
.share-engine__preview-mark { width:76px; aspect-ratio:1; display:grid; place-items:center; color:var(--swe-snow); border-radius:23px; background:var(--swe-blue-800); font-family:var(--serif); font-size:27px; }
.share-engine__preview small,.share-engine__preview b { color:var(--swe-yellow-ink); font-size:9px; font-weight:950; letter-spacing:.13em; text-transform:uppercase; }
.share-engine__preview h3 { margin:7px 0; font-family:var(--serif); font-size:clamp(28px,4vw,48px); font-weight:400; line-height:1; }
.share-engine__preview p { max-width:720px; color:#49677a; }
.share-engine__social { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--swe-line); border-left:1px solid var(--swe-line); }
.share-engine__social a,.share-engine__social button { min-height:76px; display:flex; align-items:center; gap:12px; padding:14px; color:var(--swe-blue-950); border:0; border-right:1px solid var(--swe-line); border-bottom:1px solid var(--swe-line); background:transparent; font-weight:800; cursor:pointer; }
.share-engine__social span { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:var(--swe-snow); background:var(--swe-blue-700); font-size:11px; }
.share-engine__social a:hover,.share-engine__social button:hover { background:var(--swe-yellow-soft); }
.share-engine__utilities { display:grid; grid-template-columns:repeat(2,1fr); margin-top:22px; border-top:1px solid var(--swe-line); }
.share-engine__utilities button { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:18px 4px; color:var(--swe-blue-950); border:0; border-bottom:1px solid var(--swe-line); background:transparent; text-align:left; cursor:pointer; }
.share-engine__utilities button:nth-child(odd) { margin-right:24px; }
.share-engine__utilities small { color:#60798a; }
.share-engine__dialog-panel > footer { display:flex; justify-content:space-between; gap:24px; margin-top:24px; color:#60798a; font-size:11px; }
.share-engine__dialog-panel > footer p { max-width:650px; margin:0; }
.share-engine__dialog-panel > footer span { color:var(--swe-yellow-ink); font-weight:900; }

@media (max-width:1100px) {
    .site-network__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .site-network-card--priority { grid-column:span 1; }
    .share-engine__rail { grid-template-columns:1fr; }
}
@media (max-width:760px) {
    .map-stage__projection { top:9%; height:80%; }
    .map-stage__projection::before { inset:14% -58%; }
    .site-network__grid { grid-template-columns:1fr; }
    .share-engine__actions { grid-template-columns:1fr 1fr; }
    .share-engine__actions button:nth-child(2) { border-right:0; }
    .share-engine__actions button:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.12); }
    .share-engine__social { grid-template-columns:1fr 1fr; }
    .share-engine__utilities { grid-template-columns:1fr; }
    .share-engine__utilities button:nth-child(odd) { margin-right:0; }
    .share-engine__dialog-panel > footer { display:block; }
}
@media print {
    .share-engine,.share-engine__dialog,.experience-dock,.site-header,.site-footer { display:none !important; }
}
