/* v2.css — programsidan i redesignen (ettans jobb b12074227573c; Pers ord 12/11 i sjuans fönster). Hela historiken, med Pers
 * ord för varje beslut och mätningarna, står i docs/redesign.md. Den här filen säger VAD, och docs VARFÖR.
 *
 * Gäller bara under html.v2. Klassen sätts av mu-plugins/wtv-v2.php (förhandskakan ?v2=pa, eller WTV_V2_ALLA vid publicering).
 * assets/js/v2.js ordnar sidan i webbläsaren (HTML:en från servern är orörd): .v2-bildkol (bild + kredit) och .v2-hoger (rubrik,
 * metarad, status/knapp, Spara/Dela, sidospalt), statusraden, brickorna, IMDb-brickan, sidospalten och sidhuvudet i mobil.
 *
 * Specificitet: temat har 756 !important i theme.min.css och styr innehållet med id (#newwrap …). Därför !important och, där
 * temat använder id, #newwrap i väljaren. Ändra bara med provet: node tools/redesignprov.mjs ta/jamfor (åtta sidtyper, mobil
 * och dator, läge, storlek, stil, tryckyta och sidhuvud).
 *
 * Städad 12/11 (Pers «städa koden före publicering»): 559 rader → 291, 375 !important → 273; provet visar samma resultat.
 */

/* ═══ 1. Grunden ══════════════════════════════════════════════════════════════════════════════════════════════════ */

html.v2 {
  --v2-text: #1a1a2e;
  --v2-text-2: #4b5563;
  --v2-blå: #1d3a66;          /* husets mörkblå */
  --v2-orange: #c8432a;       /* spelknappen: 4,9:1 mot vit text (#dc5034 gav 4,0, granskningen 12/11 fynd 4) */
  --v2-afflank: #2c5b87;      /* afflänksknappen (husnormen, docs/kort-och-badgar.md) */
  --v2-kant: #e3e7ee;
  --v2-radie: 12px;
  --v2-font: 'Inter-Regular', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --v2-t1: 2rem;              /* 32: H1 från 768 px */
  --v2-t2: 1.625rem;          /* 26: H1 i mobil */
  --v2-t4: 1.0625rem;         /* 17: knappar */
  --v2-t6: 0.8125rem;         /* 13: etiketter */
  --v2-s1: 8px;               /* delar som hör ihop */
  --v2-s2: 16px;              /* rader i ett block */
  --v2-s3: 24px;              /* block */
  --v2-s4: 40px;              /* avsnitt */
}

/* Fokus för tangentbord och tv-fjärrkontroll; inte textfält och inte i sökrutan (Ajax Search Pro har egen). */
html.v2 a:focus-visible:not(.asp_m *),
html.v2 button:focus-visible:not(.asp_m *),
html.v2 [tabindex]:not(input):not(textarea):focus-visible:not(.asp_m *) {
  outline: 3px solid var(--v2-blå) !important; outline-offset: 2px !important; border-radius: 6px;
}

html.v2 body.single .v2-dold, html.v2 body.single section.postcontents > hr.v2-hr-bort { display: none !important; }   /* hr-bort: v2.js avdelare() (NY-3) */
html.v2 body.single #pmeta #newcat > p.v2-dold { display: none !important; }   /* «Kategori saknas» (NY-8); id-regeln nedan ger annars display: contents */

/* Innehållet dolt tills v2.js ordnat sidan (html.v2-klar), med reserv efter 1,5 s. */
@keyframes v2-visa { to { visibility: visible; } }
html.v2:not(.v2-klar) body.single .postinfo { visibility: hidden; animation: v2-visa 0s 1.5s forwards; }

/* ═══ 2. Brödsmulorna: bara tjänsten och programmet, en rad ═══════════════════════════════════════════════════════
   Hem och Play döljs bara på skärmen; microdatan och TSF:s JSON-LD står kvar. Luften som padding (en marginal kollapsar
   ut genom .postinfo); i mobil ligger menyremsan 15 px över innehållet. */
