/* Data source atlas. Facts are rendered from /api/data-sources. */
.ds-hero{padding:clamp(34px,4.5vw,54px) 0 clamp(20px,2.5vw,30px);max-width:910px}
.ds-hero h1{max-width:15ch;font-size:clamp(40px,5.6vw,70px);line-height:1.02;letter-spacing:-.035em}
.ds-hero p{max-width:64ch;margin-top:24px;font-size:clamp(18px,2vw,22px);line-height:1.55}

.ds-section{border-top:1px solid var(--hairline);padding:clamp(62px,7vw,94px) 0}
.ds-section-head{display:grid;grid-template-columns:minmax(0,720px) auto;align-items:end;
  justify-content:space-between;gap:28px;margin-bottom:clamp(30px,4vw,48px)}
.ds-section-head p{margin-top:13px;max-width:63ch;font-size:17px;line-height:1.6}
.ds-status{display:inline-flex;align-items:center;gap:7px;width:max-content;border:1px solid currentColor;
  border-radius:999px;padding:6px 11px;font:500 10px/1.2 var(--mono);letter-spacing:.07em;
  text-transform:uppercase;white-space:nowrap}
.ds-status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.ds-status-loading,.ds-status-global_only,.ds-status-in_validation{color:var(--demp)}
.ds-status-available,.ds-status-operational{color:var(--gronn-dyp)}
.ds-status-internal_pilot,.ds-status-technical_live{color:var(--petrol)}
.ds-status-planned{color:var(--terra)}
.ds-country-panel-open{overflow:hidden}
.ds-country-panel-open .fot-sos{opacity:0;visibility:hidden;pointer-events:none}

.ds-licence{display:inline-flex;border:1px solid var(--hairline);border-radius:999px;padding:4px 8px;
  color:var(--demp);font:10px/1.2 var(--mono);white-space:nowrap}
.ds-source-state{display:inline-flex;align-items:center;gap:6px;font:500 10px/1.2 var(--mono);
  color:var(--gronn-dyp);white-space:nowrap}
