.contracts-page,.contracts-page *{box-sizing:border-box}
        .contracts-page{--blue:#1D4289;--blue-deep:#102d61;--ink:#10243b;--muted:#627083;--border:rgba(18,54,96,.14);--surface:#fff;--soft:#f4f7fb;min-width:0;padding:clamp(.8rem,2vw,1.35rem) 0 3rem;overflow-x:hidden;background:linear-gradient(180deg,#f4f7fb 0,#fff 28rem)}
        .contracts-shell{width:100%;max-width:84rem;min-width:0;margin:0 auto;padding-inline:clamp(1rem,3vw,2rem)}
        .contracts-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden;border-radius:1.3rem;background:var(--blue);box-shadow:0 1.2rem 3.2rem rgba(29,66,137,.25);color:#fff;isolation:isolate}
        .contracts-hero:before{position:absolute;inset:0;z-index:-1;background:linear-gradient(112deg,transparent 0 61%,rgba(255,255,255,.075) 61% 63%,transparent 63%),linear-gradient(135deg,rgba(255,255,255,.055),transparent 48%),radial-gradient(circle at 16% 12%,rgba(255,255,255,.16),transparent 19rem);content:""}
        .contracts-hero__content{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(1.5rem,5vw,3.75rem)}
        .contracts-eyebrow{margin:0 0 .45rem;color:rgba(255,255,255,.78);font-size:.72rem;font-weight:850;letter-spacing:.12em;line-height:1.3;text-transform:uppercase}
        .contracts-hero h1{max-width:100%;margin:0;color:#fff;font-size:clamp(2.3rem,6vw,4.25rem);letter-spacing:-.045em;line-height:.98;text-wrap:balance;overflow-wrap:anywhere}
        .contracts-hero__lead{max-width:43rem;margin:1rem 0 0;color:rgba(255,255,255,.92);font-size:clamp(1rem,2.5vw,1.2rem);line-height:1.58}
        .contracts-hero__facts{display:flex;flex-wrap:wrap;gap:.45rem 1rem;margin:1.45rem 0 0;color:rgba(255,255,255,.78);font-size:.82rem;font-weight:750}
        .contracts-hero__facts span+span:before{margin-right:1rem;color:rgba(255,255,255,.42);content:"•"}
        .contracts-hero__facts strong{color:#fff;font-size:.96rem}
        .contracts-hero__media{position:relative;height:12rem;min-height:0;overflow:hidden;background:var(--blue-deep)}
        .contracts-hero__media:after{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(15,40,84,.3),transparent 30%),linear-gradient(180deg,transparent 55%,rgba(15,40,84,.28));content:"";pointer-events:none}
        .contracts-hero__fallback{display:block;width:100%;height:calc(100% + 30px);margin:0;object-fit:cover;object-position:center top;filter:saturate(.92) contrast(1.04)}
        .contracts-hero__portraits{display:grid;width:100%;height:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:rgba(255,255,255,.22)}
        .contracts-hero__portrait{position:relative;min-width:0;min-height:0;overflow:hidden;background:#183b79}
        .contracts-hero__portrait img{display:block;width:100%;height:calc(100% + 30px);margin:0;object-fit:cover;object-position:center top;filter:saturate(.72) contrast(1.05)}
        .contracts-overview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.72rem;margin:1rem 0}
        .contracts-stat{min-width:0;padding:1rem;border:1px solid var(--border);border-radius:.9rem;background:#fff;box-shadow:0 .35rem 1.15rem rgba(16,38,64,.055)}
        .contracts-stat span{display:block;margin-bottom:.2rem;color:var(--muted);font-size:.67rem;font-weight:850;letter-spacing:.065em;text-transform:uppercase}
        .contracts-stat strong{display:block;color:var(--ink);font-size:1.25rem;letter-spacing:-.025em;line-height:1.1}
        .contracts-stat small{display:block;margin-top:.32rem;color:var(--muted);font-size:.72rem;line-height:1.35}
        .contracts-tools{margin:0 0 1rem;padding:clamp(1rem,2vw,1.3rem);border:1px solid var(--border);border-radius:1rem;background:#fff;box-shadow:0 .55rem 1.6rem rgba(16,38,64,.075)}
        .contracts-tools__heading{margin-bottom:1rem}
        .contracts-tools h2{margin:0;color:var(--ink);font-size:clamp(1.25rem,2vw,1.55rem);letter-spacing:-.02em}
        .contracts-tools__heading p{max-width:46rem;margin:.28rem 0 0;color:var(--muted);font-size:.86rem;line-height:1.5}
        .contracts-filters{display:grid;grid-template-columns:minmax(14rem,2fr) repeat(3,minmax(10rem,1fr)) auto;align-items:end;gap:.75rem}
        .contracts-field{min-width:0}
        .contracts-field label{display:block;margin:0 0 .35rem;color:#26384c;font-size:.74rem;font-weight:800}
        .contracts-input,.contracts-select{display:block;width:100%;min-width:0;min-height:46px;margin:0;border:1px solid rgba(36,52,71,.28);border-radius:.62rem;background:#fff;color:#172435;font:inherit;font-size:.9rem}
        .contracts-input{padding:.58rem .75rem}
        .contracts-select{padding:.58rem 2.1rem .58rem .75rem}
        .contracts-reset{min-height:46px;margin:0;padding:.55rem .95rem;border:1px solid rgba(29,66,137,.3);border-radius:.62rem;background:#f3f7fd;color:var(--blue-deep);font:inherit;font-size:.82rem;font-weight:850;cursor:pointer}
        .contracts-reset:hover{border-color:var(--blue);background:#eaf1fb}
        .contracts-reset:disabled{opacity:.55;cursor:default}
        .contracts-tools__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.9rem;padding-top:.85rem;border-top:1px solid var(--border);color:var(--muted);font-size:.82rem}
        .contracts-tools__footer strong{color:var(--ink)}
        .contracts-viewbar{display:none;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 .72rem}
        .contracts-viewbar__label{margin:0;color:var(--muted);font-size:.76rem;font-weight:800}
        .contracts-view-toggle{display:inline-flex;align-items:center;gap:.22rem;padding:.22rem;border:1px solid var(--border);border-radius:.72rem;background:#eaf0f8}
        .contracts-view-button{min-width:4.5rem;min-height:38px;margin:0;padding:.45rem .7rem;border:0;border-radius:.52rem;background:transparent;color:#455970;font:inherit;font-size:.78rem;font-weight:850;cursor:pointer}
        .contracts-view-button[aria-pressed="true"]{background:#fff;color:var(--blue-deep);box-shadow:0 .18rem .55rem rgba(16,38,64,.12)}
        .contracts-mobile-list-header{display:none}
        .contracts-list-shell{overflow:hidden;border:1px solid var(--border);border-radius:1.05rem;background:#fff;box-shadow:0 .7rem 2rem rgba(16,38,64,.075)}
        .contracts-list-header,.contract-row{display:grid;grid-template-columns:minmax(18rem,2fr) minmax(8rem,.9fr) minmax(10rem,1.05fr) minmax(7rem,.7fr) minmax(10rem,1fr) repeat(2,minmax(5rem,.5fr));column-gap:.75rem;align-items:center}
        .contracts-list-header{min-height:3.1rem;padding:.65rem 1rem;background:#edf3fa;color:#42556b;font-size:.7rem;font-weight:850;letter-spacing:.065em;text-transform:uppercase}
        .contract-row{position:relative;min-width:0;min-height:6rem;padding:.75rem 1rem;border-top:1px solid rgba(18,54,96,.1);background:#fff;transition:background-color .16s ease,box-shadow .16s ease}
        .contract-row:first-child{border-top:0}
        .contract-row[hidden]{display:none!important}
        .contract-row:hover{z-index:1;background:#f8fbff;box-shadow:inset .22rem 0 0 var(--blue)}
        .contract-person{display:flex;align-items:center;min-width:0;gap:.75rem}
        .contract-avatar{position:relative;display:grid;flex:0 0 3.25rem;width:3.25rem;height:3.25rem;place-items:center;overflow:hidden;border:1px solid rgba(29,66,137,.14);border-radius:50%;background:linear-gradient(145deg,#e7eef8,#f7f9fc);color:var(--blue);font-size:.8rem;font-weight:900;letter-spacing:.03em}
        .contract-avatar img{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;object-fit:cover;object-position:center 18%}
        .contract-identity{min-width:0}
        .contract-name-line{display:flex;align-items:center;min-width:0;gap:.45rem}
        .contract-name{min-width:0;color:var(--blue-deep);font-size:1rem;font-weight:850;line-height:1.2;text-decoration:none;overflow-wrap:anywhere}
        .contract-name:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}
        .contract-flag{flex:0 0 auto;border-radius:1px;box-shadow:0 0 0 1px rgba(16,38,64,.08)}
        .contract-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.2rem .6rem;margin-top:.27rem;color:var(--muted);font-size:.74rem;line-height:1.25}
        .contract-own{color:#28704a;font-weight:800}
        .contract-arrival{display:block;flex-basis:100%;min-width:0;margin-top:.14rem;color:#52647a;font-size:.71rem;line-height:1.35}
        .contract-arrival:before{margin-right:.35rem;color:var(--blue);font-weight:900;content:"→"}
        .contract-arrival strong{color:#334a64;font-weight:800}
        .contract-arrival__home{color:#28704a;font-weight:800}
        .contract-cell{min-width:0;color:#3c4f65;font-size:.84rem;font-variant-numeric:tabular-nums;line-height:1.35}
        .contract-date strong{display:block;color:var(--ink);font-size:.91rem}
        .contract-date small{display:block;margin-top:.18rem;color:var(--muted);font-size:.7rem}
        .contract-date.is-soon strong{color:#9a4d16}
        .contract-number{text-align:right}
        .contract-number strong{display:block;color:var(--ink);font-size:.96rem;line-height:1.15}
        .contract-label{display:none}
        .contracts-empty{display:none;margin:0;padding:3rem 1.25rem;color:var(--muted);text-align:center}
        .contracts-empty.is-visible{display:block}
        .contracts-noscript{margin:1rem 0 0;padding:.8rem 1rem;border-radius:.65rem;background:#fff7df;color:#5d4a18;font-size:.82rem;line-height:1.5}
        @media(min-width:48rem){
            .contracts-hero{grid-template-columns:minmax(0,3fr) minmax(18rem,2fr);height:clamp(320px,30vw,380px);min-height:0}
            .contracts-hero__content{min-height:0;padding:clamp(1.75rem,3vw,2.5rem)}
            .contracts-hero__media,.contracts-hero__portraits{height:100%;min-height:0}
        }
        @media(max-width:72rem){
            .contracts-overview{grid-template-columns:repeat(3,minmax(0,1fr))}
            .contracts-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
            .contracts-field--search{grid-column:1/-1}
            .contracts-reset{width:100%}
            .contracts-list-header,.contract-row{grid-template-columns:minmax(15rem,2fr) minmax(7rem,.8fr) minmax(9rem,1fr) minmax(6rem,.65fr) minmax(8rem,.85fr) repeat(2,minmax(4.5rem,.45fr))}
        }
        @media(max-width:58rem){
            .contracts-viewbar{display:flex}
            .contracts-list-shell{overflow:visible;border:0;background:transparent;box-shadow:none}
            .contracts-list-header{display:none}
            .contracts-list{display:grid;gap:.72rem}
            .contract-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.72rem .45rem;min-height:0;padding:1rem;border:1px solid var(--border)!important;border-radius:.88rem;box-shadow:0 .35rem 1.1rem rgba(16,38,64,.055)}
            .contract-row:hover{box-shadow:0 .5rem 1.3rem rgba(16,38,64,.08)}
            .contract-person{grid-column:1/-1}
            .contract-cell{padding:.58rem .3rem;border-radius:.58rem;background:var(--soft);text-align:center}
            .contract-date{grid-column:span 2}
            .contract-number{text-align:center}
            .contract-label{display:block;margin-bottom:.18rem;color:var(--muted);font-size:.61rem;font-weight:800;line-height:1.15;text-transform:uppercase}

            .contracts-list-shell.is-mobile-list{overflow:hidden;border:1px solid var(--border);border-radius:.88rem;background:#fff;box-shadow:0 .45rem 1.25rem rgba(16,38,64,.065)}
            .contracts-list-shell.is-mobile-list .contracts-mobile-list-header{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(5.7rem,.78fr) minmax(7rem,1fr) minmax(3.5rem,.48fr);gap:.45rem;padding:.62rem .72rem;background:#edf3fa;color:#52647a;font-size:.61rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
            .contracts-list-shell.is-mobile-list .contracts-list{display:block}
            .contracts-list-shell.is-mobile-list .contract-row{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(5.7rem,.78fr) minmax(7rem,1fr) minmax(3.5rem,.48fr);align-items:center;gap:.45rem;min-height:3.6rem;padding:.62rem .72rem;border:0!important;border-top:1px solid rgba(18,54,96,.1)!important;border-radius:0;box-shadow:none}
            .contracts-list-shell.is-mobile-list .contract-row:first-child{border-top:0!important}
            .contracts-list-shell.is-mobile-list .contract-row:hover{background:#f8fbff;box-shadow:inset .18rem 0 0 var(--blue)}
            .contracts-list-shell.is-mobile-list .contract-person{grid-column:auto;gap:.48rem}
            .contracts-list-shell.is-mobile-list .contract-avatar{display:none}
            .contracts-list-shell.is-mobile-list .contract-name-line{gap:.32rem}
            .contracts-list-shell.is-mobile-list .contract-name{font-size:.82rem;line-height:1.18}
            .contracts-list-shell.is-mobile-list .contract-flag{transform:scale(.88);transform-origin:left center}
            .contracts-list-shell.is-mobile-list .contract-meta{display:none}
            .contracts-list-shell.is-mobile-list .contract-cell{min-width:0;padding:0;border-radius:0;background:transparent;color:#41546a;font-size:.74rem;text-align:left;line-height:1.25}
            .contracts-list-shell.is-mobile-list .contract-date{grid-column:auto}
            .contracts-list-shell.is-mobile-list .contract-date strong{font-size:.78rem;white-space:nowrap}
            .contracts-list-shell.is-mobile-list .contract-date small{display:none}
            .contracts-list-shell.is-mobile-list .contract-label{display:none}
            .contracts-list-shell.is-mobile-list .contract-row > .contract-cell:nth-child(n+5){display:none}
        }
        @media(max-width:40rem){
            .contracts-page{padding-top:.75rem}
            .contracts-shell{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}
            .contracts-hero__content{padding:1.6rem 1.25rem}
            .contracts-hero h1{font-size:clamp(2.15rem,11vw,3rem);line-height:1}
            .contracts-hero__media,.contracts-hero__portraits{height:10.5rem;min-height:0}
            .contracts-hero__facts{display:none}
            .contracts-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
            .contracts-stat:last-child{grid-column:1/-1}
            .contracts-tools{padding:1rem}
            .contracts-filters{grid-template-columns:minmax(0,1fr)}
            .contracts-field--search{grid-column:auto}
            .contracts-tools__footer{align-items:flex-start;flex-direction:column;gap:.3rem}
            .contract-avatar{flex-basis:3rem;width:3rem;height:3rem}
            .contract-name{font-size:.94rem}
            .contract-meta{font-size:.7rem}
        }
        @media(max-width:32rem){
            .contracts-viewbar__label{display:none}
            .contracts-viewbar{justify-content:flex-end}
            .contracts-list-shell.is-mobile-list{overflow-x:auto;-webkit-overflow-scrolling:touch}
            .contracts-list-shell.is-mobile-list .contracts-mobile-list-header,.contracts-list-shell.is-mobile-list .contract-row{min-width:31rem}
        }
        @media(max-width:25rem){
            .contract-row{grid-template-columns:repeat(2,minmax(0,1fr))}
            .contract-date{grid-column:1/-1}
            .contracts-list-shell.is-mobile-list .contract-row{grid-template-columns:minmax(0,1.55fr) minmax(5.7rem,.78fr) minmax(7rem,1fr) minmax(3.5rem,.48fr)}
            .contracts-list-shell.is-mobile-list .contract-date{grid-column:auto}
        }
        @media(prefers-reduced-motion:reduce){.contract-row{transition:none}}

/* =========================================================
   Kontraktsregistret v1 – gemensam IFKDB-hero
   ========================================================= */
.contracts-hero--match {
    position: relative;
    display: block;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden;
    border-radius: 1.3rem;
    background: var(--blue-deep);
    box-shadow: 0 1.2rem 3.2rem rgba(29, 66, 137, .25);
    color: #fff;
    isolation: isolate;
}

.contracts-hero--match::before {
    display: none;
    content: none;
}

.contracts-hero--match::after {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        radial-gradient(circle at 78% 18%, rgba(255, 255, 255, .08), transparent 24rem),
        linear-gradient(
            90deg,
            rgba(10, 31, 68, .92) 0%,
            rgba(13, 40, 87, .67) 48%,
            rgba(13, 40, 87, .38) 100%
        );
    content: "";
    pointer-events: none;
}

.contracts-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: var(--blue-deep);
}

.contracts-hero__media::after {
    display: none;
    content: none;
}

.contracts-hero__portraits {
    display: flex;
    width: 100%;
    height: 100%;
    gap: 0;
    background: var(--blue-deep);
}

.contracts-hero__portrait {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    height: 100%;
    margin-left: -1.4%;
    overflow: hidden;
    background: #183b79;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 10%, #000 91%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 10%, #000 91%, transparent 100%);
}

.contracts-hero__portrait:first-child {
    margin-left: 0;
}

.contracts-hero__portrait img,
.contracts-hero__fallback {
    display: block;
    width: 100%;
    height: calc(100% + 25px);
    max-width: none;
    max-height: none;
    margin: 0;
    object-fit: cover;
    object-position: center top;
    filter: saturate(.74) contrast(1.05);
}

.contracts-hero__topline {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: 3.1rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem clamp(1rem, 3vw, 1.5rem);
    border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.contracts-hero__topline p,
.contracts-hero__topline span {
    margin: 0;
    color: rgba(255, 255, 255, .78);
    font-size: .72rem;
    font-weight: 750;
    line-height: 1.3;
}

.contracts-hero__topline p {
    color: #fff;
    font-weight: 850;
}

.contracts-hero__scoreboard {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(8rem, .6fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(.8rem, 3vw, 2rem);
    padding: clamp(1.5rem, 4vw, 2.6rem);
    text-align: center;
}

.contracts-hero__title {
    grid-column: 1 / -1;
    grid-row: 1;
    width: max-content;
    max-width: 100%;
    justify-self: center;
    text-align: center;
}

.contracts-hero__spacer:first-child {
    grid-column: 1;
    grid-row: 1;
}

.contracts-hero__spacer:last-child {
    grid-column: 3;
    grid-row: 1;
}

.contracts-hero--match h1 {
    max-width: 100%;
    margin: 0;
    color: #fff;
    font-family: "Francois One", "Arial Narrow", sans-serif;
    font-size: clamp(2.8rem, 6.4vw, 5.1rem);
    font-weight: 400;
    letter-spacing: .015em;
    line-height: .94;
    text-wrap: balance;
}

.contracts-hero__title p {
    margin: .48rem 0 0;
    color: rgba(255, 255, 255, .78);
    font-size: .72rem;
    font-weight: 750;
    line-height: 1.3;
}

.contracts-hero__kpis {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: stretch;
    gap: 0;
    border-top: 1px solid rgba(255, 255, 255, .14);
    background: rgba(5, 24, 55, .2);
}

.contracts-hero__kpi {
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 4rem;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    margin: 0;
    padding: .85rem .9rem;
    border: 0;
    border-left: 1px solid rgba(255, 255, 255, .09);
    border-radius: 0;
    background: transparent;
    color: #fff;
    text-align: left;
    text-decoration: none;
    transition: background-color 160ms ease;
}

.contracts-hero__kpi:first-child {
    border-left: 0;
}

a.contracts-hero__kpi:hover,
a.contracts-hero__kpi:focus-visible {
    background: rgba(255, 255, 255, .1);
    color: #fff;
    text-decoration: none;
}

a.contracts-hero__kpi:focus-visible {
    position: relative;
    z-index: 3;
    outline: 2px solid rgba(255, 255, 255, .84);
    outline-offset: -2px;
}

.contracts-hero__kpi > span {
    display: block;
    color: rgba(255, 255, 255, .65);
    font-size: .55rem;
    font-weight: 850;
    letter-spacing: .035em;
    line-height: 1.2;
    text-transform: uppercase;
}

.contracts-hero__kpi > strong {
    display: block;
    margin-top: .24rem;
    color: #fff;
    font-size: .78rem;
    font-weight: 850;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.contracts-collection-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border-bottom: 1px solid var(--border);
    background: #fff;
}

.contracts-collection-header h2 {
    margin: 0;
    color: var(--ink);
    font-size: clamp(1.25rem, 2.4vw, 1.65rem);
    line-height: 1.18;
    text-align: left;
}

.contracts-collection-header > div > p:last-child {
    max-width: 46rem;
    margin: .42rem 0 0;
    color: var(--muted);
    font-size: .84rem;
    line-height: 1.5;
}

.contracts-collection-eyebrow {
    margin: 0 0 .3rem;
    color: var(--blue);
    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .09em;
    line-height: 1.25;
    text-transform: uppercase;
}

.contracts-collection-summary {
    flex: 0 0 auto;
    margin: 0;
    color: var(--muted);
    font-size: .75rem;
    font-weight: 750;
    line-height: 1.35;
    text-align: right;
}

.contracts-collection-summary strong {
    color: var(--ink);
    font-size: .92rem;
}

.contracts-list-shell {
    scroll-margin-top: 1rem;
}

@media (max-width: 68rem) {
    .contracts-hero__portrait:nth-child(n+6) {
        display: none;
    }

    .contracts-hero__kpis {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .contracts-hero__kpi:nth-child(1),
    .contracts-hero__kpi:nth-child(4) {
        border-left: 0;
    }
}

@media (max-width: 47.99rem) {
    .contracts-hero__portrait:nth-child(n+4) {
        display: none;
    }

    .contracts-hero__topline {
        min-height: 0;
        align-items: flex-start;
        flex-direction: column;
        gap: .24rem;
        padding: .75rem .8rem;
    }

    .contracts-hero__scoreboard {
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        gap: .45rem;
        padding: 1.25rem .75rem;
    }

    .contracts-hero--match h1 {
        font-size: clamp(2rem, 10.5vw, 3.15rem);
        line-height: .98;
    }

    .contracts-hero__title p {
        font-size: .58rem;
    }

    .contracts-hero__kpi {
        min-height: 3.45rem;
        padding: .62rem .52rem;
    }

    .contracts-hero__kpi > span {
        font-size: .48rem;
        letter-spacing: .02em;
    }

    .contracts-hero__kpi > strong {
        margin-top: .18rem;
        font-size: .69rem;
    }

    .contracts-collection-header {
        align-items: flex-start;
        flex-direction: column;
        gap: .45rem;
        padding: .85rem;
    }

    .contracts-collection-summary {
        text-align: left;
    }
}

@media (max-width: 24rem) {
    .contracts-hero__kpi {
        padding-inline: .38rem;
    }

    .contracts-hero__kpi > span {
        font-size: .44rem;
    }
}

/* v2: herons höjd följer innehållet så KPI-raden ligger längst ned */
@media (min-width: 48rem) {
    .contracts-hero.contracts-hero--match {
        display: block !important;
        grid-template-columns: none !important;
        height: auto !important;
        min-height: 0 !important;
    }

    .contracts-hero--match .contracts-hero__media,
    .contracts-hero--match .contracts-hero__portraits {
        height: 100% !important;
        min-height: 0 !important;
    }
}

/* =========================================================
   Kontraktsregistret v3 – klickbar kolumnsortering
   ========================================================= */
.contracts-sort-heading {
    display: block;
    min-width: 0;
}

.contracts-sort-heading--number {
    text-align: right;
}

.contracts-sort-button {
    appearance: none !important;
    display: inline-flex !important;
    width: auto !important;
    max-width: 100%;
    min-width: 0 !important;
    min-height: 2rem !important;
    align-items: center;
    justify-content: flex-start;
    gap: .28rem;
    margin: -.35rem 0 !important;
    padding: .35rem 0 !important;
    border: 0 !important;
    border-radius: .3rem !important;
    background: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
    font: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    line-height: inherit !important;
    text-align: left !important;
    text-transform: inherit !important;
    transform: none !important;
    cursor: pointer;
}

.contracts-sort-button--number {
    width: 100% !important;
    justify-content: flex-end;
    text-align: right !important;
}

.contracts-sort-button:hover,
.contracts-sort-button.is-active {
    color: var(--blue-deep) !important;
}

.contracts-sort-button:focus-visible {
    outline: 2px solid var(--blue) !important;
    outline-offset: 2px !important;
}

.contracts-sort-indicator {
    display: inline-block;
    flex: 0 0 auto;
    min-width: .72rem;
    color: #73849a;
    font-size: .64rem;
    font-weight: 900;
    line-height: 1;
    text-align: center;
}

.contracts-sort-button.is-active .contracts-sort-indicator {
    color: var(--blue);
}

.contracts-mobile-list-header .contracts-sort-button {
    min-height: 1.5rem !important;
    margin: -.2rem 0 !important;
    padding: .2rem 0 !important;
    font-size: .61rem !important;
}

.contracts-mobile-list-header .contracts-sort-indicator {
    min-width: .55rem;
    font-size: .52rem;
}

@media (max-width: 58rem) {
    .contracts-list-header {
        display: none;
    }
}
