/* Forside. Gælder kun body.an-front. */
html.site-gymnordic body.an-front {
    --af-green: #00b34a;
    --af-green-d: #00963e;
    --af-ink: #071422;
    --af-navy: #071f28;
    --af-paper: #f7f8f8;
    background: #fff;
    color: var(--af-ink);
}
html.site-gymnordic body.an-front #main { background: #fff; padding: 0; overflow-x: clip; }

html.site-gymnordic body.an-front .site-header {
    background: #fff;
    color: var(--af-ink);
    border-bottom: 1px solid #e7ecef;
    position: sticky;
    top: 0;
    z-index: 80;
}
html.site-gymnordic body.an-front .bar,
html.site-gymnordic body.an-front .masthead { display: none; }
html.site-gymnordic body.an-front .af-top { align-items: stretch; }
html.site-gymnordic body.an-front .an-text {
    flex: 1 1 auto; min-width: 0; align-self: stretch;
    align-items: center;
    position: static; border: 0; background: transparent; overflow: visible;
}
html.site-gymnordic body.an-front .an-text-bar {
    display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: center;
    gap: .15rem .85rem; width: 100%; margin: 0; padding: 0;
    overflow-x: auto; scrollbar-width: none;
}
html.site-gymnordic body.an-front .an-text-bar::-webkit-scrollbar { display: none; }
html.site-gymnordic body.an-front .an-text-tab {
    padding: .35rem .1rem; border-radius: 0; background: transparent;
    color: #24323c; font-weight: 650; font-size: .9rem; white-space: nowrap;
}
html.site-gymnordic body.an-front .an-text-tab svg,
html.site-gymnordic body.an-front .an-text-tab .an-ico { display: none; }
html.site-gymnordic body.an-front .an-text-tab:hover,
html.site-gymnordic body.an-front .an-text-tab[aria-expanded="true"] { background: transparent; color: var(--af-green-d); }
html.site-gymnordic body.an-front .an-text-tab.is-active,
html.site-gymnordic body.an-front .an-text-tab.is-active:hover {
    background: transparent; color: #071422; box-shadow: inset 0 -2px 0 var(--af-green);
}
html.site-gymnordic body.an-front .an-text-tab:focus-visible {
    outline: 2px solid var(--af-green); outline-offset: 3px; border-radius: 4px;
}
html.site-gymnordic body.an-front .an-text-panel {
    position: absolute; left: 0; right: 0; top: 100%; z-index: 40;
    background: #faf8f4; box-shadow: 0 18px 40px rgba(7, 20, 34, .16);
}
html.site-gymnordic body.an-front .an-text-panel::before {
    content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px;
}
html.site-gymnordic body.an-front .af-search { margin-left: 0; }
html.site-gymnordic body.an-front .af-brand,
html.site-gymnordic body.an-front .af-search,
html.site-gymnordic body.an-front .af-tools { align-self: center; }

