/* =========================================================
   ZWIERZAK 5.13.14 — HOME / PRZEBIEG WIZYTY
   Jedna spójna wersja bez sztucznego zegara i statusu „zamknięte”.
   ========================================================= */
body.zw-v510.home .visit-timeline--v51314{
  position:relative;
  align-self:stretch;
  padding:22px 18px;
  overflow:hidden;
  border:1px solid #dce8e1;
  border-radius:18px;
  background:linear-gradient(180deg,#fff 0%,#fbfefc 100%);
  box-shadow:0 12px 34px rgba(18,65,40,.035);
}

body.zw-v510.home .visit-timeline--v51314::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,#079447 0 49%,#cf2635 49% 100%);
}
body.zw-v510.home .visit-timeline--v51314 .mini-label{
  margin:0 0 14px 3px!important;
  color:#17231f;
  font-size:13px!important;
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
}
body.zw-v510.home .visit-duration{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:12px;
  margin:0 0 18px;
  padding:14px;
  border:1px solid rgba(8,127,63,.07);
  border-radius:14px;
  background:linear-gradient(135deg,#f0faf4,#f7fcf9);
}
body.zw-v510.home .visit-duration__icon{
  display:grid;
  width:48px;
  height:48px;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:var(--green);
  box-shadow:0 6px 20px rgba(8,127,63,.08);
}
body.zw-v510.home .visit-duration__icon svg{width:27px;height:27px;stroke-width:1.8}
body.zw-v510.home .visit-duration__copy{min-width:0}
body.zw-v510.home .visit-duration__copy>strong{
  display:block;
  margin:1px 0 6px;
  color:var(--green);
  font-size:13px;
  line-height:1.2;
}
body.zw-v510.home .visit-duration__copy p{
  margin:0;
  color:#1a2722;
  font-size:10px;
  line-height:1.48;
}
body.zw-v510.home .visit-duration__copy p strong{color:#087f3f;font-weight:900}
body.zw-v510.home .visit-duration__copy small{
  display:block;
  margin-top:8px;
  color:#66736d;
  font-size:8px!important;
  font-style:italic;
  line-height:1.4;
}
body.zw-v510.home .visit-timeline--v51314 ol{
  position:relative;
  display:grid!important;
  gap:0!important;
  margin:0;
  padding:0;
  list-style:none;
}
body.zw-v510.home .visit-timeline--v51314 ol::before{
  content:"";
  position:absolute;
  z-index:0;
  left:16px!important;
  top:24px!important;
  bottom:24px!important;
  width:1px;
  background:#9ecbb0;
}
body.zw-v510.home .visit-timeline--v51314 li{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:12px!important;
  align-items:center;
  min-height:60px!important;
  margin:0;
  padding:11px 2px!important;
  border-bottom:1px solid #e8efeb;
  border-radius:0!important;
  background:transparent!important;
}
body.zw-v510.home .visit-timeline--v51314 li:last-child{border-bottom:0}
body.zw-v510.home .visit-timeline--v51314 li>span{
  display:grid;
  flex:0 0 34px!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  place-items:center;
  border:1px solid #efb8bd;
  border-radius:50%;
  background:#fff;
  color:#c91f32;
  font-size:10px!important;
  font-variant-numeric:tabular-nums;
}
body.zw-v510.home .visit-timeline--v51314 li div{
  position:relative;
  display:grid;
  min-width:0;
  padding-right:0!important;
}
body.zw-v510.home .visit-timeline--v51314 b{
  color:#15221d;
  font-size:11px!important;
  line-height:1.15!important;
  text-transform:uppercase;
}
body.zw-v510.home .visit-timeline--v51314 small{
  display:block;
  margin-top:3px;
  color:#66736d;
  font-size:9px!important;
  line-height:1.28!important;
}
body.zw-v510.home .visit-timeline--v51314 li.is-featured{
  margin:2px -4px;
  padding:11px 6px!important;
  border:0;
  border-radius:14px!important;
  background:#e6f7ec!important;
}
body.zw-v510.home .visit-timeline--v51314 li.is-featured>span{
  border-color:#cf2635;
  background:#cf2635;
  color:#fff;
  box-shadow:0 0 0 6px rgba(207,38,53,.08);
}
body.zw-v510.home .visit-timeline--v51314 li.is-featured b{color:#c92636}
body.zw-v510.home .visit-step-badge{
  position:static!important;
  justify-self:start;
  min-width:0!important;
  margin-top:7px;
  padding:5px 9px;
  border-radius:999px;
  background:#d6f4df;
  color:#146b3d!important;
  font-size:8px!important;
  font-style:normal;
  font-weight:800;
  line-height:1;
  text-align:left!important;
  white-space:nowrap;
}
body.zw-v510.home .visit-timeline--v51314 .is-active::after{content:none!important}
body.zw-v510.home .visit-timeline--v51314 .diagnostic-home-care-note,
body.zw-v510.home .visit-timeline--v51314 .timeline-clinic-status{display:none!important}

@media (min-width:1101px){
  body.zw-v510.home .diagnostic-card--pseudo-atlas{grid-template-columns:280px 310px minmax(0,1fr)}
}

@media (max-width:768px){
  body.zw-v510.home .visit-timeline--v51314{padding:22px 18px 24px}
  body.zw-v510.home .visit-timeline--v51314::before{width:5px}
  body.zw-v510.home .visit-timeline--v51314 .mini-label{font-size:17px!important;margin-bottom:16px!important}
  body.zw-v510.home .visit-duration{grid-template-columns:54px minmax(0,1fr);gap:14px;padding:16px}
  body.zw-v510.home .visit-duration__icon{width:54px;height:54px}
  body.zw-v510.home .visit-duration__icon svg{width:30px;height:30px}
  body.zw-v510.home .visit-duration__copy>strong{font-size:16px}
  body.zw-v510.home .visit-duration__copy p{font-size:13px;line-height:1.5}
  body.zw-v510.home .visit-duration__copy small{font-size:11px!important;line-height:1.45}
  body.zw-v510.home .visit-timeline--v51314 ol::before{left:21px!important;top:30px!important;bottom:30px!important}
  body.zw-v510.home .visit-timeline--v51314 li{grid-template-columns:44px minmax(0,1fr);gap:15px!important;min-height:78px!important;padding:14px 4px!important}
  body.zw-v510.home .visit-timeline--v51314 li>span{flex-basis:44px!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;font-size:13px!important}
  body.zw-v510.home .visit-timeline--v51314 b{font-size:15px!important}
  body.zw-v510.home .visit-timeline--v51314 small{font-size:13px!important}
  body.zw-v510.home .visit-step-badge{margin-top:8px;padding:6px 11px;font-size:11px!important}
}

@media (max-width:480px){
  body.zw-v510.home .visit-timeline--v51314{padding:20px 14px 22px}
  body.zw-v510.home .visit-duration{grid-template-columns:46px minmax(0,1fr);gap:11px;padding:13px}
  body.zw-v510.home .visit-duration__icon{width:46px;height:46px}
  body.zw-v510.home .visit-duration__copy>strong{font-size:15px}
  body.zw-v510.home .visit-duration__copy p{font-size:12px}
  body.zw-v510.home .visit-duration__copy small{font-size:10px!important}
  body.zw-v510.home .visit-timeline--v51314 ol::before{left:19px!important}
  body.zw-v510.home .visit-timeline--v51314 li{grid-template-columns:40px minmax(0,1fr);gap:12px!important;min-height:72px!important;padding:12px 3px!important}
  body.zw-v510.home .visit-timeline--v51314 li>span{flex-basis:40px!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;font-size:12px!important}
  body.zw-v510.home .visit-timeline--v51314 b{font-size:14px!important}
  body.zw-v510.home .visit-timeline--v51314 small{font-size:12px!important}
}

/* =========================================================
   5.13.18.2 PRODUCTION CLEAN — desktop atlas/timeline hotfix
   Powód: po pełnym odświeżeniu cache oś wizyty 5.13.14 mogła
   rozszerzyć wiersz gridu ponad stałą wysokość stage/tabs,
   zostawiając pustą przestrzeń pod atlasem. Dodatkowo wcześniejsza
   reguła min-width:1101px deklarowała tylko 3 kolumny, podczas gdy
   layout-v510 używa 4 obszarów: timeline / copy / stage / tabs.
   Zakres: tylko HOME >=1025px. Mobile <=1024px bez zmian.
   ========================================================= */
@media (min-width:1025px){
  body.zw-v510.home .diagnostic-card--pseudo-atlas{
    grid-template-areas:"timeline copy stage tabs"!important;
    grid-template-columns:minmax(210px,250px) minmax(255px,310px) minmax(0,1fr) minmax(175px,205px)!important;
    grid-template-rows:500px!important;
    min-height:500px!important;
    height:500px!important;
    max-height:500px!important;
    overflow:hidden!important;
  }

  body.zw-v510.home .diagnostic-card--pseudo-atlas>.visit-timeline,
  body.zw-v510.home .diagnostic-card--pseudo-atlas>.diagnostic-copy{
    min-height:500px!important;
    height:500px!important;
    max-height:500px!important;
  }

  body.zw-v510.home .diagnostic-card--pseudo-atlas>.diagnostic-visual,
  body.zw-v510.home .diagnostic-card--pseudo-atlas .zw-atlas--home{
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
  }

  body.zw-v510.home .zw-atlas--home .zw-atlas__stage,
  body.zw-v510.home .zw-atlas--home .zw-atlas__tabs{
    min-height:500px!important;
    height:500px!important;
    max-height:500px!important;
  }

  /* Kompaktujemy wyłącznie desktopową oś, aby całość mieściła się
     w jednej wysokości z atlasem bez scrolla i bez utraty treści. */
  body.zw-v510.home .visit-timeline--v51314{
    padding:15px 13px 13px!important;
    overflow:hidden!important;
    border-radius:0!important;
    border-top:0!important;
    border-bottom:0!important;
    border-left:0!important;
  }
  body.zw-v510.home .visit-timeline--v51314 .mini-label{
    margin:0 0 8px 3px!important;
    font-size:11px!important;
    line-height:1.1!important;
  }
  body.zw-v510.home .visit-duration{
    grid-template-columns:38px minmax(0,1fr)!important;
    gap:9px!important;
    margin:0 0 7px!important;
    padding:8px!important;
    border-radius:11px!important;
  }
  body.zw-v510.home .visit-duration__icon{
    width:38px!important;
    height:38px!important;
  }
  body.zw-v510.home .visit-duration__icon svg{
    width:21px!important;
    height:21px!important;
  }
  body.zw-v510.home .visit-duration__copy>strong{
    margin:0 0 3px!important;
    font-size:10px!important;
    line-height:1.1!important;
  }
  body.zw-v510.home .visit-duration__copy p{
    font-size:8px!important;
    line-height:1.32!important;
  }
  body.zw-v510.home .visit-duration__copy small{
    margin-top:3px!important;
    font-size:7px!important;
    line-height:1.25!important;
  }
  body.zw-v510.home .visit-timeline--v51314 ol::before{
    left:13px!important;
    top:18px!important;
    bottom:18px!important;
  }
  body.zw-v510.home .visit-timeline--v51314 li{
    grid-template-columns:28px minmax(0,1fr)!important;
    gap:9px!important;
    min-height:52px!important;
    padding:6px 2px!important;
  }
  body.zw-v510.home .visit-timeline--v51314 li>span{
    flex-basis:28px!important;
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    min-height:28px!important;
    font-size:8px!important;
  }
  body.zw-v510.home .visit-timeline--v51314 b{
    font-size:9px!important;
    line-height:1.08!important;
  }
  body.zw-v510.home .visit-timeline--v51314 small{
    margin-top:2px!important;
    font-size:7.5px!important;
    line-height:1.16!important;
  }
  body.zw-v510.home .visit-timeline--v51314 li.is-featured{
    margin:1px -2px!important;
    padding:6px 4px!important;
    border-radius:10px!important;
  }
  body.zw-v510.home .visit-step-badge{
    margin-top:3px!important;
    padding:3px 6px!important;
    font-size:6.5px!important;
  }
}

@media (min-width:1025px) and (max-width:1280px){
  body.zw-v510.home .diagnostic-card--pseudo-atlas{
    grid-template-columns:210px 255px minmax(0,1fr) 175px!important;
  }
  body.zw-v510.home .diagnostic-copy{
    padding-left:22px!important;
    padding-right:20px!important;
  }
  body.zw-v510.home .diagnostic-copy h2{
    font-size:36px!important;
  }
}


/* =========================================================
   5.13.18.3 PRODUCTION CLEAN — HOME readability hotfix
   Cel: desktopowa oś wizyty ma być czytelna bez powrotu białej
   przestrzeni pod atlasem. Jednocześnie nagłówek diagnostyki
   otrzymuje spokojniejszą skalę. Zakres: HOME >=1025px.
   ========================================================= */
@media (min-width:1025px){
  body.zw-v510.home .diagnostic-card--pseudo-atlas{
    grid-template-areas:"timeline copy stage tabs"!important;
    grid-template-columns:minmax(235px,255px) minmax(240px,265px) minmax(0,1fr) minmax(170px,190px)!important;
    grid-template-rows:520px!important;
    min-height:520px!important;
    height:520px!important;
    max-height:520px!important;
  }

  body.zw-v510.home .diagnostic-card--pseudo-atlas>.visit-timeline,
  body.zw-v510.home .diagnostic-card--pseudo-atlas>.diagnostic-copy{
    min-height:520px!important;
    height:520px!important;
    max-height:520px!important;
  }

  body.zw-v510.home .zw-atlas--home .zw-atlas__stage,
  body.zw-v510.home .zw-atlas--home .zw-atlas__tabs{
    min-height:520px!important;
    height:520px!important;
    max-height:520px!important;
  }

  /* Lewa belka: większa typografia i wyraźniejsza hierarchia. */
  body.zw-v510.home .visit-timeline--v51314{
    padding:18px 15px 15px!important;
    background:linear-gradient(180deg,#f8fcfa 0%,#eef8f2 100%)!important;
  }
  body.zw-v510.home .visit-timeline--v51314 .mini-label{
    margin:0 0 11px 2px!important;
    color:#11251a!important;
    font-size:12.5px!important;
    line-height:1.12!important;
    letter-spacing:.025em!important;
  }
  body.zw-v510.home .visit-duration{
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:10px!important;
    margin:0 0 9px!important;
    padding:11px 10px!important;
    border-color:#d9e9df!important;
    border-radius:12px!important;
    background:#f3faf6!important;
  }
  body.zw-v510.home .visit-duration__icon{
    width:42px!important;
    height:42px!important;
  }
  body.zw-v510.home .visit-duration__icon svg{
    width:23px!important;
    height:23px!important;
  }
  body.zw-v510.home .visit-duration__copy>strong{
    margin:0 0 4px!important;
    color:#087f3f!important;
    font-size:11.5px!important;
    line-height:1.16!important;
  }
  body.zw-v510.home .visit-duration__copy p{
    color:#24372d!important;
    font-size:10.5px!important;
    line-height:1.36!important;
  }
  body.zw-v510.home .visit-duration__copy small{
    margin-top:5px!important;
    color:#596a61!important;
    font-size:8.8px!important;
    line-height:1.3!important;
  }
  body.zw-v510.home .visit-timeline--v51314 ol::before{
    left:15px!important;
    top:21px!important;
    bottom:21px!important;
    background:#8fc4a5!important;
  }
  body.zw-v510.home .visit-timeline--v51314 li{
    grid-template-columns:32px minmax(0,1fr)!important;
    gap:10px!important;
    min-height:55px!important;
    padding:7px 2px!important;
  }
  body.zw-v510.home .visit-timeline--v51314 li>span{
    flex-basis:32px!important;
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
    font-size:9px!important;
  }
  body.zw-v510.home .visit-timeline--v51314 b{
    color:#14231c!important;
    font-size:10.7px!important;
    line-height:1.13!important;
    letter-spacing:.005em!important;
  }
  body.zw-v510.home .visit-timeline--v51314 small{
    margin-top:3px!important;
    color:#5c6d64!important;
    font-size:9.2px!important;
    line-height:1.24!important;
  }
  body.zw-v510.home .visit-timeline--v51314 li.is-featured{
    margin:1px -3px!important;
    padding:8px 5px!important;
    border-radius:11px!important;
    background:#e1f4e8!important;
  }
  body.zw-v510.home .visit-step-badge{
    margin-top:4px!important;
    padding:4px 7px!important;
    font-size:7.8px!important;
  }

  /* Środkowy lead: mniej dominanty, więcej miejsca dla atlasu. */
  body.zw-v510.home .diagnostic-copy{
    padding-left:22px!important;
    padding-right:20px!important;
  }
  body.zw-v510.home .diagnostic-copy h2{
    font-size:30px!important;
    line-height:1.03!important;
    letter-spacing:-.025em!important;
  }
}

@media (min-width:1025px) and (max-width:1180px){
  body.zw-v510.home .diagnostic-card--pseudo-atlas{
    grid-template-columns:230px 235px minmax(0,1fr) 170px!important;
  }
  body.zw-v510.home .diagnostic-copy h2{
    font-size:27px!important;
  }
  body.zw-v510.home .visit-duration__copy p{font-size:10px!important}
  body.zw-v510.home .visit-timeline--v51314 b{font-size:10.2px!important}
  body.zw-v510.home .visit-timeline--v51314 small{font-size:8.8px!important}
}
\n\n/* =========================================================
   5.13.18.4 PRODUCTION CLEAN — HOME balance + team titles
   - większa czytelność lewej osi dzięki redystrybucji szerokości;
   - atlas/stage nieco węższy, więc obraz i hotspoty skalują się razem;
   - HOME team: bez dublujących opisów, pełne tytuły lekarzy w nazwie.
   Zakres: HOME, desktop layout + team cards.
   ========================================================= */
@media (min-width:1025px){
  body.zw-v510.home .diagnostic-card--pseudo-atlas{
    grid-template-columns:minmax(270px,285px) minmax(250px,270px) minmax(0,1fr) minmax(165px,180px)!important;
  }

  body.zw-v510.home .visit-timeline--v51314{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  body.zw-v510.home .visit-duration{
    grid-template-columns:44px minmax(0,1fr)!important;
    gap:11px!important;
    padding:12px 11px!important;
  }
  body.zw-v510.home .visit-duration__copy>strong{
    font-size:12px!important;
  }
  body.zw-v510.home .visit-duration__copy p{
    font-size:10.8px!important;
    line-height:1.38!important;
  }
  body.zw-v510.home .visit-duration__copy small{
    font-size:9px!important;
  }
  body.zw-v510.home .visit-timeline--v51314 b{
    font-size:11px!important;
  }
  body.zw-v510.home .visit-timeline--v51314 small{
    font-size:9.5px!important;
  }

  /* Nie zmniejszamy samego obrazu niezależnie od hotspotów. Węższa kolumna
     stage skaluje jednocześnie model i pozycje punktów. */
  body.zw-v510.home .zw-atlas--home{
    grid-template-columns:minmax(0,1fr) 175px!important;
  }
}

@media (min-width:1025px) and (max-width:1180px){
  body.zw-v510.home .diagnostic-card--pseudo-atlas{
    grid-template-columns:260px 240px minmax(0,1fr) 165px!important;
  }
  body.zw-v510.home .visit-duration__copy p{font-size:10.3px!important}
  body.zw-v510.home .visit-timeline--v51314 b{font-size:10.5px!important}
  body.zw-v510.home .visit-timeline--v51314 small{font-size:9px!important}
}

/* HOME — karty zespołu: jedna mocna informacja = tytuł + imię i nazwisko. */
body.zw-v510.home .team-card__name{
  display:block;
  margin:10px 10px 12px!important;
  color:#121a29;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.18!important;
  letter-spacing:-.012em;
  text-transform:none;
}

@media (max-width:860px){
  body.zw-v510.home .team-card__name{
    margin:10px 10px 12px!important;
    font-size:13.5px!important;
    line-height:1.2!important;
  }
}


/* 5.13.18.6 — desktop HOME readability rebalance */
@media (min-width: 1101px){
  .home .visit-timeline--v51314 .visit-duration{padding:13px 12px;gap:10px}
  .home .visit-timeline--v51314 .visit-duration__icon{width:40px;height:40px;flex:0 0 40px}
  .home .visit-timeline--v51314 .visit-duration__copy strong{font-size:10px;line-height:1.2}
  .home .visit-timeline--v51314 .visit-duration__copy p{font-size:9px;line-height:1.4}
  .home .visit-timeline--v51314 .visit-duration__copy small{font-size:7.4px;line-height:1.35}
}

/* =========================================================
   5.13.18.9 — HOME desktop: skuteczny scroll rail + 6 lekarzy
   - końcowe reguły wygrywają z layout-v510 w kaskadzie;
   - mobile/tablet do 900 px pozostają bez zmian.
   ========================================================= */
@media (min-width:1025px){
  body.zw-v510.home .zw-atlas--home .zw-atlas__tabs{
    grid-template-rows:none!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    gap:9px!important;
    height:520px!important;
    min-height:520px!important;
    padding:13px 10px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:#9fc9b0 transparent;
    scroll-snap-type:y proximity;
  }
  body.zw-v510.home .zw-atlas--home .zw-atlas__tabs::-webkit-scrollbar{width:6px}
  body.zw-v510.home .zw-atlas--home .zw-atlas__tabs::-webkit-scrollbar-track{background:transparent}
  body.zw-v510.home .zw-atlas--home .zw-atlas__tabs::-webkit-scrollbar-thumb{border-radius:999px;background:#9fc9b0}
  body.zw-v510.home .zw-atlas--home .zw-atlas__tab{
    flex:0 0 auto!important;
    min-height:72px!important;
    height:auto!important;
    grid-template-columns:36px minmax(0,1fr) 26px!important;
    gap:9px!important;
    padding:10px!important;
    scroll-snap-align:start;
  }
  body.zw-v510.home .zw-atlas--home .zw-atlas__tab-index{
    width:32px!important;
    height:32px!important;
    font-size:13px!important;
  }
  body.zw-v510.home .zw-atlas--home .zw-atlas__tab-copy{display:flex!important;gap:3px!important}
  body.zw-v510.home .zw-atlas--home .zw-atlas__tab-copy b{font-size:11.5px!important;line-height:1.12!important}
  body.zw-v510.home .zw-atlas--home .zw-atlas__tab-copy small{font-size:9px!important;line-height:1.2!important;opacity:.78!important}
  body.zw-v510.home .zw-atlas--home .zw-atlas__tab-icon svg{width:22px!important;height:22px!important}
}

@media (min-width:901px){
  body.zw-v510.home .team-cards{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:8px!important;
  }
  body.zw-v510.home .team-card img{
    width:100%!important;
    height:auto!important;
    aspect-ratio:1/1;
    object-fit:cover;
  }

}

/* 5.13.18.12 — Weronika: kwadratowy kadr na każdym ekranie.
   Oryginalny plik pozostaje bez zmian; kontener odcina jego okrągłą maskę. */
body.zw-v510.home .team-card__weronika-crop{
  width:100%;
  aspect-ratio:1/1;
  overflow:hidden;
}
body.zw-v510.home .team-card__weronika-crop img{
  display:block;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transform:scale(1.85);
  transform-origin:50% 50%;
}
