/* ============================================================
   Atlungstad – eget tema. Fase 1 (22.09.2026).
   Palett og typografi fra mockupen: krem/sand/mørkegrønn/mose,
   Fraunces (display) + Instrument Sans (brødtekst), selvhostet.
   Mobil først. Ingen bokser med skygge; tynne linjer og luft.
   ============================================================ */
:root {
  --krem: #f5f2ea; --sand: #e9e3d5; --hvitkrem: #fbfaf7; --linje: #dcd6c8; --linje-lys: #e6e1d5;
  --gronn-dyp: #12291d; --gronn: #1b3a2a; --gronn-mellom: #285f47; --mose: #3f6318; --mose-lys: #9ccb5a; --mose-blek: #cfe3d6;
  --blekk: #1f2a24; --tekst-2: #4b544e; --stein: #5b6059; --rod: #e0736f; --gul: #d9a441;
  /* Aksentfarger (22.09: blått fra logoen ble prøvd og forkastet av Gudjon – aksentene er grønne) */
  --mjosa: #3f6318; --mjosa-dyp: #1b3a2a; --mjosa-lys: #9ccb5a; --mjosa-blek: #d8f0c6;
  --serif: 'Fraunces', Georgia, 'Times New Roman', serif; --sans: 'Instrument Sans', 'Helvetica Neue', Arial, sans-serif;
  --wrap: 1312px; --gutter: 20px; --radius: 8px;
  --atl-topp-h: 36px; --atl-header-h: 108px;
}
@media (min-width: 768px) { :root { --gutter: 40px; } }
@media (min-width: 1100px) { :root { --gutter: 64px; } }