.ds-source-state::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.ds-source-state.is-pending{color:var(--terra)}
.ds-loading,.ds-error{padding:20px 0;color:var(--demp);font-size:15px}
.ds-error{color:#8a4338}

.ds-atlas{--ds-space-xs:8px;--ds-space-sm:12px;--ds-space-md:16px;--ds-space-lg:24px;
  --ds-space-xl:32px;--ds-z-legend:3;--ds-z-panel:4;--ds-z-picker:5;
  border-top:0;padding-top:0}
.ds-atlas-head{align-items:end}
.ds-country-field{display:grid;gap:var(--ds-space-xs);min-width:min(280px,100%)}
.ds-country-field>span:first-child{color:var(--demp);font:10px/1.2 var(--mono);letter-spacing:.07em;text-transform:uppercase}
.ds-country-select-wrap{position:relative;display:block}
.ds-country-select{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;
  width:100%;min-height:44px;border:1px solid var(--kant);border-radius:10px;padding:0 13px;
  background:var(--grunn);color:var(--svart);font:500 14px var(--sans);text-align:left;cursor:pointer}
.ds-country-select:disabled{cursor:wait;color:var(--demp)}
.ds-country-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ds-country-select>svg{width:12px;height:8px;color:var(--demp);transition:transform .18s var(--kurve)}
.ds-country-select[aria-expanded="true"]>svg{transform:rotate(180deg)}
.ds-country-select-flag-slot:empty{display:none}
.ds-country-select-flag-slot .ds-country-flag{width:28px;height:21px;border-radius:3px}
.ds-country-select-list{position:absolute;z-index:var(--ds-z-picker);top:calc(100% + 6px);right:0;
  width:100%;min-width:280px;max-height:min(340px,50dvh);overflow-y:auto;overscroll-behavior:contain;
  padding:6px;border:1px solid var(--kant);border-radius:11px;background:#f7f8f8;
  box-shadow:0 18px 46px rgba(36,36,36,.17)}
.ds-country-select-list.is-up{top:auto;bottom:calc(100% + 6px)}
.ds-country-select-list[hidden]{display:none}
.ds-country-option{display:grid;grid-template-columns:22px minmax(0,1fr) 16px;align-items:center;gap:10px;
  min-height:36px;padding:6px 9px;border-radius:7px;color:var(--svart);font:500 13.5px/1.25 var(--sans);
  cursor:pointer;outline:none}
.ds-country-option:hover,.ds-country-option:focus{background:#e8ece9}
.ds-country-option[aria-selected="true"]{background:#dfe8e2;color:var(--gronn-dyp)}
.ds-country-option[aria-selected="true"]::after{content:"✓";justify-self:end;font-size:13px;font-weight:700}
.ds-country-option .ds-country-flag.is-menu{width:22px;height:16px;border-radius:2px}
.ds-country-select:focus-visible,.ds-country-option:focus-visible,.ds-profile-link:focus-visible,
.ds-panel-close:focus-visible{outline:3px solid rgba(62,108,121,.28);outline-offset:3px}

.ds-atlas-grid{display:block;border:1px solid var(--hairline);border-radius:18px;
  overflow:hidden;background:rgba(247,248,248,.9)}
.ds-map-wrap{position:relative;min-width:0;overflow:hidden}
.ds-map{height:clamp(560px,68vh,760px);background:#d8e8eb;cursor:grab}
.ds-map:active{cursor:grabbing}
.ds-map .maplibregl-canvas:focus-visible{outline:3px solid rgba(62,108,121,.42);outline-offset:-3px}
.ds-map .maplibregl-ctrl-group{display:flex;flex-direction:column;gap:3px;padding:4px;
  border:1px solid var(--hairline);border-radius:999px;background:rgba(247,248,248,.94);
  box-shadow:0 2px 10px rgba(36,36,36,.1)}
.ds-map .maplibregl-ctrl-group button{width:36px;height:36px;border-radius:50%;
  transition:background .15s var(--kurve)}
.ds-map .maplibregl-ctrl-group button + button{border-top:0}
.ds-map .maplibregl-ctrl-group button:not(:disabled):hover{background:#e6ece9}
.ds-map .maplibregl-ctrl-group button:focus-visible{border-radius:50%;outline:2px solid var(--petrol);
  outline-offset:1px;box-shadow:none}
.ds-map-legend{position:absolute;right:var(--ds-space-md);bottom:var(--ds-space-md);z-index:var(--ds-z-legend);
  width:max-content;max-width:calc(100% - 32px);padding:var(--ds-space-sm);border:1px solid var(--hairline);
  border-radius:12px;background:#f7f8f8;box-shadow:0 12px 32px rgba(36,36,36,.12)}
.ds-map-key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ds-space-xs) var(--ds-space-md)}
.ds-map-legend span{display:inline-flex;align-items:center;gap:7px;color:var(--demp);font:10px/1.3 var(--mono)}
.ds-map-legend i{width:9px;height:9px;border-radius:2px;border:1px solid rgba(36,36,36,.12)}
.ds-map-legend .is-available{background:#4E6E56}
.ds-map-legend .is-pilot{background:#3E6C79}
.ds-map-legend .is-planned{background:#B49A82}
.ds-map-legend .is-global{background:#E4EAE5}
.ds-map-wrap.is-failed .ds-map{display:grid;place-items:center;padding:30px;cursor:default}
.ds-map-wrap.is-failed .ds-map::after{content:"The map could not be loaded. Use the country list instead.";
  max-width:32ch;text-align:center;color:var(--demp);font-size:15px}
.ds-map-wrap.is-failed .ds-map-legend{display:none}
.ds-country-hover-popup{pointer-events:none}
.ds-country-hover-popup .maplibregl-popup-content{padding:0;border:1px solid var(--hairline);
  border-radius:14px;background:#f7f8f8;box-shadow:0 12px 30px rgba(36,36,36,.15)}
.ds-country-hover-popup.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:#f7f8f8}
.ds-country-hover-popup.maplibregl-popup-anchor-top .maplibregl-popup-tip{border-bottom-color:#f7f8f8}
.ds-map-tooltip{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;
  min-width:176px;padding:10px 11px}
.ds-country-flag{display:block;flex:none;width:32px;height:24px;border-radius:4px;object-fit:cover;
  box-shadow:0 0 0 1px rgba(36,36,36,.14)}
.ds-country-flag.is-small{width:24px;height:18px;border-radius:3px}
.ds-map-tooltip-copy{display:grid;gap:3px;min-width:0;white-space:nowrap}
.ds-map-tooltip-copy strong{overflow:hidden;color:var(--svart);font-size:13.5px;line-height:1.2;text-overflow:ellipsis}
.ds-map-tooltip-copy span{display:inline-flex;align-items:center;gap:6px;color:var(--demp);font:500 10px/1.25 var(--mono)}
.ds-map-tooltip-copy span::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.ds-map-tooltip-stage-available{color:var(--gronn-dyp)!important}
.ds-map-tooltip-stage-internal_pilot,.ds-map-tooltip-stage-technical_live{color:var(--petrol)!important}
.ds-map-tooltip-stage-planned{color:var(--terra)!important}
.ds-map-tooltip-arrow{color:var(--petrol);font-size:17px;line-height:1}

.ds-country-panel{position:fixed;inset:24px;z-index:var(--ds-z-panel);
  width:min(1240px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;
  padding:0;border:1px solid var(--hairline);border-radius:16px;background:#f7f8f8;color:var(--tekst);
  box-shadow:0 28px 80px rgba(36,36,36,.24);overflow:hidden;scrollbar-width:thin}
.ds-country-panel::backdrop{background:rgba(36,36,36,.32);backdrop-filter:blur(3px)}
.ds-country-panel[open]{display:flex;flex-direction:column;animation:ds-panel-in .32s var(--kurve) both}
.ds-country-panel-header{position:relative;flex:0 0 auto;padding:var(--ds-space-md) 76px var(--ds-space-md) var(--ds-space-lg);
  border-bottom:1px solid var(--hairline)}
.ds-country-panel-bar{display:block}
.ds-panel-close{position:absolute;top:16px;right:16px;width:44px;height:44px;border:1px solid var(--hairline);
  border-radius:50%;background:transparent;color:var(--svart);cursor:pointer;transition:background .22s var(--kurve)}
.ds-panel-close::before,.ds-panel-close::after{content:"";position:absolute;left:13px;top:21px;width:18px;
  height:1.5px;border-radius:2px;background:currentColor}
.ds-panel-close::before{transform:rotate(45deg)}
.ds-panel-close::after{transform:rotate(-45deg)}
.ds-panel-close:hover{background:#e8ece9}
.ds-country-panel h3{color:var(--svart);font-size:clamp(28px,3vw,38px);line-height:1.08;
  letter-spacing:-.025em}
.ds-country-titleline{display:flex;align-items:center;gap:var(--ds-space-md);margin-top:4px}
.ds-country-identity{display:flex;align-items:center;gap:12px;min-width:0}
.ds-country-titleline .ds-status{position:relative;top:2px}
.ds-country-code{margin-left:auto;color:var(--demp);font:12px/1.2 var(--mono);letter-spacing:.08em}
.ds-panel-intro{margin-top:6px;max-width:88ch;color:var(--tekst);font-size:13.5px;line-height:1.45}
.ds-country-panel-body{min-height:0;padding:var(--ds-space-md) var(--ds-space-lg) var(--ds-space-lg);
  overflow:auto;overscroll-behavior:contain}
.ds-panel-heading{color:var(--demp);font:10px/1.2 var(--mono);
  letter-spacing:.08em;text-transform:uppercase}
.ds-country-crs{display:grid;grid-template-columns:minmax(150px,.34fr) minmax(0,1.66fr);
  gap:var(--ds-space-lg);padding:0 0 var(--ds-space-md);border-bottom:1px solid var(--hairline)}
.ds-crs-grid{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(280px,1.4fr) minmax(120px,.6fr)}
.ds-crs-item{min-width:0;padding:0 var(--ds-space-md)}
.ds-crs-item:first-child{padding-left:0}
.ds-crs-item + .ds-crs-item{border-left:1px solid var(--hairline)}
.ds-crs-item dt{color:var(--demp);font:10px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.ds-crs-item dd{margin-top:var(--ds-space-xs);color:var(--svart);font-size:12.5px;line-height:1.45}
.ds-crs-family{display:grid;grid-template-columns:88px minmax(0,1fr);gap:4px var(--ds-space-xs)}
.ds-crs-family + .ds-crs-family{margin-top:4px}
.ds-crs-role{color:var(--demp);font:10px/1.45 var(--mono);text-transform:uppercase}
.ds-crs-value{min-width:0}
.ds-crs-state{grid-column:2;color:var(--gronn-dyp);font:500 9px/1.45 var(--mono);letter-spacing:.04em;
  text-transform:uppercase;white-space:nowrap}
.ds-crs-state.is-pending{color:var(--terra)}
.ds-crs-empty{color:var(--demp);font-size:13px;line-height:1.45}

.ds-src-block{padding:0;margin-top:var(--ds-space-lg)}
.ds-src-block + .ds-src-block{margin-top:var(--ds-space-xl)}
.ds-src-block-head{display:flex;align-items:baseline;justify-content:space-between;
  gap:var(--ds-space-md);margin-bottom:var(--ds-space-sm)}
.ds-src-block-title{color:var(--svart);font-size:16px;font-weight:600;letter-spacing:-.01em;line-height:1.25}
.ds-src-block-intro{margin-top:2px;color:var(--demp);font-size:12.5px;line-height:1.45}
.ds-src-block-count{flex:none;display:inline-flex;align-items:center;gap:6px;color:var(--gronn-dyp);
  font:500 10px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.ds-src-block-count::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.ds-src-block-count.is-pending{color:var(--terra)}
.ds-src-table{width:100%;border-collapse:collapse;table-layout:fixed}
.ds-src-table thead th{padding:6px var(--ds-space-sm);border-bottom:1px solid var(--kant);
  color:var(--demp);font:10px/1.2 var(--mono);letter-spacing:.07em;text-align:left;text-transform:uppercase}
.ds-src-table thead th:nth-child(1){width:46%;padding-left:0}
.ds-src-table thead th:nth-child(2){width:24%}
.ds-src-table thead th:nth-child(3){width:16%}
.ds-src-table thead th:nth-child(4){width:14%}
.ds-src-table td{padding:8px var(--ds-space-sm);border-bottom:1px solid var(--hairline);vertical-align:middle}
.ds-src-table tbody tr:hover td{background:rgba(36,36,36,.03)}
.ds-src-layer{display:flex;align-items:center;gap:var(--ds-space-sm);padding-left:0}
.ds-src-glyf{display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;
  border:1px solid var(--hairline);border-radius:8px;color:var(--petrol);background:transparent}
.ds-src-glyf svg{width:15px;height:15px}
.ds-src-layer-copy{min-width:0}
.ds-src-layer-name{display:flex;align-items:center;gap:8px;color:var(--svart);font-size:13.5px;
  font-weight:600;line-height:1.3}
.ds-src-chip{flex:none;border:1px solid var(--hairline);border-radius:999px;padding:2px 7px;
  color:var(--petrol);font:500 9px/1.2 var(--mono);letter-spacing:.03em;white-space:nowrap}
.ds-src-layer-sub{display:block;margin-top:1px;color:var(--demp);font-size:11.5px;line-height:1.35;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ds-src-provider{color:var(--tekst);font-size:12.5px;line-height:1.4}
.ds-src-licence-cell .ds-licence{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.ds-src-state-cell{white-space:nowrap}
.ds-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ds-country-announcer{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes ds-panel-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}

.ds-profile-list{border-top:1px solid var(--hairline)}
.ds-profile-link{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(240px,1.3fr) auto;
  align-items:center;gap:24px;padding:20px 2px;border-bottom:1px solid var(--hairline);
  color:inherit;text-decoration:none;transition:color .25s var(--kurve)}
.ds-profile-link:hover{color:var(--svart)}
.ds-profile-name{display:flex;align-items:center;gap:10px;color:var(--svart);font-size:17px;font-weight:600}
.ds-profile-name{transition:transform .25s var(--kurve)}
.ds-profile-link:hover .ds-profile-name{transform:translateX(7px)}
.ds-profile-name .ds-profile-code{color:var(--demp);font:10px/1.2 var(--mono);letter-spacing:.08em}
.ds-profile-themes{color:var(--demp);font-size:14px}
.ds-profile-arrow{color:var(--petrol);font-size:19px}

@media (max-width:980px){
  .ds-map{height:clamp(540px,64vh,680px)}
  .ds-country-panel-header{padding:20px 76px var(--ds-space-md) var(--ds-space-lg)}
  .ds-country-panel-body{padding:20px var(--ds-space-lg) var(--ds-space-lg)}
  .ds-country-crs{grid-template-columns:1fr;gap:var(--ds-space-sm)}
  .ds-crs-grid{grid-template-columns:minmax(130px,.7fr) minmax(260px,1.4fr) minmax(110px,.6fr)}
}

@media (max-width:840px){
  .ds-src-table,.ds-src-table tbody,.ds-src-table td{display:block;width:100%}
  .ds-src-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
    overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .ds-src-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;
    gap:4px var(--ds-space-md);padding:var(--ds-space-sm) 0;border-bottom:1px solid var(--hairline)}
  .ds-src-table td{padding:0;border:0}
  .ds-src-table tbody tr:hover td{background:transparent}
  .ds-src-table .ds-src-layer{display:flex;grid-column:1;grid-row:1}
  .ds-src-table .ds-src-state-cell{grid-column:2;grid-row:1;justify-self:end}
  .ds-src-table .ds-src-provider{grid-column:1;grid-row:2;padding-left:42px;color:var(--demp);font-size:12px}
  .ds-src-table .ds-src-licence-cell{grid-column:2;grid-row:2;justify-self:end}
  .ds-src-block-head{flex-direction:column;align-items:flex-start;gap:4px}
}

@media (max-width:700px){
  .fot-sos{display:none}
  .ds-hero h1{font-size:clamp(38px,12vw,54px)}
  .ds-section-head{grid-template-columns:1fr;align-items:start}
  .ds-section-head > .ds-status{justify-self:start}
  .ds-country-field{width:100%}
  .ds-map{height:500px}
  .ds-map-legend{right:var(--ds-space-sm);bottom:var(--ds-space-sm);max-width:calc(100% - 24px)}
  .ds-country-panel{inset:10px;width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:16px}
  .ds-country-panel-header{padding:20px 76px var(--ds-space-md) 20px}
  .ds-country-panel-body{padding:20px 20px var(--ds-space-lg)}
  .ds-country-panel h3{font-size:clamp(28px,9vw,36px)}
  .ds-crs-grid{grid-template-columns:1fr}
  .ds-crs-item{padding:var(--ds-space-sm) 0}
  .ds-crs-item:first-child{padding-top:0}
  .ds-crs-item + .ds-crs-item{border-top:1px solid var(--hairline);border-left:0}
  .ds-profile-link{grid-template-columns:1fr auto;gap:8px 15px}
  .ds-profile-themes{grid-column:1 / -1;grid-row:2}
  .ds-profile-arrow{grid-column:2;grid-row:1}
}

@media (hover:none){.ds-country-hover-popup{display:none}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .ds-profile-link,.ds-profile-name,.ds-country-select>svg{transition:none}
  .ds-country-panel[open]{animation:none}
}
