:root{
  --imb-bg:#ffffff;
  --imb-card:#fff;
  --imb-border:#e5e7eb;
  --imb-muted:#6b7280;
  --imb-accent:#0059B2;
  --imb-accent-2:#18a36e;
  --imb-soft:#f6f9fc;
  --imb-ink:#0f172a;
}

/* ===== Container ===== */
.imb{
  max-width:980px;margin:0 auto;padding:24px;
  background:#fff;border:1px solid var(--imb-border);border-radius:22px;
  box-shadow:0 12px 34px rgba(15,23,42,.06);
  transition:border-color .2s,box-shadow .2s;
}
.imb:hover{
  border-color:rgba(0,89,178,.25);
  box-shadow:0 0 0 2px rgba(0,89,178,.06),0 18px 60px rgba(0,89,178,.12);
}
.imb-head{padding:6px 10px 0}
.imb-body{margin-top:10px}

/* ===== Progress (rail + dots) ===== */
.imb-progress{background:transparent;border:0;padding:0}
.imb-steps{margin:0;padding:0;list-style:none}
.imb-steps.imb-steps--rail{
  position:relative;display:flex;justify-content:space-between;gap:0;
  --rail-pad:18px;--dot:14px;
}
.imb-steps.imb-steps--rail::before{
  content:"";position:absolute;left:var(--rail-pad);right:var(--rail-pad);
  top:42px;height:2px;border-radius:2px;background:#dfe7f3;
}
.imb-steps.imb-steps--rail::after{
  content:"";position:absolute;left:var(--rail-pad);
  top:42px;height:2px;border-radius:2px;background:var(--imb-accent);
  width:var(--filled-px,0px);
}
.imb-steps.imb-steps--rail .imb-step{
  position:relative;flex:1 1 auto;text-align:center;padding:8px 0 10px;
}
.imb-steps.imb-steps--rail .imb-step .imb-step-text{
  display:block;font-size:13px;font-weight:700;color:#7a8699;margin-bottom:12px;
}
.imb-steps.imb-steps--rail .imb-step::after{
  content:"";position:absolute;left:50%;transform:translateX(-50%);
  top:calc(42px - (var(--dot)/2));width:var(--dot);height:var(--dot);
  border-radius:999px;background:#fff;border:3px solid #cfe0f7;
}
.imb-steps.imb-steps--rail .imb-step.is-active .imb-step-text{color:var(--imb-accent)}
.imb-steps.imb-steps--rail .imb-step.is-active::after{background:var(--imb-accent);border-color:var(--imb-accent)}

/* ===== Cards (flat) ===== */
.imb .imb-card{
  background:transparent!important;border:0!important;box-shadow:none!important;
  padding:32px 8px 20px!important;
}

/* ===== Hero ===== */
.imb-hero-content{max-width:760px;margin:0 auto;text-align:left;padding-top:4px}
.imb-badge{
  display:inline-block;background:rgba(0,89,178,.08);color:#0059B2;
  border:1px solid rgba(0,89,178,.14);padding:6px 10px;border-radius:999px;
  font-weight:700;font-size:12px;letter-spacing:.02em;margin-bottom:8px;
}
.imb-hero-title{font-size:36px;line-height:1.15;font-weight:800;margin:4px 0 10px;color:var(--imb-ink)}
.imb-hero-sub{color:var(--imb-muted);margin:0 0 12px;max-width:640px}
.imb-points{margin:2px 0 0 0;padding:0;list-style:none}
.imb-points--wifi li{display:flex;align-items:center;gap:10px;margin:4px 0;font-size:16.5px;font-weight:600;color:var(--imb-ink)}
.imb-wifi{width:18px;height:18px;object-fit:contain;transform:translateY(1px);flex-shrink:0}