/* ---------- Grunn ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body { margin: 0; background: var(--krem); color: var(--blekk); font-family: var(--sans); font-size: 17px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--gronn); text-decoration: none; }
a:hover { color: var(--gronn-dyp); }
h1, h2, h3, h4 { font-family: var(--serif); font-weight: 400; letter-spacing: -0.015em; line-height: 1.1; color: var(--gronn-dyp); margin: 0 0 .5em; }
h1 { font-size: clamp(38px, 6vw, 72px); line-height: 1.03; }
h2 { font-size: clamp(30px, 3.6vw, 46px); line-height: 1.12; }
h3 { font-size: clamp(22px, 2.2vw, 28px); }
h4 { font-size: 20px; font-family: var(--sans); font-weight: 600; }
h1 em, h2 em, .atl-serif em { font-style: italic; color: var(--mjosa); }
p { margin: 0 0 1.1em; }
.atl-serif { font-family: var(--serif); font-weight: 400; letter-spacing: -0.015em; }
.atl-wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
.atl-kicker, .atl-kicker-lys { display: block; font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--mose); margin: 0 0 12px; }
.atl-kicker-lys { color: var(--mose-blek); }
.atl-ingress { font-size: clamp(17px, 1.4vw, 20px); line-height: 1.55; color: var(--tekst-2); }
.atl-lenke { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--gronn); border-bottom: 1px solid var(--mjosa-lys); padding-bottom: 3px; transition: border-color .15s; }
.atl-lenke:hover { border-color: var(--mjosa); }
.atl-lenke .atl-pil, .atl-rader a::after, .atl-sidemeny a::after { color: var(--mjosa); }
.atl-pil { display: inline-block; transition: transform .15s; }
a:hover .atl-pil, button:hover .atl-pil { transform: translateX(3px); }
.atl-skjult { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.atl-hopp { position: absolute; left: -999px; top: 8px; z-index: 1000; background: var(--gronn); color: #fff; padding: 10px 16px; border-radius: 6px; }
.atl-hopp:focus { left: 8px; }
:focus-visible { outline: 2px solid var(--mjosa); outline-offset: 3px; }
/* Bølgelinje – Mjøsa som seksjonsskille */
.atl-bolge { height: 18px; margin: 8px 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='18' viewBox='0 0 80 18'%3E%3Cpath d='M0 9c10-8 20-8 30 0s20 8 30 0 20-8 30 0' fill='none' stroke='%234f7a1f' stroke-width='1.5' opacity='.45'/%3E%3C/svg%3E") repeat-x center; }
.atl-bolge-lys { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='18' viewBox='0 0 80 18'%3E%3Cpath d='M0 9c10-8 20-8 30 0s20 8 30 0 20-8 30 0' fill='none' stroke='%239ccb5a' stroke-width='1.5' opacity='.55'/%3E%3C/svg%3E"); }

/* ---------- Knapper ---------- */
.atl-btn, .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 24px; border-radius: 6px; font-family: var(--sans); font-size: 15px; font-weight: 600; line-height: 1.2; border: 1px solid transparent; cursor: pointer; transition: background .15s, color .15s, border-color .15s; text-decoration: none; }
.atl-btn-primar, .wp-block-button__link { background: var(--gronn); color: #fff; border-color: var(--gronn); }
.atl-btn-primar:hover, .wp-block-button__link:hover { background: var(--gronn-dyp); color: #fff; }
.atl-btn-lys, .atl-btn-lys .wp-block-button__link { background: #fff; color: var(--gronn-dyp); border-color: #fff; }
.atl-btn-lys:hover, .atl-btn-lys .wp-block-button__link:hover { background: var(--mose-blek); color: var(--gronn-dyp); }
.atl-btn-ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.6); }
.atl-btn-ghost:hover { background: rgba(255,255,255,.12); color: #fff; }
.atl-btn-utlinje { background: transparent; color: var(--gronn); border-color: var(--gronn); }
.atl-btn-utlinje:hover { background: var(--gronn); color: #fff; }
.atl-btn .atl-pil { color: currentColor; opacity: .75; }

/* ---------- Topplinje + header ---------- */
.atl-topplinje { background: var(--gronn-dyp); color: var(--mose-blek); font-size: 13px; transition: margin-top .28s ease, opacity .2s ease; }
.atl-topplinje .atl-wrap { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px 10px; padding-top: 8px; padding-bottom: 8px; }
.atl-topplinje a { color: #fff; }
.atl-topp-skille { color: #6f8f7c; }
body.atl-scrolled .atl-topplinje { margin-top: calc(-1 * var(--atl-topp-h)); opacity: 0; pointer-events: none; }
.atl-header { position: sticky; top: 0; z-index: 500; background: var(--hvitkrem); border-bottom: 1px solid var(--linje-lys); transition: box-shadow .2s; }
body.atl-scrolled .atl-header { box-shadow: 0 2px 14px rgba(27,58,42,.08); }
.atl-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 72px; }
.atl-logo img { height: 52px; width: auto; }
.atl-header-handling { display: flex; align-items: center; gap: 10px; }
.atl-spor-knapp.atl-btn { min-height: 44px; padding: 0 16px 0 14px; font-size: 14.5px; }
.atl-spor-knapp .atl-pil { color: var(--mjosa-lys); }
.atl-burger { width: 46px; height: 44px; border: 1px solid #cfc8b8; border-radius: 6px; background: transparent; color: var(--blekk); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.atl-burger[aria-expanded="true"] { background: var(--gronn); color: #fff; border-color: var(--gronn); }
.atl-nav { display: none; }
@media (max-width: 479px) { .atl-spor-tekst, .atl-spor-knapp .atl-pil { display: none; } .atl-spor-knapp.atl-btn { padding: 0 13px; } }
@media (min-width: 1200px) { /* 23.09: 1100→1200, sju toppunkter trenger plassen */
  .atl-header-inner { height: 88px; }
  .atl-logo img { height: 64px; }
  .atl-nav { display: block; flex: 1 1 auto; }
  .atl-burger { display: none; }
  .atl-nav-liste { list-style: none; margin: 0; padding: 0; display: flex; justify-content: center; gap: 2px; }
  .atl-nav-punkt > .atl-nav-knapp, .atl-nav-punkt > .atl-nav-lenke { display: inline-flex; align-items: center; gap: 6px; height: 88px; padding: 0 12px; white-space: nowrap; background: none; border: 0; font: 500 15.5px/1 var(--sans); color: var(--blekk); cursor: pointer; position: relative; }
  .atl-nav-punkt > .atl-nav-knapp::after, .atl-nav-punkt > .atl-nav-lenke::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 22px; height: 2px; background: var(--mjosa); opacity: 0; transition: opacity .15s; }
  .atl-nav-punkt:hover > .atl-nav-knapp, .atl-nav-punkt:hover > .atl-nav-lenke, .atl-nav-punkt.open > .atl-nav-knapp, .atl-nav-punkt.aktiv > .atl-nav-knapp, .atl-nav-punkt.aktiv > .atl-nav-lenke { color: var(--gronn); }
  .atl-nav-punkt.open > .atl-nav-knapp::after, .atl-nav-punkt.aktiv > .atl-nav-knapp::after, .atl-nav-punkt.aktiv > .atl-nav-lenke::after { opacity: 1; }
  .atl-chevron { transition: transform .15s; opacity: .6; }
  .atl-nav-punkt.open .atl-chevron { transform: rotate(180deg); }
  /* Megapanel: full bredde under headeren */
  .atl-mega { position: absolute; left: 0; right: 0; top: 100%; background: var(--hvitkrem); border-top: 1px solid var(--linje-lys); border-bottom: 1px solid var(--linje-lys); box-shadow: 0 18px 40px rgba(18,41,29,.10); animation: atl-mega-inn .18s ease-out; }
  @keyframes atl-mega-inn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
  .atl-mega-inner { display: grid; grid-template-columns: 1fr 340px; gap: 48px; padding-top: 36px; padding-bottom: 40px; }
  .atl-mega-kolonner { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
  .atl-mega-tittel { display: block; font-family: var(--serif); font-size: 20px; color: var(--gronn-dyp); margin: 0 0 12px; padding-bottom: 10px; border-bottom: 1px solid var(--linje); }
  a.atl-mega-tittel:hover { color: var(--mose); }
  .atl-mega-lenker { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
  .atl-mega-lenker a { display: block; padding: 8px 0; font-size: 15px; color: var(--blekk); border-radius: 4px; transition: color .15s, padding-left .15s; }
  .atl-mega-lenker a:hover, .atl-mega-lenker li.aktiv > a { color: var(--gronn); padding-left: 6px; }
  .atl-mega-beskr { display: block; font-size: 13px; color: var(--stein); }
  .atl-mega-kort { display: flex; flex-direction: column; border-radius: var(--radius); overflow: hidden; background: var(--sand); color: var(--blekk); }
  .atl-mega-kort img { width: 100%; height: 170px; object-fit: cover; }
  .atl-mega-kort-tekst { display: flex; flex-direction: column; gap: 4px; padding: 18px 20px 20px; font-size: 14px; color: var(--tekst-2); }
  .atl-mega-kort-tekst strong { font-family: var(--serif); font-size: 21px; font-weight: 400; color: var(--gronn-dyp); }
  .atl-mega-kort .atl-pil { color: var(--mose); margin-top: 6px; }
  .atl-mega-kort:hover { background: var(--mose-blek); }
}
@media (min-width: 1200px) and (max-width: 1365px) { /* 23.09: sju toppunkter på smal PC – aldri linjebrekk */
  .atl-nav-punkt > .atl-nav-knapp, .atl-nav-punkt > .atl-nav-lenke { font-size: 14px; padding: 0 8px; gap: 4px; }
  .atl-nav-punkt > .atl-nav-knapp::after, .atl-nav-punkt > .atl-nav-lenke::after { left: 8px; right: 8px; }
  .atl-spor-knapp.atl-btn { padding: 0 12px 0 11px; font-size: 14px; }
  .atl-header-inner { gap: 10px; }
}
/* Mobilmeny */
.atl-mobilmeny { position: absolute; left: 0; right: 0; top: 100%; max-height: calc(100vh - var(--atl-header-h)); max-height: calc(100dvh - 72px); overflow-y: auto; background: var(--hvitkrem); border-bottom: 1px solid var(--linje-lys); box-shadow: 0 18px 40px rgba(18,41,29,.12); padding: 8px var(--gutter) 24px; }
.atl-mob-liste, .atl-mob-under { list-style: none; margin: 0; padding: 0; }
.atl-mob-liste > li { border-bottom: 1px solid var(--linje); }
.atl-mob-liste > li > a, .atl-mob-knapp { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 16px 0; background: none; border: 0; font: 500 18px/1.2 var(--sans); color: var(--blekk); text-align: left; cursor: pointer; }
.atl-mob-knapp[aria-expanded="true"] { color: var(--gronn); }
.atl-mob-knapp[aria-expanded="true"] .atl-chevron { transform: rotate(180deg); }
.atl-mob-liste > li > .atl-mob-under { display: none; padding: 0 0 12px 12px; }
.atl-mob-liste > li.open > .atl-mob-under { display: block; }
.atl-mob-tittel { display: block; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--mose); font-weight: 600; margin: 12px 0 4px; }
.atl-mob-under.niv2 a { display: block; padding: 9px 0; font-size: 16px; color: var(--blekk); }
.atl-mob-bunn { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 20px; }
body.atl-mob-open { overflow: hidden; }
@media (min-width: 1200px) { .atl-mobilmeny { display: none !important; } }

/* ---------- Hero (forside), redesign 23.09.2026 (Gudjons GO): stort banebilde, tekst øverst til venstre, bredt statusbånd nederst ---------- */
.atl-hero { position: relative; min-height: 680px; /* 23.09: romslig minstehøyde så heroen ikke krymper ved fontbytte (CLS) – innholdet på mobil er ~610 px */ background: var(--gronn-dyp) 22% 40% / cover no-repeat; /* mobil: treet (30 % inn i bildet) skal være i utsnittet */ background-image: var(--atl-hero-m, var(--atl-hero)); color: #fff; }
/* lettere overlegg enn før: mørkt bare bak teksten (venstre/topp) og mot bunnen der båndet ligger – Mjøsa og banen synes */
.atl-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18,41,29,.10) 0%, rgba(18,41,29,.06) 34%, rgba(18,41,29,.42) 52%, rgba(18,41,29,.58) 100%); } /* mobil: mørkt fra teksten og ned */
@media (min-width: 900px) { .atl-hero::before { background: radial-gradient(ellipse 760px 230px at 26% 13%, rgba(18,41,29,.66) 0%, rgba(18,41,29,.44) 45%, rgba(18,41,29,.12) 80%, rgba(18,41,29,0) 100%), linear-gradient(180deg, rgba(18,41,29,0) 62%, rgba(18,41,29,.52) 100%); } } /* 23.09 (Gudjon, siste finjustering): LOKAL mørkning som ellipse bak overskrift + ingress (øverst til venstre, borte før treet ~30 % ned) + mot båndet nederst */ /* PC: mykt mørkt bare bak tekstkolonnen til venstre (slutter før treet ved 30 %) + mot båndet nederst */
.atl-hero-inner { position: relative; min-height: 680px; display: flex; flex-direction: column; justify-content: flex-start; padding-top: 256px; padding-bottom: 48px; } /* mobil: teksten starter under treet (treet ligger ~180–220 px ned i utsnittet) */ /* toppforankret: teksten flytter seg ikke når fonten lastes */
.atl-hero-tekst { max-width: 720px; display: flex; flex-direction: column; gap: 16px; }
/* 23.09 (Gudjon, komposisjon 3): PC = tre soner. Øverst til venstre: overskrift på én linje + ingress. Midten: åpent (treet, banen, Mjøsa).
   Nederst til venstre: knappene like over statusbåndet (margin-top:auto skyver dem ned). Ingen absolutte posisjoner. */
@media (min-width: 900px) { .atl-hero-tekst { max-width: 700px; gap: 12px; min-height: calc(720px - 68px - 180px); } .atl-hero .atl-hero-tekst .atl-hero-knapper { margin-top: auto; } .atl-hero h1 { max-width: none; white-space: nowrap; } } /* min-height = hero minus polstring, så margin-top:auto får plass å skyve i (flex-grow virker ikke mot min-height alene) */ /* 23.09 (Gudjon): smal kolonne i det åpne området (vann/fjell) til venstre for treet på signaturhullet */
.atl-hero h1 { color: #fff; font-size: clamp(42px, 5.4vw, 72px); margin: 0; text-shadow: 0 1px 2px rgba(0,0,0,.35), 0 2px 22px rgba(0,0,0,.32); } /* 23.09: margin 0 (grunnstilen ga .5em under = stor luft til ingressen) */
@media (min-width: 900px) { .atl-hero h1 { font-size: clamp(40px, 3.8vw, 52px); line-height: 1; letter-spacing: -0.015em; } .atl-hero h1 .atl-h1-linje { display: inline; } } /* én linje på PC */ /* 23.09 (Gudjon): mer kompakt – to linjer som henger sammen */ /* PC: to linjer («Diamanten» / «ved Mjøsa») i kolonnen ved siden av treet */
.atl-hero h1 em { color: inherit; } /* 23.09 (Gudjon): «Mjøsa» i samme lyse farge – kursiven beholdes */
.atl-hero .atl-ingress { color: #f4f8f5; max-width: 560px; margin: 0; font-size: 18px; line-height: 1.55; font-weight: 500; text-shadow: 0 1px 2px rgba(0,0,0,.45), 0 2px 16px rgba(0,0,0,.40); } /* 23.09: diskret skygge – linje 1 ligger over horisonten */
@media (min-width: 900px) { .atl-hero .atl-ingress { max-width: 640px; font-size: 17px; line-height: 1.55; } .atl-hero .atl-ingress-l1, .atl-hero .atl-ingress-l2 { display: block; } } /* 23.09: kontrollert linjeskift før « – » på PC; andre setning bryter naturlig i kolonnen */
.atl-hero-knapper { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px; }
.atl-hero-knapper .atl-btn-ghost { border-color: rgba(255,255,255,.85); background: rgba(18,41,29,.28); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); text-shadow: 0 1px 2px rgba(0,0,0,.3); } /* 23.09: marginalt tydeligere over lyst vann – fortsatt sekundære */
.atl-hero-knapper .atl-btn-ghost:hover { background: rgba(18,41,29,.45); border-color: #fff; }
@media (max-width: 599px) { .atl-hero-knapper .atl-btn { flex: 1 1 auto; } .atl-hero-knapper .atl-btn-lys { flex-basis: 100%; } } /* mobil: hovedknapp i full bredde, de to andre side om side */
@media (min-width: 900px) { .atl-hero { min-height: 720px; background-position: center 0; } /* topp-justert: treet ligger 18 px lavere, fri sikt over det */ .atl-hero-inner { min-height: 720px; justify-content: flex-start; padding-top: 68px; padding-bottom: 180px; } } /* 180 = båndet (150 opp i bildet) + 30 px luft over knappene */ /* 23.09 (Gudjon): tekstgruppa som smal kolonne VED SIDEN AV treet (treet står ved ca. 30 % fra venstre, 27–37 % ned) */
/* Statusbåndet: på PC flyter det opp over bildets nederste del; på mobil ligger det under bildet i full bredde */
.atl-sb-wrap { position: relative; z-index: 2; }
.atl-sb { background: rgba(18,41,29,.94); color: #eef5f0; padding: 22px var(--gutter) 20px; margin: 0 calc(-1 * var(--gutter)); }
@media (min-width: 900px) { .atl-sb-wrap { margin-top: -150px; } .atl-sb { margin: 0; border-radius: var(--radius); padding: 24px 32px 22px; box-shadow: 0 24px 60px -30px rgba(0,0,0,.45); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); } }
.atl-sb-rad1 { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 900px) { .atl-sb-rad1 { grid-template-columns: minmax(280px, 1.15fr) auto auto; align-items: center; column-gap: 40px; } }
.atl-sb-hoved .atl-kicker-lys { margin-bottom: 6px; color: var(--mjosa-lys); }
.atl-sb-tittel { font-family: var(--serif); font-size: clamp(23px, 2.1vw, 30px); line-height: 1.15; color: #fff; margin: 0; display: flex; align-items: center; gap: 12px; }
.atl-sb-tittel .atl-dot { width: 11px; height: 11px; flex-basis: 11px; box-shadow: 0 0 0 3px rgba(255,255,255,.12); }
.atl-sb-under { margin: 5px 0 0; font-size: 14.5px; color: #cfe3d6; line-height: 1.45; }
.atl-sb-anlegg { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; } /* alltid én per rad – ellers bryter lista annerledes med reservefonten (CLS) */
.atl-sb-anlegg li { display: flex; align-items: flex-start; gap: 8px; font-size: 15px; } /* 23.09: ingen nowrap – lange statusmeldinger ga horisontal scroll på mobil */
.atl-sb-anlegg li .atl-dot { margin-top: 7px; }
.atl-sb-navn { white-space: nowrap; flex: 0 0 auto; }
.atl-sb-status { flex: 1 1 auto; min-width: 0; } /* navnet holder bredden, statusen bryter */
.atl-sb-navn { color: #fff; } .atl-sb-status { color: #cfe3d6; }
.atl-sb-lenke { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
@media (min-width: 900px) { .atl-sb-lenke { align-items: flex-end; text-align: right; } .atl-sb-anlegg { gap: 6px; } }
.atl-sb-lenke a { color: #fff; font-weight: 600; border-bottom: 1px solid var(--mjosa-lys); padding-bottom: 2px; display: inline-flex; gap: 6px; align-items: center; }
.atl-sb-lenke a .atl-pil { color: var(--mjosa-lys); }
.atl-sb-tid { font-size: 12px; color: #9fbfae; }
/* rad 2: praktisk informasjon */
.atl-sb-praktisk { margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.16); }
.atl-sb-praktisk summary { cursor: pointer; font-weight: 600; font-size: 14.5px; color: #fff; list-style: none; display: flex; align-items: center; justify-content: space-between; min-height: 44px; }
.atl-sb-praktisk summary::-webkit-details-marker { display: none; }
.atl-sb-praktisk summary::after { content: "+"; font-size: 22px; font-weight: 400; color: var(--mjosa-lys); }
.atl-sb-praktisk[open] summary::after { content: "–"; }
.atl-sb-kol { display: grid; grid-template-columns: 1fr; gap: 14px 24px; padding: 4px 0 8px; }
@media (min-width: 520px) { .atl-sb-kol { grid-template-columns: repeat(2, 1fr); } }
.atl-sb-praktisk-pc { display: none; }
@media (min-width: 900px) { .atl-sb-praktisk-mob { display: none; } .atl-sb-praktisk-pc { display: block; margin-top: 18px; padding-top: 16px; } .atl-sb-kol { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; padding: 0; } }
.atl-sb-etikett { display: block; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--mjosa-lys); margin-bottom: 4px; }
.atl-sb-post p { margin: 0; font-size: 13.5px; line-height: 1.5; color: #e6efe9; }
.atl-forside-innhold { padding-top: 24px; }
/* Sidehero (undersider) */
.atl-sidehero { background: var(--gronn-dyp); color: #fff; padding: 56px 0 44px; }
.atl-sidehero.har-bilde { position: relative; min-height: 380px; display: flex; align-items: flex-end; background-image: var(--atl-hero-m, var(--atl-hero)); background-position: center 55%; background-size: cover; padding: 0; }
.atl-sidehero.har-bilde::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18,41,29,.08) 0%, rgba(18,41,29,.32) 45%, rgba(18,41,29,.84) 100%); }
.atl-sidehero-inner { position: relative; width: 100%; max-width: var(--wrap); }
.atl-sidehero.har-bilde .atl-sidehero-inner { padding-top: 48px; padding-bottom: 44px; }
.atl-sidehero h1 { color: #fff; margin: 0 0 12px; font-size: clamp(38px, 5.4vw, 68px); }
.atl-sidehero .atl-ingress { color: #e6efe9; max-width: 640px; margin: 0; }
@media (min-width: 768px) { .atl-sidehero.har-bilde { min-height: 480px; } }
/* 24.09: hero-varianter etter skjerm – MÅ stå etter .atl-sidehero.har-bilde-regelen (samme spesifisitet, sist vinner). FEIL FUNNET 24.09: reglene lå før, så PC fikk 768 px-bildet siden 23.09. */
@media (min-width: 768px) { .atl-hero, .atl-sidehero.har-bilde { background-image: var(--atl-hero); } }
@media (min-width: 1500px), ((min-width: 768px) and (min-resolution: 1.5dppx)) { .atl-hero, .atl-sidehero.har-bilde { background-image: var(--atl-hero-xl, var(--atl-hero)); } } /* 24.09: 1920 px på brede/høyoppløste skjermer */
@media (max-width: 767px) and (min-resolution: 2dppx) { .atl-hero, .atl-sidehero.har-bilde { background-image: var(--atl-hero-m2, var(--atl-hero-m)); } } /* 24.09: 1024 px på mobil m/ 2x+ */

/* ---------- Banestatus-linje ---------- */
.atl-status { background: var(--gronn-dyp); color: #eef5f0; font-size: 15px; }
.atl-status-inner { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 26px; padding-top: 16px; padding-bottom: 16px; }
.atl-status-tittel { font-family: var(--serif); font-size: 17px; color: #fff; padding-right: 20px; border-right: 1px solid rgba(255,255,255,.25); }
.atl-status-el { display: inline-flex; align-items: center; gap: 9px; }
.atl-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--mose-lys); flex: 0 0 9px; display: inline-block; }
.atl-dot-limited { background: var(--gul); } .atl-dot-closed { background: var(--rod); }
.atl-status-hoyre { margin-left: auto; display: inline-flex; align-items: center; gap: 18px; }
.atl-status-tid { color: #9fbfae; font-size: 13px; }
.atl-status-hoyre a { color: #fff; font-weight: 600; border-bottom: 1px solid rgba(255,255,255,.45); }
@media (max-width: 767px) { .atl-status-inner { flex-direction: column; align-items: flex-start; gap: 8px; } .atl-status-tittel { border: 0; padding: 0; } .atl-status-hoyre { margin-left: 0; } }

/* ---------- Innhold / blokker ---------- */
.atl-innhold { padding-top: 56px; padding-bottom: 72px; } /* 23.09: kun topp/bunn – «padding: 56px 0 72px» nullet sidepolstringen fra .atl-wrap (tekst helt ut til kanten på mobil, forside + arkiv) */
.atl-innhold > * + * { margin-top: 1.1em; }
.atl-innhold > h2, .atl-innhold > h3 { margin-top: 1.6em; }
.atl-innhold ul, .atl-innhold ol { padding-left: 1.3em; }
.atl-innhold li { margin: .3em 0; }
.atl-innhold table { width: 100%; border-collapse: collapse; font-size: 15.5px; }
.atl-innhold th, .atl-innhold td { text-align: left; padding: 12px 10px; border-bottom: 1px solid var(--linje); vertical-align: top; }
.atl-innhold th { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--stein); font-weight: 600; }
/* 23.09 (axe link-in-text-block): lenker i løpende tekst må skilles fra teksten uten bare farge */
.atl-innhold p a:not(.atl-btn):not(.wp-block-button__link), .atl-innhold li a:not(.atl-btn), .atl-innhold td a { text-decoration: underline; text-decoration-color: var(--mose-lys); text-underline-offset: 3px; text-decoration-thickness: 1.5px; }
.atl-innhold p a:not(.atl-btn):hover, .atl-innhold li a:hover, .atl-innhold td a:hover { text-decoration-color: currentColor; }
.atl-innhold .atl-rader li a, .atl-innhold .atl-rader li a *, .atl-innhold p a.atl-lenke { text-decoration: none; } /* radlister og seksjonslenker har egen markering (pil/strek) */
.atl-innhold blockquote { margin: 1.5em 0; padding: 18px 24px; border-left: 3px solid var(--mose-lys); background: var(--hvitkrem); font-family: var(--serif); font-size: 21px; line-height: 1.4; }
.atl-innhold figure { margin: 1.6em 0; }
/* 25.09 blokkonvertering: tabellblokker skal se ut som før (rå HTML) – nuller kjerneblokkenes egne stiler */
.atl-innhold figure.wp-block-table { margin: 1.1em 0 0; overflow-x: auto; }
.atl-innhold .wp-block-table table { border-collapse: collapse; width: 100%; }
.atl-innhold .wp-block-table thead { border-bottom: 0; }
.atl-innhold .wp-block-table td, .atl-innhold .wp-block-table th { border: 0; border-bottom: 1px solid var(--linje); padding: 12px 10px; }
.atl-innhold .wp-block-table.has-fixed-layout { table-layout: auto; }
.atl-innhold img { border-radius: var(--radius); }
.atl-innhold figcaption { font-size: 14px; color: var(--stein); margin-top: 8px; }
.atl-lesebredde { max-width: 720px; }
.alignwide { max-width: var(--wrap); margin-left: auto; margin-right: auto; }
.alignfull { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); }
/* seksjonsmønstre */
.atl-seksjon { padding: 40px 0; }
.atl-midt { text-align: center; max-width: 900px; margin-left: auto; margin-right: auto; }
.atl-midt .atl-kicker { text-align: center; }
.atl-stor { font-size: clamp(30px, 3.8vw, 50px); line-height: 1.15; }
.atl-fakta { padding: 24px 0 8px; border-top: 1px solid var(--linje); }
.atl-tall { font-family: var(--serif); font-size: clamp(36px, 3.4vw, 44px); color: var(--gronn-dyp); margin: 0; line-height: 1; }
.atl-tall-tekst { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--stein); margin: 6px 0 0; }
.atl-sitatband { border-radius: var(--radius); overflow: hidden; }
.atl-sitat { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: clamp(28px, 3.8vw, 54px); line-height: 1.12; color: #fff; max-width: 900px; margin: 0 auto; }
.atl-kort-rekke { gap: 28px; }
.atl-kort { background: var(--hvitkrem); border-radius: var(--radius); overflow: hidden; }
.atl-kort-bilde img { width: 100%; height: 240px; object-fit: cover; border-radius: 0; }
.atl-kort-tekst { padding: 24px 26px 28px; }
.atl-kort-tekst h3, .atl-kort-tekst h2 { margin-bottom: 8px; }
.atl-kort-tekst p { margin: 0 0 8px; font-size: 15.5px; color: var(--tekst-2); }
.atl-band { background: var(--gronn-dyp); color: #fff; border-radius: var(--radius); padding: 48px var(--gutter); }
.atl-band h2 { color: #fff; }
.atl-band p { color: var(--mose-blek); max-width: 620px; }
.atl-tekstbilde { gap: 48px; }
.atl-tekstbilde img { border-radius: var(--radius); }
.atl-rader { list-style: none; margin: 0; padding: 0; }
.atl-rader li { border-top: 1px solid var(--linje); }
.atl-rader li:last-child { border-bottom: 1px solid var(--linje); }
.atl-rader a { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 4px; color: var(--blekk); transition: padding-left .15s; }
.atl-rader a::after { content: "→"; color: var(--mjosa); font-size: 20px; flex: 0 0 auto; transition: transform .15s; }
.atl-rader a:hover { padding-left: 10px; } .atl-rader a:hover::after { transform: translateX(4px); }
.atl-rad-meta { display: block; font-size: 13px; color: var(--stein); margin-bottom: 4px; }
.atl-rad-tittel { display: block; font-family: var(--serif); font-size: clamp(19px, 1.8vw, 24px); color: var(--gronn-dyp); }
.atl-rad-utdrag { display: block; font-size: 14.5px; color: var(--stein); margin-top: 4px; }
.atl-rader a > span:first-child { flex: 1 1 auto; }
/* WordPress: farger fra paletten */
.has-gronn-dyp-background-color { background-color: var(--gronn-dyp); } .has-gronn-background-color { background-color: var(--gronn); }
.has-krem-background-color { background-color: var(--krem); } .has-sand-background-color { background-color: var(--sand); } .has-hvitkrem-background-color { background-color: var(--hvitkrem); }
.has-mose-color { color: var(--mose); } .has-gronn-dyp-color { color: var(--gronn-dyp); }

/* ---------- Underside: innhold + høyremeny ---------- */
.atl-side { display: grid; grid-template-columns: 1fr; gap: 40px; }
.atl-side .atl-innhold { padding-top: 48px; }
.atl-sidekolonne { padding: 0 0 56px; display: flex; flex-direction: column; gap: 28px; }
.atl-sidemeny ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--linje); }
.atl-sidemeny li { border-bottom: 1px solid var(--linje); }
.atl-sidemeny a { display: flex; align-items: center; justify-content: space-between; padding: 12px 4px; color: var(--blekk); font-size: 15.5px; transition: padding-left .15s, color .15s; }
.atl-sidemeny a::after { content: "→"; color: var(--mjosa); opacity: 0; transition: opacity .15s; }
.atl-sidemeny a:hover { color: var(--gronn); padding-left: 10px; } .atl-sidemeny a:hover::after { opacity: 1; }
.atl-sidemeny li.aktiv > a { color: var(--gronn); font-weight: 600; padding-left: 10px; box-shadow: inset 3px 0 0 var(--mjosa); }
.atl-kontekst { background: var(--sand); border-radius: var(--radius); padding: 24px 24px 26px; }
.atl-kontekst p { font-size: 15px; color: var(--tekst-2); margin: 0 0 16px; }
@media (min-width: 1000px) { .atl-side.har-sidemeny { grid-template-columns: minmax(0, 1fr) 300px; gap: 72px; } .atl-sidekolonne { padding-top: 56px; position: sticky; top: calc(88px + 24px); align-self: start; } }

/* ---------- Artikkel / arkiv / søk / 404 ---------- */
.atl-artikkel { padding-top: 56px; padding-bottom: 72px; }
.atl-artikkel-hode { max-width: 820px; margin-bottom: 28px; }
.atl-artikkel-hode h1 { font-size: clamp(32px, 4.4vw, 54px); }
.atl-artikkel-bilde { border-radius: var(--radius); margin: 0 0 32px; max-height: 560px; object-fit: cover; width: 100%; }
.atl-artikkel-fot { margin-top: 40px; }
.atl-arkiv { padding-top: 56px; padding-bottom: 72px; }
.atl-arkiv-hode { margin-bottom: 28px; }
.atl-arkiv .atl-rader { max-width: 900px; }
.atl-arkiv .atl-rader a > span:first-child { flex: 0 1 46%; }
.atl-arkiv .atl-rad-utdrag { flex: 1 1 0; margin: 0; }
@media (max-width: 767px) { .atl-arkiv .atl-rader a { flex-wrap: wrap; } .atl-arkiv .atl-rader a > span:first-child, .atl-arkiv .atl-rad-utdrag { flex: 1 1 100%; } }
/* 23.09: klassiske innlegg fra live har inline-bilder (alignnone/alignleft …) i avsnitt – skal ligge på rad, ikke stables */
.atl-innhold img.alignnone, .atl-innhold img.alignleft, .atl-innhold img.alignright { display: inline-block; vertical-align: middle; width: auto; max-width: 100%; height: auto; margin: 4px 8px 4px 0; }
.atl-innhold img.alignleft, .atl-innhold .alignleft { float: left; margin: 4px 20px 12px 0; }
.atl-innhold img.alignright, .atl-innhold .alignright { float: right; margin: 4px 0 12px 20px; }
.atl-innhold img.aligncenter, .atl-innhold .aligncenter { display: block; margin: 12px auto; }
.atl-innhold p::after { content: ""; display: table; clear: both; }
.pagination, .navigation.pagination { margin-top: 32px; }
.nav-links { display: flex; gap: 16px; }
.nav-links a, .nav-links span { font-weight: 600; }
.atl-sokeside .atl-svar { margin: 0 0 32px; max-width: 760px; }
.atl-sokeside .atl-treff-tittel { margin-top: 32px; }
.atl-sokeskjema { position: relative; display: flex; gap: 10px; max-width: 640px; margin: 0 0 24px; }
.atl-sokeskjema svg { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--stein); pointer-events: none; }
.atl-sokeskjema input { flex: 1 1 auto; min-height: 52px; padding: 0 16px 0 48px; font: 17px var(--sans); color: var(--blekk); background: #fff; border: 1px solid #c9cfc9; border-radius: 6px; }
.atl-sokeskjema input:focus { outline: none; border-color: var(--gronn); box-shadow: 0 0 0 3px rgba(27,58,42,.12); }
.atl-404 { padding-top: 80px; padding-bottom: 100px; max-width: 720px; }
.atl-tom { color: var(--stein); }

/* ---------- Footer (variant «mjosa»: rolig kontaktlinje, bølge, kolonner) ---------- */
.atl-footer { background: var(--gronn-dyp); color: var(--mose-blek); margin-top: 40px; }
.atl-footer-kontakt { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 40px; padding-top: 44px; padding-bottom: 28px; }
.atl-footer-logo img { height: 56px; width: auto; filter: brightness(0) invert(1); opacity: .95; }
.atl-footer-kontakt address { font-style: normal; font-size: 15px; line-height: 1.5; display: flex; flex-wrap: wrap; gap: 4px 22px; }
.atl-footer-kontakt a { color: #fff; }
.atl-footer-kontakt .atl-footer-knapper { margin-left: auto; display: flex; flex-wrap: wrap; gap: 12px; }
.atl-footer-knapper .atl-btn { min-height: 44px; }
.atl-footer .atl-btn-lys { color: var(--gronn-dyp); } .atl-footer .atl-btn-lys:hover { color: var(--gronn-dyp); }
.atl-footer .atl-btn-ghost { color: #fff; }
.atl-footer .atl-bolge { margin: 0; }
.atl-footer-inner { display: grid; grid-template-columns: 1fr; gap: 32px; padding-top: 36px; padding-bottom: 40px; }
.atl-footer p { font-size: 15px; line-height: 1.6; margin: 0 0 12px; }
.atl-footer a { color: #e6efe9; }
.atl-footer a:hover { color: #fff; }
.atl-footer-tittel { display: block; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--mjosa-lys); font-weight: 600; margin-bottom: 14px; }
.atl-footer-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.atl-footer-lenke { display: inline-block; margin-top: 8px; font-weight: 600; }
.atl-footer-om { font-family: var(--serif); font-size: 20px; line-height: 1.35; color: #fff; max-width: 360px; }
.atl-footer-om em { color: var(--mjosa-lys); }
.atl-footer-bunn { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding-top: 22px; padding-bottom: 28px; border-top: 1px solid rgba(255,255,255,.14); font-size: 13px; color: #9fbfae; }
.atl-footer-bunn a { color: #9fbfae; }
@media (min-width: 768px) { .atl-footer-inner { grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 40px; } }

/* ---------- Forside fase 2: kort, tekst+bilde, sitat, nyheter/turneringer, partnere ---------- */
.atl-forside-innhold { padding-top: 24px; }
.atl-forside-innhold > * + * { margin-top: 0; }
.atl-forside-innhold > .atl-seksjon { padding: 72px 0 56px; }
.atl-forside-innhold > .atl-kort-rekke { margin-bottom: 96px; }
.atl-kort { display: flex; flex-direction: column; }
.atl-kort .atl-kort-tekst { display: flex; flex-direction: column; gap: 6px; }
.atl-kort .atl-kort-tekst .atl-kicker { margin-bottom: 4px; }
.atl-kort .atl-kort-tekst h3, .atl-kort .atl-kort-tekst h2 { margin: 0 0 6px; font-size: clamp(22px, 2vw, 27px); }
.atl-tekstbilde { margin: 0 auto 96px; }
.atl-tekstbilde .wp-block-media-text__content { padding: 0 0 0 8%; }
.atl-tekstbilde .wp-block-media-text__media img { height: 100%; object-fit: cover; border-radius: var(--radius); }
.atl-tekstbilde h2 { font-size: clamp(30px, 3.4vw, 44px); }
.atl-tekstbilde .atl-fakta { margin-top: 24px; }
@media (max-width: 600px) { .atl-tekstbilde .wp-block-media-text__content { padding: 24px 0 0; } }
.atl-forside-innhold .atl-sitatband { margin-bottom: 96px; }
.atl-forside-innhold .atl-sitatband .wp-block-cover__inner-container { padding: 0 var(--gutter); }
.atl-sitat-kilde { display: block; text-align: center; margin-top: 16px; }
/* WP legger barna i .wp-block-group__inner-container – gridet må ligge der (22.09: lå på ytterboksen → nyheter og turneringer under hverandre) */
/* Medlemsbånd, hull-for-hull-bånd og partnerlogoer. REKONSTRUERT 23.09 – reglene forsvant ved redesignet av nyheter/turneringer (blokken lå mellom). */
.atl-forside-innhold .atl-band { margin-bottom: 96px; }
.atl-forside-innhold .atl-hullband { margin-bottom: 96px; }
.atl-hullband .wp-block-cover__inner-container { padding: 0 var(--gutter); }
.atl-hullband-tittel { color: #fff; font-size: clamp(32px, 4.2vw, 56px); margin: 0 0 10px; }
.atl-hullband-tekst { color: #fff; font-size: 18px; max-width: 680px; margin: 0 auto 8px; }
.atl-partnere { padding: 0 0 72px; text-align: center; }
.atl-partnere .atl-kicker { text-align: center; margin-bottom: 26px; }
.atl-partnere ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 28px 56px; }
.atl-partnere li { flex: 0 1 150px; margin: 0; }
.atl-partnere img { max-height: 44px; width: auto; margin: 0 auto; filter: grayscale(1); opacity: .75; mix-blend-mode: multiply; /* JPEG-logoer m/ hvit bakgrunn smelter inn i kremfargen */ transition: opacity .15s, filter .15s; }
.atl-partnere img:hover { filter: none; opacity: 1; }

/* ---------- Siste nytt + Kommende turneringer (redesign 23.09.2026, Gudjons GO): én komponent, samme typografiske nivå ---------- */
.atl-nytt-turn { margin-bottom: 96px; }
.atl-nytt-turn > .wp-block-group__inner-container { display: grid; grid-template-columns: 1fr; gap: 48px; }
/* 23.09 (Gudjon): lik høyde på PC – grid strekker begge kolonnene (align-items: stretch), seksjonene er flex-kolonner og bunnlenkene skyves ned med margin-top:auto.
   Radene beholder sin naturlige høyde; overskudd blir luft mellom liste og bunnlenke. Mobil: naturlig høyde (ingen strekking). */
@media (min-width: 1000px) {
  .atl-nytt-turn > .wp-block-group__inner-container { grid-template-columns: 1.35fr 1fr; gap: 72px; align-items: stretch; }
  .atl-nytt, .atl-turn { display: flex; flex-direction: column; }
  .atl-nytt { padding: 32px 0 28px; } /* samme topp/bunn-polstring som turneringsboksen → overskrifter og bunnlenker på samme nivå */
  .atl-turn-liste, .atl-turn .gudjons-turneringer-for-golfbox { flex: 1 1 auto; display: flex; flex-direction: column; } /* pluginets wrapper må også være flex-kolonne for at bunnlenken skal kunne skyves ned */
}
.atl-seksjon-hode { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px 24px; margin-bottom: 18px; }
.atl-seksjon-hode h2 { margin: 0; font-size: clamp(28px, 3vw, 38px); }
.atl-seksjon-hode .atl-kicker { margin-bottom: 8px; }
.atl-seksjon-bunn { margin: 18px 0 0; }
.atl-turn { background: var(--sand); border-radius: var(--radius); padding: 32px 32px 28px; }
@media (max-width: 600px) { .atl-turn { padding: 24px 20px 22px; } }
/* nyhetsrader: miniatyr | dato + tittel | pil */
.atl-nytt-rader a { align-items: center; gap: 18px; padding: 13px 4px; }
.atl-nytt-rader a > span:first-child { flex: 0 0 auto; }
.atl-nytt-bilde { display: block; width: 90px; height: 68px; border-radius: 4px; overflow: hidden; background: var(--sand); position: relative; }
.atl-nytt-bilde img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; display: block; transition: transform .3s; }
.atl-nytt-rader a:hover .atl-nytt-bilde img { transform: scale(1.04); }
.atl-nytt-bilde.er-tom::after { content: ""; position: absolute; inset: 0; background: url(../img/logo.png) center / 38px auto no-repeat; opacity: .28; }
.atl-nytt-tekst { display: block; flex: 1 1 auto; min-width: 0; }
.atl-nytt-tekst .atl-rad-meta { margin-bottom: 3px; font-size: 12.5px; letter-spacing: .02em; }
.atl-nytt-tittel { display: block; font-family: var(--sans); font-size: 16.5px; font-weight: 600; line-height: 1.35; color: var(--gronn-dyp); }
.atl-nytt-rader a:hover .atl-nytt-tittel { color: var(--gronn); }
@media (max-width: 600px) { .atl-nytt-rader a { gap: 14px; } .atl-nytt-bilde { width: 72px; height: 54px; } .atl-nytt-tittel { font-size: 16px; } }
/* turneringsrader (pluginets markup): dato | navn + status | pil */
.atl-turn-liste { font-size: 15px; }
.atl-turn .gudjons-turneringer-for-golfbox--compact .gudjons-turneringer-for-golfbox-row, .atl-turn .gudjons-turneringer-for-golfbox-row { display: grid; grid-template-columns: 56px 1fr auto; grid-template-areas: "dato navn pil" "dato status pil"; column-gap: 16px; row-gap: 2px; align-items: center; padding: 13px 4px; border: 0 !important; border-top: 1px solid #d3cbb9 !important; color: var(--blekk); text-decoration: none; background: none !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; transition: padding-left .15s; }
.atl-turn .gudjons-turneringer-for-golfbox--compact .gudjons-turneringer-for-golfbox-row:hover { padding-left: 10px; background: none !important; }
.atl-turn .gudjons-turneringer-for-golfbox-row::after { content: "→"; grid-area: pil; color: var(--mjosa); font-size: 20px; transition: transform .15s; }
.atl-turn .gudjons-turneringer-for-golfbox-row:hover::after { transform: translateX(4px); }
.atl-turn .gudjons-turneringer-for-golfbox-list > a:last-of-type { border-bottom: 1px solid #d3cbb9; }
.atl-turn .gudjons-turneringer-for-golfbox-date { grid-area: dato; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; background: none !important; padding: 0 !important; border-radius: 0 !important; border: 0 !important; min-width: 0; white-space: nowrap; }
.atl-turn .atl-dato-dag { font-family: var(--serif); font-size: 24px; color: var(--gronn-dyp); letter-spacing: -0.01em; }
.atl-turn .atl-dato-mnd { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--stein); margin-top: 4px; }
.atl-turn .gudjons-turneringer-for-golfbox-info { grid-area: navn; min-width: 0; align-self: end; }
.atl-turn .gudjons-turneringer-for-golfbox--compact .gudjons-turneringer-for-golfbox-row .gudjons-turneringer-for-golfbox-name, .atl-turn .gudjons-turneringer-for-golfbox-name { display: block; font-family: var(--sans); font-size: 16.5px; font-weight: 600; line-height: 1.35; color: var(--gronn-dyp); }
.atl-turn .gudjons-turneringer-for-golfbox-row:hover .gudjons-turneringer-for-golfbox-name { color: var(--gronn); }
.atl-turn .gudjons-turneringer-for-golfbox--compact .gudjons-turneringer-for-golfbox-row .gudjons-turneringer-for-golfbox-badge, .atl-turn .gudjons-turneringer-for-golfbox-badge { grid-area: status; align-self: start; justify-self: start; margin: 0 !important; text-align: left; background: none !important; padding: 0 !important; border: 0 !important; font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--stein); white-space: nowrap; }
.atl-turn .gudjons-turneringer-for-golfbox--compact .gudjons-turneringer-for-golfbox-badge.is-open { color: var(--gronn-mellom); }
.atl-turn .gudjons-turneringer-for-golfbox--compact .gudjons-turneringer-for-golfbox-badge.is-soon { color: var(--stein); }
.atl-turn .gudjons-turneringer-for-golfbox--compact .gudjons-turneringer-for-golfbox-more, .atl-turn .gudjons-turneringer-for-golfbox-more { margin-top: 18px; text-align: left; }
.atl-turn .gudjons-turneringer-for-golfbox-more a, .atl-turn .gudjons-turneringer-for-golfbox-all { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--gronn); border-bottom: 1px solid var(--mjosa-lys); padding-bottom: 3px; transition: border-color .15s; }
.atl-turn .gudjons-turneringer-for-golfbox-more a:hover, .atl-turn .gudjons-turneringer-for-golfbox-all:hover { border-color: var(--mjosa); }
.atl-turn .gudjons-turneringer-for-golfbox-more a::after { content: "→"; color: var(--mjosa); display: inline-block; transition: transform .15s; }
.atl-turn .gudjons-turneringer-for-golfbox-more a:hover::after { transform: translateX(3px); }
/* 23.09 (Gudjon): på PC får turneringsradene litt mer luft (13 → 21 px), så lista bruker mer av høyden og tomrommet over bunnlenken krymper. Ingen faste høyder. */
@media (min-width: 1000px) { .atl-turn .gudjons-turneringer-for-golfbox--compact .gudjons-turneringer-for-golfbox-row, .atl-turn .gudjons-turneringer-for-golfbox-row { padding-top: 21px; padding-bottom: 21px; row-gap: 3px; } }
/* bunnlenkene skyves ned (må stå ETTER margin-top:18px-regelen over – samme spesifisitet, sist vinner) */
@media (min-width: 1000px) { .atl-nytt .atl-seksjon-bunn, .atl-turn .gudjons-turneringer-for-golfbox--compact .gudjons-turneringer-for-golfbox-more, .atl-turn .gudjons-turneringer-for-golfbox-more { margin-top: auto; padding-top: 18px; } }
@media (max-width: 600px) { .atl-turn .gudjons-turneringer-for-golfbox-row { grid-template-columns: 48px 1fr auto; column-gap: 12px; } .atl-turn .atl-dato-dag { font-size: 21px; } .atl-turn .gudjons-turneringer-for-golfbox--compact .gudjons-turneringer-for-golfbox-row .gudjons-turneringer-for-golfbox-name { font-size: 16px; } }

/* ---------- Karusell (23.09.2026, Hildes ønske for Belek): WP-galleri m/ klassen atl-karusell = horisontal scroll-snap, ingen JS ---------- */
.atl-innhold .wp-block-gallery.atl-karusell { display: flex; flex-wrap: nowrap; gap: 14px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; padding: 4px 0 14px; scrollbar-width: thin; scrollbar-color: var(--mose-blek) transparent; -webkit-overflow-scrolling: touch; }
.atl-innhold .wp-block-gallery.atl-karusell::-webkit-scrollbar { height: 6px; } .atl-innhold .wp-block-gallery.atl-karusell::-webkit-scrollbar-thumb { background: var(--mose-blek); border-radius: 3px; }
.atl-innhold .wp-block-gallery.atl-karusell > .wp-block-image { flex: 0 0 82%; width: auto !important; margin: 0; scroll-snap-align: start; aspect-ratio: 4 / 3; }
@media (min-width: 700px) { .atl-innhold .wp-block-gallery.atl-karusell > .wp-block-image { flex-basis: 46%; } }
@media (min-width: 1100px) { .atl-innhold .wp-block-gallery.atl-karusell > .wp-block-image { flex-basis: 40%; } }
.atl-innhold .wp-block-gallery.atl-karusell > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius); }
.atl-innhold .wp-block-gallery.atl-karusell > .wp-block-image a { display: block; height: 100%; }
/* Balance Golf-bookingkalender (Trening og pro, 23.09.2026) */
.atl-prowidget { background: var(--hvitkrem); border: 1px solid var(--linje); border-radius: var(--radius); padding: 24px 24px 12px; margin: 0 0 40px; }
.atl-prowidget h2 { font-size: clamp(24px, 2.4vw, 30px); margin-bottom: 4px; }
.atl-prowidget > p { color: var(--tekst-2); margin-bottom: 14px; }
.atl-prowidget .balance-golf-booking-embed { min-height: 408px; }
.atl-prowidget .balance-golf-booking-embed iframe { width: 100%; border: 0; border-radius: 6px; }
.atl-prowidget-fallback { font-size: 14px; margin: 10px 0 0; }
/* GolfBox-innlogging (modal, 23.09.2026) */
.gb-login-overlay { position: fixed; inset: 0; z-index: 10000; background: rgba(18,41,29,.6); display: flex; align-items: center; justify-content: center; padding: 20px; }
.gb-login-overlay[hidden] { display: none; }
.gb-login-modal { position: relative; width: 100%; max-width: 420px; background: var(--hvitkrem); border-radius: 12px; padding: 32px 28px 26px; box-shadow: 0 24px 60px rgba(0,0,0,.3); }
.gb-login-close { position: absolute; top: 10px; right: 12px; width: 40px; height: 40px; border: 0; background: none; font-size: 28px; line-height: 1; color: var(--stein); cursor: pointer; border-radius: 50%; }
.gb-login-close:hover { background: var(--sand); color: var(--gronn-dyp); }
.gb-login-logo { height: 32px; width: auto; margin: 0 0 14px; }
.gb-login-modal h2 { font-size: 24px; margin: 0 0 16px; }
.gb-login-modal label { display: block; font-weight: 600; font-size: 14px; color: var(--gronn-dyp); margin: 0 0 12px; }
.gb-login-modal input[type=text], .gb-login-modal input[type=password] { display: block; width: 100%; margin-top: 5px; min-height: 48px; padding: 0 14px; font: 16px var(--sans); border: 1px solid #c9cfc9; border-radius: 6px; background: #fff; color: var(--blekk); }
.gb-login-modal input:focus { outline: none; border-color: var(--gronn); box-shadow: 0 0 0 3px rgba(27,58,42,.12); }
.gb-login-fot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 6px; }
.gb-login-fot a { font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
/* ---------- Undersider fase 3: videogrid (hull for hull), portrett, scorekort, slope-plugin ---------- */
.atl-videogrid { display: grid; grid-template-columns: 1fr; gap: 28px 24px; margin: 32px 0 0; }
@media (min-width: 700px) { .atl-videogrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .atl-videogrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.atl-video { margin: 0; }
.atl-video-ramme { position: relative; aspect-ratio: 16 / 9; border-radius: var(--radius); overflow: hidden; background: var(--gronn-dyp); }
.atl-video-ramme iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.atl-video figcaption { margin-top: 10px; font-family: var(--serif); font-size: 20px; color: var(--gronn-dyp); }
.atl-video-fakta { display: block; margin-top: 2px; font-family: var(--sans); font-size: 14px; color: var(--stein); letter-spacing: .01em; }
.atl-portrett { float: right; width: 160px; height: auto; margin: 0 0 16px 24px; border-radius: var(--radius); }
@media (max-width: 600px) { .atl-portrett { float: none; margin: 0 0 16px; } }
.atl-scorekort img { width: 100%; border-radius: var(--radius); }
/* Scorekort som tabell (23.09) */
.atl-sk-rull { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 0 8px; max-width: 100%; }
.atl-side > * , .atl-innhold { min-width: 0; } /* 23.09: grid-/flex-barn må kunne bli smalere enn innholdet, ellers sprenger brede tabeller siden på mobil */
.atl-innhold .atl-scorekort-tabell, .atl-innhold .atl-scorekort-rating { font-size: 15px; white-space: nowrap; }
.atl-innhold .atl-scorekort-tabell th, .atl-innhold .atl-scorekort-tabell td, .atl-innhold .atl-scorekort-rating th, .atl-innhold .atl-scorekort-rating td { text-align: center; padding: 9px 8px; }
.atl-innhold .atl-scorekort-tabell tbody th, .atl-innhold .atl-scorekort-rating tbody th { text-align: left; font-family: var(--sans); font-size: 15px; letter-spacing: 0; text-transform: none; color: var(--gronn-dyp); font-weight: 600; padding-left: 0; }
.atl-innhold .atl-scorekort-tabell thead th:first-child, .atl-innhold .atl-scorekort-rating thead th:first-child { text-align: left; }
.atl-scorekort-tabell .atl-sk-par { font-weight: 600; color: var(--gronn); }
.atl-scorekort-tabell tr.atl-sk-sum th, .atl-scorekort-tabell tr.atl-sk-sum td { background: var(--hvitkrem); font-weight: 600; }
.atl-scorekort-tabell tr.atl-sk-total th, .atl-scorekort-tabell tr.atl-sk-total td { background: var(--gronn-dyp); color: #fff; font-weight: 600; border-bottom: 0; }
.atl-innhold .atl-scorekort-tabell tr.atl-sk-total th { color: #fff; padding-left: 8px; }
.atl-innhold .atl-scorekort-rating { max-width: 560px; }
.atl-scorekort-tabell tbody th, .atl-scorekort-tabell thead th:first-child { position: sticky; left: 0; background: var(--krem); z-index: 1; } /* hullkolonnen står stille ved sidelengs rulling */
.atl-scorekort-tabell tr.atl-sk-sum th { background: var(--hvitkrem); }
.atl-scorekort-tabell tr.atl-sk-total th { background: var(--gronn-dyp); }
@media (max-width: 600px) { .atl-innhold .atl-scorekort-tabell, .atl-innhold .atl-scorekort-rating { font-size: 14px; } .atl-innhold .atl-scorekort-tabell th, .atl-innhold .atl-scorekort-tabell td { padding: 8px 6px; } }
.atl-innhold h3 { margin-top: 1.6em; font-size: 20px; font-family: var(--sans); font-weight: 600; color: var(--gronn-dyp); }
.atl-innhold h3:first-child, .atl-innhold > .wp-block-html:first-child h3:first-child { margin-top: 0; }
.atl-innhold ol li, .atl-innhold ul li { margin: .35em 0; }
/* golf-handicap-slope (kalkulator + tabeller) i temaets språk */
.atl-innhold .golf-handicap-slope-card, .atl-innhold .ghs-calculator-wrapper { background: var(--sand); border: 0; border-radius: var(--radius); box-shadow: none; padding: 24px; }
.atl-innhold .ghs-calculator-input, .atl-innhold .ghs-calculator-select { min-height: 48px; border: 1px solid #c9cfc9; border-radius: 6px; font-family: inherit; font-size: 16px; padding: 0 12px; background: #fff; }
.atl-innhold .golf-handicap-slope-button { background: var(--gronn); color: #fff; border: 0; border-radius: 6px; padding: 10px 18px; font-weight: 600; font-family: inherit; cursor: pointer; }
.atl-innhold .golf-handicap-slope-section-heading { font-family: var(--serif); font-weight: 400; color: var(--gronn-dyp); }
.atl-innhold .golf-handicap-slope-table th { color: var(--stein); } /* 23.09: fallback hvis pluginets egne farger (golfhs_settings, use_theme_colors=no) skrus av – pluginet setter ellers grønn bunn + hvit skrift m/ !important */
.atl-innhold .golf-handicap-slope-table td:first-child, .atl-innhold .golf-handicap-slope-table th:first-child { padding-left: 10px; } /* 23.09: tabellen har kantlinjer – temaets padding-left:0 for første kolonne passer ikke */
.atl-kart { position: relative; aspect-ratio: 16 / 9; border-radius: var(--radius); overflow: hidden; margin: 8px 0 24px; }
.atl-kart iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.atl-galleri { margin: 24px 0 32px; }
.atl-innhold .wp-block-gallery img { border-radius: var(--radius); }
.atl-innhold h4 { margin-top: 1.4em; }
.atl-innhold table td:first-child, .atl-innhold table th:first-child { padding-left: 0; }
.atl-pro { display: flex; gap: 28px; align-items: flex-start; margin: 0 0 28px; }
.atl-pro-bilde { flex: 0 0 140px; width: 140px; height: 140px; object-fit: cover; border-radius: 50%; }
.atl-pro h3 { margin-top: 0 !important; font-family: var(--serif); font-weight: 400; font-size: 24px; }
@media (max-width: 600px) { .atl-pro { flex-direction: column; gap: 14px; } }
.atl-logo-liten { max-width: 200px; }

/* ---- Fase 3 (22.09): Klubben, turneringer, reiser ---- */
.atl-partner-grid { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 14px; }
.atl-partner-grid li { margin: 0; }
.atl-partner-grid a { display: flex; align-items: center; justify-content: center; min-height: 100px; padding: 16px; background: #fff; border: 1px solid var(--linje-lys); border-radius: var(--radius); text-align: center; font-weight: 600; color: var(--gronn); border-bottom: 1px solid var(--linje-lys); transition: border-color .15s; }
.atl-partner-grid a:hover { border-color: var(--mose); }
.atl-partner-grid img { max-height: 64px; width: auto; max-width: 100%; object-fit: contain; }
.atl-ansatte { list-style: none; margin: 8px 0 32px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 22px; }
.atl-ansatte li { margin: 0; background: #fff; border: 1px solid var(--linje-lys); border-radius: var(--radius); overflow: hidden; }
.atl-ansatte img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 20%; display: block; }
.atl-ansatte div { padding: 14px 16px 16px; font-size: 15px; line-height: 1.5; }
.atl-ansatte h3 { margin: 0 0 2px; font-family: var(--sans); font-size: 18px; font-weight: 600; }
.atl-ansatte .atl-rolle { color: var(--stein); margin: 0 0 8px; }
.atl-ansatte p { margin: 0; }
.atl-innhold .atl-lenkeliste { list-style: none; padding: 0; margin: 12px 0 0; }
.atl-innhold .atl-lenkeliste li { padding: 10px 0; border-bottom: 1px solid var(--linje-lys); margin: 0; }
.atl-innhold .atl-lenkeliste a { font-weight: 600; color: var(--gronn); }
.atl-innhold .atl-kolonner { columns: 16em 3; column-gap: 2em; list-style: none; padding: 0; margin: 8px 0 24px; }
.atl-innhold .atl-kolonner li { break-inside: avoid; padding: 6px 0; border-bottom: 1px solid var(--linje-lys); margin: 0; }
.atl-innhold .atl-meta { color: var(--stein); font-size: 15px; }
.atl-innhold h3 .atl-antall { color: var(--stein); font-weight: 400; font-size: .8em; }
.atl-innhold .atl-galleri { margin: 24px 0; }
.atl-innhold .atl-galleri img { width: 100%; height: 100%; object-fit: cover; }
.atl-kort .atl-kort-tekst h3, .atl-kort .atl-kort-tekst h2 { hyphens: auto; overflow-wrap: normal; }
/* Statusmerker i turneringslisten (pluginet bruker 10px lys grå – for lav kontrast på sandfargen) */
.atl-innhold .gudjons-turneringer-for-golfbox-badge, .atl-turn .gudjons-turneringer-for-golfbox-badge { font-size: 11.5px; }
.atl-innhold .gudjons-turneringer-for-golfbox-badge.is-soon, .atl-turn .gudjons-turneringer-for-golfbox-badge.is-soon { color: var(--stein); }

/* Medlemsbåndet som i mockupen: tekst + fire priskort (22.09) */
.atl-band .wp-block-columns.atl-band-kol { gap: 64px; margin: 0; }
.atl-band .atl-band-kol h2 { font-size: clamp(30px, 3.4vw, 46px); line-height: 1.1; }
.atl-pris-kort { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.atl-pris-kort li { margin: 0; }
.atl-pris-kort a { display: block; padding: 22px 24px; border: 1px solid rgba(255,255,255,.18); border-radius: 6px; color: #fff; text-decoration: none; transition: border-color .15s; }
.atl-pris-kort a:hover { border-color: rgba(255,255,255,.55); }
.atl-pris-kort strong { display: block; font-family: var(--serif); font-weight: 400; font-size: clamp(24px, 2.2vw, 30px); line-height: 1.1; }
.atl-pris-kort span { display: block; font-size: 14px; color: var(--mose-blek); margin-top: 4px; }
@media (max-width: 781px) { .atl-band .wp-block-columns.atl-band-kol { gap: 28px; } .atl-pris-kort { gap: 12px; } .atl-pris-kort a { padding: 16px 18px; } }

/* Kontakt oss – redesign 23.09 */
.atl-ansatte a { text-decoration: none; }
.atl-ansatte p a { color: var(--gronn); }
.atl-kontakt-rekke { display: grid; grid-template-columns: 1fr; gap: 24px; margin: 8px 0 40px; }
@media (min-width: 700px) { .atl-kontakt-rekke { grid-template-columns: 1fr 1fr; } }
.atl-kontakt-kort { background: var(--hvitkrem); border: 1px solid var(--linje); border-radius: var(--radius); padding: 24px 26px; }
.atl-kontakt-kort h2 { font-size: 24px; margin: 0 0 12px; }
.atl-kontakt-kort p { margin: 0 0 12px; }
.atl-kontakt-kort .atl-stor-tlf { font-family: var(--serif); font-size: 28px; color: var(--gronn-dyp); display: inline-block; margin: 2px 0 6px; text-decoration: none; border-bottom: 2px solid var(--mjosa-lys); }
.atl-praktisk-liste { margin: 0; display: grid; gap: 10px; }
.atl-praktisk-liste div { display: grid; grid-template-columns: 120px 1fr; gap: 10px; font-size: 15px; line-height: 1.45; }
.atl-praktisk-liste dt { font-weight: 600; color: var(--gronn-dyp); }
.atl-praktisk-liste dd { margin: 0; color: var(--tekst-2); }
.atl-innhold .atl-styre-tabell td:last-child { white-space: nowrap; }

/* Footer: to avsendere (23.09) */
.atl-footer-enheter { flex-wrap: wrap; gap: 6px 28px; line-height: 1.5; }
.atl-footer-enheter strong { font-weight: 600; color: #fff; }
.atl-footer-enheter a { color: inherit; }
@media (max-width: 700px) { .atl-footer-enheter { flex-direction: column; align-items: flex-start; } }

/* Book protime (23.09.2026): CTA-kort på Trening og pro / Protimer og priser + bookingsiden med Balance Golf-kalenderen i stor ramme */
.atl-innhold .atl-book-kort { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 32px; background: var(--hvitkrem); border: 1px solid var(--linje); border-left: 4px solid var(--mose); border-radius: var(--radius); padding: 26px 28px; margin: 0 0 8px; }
.atl-innhold .atl-book-kort h2, .atl-innhold .atl-book-kort h3 { font-size: clamp(22px, 2.2vw, 27px); margin: 0 0 6px; }
.atl-innhold .atl-book-kort p { margin: 0; color: var(--tekst-2); max-width: 46ch; }
.atl-book-kort-tekst { flex: 1 1 320px; }
.atl-book-knapper { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 599px) { .atl-innhold .atl-book-kort { padding: 22px 20px; } .atl-book-knapper { width: 100%; } .atl-book-knapper .atl-btn { flex: 1 1 100%; } }
.atl-innhold .atl-btn-utlinje { text-decoration: none; }

.atl-booking-valg { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.atl-booking-valg a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border: 1px solid var(--linje); border-radius: 999px; background: var(--hvitkrem); color: var(--gronn-dyp); font-size: 14.5px; font-weight: 600; text-decoration: none; }
.atl-booking-valg a:hover { border-color: var(--mose); }
.atl-booking-valg a.aktiv { background: var(--gronn); border-color: var(--gronn); color: #fff; }
.atl-booking-iframe { display: block; width: 100%; height: 900px; border: 0; border-radius: var(--radius); background: transparent; }
@media (max-width: 899px) { .atl-booking-iframe { height: calc(100svh - 110px); min-height: 640px; } } /* mobil: rammen fyller skjermen under headeren – kalenderen scroller inni som en app-skjerm, ikke «scroll i scroll» */
.atl-booking-hjelp { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--linje-lys); }
.atl-booking-hjelp p { font-size: 15px; color: var(--tekst-2); margin: 0 0 6px; }
.atl-fullbredde .atl-booking { max-width: 1100px; }

/* Hull for hull (23.09.2026, Gudjon: «alle utslagstedene»): rad med fem utslag under hver video – tee-nummer over lengde */
.atl-video-tees { display: flex; justify-content: space-between; gap: 4px; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--linje-lys); font-family: var(--sans); font-size: 13px; line-height: 1.25; color: var(--tekst); }
.atl-video-tees > span { display: flex; flex-direction: column; align-items: center; flex: 1 1 0; min-width: 0; white-space: nowrap; }
.atl-video-tees b { font-weight: 600; font-size: 11.5px; letter-spacing: .06em; color: var(--stein); }

/* Hull for hull (24.09.2026): stillbilde som «fasade» foran YouTube-videoen – iframen lastes først ved klikk (18 iframes = tung side) */
.atl-video-start { display: block; position: absolute; inset: 0; width: 100%; padding: 0; border: 0; background: var(--gronn-dyp); cursor: pointer; }
.atl-video-start img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.atl-video-start:hover img, .atl-video-start:focus-visible img { transform: scale(1.03); }
.atl-video-start::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(18,41,29,.35), rgba(18,41,29,0) 45%); pointer-events: none; }
.atl-play { position: absolute; left: 50%; top: 50%; width: 54px; height: 54px; margin: -27px 0 0 -27px; border-radius: 50%; background: rgba(251,250,247,.92); box-shadow: 0 4px 18px rgba(0,0,0,.25); transition: transform .2s ease, background .2s ease; z-index: 1; }
.atl-play::before { content: ""; position: absolute; left: 21px; top: 16px; border-style: solid; border-width: 11px 0 11px 17px; border-color: transparent transparent transparent var(--gronn); }
.atl-video-start:hover .atl-play, .atl-video-start:focus-visible .atl-play { transform: scale(1.08); background: #fff; }
.atl-video-start:focus-visible { outline: 3px solid var(--mose); outline-offset: 3px; }
.atl-video-tekst { position: absolute; left: 14px; bottom: 10px; color: #fff; font: 600 13px/1.2 var(--sans); letter-spacing: .04em; text-transform: uppercase; text-shadow: 0 1px 4px rgba(0,0,0,.4); z-index: 1; }
@media (max-width: 699px) { .atl-play { width: 62px; height: 62px; margin: -31px 0 0 -31px; } .atl-play::before { left: 24px; top: 18px; border-width: 13px 0 13px 20px; } } /* mobil: kortet er fullbredt, knappen kan være større */

/* ---------- 25.09.2026: bildegalleri på Banen ([atl_galleri]) + lysboks ---------- */
.atl-galleri { margin: 8px 0 56px; }
.atl-galleri-hint { margin: 0; font-size: 14px; color: var(--stein); }
.atl-galleri-liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.atl-galleri-liste li { margin: 0; }
.atl-galleri-liste figure { margin: 0; }
.atl-galleri-lenke { display: block; border-radius: var(--radius); overflow: hidden; background: var(--sand); }
.atl-galleri-lenke img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: transform .25s ease; background: var(--sand); }
.atl-galleri-lenke noscript img { display: block; }
.atl-galleri-lenke:hover img, .atl-galleri-lenke:focus-visible img { transform: scale(1.03); }
.atl-galleri-lenke:focus-visible { outline: 3px solid var(--mose-lys); outline-offset: 2px; }
.atl-galleri-liste figcaption { font-size: 14px; color: var(--tekst-2); margin-top: 6px; }
@media (max-width: 900px) { .atl-galleri-liste { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }
@media (max-width: 480px) { .atl-galleri-liste figcaption { font-size: 13px; } }
.atl-lysboks { position: fixed; inset: 0; z-index: 600; background: rgba(18, 41, 29, .94); display: flex; align-items: center; justify-content: center; padding: 56px 16px 48px; }
.atl-lysboks[hidden] { display: none; }
.atl-lysboks img { max-width: 100%; max-height: calc(100vh - 120px); object-fit: contain; border-radius: 6px; box-shadow: 0 20px 60px rgba(0,0,0,.5); background: #000; }
.atl-lysboks-tekst { position: absolute; left: 0; right: 0; bottom: 12px; text-align: center; color: #fff; font-size: 15px; padding: 0 72px; }
.atl-lysboks-tekst small { color: var(--mose-blek); margin-left: 8px; }
.atl-lysboks button { position: absolute; background: rgba(255,255,255,.12); color: #fff; border: 0; border-radius: 999px; width: 46px; height: 46px; font-size: 26px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.atl-lysboks button:hover, .atl-lysboks button:focus-visible { background: rgba(255,255,255,.28); outline: 2px solid #fff; }
.atl-lysboks-lukk { top: 12px; right: 12px; }
.atl-lysboks-forrige { left: 12px; top: 50%; transform: translateY(-50%); }
.atl-lysboks-neste { right: 12px; top: 50%; transform: translateY(-50%); }
@media (max-width: 600px) { .atl-lysboks { padding: 52px 8px 56px; } .atl-lysboks button { width: 40px; height: 40px; font-size: 22px; } .atl-lysboks-forrige { left: 6px; } .atl-lysboks-neste { right: 6px; } .atl-lysboks-tekst { padding: 0 52px; font-size: 14px; } }
/* 25.09: navsider uten h2 (Spille her, Klubben, Selskap og reiser) bruker h2 i kortene – samme utseende som h3 (axe heading-order) */
/* 25.09: «Utforsk banen» på forsiden – bildet lenker til galleriet, med merke nede i hjørnet (Gudjon: folk må se at vi har bilder) */
.atl-tekstbilde .wp-block-media-text__media { position: relative; }
.atl-tekstbilde .atl-galleri-inngang { display: block; border-radius: var(--radius); overflow: hidden; }
.atl-tekstbilde .atl-galleri-inngang img { display: block; transition: transform .3s ease; }
.atl-tekstbilde .atl-galleri-inngang:hover img, .atl-tekstbilde .atl-galleri-inngang:focus-visible img { transform: scale(1.02); }
.atl-bilde-merke { position: absolute; left: 16px; bottom: 16px; display: inline-flex; align-items: center; gap: 8px; background: rgba(18, 41, 29, .82); color: #fff; font-size: 14px; font-weight: 600; padding: 9px 14px; border-radius: 999px; backdrop-filter: blur(4px); pointer-events: none; }
.atl-bilde-merke svg { width: 18px; height: 18px; }
.atl-utforsk-knapper { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; margin-top: 8px; }

/* 25.09 (Gudjon: Styret så ikke bra ut på mobil): persontabellene ([atl_personer], styret 4 kolonner = 515 px i 350 px → sidescroll) stables som kort under 640 px. Telefonnummer brytes aldri. */
.atl-innhold .atl-personer td a[href^="tel:"] { white-space: nowrap; }
@media (max-width: 639px) {
  .atl-innhold table.atl-personer, .atl-innhold .atl-personer tbody, .atl-innhold .atl-personer tr, .atl-innhold .atl-personer td { display: block; width: 100%; box-sizing: border-box; }
  .atl-innhold .atl-personer thead { display: none; }
  .atl-innhold .atl-personer tr { padding: 12px 0; border-bottom: 1px solid var(--linje); }
  .atl-innhold .atl-personer td { padding: 0; border: 0; overflow-wrap: anywhere; }
  .atl-innhold .atl-personer td:first-child { font-weight: 600; }
  .atl-innhold .atl-personer td:empty { display: none; }
}

/* 25.09 (full layoutsjekk): partnerlogoene på forsiden sto én per rad på mobil (flex-basis 150 + gap 56 > 350 px) = 1 583 px høy kolonne. Nå tre per rad. */
@media (max-width: 599px) { .atl-partnere ul { gap: 22px 18px; } .atl-partnere li { flex: 0 1 calc(33.333% - 12px); } .atl-partnere img { max-height: 34px; max-width: 100%; } }
/* 25.09 (Gudjon: innhold ikke midtstilt): nyhetsinnlegg – tittel, bilde, tekst og fot i én sentrert kolonne (før: tekst 720 px venstrestilt under bilde i full bredde) */
.atl-artikkel-hode, .atl-artikkel-bilde, .atl-artikkel .atl-lesebredde, .atl-artikkel-fot { max-width: 800px; margin-left: auto; margin-right: auto; }
.atl-artikkel-bilde { display: block; }

/* 25.09 (layoutsjekk mobil): scorekort/rating-tabellene (433/456 px) får plass i 350 px når overskriftene brytes («Tee 64» → to linjer) og polstringen strammes. Overstyrer regelen lenger opp (.atl-innhold-spesifisitet). */
@media (max-width: 600px) {
  .atl-innhold .atl-scorekort-tabell thead th, .atl-innhold .atl-scorekort-rating thead th { white-space: normal; line-height: 1.25; vertical-align: bottom; }
  .atl-innhold .atl-scorekort-tabell, .atl-innhold .atl-scorekort-rating { font-size: 13.5px; }
  .atl-innhold .atl-scorekort-tabell th, .atl-innhold .atl-scorekort-tabell td, .atl-innhold .atl-scorekort-rating th, .atl-innhold .atl-scorekort-rating td { padding: 8px 4px; }
  /* hole in one: «Hull 13» skal ikke brekke; klubbmestere: samme årstallkolonne i alle tabellene (før: ulik innrykk på navnene) */
  .atl-innhold .atl-hio td:last-child { white-space: nowrap; }
}
.atl-innhold .atl-mestere td:first-child { width: 64px; }
/* 25.09 (layoutsjekk mobil): Samarbeidspartnere – 18 logoer én per rad (auto-fill minmax 160 i 350 px = 1 kolonne). Nå to per rad på mobil. */
@media (max-width: 599px) { .atl-partner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }

/* 25.09 (layoutsjekk mobil, runde 2) */
@media (max-width: 600px) {
  /* lange ord i overskrifter («Personvernerklæring», «medlemskap/tidsbegrenset») gikk utenfor kanten: mindre grad på smal skjerm + orddeling (lang="nb-NO"), aldri vilkårlig brekk midt i ordet */
  .atl-sidehero h1, .atl-artikkel-hode h1, .atl-arkiv-hode h1, .atl-innhold h1 { font-size: 34px; hyphens: auto; overflow-wrap: break-word; }
  .atl-innhold h2 { font-size: 27px; hyphens: auto; overflow-wrap: break-word; }
  .atl-innhold h3 { hyphens: auto; overflow-wrap: break-word; }
  /* vanlige innholdstabeller (Damegolf: e-postadressen i tredje kolonne drev bredden til 423 px): mindre skrift, e-post/URL-lenker kan brytes hvor som helst, vanlige ord bare når de ikke får plass alene */
  .atl-innhold table { font-size: 14px; }
  .atl-innhold th, .atl-innhold td { padding: 10px 8px; overflow-wrap: break-word; hyphens: auto; }
  .atl-innhold td a[href^="mailto:"], .atl-innhold td a[href^="http"] { overflow-wrap: anywhere; }
  /* pristabeller med 4–5 kolonner (prisliste 2027, delbetaling) stables som kort; etiketten kommer fra data-label (plugin 0.9.4) */
  .atl-innhold table.atl-priser-stabl, .atl-innhold .atl-priser-stabl tbody, .atl-innhold .atl-priser-stabl tr { display: block; width: 100%; box-sizing: border-box; }
  .atl-innhold .atl-priser-stabl thead { display: none; }
  .atl-innhold .atl-priser-stabl tr { padding: 12px 0; border-bottom: 1px solid var(--linje); }
  .atl-innhold .atl-priser-stabl td { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 3px 0; border: 0; }
  .atl-innhold .atl-priser-stabl td:first-child { display: block; font-weight: 600; padding: 0 0 6px; }
  .atl-innhold .atl-priser-stabl td:not(:first-child)::before { content: attr(data-label); flex: 0 0 auto; font-size: 13px; color: var(--stein); }
  .atl-innhold .atl-priser-stabl td:empty { display: none; }
  /* søkeskjemaet: input-feltets innebygde minstebredde + knapp = 399 px */
  .atl-sokeskjema input { min-width: 0; }
}
/* 25.09: pluginets komponenter (banestatus-boksen, søkepanelet) ble laget for Enfold med Inter/Playfair – på ny følger de temaets skrifter */
#top .atl-bs, .atl-bs, #top .atl-panel-inner, .atl-panel-inner { font-family: var(--sans) !important; }
#top .atl-bs-hoved, #top .atl-bs-anlegg h2, #top .atl-panel-tittel, #top .atl-svar-sporsmal { font-family: var(--serif) !important; font-weight: 400 !important; letter-spacing: -0.015em; }

/* 25.09: forsidekort fra pluginet ([atl_forsidekort]) – eget rutenett i stedet for WP-kolonneblokk: 3 per rad på PC, 1 per rad på mobil; 6 kort = to rader */
.atl-kortrekke { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.atl-kortrekke .atl-kort-bilde { margin: 0; }
@media (max-width: 781px) { .atl-kortrekke { grid-template-columns: minmax(0, 1fr); } }
@media (min-width: 600px) and (max-width: 781px) { .atl-kortrekke-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