html.v2 body.single .breadcrumbs {
  height: auto !important; overflow: hidden !important; max-width: calc(100% - 24px);
  margin: 0 12px var(--v2-s2) 0 !important; padding: var(--v2-s2) 0 0 !important;
  font-family: var(--v2-font) !important;
}
html.v2 body.single .breadcrumbs, html.v2 body.single .breadcrumbs * { font-size: 13px !important; line-height: 1.4 !important; }
html.v2 body.single .breadcrumbs ol { display: flex; flex-wrap: nowrap; overflow: hidden; white-space: nowrap; max-width: 100%; margin: 0; padding: 0; }
html.v2 body.single .breadcrumbs li { display: list-item; color: var(--v2-text-2); }
html.v2 body.single .breadcrumbs li:nth-last-of-type(n+3) { display: none !important; }
html.v2 body.single .breadcrumbs li.lastli { min-width: 0; }
html.v2 body.single .breadcrumbs li.lastli, html.v2 body.single .breadcrumbs li.lastli * { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html.v2 body.single .breadcrumbs a { color: var(--v2-text-2) !important; text-decoration: none !important; }
/* Tryckytan ~42 px utan att raden växer (granskningen 12/11, fynd 6): utfyllnad på länken, och listan och rutan ger plats åt den
   (båda klipper med overflow). */
html.v2 body.single .breadcrumbs { padding-bottom: 12px !important; margin-bottom: calc(var(--v2-s2) - 12px) !important; }
html.v2 body.single .breadcrumbs ol { padding: 12px 0 !important; margin: -12px 0 !important; }
html.v2 body.single .breadcrumbs a { padding: 12px 0; }
html.v2 body.single .breadcrumbs ol > p { margin: 0 4px !important; padding: 0 !important; }               /* sportmallarnas › */
html.v2 body.single .breadcrumbs ol > p:nth-last-of-type(n+2) { display: none !important; }
@media (max-width: 899px) {   /* 24 px (s3) i stället för temats 3 % (12 px i 393), en kant för allt (Per 13/11: «brödtexten med rubrik i mobil
                                 måste få lite mer margin», 16 px «fortfarande för brett», valde «A: 24 px för allt») */
  html.v2 body.single .breadcrumbs { margin-left: var(--v2-s3) !important; margin-right: var(--v2-s3) !important; width: auto !important; max-width: calc(100% - 2 * var(--v2-s3)) !important; }
  html.v2 body.single #newwrap { width: auto !important; margin-left: var(--v2-s3) !important; margin-right: var(--v2-s3) !important; }
}
@media (max-width: 767px) { html.v2 body.single .breadcrumbs { padding-top: calc(var(--v2-s2) + 15px) !important; } }   /* 8 gav tjänstledet 38 px tryckyta under remsan; kvar på 16 */
/* #newwrap under menyns flytande delar: som grid i dator blir det annars en egen formateringskontext bredvid dem och faller
   ihop till ~190 px på sidor utan brödsmulor (granskning 2, N1). Utan brödsmulor står luften överst på #newwrap (v2.js). */
html.v2 body.single #newwrap { clear: both; }
html.v2.v2-utan-smulor body.single #newwrap { padding-top: var(--v2-s2) !important; }
@media (max-width: 767px) { html.v2.v2-utan-smulor body.single #newwrap { padding-top: calc(var(--v2-s2) + 15px) !important; } }

/* ═══ 3. Bildspalten: bilden, länken ut, pilen och krediten ═══════════════════════════════════════════════════════
   Ramen är exakt lika stor som bilden: temat ger den fast höjd, top 10 px och en flytande bild, och #trailimdb (inflyttad)
   har −10 px nedre marginal. Den osynliga länken (#overlayimg) och pilen fyller ramen, och ramen klipper det som sticker ut,
   så att tryck på rubrik och metarad aldrig går till playtjänsten. */
html.v2 body.single #newwrap .respimgwrap.v2-bildram {
  display: flow-root !important; position: relative !important; top: 0 !important; bottom: auto !important; overflow: hidden !important;
  height: auto !important; max-height: none !important; min-height: 0 !important; margin: 0 !important;
}
html.v2 body.single .respimgwrap img.wp-post-image { display: block !important; float: none !important; margin: 0 !important; border: 0 !important; border-radius: 12px !important; }
html.v2 body.single .v2-bildram #trailimdb { margin: 0 !important; }
html.v2 body.single .v2-bildram #overlayimg {
  top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important;
  background-size: 100% 100% !important; background-position: 0 0 !important;
}
html.v2 body.single .v2-bildram #overlayimg a { display: block !important; position: absolute !important; inset: 0 !important; }
html.v2 body.single .v2-bildram #overlayimg img {
  position: absolute !important; left: 0 !important; top: 0 !important; right: auto !important; bottom: auto !important;
  width: 100% !important; height: 100% !important; max-width: none !important; margin: 0 !important; transform: none !important;
}
html.v2 body.single #newwrap #copy.v2-kredit {
  display: block !important; position: static !important; box-sizing: border-box !important; width: auto !important; max-width: 100% !important;
  height: auto !important; min-height: 0 !important; overflow: visible !important; left: auto !important; right: auto !important;
  margin: 2px 0 0 !important; padding: 0 !important; text-align: right !important;
}
html.v2 body.single #copy.v2-kredit p {
  display: block !important; float: none !important; position: static !important; width: auto !important; max-width: 100% !important;
  margin: 0 !important; font-size: 11px !important; line-height: 1.3 !important; color: var(--v2-text-2) !important; text-align: right !important;
}

/* ═══ 4. Rubriken ═════════════════════════════════════════════════════════════════════════════════════════════════
   Utan versaler och utan sajtloggan i synen; H1-TEXTEN är orörd (loggans alt «Streama» står kvar, titelprovet till 1/12). */
/* Radhöjd 1,15 (förut 1,2): en rubrik på tre rader i 393 tar 4 px mindre, och fyra sidor med knappen 1 px under vecket 659
   kommer över (svep 2, S2-6 a). */
html.v2 body.single h1.h1post { text-transform: none !important; letter-spacing: 0 !important; font-weight: 600 !important; line-height: 1.15 !important; }
html.v2 body.single h1.h1post span.playlogo { display: none !important; }
html.v2 body.single .titleheader h1.h1post { font-family: var(--v2-font) !important; color: var(--v2-text); }
html.v2 body.single #newwrap h1.h1post { margin: var(--v2-s3) 0 0 !important; padding: 0 !important; text-align: left !important; font-size: var(--v2-t2) !important; }
@media (min-width: 768px) { html.v2 body.single #newwrap h1.h1post { font-size: var(--v2-t1) !important; } }

/* ═══ 5. Metaraden: «Film · 2023 · 99 min · Kriminal, Mysterie» och IMDb-brickan ══════════════════════════════════
   Kategorierna är länkar (högst tre). v2.js byter temats .metadivider mot « · » och lägger IMDb-brickan sist. */
html.v2 body.single #newwrap #programmeta { position: static !important; margin: var(--v2-s1) 0 0 !important; padding: 0 !important; }
html.v2 body.single #pmeta {
  position: static !important; top: auto !important; width: auto !important; margin: 0 !important; text-align: left !important;
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 0; font-family: var(--v2-font); font-size: 15px; color: var(--v2-text-2);
}
html.v2 body.single #pmeta #newcat, html.v2 body.single #pmeta #newcat > p { display: contents !important; }
html.v2 body.single #pmeta > p { order: 1; margin: 0 !important; padding: 0 !important; font-size: 15px !important; color: var(--v2-text-2) !important; }
html.v2 body.single #pmeta > p::before { content: " · "; white-space: pre; color: var(--v2-text-2); }
html.v2 body.single #pmeta a.category-link {
  order: 2; display: inline !important; position: static !important; top: auto !important; margin: 0 !important; padding: 0 !important;
  border: 0 !important; border-radius: 0 !important; background: none !important; font-size: 15px !important; text-transform: none !important;
  letter-spacing: 0 !important; color: var(--v2-text-2) !important; text-decoration: none !important;
}
html.v2 body.single #pmeta a.category-link:first-child { order: 0; }
html.v2 body.single #pmeta a.category-link { padding: 12px 0 !important; }   /* tryckytan (fynd 6); inline, så raden växer inte */
html.v2 body.single #pmeta a.category-link:nth-child(n+3) { display: none !important; }   /* två kategorier (svep 2, S2-5 och S2-6) */
html.v2 body.single #pmeta a.category-link:hover { text-decoration: underline !important; }
html.v2 body.single #pmeta a.category-link:not(:first-child)::before {
  content: " · "; display: inline-block; white-space: pre; color: var(--v2-text-2); text-decoration: none !important;   /* inte understruken */
}
html.v2 body.single #pmeta a.category-link:nth-child(n+3)::before { content: ", "; }
/* v2.js metaSep(): avskiljaren sist i delen före, så att en del som bryts till ny rad aldrig börjar med « · » (svep 2, S2-5).
   Hårt mellanslag före, så att avskiljaren följer delen; reglerna ovan gäller bara utan skriptet. */