/* ===== Buttons ===== */
.imb-btn{border:1px solid var(--imb-border);background:#fff;border-radius:14px;padding:11px 16px;cursor:pointer;transition:.2s;box-shadow:0 1px 0 rgba(0,0,0,.03)}
.imb-btn--primary{background:var(--imb-accent);color:#fff;border-color:var(--imb-accent);opacity:.96;display:inline-flex;align-items:center;justify-content:center}
.imb-btn--primary:hover{opacity:1}
.imb-btn--secondary{background:#6b7280;color:#fff;border-color:#6b7280}
.imb-btn--ghost{background:transparent;color:var(--imb-accent);border-color:transparent;text-decoration:underline}
.imb-btn--xl{min-width:320px;font-size:18px;padding:16px 32px;border-radius:26px}
.imb-cta--center{display:flex;justify-content:center;margin-top:24px}
.imb-btn[disabled]{opacity:.55;pointer-events:none;filter:saturate(.9)}

/* ===== Step 2 – mini tiles ===== */
.imb-helper{margin:4px 0 10px;font-size:13px;color:#6b7280}
.imb-info-inline{
  display:inline-grid;place-items:center;width:18px;height:18px;margin-left:8px;
  border:1px solid #cfe0f7;border-radius:999px;background:#fff;color:#0059B2;
  font-weight:800;font-size:12px;position:relative;cursor:default;
}
.imb-info-inline:hover::after{
  content:attr(data-tip);position:absolute;left:50%;transform:translate(-50%,8px);
  top:22px;z-index:3;width:280px;max-width:70vw;background:#111827;color:#fff;
  padding:10px 12px;border-radius:10px;box-shadow:0 14px 40px rgba(0,0,0,.2);
  line-height:1.35;font-size:13px;text-align:left;
}
.imb-info-inline:hover::before{
  content:"";position:absolute;left:50%;transform:translateX(-50%);top:20px;
  width:10px;height:10px;background:#111827;rotate:45deg;border-radius:2px;
}
.imb-grid--tiles--mini{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:6px 0 16px}
@media (max-width:900px){.imb-grid--tiles--mini{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.imb-grid--tiles--mini{grid-template-columns:1fr}}
.imb-tile--mini{
  position:relative;border:1px solid #e6edf7;border-radius:10px;background:#fff;
  padding:8px 10px;min-height:72px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:6px;transition:.2s;box-shadow:0 2px 8px rgba(2,6,23,.04);
}
/* Skjul input korrekt, så label stadig toggler i Edge/iOS */
.imb-tile-input{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  border:0;
  padding:0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow:hidden;
  white-space:nowrap;
}
.imb-tile--mini{ cursor:pointer; } /* pæn cursor */
.imb-tile-emoji{font-size:18px;line-height:1}
.imb-tile-label{font-size:13.5px;font-weight:600;line-height:1.15;text-align:center;margin-top:2px}
.imb-check{
  position:absolute;top:8px;right:8px;width:18px;height:18px;border-radius:999px;
  border:2px solid #dbe7fb;background:#fff;display:grid;place-items:center;font-size:11px;color:transparent;
}
.imb-tile--mini:hover{border-color:#cfe3fb;box-shadow:0 8px 18px rgba(0,89,178,.10)}
.imb-tile-input:checked~.imb-check{color:#1a8e65;border-color:#33c48b;background:#e9fbf3}
.imb-tile-input:checked~.imb-tile-label{color:#0b5aa2}
.imb-tile-input:checked~.imb-tile-emoji{transform:translateY(-1px)}

/* Step 2 – back left, primary centered */
.imb-actions--center{display:flex;align-items:center;justify-content:center;margin-top:24px;position:relative}
.imb-actions--center .imb-link{
  position:absolute;left:0;background:transparent;border:0;padding:6px 2px;cursor:pointer;
  color:#6b7280;text-decoration:underline;font-weight:500;
}
.imb-actions--center .imb-link:hover{color:#334155}
.imb-actions--center .imb-btn--primary{margin:0 auto}

/* ===== Step 3 – adresse ===== */
.imb-address-shortcode{margin:14px 0 10px}
.imb-address-row{display:flex;align-items:center;gap:14px;margin:12px 0 6px;justify-content:space-between}
.imb-skip-inline--side{white-space:nowrap;font-size:14px;color:#6b7280;text-decoration:underline}
.imb-skip-inline--side:hover{color:#334155}
@media (max-width:980px){.imb-address-row .imb-address-shortcode{min-width:420px}}
@media (max-width:800px){
  .imb-address-row{flex-direction:column;align-items:flex-start}
  .imb-address-row .imb-address-shortcode{min-width:100%;order:0}
  .imb-address-row .imb-skip-inline--side{order:1}
}
/* skjul “Tjek tilgængelighed” fra shortcoden */
.imb #check-availability-btn,
.imb .check-availability-btn{display:none!important}

/* ===== Modals (inkl. blå close) ===== */
.imb-modal{position:fixed;inset:0;background:rgba(2,6,23,.5);display:grid;place-items:center}
.imb-modal[hidden]{display:none}
.imb-modal-dialog{
  position:relative;background:#fff;border-radius:16px;padding:18px 16px;max-width:520px;width:92%;
  box-shadow:0 20px 60px rgba(2,6,23,.25);
}
.imb-modal [data-close]{
  position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;border-radius:50%;
  background:#0066cc;color:#fff;font-size:18px;line-height:32px;text-align:center;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:background .2s,transform .15s;
}
.imb-modal [data-close]:hover{background:#005bb5;transform:scale(1.05)}

/* ===== Step 4A – anbefaling ===== */
.imb-recoCard{border:1px solid #e6edf7;background:#fff;border-radius:14px;box-shadow:0 4px 16px rgba(2,6,23,.04)}
.imb-recoCard--compact{display:grid;grid-template-columns:110px 1fr 220px;gap:14px;padding:16px;align-items:center}
.imb-recoCard__logo{display:flex;align-items:center;justify-content:center}
.imb-recoCard__main{display:grid;gap:8px}
.imb-recoCard__side{display:grid;gap:10px;justify-items:end;align-content:start}
.imb-reco-logo--xl,
.imb-reco-logo{width:96px;height:96px;border-radius:12px;object-fit:contain;border:1px solid #e6edf7;background:#fff}
.imb-reco-tech{font-weight:800;color:#0b5aa2}
.imb-reco-speed{font-weight:700}
.imb-reco-price{display:block;color:#27ae88;font-weight:700;margin-top:2px}
.imb-reco-points{margin:2px 0 0;padding-left:18px;color:#475569}
.imb-reco-points li{margin:2px 0;font-size:14px}
.imb-muted{color:#6b7280}

/* 4A: 'Hvorfor' – klik, i-ikon efter tekst, uden hover-tooltip */
.imb-recoCard__main .imb-why{
  display:inline-flex;align-items:center;gap:2px;margin-top:6px;padding:0;
  background:transparent!important;border:0!important;box-shadow:none!important;color:#334155;
  align-self:start;justify-self:start;cursor:pointer;
}
.imb-recoCard__main .imb-why::before{content:none!important}
.imb-recoCard__main .imb-why::after{
  content:"i";display:inline-grid;place-items:center;width:18px;height:18px;margin-left:8px;
  border-radius:999px;border:1px solid #cfe0f7;color:#0059B2;font-weight:800;font-size:12px;
}
.imb-recoCard__main .imb-why:hover::after{box-shadow:none}

/* 4A: 'Se alternativer' – gråt link til højre */
.imb-recoCard__side .imb-alt-link{
  background:transparent;border:0;padding:0;color:#6b7280;font-weight:400;text-decoration:none;cursor:pointer;
}
.imb-recoCard__side .imb-alt-link:hover{color:#334155;text-decoration:underline}

/* CTA margin i step 4 */
.imb-panel[data-phase="4"] .imb-actions--center{margin-top:18px}

/* ===== Step 4B – alternativer ===== */
.imb-alt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:10px 0 8px}
.imb-altCard{border:1px solid #e6edf7;border-radius:12px;background:#fff;padding:14px;text-align:left;box-shadow:0 3px 12px rgba(2,6,23,.04)}
.imb-altCard h3{font-size:16px;margin:0 0 6px}
.imb-altCard__body{color:#475569}
.imb-altRow{display:flex;align-items:center;gap:12px}
.imb-altLogo{width:52px;height:52px;object-fit:contain;border:1px solid #e6edf7;border-radius:10px;background:#fff;flex:0 0 auto}
.imb-altMeta{display:grid;gap:2px}
.imb-altProvider{font-weight:700;color:#0f172a}
.imb-altSpeed{font-weight:600}
.imb-altPrice{color:#27ae88;font-weight:700}

/* Force 3 kolonner på desktop i 4B (og 1 på mobil) */
.imb-panel[data-phase="4"][data-subslide="2"] .imb-alt-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){
  .imb-alt-grid,
  .imb-panel[data-phase="4"][data-subslide="2"] .imb-alt-grid{grid-template-columns:1fr}
}

/* ===== Responsive tweaks (generelle) ===== */
@media (max-width:900px){
  .imb{padding:16px}
  .imb-hero-title{font-size:28px}
  .imb-hero-sub{font-size:16px}
}
@media (max-width:860px){
  .imb-recoCard--compact{grid-template-columns:96px 1fr}
  .imb-recoCard__side{grid-column:1/-1;justify-items:start}
}

/* === Step 3: 'spring over' venstre, adresse højre + bredere felt === */
.imb-address-row .imb-skip-inline--side{order:0}
.imb-address-row .imb-address-shortcode{order:1;flex:1 1 auto;min-width:520px}
@media (max-width:800px){
  .imb-address-row{flex-direction:column;align-items:flex-start}
  .imb-address-row .imb-address-shortcode{min-width:100%;order:0}
  .imb-address-row .imb-skip-inline--side{order:1}
}
/* ========== Mobile finjusteringer (max 768px) ========== */
@media (max-width: 768px){

  /* Fase 1: flow/oversigt – mindre tekst under prikker */
  .imb-steps .imb-step__label,
  .imb-steps .imb-step-title{
    font-size: 12px;
    line-height: 1.2;
  }

  /* ---------- Fase 2: fliser + knapper ---------- */
  /* Kompakt grid til valgene (gaming/streaming/...) */
  .imb-panel[data-phase="2"] .imb-tiles{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  /* Mindre, strammere fliser */
  .imb-panel[data-phase="2"] .imb-tile--mini{
    padding: 12px;
    border-radius: 12px;
  }
  .imb-panel[data-phase="2"] .imb-tile--mini .imb-tile-title{
    font-size: 14px;
    font-weight: 700;
  }
  .imb-panel[data-phase="2"] .imb-tile--mini .imb-ico{
    width: 28px; height: 28px;
  }

  /* “Videre” skal ikke fylde hele bredden */
  .imb-panel[data-phase="2"] .imb-nav{
    display: flex; justify-content: center; gap: 10px;
  }
  .imb-panel[data-phase="2"] [data-next],
  .imb-panel[data-phase="2"] [data-prev],
  .imb-panel[data-phase="2"] [data-skip]{
    width: auto;       /* ikke 100% */
    min-width: 160px;  /* pæn klikflade */
    padding: 10px 14px;
    border-radius: 12px;
  }

  /* ---------- Fase 3: adressefelt + knapper ---------- */
  /* Gør selve input-området større inde i det hvide felt */
  .imb .address-input-wrapper{
    padding: 10px 12px;
  }
  /* Mindre ikon + mindre venstre-padding i input */
  .imb .address-input-icon{
    left: 10px; width: 18px; height: 18px;
  }
  .imb #address-search{
    padding: 10px 12px 10px 36px; /* lidt mindre – mere plads til tekst */
    min-height: 46px;
    font-size: 16px;
  }

  /* “Videre” som i fase 2 */
  .imb-panel[data-phase="3"] .imb-nav{
    display:flex; justify-content:center; gap:10px;
  }
  .imb-panel[data-phase="3"] [data-next],
  .imb-panel[data-phase="3"] [data-prev],
  .imb-panel[data-phase="3"] [data-skip]{
    width:auto; min-width:160px; padding:10px 14px; border-radius:12px;
  }

  /* ---------- Fase 4 + 4a: en smule mere kompakt ---------- */
  .imb-panel[data-phase="4"],
  .imb-panel[data-phase="4"][data-subslide="1"]{
    padding-left: 12px; padding-right: 12px;
  }

  /* Hovedkort + alternative kort: lidt strammere spacing/typografi */
  .imb .imb-reco-card,
  .imb .imb-altCard{
    padding: 12px;
    border-radius: 14px;
  }
  .imb .imb-reco-card h3,
  .imb .imb-altCard h3{
    font-size: 16px;
    margin-bottom: 8px;
  }
  .imb .imb-reco-tech,
  .imb .imb-altProvider{ font-size: 14px; }
  .imb .imb-reco-speed,
  .imb .imb-altSpeed{ font-size: 14px; }
  .imb .imb-reco-price,
  .imb .imb-altPrice{ font-size: 14px; }

  /* CTA-knapper i 4/4a lidt mindre brede */
  .imb-panel[data-phase="4"] [data-out="recoCta"],
  .imb-panel[data-phase="4"] .imb-cta-button{
    padding: 10px 14px;
    min-width: 160px;
    border-radius: 12px;
  }

  /* Logoer en anelse mindre så helheden komprimeres */
  .imb .imb-reco-logo,
  .imb .imb-altLogo{
    width: 44px; height: 44px;
    border-radius: 10px;
  }
}

/* Ekstra kompakt på micro-skærme */
@media (max-width: 380px){
  .imb-steps .imb-step__label,
  .imb-steps .imb-step-title{ font-size: 11px; }
  .imb-panel[data-phase="2"] .imb-tiles{ gap: 8px; }
  .imb-panel[data-phase="2"] [data-next],
  .imb-panel[data-phase="3"] [data-next]{ min-width: 148px; }
}
/* Mobil: flyt hele progress-rail + prikker lidt ned og giv luft over */
@media (max-width: 768px){
  /* Selve rail-linjen (de to pseudo-elementer) */
  .imb-steps.imb-steps--rail::before,
  .imb-steps.imb-steps--rail::after{
    top: 52px; /* var ~42px – flyt 10px ned */
  }

   /* Label-teksten over prikkerne: lidt ekstra luft, så den ikke rammer linjen */
  .imb-steps.imb-steps--rail .imb-step .imb-step-text{
    margin-bottom: 18px;
  }
}
@media (max-width: 768px){
  /* Flyt rail-linjen ned */
  .imb-steps.imb-steps--rail::before,
  .imb-steps.imb-steps--rail::after{
    top: 52px; /* samme reference-højde for linjen */
  }

  /* Flyt prikker (pseudo-elementet) ned til samme reference-højde */
  .imb-steps.imb-steps--rail .imb-step::after{
    top: calc(52px - (var(--dot)/2)) !important;
  }

  /* (valgfrit) gør prikkerne en anelse mindre på mobil */
  .imb-steps.imb-steps--rail{ --dot: 12px; }
  
  /* Lidt ekstra luft mellem label og linje */
  .imb-steps.imb-steps--rail .imb-step .imb-step-text{ margin-bottom: 18px; }
}
@media (max-width: 768px){
  /* Mindre tekst i flow/oversigt */
  .imb-steps.imb-steps--rail .imb-step .imb-step-text{
    font-size: 11px;   /* var 13px / 12px */
    line-height: 1.1;
    margin-bottom: 14px; /* var 18px – tættere på rail */
  }

  /* Mindre afstand mellem overskriften og rail-container */
  .imb-head{
    padding-bottom: 0;   /* fjern ekstra luft hvis der er */
    margin-bottom: 4px;  /* stram op så rail kommer tættere på */
  }

  /* Selve railen lidt tættere på hero/tekst */
  .imb-steps.imb-steps--rail{
    margin-top: 4px; /* reduceret */
  }
}
@media (max-width: 768px){
  /* Skjul original "Velkommen"-tekst i step 1 */
  .imb-steps.imb-steps--rail .imb-step[data-phase="1"] .imb-step-text{
    font-size: 0; /* skjul tekst visuelt, men behold elementet */
  }

  /* Indsæt "Begynd" i stedet */
  .imb-steps.imb-steps--rail .imb-step[data-phase="1"] .imb-step-text::after{
    content: "Begynd";
    font-size: 11px;       /* samme som de andre labels */
    line-height: 1.1;
    display: inline-block;
  }
}
/* Mobil: fase 2 fliser i to kolonner */
@media (max-width: 768px){
  .imb-grid--tiles--mini{
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px;
  }
}
/* Mobil: Tilbage-knappen til venstre, mindre størrelse */
@media (max-width: 768px){
  .imb-panel[data-phase="2"] .imb-actions--center,
  .imb-panel[data-phase="3"] .imb-actions--center{
    justify-content: center;
    position: relative;
  }

  /* Tilbage-knap ud til venstre */
  .imb-panel[data-phase="2"] [data-prev],
  .imb-panel[data-phase="3"] [data-prev]{
    position: absolute;
    left: 0;
    min-width: 50px;   /* mindre bredde */
    padding: 8px 12px;
    font-size: 14px;
  }

  /* Videre-knap i midten */
  .imb-panel[data-phase="2"] [data-next],
  .imb-panel[data-phase="3"] [data-next]{
    min-width: 140px;
    padding: 10px 16px;
    border-radius: 12px;
    font-size: 15px;
  }
}
/* ===== Fase 3 – mobil: stram layout, fix "Spring over", større input ===== */
@media (max-width: 768px){

  /* Rækken: kolonne, ingen store mellemrum */
  .imb .imb-address-row{
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;           /* mindre mellemrum */
    margin: 8px 0;      /* mindre luft over/under */
  }

  /* Fjern gamle min-widths og tvangsbredder fra shortcoden */
  .imb .imb-address-row .imb-address-shortcode{
    flex: 1 1 auto;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;   /* overstyr evt. 520px */
  }

  /* Hvid boks rundt om input – lidt strammere padding */
  .imb .danish-address-lookup-container,
  .imb .address-input-wrapper{
    width: 100% !important;
    max-width: 100% !important;
  }
  .imb .address-input-wrapper{
    padding: 10px 12px;        /* mere plads til selve inputtet */
    border: 1px solid #e6edf7;
    border-radius: 12px;
    box-sizing: border-box;
  }

  /* Ikon: centrer vertikalt, tættere på venstre */
  .imb .address-input-icon{
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px; height: 18px;
  }

  /* Selve inputfeltet: fyld bredden og vær højere */
  .imb #address-search{
    width: 100% !important;
    min-height: 54px;
    padding: 12px 12px 12px 40px;  /* plads til ikon */
    font-size: 16px;
    box-sizing: border-box;
  }

  /* "Spring over": stop med at svæve, læg sig tæt på feltet */
  .imb .imb-skip-inline--side{
    position: static !important;   /* overstyr evt. absolut placering */
    align-self: flex-start;         /* venstrestillet */
    margin: 2px 0 0;               /* næsten ingen luft over/under */
    padding: 4px 0;
    line-height: 1.2;
    font-size: 14px;
  }
}
/* === Fase 3: mobil – få adressefeltet til at fylde hele boksen === */
@media (max-width: 768px){

  /* Containeren omkring input */
  .imb .imb-address-shortcode,
  .imb .danish-address-lookup-container,
  .imb .address-input-wrapper{
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Selve inputfeltet */
  .imb #address-search{
    display: block;
    width: 100% !important;    /* fyld hele wrapperen */
    max-width: 100% !important;
    min-height: 54px;
    padding: 12px 12px 12px 40px; /* plads til ikon */
    font-size: 16px;
    box-sizing: border-box;
  }
}
/* === Fase 4B: mobil knapjustering === */
@media (max-width: 768px){
  .imb-panel[data-phase="4"][data-subslide="2"] .imb-actions--center{
    justify-content: center;
    position: relative;
  }

  /* Tilbage-knap til venstre */
  .imb-panel[data-phase="4"][data-subslide="2"] [data-prev]{
    position: absolute;
    left: 0;
    min-width: 50px;
    padding: 8px 12px;
    font-size: 10px;
  }

  /* Se fulde oversigt-knap i midten */
  .imb-panel[data-phase="4"][data-subslide="2"] [data-action="show-all"]{
    min-width: 150px;
    padding: 8px 14px;
    border-radius: 12px;
    font-size: 14px;
  }
}
/* === Fase 4A (mobil) – større logo + "Hvorfor" under logo === */
@media (max-width: 768px){
  .imb-recoCard--compact{
    display: grid;
    grid-template-columns: 130px 1fr;   /* bredere kolonne til logo */
    gap: 14px;
    align-items: start;
  }

  /* Logoet lidt større (overskriver andre regler) */
  .imb-reco-logo,
  .imb-reco-logo--xl{
    width: 120px !important;
    height: 120px !important;
  }

  /* Gør logo-sektionen til en lille kolonne med logo + hvorfor */
  .imb-recoCard__logo{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  /* Flyt “Hvorfor denne anbefaling” ned under logoet */
  .imb-recoCard__logo .imb-why{
    display: inline-flex !important;
    margin-top: 6px;
    font-size: 13px;
    color: #334155;
    justify-content: center;
  }

  /* Fjern dublet i tekstkolonnen */
  .imb-recoCard__main .imb-why{
    display: none !important;
  }
}
/* === Fase 4A (mobil) – fjern sekundær tekst === */
@media (max-width: 768px){
  /* Skjul "stabil forbindelse" listepunkt */
  .imb-reco-points{ display: none !important; }

  /* Skjul "Velegnet til dine behov" */
  .imb-muted{ display: none !important; }
}
/* Mobil: gør progress-oversigten 100% jævn ved at bruge grid */
@media (max-width: 768px){
  .imb-steps.imb-steps--rail{
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 0 !important;           /* ingen ekstra mellemrum */
  }
  .imb-steps.imb-steps--rail .imb-step{
    width: auto !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Rail-linje placering (samme højde for linje og dots) */
  .imb-steps.imb-steps--rail::before,
  .imb-steps.imb-steps--rail::after{
    top: 52px;                   /* match dot-højden */
    left: var(--rail-pad);
    right: var(--rail-pad);
  }

  /* Dots: præcis centrering i hver grid‑kolonne */
  .imb-steps.imb-steps--rail .imb-step::after{
    top: calc(52px - (var(--dot)/2)) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }

  /* Lidt mindre label + ekstra luft over linjen */
  .imb-steps.imb-steps--rail .imb-step .imb-step-text{
    font-size: 12px;
    line-height: 1.2;
    margin-bottom: 18px;     /* så teksten ikke “rammer” railen */
    white-space: normal;     /* tillad wrap uden at skubbe layout */
  }
}