/**
 * Travel Zmart - Resemall (ny design), CSS for enskild resesida
 * Anvands av Zmart Reseautomatik Theme Builder-arbetsmallen.
 * Skopad till body.single-resa och laddad for alla resa-poster.
 *
 * 2026-09-20: mallen aktiverades globalt. Fram till dess var filen skopad
 * till body.postid-393140 (testresan) och enqueue-villkoret i functions.php
 * slappte bara igenom den posten. De tva hor ihop.
 */
body.single-resa {
  --tzr-green:#415321;
  --tzr-green-dark:#2c3816;
  --tzr-green-light:#dbe6da;
  --tzr-beige:#fcf9ef;
  --tzr-beige-2:#f6f1e2;
  --tzr-orange:#e64e0a;
  --tzr-text:#27292f;
  --tzr-text-muted:#6b7063;
  --tzr-text-faint:#8a8272;
  --tzr-border:#e6e1d2;
  --tzr-radius-sm:6px;
  --tzr-radius:10px;
  --tzr-radius-lg:12px;
  --tzr-space-1:8px;
  --tzr-space-2:16px;
  --tzr-space-3:24px;
  --tzr-space-4:32px;
  --tzr-space-5:44px;
  --tzr-space-6:46px;
  --tzr-fs-h1:56px;
  --tzr-fs-h2:36px;
  --tzr-fs-h3:22px;
  --tzr-fs-label:12.5px;
  --tzr-fs-body:17px;
  --tzr-content-width:1256px;
}

/* ===== GRUND ===== */
body.single-resa .tzr-section { padding-top:var(--tzr-space-6); padding-bottom:var(--tzr-space-6); }
body.single-resa .tzr-section--tight { padding-top:var(--tzr-space-5); padding-bottom:var(--tzr-space-5); }
body.single-resa .tzr-row { max-width:var(--tzr-content-width); width:90%; margin:0 auto; }
body.single-resa .tzr-h2 { font-size:var(--tzr-fs-h2); margin:0 0 var(--tzr-space-3); color:var(--tzr-text); line-height:1.2; }
body.single-resa .tzr-h2--center { text-align:center; }

/* ===== HERO ===== */