html.v2 body.single #pmeta .v2-utan-fore::before { content: none !important; }
html.v2 body.single #pmeta .v2-sep-efter::after {
  content: "\00a0· "; display: inline-block; white-space: pre; color: var(--v2-text-2); text-decoration: none !important;
}
html.v2 body.single #pmeta .v2-imdb {
  order: 9; flex: 0 0 auto; margin: 0 0 0 10px !important; padding: 2px 8px; border-radius: 6px;   /* på metaradens rad (N4: −33 px i mobil) */
  background: #f5c518; color: #111 !important; font-size: 13px; font-weight: 700; line-height: 1.5; text-decoration: none !important;
  position: relative;
}
html.v2 body.single #pmeta .v2-imdb::after { content: ""; position: absolute; inset: -11px -6px; }   /* tryckytan 45 px (fynd 6) */

/* ═══ 6. Knappblocket: status → annonsetikett → knapp → raden under ══════════════════════════════════════════════
   v2.js bygger .v2-status («[logga] På SVT Play · Kvar till …», brickor) överst i .playbutton. */
html.v2 body.single #newwrap .playbutton { display: flex; flex-wrap: wrap; align-items: center; margin: var(--v2-s2) 0 0 !important; padding: 0 !important; text-align: left; }
html.v2 body.single .v2-status { order: 0; display: block; flex: 1 1 100%; line-height: 1.5; font-family: var(--v2-font); font-size: 15px; color: var(--v2-text); }
html.v2 body.single .v2-status b { font-weight: 600; }
html.v2 body.single .v2-status-logga {
  display: inline-block; vertical-align: middle; width: 28px !important; height: 28px !important; margin: 0 8px 0 0; padding: 3px;
  box-sizing: border-box; object-fit: contain; border: 1px solid var(--v2-kant); border-radius: 6px; background: #fff;
}
html.v2 body.single .v2-status .v2-status-till { color: var(--v2-text-2); }
html.v2 body.single .v2-status .v2-status-till::before { content: " · "; white-space: pre; color: var(--v2-text-2); }
html.v2 body.single .playbutton span.tillganglig { order: 1; display: inline !important; margin: 0 !important; font-size: 15px !important; color: var(--v2-text-2) !important; text-align: left !important; }
html.v2 body.single .playbutton span.tillganglig::before { content: " · "; white-space: pre; }
/* v2.js separatorer() (N8): avskiljaren sist i ledet före (hårt mellanslag, så den aldrig hamnar först på en rad), och
   datumen hålls ihop med hårda mellanslag. Ingen nowrap på hela led: långa tidstexter («Avsnitten som ligger uppe nu …»)
   gick då ut över kanten i mobil (Per 12/11). */
html.v2 body.single .v2-status.v2-sep .v2-status-till::before,
html.v2 body.single .v2-status.v2-sep span.tillganglig::before { content: none !important; }
html.v2 body.single .v2-status.v2-sep .v2-led-sep::after { content: "\00a0·"; font-weight: 400; color: var(--v2-text-2); }
html.v2 body.single .v2-fore-bricka { margin-right: 10px !important; }
/* Utgångsmärkningen som gul bricka i statusraden (v2.js utgangsrad()); temats rader döljs i v2 (Per 13/11, Rose), men först
   när brickan står där (html.v2-utgang-flyttad), så att beskedet aldrig försvinner (omgång 12, M-1). */
