/* ---------- Token ---------- */
.alsv{
  --alsv-rod:#c60639;        /* lagets røde fra logoen og topplinjen (5,9:1 med hvit tekst) */
  --alsv-rod-mork:#9e042d;   /* hover på rødt */
  --alsv-blekk:#1f1c1d;      /* overskrifter */
  --alsv-tekst:#4a4446;      /* brødtekst (9,2:1 mot hvit) */
  --alsv-strek:#e8e1e2;
  --alsv-flate:#faf7f7;
  --alsv-overskrift:Montserrat,"Trebuchet MS",Helvetica,sans-serif;
  --alsv-brod:"Trebuchet MS",Helvetica,sans-serif;   /* nettstedets egen brødtekstfont */
  font-family:var(--alsv-brod);
  color:var(--alsv-tekst);
  line-height:1.55;
  -webkit-text-size-adjust:100%;
}
.alsv,.alsv *,.alsv *::before,.alsv *::after{box-sizing:border-box}

/* ---------- Skjold mot kundens CSS ---------- */
.alsv:where(header,section,footer,aside,div){margin:0;padding:0;border:0;background:none;box-shadow:none;float:none;width:auto;max-width:none;min-height:0;text-align:left}
.alsv :where(div,aside,nav,figure){line-height:inherit;font:inherit;color:inherit;text-align:inherit;float:none;border:0;background:none;box-shadow:none}
.alsv :where(h1,h2,h3,h4,h5,h6):not(#alsv-skjold):not(#alsv-skjold){font-family:var(--alsv-overskrift);color:var(--alsv-blekk);text-transform:none;text-align:inherit;background:none;border:0;padding:0;overflow-wrap:normal;letter-spacing:normal}
.alsv :where(figcaption,address,summary,blockquote){font:inherit;color:inherit;text-transform:none;letter-spacing:inherit}
.alsv :where(img,svg){border:0;box-shadow:none;border-radius:0;padding:0;background:none}
.alsv :where(a){background:none;border:0;box-shadow:none;color:inherit;font:inherit}
/* CMS-skjold: ID-løftet :not(#alsv-skjold):not(#alsv-skjold) (2,0,0) slår publiseringsløsningens stiler for lister, tabeller
   og avsnitt i tekstblokker. Alle regler som treffer disse elementene har samme løft (se CLAUDE.md). */
.alsv :where(ul,ol):not(#alsv-skjold):not(#alsv-skjold){margin:0;padding:0;padding-inline-start:0 !important;list-style:none !important;color:inherit;text-align:inherit;text-indent:0}
.alsv :where(li):not(#alsv-skjold):not(#alsv-skjold){display:block;margin:0;padding:0;list-style:none !important;font:inherit;color:inherit;text-transform:none;letter-spacing:inherit;text-indent:0;background:none;border:0}
.alsv :where(li):not(#alsv-skjold):not(#alsv-skjold)::marker{content:none}
.alsv :where(p):not(#alsv-skjold):not(#alsv-skjold){margin:0;padding:0;font:inherit;font-weight:inherit !important;color:inherit;text-transform:none;letter-spacing:inherit;text-indent:0;position:static;width:auto;background:none;border:0}
.alsv :where(table):not(#alsv-skjold):not(#alsv-skjold){border-collapse:collapse;border-spacing:0;border:0;background:none;box-shadow:none;margin:0;width:100%;max-width:none;overflow:visible}
.alsv :where(thead,tbody,tfoot,tr):not(#alsv-skjold):not(#alsv-skjold){background:none;border:0;box-shadow:none;font:inherit;color:inherit}
.alsv :where(td,th):not(#alsv-skjold):not(#alsv-skjold){border:0;padding:0;background:none;box-shadow:none;font:inherit;color:inherit;vertical-align:top;text-align:inherit;width:auto;word-break:normal}
.alsv :where(caption):not(#alsv-skjold):not(#alsv-skjold){font:inherit;color:inherit;text-align:inherit;padding:0;margin:0}
.alsv :where(strong){font-weight:700}

/* ---------- Intro over sponsorlista ---------- */
.alsv.alsv-intro{
  display:grid;gap:20px;
  max-width:1160px;margin:8px auto 28px;padding:0 16px;
}
@media (min-width:760px){
  .alsv.alsv-intro{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:32px;align-items:end;margin-bottom:36px}
}
.alsv .alsv-intro-tekst h2:not(#alsv-skjold):not(#alsv-skjold){
  margin:0 0 12px;
  font-size:clamp(23px,2.2vw + 14px,34px);font-weight:800;line-height:1.15;
}
/* Den røde kanten fra reklameplatene ved banen, også her */
.alsv .alsv-intro-tekst h2:not(#alsv-skjold):not(#alsv-skjold)::before{
  content:"";display:block;width:56px;height:5px;margin-bottom:14px;background:var(--alsv-rod);
}
.alsv .alsv-intro-tekst p:not(#alsv-skjold):not(#alsv-skjold){margin:0;max-width:60ch;font-size:17px;line-height:1.6}

.alsv .alsv-intro-kontakt{
  padding:20px 22px 22px;border-radius:10px;
  background:var(--alsv-rod);color:#fff;
}
.alsv .alsv-intro-kontakt p:not(#alsv-skjold):not(#alsv-skjold){margin:0 0 14px;font-size:16px;line-height:1.5;color:#fff}
.alsv .alsv-intro-kontakt strong{display:block;font-family:var(--alsv-overskrift);font-size:18px;font-weight:800;line-height:1.25;margin-bottom:2px}
.alsv .alsv-intro-kontakt ul:not(#alsv-skjold):not(#alsv-skjold){margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.alsv .alsv-intro-kontakt li:not(#alsv-skjold):not(#alsv-skjold){margin:0;padding:0}
.alsv .alsv-knapp{
  display:inline-flex;align-items:center;gap:.5em;min-height:44px;padding:10px 18px;
  border-radius:999px;border:2px solid #fff;
  font-family:var(--alsv-overskrift);font-size:14px;font-weight:700;letter-spacing:.02em;line-height:1.2;
  text-decoration:none !important;
  transition:background-color .15s ease,color .15s ease;
}
.alsv .alsv-knapp-hel{background:#fff;color:var(--alsv-rod-mork)}
.alsv .alsv-knapp-omriss{background:transparent;color:#fff}
.alsv .alsv-knapp::after{content:"\2192";font-size:1.15em;line-height:1;transition:transform .15s ease}
.alsv .alsv-knapp:hover::after{transform:translateX(3px)}
.alsv .alsv-knapp-hel:hover{background:var(--alsv-flate);color:var(--alsv-rod-mork);text-decoration:underline !important}
.alsv .alsv-knapp-omriss:hover{background:rgba(255,255,255,.14);color:#fff;text-decoration:underline !important}
.alsv .alsv-knapp:focus-visible{outline:3px solid #fff;outline-offset:3px}

@media (prefers-reduced-motion:reduce){
  .alsv .alsv-knapp,.alsv .alsv-knapp::after{transition:none}
  .alsv .alsv-knapp:hover::after{transform:none}
}

/* ── WIPS-tilpasning (bare på WIPS-siden, ikke i utkastet) ─────────────
   Blokker som inneholder en av våre seksjoner går kant i kant: WIPS sin luft rundt
   tekstblokker (padding 20px !important, marger på omslagene) nulles. */
.tf-block:has(.alsv):not(#alsv-skjold):not(#alsv-skjold):not(#alsv-skjold),
.tf-block:has(.alsv) :not(.alsv,.alsv *):not(#alsv-skjold):not(#alsv-skjold):not(#alsv-skjold){padding:0 !important;margin:0 !important}
/* Karusellen (hero-artikkelen) har padding-bottom:30px. På sider med våre seksjoner
   går den kant i kant med seksjonen under. */
body:has(.alsv) .w_carousel:not(#alsv-skjold):not(#alsv-skjold):not(#alsv-skjold){padding-bottom:0 !important}
/* Malens footer-logo har fast høyde (300px) og blir bredere enn skjermen på mobil med en bred logo. */
body:has(.alsv) .w_footer .w_logo img:not(#alsv-skjold):not(#alsv-skjold):not(#alsv-skjold){max-width:100%;object-fit:contain}

/* ==========================================================================
   Sponsorlista på alsvagil.no/?id=1354147738 – WIPS sin egen artikkelliste
   som sponsorvegg. Bevisst unntak fra prefiksregelen: treffer bare
   #container-list på sponsorsiden (body.page_id_1354147738), så nye
   sponsorer klubben legger inn som artikler får samme stil automatisk.
   ========================================================================== */
body.page_id_1354147738{
  --alsv-rod:#c60639;
  --alsv-rod-mork:#9e042d;
  --alsv-blekk:#1f1c1d;
  --alsv-tekst:#4a4446;
  --alsv-strek:#e8e1e2;
  --alsv-flate:#faf7f7;
}

/* Rutenett i stedet for malens flex-rader */
body.page_id_1354147738 #container-list{
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,232px),1fr));
  gap:clamp(24px,3vw,40px) clamp(20px,2.4vw,32px);
  max-width:1160px;
  margin:16px auto 64px !important;
  padding:0 16px !important;
  box-sizing:border-box;
}
body.page_id_1354147738 #container-list > .next-page-loader{grid-column:1/-1}
body.page_id_1354147738 #container-list > .outercol{
  display:block !important;
  width:auto !important;max-width:none !important;height:auto !important;
  margin:0 !important;padding:0 !important;flex:none !important;
}
body.page_id_1354147738 #container-list > .outercol > .clear{height:100%}

/* Kortet: en hvit reklameplate med lagets røde kant nederst, som ved banen */
body.page_id_1354147738 #container-list .spacer{
  position:relative;
  height:100% !important;
  margin:0 !important;padding:0 !important;
  background:#fff !important;
  border:1px solid var(--alsv-strek) !important;
  border-radius:10px !important;
  box-shadow:none !important;
  overflow:hidden !important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
body.page_id_1354147738 #container-list .innercol{
  display:flex !important;flex-direction:column;
  height:100% !important;padding:0 !important;
}

/* Logoflaten: hele logoen, ikke beskåret, på hvit bunn */
body.page_id_1354147738 #container-list .media-wrapper{
  position:relative !important;
  height:auto !important;padding:0 !important;margin:0 !important;
  aspect-ratio:1200/706;
  background:#fff !important;
  border-bottom:5px solid var(--alsv-rod);
  overflow:hidden !important;
  transition:border-bottom-width .18s ease;
}
body.page_id_1354147738 #container-list .media-wrapper > a{display:block;width:100%;height:100%}
body.page_id_1354147738 #container-list .media-wrapper img{
  position:absolute !important;inset:0;
  width:100% !important;height:100% !important;max-width:none !important;max-height:none !important;
  object-fit:contain !important;
  padding:7% 9% !important;box-sizing:border-box !important;
  margin:0 !important;border:0 !important;border-radius:0 !important;
  transition:transform .3s ease;
}

/* Navn og kort om bedriften */
body.page_id_1354147738 #container-list .textbox{
  position:static !important;
  flex:1 1 auto;
  height:auto !important;max-height:none !important;
  padding:16px 18px 20px !important;margin:0 !important;
  background:none !important;
  text-align:left !important;
}
body.page_id_1354147738 #container-list .textbox-inner{
  position:static !important;height:auto !important;max-height:none !important;padding:0 !important;
}
body.page_id_1354147738 #container-list .textbox-inner > a{
  display:block;color:inherit !important;
  text-decoration:none !important;background:none !important;
}
/* Hele kortet er lenken til artikkelen */
body.page_id_1354147738 #container-list .textbox-inner > a::after{
  content:"";position:absolute;inset:0;z-index:1;
}
body.page_id_1354147738 #container-list .textbox h2{
  margin:0 0 6px !important;padding:0 !important;
  max-height:none !important;overflow:visible !important;
  font-family:Montserrat,"Trebuchet MS",Helvetica,sans-serif !important;
  font-size:15px !important;font-weight:800 !important;
  line-height:1.25 !important;letter-spacing:.06em;
  text-transform:uppercase !important;
  color:var(--alsv-blekk) !important;
  overflow-wrap:normal !important;
}
body.page_id_1354147738 #container-list .textbox p{
  display:-webkit-box !important;
  -webkit-box-orient:vertical;-webkit-line-clamp:3 !important;line-clamp:3;
  overflow:hidden !important;
  max-height:none !important;opacity:1 !important;
  margin:0 !important;padding:0 !important;
  font-size:14px !important;line-height:1.5 !important;
  color:var(--alsv-tekst) !important;
}
/* Datoen forteller når sponsoren ble lagt inn, ikke noe om sponsoren */
body.page_id_1354147738 #container-list .textbox .date{display:none !important}
/* «Les mer» trengs ikke når hele kortet er en lenke med navnet som tekst */
body.page_id_1354147738 #container-list .col-links{display:none !important}

/* Hover og tastaturfokus */
body.page_id_1354147738 #container-list .spacer:hover{
  transform:translateY(-3px);
  border-color:#d9cfd1 !important;
  box-shadow:0 10px 24px -12px rgba(31,28,29,.35) !important;
}
body.page_id_1354147738 #container-list .spacer:hover .media-wrapper{border-bottom-width:9px}
body.page_id_1354147738 #container-list .spacer:hover h2{color:var(--alsv-rod-mork) !important}
body.page_id_1354147738 #container-list .spacer:has(a:focus-visible){
  outline:3px solid var(--alsv-rod);outline-offset:3px;
}
body.page_id_1354147738 #container-list .spacer a:focus-visible{outline:none}

/* Mobil: én kolonne, logo til venstre og tekst til høyre */
@media (max-width:559px){
  body.page_id_1354147738 #container-list{gap:18px;padding:0 12px !important}
  body.page_id_1354147738 #container-list .innercol{
    display:grid !important;grid-template-columns:42% 1fr;align-items:stretch;
  }
  body.page_id_1354147738 #container-list .media-wrapper{
    aspect-ratio:auto;min-height:96px;height:100% !important;
    border-bottom:0;border-right:4px solid var(--alsv-rod);
  }
  body.page_id_1354147738 #container-list .spacer:hover .media-wrapper{border-right-width:6px}
  body.page_id_1354147738 #container-list .textbox{
    display:flex;align-items:center;padding:12px 14px !important;
  }
  body.page_id_1354147738 #container-list .textbox h2{font-size:13.5px !important;margin-bottom:4px !important}
  body.page_id_1354147738 #container-list .textbox p{font-size:13px !important;-webkit-line-clamp:2 !important;line-clamp:2}
}

@media (prefers-reduced-motion:reduce){
  body.page_id_1354147738 #container-list :is(.spacer,.media-wrapper,img){transition:none !important}
  body.page_id_1354147738 #container-list .spacer:hover{transform:none}
}