body.single-resa .tzr-hero-text { flex:1 1 auto; max-width:58%; }
body.single-resa .tzr-hero-title { display:block; color:#fff; font-family:var(--tz-font-heading); font-weight:700; font-size:var(--tzr-fs-h1); line-height:1.08; text-shadow:0 2px 16px rgba(0,0,0,.5); margin:0; }
body.single-resa .tzr-hero-sub { display:block; color:#f2efe4; font-size:19px; text-shadow:0 1px 8px rgba(0,0,0,.5); margin-top:8px; }
body.single-resa .tzr-buybox { flex:0 0 380px; max-width:380px; background:#fff; border-radius:var(--tzr-radius); box-shadow:0 14px 34px rgba(0,0,0,.16); padding:var(--tzr-space-4) var(--tzr-space-3); }
body.single-resa .tzr-buybox { display:grid; grid-template-columns:22px minmax(0,1fr); column-gap:12px; row-gap:0; align-content:start; align-items:center; }
body.single-resa .tzr-buybox > * { margin:0; }
body.single-resa .tzr-buybox .et_pb_text_inner { margin:0; }
body.single-resa .tzr-buy-icon { grid-column:1/2; padding:9px 0; }
body.single-resa .tzr-buy-text { grid-column:2/3; padding:9px 0; font-size:16px; font-weight:600; }
body.single-resa .tzr-buy-divider,
body.single-resa .tzr-buy-label,
body.single-resa .tzr-buy-price,
body.single-resa .tzr-buybox > .et_pb_button_module_wrapper { grid-column:1/-1; }
body.single-resa .tzr-hero-text { row-gap:0; }
body.single-resa #page-container .tzr-hero-title { margin:0 !important; }
body.single-resa #page-container .tzr-hero-title h1 { font-family:inherit; font-weight:inherit; color:inherit; margin:0; }
body.single-resa #page-container .tzr-hero-sub p { font-family:inherit !important; font-size:inherit !important; line-height:inherit !important; color:inherit; font-weight:inherit; margin:0; }
body.single-resa #page-container .tzr-buy-text p { font-family:inherit !important; font-size:inherit !important; line-height:inherit !important; font-weight:inherit; color:inherit; margin:0; }
body.single-resa #page-container .tzr-buy-label p { font-family:inherit !important; font-size:inherit !important; line-height:inherit !important; letter-spacing:inherit; text-transform:inherit; color:inherit; margin:0; }
body.single-resa #page-container .tzr-buy-price p { font-size:inherit !important; line-height:inherit !important; font-family:inherit; color:inherit; margin:0; }
body.single-resa .tzr-buy-divider { border:none; border-top:1px solid var(--tzr-border); margin:var(--tzr-space-2) 0; }
body.single-resa .tzr-buy-label { display:block; font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:#888; margin-bottom:4px; }
body.single-resa .tzr-buy-price { font-size:25px; font-family:var(--tz-font-body); color:var(--tzr-text); display:block; margin-bottom:var(--tzr-space-2); }
body.single-resa .tzr-buy-cta.et_pb_button { display:block; width:100%; text-align:center; background:var(--tzr-orange); border:none; border-radius:var(--tzr-radius-sm); color:#fff; font-family:var(--tz-font-body); font-weight:700; font-size:16px; padding:14px 20px; margin-top:4px; }
body.single-resa .tzr-buy-cta.et_pb_button:hover { background:#c94208; color:#fff; }

/* ===== ANKARNAV ===== */
body.single-resa .tzr-nav { background:var(--tzr-beige); border-bottom:1px solid var(--tzr-border); padding-top:0; padding-bottom:0; }
body.single-resa .tzr-nav-row { max-width:var(--tzr-content-width); width:100%; margin:0 auto; display:flex; justify-content:center; overflow-x:auto; }
body.single-resa .tzr-nav-link { flex-shrink:0; display:inline-block; padding:16px 18px; font-family:var(--tz-font-body); font-weight:700; font-size:16.5px; color:var(--tzr-text); text-decoration:none; border-bottom:3px solid transparent; white-space:nowrap; }
body.single-resa .tzr-nav-link--active { color:var(--tzr-orange); border-bottom-color:var(--tzr-orange); }
/* ===== INTRO ===== */
body.single-resa .tzr-eyebrow { display:block; color:var(--tzr-orange); font-size:var(--tzr-fs-label); font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-bottom:var(--tzr-space-2); }
body.single-resa .tzr-intro-lead { font-size:var(--tzr-fs-body); line-height:1.75; color:#3d4136; margin-bottom:var(--tzr-space-3); }
body.single-resa .tzr-tags { display:flex; flex-wrap:wrap; gap:10px; }
body.single-resa .tzr-tag { display:inline-block; background:var(--tzr-beige-2); color:#4a4e40; font-size:14px; font-weight:600; padding:8px 18px; border-radius:20px; }

/* ===== DAGSPROGRAM ===== */
body.single-resa .tzr-dag-row { display:flex; flex-wrap:nowrap; column-gap:2.5%; row-gap:0; align-items:stretch; width:100%; padding-bottom:10px; min-height:180px; }
body.single-resa .tzr-dag-marker { flex:0 0 16%; width:16%; max-width:16%; position:relative; padding:0 0 0 4px; row-gap:0; }
body.single-resa .tzr-dag-circle { width:44px; height:44px; border-radius:50%; background:var(--tzr-green); color:#fff; font-family:var(--tz-font-heading); font-weight:700; font-size:17px; display:flex; align-items:center; justify-content:center; margin-bottom:10px; position:relative; z-index:1; }
body.single-resa .tzr-dag-marker:after { content:""; position:absolute; left:29px; top:54px; bottom:-42px; width:2px; background:var(--tzr-green); }
body.single-resa .tzr-section:has(.tzr-dag-row) > .tzr-dag-row:last-child .tzr-dag-marker:after { display:none; }
body.single-resa .tzr-dag-label { display:block; font-size:12px; line-height:1.6; text-transform:uppercase; letter-spacing:.04em; color:#888; margin-bottom:2px; }
body.single-resa .tzr-dag-title { display:block; font-size:16px; color:var(--tzr-text); line-height:1.35; font-weight:700; }
body.single-resa .tzr-dag-img { flex:0 0 38%; width:38%; max-width:38%; overflow:hidden; border-radius:var(--tzr-radius); display:block; position:relative; align-self:stretch; padding:0; row-gap:0; }
body.single-resa .tzr-dag-img > .et_pb_module { position:absolute; inset:0; margin:0; height:100%; width:100%; }

body.single-resa .tzr-dag-img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:var(--tzr-radius); display:block; }
body.single-resa .tzr-dag-text { flex:1 1 auto; background:var(--tzr-beige); border-radius:var(--tzr-radius); padding:var(--tzr-space-3); display:flex; flex-direction:column; justify-content:center; row-gap:0; }
body.single-resa .tzr-dag-text > * { margin:0; width:100%; }
body.single-resa .tzr-dag-text p { font-size:16.5px; line-height:1.75; color:#3d4136; margin:0; }
/* ===== BRA ATT VETA ===== */

/* ===== VAD INGAR ===== */
body.single-resa .tzr-split { display:flex; column-gap:3%; align-items:stretch; width:100%; }
body.single-resa .tzr-panel { flex:1 1 0; border-radius:var(--tzr-radius); padding:var(--tzr-space-4); }
body.single-resa .tzr-panel--green { background:var(--tzr-green-light); }
body.single-resa .tzr-panel--beige { background:var(--tzr-beige); border:1px solid var(--tzr-border); }
body.single-resa .tzr-panel h3 { font-size:var(--tzr-fs-h3); margin:0 0 var(--tzr-space-2); color:var(--tzr-text); }
body.single-resa .tzr-panel-rubrik h3 { margin:0 0 10px; }
body.single-resa .tzr-panel-rad { position:relative; padding-left:30px; }
body.single-resa .tzr-panel-rad:before { position:absolute; left:0; top:0; font-weight:700; font-size:20px; line-height:28.8px; }
body.single-resa .tzr-panel--green .tzr-panel-rad:before { content:'\2713'; color:var(--tzr-green); }
body.single-resa .tzr-panel--beige .tzr-panel-rad:before { content:'\2013'; color:#a9a297; }
body.single-resa .tzr-panel strong.tzr-panel-label { display:block; font-family:var(--tz-font-heading); font-size:13px; text-transform:uppercase; letter-spacing:.04em; color:var(--tzr-orange); margin-top:var(--tzr-space-2); margin-bottom:5px; }
body.single-resa .tzr-panel p { font-size:16px; line-height:1.6; color:#5b5f52; }
/* ===== PRAKTISK INFO + OMDOMEN ===== */

/* ===== AVGANGAR (overstyr tredjeparts-shortcodens klasser - dokumenterat
   undantag, se rapport) ===== */
body.single-resa .tzr-avg-wrap .tz-avgangar { background:var(--tzr-beige); border-radius:var(--tzr-radius-lg); padding:var(--tzr-space-4); }
body.single-resa .tzr-avg-wrap .tz-avgangar__rubrik { display:none; }
body.single-resa .tzr-avg-wrap { display:grid; grid-template-columns:1.3fr 2.2fr 1.1fr 1.3fr; grid-auto-rows:minmax(0,auto); column-gap:var(--tzr-space-2); row-gap:0; align-content:start; align-items:start; padding-left:var(--tzr-space-2); padding-right:var(--tzr-space-2); }
body.single-resa #page-container .tzr-avg-wrap > .tzr-h2, body.single-resa #page-container .tzr-avg-wrap > .tzr-avg-lista { grid-column:1 / -1; margin:0 calc(-1 * var(--tzr-space-2)) !important; }
body.single-resa .tzr-avg-hcell { margin:24px 0 0; padding:0 0 14px; align-self:stretch; font-size:var(--tzr-fs-label); text-transform:uppercase; letter-spacing:.04em; color:var(--tzr-text-faint); }
body.single-resa #page-container .tzr-avg-hcell p { font-family:inherit; font-size:inherit !important; line-height:inherit !important; letter-spacing:inherit; text-transform:inherit; color:inherit; margin:0; }
body.single-resa .tzr-avg-lista { border-top:1px solid var(--tzr-border); padding-top:4px; margin:0; min-height:0; min-width:0; align-self:start; }
body.single-resa .tzr-avg-wrap .tz-avgangar__lista { list-style:none; margin:0; padding:0; }
body.single-resa .tzr-avg-wrap .tz-avgang { display:grid; grid-template-columns:1.3fr 2.2fr 1.1fr 1.3fr; gap:var(--tzr-space-2); align-items:center; padding:18px var(--tzr-space-2); border-bottom:1px solid var(--tzr-border); }
body.single-resa .tzr-avg-wrap .tz-avgang:last-child { border-bottom:none; }
body.single-resa .tzr-avg-wrap .tz-avgang__datum { font-weight:700; font-size:16.5px; }
body.single-resa .tzr-avg-wrap .tz-avgang__detaljer { font-size:15px; color:#5b5f52; }
body.single-resa .tzr-avg-wrap .tz-avgang__pris { font-size:15.5px; font-weight:600; }
body.single-resa .tzr-avg-wrap .tz-avgang__valj { background:var(--tzr-orange) !important; color:#fff !important; border:none !important; border-radius:var(--tzr-radius-sm) !important; padding:12px 20px !important; font-family:var(--tz-font-body) !important; font-weight:700 !important; font-size:14.5px !important; cursor:pointer; justify-self:end; }
body.single-resa .tzr-avg-wrap .tz-avgang__markering { display:none; }
body.single-resa .tzr-avg-wrap .tz-avgang--nasta { background:var(--tzr-beige-2); margin:0 calc(-1 * var(--tzr-space-2)); padding-left:calc(var(--tzr-space-2) * 2); padding-right:calc(var(--tzr-space-2) * 2); border-radius:var(--tzr-radius-sm); }
/* ===== INTRESSEANMALAN ===== */

/* ===== FORMULAR (overstyr WPForms-plugin-klasser - dokumenterat undantag) ===== */
body.single-resa .tzr-form-wrap { background:var(--tzr-beige); border-radius:var(--tzr-radius-lg); padding:var(--tzr-space-4); }
body.single-resa .tzr-form .wpforms-field-label { font-family:var(--tz-font-body); font-weight:700; font-size:15px; }
body.single-resa .tzr-form .wpforms-field { margin-bottom:14px !important; }
body.single-resa .tzr-form .wpforms-field input, body.single-resa .tzr-form .wpforms-field textarea, body.single-resa .tzr-form .wpforms-field select { font-size:16px !important; padding:11px 14px !important; }
body.single-resa .tzr-form .wpforms-submit { background:var(--tzr-orange) !important; border-radius:var(--tzr-radius-sm) !important; font-family:var(--tz-font-body) !important; font-weight:700 !important; padding:15px 32px !important; }
body.single-resa .tzr-trust { background:linear-gradient(160deg,var(--tzr-green-dark),var(--tzr-green)); color:#fff; border-radius:var(--tzr-radius); padding:var(--tzr-space-4); height:100%; }
body.single-resa .tzr-trust h3 { color:#fff; font-size:21px; margin:0 0 var(--tzr-space-2); }
body.single-resa .tzr-trust p { color:#d8e2cb; font-size:15px; }
body.single-resa .tzr-trust { display:grid; grid-template-columns:20px 1fr; column-gap:10px; row-gap:15px; align-content:start; }
body.single-resa .tzr-trust-rubrik, body.single-resa .tzr-trust-text { grid-column:1 / -1; }

/* ===== RELATERADE ===== */

@media (max-width:980px) {
  body.single-resa .tzr-hero-inner { flex-wrap:wrap; }
  body.single-resa .tzr-hero-text, body.single-resa .tzr-buybox { flex:0 0 100%; max-width:100%; }
  body.single-resa .tzr-dag-row { flex-wrap:wrap; }
  body.single-resa .tzr-dag-marker, body.single-resa .tzr-dag-img, body.single-resa .tzr-dag-text { flex:0 0 100%; width:100%; max-width:100%; }
body.single-resa .tzr-dag-marker { padding-bottom:10px; }
  
  body.single-resa .tzr-dag-marker:after { display:none; }
  body.single-resa .tzr-avg-hcell { display:none; }
body.single-resa .tzr-avg-lista { border-top:none; padding-top:0; }
body.single-resa .tzr-avg-wrap { display:block; }
  body.single-resa .tzr-avg-wrap .tz-avgang { grid-template-columns:1fr; row-gap:6px; }
  body.single-resa .tzr-avg-wrap .tz-avgang__valj { justify-self:start; }
}
@media (max-width:600px) {
  body.single-resa .tzr-hero-title { font-size:36px; }
}
/* ===== Sakerhetsregel: forhindra att temats globala body{font-size:14px}
   nagonsin "lacker" igenom pa oskyddade element inuti resemallens sektioner ===== */
body.single-resa .tzr-section, body.single-resa .tzr-nav, 

/* ===== Storre matt, andra rundan enligt detaljerad granskning ===== */
body.single-resa { --tzr-fs-h1:58px; --tzr-fs-h2:38px; --tzr-fs-h3:23px; }

body.single-resa .tzr-buybox { align-self:center; }


body.single-resa .tzr-dag-text { padding:28px 30px; }
body.single-resa .tzr-dag-text p { font-size:17px; }
body.single-resa .tzr-dag-circle { width:48px; height:48px; font-size:18px; }


body.single-resa .tzr-avg-wrap .tz-avgang__datum { font-size:18px; }
body.single-resa .tzr-avg-wrap .tz-avgang { padding:22px var(--tzr-space-3); }
body.single-resa .tzr-avg-wrap .tz-avgang__valj { padding:14px 24px !important; font-size:15.5px !important; }
body.single-resa .tzr-form-wrap .et_pb_accordion { background:transparent; }
body.single-resa .tzr-form-wrap .et_pb_toggle_title { font-family:var(--tz-font-heading); font-size:24px !important; }
body.single-resa .tzr-dag-text { align-self:stretch; overflow:hidden; }

/* ===== TOGGLE: sakerstall dolt/synligt lage (Divis egen CSS saknar denna
   regel i det har sammanhanget - se rapport) ===== */
body.single-resa .tzr-toggle.et_pb_toggle_close .et_pb_toggle_content { display:none !important; }
body.single-resa .tzr-toggle.et_pb_toggle_open .et_pb_toggle_content { display:block !important; }
body.single-resa .tzr-toggle { background:transparent; border:none; }
body.single-resa .tzr-toggle .et_pb_toggle_title { font-family:var(--tz-font-heading); font-size:26px; cursor:pointer; }
/* ===== Tredje visuella passet: hero, intro, kort, paneler, omdomen ===== */
body.single-resa .tzr-hero-sub { font-size:21px; font-weight:500; }
body.single-resa .tzr-buybox { flex:0 1 min(400px,100%); width:min(400px,100%); max-width:100%; padding:36px 32px; }
body.single-resa .tzr-buy-text { font-size:17px; }
body.single-resa .tzr-buy-price { font-size:28px; }
body.single-resa .tzr-buy-cta.et_pb_button { font-size:17px; padding:16px 20px; }

body.single-resa .tzr-eyebrow { font-size:14px; }
body.single-resa .tzr-intro-lead { font-size:18px; }
body.single-resa .tzr-tag { font-size:15px; padding:9px 20px; }

body.single-resa .tzr-panel { min-height:300px; display:flex; flex-direction:column; flex:1 1 auto; row-gap:6px; }
body.single-resa .tzr-panel--beige p { font-size:16.5px; }


body.single-resa .tzr-avg-wrap .tz-avgang { padding:24px var(--tzr-space-3); }
body.single-resa .tzr-avg-wrap .tz-avgang__datum { font-size:19px; }
body.single-resa .tzr-avg-wrap .tz-avgang__detaljer { font-size:16px; }
body.single-resa .tzr-avg-hcell { font-size:14px; }
body.single-resa .tzr-avg-wrap .tz-avgang__valj { padding:15px 26px !important; font-size:16px !important; }


/* ===== Responsiva bildhojder - placerade sist, med tydlig kaskadordning.
   Ingen !important behovs har eftersom mediefragorna kommer sist i filen
   och darmed vinner naturligt for de brytpunkter de galler. ===== */
@media (max-width:980px) {
  body.single-resa .tzr-dag-img.tzr-dag-img { height:auto; position:static; width:100%; max-width:100%; }
body.single-resa .tzr-dag-img.tzr-dag-img > .et_pb_module { position:static; inset:auto; height:auto; width:100%; }
  body.single-resa .tzr-dag-img.tzr-dag-img img { position:static; inset:auto; height:220px; }
}
@media (max-width:600px) {
  body.single-resa .tzr-dag-img.tzr-dag-img img { height:200px; }
}
/* ===== FIX 1: Kopboxen - den globala headern ar position:fixed (bekraftat i
   sidans egen CSS: .et_pb_section_0_tb_header{position:fixed;top:0}) och tar
   darfor INGEN plats i det normala flodet - den flyter ovanpa toppen av
   hero-sektionen oavsett sektionens hojd. Losningen ar ett garanterat,
   explicit avstand pa sjalva raden/kopboxen - inte bara centrering. ===== */

body.single-resa .tzr-buybox { align-self:center; }
body.single-resa .tzr-hero-text { align-self:flex-end; padding-bottom:6px; }
/* ===== FIX 2: "Bra att veta"-textklippning. Grundorsak: .tzr-card hade
   overflow:hidden (for att runda bildens hornen) OCH en min-height som var
   for lag for att rymma ikon+rubrik+3 rader text+lank, vilket klippte sista
   raden mitt i. Losning: overflow:hidden flyttas till EN egen wrapper runt
   bara bilden (for hornrundning), min-height okas till ett vardevm som
   verkligen rymmer allt, och textytan far tillrackligt med utrymme. ===== */
/* ===== FIX 3: Omdomeskortens nederkant klipps. Grundorsak: karusellens egen
   (tredjeparts-)behallare far troligen en fast hojd fran pluginets egen CSS,
   avsedd for de mindre standardkorten - min forstoring av .tz-omdome (storre
   padding, storre text) gjorde kortet hogre an den behallaren, och
   overflow:hidden pa karusellen (satt av mig for slide-mekaniken) klippte
   resten. Losning: tvinga behallarens hojd att folja innehallet. ===== */
/* ===== Fjarde och sista visuella passet ===== */
body.single-resa .tzr-hero-sub { font-size:22px; line-height:1.5; }
body.single-resa .tzr-buybox { padding:40px 36px; }
body.single-resa .tzr-buy-text { font-size:18px; }
body.single-resa .tzr-buy-icon, body.single-resa .tzr-buy-text { padding:11px 0; }
body.single-resa .tzr-buybox { column-gap:14px; }
body.single-resa .tzr-buy-text,
body.single-resa .tzr-buy-label,
body.single-resa .tzr-buy-price { line-height:1.7; }
body.single-resa .tzr-buy-divider { margin:16px 0 0; }
body.single-resa .tzr-buy-label { margin:46px 0 0; }
body.single-resa .tzr-buy-price { margin:4px 0 0; }
body.single-resa .tzr-buybox > .et_pb_button_module_wrapper { margin-top:46px; }

body.single-resa .tzr-intro-lead { font-size:19px; line-height:1.8; }
body.single-resa .tzr-tag { font-size:16px; padding:10px 22px; font-weight:700; background:var(--tzr-green-light); color:var(--tzr-green-dark); }

body.single-resa .tzr-dag-title { font-size:18px; }
body.single-resa .tzr-dag-label { font-size:13px; }
body.single-resa .tzr-dag-circle { width:52px; height:52px; font-size:19px; }

body.single-resa .tzr-dag-text { padding:22px 26px; }
body.single-resa .tzr-dag-text p { font-size:17.5px; line-height:1.8; }

body.single-resa .tzr-panel h3 { font-size:25px; }

body.single-resa .tzr-panel--beige p { font-size:17px; line-height:1.75; }


body.single-resa .tzr-avg-hcell { font-size:15px; font-weight:700; }
body.single-resa .tzr-avg-wrap .tz-avgang__datum { font-size:20px; }
body.single-resa .tzr-avg-wrap .tz-avgang__detaljer { font-size:16.5px; }
body.single-resa .tzr-avg-wrap .tz-avgang { padding:26px var(--tzr-space-3); border-right-width:0; }
body.single-resa .tzr-avg-hcell, body.single-resa .tzr-avg-wrap .tz-avgang > * { border-right:1px solid rgba(0,0,0,.06); padding-right:14px; }
body.single-resa .tzr-avg-wrap .tz-avgang > *:last-child { border-right:none; }
body.single-resa .tzr-avg-wrap .tz-avgang__valj { padding:16px 28px !important; font-size:16.5px !important; }

body.single-resa .tzr-toggle-section { padding-top:0 !important; }
body.single-resa .tzr-toggle { background:var(--tzr-beige); border-top:1px solid var(--tzr-border); border-radius:0 0 var(--tzr-radius) var(--tzr-radius); }
body.single-resa .tzr-toggle .et_pb_toggle_title { padding:20px 32px; font-size:20px; color:var(--tzr-green-dark); }

/* ===== Femte passet: tidslinje, typografi, slutlig linjering ===== */

body.single-resa .tzr-dag-marker { padding-top:2px; }

body.single-resa .tzr-dag-text p { font-size:18px; }
body.single-resa .tzr-dag-title { font-size:19px; }

body.single-resa .tzr-tag { font-size:17px; }
body.single-resa .tzr-avg-wrap .tz-avgang__datum { font-size:21px; }
body.single-resa .tzr-avg-wrap .tz-avgang__detaljer { font-size:17px; }

/* Sammanhallen intresseanmalan: togglens rubrik AR den orange knappen */
body.single-resa .tzr-toggle .et_pb_toggle_title { background:var(--tzr-orange); color:#fff !important; font-weight:700; text-align:center; margin:0; border-radius:var(--tzr-radius); font-size:19px; }
body.single-resa .tzr-toggle { border:none; }
body.single-resa .tzr-toggle.et_pb_toggle_open .et_pb_toggle_title { border-bottom-left-radius:0; border-bottom-right-radius:0; }

/* ===== Intresseanmalan v2: EN klickbar Toggle-rubrik, visuellt delad i
   info (vanster) + orange knapplikande yta (hoger). Hela faltet forblir
   klickbart (native Divi-krav for tillforlitlig oppna/stang-funktion),
   men bara den hogra delen SER ut som en knapp - matchar skissens
   liggande panel med information + knapp. ===== */
body.single-resa .tzr-toggle { background:var(--tzr-beige); border-radius:var(--tzr-radius); overflow:hidden; }
body.single-resa .tzr-toggle .et_pb_toggle_title { display:flex; align-items:center; justify-content:space-between; gap:24px; background:transparent; color:var(--tzr-text); text-align:left; padding:32px 34px; font-weight:600; border-radius:0; }
body.single-resa .tzr-toggle-info { display:flex; align-items:center; gap:16px; flex:1; min-width:0; }
body.single-resa .tzr-toggle-info svg { flex-shrink:0; color:var(--tzr-orange); }
body.single-resa .tzr-toggle-info-text { display:block; }
body.single-resa .tzr-toggle-info-text strong { display:block; font-size:21px; font-family:var(--tz-font-heading); color:var(--tzr-text); margin-bottom:2px; }
body.single-resa .tzr-toggle-sub { display:block; font-size:15.5px; font-weight:400; color:var(--tzr-text-muted); line-height:1.4; }
body.single-resa .tzr-toggle-cta { flex-shrink:0; display:inline-block; background:var(--tzr-orange); color:#fff; font-family:var(--tz-font-body); font-weight:700; font-size:16px; padding:14px 26px; border-radius:var(--tzr-radius-sm); white-space:nowrap; }
body.single-resa .tzr-toggle.et_pb_toggle_open .et_pb_toggle_title { border-bottom:1px solid var(--tzr-border); }
@media (max-width:600px) {
  body.single-resa .tzr-toggle .et_pb_toggle_title { flex-wrap:wrap; }
  body.single-resa .tzr-toggle-cta { width:100%; text-align:center; }
}

/* ===== Ovriga finjusteringar ===== */



/* ===== Sjatte passet: tajtare kortinnehall, FA-ikoner, omdomespanel ===== */

/* Font Awesome-ikoner (samma teknik som "Upptäck våra teman") */
/* Omdomen: hela kolumnen ar nu den sammanhallna, ljusbeige panelen (samma
   diskreta ramstil som "Ingar inte") - sjalva omdomeskortet blir genomskinligt
   och ramlost, allt centreras. */
/* Hero-radens huvuddefinition (konsoliderad - ersatter tidigare spridda regler).
   margin-top ar uppmatt mot den globala headerns faktiska renderade hojd
   (ca 133px utloggat, +40px WordPress adminbar nar inloggad) sa kortet
   garanterat hamnar under den fasta menyn i bada lagen. */
body.single-resa .tzr-hero-inner { max-width:var(--tzr-content-width); width:90%; margin:0 auto; display:flex; align-items:center; justify-content:space-between; column-gap:4%; flex-wrap:nowrap; font-size:var(--tzr-fs-body); line-height:1.7; }
body.single-resa.admin-bar .tzr-hero-inner { margin-top:40px; }
/* ===== BRA ATT VETA-KORT (konsoliderad, en definition per selektor) =====
   Struktur (native Divi): kolumn.tzr-card > [divi/image.tzr-card-img-wrap, divi/icon.tzr-card-icon-native,\n   divi/heading.tzr-card-title, divi/text.tzr-card-text]. Textmodulen valjs av Divis visningsvillkor:\n   kort_text visas nar faltet har varde, annars fulltextmodulen. Ingen handskriven HTML. */
body.single-resa .tzr-card-sub { color:var(--tzr-text-muted); font-size:var(--tzr-fs-body); margin:0; }
body.single-resa .tzr-cardgrid { display:flex; column-gap:3%; align-items:stretch; width:100%; }
body.single-resa .tzr-card { flex:1 1 0; background:var(--tzr-green-light); border-radius:var(--tzr-radius); overflow:visible; display:flex; flex-direction:column; row-gap:8px; }
body.single-resa .tzr-card-img-wrap img { width:100%; height:240px; object-fit:cover; border-radius:var(--tzr-radius) var(--tzr-radius) 0 0; display:block; }
body.single-resa .tzr-card-icon-native { align-self:flex-start; width:56px; height:56px; margin:-28px 0 12px 24px; border-radius:50%; background:#fff; box-shadow:0 3px 10px rgba(0,0,0,.15); display:flex; align-items:center; justify-content:center; }
body.single-resa .tzr-card-title, body.single-resa .tzr-card-text { padding-left:22px; padding-right:22px; }
body.single-resa .tzr-card-title h3 { font-size:22px; margin:0; }
body.single-resa .tzr-card-text p { font-size:16px; line-height:1.55; color:#3d4136; margin:0; }
body.single-resa .tzr-card > .tzr-card-text:last-child { padding-bottom:28px; }

/* ===== RESAN I KORTHET (konsoliderad) =====
   Struktur: kolumn.tzr-korthet (CSS-grid) > [kod:rubrik, divi/icon+kod par x5] */
body.single-resa .tzr-korthet { background:var(--tzr-green-light); border-radius:var(--tzr-radius); padding:var(--tzr-space-4); height:100%; display:grid; grid-template-columns:24px 1fr; column-gap:10px; row-gap:14px; align-items:center; align-content:center; }
body.single-resa .tzr-korthet-heading { grid-column:1 / -1; font-size:24px; margin:0 0 4px; color:var(--tzr-green-dark); }


/* ===== OMDOMEN (konsoliderad) - hela kolumnen ar EN ljusbeige panel med
   diskret yttre ram; sjalva citatkortet ar helt ramlost/genomskinligt. ===== */
body.single-resa .tzr-omdome-col { background:var(--tzr-beige); border:1px solid var(--tzr-border); border-radius:var(--tzr-radius); padding:var(--tzr-space-4); text-align:center; }
body.single-resa #page-container .tzr-omdome-col { row-gap:24px; }
body.single-resa .tzr-omdome-col .tzr-h2 h2 { text-align:center; }
body.single-resa .tzr-omdome-wrap .zmart-carousel { position:relative; overflow-x:hidden; overflow-y:visible; height:auto !important; max-height:none !important; }
body.single-resa .tzr-omdome-wrap [tin-slide-cloak] { display:flex; align-items:stretch; height:auto !important; }
body.single-resa .tzr-omdome-wrap .tz-omdome { min-width:100%; flex-shrink:0; box-sizing:border-box; height:auto; margin:0; padding:50px !important; background:transparent !important; border:none !important; border-radius:0 !important; box-shadow:none !important; text-align:center; }
body.single-resa .tzr-omdome-wrap .tz-omdome__betyg { display:flex; justify-content:center; }
body.single-resa .tzr-omdome-wrap .tz-omdome__stjarna { font-size:24px !important; }
body.single-resa .tzr-omdome-wrap .tz-omdome__cita, body.single-resa .tzr-omdome-wrap .tz-omdome blockquote { font-size:21px !important; line-height:1.65 !important; font-style:italic; }
body.single-resa .tzr-omdome-wrap .tz-omdome__namn, body.single-resa .tzr-omdome-wrap figcaption { font-size:17px; }
body.single-resa #program.tzr-section { padding-top:30px; }
body.single-resa #program .tzr-h2 { margin-bottom:14px; }

body.single-resa #avgangar.tzr-section { padding-bottom:20px; }
body.single-resa #boka.tzr-section { padding-top:0; }

/* ===== Resan i korthet: ikon+text - EXPLICIT rad- och kolumnplacering per
   par (litar inte pa CSS Grids auto-placering, som visat sig otillforlitlig
   har). Barn-ordning i DOM: 1=rubrik, 2=ikon1,3=text1,4=ikon2,5=text2,... ===== */
body.single-resa .tzr-korthet-icon { grid-column:1; display:flex; align-items:center; justify-content:flex-start; }
body.single-resa .tzr-korthet-text { grid-column:2; font-size:17.5px; color:var(--tzr-text); }
body.single-resa .tzr-korthet > *:nth-child(2) { grid-row:2; }
body.single-resa .tzr-korthet > *:nth-child(3) { grid-row:2; }
body.single-resa .tzr-korthet > *:nth-child(4) { grid-row:3; }
body.single-resa .tzr-korthet > *:nth-child(5) { grid-row:3; }
body.single-resa .tzr-korthet > *:nth-child(6) { grid-row:4; }
body.single-resa .tzr-korthet > *:nth-child(7) { grid-row:4; }
body.single-resa .tzr-korthet > *:nth-child(8) { grid-row:5; }
body.single-resa .tzr-korthet > *:nth-child(9) { grid-row:5; }
body.single-resa .tzr-korthet > *:nth-child(10) { grid-row:6; }
body.single-resa .tzr-korthet > *:nth-child(11) { grid-row:6; }

/* ================================================================
   2026-09-07 - P1-P4 + jamnhoga relaterade kort (godkant av Pelle)
   Gjordes pa testresan 393140. Backup: .bak-2026-09-07-fore-p1-p4
   ================================================================ */

/* Innehallsbredd 1180px. Temats style.css satter
   max-width:var(--tz-container-max)!important pa alla .et_pb_row,
   darfor kravs !important och hogre specificitet har. */
body.single-resa #page-container .et_pb_row.tzr-row,
body.single-resa #page-container .et_pb_row.tzr-hero-inner { max-width:var(--tzr-content-width) !important; }

/* Kolumnbredder som fyller raden tillsammans med gapet.
   Divi ger 1/2-kolumn 47,25% och 1/4-kolumn 20,875% (raknat mot
   standardgutter 5,5%), vilket inte gar ihop med gap 3% / 2,5%. */
@media (min-width:981px){
  body.single-resa .tzr-split > .et_pb_column   { width:48.5%; }
}

/* Stapling. Reglerna maste ligga pa Divi-kolumnerna, som ar de
   verkliga flexbarnen - .tzr-card ligger tre nivaer in. */
@media (max-width:980px){
  body.single-resa .tzr-split,
  body.single-resa .tzr-cardgrid { flex-wrap:wrap; }
  body.single-resa .tzr-split > .et_pb_column,
  body.single-resa .tzr-cardgrid > .et_pb_column, body.single-resa .tzr-row > .et_pb_column { flex:0 0 100%; width:100%; max-width:100%; }
  body.single-resa .tzr-buybox { flex:0 0 100%; width:100%; max-width:100%; }
  /* Trygghetspanelen fore formularet, sa att "inte bindande" syns fore inskick */
  body.single-resa .tzr-toggle .tzr-trust-wrap { order:1; }
  body.single-resa .tzr-toggle .tzr-form-wrap { order:2; }
}
@media (max-width:600px){
}

/* Dagsprogrammet: cirkel bredvid dagtexten, halverat radavstand */
body.single-resa .tzr-section:has(.tzr-dag-row) { row-gap:30px; }
body.single-resa .tzr-dag-marker { display:grid; grid-template-columns:52px 1fr; column-gap:14px; row-gap:0; align-content:start; }
body.single-resa .tzr-dag-marker > * { margin:0; }
body.single-resa .tzr-dag-marker > .tzr-dag-title { margin-top:2px; }
body.single-resa #page-container .tzr-dag-circle p { font-family:inherit; font-size:inherit !important; font-weight:inherit; line-height:1; color:inherit; margin:0; }
body.single-resa #page-container .tzr-dag-label p { font-family:inherit; font-size:inherit !important; line-height:inherit !important; letter-spacing:inherit; text-transform:inherit; color:inherit; margin:0; }
body.single-resa #page-container .tzr-dag-title h3 { font-family:inherit; font-size:inherit; font-weight:inherit; line-height:inherit; color:inherit; margin:0; padding:0; }
body.single-resa .tzr-dag-circle { grid-column:1; grid-row:1 / span 2; align-self:start; }
body.single-resa .tzr-dag-label  { grid-column:2; grid-row:1; align-self:end; }
body.single-resa .tzr-dag-title  { grid-column:2; grid-row:2; align-self:start; }

/* Rubriken i "Resan i korthet" ligger inuti en Divi-kodmodul - det ar
   modulen som ar grid-barnet, sa spannet maste sattas pa den. */
body.single-resa .tzr-korthet > *:nth-child(1) { grid-column:1 / -1; grid-row:1; }

/* Paneler och informationskort: kolumnen stretchar, men modulen och dess
   inner-wrapper maste ocksa fylla hojden - annars nar barnet aldrig botten. */
body.single-resa .tzr-split > .et_pb_column > .et_pb_code,
body.single-resa .tzr-split > .et_pb_column > .et_pb_code > .et_pb_code_inner { flex:1 1 auto; display:flex; }
body.single-resa .tzr-split > .et_pb_column:only-child { width:100%; } body.single-resa .tzr-split > .et_pb_column:only-child .tzr-panel { min-height:0; }

/* Relaterade kort: lika hoga, pris/lank bottenlinjerade */
/* Mobil: WPForms e-postfalt (adress + bekraftelse) ligger som tva
   halvor i en flexrad. Under 600px staplas de i full bredd i stallet.
   Endast testresan, ingen andring i formularet eller pluginet. */
@media (max-width:600px){
  body.single-resa .tzr-form .wpforms-field-email .wpforms-field-row { display:block; }
  body.single-resa .tzr-form .wpforms-field-email .wpforms-field-row-block { width:100%; max-width:100%; padding-left:0; padding-right:0; }
  body.single-resa .tzr-form .wpforms-field-email .wpforms-field-row-block.wpforms-first { margin-bottom:18px; }
  body.single-resa .tzr-form .wpforms-field-email .wpforms-field-row-block input { width:100%; max-width:100%; }
}

/* Mobil: toggle, nastlad rad och kolumn la tillsammans 144px sidopadding
   vid 390px, vilket kramde formularet till 206px. Behall yttermarginal. */
@media (max-width:600px){
  body.single-resa .tzr-toggle { padding-left:16px; padding-right:16px; }
  body.single-resa #page-container .tzr-toggle .et_pb_row_nested { padding-left:0 !important; padding-right:0 !important; }
  body.single-resa .tzr-toggle .et_pb_row_nested > .et_pb_column { padding-left:8px; padding-right:8px; }
}
/* Trygghetspanelen, native Divi-moduler i CSS-grid.
   Rubrik och brodtext spanner bada spalterna, ikon i spalt 1 och punkttext i
   spalt 2. Raderna sats explicit - auto-placering ar inte tillforlitlig har. */
body.single-resa .tzr-trust > *:nth-child(1) { grid-row:1; }
body.single-resa .tzr-trust > *:nth-child(2) { grid-row:2; }
body.single-resa .tzr-trust > *:nth-child(3) { grid-column:1; grid-row:3; }
body.single-resa .tzr-trust > *:nth-child(4) { grid-column:2; grid-row:3; }
body.single-resa .tzr-trust > *:nth-child(5) { grid-column:1; grid-row:4; }
body.single-resa .tzr-trust > *:nth-child(6) { grid-column:2; grid-row:4; }
body.single-resa .tzr-trust > *:nth-child(7) { grid-column:1; grid-row:5; }
body.single-resa .tzr-trust > *:nth-child(8) { grid-column:2; grid-row:5; }
body.single-resa .tzr-trust-icon { align-self:start; justify-self:start; margin-top:5px; }
body.single-resa .tzr-trust-punkt p { color:#eef2e6; font-size:15px !important; line-height:26px !important; margin:0; }
body.single-resa .tzr-trust-rubrik h3 { color:#fff; font-size:21px; margin:0; line-height:1.5; }
body.single-resa .tzr-trust-text p { color:#d8e2cb; margin:0; }

/* Ingressen ar nu native moduler - rubriken och texten ligger inuti modulen */
body.single-resa .tzr-h2 h2 { font-size:var(--tzr-fs-h2); margin:0; color:var(--tzr-text); line-height:1.2; }
body.single-resa .tzr-form-wrap .tzr-card-sub { font-size:16px; }
body.single-resa .tzr-form-wrap .tzr-card-sub p { color:var(--tzr-text-muted); margin:0; }
/* Etapp 1: klasserna ligger nu pa native modulomslag, inte pa textelementen.
   Innehallet inuti modulen behover darfor egna regler. Temats
   p{font-size:1.2em !important} raknar em mot modulens storlek - dar det
   behovs satts modulen sa att den kedjan ger samma pixelvarde som fore. */
body.single-resa .tzr-korthet-heading h3 { font-size:24px; margin:0; color:var(--tzr-green-dark); line-height:1.5; }
body.single-resa .tzr-korthet-text p { font-size:17.5px !important; line-height:20.8px !important; color:var(--tzr-text); margin:0; }
body.single-resa .tzr-eyebrow p { font-size:14px !important; line-height:20.8px !important; color:var(--tzr-orange); font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin:0; }
body.single-resa .tzr-intro-lead { font-size:16px; }
body.single-resa .tzr-intro-lead p { color:#3d4136; margin:0; }
body.single-resa .tzr-tag { align-self:flex-start; width:auto; }
/* Introkolumnen: modulgutter av, explicita marginaler som fore konverteringen */
body.single-resa .tzr-intro-col { row-gap:0; }
body.single-resa #page-container .tzr-intro-col .tzr-eyebrow { margin:0 0 16px; }
body.single-resa #page-container .tzr-intro-col .tzr-intro-h2 { margin:0 0 var(--tzr-space-3); }
body.single-resa #page-container .tzr-intro-col .tzr-intro-lead { margin:0 0 var(--tzr-space-3); }

body.single-resa .tzr-tag p { font-size:17px !important; line-height:20.8px !important; color:var(--tzr-green-dark); font-weight:700; margin:0; }
/* Etapp 2: ankarnavet ar nu native divi/button-moduler i kolumnen .tzr-nav-row.
   Divis knappstil (ram, radie, pil via ::after) tas bort sa att lanken behaller
   sitt platta utseende. #page-container kravs for att sla Divis egna
   modulselektorer, som ar ID-baserade. */
body.single-resa .tzr-nav-row { flex-direction:row; flex-wrap:nowrap; align-items:stretch; justify-content:center; justify-content:safe center; column-gap:0; row-gap:0; padding-left:0; padding-right:0; }
body.single-resa #page-container .tzr-nav-link.et_pb_button { border:0; border-bottom:3px solid transparent; border-radius:0; background:transparent; padding:16px 18px !important; font-size:16.5px; line-height:20.8px !important; letter-spacing:normal; }
body.single-resa #page-container .tzr-nav-link.et_pb_button:before,
body.single-resa #page-container .tzr-nav-link.et_pb_button:after { display:none !important; content:none !important; }
body.single-resa #page-container .tzr-nav-link.et_pb_button:hover { background:transparent; padding:16px 18px; border-bottom-color:var(--tzr-orange); }
body.single-resa #page-container .tzr-nav-link--active.et_pb_button { color:var(--tzr-orange); border-bottom-color:var(--tzr-orange); }
body.single-resa #page-container .tzr-nav-link.et_pb_button:focus-visible { outline:2px solid var(--tzr-orange) !important; outline-offset:-3px; box-shadow:inset 0 0 0 2px var(--tzr-orange) !important; transition:none !important; }

/* Praktisk information: etikett i spalt 1, varde hogerstallt i spalt 2.
   Bada spalterna ar flexibla sa att rubrikens spann inte blaser upp nagon spalt. */
body.single-resa .tzr-fakta-lista { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:0; row-gap:0; align-content:start; }
body.single-resa .tzr-fakta-lista > *:nth-child(1) { grid-column:1 / -1; }
body.single-resa .tzr-fakta-lista > *:nth-child(2) { grid-column:1; grid-row:2; }
body.single-resa .tzr-fakta-lista > *:nth-child(3) { grid-column:2; grid-row:2; }
body.single-resa .tzr-fakta-lista > *:nth-child(4) { grid-column:1; grid-row:3; }
body.single-resa .tzr-fakta-lista > *:nth-child(5) { grid-column:2; grid-row:3; }
body.single-resa .tzr-fakta-lista > *:nth-child(6) { grid-column:1; grid-row:4; }
body.single-resa .tzr-fakta-lista > *:nth-child(7) { grid-column:2; grid-row:4; }
body.single-resa .tzr-fakta-lista > *:nth-child(8) { grid-column:1; grid-row:5; }
body.single-resa .tzr-fakta-lista > *:nth-child(9) { grid-column:2; grid-row:5; }
body.single-resa .tzr-fakta-etikett { padding:20px 16px 20px 0; border-bottom:1px solid #eee; }
body.single-resa .tzr-fakta-varde { padding:20px 0 20px 16px; border-bottom:1px solid #eee; }
body.single-resa #page-container .tzr-fakta-varde, body.single-resa #page-container .tzr-fakta-varde .et_pb_text_inner, body.single-resa #page-container .tzr-fakta-varde p { text-align:right !important; }
body.single-resa .tzr-fakta-etikett p { font-size:20px !important; line-height:20.8px !important; color:var(--tzr-text-muted); margin:0; }
body.single-resa .tzr-fakta-varde p { font-size:20px !important; line-height:20.8px !important; color:var(--tzr-text); font-weight:700; margin:0; }
/* ===== OMDOMESKARUSELLENS NAVIGERINGSPRICKAR (2026-09-08) ==========
   Aktiveras av [zmart_omdomen visa_prickar="1"], som satter
   data-show-dots pa .zmart-carousel. TinSlide bygger da en
   <ul class="tin-slide-dots"> som syskon EFTER karusellen och efter
   nav-pilarna, inuti .tz-omdomen. Reglerna ar skopade till
   arbetsmallen - startsidan och ovriga karuseller ror sig inte.

   VIKTIGT: prickens grafik ritas med ::before, ALDRIG med ett riktigt
   barnelement. TinSlides onDotClick laser tin-slide-index fran
   event.target, och ett barnelement skulle gora target till fel nod
   och ge animateTo(NaN).

   Matt ur designskissen: prick 8px, centeravstand 16,5px vid 799px
   skissbredd, uppskalat till mallens typografi. Fylld prick i skissen
   ar rgb(66,78,25) - i praktiken samma gron som --tzr-green (#415321).
   Den ofyllda pricken ar i skissen nastan osynlig mot den ljusbeige
   panelen, sa har anvands --tzr-text-faint i stallet for --tzr-border
   for att prickarna ska bli tydligt synliga.
   ================================================================== */
body.single-resa {
  --tzr-prick:10px;
  --tzr-prick-traff:24px;
  --tzr-prick-av:var(--tzr-text-faint);
  --tzr-prick-pa:var(--tzr-green);
}

/* position/left/bottom/transform nollstalls: TinSlides egen injicerade
   <style> lagger prickarna absolut i nederkant, vilket skulle lagga dem
   ovanpa citatet. Har ska de floda under karusellen. */
body.single-resa #page-container .tzr-omdome-wrap .tin-slide-dots {
  position:static;
  bottom:auto;
  left:auto;
  transform:none;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:4px 6px;
  margin:var(--tzr-space-2) 0 0;
  padding:0;
  list-style:none;
}

body.single-resa #page-container .tzr-omdome-wrap .tin-slide-dots li {
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:var(--tzr-prick-traff);
  height:var(--tzr-prick-traff);
  margin:0;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  box-shadow:none;
  opacity:1;
  cursor:pointer;
}

body.single-resa #page-container .tzr-omdome-wrap .tin-slide-dots li::before {
  content:"";
  display:block;
  box-sizing:border-box;
  width:var(--tzr-prick);
  height:var(--tzr-prick);
  border:2px solid var(--tzr-prick-av);
  border-radius:50%;
  background:transparent;
  transition:background-color 180ms ease, border-color 180ms ease;
}

body.single-resa #page-container .tzr-omdome-wrap .tin-slide-dots li:hover::before {
  border-color:var(--tzr-prick-pa);
  background:var(--tzr-green-light);
}

body.single-resa #page-container .tzr-omdome-wrap .tin-slide-dots li.on::before {
  background:var(--tzr-prick-pa);
  border-color:var(--tzr-prick-pa);
}

@media (prefers-reduced-motion: reduce) {
  body.single-resa #page-container .tzr-omdome-wrap .tin-slide-dots li::before { transition:none; }
}

/* Mobil: style.css doljer pilarna under 600px, sa prickarna ar da enda
   synliga navigeringen. Storre prick och storre traffyta. */
@media (max-width:600px) {
  body.single-resa { --tzr-prick:12px; --tzr-prick-traff:24px; }
  body.single-resa #page-container .tzr-omdome-wrap .tin-slide-dots { gap:4px 2px; margin-top:var(--tzr-space-1); }
}

/* ===== BREDDAD SATSYTA + LINJERING (2026-09-08) ====================
   1) Gemensam innehallsbredd 1256 -> 1320px (+5,1%). Alla sektioner
      delar --tzr-content-width, sa hoger- och vansterlinjeringen foljer
      med automatiskt. Verifierat: samtliga .tzr-row plus .tzr-hero-inner
      delar exakt samma vanster- och hogerkant fore och efter.

   2) Dagsprogrammets kolumner. Uppmatt: "Ankomst till Prag" behover
      157,2px pa en rad men hade bara 131px, sa den brots i tva rader.
      Markoren 16% -> 19% ger 180,8px vid 1320px. Bilden 38% -> 37% sa
      textpanelen behaller sin bredd (515 -> 514,8px, i praktiken
      oforandrad). Dag 2 och Dag 3 bryts fortfarande till tva rader -
      sa ser designskissen ut. Rubriken far plats pa en rad fran ca
      1330px fonsterbredd och uppat.

   3) Avgangstabellens rubriker linjerar nu med radernas innehall.
      GRUNDORSAK: rubrikcellerna ar grid-barn till .tzr-avg-wrap
      (inskjut 16px) medan radcellerna ligger inuti .tz-avgangar, som
      far padding:clamp(1.75rem,4vw,3rem) fran den DELADE style.css
      (rad 4271, hogre specificitet an den skopade regeln pa rad 116),
      plus radens egen padding 24px. Tre olika ursprung gav spar
      259/438/219px mot 241/409/204px och avvikelser pa 40 / 22 / -7px.
      Genom att ge wrappen samma inskjut blir rutnaten identiska.
      OBS: --tzr-avg-panel-pad speglar MED FLIT clamp-uttrycket i
      style.css rad 4271. Andras det dar maste det andras har ocksa.

   4) Sparen gors minmax(0,Nfr). Tidigare kunde radernas langre text
      trycka isar spar 2 och 3 medan rubrikernas korta ord inte gjorde
      det, vilket gav 15px avvikelse vid ca 1200px. Med minmax(0,...)
      ar spar-fordelningen rent proportionell i bada rutnaten.

   5) --nasta-raden hade margin -16px men samma padding som ovriga
      rader, sa dess celler lag 16px till vanster om de andras.
      Paddingen okas med lika mycket: bakgrunden ar kvar, innehallet
      linjerar.

   Allt ovan galler bara fran 981px och uppat. Under 980px staplas
   dagsraden och rubrikcellerna doljs; da aterstalls de tidigare
   varden. Verifierat identiskt fore/efter vid 980, 768 och 390px.
   ==================================================================== */
body.single-resa {
  --tzr-content-width:1320px;
  --tzr-avg-panel-pad:clamp(1.75rem, 4vw, 3rem);
  --tzr-avg-inset:calc(var(--tzr-avg-panel-pad) + var(--tzr-space-3));
}

body.single-resa .tzr-dag-marker { flex-basis:19%; width:19%; max-width:19%; }
body.single-resa .tzr-dag-img { flex-basis:37%; width:37%; max-width:37%; }

body.single-resa .tzr-avg-wrap {
  padding-left:var(--tzr-avg-inset);
  padding-right:var(--tzr-avg-inset);
}
body.single-resa #page-container .tzr-avg-wrap > .tzr-h2,
body.single-resa #page-container .tzr-avg-wrap > .tzr-avg-lista {
  margin:0 calc(-1 * var(--tzr-avg-inset)) !important;
}
body.single-resa .tzr-avg-wrap,
body.single-resa .tzr-avg-wrap .tz-avgang {
  grid-template-columns:minmax(0,1.3fr) minmax(0,2.2fr) minmax(0,1.1fr) minmax(0,1.3fr);
}
body.single-resa .tzr-avg-wrap .tz-avgang--nasta {
  padding-left:calc(var(--tzr-space-3) + var(--tzr-space-2));
  padding-right:calc(var(--tzr-space-3) + var(--tzr-space-2));
}

@media (max-width:980px) {
  body.single-resa .tzr-dag-marker,
  body.single-resa .tzr-dag-img { flex-basis:100%; width:100%; max-width:100%; }
  body.single-resa .tzr-avg-wrap {
    padding-left:var(--tzr-space-2);
    padding-right:var(--tzr-space-2);
    grid-template-columns:none;
  }
  body.single-resa #page-container .tzr-avg-wrap > .tzr-h2,
  body.single-resa #page-container .tzr-avg-wrap > .tzr-avg-lista {
    margin:0 calc(-1 * var(--tzr-space-2)) !important;
  }
  body.single-resa .tzr-avg-wrap .tz-avgang { grid-template-columns:1fr; }
}


/* ===== FIX 2026-09-19: bildernas wrapper-span saknade dimension =====
   Divi 5 lagger <span class="et_pb_image_wrap"> mellan bildmodulen och <img>.
   Spanen har Divis egen regel position:relative och blir darfor img:ens
   containing block. Eftersom img ar position:absolute (rad 93) har spanen
   inget innehall kvar i flodet och kollapsar till 0x0 - och img:ens
   width/height:100% raknas da mot noll. Uppmatt pa desktop fore fixen:
   kolumn 488x170, modul 488x170, SPAN 0x0, IMG 0x0.
   Dagsprogrammets bilder blev alltsa osynliga pa desktop. Under 980px
   raddades de av att img byts till position:static med fast hojd (rad 221).

   For korten (Boende / Sevardheter / Resan) kollapsar spanen i stallet
   efter bildens egna proportioner vid height:240px, sa en portrattbild blev
   180px bred i ett 414px kort och object-fit:cover fick aldrig ratt box.

   Minsta fix: ge spanen modulens dimension. Inga andra regler rors. ===== */
body.single-resa .tzr-dag-img .et_pb_image_wrap { display:block; width:100%; height:100%; }
body.single-resa .tzr-card-img-wrap .et_pb_image_wrap { display:block; width:100%; }

@media (max-width:980px) {
  /* Staplat lage: modulen ar static med auto-hojd (rad 220), sa spanen ska
     folja innehallet i stallet for att forsoka fylla en odefinierad hojd. */
  body.single-resa .tzr-dag-img .et_pb_image_wrap { height:auto; }
}

/* Nar ena panelen i "Vad som ingar" doljs av sitt visningsvillkor ska den
   kvarvarande fylla raden i stallet for att sta kvar pa halva bredden. */
body.single-resa .tzr-split > .et_pb_column:only-child { flex-basis:100%; max-width:100%; width:100%; }


/* ===== FIX 2026-09-19: "I priset ingar" laser nu resa_puff_3_text, som ar
   en fardig <ul>. Panelen hade tidigare fem separata rader dar varje modul
   fick sin bock via .tzr-panel-rad:before. Flytta bocken till varje <li> sa
   att designen blir oforandrad. Samma tokens som .tzr-panel-rad. ===== */
body.single-resa .tzr-panel-lista { padding-left:0; }
body.single-resa .tzr-panel-lista:before { content:none; }
body.single-resa .tzr-panel-lista ul { list-style:none; margin:0; padding:0; }
body.single-resa .tzr-panel-lista li { position:relative; padding-left:30px; font-size:16px; line-height:1.6; color:#5b5f52; margin:0 0 6px; }
body.single-resa .tzr-panel--green .tzr-panel-lista li:before { content:'\2713'; position:absolute; left:0; top:0; font-weight:700; font-size:20px; line-height:28.8px; color:var(--tzr-green); }


/* ===== FIX 2026-09-19 pass 2: forenklat formular =====
   Datumfalten maste behalla typen date-time, eftersom tz-avgangar.js letar
   efter [name="wpforms[fields][21][date]"] och [23][date] nar kunden valjer
   avgang. Kunden ska daremot inte se eller fylla i dem - avgangen bestammer
   datumen. De doljs darfor visuellt i stallet for att tas bort. ===== */
body.single-resa .wpforms-field.tz-falt-dolt { display:none !important; }

/* ===== FIX 2026-09-19 pass 3: visuellt finputs =====
   Hero-boxen var 454px hog. De stora 46px-marginalerna kom fran nar boxen
   hade en egen prisetikett ovanfor priset. Etiketten ar nu borttagen och
   pris + CTA ligger pa samma rad. ===== */
body.single-resa .tzr-buybox { padding:26px; row-gap:2px; grid-template-columns:22px minmax(0,1fr) auto; column-gap:12px; }
body.single-resa .tzr-buy-icon { grid-column:1; }
body.single-resa .tzr-buy-text { grid-column:2 / -1; }
body.single-resa .tzr-buy-divider { grid-column:1 / -1; margin:14px 0 0; }
body.single-resa .tzr-buy-price { grid-column:1 / 3; align-self:center; white-space:nowrap; margin:14px 0 0; font-size:22px; }
body.single-resa .tzr-buybox > .et_pb_button_module_wrapper { grid-column:3 / 4; align-self:center; margin-top:14px; }
body.single-resa .tzr-buy-cta.et_pb_button { width:auto; white-space:nowrap; padding:12px 22px; margin-top:0; }

/* Prisets hierarki: "Fr." mindre och normal vikt, beloppet fetare. */
body.single-resa #page-container .tzr-pris-fr { font-size:15px; font-weight:400; color:#6b6f62; }
body.single-resa #page-container .tzr-pris-belopp { font-weight:700; }

/* Ingen pil vid hover. Divi ritar den via :after pa .et_pb_button. */
body.single-resa .et_pb_button:after, body.single-resa .et_pb_button:before { display:none !important; content:none !important; }
/* Divi laggar till padding pa hover for att ge plats at pilen. Pilen ar borta,
   sa varje knapp far behalla sin egen padding i stallet for att hoppa 4px. */
body.single-resa .tzr-buy-cta.et_pb_button:hover { padding:12px 22px !important; }
body.single-resa .tzr-nav-link.et_pb_button:hover { padding:16px 18px !important; }
body.single-resa .tzr-buy-cta.et_pb_button:hover { padding:12px 22px; }

/* Resegarantins gamla sarregler ar borttagna 2026-09-20 (pass 7). De behovdes
   bara sa lange raden var en <p> i en egen modul. Nu ar den ett <li> i en
   tzr-panel-lista, precis som ovriga punkter, och ardar samma regler. */

/* Mindre luft mellan rubriken och resekorten (sektionens row-gap var 60px). */
body.single-resa .et_pb_section:has(.tzr-relaterade) { row-gap:20px; }

/* pass 3 mobil: pris och CTA staplas nar boxen blir smal. */
@media (max-width:600px) {
  body.single-resa .tzr-buybox { grid-template-columns:22px minmax(0,1fr); padding:24px; }
  body.single-resa .tzr-buy-price { grid-column:1 / -1; white-space:normal; }
  body.single-resa .tzr-buybox > .et_pb_button_module_wrapper { grid-column:1 / -1; margin-top:10px; }
  body.single-resa .tzr-buy-cta.et_pb_button { width:100%; }
}

/* ===== FIX 2026-09-20 pass 4: ren herobild, titel i informationskortet =====
   1-2. Rubriken och underrubriken ligger inte langre som textoverlay i bilden.
   Rubriken ar SAMMA dynamiska heading-modul som forut (resa_rubrik) - den ar
   flyttad in i kortet, inte omskriven. Inget ar hardkodat.
   Vansterkolumnen .tzr-hero-text ar nu tom och finns kvar enbart som distans
   sa att kortet behaller sitt lage till hoger i raden. ===== */
body.single-resa .tzr-hero-text { padding-bottom:0; }

/* Titeln som kortets huvudrubrik - tydlig men anpassad till den kompakta boxen. */
body.single-resa .tzr-buy-title { grid-column:1 / -1; margin:0 0 12px; }
body.single-resa #page-container .tzr-buy-title .et_pb_heading_container { margin:0; padding:0; }
body.single-resa #page-container .tzr-buy-title h1 { font-family:var(--tz-font-heading); font-weight:700; font-size:26px; line-height:1.2; color:var(--tzr-text); margin:0; padding:0; text-shadow:none; }

/* 3. Herosektionen ca 20 % hogre. Uppmatt fore: 478px for besokare
   (518px inloggad, dar adminfaltet lagger till 40px via .admin-bar-regeln).
   478 x 1,2 = 574. Sektionen ar display:flex/align-items:center, sa kortet
   fortsatter ligga vertikalt centrerat och bakgrundsbilden ar kvar pa cover. */
body.single-resa #page-container #oversikt { min-height:574px; }

/* 4-5. Kompaktare informationskort. Framfor allt luften efter skiljelinjen. */
body.single-resa .tzr-buybox { padding:22px 24px 18px; row-gap:0; }
body.single-resa .tzr-buy-icon, body.single-resa .tzr-buy-text { padding:7px 0; }
body.single-resa .tzr-buy-text { line-height:1.45; }
/* Divis divider-modul ar 23px hog av sig sjalv - all den hojden lag som
   dod luft mellan linjen och prisraden. Linjen ar en border-top pa elementet,
   sa hojden kan ga till 1px utan att linjen forsvinner (box-sizing:border-box). */
body.single-resa .tzr-buy-divider { margin:12px 0 0; height:1px; min-height:0; }
body.single-resa .tzr-buy-price { margin:10px 0 0; line-height:1.3; }
body.single-resa .tzr-buybox > .et_pb_button_module_wrapper { margin-top:10px; }

/* 6. Responsivt. Mediefragorna maste upprepas har eftersom de tidigare
   ligger fore detta block i filen och annars forloras i kaskaden. */
@media (max-width:980px) {
  body.single-resa #page-container #oversikt { min-height:0; }
  body.single-resa .tzr-hero-text { display:none; }
}
@media (max-width:600px) {
  body.single-resa .tzr-buybox { grid-template-columns:22px minmax(0,1fr); padding:20px; }
  body.single-resa .tzr-buy-price { grid-column:1 / -1; white-space:normal; }
  body.single-resa .tzr-buybox > .et_pb_button_module_wrapper { grid-column:1 / -1; margin-top:10px; }
  body.single-resa .tzr-buy-cta.et_pb_button { width:100%; }
  body.single-resa #page-container .tzr-buy-title h1 { font-size:22px; }
}

/* ===== FIX 2026-09-20 pass 5: responsivt hero =====
   Brytpunkt 980px - samma som resten av mallen redan anvander, det ar dar
   hero-raden slutar rymma bild och kort bredvid varandra. Over 980px ligger
   kortet ovanpa bilden till hoger. Under 980px kommer bilden forst och kortet
   som ett eget block under den, i normalt dokumentflode. Ingen JS. ===== */

/* 1. Desktop: bildytan en tredjedel hogre. Uppmatt fore: 574px. 574 x 4/3 = 765. */
/* Sektionen ar en Divi-flexsektion med flex-direction:column - det ar darfor
   justify-content, inte align-items, som styr kortets vertikala lage. Utan den
   hamnade kortet i ovre tredjedelen nar sektionen blev hogre. */
body.single-resa #page-container #oversikt { min-height:765px; justify-content:center; }

/* 3-4. Under 980px: bilden till egen full-bredd-yta overst, kortet under.

   Bilden ligger som bakgrund pa SEKTIONEN och ar dynamisk
   (custom_meta_resa_huvudbild). Den far darfor inte skrivas om i CSS - da
   skulle Prag hardkodas. Losningen ar att lata sektionen behalla sin bild men
   rita ut den i 0x0 px, och lata raden och den tomma vansterkolumnen arva
   samma varde med background-image:inherit. Kolumnen ritar ut den pa riktigt.
   Samma bild, samma falt, ett enda datakalla - bara en annan yta. */
@media (max-width:980px) {
  body.single-resa #page-container #oversikt {
    background-size:0 0 !important;
    min-height:0;
    padding:118px 0 28px;
  }
  body.single-resa.admin-bar .tzr-hero-inner { margin-top:0; }
  /* Divi-raden har 20px egen sidopadding satt med hog specificitet -
     bildytan ska ga kant i kant, sa den maste tas bort pa samma niva. */
  body.single-resa #page-container .et_pb_row.tzr-hero-inner { padding-left:0 !important; padding-right:0 !important; }
  body.single-resa .tzr-hero-inner {
    width:100%; max-width:none !important; margin:0;
    column-gap:0; row-gap:0;
    background-image:inherit; background-size:0 0;
  }

  /* Bildytan. Full bredd, cover, ingen text, ingen gradient. */
  body.single-resa .tzr-hero-text {
    display:block; flex:0 0 100%; width:100%; max-width:100%;
    height:375px; padding:0; align-self:auto;
    background-image:inherit;
    background-size:cover; background-position:center; background-repeat:no-repeat;
  }

  /* Kortet under bilden. Maxbredd sa att det inte blir en bred platta pa surfplatta. */
  body.single-resa .tzr-buybox {
    flex:0 0 auto; width:min(520px,90%); max-width:none;
    margin:20px auto 0; align-self:auto;
  }
  /* Divi satter margin-right:0 pa sista kolumnen med hogre specificitet, vilket
     slog ut auto-marginalen at hoger - hela den fria ytan hamnade till vanster
     och kortet trycktes mot hogerkanten. Bada marginalerna maste sattas om pa
     samma niva for att kortet ska centreras. */
  body.single-resa #page-container .tzr-buybox { margin-left:auto !important; margin-right:auto !important; }
}

/* 5. Telefon: lagre bildyta och varsamt nedskalad typografi i kortet. */
@media (max-width:600px) {
  body.single-resa #page-container #oversikt { padding:122px 0 24px; }
  body.single-resa .tzr-hero-text { height:335px; }
  body.single-resa .tzr-buybox {
    width:min(520px,90%); padding:18px 18px 16px;
    grid-template-columns:22px minmax(0,1fr) auto; column-gap:12px;
  }
  body.single-resa #page-container .tzr-buy-title h1 { font-size:21px; line-height:1.25; }
  body.single-resa .tzr-buy-title { margin:0 0 10px; }
  body.single-resa .tzr-buy-icon, body.single-resa .tzr-buy-text { padding:5px 0; }
  body.single-resa .tzr-buy-text { font-size:16px; line-height:1.4; }
  body.single-resa .tzr-buy-divider { margin:10px 0 0; }
  body.single-resa .tzr-buy-price { grid-column:1 / 3; white-space:nowrap; margin:10px 0 0; font-size:20px; }
  body.single-resa .tzr-buybox > .et_pb_button_module_wrapper { grid-column:3 / 4; align-self:center; margin-top:10px; }
  body.single-resa .tzr-buy-cta.et_pb_button { width:auto; font-size:16px; padding:12px 20px; }
  body.single-resa .tzr-buy-cta.et_pb_button:hover { padding:12px 20px !important; }
}

/* Under 360px far pris och knapp inte plats bredvid varandra - da staplas de. */
@media (max-width:359px) {
  body.single-resa .tzr-buybox { grid-template-columns:22px minmax(0,1fr); }
  body.single-resa .tzr-buy-price { grid-column:1 / -1; white-space:normal; }
  body.single-resa .tzr-buybox > .et_pb_button_module_wrapper { grid-column:1 / -1; }
  body.single-resa .tzr-buy-cta.et_pb_button { width:100%; }
}

/* ===== FIX 2026-09-20 pass 7: kort, "Vad som ingar", praktisk information =====

   Resegarantin renderades som ett eget textblock (<p> i en egen Divi-modul med
   .tzr-panel-rad), medan de fyra ovriga punkterna ar <li> i en <ul>. Bocken kom
   darfor fran .tzr-panel-rad:before pa modulen i stallet for fran li:before,
   och det vertikala avstandet blev 18px i stallet for 6px: sista li:ns
   margin-bottom 6px + panelens row-gap 6px + modulens egen margin 6px.

   Grundorsaken ar atgardad i mallen, inte har: modulens innehall ar nu
   <ul><li>...</li></ul> och den bar klassen tzr-panel-lista. Alla fem punkter
   anvander darmed exakt samma struktur och samma regler.

   Kvar att stada i CSS ar bara rytmen mellan de tva modulerna. Sista punkten i
   varje lista far ingen bottenmarginal, sa att avstandet mellan modulerna blir
   panelens row-gap - 6px, samma som mellan tva punkter i samma lista. ===== */
body.single-resa .tzr-panel-lista ul li:last-child { margin-bottom:0; }
body.single-resa .tzr-panel-resegaranti { margin:0; }

/* Praktisk information har gatt fran tva till fem faktarader. Rutnatet var
   handskrivet till och med nionde barnet. */
body.single-resa .tzr-fakta-lista > *:nth-child(10) { grid-column:1; grid-row:6; }
body.single-resa .tzr-fakta-lista > *:nth-child(11) { grid-column:2; grid-row:6; }
body.single-resa .tzr-fakta-lista > *:nth-child(12) { grid-column:1; grid-row:7; }
body.single-resa .tzr-fakta-lista > *:nth-child(13) { grid-column:2; grid-row:7; }

/* ===== FIX 2026-09-20 pass 8 =====
   Formularets introtext har nu tva stycken. Grundregeln ovan satter margin:0
   pa .tzr-card-sub p for att ett ensamt stycke inte ska ge luft - har behovs
   normalt styckeavstand mellan stycke ett och tva. Samma typografi i ovrigt.

   Not: regeln som dolde avvaljningsknappen pa testresan ar borttagen i detta
   pass. Knappen skapas inte langre alls i js/tz-avgangar.js. ===== */
body.single-resa #page-container .tzr-form-wrap .tzr-card-sub p + p { margin-top:14px; }

/* ===== FIX 2026-09-20 pass 12: "Nasta avgang" doljs helt utan avgang =====
   Raden byggs nu i PHP (TZ_NASTA_AVGANG) och harleds ur samma underlag som
   avgangssektionen. Saknas en aktuell valbar avgang returnerar filtret en tom
   markor i stallet for ett datum. Da ska BADE textraden och den foregaende
   ikonen forsvinna - annars star en ensam flygikon kvar i rutnatet. ===== */
body.single-resa .tzr-buy-text:has(.tzr-ingen-avgang) { display:none; }
body.single-resa .tzr-buy-icon:has(+ .tzr-buy-text .tzr-ingen-avgang) { display:none; }

/* ===== PASS 2026-09-22: PANELTYPOGRAFI + AVGANGSRADER =====================

   1. "Tillagg" hade annan typografi an "I priset ingar".
      GRUNDORSAK: punkterna i den grona panelen ar <li> i .tzr-panel-lista och
      far 16px/1.6, medan den beiga panelens punkter ar <p> i .tzr-panel-rad
      och bumpades till 16.5px respektive 17px/1.75 i tva mediefragor.
      Skillnaden mellan inkluderat och tillagg bars aldrig av typografin utan
      av bocken, minustecknet och panelfargen - de ar ororda.
      Selektorerna nedan har hogre specificitet an bada bumparna och behover
      darfor inte upprepas per mediefraga.                                   */
body.single-resa .tzr-panel--beige .tzr-panel-rad p,
body.single-resa .tzr-panel--green .tzr-panel-rad p,
body.single-resa .tzr-panel .tzr-panel-lista li {
  /* !important kravs. style.css satter p { font-size:1.2em !important }
     globalt. Den grona panelens punkter ar <li> och slipper undan, den
     beigas ar <p> och traffas - DET ar hela skillnaden. De befintliga
     reglerna pa 16.5px och 17px har darfor aldrig haft nagon effekt. */
  font-family:inherit;
  font-size:16px !important;
  line-height:1.6 !important;
  font-weight:400;
  color:#5b5f52;
}

/* 2. Avgangsraden bar nu flygtider och ar darfor hogre. Cellerna toppjusteras
      sa att datum, pris och knapp foljer radens overkant i stallet for att
      flyta mitt i en hog rad.                                               */
body.single-resa .tzr-avg-wrap .tz-avgang { align-items:start; }
body.single-resa .tzr-avg-wrap .tz-avgang__datum,
body.single-resa .tzr-avg-wrap .tz-avgang__pris { padding-top:2px; }

body.single-resa .tzr-avg-wrap .tz-avgang__detaljer {
  display:flex; flex-direction:column; gap:10px; min-width:0;
}
/* Faktaraderna floder i sidled och bryter sjalva nar de inte far plats
   (2026-09-23). Ingen fast kolumnbredd och ingen avkortning: en lang
   uppgift som 'SAS (utresa) / Norwegian (hemresa)' tar helt enkelt en
   egen rad, medan korta som '3 natter' och 'Frukost ingar' delar rad.
   Uppmatt pa Riga: faktablocket 146 -> 86 px, avgangsraden 330 -> 270 px.
   I smala spalter blir det automatiskt en uppgift per rad igen. */
body.single-resa .tzr-avg-fakta { display:flex; flex-direction:row; flex-wrap:wrap; column-gap:18px; row-gap:4px; }
body.single-resa .tzr-avg-fakta__rad { flex:0 1 auto; }
body.single-resa .tzr-avg-fakta__rad { display:flex; align-items:center; gap:8px; min-width:0; }
body.single-resa .tzr-avg-ikon { flex:0 0 auto; display:inline-flex; color:var(--tzr-green); opacity:.85; }
body.single-resa .tzr-avg-ikon svg { display:block; }
body.single-resa .tzr-avg-fakta__text { min-width:0; overflow-wrap:anywhere; }

body.single-resa .tzr-avg-flyg {
  display:flex; flex-direction:column; gap:6px;
  padding-top:9px; border-top:1px solid rgba(0,0,0,.08);
}
body.single-resa .tzr-avg-flyg__ben { display:flex; flex-direction:column; gap:1px; min-width:0; }
body.single-resa .tzr-avg-flyg__etikett {
  font-family:var(--tz-font-body); font-size:11.5px; font-weight:700;
  text-transform:uppercase; letter-spacing:.06em; color:var(--tzr-text-faint);
}
body.single-resa .tzr-avg-flyg__tider { font-size:14.5px; color:#3f463a; overflow-wrap:anywhere; }

/* 3. Progressiv visning: tre avgangar at gangen. Alla rader finns i DOM:en,
      js/tz-avgangar.js tar bort klassen tre i taget.                        */
body.single-resa .tzr-avg-wrap .tz-avgang--dold { display:none; }
body.single-resa .tzr-avg-wrap .tzr-avg-fler {
  display:block; margin:18px auto 2px; padding:12px 26px;
  background:transparent; color:var(--tzr-green-dark);
  border:1px solid var(--tzr-green); border-radius:var(--tzr-radius-sm);
  font-family:var(--tz-font-body); font-weight:700; font-size:15px;
  cursor:pointer;
}
body.single-resa .tzr-avg-wrap .tzr-avg-fler:hover { background:var(--tzr-green-light); }

/* 4. Intresseanmalan oppnas automatiskt efter "Valj denna avgang" och sidan
      scrollar dit. Sticky header far inte tacka sektionens overkant.        */
body.single-resa #boka { scroll-margin-top:110px; }
body.single-resa #boka .et_pb_toggle_title:focus { outline:2px solid var(--tzr-green); outline-offset:3px; }
body.single-resa #boka .et_pb_toggle_title:focus:not(:focus-visible) { outline:none; }

@media (max-width:980px) {
  body.single-resa .tzr-avg-wrap .tz-avgang__datum,
  body.single-resa .tzr-avg-wrap .tz-avgang__pris { padding-top:0; }
  body.single-resa .tzr-avg-wrap .tz-avgang__detaljer { gap:9px; }
  body.single-resa .tzr-avg-flyg__tider { font-size:14px; }
  body.single-resa #boka { scroll-margin-top:84px; }
}
/* ===== /PASS 2026-09-22 ================================================= */

/* Exempel pa dagsprogram (2026-09-22) ---------------------------------
   Generell forklaring i resemallen. Rubriken bytte namn till
   "Exempel pa dagsprogram" i Theme Builder-layouten 393143, och raden
   nedan ar den korta texten under den. Bada galler ALLA resor - inget
   per-resa-faltvarde ar inblandat.                                   */
body.single-resa .tzr-dag-forklaring {
  max-width: 62ch;
  margin: -6px 0 6px;
  color: #6b6f63;
  font-size: 15.5px;
  line-height: 1.55;
}
@media (max-width: 860px) {
  body.single-resa .tzr-dag-forklaring { font-size: 15px; max-width: none; }
}

/* Praktisk information: resa_detaljer (2026-09-23) ---------------------
   Faltet fanns men renderades aldrig - Theme Builder-layouten refererade
   det noll ganger. Nu bundet till en textmodul sist i kolumnen
   .tzr-fakta-lista.

   Kolumnen ar ett TVAKOLUMNSGRID med explicit nth-child-placering upp
   till 13. Utan regeln nedan hamnar blocket i en halv cell. Det ska
   spanna hela bredden och ligga under faktatabellen.

   p-storleken sätts med !important eftersom style.css bar en global
   p { font-size:1.2em !important } som annars vinner.            */
body.single-resa .tzr-fakta-lista > .tzr-fakta-detaljer {
  grid-column: 1 / -1;
  margin-top: 28px;
}
body.single-resa #page-container .tzr-fakta-detaljer p {
  font-size: 16.5px !important;
  line-height: 1.65 !important;
  color: var(--tzr-text);
  margin: 0 0 12px;
  font-weight: 400;
}
/* RATTELSE 2026-09-23: selektorn var tidigare "p strong" och gjorde DARFOR
   varje inline-betoning till en egen versal blockrubrik. Pa Riga bröts
   meningen mitt itu: "...sker ut- och hemresa med tva" / TVA SEPARATA
   ENKELBILJETTER / ". Benen hanger da inte ihop...". Omfattning vid
   upptackten: Riga 3, Krakow 4, Budapest 13, Prag 7 inline-betoningar.

   De verkliga underrubrikerna ar alltid <p><strong>RUBRIK</strong></p>,
   alltsa strong som ENDA barn i sitt stycke. :only-child traffar exakt
   dem och lamnar inline-betoning orord. Ingen innehallsandring behovs. */
body.single-resa #page-container .tzr-fakta-detaljer .tzr-fakta-rubrik strong {
  display: block;
  margin-top: 22px;
  font-family: var(--tz-font-heading);
  font-size: 14px !important;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--tzr-green-dark, #2f3d19);
}
body.single-resa #page-container .tzr-fakta-detaljer .tzr-fakta-rubrik:first-child strong { margin-top: 0; }
body.single-resa #page-container .tzr-fakta-detaljer ul {
  margin: 0 0 14px;
  padding-left: 20px;
}
body.single-resa #page-container .tzr-fakta-detaljer li {
  font-size: 16.5px !important;
  line-height: 1.6 !important;
  margin-bottom: 6px;
}
@media (max-width: 860px) {
  body.single-resa #page-container .tzr-fakta-detaljer p,
  body.single-resa #page-container .tzr-fakta-detaljer li { font-size: 16px !important; }
}

/* Avresa fran: dolj raden OCH dess ikon nar resan saknar registrerad
   avreseort (2026-09-23). Markoren satts av tz_avresa_fran_shortcode().
   Utan den har regeln skulle en resa utan avgangar visa en ensam
   flygikon med tom text. :has() saknas i mycket gamla webblasare - dar
   blir raden tom i stallet, vilket fortfarande ar battre an det
   hardkodade pastaende som stod har tidigare. */
body.single-resa .tzr-korthet-avresa:has(.tzr-avresa-tom) { display:none; }
body.single-resa .tzr-korthet-icon:has(+ .tzr-korthet-avresa .tzr-avresa-tom) { display:none; }
body.single-resa .tzr-fakta-avresa:has(.tzr-avresa-tom) { display:none; }
body.single-resa .tzr-fakta-etikett:has(+ .tzr-fakta-avresa .tzr-avresa-tom) { display:none; }

/* Tom avgangssektion doljs helt (2026-09-23).

   Rubriken Avgangar och kolumnrubrikerna Datum/Detaljer/Pris ligger i
   Theme Builder-layouten och renderas alltid, medan sjalva listan
   kommer fran tz_avgangar-shortcoden som returnerar tomt nar det inte
   finns nagon saljbar avgang. Resultatet var en tabellrubrik utan
   tabell. Defekten ar aldre an kvalitetsgrindarna - den syntes redan pa
   Munchen, Dublin och Aten, som aldrig haft producerade avgangar.

   Regeln traffar bara nar listan saknas helt, sa en resa med avgangar
   kan aldrig doljas. Priset hanteras separat av tz_resa_saknar_saljbart()
   som visar Pris pa forfragan i samma lage. */
body.single-resa .tzr-avg-wrap:not(:has(.tz-avgangar)) { display:none; }

/* ... och navlanken som pekar dit. En ankarlank till en dold sektion
   scrollar till nasta synliga innehall och ser ut som ett fel. Villkoret
   provas pa body, eftersom lanken och sektionen ligger i skilda grenar. */
body.single-resa:not(:has(.tz-avgangar)) .tzr-nav-link[href="#avgangar"] { display:none; }
body.single-resa:not(:has(.tz-avgangar)) .et_pb_button_module_wrapper:has(.tzr-nav-link[href="#avgangar"]) { display:none; }

/* =====================================================================
   DESIGNPASS 2026-09-24 - PRAKTISK INFORMATION + VAD VARA RESENARER SAGER

   Generell for alla resor (Theme Builder-layout 393143). Ingen ny markup
   i layouten, ingen andring i karusellens logik. Ikonerna ar inbaddade
   SVG-masker i samma linjestil som avgangsradens ikoner.
   - tva paneler sida vid sida, 57/43, samma ytterhojd pa desktop
   - faktaraderna med ikon, mindre typsnitt och tatare radhojd
   - detaljblocken: ikon i ljusgron cirkel, liten luft rubrik -> text,
     storre luft mellan blocken
   - omdomet i ett vitt kort, centrerat i panelen, pilarna centrerade
     mot KORTET (inte mot panelen)
   Kategoriklassen tzr-fakta-rubrik--* satts i functions.php
   (tz_fakta_rubriker) ur ett nyckelord i rubriken.
   ===================================================================== */
body.single-resa #page-container .tzr-row:has(> .tzr-fakta-lista):has(> .tzr-omdome-col) { align-items:stretch; column-gap:28px; }
body.single-resa #page-container .tzr-row > .tzr-fakta-lista { flex:0 0 calc(57% - 14px); width:calc(57% - 14px); max-width:none; box-sizing:border-box; background:#fff; border:1px solid var(--tzr-border); border-radius:var(--tzr-radius); padding:32px 36px; }
body.single-resa #page-container .tzr-row > .tzr-omdome-col { flex:0 0 calc(43% - 14px); width:calc(43% - 14px); max-width:none; box-sizing:border-box; display:flex; flex-direction:column; row-gap:18px; }
/* Faktarader */
body.single-resa #page-container .tzr-fakta-lista > .tzr-fakta-etikett { position:relative; padding:13px 12px 13px 32px; }
body.single-resa #page-container .tzr-fakta-lista > .tzr-fakta-varde { padding:13px 0 13px 12px; }
body.single-resa #page-container .tzr-fakta-etikett p, body.single-resa #page-container .tzr-fakta-varde p, body.single-resa #page-container .tzr-fakta-varde .et_pb_text_inner { font-size:16px !important; line-height:1.45 !important; }
body.single-resa #page-container .tzr-fakta-lista > .tzr-fakta-etikett::before { content:''; position:absolute; left:1px; top:50%; width:18px; height:18px; margin-top:-9px; background:var(--tzr-green); -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-position:center; mask-position:center; -webkit-mask-size:contain; mask-size:contain; }
/* Ikonen foljer etikettens semantiska klass (satt i Theme Builder-layout
   393143), inte dess position. Raderna ar villkorade: Destinationer
   (Resmal) visas bara nar resa_destinationer har varde, Resans langd bara
   nar resa_antal_dagar har varde. Pass 46, 2026-09-25. */
body.single-resa #page-container .tzr-fakta-lista > .tzr-fakta-etikett--langd::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%202v4M16%202v4M3%2010h18M5%204h14a2%202%200%200%201%202%202v14a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2z%22%2F%3E%3C%2Fsvg%3E"); mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%202v4M16%202v4M3%2010h18M5%204h14a2%202%200%200%201%202%202v14a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2z%22%2F%3E%3C%2Fsvg%3E"); }
body.single-resa #page-container .tzr-fakta-lista > .tzr-fakta-etikett--avresa::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M17.8%2019.2%2016%2011l3.5-3.5C21%206%2021.5%204%2021%203c-1-.5-3%200-4.5%201.5L13%208%204.8%206.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1%201%20.3%201.3L9%2012l-2%203H4l-1%201%203%202%202%203%201-1v-3l3-2%203.5%205.3c.3.4.8.5%201.3.3l.5-.2c.4-.3.6-.7.5-1.2z%22%2F%3E%3C%2Fsvg%3E"); mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M17.8%2019.2%2016%2011l3.5-3.5C21%206%2021.5%204%2021%203c-1-.5-3%200-4.5%201.5L13%208%204.8%206.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1%201%20.3%201.3L9%2012l-2%203H4l-1%201%203%202%202%203%201-1v-3l3-2%203.5%205.3c.3.4.8.5%201.3.3l.5-.2c.4-.3.6-.7.5-1.2z%22%2F%3E%3C%2Fsvg%3E"); }
body.single-resa #page-container .tzr-fakta-lista > .tzr-fakta-etikett--resetyp::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%207h12a2%202%200%200%201%202%202v10a2%202%200%200%201-2%202H6a2%202%200%200%201-2-2V9a2%202%200%200%201%202-2zM9%207V5a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202v2M4%2013h16%22%2F%3E%3C%2Fsvg%3E"); mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%207h12a2%202%200%200%201%202%202v10a2%202%200%200%201-2%202H6a2%202%200%200%201-2-2V9a2%202%200%200%201%202-2zM9%207V5a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202v2M4%2013h16%22%2F%3E%3C%2Fsvg%3E"); }
body.single-resa #page-container .tzr-fakta-lista > .tzr-fakta-etikett--destinationer::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2010c0%206-8%2012-8%2012s-8-6-8-12a8%208%200%200%201%2016%200zM12%2013a3%203%200%201%200%200-6%203%203%200%200%200%200%206z%22%2F%3E%3C%2Fsvg%3E"); mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2010c0%206-8%2012-8%2012s-8-6-8-12a8%208%200%200%201%2016%200zM12%2013a3%203%200%201%200%200-6%203%203%200%200%200%200%206z%22%2F%3E%3C%2Fsvg%3E"); }
body.single-resa #page-container .tzr-fakta-lista > .tzr-fakta-etikett--avresor::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2M9%2011a4%204%200%201%200%200-8%204%204%200%200%200%200%208zM22%2021v-2a4%204%200%200%200-3-3.87M16%203.13a4%204%200%200%201%200%207.75%22%2F%3E%3C%2Fsvg%3E"); mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2M9%2011a4%204%200%201%200%200-8%204%204%200%200%200%200%208zM22%2021v-2a4%204%200%200%200-3-3.87M16%203.13a4%204%200%200%201%200%207.75%22%2F%3E%3C%2Fsvg%3E"); }
/* Detaljblock */
body.single-resa #page-container .tzr-fakta-lista > .tzr-fakta-detaljer { margin-top:26px; }
body.single-resa #page-container .tzr-fakta-detaljer .et_pb_text_inner { padding-left:56px; }
body.single-resa #page-container .tzr-fakta-detaljer p.tzr-fakta-rubrik { position:relative; margin:28px 0 5px !important; }
body.single-resa #page-container .tzr-fakta-detaljer p.tzr-fakta-rubrik:first-child { margin-top:0 !important; }
body.single-resa #page-container .tzr-fakta-detaljer .tzr-fakta-rubrik strong { margin-top:0 !important; line-height:1.35; }
body.single-resa #page-container .tzr-fakta-detaljer p { margin:0 0 8px; }
body.single-resa #page-container .tzr-fakta-detaljer ul { margin:0 0 8px; }
body.single-resa #page-container .tzr-fakta-detaljer p.tzr-fakta-rubrik::before { content:''; position:absolute; left:-56px; top:50%; width:40px; height:40px; margin-top:-20px; border-radius:50%; background:#eef2e7; }
body.single-resa #page-container .tzr-fakta-detaljer p.tzr-fakta-rubrik::after { content:''; position:absolute; left:-45px; top:50%; width:18px; height:18px; margin-top:-9px; background:var(--tzr-green); -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-position:center; mask-position:center; -webkit-mask-size:contain; mask-size:contain; }
body.single-resa #page-container .tzr-fakta-detaljer p.tzr-fakta-rubrik::after { -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2022a10%2010%200%201%200%200-20%2010%2010%200%200%200%200%2020zM12%2016v-4M12%208h.01%22%2F%3E%3C%2Fsvg%3E"); mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2022a10%2010%200%201%200%200-20%2010%2010%200%200%200%200%2020zM12%2016v-4M12%208h.01%22%2F%3E%3C%2Fsvg%3E"); }
body.single-resa #page-container .tzr-fakta-detaljer p.tzr-fakta-rubrik--flyg::after { -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M17.8%2019.2%2016%2011l3.5-3.5C21%206%2021.5%204%2021%203c-1-.5-3%200-4.5%201.5L13%208%204.8%206.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1%201%20.3%201.3L9%2012l-2%203H4l-1%201%203%202%202%203%201-1v-3l3-2%203.5%205.3c.3.4.8.5%201.3.3l.5-.2c.4-.3.6-.7.5-1.2z%22%2F%3E%3C%2Fsvg%3E"); mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M17.8%2019.2%2016%2011l3.5-3.5C21%206%2021.5%204%2021%203c-1-.5-3%200-4.5%201.5L13%208%204.8%206.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1%201%20.3%201.3L9%2012l-2%203H4l-1%201%203%202%202%203%201-1v-3l3-2%203.5%205.3c.3.4.8.5%201.3.3l.5-.2c.4-.3.6-.7.5-1.2z%22%2F%3E%3C%2Fsvg%3E"); }
body.single-resa #page-container .tzr-fakta-detaljer p.tzr-fakta-rubrik--hotell::after { -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2018v-6a2%202%200%200%201%202-2h14a2%202%200%200%201%202%202v6M3%2018h18M3%2014h18M7%2010V8a2%202%200%200%201%202-2h6a2%202%200%200%201%202%202v2%22%2F%3E%3C%2Fsvg%3E"); mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2018v-6a2%202%200%200%201%202-2h14a2%202%200%200%201%202%202v6M3%2018h18M3%2014h18M7%2010V8a2%202%200%200%201%202-2h6a2%202%200%200%201%202%202v2%22%2F%3E%3C%2Fsvg%3E"); }
body.single-resa #page-container .tzr-fakta-detaljer p.tzr-fakta-rubrik--bagage::after { -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%207h12a2%202%200%200%201%202%202v10a2%202%200%200%201-2%202H6a2%202%200%200%201-2-2V9a2%202%200%200%201%202-2zM9%207V5a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202v2M4%2013h16%22%2F%3E%3C%2Fsvg%3E"); mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%207h12a2%202%200%200%201%202%202v10a2%202%200%200%201-2%202H6a2%202%200%200%201-2-2V9a2%202%200%200%201%202-2zM9%207V5a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202v2M4%2013h16%22%2F%3E%3C%2Fsvg%3E"); }
body.single-resa #page-container .tzr-fakta-detaljer p.tzr-fakta-rubrik--transport::after { -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%204h14a1%201%200%200%201%201%201v12a1%201%200%200%201-1%201H5a1%201%200%200%201-1-1V5a1%201%200%200%201%201-1zM4%2011h16M7%2018v2M17%2018v2M8%2014.5h.01M16%2014.5h.01%22%2F%3E%3C%2Fsvg%3E"); mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%204h14a1%201%200%200%201%201%201v12a1%201%200%200%201-1%201H5a1%201%200%200%201-1-1V5a1%201%200%200%201%201-1zM4%2011h16M7%2018v2M17%2018v2M8%2014.5h.01M16%2014.5h.01%22%2F%3E%3C%2Fsvg%3E"); }
body.single-resa #page-container .tzr-fakta-detaljer p.tzr-fakta-rubrik--kostnad::after { -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%2014c3.3%200%206-1.3%206-3s-2.7-3-6-3-6%201.3-6%203%202.7%203%206%203zM3%2011v4c0%201.7%202.7%203%206%203s6-1.3%206-3v-4M15%209.5c2.9.3%206-.9%206-2.5%200-1.7-2.7-3-6-3-2.2%200-4.1.6-5.2%201.5M21%207v4c0%201.4-1.9%202.6-4.5%202.9%22%2F%3E%3C%2Fsvg%3E"); mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%2014c3.3%200%206-1.3%206-3s-2.7-3-6-3-6%201.3-6%203%202.7%203%206%203zM3%2011v4c0%201.7%202.7%203%206%203s6-1.3%206-3v-4M15%209.5c2.9.3%206-.9%206-2.5%200-1.7-2.7-3-6-3-2.2%200-4.1.6-5.2%201.5M21%207v4c0%201.4-1.9%202.6-4.5%202.9%22%2F%3E%3C%2Fsvg%3E"); }
body.single-resa #page-container .tzr-fakta-detaljer p.tzr-fakta-rubrik--egen::after { -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2022a10%2010%200%201%200%200-20%2010%2010%200%200%200%200%2020zM16.2%207.8l-2.1%206.3-6.3%202.1%202.1-6.3z%22%2F%3E%3C%2Fsvg%3E"); mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2022a10%2010%200%201%200%200-20%2010%2010%200%200%200%200%2020zM16.2%207.8l-2.1%206.3-6.3%202.1%202.1-6.3z%22%2F%3E%3C%2Fsvg%3E"); }
body.single-resa #page-container .tzr-fakta-detaljer p.tzr-fakta-rubrik--tillval::after { -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%207a1%201%200%200%201%201-1h16a1%201%200%200%201%201%201v3a2%202%200%200%200%200%204v3a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1v-3a2%202%200%200%200%200-4zM14%206v2M14%2011v2M14%2016v2%22%2F%3E%3C%2Fsvg%3E"); mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%207a1%201%200%200%201%201-1h16a1%201%200%200%201%201%201v3a2%202%200%200%200%200%204v3a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1v-3a2%202%200%200%200%200-4zM14%206v2M14%2011v2M14%2016v2%22%2F%3E%3C%2Fsvg%3E"); }
/* Omdomen: blocket centreras vertikalt i panelen, kortet far egen yta */
body.single-resa #page-container .tzr-omdome-col > .tzr-omdome-wrap { margin-top:auto; margin-bottom:auto; }
body.single-resa #page-container .tzr-omdome-wrap .tz-omdome { background:#fff !important; border:1px solid var(--tzr-border) !important; border-radius:12px !important; padding:34px 30px !important; }
body.single-resa #page-container .tzr-omdome-wrap .tz-omdome blockquote, body.single-resa #page-container .tzr-omdome-wrap .tz-omdome__citat { font-size:19px !important; line-height:1.6 !important; margin:14px 0 12px; }
body.single-resa #page-container .tzr-omdome-wrap .tz-omdome__namn, body.single-resa #page-container .tzr-omdome-wrap figcaption { font-size:15px; color:var(--tzr-text-muted); }
/* Pilarna centreras mot KORTET. .tz-omdomen rymmer karusellen och
   prickraden (24px + 12px marginal = 36px); halva den hojden dras av.
   Pluginets translateY(-50%) behalls. */
body.single-resa #page-container .tzr-omdome-wrap .tin-slide-dots { margin-top:12px !important; }
body.single-resa #page-container .tzr-omdome-wrap .tz-omdomen .tin-slide-prev, body.single-resa #page-container .tzr-omdome-wrap .tz-omdomen .tin-slide-next { top:calc(50% - 18px) !important; }
@media (max-width: 980px) {
  body.single-resa #page-container .tzr-row:has(> .tzr-fakta-lista):has(> .tzr-omdome-col) { flex-wrap:wrap; row-gap:24px; }
  body.single-resa #page-container .tzr-row > .tzr-fakta-lista, body.single-resa #page-container .tzr-row > .tzr-omdome-col { flex:1 1 100%; width:100%; }
  body.single-resa #page-container .tzr-omdome-col > .tzr-omdome-wrap { margin-top:0; margin-bottom:0; }
}
@media (max-width: 600px) {
  body.single-resa #page-container .tzr-row > .tzr-fakta-lista { padding:22px 18px; }
  body.single-resa #page-container .tzr-fakta-detaljer .et_pb_text_inner { padding-left:46px; }
  body.single-resa #page-container .tzr-fakta-detaljer p.tzr-fakta-rubrik::before { left:-46px; width:34px; height:34px; margin-top:-17px; }
  body.single-resa #page-container .tzr-fakta-detaljer p.tzr-fakta-rubrik::after { left:-38px; width:17px; height:17px; margin-top:-8.5px; }
  body.single-resa #page-container .tzr-omdome-wrap .tz-omdome { padding:26px 20px !important; }
  body.single-resa #page-container .tzr-omdome-wrap .tz-omdome blockquote, body.single-resa #page-container .tzr-omdome-wrap .tz-omdome__citat { font-size:17px !important; }
}
/* Bredare kort: mindre sidomarginal for pilarna (40px) och kolumnen.
   Prickraden halls pa EN rad (prickarna krymper vid manga omdomen), sa att
   .tz-omdomen alltid ar kortet + 36px och calc(50% - 18px) ar exakt
   kortets mitt oavsett antal omdomen. */
@media (min-width: 981px) {
  body.single-resa #page-container .tzr-row > .tzr-omdome-col { padding-left:22px !important; padding-right:22px !important; }
}
body.single-resa #page-container .tzr-omdome-wrap .tz-omdomen { padding-left:48px !important; padding-right:48px !important; }
body.single-resa #page-container .tzr-omdome-wrap .tz-omdomen .tin-slide-prev, body.single-resa #page-container .tzr-omdome-wrap .tz-omdomen .tin-slide-next { width:40px !important; height:40px !important; min-width:40px !important; min-height:40px !important; }
body.single-resa #page-container .tzr-omdome-wrap .tz-omdomen .tin-slide-next-prev svg { width:30px !important; height:30px !important; }
body.single-resa #page-container .tzr-omdome-wrap .tin-slide-dots { flex-wrap:nowrap !important; column-gap:5px !important; }
body.single-resa #page-container .tzr-omdome-wrap .tin-slide-dots > li { flex:0 1 24px; min-width:8px; }
@media (max-width: 600px) {
  /* Pa mobil doljer style.css pilarna (svep), sa kortet far hela bredden. */
  body.single-resa #page-container .tzr-omdome-wrap .tz-omdomen { padding-left:0 !important; padding-right:0 !important; }
}
/* Korthojd. TinSlide lagger slides i position:absolute, sa karusellen har
   en fast hojd (--tz-omdome-height i style.css, 190px). Med resesidans
   storre citat och luftigare kort racker 190px inte, och texten klipptes.
   Hojden satts darfor om lokalt for resesidans omdomesblock. */
body.single-resa #page-container .tzr-omdome-wrap { --tz-omdome-height:300px; }
body.single-resa #page-container .tzr-omdome-wrap .tz-omdome blockquote, body.single-resa #page-container .tzr-omdome-wrap .tz-omdome__citat { font-size:18px !important; }
@media (max-width: 980px) { body.single-resa #page-container .tzr-omdome-wrap { --tz-omdome-height:250px; } }
@media (max-width: 600px) { body.single-resa #page-container .tzr-omdome-wrap { --tz-omdome-height:300px; } }
/* Pass 46, 2026-09-25: --tz-omdome-height ar MINIMIHOJD, inte tak.
   Den aktiva sliden ligger i flodet (TinSlide: position:relative), de
   dolda ar absoluta med display:none. Med height:auto vaxer karusellen
   med det aktiva kortet, och pilarna (calc(50% - 18px) av .tz-omdomen)
   foljer kortets mitt. Galler bara resesidans omdomesblock. */
body.single-resa #page-container .tzr-omdome-wrap .zmart-carousel[data-theme="reviews"], body.single-resa #page-container .tzr-omdome-wrap .zmart-carousel[data-theme="reviews"] > div { height:auto !important; min-height:var(--tz-omdome-height); }
body.single-resa #page-container .tzr-omdome-wrap .tz-omdome { height:auto !important; min-height:var(--tz-omdome-height); }
/* Pass 47, 2026-09-25: kolonnbalans (agarbeslut variant C med tva
   begransningar). Pa desktop stracks omdomespanelen inte langre till
   faktapanelens hojd utan blir sa hog som sitt innehall. Pa tillrackligt
   hoga desktopskarmar foljer den med vid scroll (sticky) inom sin egen rad;
   raden ar sticky-behallaren, sa panelen stannar dar Praktisk information
   tar slut. top 133px = fasta headern 109px + 24px luft. Under 820px
   viewporthojd ingen sticky, sa att langa omdomen inte hamnar utanfor
   skarmen. Under 981px ingen andring: panelerna staplas som tidigare. */
@media (min-width: 981px) {
  body.single-resa #page-container .tzr-row > .tzr-omdome-col { align-self:flex-start; }
}
@media (min-width: 981px) and (min-height: 820px) {
  body.single-resa #page-container .tzr-row > .tzr-omdome-col { position:sticky; top:133px; }
}
/* ===== /DESIGNPASS 2026-09-24 PRAKTISK INFORMATION ================== */

/* =========================================================================
   PASS 114 — RESEMALLENS TVÅ PUTSNINGAR (2026-09-30)
   ========================================================================= */

/* -- B1: "Exempel på dagsprogram" — ingressen på två rader ---------------

   Uppmätt på ABBA Voyage, 1920 px: stycket renderas i 18,6 px Roboto
   (temats globala p-regel med 1.2em !important vinner över
   `.tzr-dag-forklaring { font-size: 15.5px }`, som sitter på DIV:en).
   Mening 1 är då 498 px bred och mening 2 869 px. Kolumnen är 1320 px.

   Texten var ETT stycke, och text bryts girigt — ingen maxbredd kan därför
   lägga radbrytningen vid meningsgränsen. Med 62ch (540 px) blev det tre
   rader med brytning mitt i båda meningarna.

   Därför är texten sedan pass 114 TVÅ STYCKEN i Theme Builder-layouten
   393143 — ett blankt radslut som wpautop gör två p-element av. Ingen
   manuell radbrytningstagg, inget hårt mellanslag. Varje mening bryter nu
   för sig, och maxbredden behöver bara rymma den längsta: 900 px, samma
   mått som hero-systemet redan använder som rimlig radlängd, med 31 px
   marginal till mening 2.

   Under 860 px gäller den befintliga regeln `max-width: none` högre upp i
   filen — då bryter texten naturligt efter spaltens bredd.             */
body.single-resa .tzr-dag-forklaring {
  max-width: 900px;
}

/* De två styckena ska läsa som EN ingress på två rader, inte som två
   fristående stycken. Temats p-regel ger 18,6 px (1em) bottenpadding;
   här räcker en hårsmån mellan raderna. */
body.single-resa #page-container .tzr-dag-forklaring p {
  padding-bottom: 0;
}

body.single-resa #page-container .tzr-dag-forklaring p + p {
  margin-top: 2px;
}

/* -- B2: zebrarandning i avgångslistan -----------------------------------

   Avgångarna flöt ihop. Varannan rad får nu en mycket diskret ljusgrön yta
   ur sajtens egen palett: `--tz-green-soft` (#edf0e6), samma ton som
   filterknapparnas öppna läge och karusellpilarnas hover. Bakgrunden sätts
   på hela raden, så datum, detaljer, pris och knapp delar samma yta.

   STATUS HAR FÖRETRÄDE. Tre modifierare kan sitta på en rad:
     .tz-avgang--nasta   nästa avgång, beige (--tzr-beige-2), bleder bredare
     .tz-avgang--vald    användarens val, grön kontur (style.css)
     .tz-avgang--dold    ännu inte avslöjad av "Visa fler avgångar"
   De två första undantas explicit, så att randningen aldrig kan lägga sig
   över en statusmarkering. Utan `:not()` hade zebraregeln dessutom vunnit
   på specificitet: fyra klasser mot tre.

   `:nth-child()` är säkert trots `--dold`: den klassen döljer alltid en
   sammanhängande SVANS av listan — "Visa fler avgångar" avslöjar tre i
   taget — aldrig rader mitt i. De synliga raderna är därför alltid barn
   1..N och randningen förblir korrekt också halvvägs genom listan.

   På mobil är raden ett staplat block; bakgrunden håller ihop det precis
   som på desktop, utan egen mobilregel.                                 */
body.single-resa .tzr-avg-wrap .tz-avgang:not(.tz-avgang--nasta):not(.tz-avgang--vald):nth-child(even) {
  background: var(--tz-green-soft, #edf0e6);
}
/* ===== /PASS 114 ==================================================== */