html.v2 body.single .v2-bricka.v2-bricka-gul { background: #fcbe35; color: #000; }
html.v2.v2-utgang-flyttad body.single .expire-mobilrad, html.v2.v2-utgang-flyttad body.single #pmeta > .expirepost { display: none !important; }   /* luften före brickan står på ledet före (fynd 9) */
html.v2 body.single .v2-hoger > .v2-status-utgang { display: block; margin: var(--v2-s2) 0 0; }   /* egen rad när statusraden saknas */
html.v2 body.single .v2-bricka {
  display: inline-block; margin: 0; padding: 3px 9px; border-radius: 999px; vertical-align: middle;
  background: #e6f4ea; color: #1e6b34; font-size: 13px; font-weight: 600; font-style: normal; line-height: 1.4;
}
html.v2 body.single .playbutton .reklamrad { order: 2; flex: 1 1 100%; margin: var(--v2-s2) 0 0 !important; text-align: left !important; font-size: 14px !important; color: var(--v2-text-2) !important; }
html.v2 body.single .playbutton .reklamrad * { text-align: left !important; }
html.v2 body.single .playbutton .reklamrad .annonsmarke { display: inline !important; }
html.v2 body.single #newwrap .playbutton > .wtv-annons-etikett { order: 2; flex: 1 1 100%; margin: var(--v2-s2) 0 0 !important; text-align: left !important; }   /* 16 px under statusraden (Per 14/11: «mer luft mellan elementen»; förut 8) */
html.v2 body.single .playbutton > a.shortbutton, html.v2 body.single .playbutton > p { order: 3; flex: 1 1 100%; }
html.v2 body.single #newwrap .playbutton > p { margin: 0 !important; padding: 0 !important; }
html.v2 body.single .playbutton .plusrad,
html.v2 body.single .playbutton .viaplayrad { order: 4; flex: 1 1 100%; margin: var(--v2-s2) 0 0 !important; text-align: left !important; }   /* 16 px under knappen (Per 14/11; förut 8) */
html.v2 body.single .playbutton .plusrad { font-size: 14px !important; }
html.v2 body.single .playbutton .plusrad a, html.v2 body.single .playbutton .viaplayrad a { display: inline-block; padding: 12px 0; margin: -12px 0; }   /* fynd 6 */

/* Annonsetiketten: ett utförande (fynd 8). Förut tre: filmens .annonsmarke (#6b7280, 600), betalremsans (opacity .7, 400) och
   sportens (opacity .65), med temats och mallarnas inline-stilar. */
html.v2 body.single .v2-hoger .wtv-annons-etikett, html.v2 body.single .v2-hoger .annonsmarke,
html.v2 body.single .v2-hoger .wtv-utgatt-annons, html.v2 body.single .v2-hoger .wtv-nasta-annons {   /* + utgångskortet och NÄSTA-raden (granskning 3, NY-10) */
  display: block !important; margin: 0 !important; opacity: 1 !important; color: var(--v2-text-2) !important;
  font-family: var(--v2-font) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .08em !important;
  text-transform: uppercase !important; line-height: 1.4 !important;
}

/* Spelknappen: en primärknapp. 16 px under statusraden, 8 när annonsetiketten står emellan. */
html.v2 body.single .playbutton a.shortbutton.orange {
  display: block; box-sizing: border-box; width: 100% !important; margin: var(--v2-s2) 0 0 !important; padding: 15px 20px !important;
  border-radius: var(--v2-radie) !important; font-family: var(--v2-font) !important; font-size: var(--v2-t4) !important; font-weight: 600 !important;
  line-height: 1.3 !important;   /* samma som afflänksknappen: båda 52 px (fynd 7) */
  letter-spacing: 0; text-align: center; text-decoration: none !important; color: #fff !important; background: var(--v2-orange) !important;
}
html.v2 body.single .playbutton a.shortbutton.orange * { text-decoration: none !important; }
html.v2 body.single .playbutton a.shortbutton.orange:hover { filter: brightness(1.06); }
html.v2 body.single .playbutton:has(.reklamrad) a.shortbutton.orange,
html.v2 body.single .playbutton:has(> .wtv-annons-etikett) a.shortbutton.orange { margin-top: var(--v2-s1) !important; }
/* Betaltjänst med spelknapp (TV4 Play+): afflänksfärgen, som Viaplay och HBO Max (N6). */
html.v2 body.single .playbutton.v2-betal a.shortbutton.orange { background: var(--v2-afflank) !important; }
/* Kommande med länk: sekundär knapp «Öppna hos <tjänst>», programmet har inte haft premiär (N2). */
html.v2 body.single .playbutton.v2-kommande a.shortbutton.orange {
  background: #fff !important; color: var(--v2-blå) !important; border: 1px solid var(--v2-kant) !important; padding: 14px 20px !important;
}
html.v2 body.single .playbutton.v2-kommande a.shortbutton .rotate3 { display: none !important; }   /* spelpilen: inget att spela än */
/* Annonsetiketten i NÄSTA-raden: läsbar (11 px #788491 gav 3,55:1, granskning 2, fynd 8). */
html.v2 body.single .wtv-nasta-rad .wtv-nasta-annons { font-size: 12px !important; color: var(--v2-text-2) !important; opacity: 1 !important; }
html.v2 body.single .v2-hoger .wtv-nasta-rad .wtv-nasta-annons { margin-top: var(--v2-s1) !important; }
/* NÄSTA-raden: matchlänken i spelknappens orange och etiketterna i den grå texten (temats #fa502d gav 3,1:1 och #6b7a8d 4,1:1
   på sidans #f8f8f8, granskning 3, NY-21), och matchlänken med tryckyta (20 → minst 44 px, NY-14; inline, så raden växer inte). */
html.v2 body.single .wtv-nasta-rad a { color: var(--v2-orange) !important; padding: 14px 0 !important; }
html.v2 body.single .wtv-nasta-rad .wtv-nasta-etikett, html.v2 body.single .wtv-nasta-rad .wtv-nasta-tavling { color: var(--v2-text-2) !important; }
/* NÄSTA-raden staplad: tid, match, tävling och tjänst på var sin rad, utan avskiljare (svep 2, S2-1: «·» stod först på raden
   på 21 av 30 sidor i 393). Avskiljaren är span.wtv-nasta-sep (sport-matchlista.php, eller v2.js nastaRad() för äldre HTML). */
html.v2 body.single .wtv-nasta-rad .wtv-nasta-sep { display: none !important; }
html.v2 body.single .wtv-nasta-rad > .wtv-nasta-nar, html.v2 body.single .wtv-nasta-rad > .wtv-nasta-tavling { display: block; }
html.v2 body.single .wtv-nasta-rad > .wtv-nasta-tavling, html.v2 body.single .wtv-nasta-rad > .wtv-nasta-annons { margin-left: 0 !important; }
html.v2 body.single .wtv-nasta-rad > .wtv-nasta-annons { display: block !important; }

/* ═══ 7. Betalraden och kommande (.postalert, v2.js: .v2-remsa) ══════════════════════════════════════════════════
   Utan knapp (betal, prel): textrad med afflänken som knapp i afflänksfärgen, eller «X visas med start …» + kalenderknappen.
   Med knapp: v2.js lägger datumet i statusraden och döljer remsan. */
html.v2 body.single #newwrap .postalert.v2-remsa {
  position: static !important; top: auto !important; left: auto !important; right: auto !important; bottom: auto !important;
  width: auto !important; height: auto !important; margin: var(--v2-s2) 0 0 !important; padding: 0 !important; background: none !important;
}
html.v2 body.single .playbutton > .postalert.v2-remsa { order: -1; flex: 1 1 100%; }
html.v2 body.single .v2-remsa .alert {
  position: static !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important;
  font-family: var(--v2-font) !important; font-size: 15px !important; color: var(--v2-text) !important; text-align: left !important;
}
html.v2 body.single .v2-remsa .alert > p { margin: 0 !important; }
html.v2 body.single .v2-remsa .alert em, html.v2 body.single .v2-remsa .alert .block { display: inline !important; color: inherit !important; }
html.v2 body.single .v2-remsa .alert > .v2-dold { display: none !important; }   /* kommande: texten står i statusraden (fynd 2) */
html.v2 body.single .v2-remsa #chlogo { display: none !important; }
html.v2 body.single .v2-remsa .wtv-annons-etikett { margin: var(--v2-s1) 0 0 !important; }   /* som filmens: 8 px under statusraden (fynd 7) */
html.v2 body.single .v2-remsa .alert > .v2-status { margin: 0 !important; }
html.v2 body.single .v2-remsa .alert a[rel~="sponsored"], html.v2 body.single .v2-remsa .alert a[target="_blank"]:not(.atcb-button) {
  display: block !important; box-sizing: border-box; width: 100% !important; margin: var(--v2-s1) 0 0 !important; padding: 15px 20px !important;
  border: 0 !important; border-radius: var(--v2-radie) !important; box-shadow: none !important; transform: none !important;
  font-family: var(--v2-font) !important; font-size: var(--v2-t4) !important; font-weight: 600 !important; line-height: 1.3 !important;
  letter-spacing: 0 !important;   /* temat gav 0.2px (N9) */
  text-align: center !important; text-decoration: none !important; color: #fff !important; background: var(--v2-afflank) !important;
}
html.v2 body.single .v2-remsa .alert a[target="_blank"]:hover { filter: brightness(1.08); }
/* Utgångsbeskedets knapp («finns numera på …») i högerspalten: afflänksknappens form, en rad (N3). */
html.v2 body.single .v2-hoger .wtv-utgatt .wtv-utgatt-knapp a {
  display: block !important; box-sizing: border-box; width: 100% !important; margin: var(--v2-s1) 0 0 !important; padding: 15px 20px !important;
  border: 0 !important; border-radius: var(--v2-radie) !important; box-shadow: none !important;
  font-family: var(--v2-font) !important; font-size: var(--v2-t4) !important; font-weight: 600 !important; line-height: 1.3 !important; letter-spacing: 0 !important;
  text-align: center !important; text-decoration: none !important; color: #fff !important; background: var(--v2-afflank) !important;
}
/* Utgångna sidor (fynd 1): beskedet står före, och knappen är sekundär, vit med kant. */
html.v2 body.single .v2-remsa.v2-remsa-sekundar .alert a[rel~="sponsored"],
html.v2 body.single .v2-remsa.v2-remsa-sekundar .alert a[target="_blank"]:not(.atcb-button) {
  background: #fff !important; color: var(--v2-blå) !important; border: 1px solid var(--v2-kant) !important;
  padding: 14px 20px !important;   /* 52 px med kanten, som övriga knappar (54 förut, NY-19) */
}
/* Bevaka i utgångsbeskedet: tryckytan 38 → 44 px (NY-14). */
html.v2 body.single .wtv-utgatt .wtv-utgatt-bevaka-knapp { min-height: 44px !important; box-sizing: border-box; }
/* En lång sändningstext under statusraden (v2.js sandningsruta(), när rutan «Här ser du det» inte finns; NY-4). */
html.v2 body.single .v2-sandning { order: 0; flex: 1 1 100%; margin: var(--v2-s1) 0 0; font-family: var(--v2-font); font-size: 15px; line-height: 1.45; color: var(--v2-text-2); }
html.v2 body.single .v2-hoger > .wtv-utgatt.v2-utgatt { margin: var(--v2-s2) 0 0 !important; }
html.v2 body.single .v2-remsa .calendarouter { display: none !important; }   /* ingen kalenderknapp i v2 (Pers «ta bort kalendern» 12/11) */
html.v2 body.single .v2-remsa .calendar { width: fit-content !important; margin: 0 !important; }