.af-top {
    display: flex; align-items: center; gap: .9rem;
    min-height: 64px; padding: .35rem 1.2rem;
    max-width: 1440px; margin: 0 auto;
}
.af-brand { display: inline-flex; align-items: center; gap: .4rem; color: var(--af-ink); text-decoration: none; font-weight: 800; font-size: 1.22rem; letter-spacing: -.045em; white-space: nowrap; }
.af-brand svg { width: 1.35rem; height: 1.35rem; flex: 0 0 auto; }
.af-brand b { color: var(--af-green); font-weight: 800; }
.af-nav { display: flex; align-items: center; gap: .95rem; min-width: 0; }
.af-nav a { color: #24323c; text-decoration: none; font-weight: 650; font-size: .9rem; white-space: nowrap; }
.af-nav a:hover { color: var(--af-green-d); }
.af-nav a.is-deal { color: #e10600; }
.af-search {
    margin-left: auto; display: flex; align-items: center; gap: .45rem;
    width: min(280px, 26vw); height: 40px; padding: 0 .95rem;
    border: 0; border-radius: 999px; background: #f2f4f6; color: #8b97a1;
    font: inherit; font-size: .86rem; cursor: pointer; text-align: left;
}
.af-search svg { width: 1rem; height: 1rem; flex: 0 0 auto; }
.af-search span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.af-tools { display: flex; align-items: center; gap: .15rem; }
.af-icon {
    width: 2.4rem; height: 2.4rem; display: grid; place-items: center;
    border: 0; background: transparent; color: var(--af-ink); border-radius: 999px; cursor: pointer; text-decoration: none;
}
.af-icon svg { width: 1.35rem; height: 1.35rem; }
.af-icon:hover { background: #f3f6f4; }

.af-hero { position: relative; min-height: clamp(26rem, 62vh, 38rem); color: #fff; display: grid; align-items: center; overflow: hidden; background: #16324a; }
.af-hero-photo, .af-run img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.af-hero-photo { object-position: 64% center; }
.af-hero-shade, .af-run-shade { position: absolute; inset: 0; }
.af-hero-shade { background: linear-gradient(90deg, rgba(6, 20, 32, .72) 0%, rgba(6, 20, 32, .28) 48%, rgba(6, 20, 32, .05) 100%); }
.af-hero-copy { position: relative; z-index: 1; max-width: 40rem; padding: clamp(2.2rem, 5vw, 4rem) clamp(1.2rem, 4vw, 3.2rem); }
.af-kicker { margin: 0 0 .7rem; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 800; color: #7dffb0; }
.af-hero h1 { margin: 0; font-size: clamp(2.6rem, 4.6vw, 4.5rem); line-height: .96; letter-spacing: -.04em; color: #fff; max-width: 12ch; font-weight: 800; }
.af-lead { margin: 1rem 0 0; max-width: 36rem; font-size: 1.05rem; line-height: 1.45; color: rgba(255,255,255,.94); }
.af-hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.35rem; }
.af-script { position: absolute; z-index: 1; right: 1.4rem; top: 18%; margin: 0; max-width: 9.5rem; font-family: Caveat, "Segoe Script", cursive; font-size: clamp(1.7rem, 2.4vw, 2.35rem); line-height: .95; color: #fff; text-align: right; text-shadow: 0 2px 12px rgba(0,0,0,.35); }
.af-script-run { top: auto; bottom: 16%; right: 4.5rem; max-width: 8rem; font-size: clamp(2rem, 3vw, 2.7rem); }
.af-script-run::after { content: ""; display: block; height: 3px; margin-top: .2rem; background: var(--af-green); border-radius: 99px; }

.af-btn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 2.7rem; padding: .5rem 1.15rem; border-radius: 999px; font-weight: 750; text-decoration: none; border: 1.5px solid transparent; line-height: 1; }
.af-btn-fill { background: var(--af-green); color: #fff; }
.af-btn-fill:hover { background: var(--af-green-d); color: #fff; }
.af-btn-line { background: rgba(8, 20, 28, .28); color: #fff; border-color: rgba(255,255,255,.85); }
.af-btn-line:hover { background: #fff; color: var(--af-ink); }
.af-btn-block { width: 100%; min-height: 2.35rem; border-radius: 8px; font-size: .92rem; }

.af-perks { background: #fff; border-bottom: 1px solid #e7ecef; }
.af-perks ul { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; width: min(1180px, calc(100% - 2rem)); margin: 0 auto; padding: 1.05rem 0; }
.af-perks li { display: grid; grid-template-columns: 2.5rem 1fr; column-gap: .7rem; align-items: center; }
.af-perks span { grid-row: 1 / span 2; width: 2.5rem; height: 2.5rem; border-radius: 10px; background: #eefbf3; color: var(--af-green-d); display: grid; place-items: center; }
.af-perks svg { width: 1.15rem; height: 1.15rem; }
.af-perks strong { color: var(--af-ink); font-size: .95rem; }
.af-perks small { color: #66727c; line-height: 1.3; }

.af-cats { background: var(--af-navy); color: #fff; padding: 1.7rem 0 1.9rem; }
.af-offers { background: #fff; padding: 1.8rem 0 2rem; }
.af-guides { background: var(--af-navy); color: #fff; padding: 1.5rem 0 1.8rem; }
.af-brands { padding: 1.3rem 0 1.5rem; text-align: center; }
.af-head, .af-cat-grid, .af-offer-grid, .af-guide-grid, .af-brands { width: min(1180px, calc(100% - 2.4rem)); margin-inline: auto; }
.af-head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: .95rem; }
.af-head h2 { margin: 0; font-size: clamp(1.55rem, 2.2vw, 2rem); font-weight: 800; letter-spacing: -.03em; }
.af-head a { color: var(--af-green); font-weight: 750; text-decoration: none; white-space: nowrap; }

.af-slider { position: relative; }
.af-cat-grid { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.af-cat-grid::-webkit-scrollbar { display: none; }
.af-cat { position: relative; display: block; flex: 0 0 calc((100% - 70px) / 6); aspect-ratio: 1 / 1.05; border-radius: 12px; overflow: hidden; color: #fff; text-decoration: none; background: #12323c; scroll-snap-align: start; }
.af-arrow { position: absolute; top: 50%; z-index: 2; width: 2.35rem; height: 2.35rem; margin-top: -1.15rem; border: 0; border-radius: 999px; background: #fff; color: #071422; font-size: 1.35rem; line-height: 1; cursor: pointer; box-shadow: 0 4px 14px rgba(0,0,0,.22); }
.af-arrow[data-front-prev] { left: -.3rem; }
.af-arrow[data-front-next] { right: -.3rem; }
.af-arrow[hidden] { display: none; }
.af-cat img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.af-cat span { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.8rem .75rem .7rem; background: linear-gradient(transparent, rgba(0,0,0,.72)); font-weight: 750; font-size: 1.02rem; }

.af-offer-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.af-card { min-width: 0; background: #fff; border-radius: 12px; border: 1px solid #eceff2; box-shadow: 0 8px 22px rgba(7, 20, 34, .05); display: flex; flex-direction: column; overflow: hidden; }
.af-card-media { position: relative; display: grid; place-items: center; height: 120px; padding: .45rem .55rem 0; background: #fff; }
.af-card-media img { width: auto; height: auto; max-width: 100%; max-height: 100px; object-fit: contain; }
.af-card-media em { position: absolute; top: .55rem; left: .55rem; background: var(--af-green); color: #fff; font-style: normal; font-weight: 800; font-size: .72rem; border-radius: 999px; padding: .15rem .42rem; }
.af-card-body { padding: .35rem .7rem .7rem; display: flex; flex-direction: column; gap: .4rem; flex: 1; }
.af-card h3 { margin: 0; min-height: 3.15em; font-size: .8rem; line-height: 1.25; font-weight: 700; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.af-card h3 a { color: var(--af-ink); text-decoration: none; }
.af-price { margin: 0 0 .15rem; display: flex; flex-wrap: wrap; gap: .15rem .4rem; align-items: baseline; min-height: 1.4em; }
.af-price s { color: #8b97a1; font-size: .78rem; }
.af-price strong { color: var(--af-green-d); font-size: 1.02rem; }

.af-run { position: relative; height: 380px; overflow: hidden; color: #fff; display: grid; align-items: center; background: #1b3344; }
.af-run img { object-position: 74% 58%; }
.af-run-shade { background: linear-gradient(90deg, rgba(5, 16, 24, .78) 0%, rgba(5, 16, 24, .35) 46%, rgba(5, 16, 24, .08) 100%); }
.af-run-copy { position: relative; z-index: 1; width: min(1180px, calc(100% - 2.4rem)); margin-inline: auto; }
.af-run h2 { margin: 0; color: #fff; font-size: clamp(2.4rem, 4.4vw, 3.6rem); line-height: .95; letter-spacing: -.04em; max-width: 11ch; font-weight: 800; }
.af-run p { margin: .85rem 0 1.15rem; max-width: 34rem; color: rgba(255,255,255,.94); font-size: 1.02rem; }

.af-guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.af-guide { display: grid; grid-template-columns: 112px minmax(0, 1fr); min-height: 104px; background: #0d2c36; color: #fff; text-decoration: none; border-radius: 12px; overflow: hidden; }
.af-guide img { width: 100%; height: 100%; object-fit: cover; background: #164656; }
.af-guide-copy { display: flex; flex-direction: column; gap: .2rem; padding: .7rem .8rem .65rem; min-width: 0; }
.af-guide strong { font-size: .95rem; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.af-guide small { color: rgba(255,255,255,.78); line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.af-guide em { margin-top: auto; font-style: normal; color: #7dffb0; font-weight: 750; font-size: .86rem; }

.af-brands p { margin: 0 0 .75rem; letter-spacing: .16em; text-transform: uppercase; font-size: .72rem; font-weight: 800; color: #7b8792; }
.af-brands ul { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: .55rem 1.5rem; margin: 0; padding: 0; }
.af-brands li { font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #1c2a36; font-size: .92rem; }

html.site-gymnordic body.an-front .site-footer { background: #071f28; color: #e7efe9; margin-top: 0; }
html.site-gymnordic body.an-front .site-footer a,
html.site-gymnordic body.an-front .site-footer .footer-heading,
html.site-gymnordic body.an-front .site-footer .logo-mark,
html.site-gymnordic body.an-front .site-footer .logo-thin,
html.site-gymnordic body.an-front .site-footer .logo-heavy { color: #fff; }
html.site-gymnordic body.an-front .site-footer .muted,
html.site-gymnordic body.an-front .site-footer .footer-note,
html.site-gymnordic body.an-front .site-footer .footer-bottom { color: rgba(231, 239, 233, .72); }

html.site-gymnordic body.an-front .af-hero h1,
html.site-gymnordic body.an-front .af-hero .af-lead,
html.site-gymnordic body.an-front .af-run h2,
html.site-gymnordic body.an-front .af-run p,
html.site-gymnordic body.an-front .af-cats h2,
html.site-gymnordic body.an-front .af-guides h2,
html.site-gymnordic body.an-front .af-guide,
html.site-gymnordic body.an-front .af-guide strong,
html.site-gymnordic body.an-front .af-cat span,
html.site-gymnordic body.an-front .af-btn-fill,
html.site-gymnordic body.an-front .af-btn-fill:hover,
html.site-gymnordic body.an-front .af-btn-line { color: #fff; }
html.site-gymnordic body.an-front .af-btn-line:hover { color: var(--af-ink); }
html.site-gymnordic body.an-front .af-offers h2,
html.site-gymnordic body.an-front .af-card h3,
html.site-gymnordic body.an-front .af-card h3 a { color: var(--af-ink); }
html.site-gymnordic body.an-front .af-price strong { color: var(--af-green-d); }
html.site-gymnordic body.an-front .af-head a,
html.site-gymnordic body.an-front .af-cats .af-head a,
html.site-gymnordic body.an-front .af-guides .af-head a,
html.site-gymnordic body.an-front .af-guide em,
html.site-gymnordic body.an-front .af-kicker { color: #7dffb0; }
html.site-gymnordic body.an-front .af-offers .af-head a { color: var(--af-green); }

@media (min-width: 981px) {
    html.site-gymnordic body.an-front .an-text { display: flex; }
    html.site-gymnordic body.an-front .af-burger { display: none; }
}
@media (max-width: 980px) {
    html.site-gymnordic body.an-front .an-text { display: none !important; }
    html.site-gymnordic body.an-front .af-search { margin-left: auto; }
    html.site-gymnordic body.an-front.nav-open .site-header { z-index: 220; }
    html.site-gymnordic body.an-front.nav-open .nav { z-index: 2; }
    html.site-gymnordic body.an-front.nav-open .nav-overlay { z-index: 200; }
}
@media (max-width: 1100px) {
    .af-nav { display: none; }
    .af-offer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .af-cat { flex-basis: calc((100% - 28px) / 3); }
    .af-search { width: min(220px, 40vw); }
}
@media (max-width: 760px) {
    .af-top { min-height: 64px; padding-inline: .8rem; gap: .4rem; }
    .af-search span { display: none; }
    .af-search { width: 2.4rem; height: 2.4rem; padding: 0; justify-content: center; margin-left: auto; background: transparent; color: var(--af-ink); }
    .af-perks ul, .af-guide-grid { grid-template-columns: 1fr; }
    .af-cat-grid, .af-offer-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding-bottom: .3rem; scrollbar-width: none; }
    .af-cat-grid::-webkit-scrollbar, .af-offer-grid::-webkit-scrollbar { display: none; }
    .af-cat { flex: 0 0 68%; scroll-snap-align: start; aspect-ratio: 1 / 1; }
    .af-card { flex: 0 0 78%; scroll-snap-align: start; }
    .af-hero { display: block; min-height: 0; }
    .af-hero-photo { position: relative; height: 15.5rem; object-position: 70% center; }
    .af-hero-shade { background: linear-gradient(180deg, rgba(6,20,32,.05), rgba(6,20,32,.78)); }
    .af-hero-copy { margin-top: -6.5rem; }
    .af-script { position: absolute; top: 1rem; right: 1rem; }
    .af-run { height: 280px; }
    .af-run img { object-position: center 42%; }
    .af-script-run { bottom: 1rem; }
}