/* ═══ 8. Spara och Dela (Rekommendera bort) ══════════════════════════════════════════════════════════════════════ */
html.v2 body.single #newwrap #sharearea { margin: var(--v2-s3) 0 0 !important; padding: 0 !important; height: auto !important; min-height: 0 !important; }   /* utan temats luft (fynd 7); 24 px, eget block (Per 14/11, förut 16) */
html.v2 body.single #sharearea ul.share-buttons { display: flex !important; gap: 10px; float: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
html.v2 body.single #sharearea ul.share-buttons > li { flex: 1 1 0; left: 0 !important; margin: 0 !important; padding-left: 0 !important; list-style: none; }
html.v2 body.single #sharearea ul.share-buttons > li:has(.wbtv-rec-btn) { display: none !important; }
html.v2 body.single #sharearea ul.share-buttons > li > button,
html.v2 body.single #sharearea .smart-share-wrapper,
html.v2 body.single #sharearea .smart-share-btn { width: 100% !important; justify-content: center; margin: 0 !important; }   /* knapparnas egen 5/16 px gav död yta (fynd 7) */
html.v2 body.single #sharearea ul.share-buttons > li > button,
html.v2 body.single #sharearea .smart-share-btn {
  min-height: 44px !important; border: 1px solid var(--v2-kant) !important; border-radius: 10px !important; background: #fff !important;
  font-family: var(--v2-font) !important; font-size: 15px !important; color: var(--v2-text) !important;
}

/* ═══ 9. Texten: ingress, stycken, avdelare, sektionsrubriker ═════════════════════════════════════════════════════
   section.postcontents är flex (marginaler adderas, de kollapsar inte). Om v2.js inte hunnit: knappen före texten. */
html.v2 body.single section.postcontents { display: flex !important; flex-direction: column; clear: both; padding-top: 0 !important; }
html.v2 body.single section.postcontents > * { order: 0; }
html.v2 body.single section.postcontents > .trailer, html.v2 body.single section.postcontents > .postalert { order: -3; }
html.v2 body.single section.postcontents > .playbutton { order: -2; }
html.v2 body.single #newwrap > .contentswrapper { margin-top: var(--v2-s3) !important; }
html.v2 body.single section.postcontents > h2,
html.v2 body.single section.postcontents > h3,
html.v2 body.single section.postcontents > p,
html.v2 body.single section.postcontents > hr { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; }
html.v2 body.single #newwrap section.postcontents > h2 {
  margin: 0 0 var(--v2-s2) !important; padding-top: 0 !important; padding-bottom: 0 !important;
  font-family: var(--v2-font) !important; font-weight: 600 !important; line-height: 1.35 !important; color: var(--v2-text);   /* mobil: temats 23 px */
}
@media (min-width: 768px) { html.v2 body.single #newwrap section.postcontents > h2 { font-size: 1.25rem !important; } }
html.v2 body.single section.postcontents > h2 #chlogo,
html.v2 body.single section.postcontents > h2 > img:first-child,
html.v2 body.single section.postcontents > h2 > a:first-child:has(> img[src*="/logosfront/"]) { display: none !important; }   /* loggan står i statusraden */
html.v2 body.single #newwrap section.postcontents > p,
html.v2 body.single #newwrap section.postcontents > p.wtv-lagfakta {
  margin: 0 0 var(--v2-s2) !important; padding: 0 !important; top: 0 !important;
  font-family: var(--v2-font) !important; font-size: 1.0625rem !important; line-height: 1.6 !important; color: var(--v2-text) !important;
  font-weight: 400 !important;   /* temat gav 300 och #282828 med !important (minnet kitetheme-p-farg-kraver-important); lika distinkt som topplistans kort (Per 13/11) */
}
@media (min-width: 768px) {
  html.v2 body.single #newwrap section.postcontents > p,
  html.v2 body.single #newwrap section.postcontents > p.wtv-lagfakta { font-size: 1.125rem !important; }
}
html.v2 body.single #newwrap section.postcontents > p:has(+ hr),
html.v2 body.single #newwrap section.postcontents > p:has(+ .v2-dold + hr) { margin-bottom: 0 !important; }
html.v2 body.single #newwrap section.postcontents > p:has(+ hr.v2-hr-bort) { margin-bottom: var(--v2-s2) !important; }   /* avdelaren dold (NY-3) */
html.v2 body.single #newwrap section.postcontents > hr { margin: var(--v2-s3) 0 !important; }
html.v2 body.single section.postcontents > h3 {
  margin: 0 0 12px !important; font-family: var(--v2-font) !important; font-size: var(--v2-t6) !important;
  letter-spacing: .06em; text-transform: uppercase; color: var(--v2-text-2);
}
html.v2 body.single section.postcontents > .program-sandningstid-container {   /* längre sändningstexter (korta blir brickor) */
  top: 0 !important; margin: 0 0 18px !important; background: #f1f4f8 !important; border-left-width: 3px !important; font-size: 15px !important;
}
html.v2 body.single #newwrap section.postcontents > .wtv-nasta-rad { margin: 0 0 var(--v2-s3) !important; }   /* sportens NÄSTA-rad */
html.v2 body.single .v2-hoger > .wtv-nasta-rad.v2-nasta { margin: var(--v2-s3) 0 0 !important; }                 /* sporten (fynd 5) */
html.v2 body.single section.postcontents > .wtv-utgatt:not(.wtv-utgatt ~ .wtv-utgatt) { margin-top: 0 !important; }   /* beskedet i texten: 24 px som andra sidor (temat 58, förut 10; fynd 7) */
/* Faktalistor i texten med «position: relative; left: 28px» i post_content (243 publicerade inlägg, mest betalsport, mätt 13/11):
   i flexkolumnen blir listan hela bredden och sticker ut 28 px, sidledsskroll i mobil (nattsvepet 13/11). Indraget som utfyllnad. */
html.v2 body.single section.postcontents > ul[style*="left"], html.v2 body.single section.postcontents > ol[style*="left"] {
  left: 0 !important; padding-left: 28px !important;
}

/* ═══ 10. Två spalter från 900 px (surfplatta liggande; förut 1100, N7) och sidospalten ════════════════════════════ */
html.v2 body.single .v2-bildkol, html.v2 body.single .v2-hoger { min-width: 0; }
html.v2 body.single #newwrap { top: 0 !important; }
html.v2 body.single .v2-sido { display: none; transition: opacity .25s ease, visibility .25s; }
html.v2 body.single .v2-sido.v2-sido-borta { opacity: 0; visibility: hidden; }
@media (min-width: 900px) {
  /* Temats bredd (Pers «temats bredd ja» 12/11): sidhuvudet är min(1400px, 92vw), och innehållet står 24 px (s3) innanför dess
     kanter i alla bredder. Per 12/11: ända ut var «för mycket», ett tak på 1 240 px gav ~75 px i 1512, «för breda marginaler».
     Bildspalten tar den nya bredden, högerspalten 340–400 px, texten högst 720 px (radlängden). */
  html.v2 body.single .postwrapper { width: calc(min(1400px, 92vw) - 48px) !important; max-width: none !important; }
  html.v2 body.single #newwrap > .contentswrapper { max-width: 720px; }
  html.v2 body.single .breadcrumbs { margin-left: 0 !important; }
  html.v2 body.single #newwrap {
    display: grid !important; grid-template-columns: minmax(0, 1fr) clamp(340px, 33%, 400px); grid-template-rows: auto auto !important;   /* spalterna som streamingkalendern (Per 12/11) */
    column-gap: 40px; align-items: start; margin-left: 0 !important; margin-right: 0 !important;
  }
  html.v2 body.single #newwrap > * { grid-column: 1 / -1; }
  html.v2 body.single #newwrap > *:not(.v2-bildkol):not(.v2-hoger):not(.contentswrapper) { grid-row: auto !important; }
  html.v2 body.single #newwrap > .v2-bildkol { grid-column: 1; grid-row: 1; align-self: start; }
  html.v2 body.single #newwrap > .v2-hoger { grid-column: 2; grid-row: 1 / span 2; align-self: stretch; }
  html.v2 body.single #newwrap > .contentswrapper { grid-column: 1 !important; grid-row: 2 !important; min-width: 0; }
  html.v2 body.single #newwrap h1.h1post { margin-top: 0 !important; }
}
@media (min-width: 900px) {   /* sidospalten så snart högerspalten finns (Per 12/11: «borde rymmas») */
  html.v2 body.single #newwrap .v2-sido {
    display: block; position: sticky; top: 64px; margin-top: var(--v2-s3) !important; padding: 16px;   /* 64: under den fasta menyraden */
    border: 1px solid var(--v2-kant); border-radius: 14px; background: #fff;
  }
}
html.v2 body.single .v2-sido-rubrik { margin: 0 0 10px; font-family: var(--v2-font); font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--v2-text-2); }
html.v2 body.single .v2-sido-rad { display: flex; gap: 12px; align-items: center; margin: 0 -8px; padding: 8px; border-radius: 10px; text-decoration: none !important; color: var(--v2-text) !important; }
html.v2 body.single .v2-sido-rad:hover { background: #f5f7fa; }
html.v2 body.single .v2-sido-rad.v2-sido-extra:not(.v2-visa) { display: none; }   /* titel 5–6 bara när de ryms (v2.js fyll()) */
html.v2 body.single .v2-sido-rad img { flex: none; width: 112px; height: 59px; object-fit: cover; border-radius: 8px; background: #e9ecf1; }
html.v2 body.single .v2-sido-txt { min-width: 0; display: flex; flex-direction: column; gap: 3px; font-family: var(--v2-font); }
html.v2 body.single .v2-sido-txt b { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; font-size: 15px; font-weight: 600; line-height: 1.3; }
html.v2 body.single .v2-sido-txt small { font-size: 13px; color: var(--v2-text-2); }

/* ═══ 11. Sidhuvudet i mobil: glider fram vid skroll uppåt (v2.js sidhuvud()) ═════════════════════════════════════ */
@media (max-width: 767px) {
  html.v2 header.main.v2-sticky.v2-fast {
    position: fixed !important; top: 0 !important; left: 0; right: 0; z-index: 9990 !important;
    transform: translateY(-110%); transition: transform .22s ease; box-shadow: 0 2px 10px rgba(0, 0, 0, .10);
  }
  html.v2 header.main.v2-sticky.v2-fast.v2-visa { transform: none; }
}
@media (max-width: 767px) and (prefers-reduced-motion: reduce) { html.v2 header.main.v2-sticky.v2-fast { transition: none; } }

/* ═══ 12. Omgång 11: datumbrickan, knappraden, trailern i bildens yta, «Här ser du det» (Pers «det ser jättebra ut» 12/11) ═══ */
html.v2 body.single .v2-titelrad { display: flex; gap: var(--v2-s2); align-items: center; margin: var(--v2-s3) 0 0; }
@media (min-width: 900px) { html.v2 body.single .v2-titelrad { margin-top: 0; } }
html.v2 body.single .v2-titelrad h1.h1post { margin: 0 !important; }
html.v2 body.single .v2-titelblock { min-width: 0; }
html.v2 body.single .v2-datum {
  flex: none; display: flex; flex-direction: column; align-items: center; width: 64px; overflow: hidden;
  border: 1px solid var(--v2-kant); border-radius: 10px; background: #fff; font-family: var(--v2-font);
}
html.v2 body.single .v2-datum-man { display: block; width: 100%; padding: 2px 0; text-align: center; background: var(--v2-blå); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .06em; }
html.v2 body.single .v2-datum-dag { padding-top: 2px; font-size: 26px; font-weight: 700; line-height: 1.1; color: var(--v2-text); }
html.v2 body.single .v2-datum-vd { padding-bottom: 4px; font-size: 11px; color: var(--v2-text-2); }
html.v2 body.single .v2-premiar { margin: 0 0 2px; font-family: var(--v2-font); font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--v2-blå); }   /* husets blå, inte betalfärgen plommon (Per 12/11) */

html.v2 body.single #sharearea ul.share-buttons > li.v2-knapprad-li { flex: 1 1 0; }
html.v2 body.single .v2-trailerknapp {
  width: 100%; min-height: 44px; margin: 0; border: 1px solid var(--v2-kant) !important; border-radius: 10px !important; background: #fff !important;
  font-family: var(--v2-font) !important; font-size: 15px !important; color: var(--v2-text) !important; cursor: pointer;
}

html.v2 body.single .v2-bildram .v2-yt {
  position: absolute !important; inset: 0; z-index: 20; width: 100% !important; height: 100% !important; max-width: none !important;
  aspect-ratio: auto !important; border-radius: 12px !important; background: #000;
}
html.v2 body.single .v2-bildram .v2-yt iframe { width: 100% !important; height: 100% !important; }
html.v2 body.single .v2-bildram.v2-yt-aktiv #overlayimg { display: none !important; }   /* länken ut täckte trailern och Stäng */
html.v2 body.single .v2-bildram .v2-yt-stang {
  position: absolute; z-index: 30; top: 10px; right: 10px; margin: 0; padding: 6px 12px !important; border: 0 !important; border-radius: 999px !important;
  background: rgba(0, 0, 0, .7) !important; color: #fff !important; font: 600 14px var(--v2-font) !important; line-height: 1.3 !important; cursor: pointer;
}

html.v2 body.single .v2-fakta {
  margin: var(--v2-s3) 0 0; padding: var(--v2-s2); border: 1px solid var(--v2-kant); border-radius: 14px; background: #fff; font-family: var(--v2-font);
}
html.v2 body.single .v2-medv { margin: 0 0 var(--v2-s2); }
html.v2 body.single .v2-medv:last-child { margin-bottom: 0; }
html.v2 body.single #newwrap .v2-fakta .v2-medv p { margin: 0 0 6px !important; padding: 0 !important; font-size: 15px !important; line-height: 1.45 !important; color: var(--v2-text) !important; }
html.v2 body.single #newwrap .v2-fakta .v2-medv p:last-child { margin-bottom: 0 !important; }   /* id i väljaren: temats p-marginal (14 px) vann annars */
html.v2 body.single .v2-medv p > span { color: var(--v2-text-2); }
html.v2 body.single .v2-fakta-rubrik { margin: 0 0 var(--v2-s1); font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--v2-text-2); }
html.v2 body.single .v2-fakta-dl { display: grid; grid-template-columns: 90px 1fr; gap: 6px 12px; margin: 0; font-size: 15px; line-height: 1.45; }
html.v2 body.single .v2-fakta-dl dt { margin: 0; font-weight: 400; color: var(--v2-text-2); }
html.v2 body.single .v2-fakta-dl dd { margin: 0; color: var(--v2-text); }
/* Tidstexten flyttad in i rutan (v2.js fakta(), omgång 12): utan tillganglig-rad.php:s egen form (block, centrerad, 28 px under). */
html.v2 body.single .v2-fakta-dl dd span.tillganglig {
  display: inline !important; margin: 0 !important; padding: 0 !important; text-align: left !important;
  font: inherit !important; color: inherit !important; text-wrap: wrap;
}

/* Redigera-länken (edit_post_link i single.php, bara inloggade): det bredare innehållet lade .postinfo ovanpå den, och den tog
   inte klick (Per 12/11). */
html.v2 body.single a.post-edit-link { position: relative !important; z-index: 20 !important; }
/* «Mer streaming»-raden (Per 13/11: «så att det … inte hamnar på tre rader»; granskning 3 NY-15): texten bröts in under ikonen
   (float) i 17 px Inter-Light. Flex med ikonen bredvid, 16 px Inter-Regular: två jämna rader i 393 (mätt i WebKit). */
html.v2 body.single .streaming-link { display: flex !important; align-items: center; gap: 12px; }
html.v2 body.single .streaming-link .pic2 { float: none !important; margin: 0 !important; flex: 0 0 26px; }
html.v2 body.single .streaming-link a { font-family: Inter-Regular, Arial, sans-serif !important; font-size: 16px !important; line-height: 1.4 !important; }
/* Avsnittslistan i mobil (Per 13/11, Robinson): kortets fasta maxhöjd 160 px klippte beskrivningen mitt i en rad när titeln tog tre
   rader, och rubriken bröts när «ANNONS FÖR TV4 PLAY» stod på samma rad. Kortet får sin höjd av innehållet, rubriken en rad med
   etiketten under, titel 16, meta 14, beskrivning 15 px (två rader med «…» som förut). v2.js avsnittslista() tar bort programnamnet. */
@media (max-width: 600px) {
  html.v2 body.single .svt-play-rubrikrad { flex-direction: column !important; align-items: flex-start !important; justify-content: flex-start !important; gap: 4px !important; height: auto !important; min-height: 0 !important; margin-bottom: 10px !important; }
  html.v2 body.single .svt-play-rubrikrad .svt-play-annons { display: block !important; line-height: 1.4 !important; margin: 0 !important; }
  html.v2 body.single .svt-play-rubrikrad > p { margin: 0 !important; padding: 0 !important; }   /* wpautop lägger etiketten i ett <p> */
  html.v2 body.single .svt-play-rubrikrad .svt-play-heading { margin: 0 !important; }
  html.v2 body.single .svt-play-heading { font-size: 15px !important; line-height: 1.3 !important; letter-spacing: .06em !important; white-space: nowrap !important; }
  html.v2 body.single .svt-play-episode { max-height: none !important; }
  html.v2 body.single .svt-play-title { font-size: 16px !important; line-height: 1.3 !important; }
  html.v2 body.single .svt-play-meta { font-size: 14px !important; line-height: 1.5 !important; }
  html.v2 body.single .svt-play-description { font-size: 15px !important; line-height: 1.45 !important; }
}

/* ═══ 13. Omgång 15: svep 3 (2 000 sidor, 13/11) ════════════════════════════════════════════════════════════════════
   S3-1: SVT:s långa beskrivning med tomrader blev omärkta <p> efter p.svt-play-description (wpautop efter kortkoden), utanför
   line-clamp: kortet 750–990 px högt i mobil (Forum, Agenda, Brottet minut för minut, Fotbolls-VM). Rättat i källan
   (svt-play-avsnitt 2.9.1, en_rad()); det här är reserven för en lista ur cachen. Svep 3: inga andra <p> utan klass där. */
html.v2 body.single .svt-play-episode .svt-play-content > p:not([class]) { display: none !important; }
/* S3-2 (Pers fråga 13/11 om «Begravningsentreprenörerna»), tre lager. v2.js langaOrd() mäter rubriken, kortets titel och
   beskrivning med .v2-matbryt (som utan lager 3) och sätter bara där ett ord inte ryms (1) .v2-avstava: hyphens: auto, sidan
   har lang="sv-SE" och WebKit avstavar svenska (mätt: «Begravnings-|entreprenörerna»), (2) mindre text i steg om 2 px (H1 ≥ 24,
   titeln ≥ 15). (3) overflow-wrap: anywhere är sista skyddet mot sidledsrullning. hyphens: auto på alla rubriker ändrade
   höjden på 102 av 1 953 rubriker i 375 (ord som ryms bröts ändå); anywhere ensamt ändrade ingen. */
html.v2 body.single h1.h1post, html.v2 body.single .svt-play-title, html.v2 body.single .svt-play-description { overflow-wrap: anywhere; }
html.v2 body.single .v2-matbryt { overflow-wrap: normal !important; word-break: normal !important; }
html.v2 body.single .v2-avstava { -webkit-hyphens: auto !important; hyphens: auto !important; }
/* S3-4: en tabell i texten bredare än sidan rullar i sidled i sig själv (Diamond League, 362 + 24 px i 375). */
html.v2 body.single section.postcontents table { display: block; max-width: 100%; overflow-x: auto; }
/* S3-5: en webbadress som länktext bryts (beachvolleyn, 40 px utanför i 393). Bara länkar i löptext, inte knappar och kort. */
html.v2 body.single section.postcontents p a, html.v2 body.single section.postcontents li a,
html.v2 body.single section.postcontents td a, html.v2 body.single section.postcontents th a { overflow-wrap: anywhere; }
/* S3-6: rubrik på tre rader eller fler med knappen under 659 px i mobil (v2.js langRubrik(); 16 av 1 658 sidor i svep 3):
   24 px (samma golv som S3-2) och 16 px luft ovanför i stället för 24. Andra sidor får inte klassen. */
@media (max-width: 767px) {
  html.v2 body.single #newwrap h1.h1post.v2-h1-lang { font-size: 1.5rem !important; }
  html.v2 body.single #newwrap .v2-hoger > h1.h1post.v2-h1-lang,
  html.v2 body.single #newwrap .v2-hoger > .v2-titelrad:has(h1.v2-h1-lang) { margin-top: var(--v2-s2) !important; }
}
