/* Bajka Elegant 2.5 — świadome zróżnicowanie szerokości, nie przypadkowe karty.
   Warstwa wyłącznie strony głównej. Nie zmienia struktury SEO ani slider JS.
   Kolejność sekcji: szerokie wejście → węższy akcent → panoramica placówek
   → czytelna lista świadczeń → duża fotograficzna galeria → zakończenie. */

.b9-home { overflow-x: clip; }
/* Sections use their OWN measured line length. Prior v2.4 global shell width is
   intentionally overridden with more-specific scoped rules. */
.b9-home .b9-shell.b25-container-hero { width: min(1310px, calc(100% - 88px)); }
.b9-home .b9-shell.b25-container-lab { width: min(1030px, calc(100% - 88px)); }
.b9-home .b9-shell.b25-container-slider { width: min(1360px, calc(100% - 88px)); }
.b9-home .b9-shell.b25-container-services { width: min(1080px, calc(100% - 88px)); }
.b9-home .b9-shell.b25-container-gallery { width: min(1340px, calc(100% - 88px)); }
.b9-home .b9-shell.b25-container-closer { width: min(1120px, calc(100% - 88px)); }

/* First screen: wide but calm. Let the illustration/typography breathe. */
@media(min-width:1101px) {
  .b9-home .b25-opening .b20-opening-grid {
    grid-template-columns:minmax(0,1.48fr) minmax(282px,.52fr);
    gap:clamp(70px,8vw,152px);
  }
  .b9-home .b25-opening .b20-opening-copy { max-width:790px; }
  .b9-home .b25-opening .b20-opening h1 { max-width:790px; }
  .b9-home .b25-opening .b20-booking { padding-left:clamp(26px,3.4vw,52px); }
}
.b9-home .b25-opening .b20-shortcuts {
  max-width:1210px;
  margin-left:auto;
  margin-right:auto;
}
.b9-home .b25-opening .b20-shortcuts-list a {
  transition:color .18s ease, background-color .18s ease;
}

/* The lab is an inset editorial interlude, not another full-bleed colored rectangle. */
.b9-home .b25-collection {
  background:#fff;
  padding:clamp(45px,5.8vw,80px) 0 clamp(15px,2.3vw,29px);
  border:0;
}
.b9-home .b25-collection .b25-container-lab {
  min-height:0;
  padding:23px 0 21px;
  border-block:1px solid #bfd7ce;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px 36px;
}
.b9-home .b25-collection .b22-collection-mark { height:73px; }
.b9-home .b25-collection .b22-collection-copy { grid-row:1 / 3; align-self:center; }
.b9-home .b25-collection h2 { line-height:1.2; }
.b9-home .b25-collection .b22-collection-facts {
  border:0;padding:0;align-self:end;text-align:right;
}
.b9-home .b25-collection .b22-collection-facts strong { font-size:1.06rem; }
.b9-home .b25-collection .b22-collection-link {
  grid-column:2;grid-row:2;justify-self:end;align-self:start;margin:0;
  text-align:right;white-space:normal;
}
@media(min-width:1280px){
  .b9-home .b25-collection .b25-container-lab {position:relative;left:36px;}
}

/* Places span further than the list of services. Visual narrative is photo-first. */
.b9-home .b25-places {padding:clamp(70px,7vw,104px) 0 clamp(85px,8vw,119px);}
.b9-home .b25-places .b9-slider-intro {
  max-width:1170px;
  padding-inline:clamp(0px,2.1vw,30px);
  margin-bottom:clamp(27px,3.5vw,48px);
}
.b9-home .b25-places .b9-slider-intro > div { max-width:690px; }
.b9-home .b25-places .b9-slider-intro h2 {font-size:clamp(2.15rem,3.2vw,3.12rem);}
@media(min-width:1051px){
  .b9-home .b25-places .b9-slider-card {
    grid-template-columns:minmax(0,.77fr) minmax(0,1.23fr);
    min-height:545px;
  }
  .b9-home .b25-places .b9-slider-photo {min-height:545px;}
  .b9-home .b25-places .b9-slider-copy {
    padding:clamp(35px,3.4vw,54px) clamp(36px,3.5vw,58px);
    border-radius:0 0 0 10px;
  }
  .b9-home .b25-places .b9-slider-copy h2 {font-size:clamp(2rem,2.6vw,2.8rem);}
  .b9-home .b25-places .b9-slider-photo {border-radius:0 96px 12px 0;}
}
.b9-home .b25-places .b9-slider-copy {background:#f1f6f2;}
.b9-home .b25-places .b9-slider-toolbar {max-width:1280px;margin-inline:auto;}
.b9-home .b25-places .b9-slider-dot {font-size:.85rem;}

/* Compact readable central column: lists are NOT stretched to photo width. */
.b9-home .b25-services {background:#f8faf8!important;padding:clamp(80px,7vw,110px) 0;}
.b9-home .b25-services .b9-services-heading {align-items:start;gap:70px;margin-bottom:clamp(35px,4vw,58px);}
.b9-home .b25-services .b9-services-heading h2 {max-width:550px;font-size:clamp(2.05rem,2.8vw,2.75rem);}
.b9-home .b25-services .b9-services-heading > p {max-width:335px;padding-top:12px;}
.b9-home .b25-services .b9-services-grid {gap:clamp(48px,8vw,116px);}
.b9-home .b25-services .b9-service-list a {min-height:51px;}
.b9-home .b25-services .b9-private-rule {padding-top:31px;margin-top:42px;}

/* Wide editorial gallery: one prominent photograph and two supporting shots.
   The existing genuine uploads remain; only placement changes. */
.b9-home .b25-gallery {padding:clamp(89px,8vw,132px) 0 clamp(98px,9vw,135px);background:#fff!important;}
.b9-home .b25-gallery .b9-inside-grid {
  display:grid;
  grid-template-columns:minmax(240px,.55fr) minmax(0,1.45fr);
  gap:clamp(45px,7vw,118px);
  align-items:center;
}
.b9-home .b25-gallery .b9-inside-word {padding-top:9px;align-self:center;}
.b9-home .b25-gallery .b9-inside-word h2 {font-size:clamp(2.15rem,3.3vw,3.35rem);line-height:1.14;}
.b9-home .b25-gallery .b9-inside-photos {
  grid-template-columns:minmax(0,1.42fr) minmax(0,.82fr);
  grid-template-rows:225px 192px;
  align-items:stretch;
  column-gap:17px;row-gap:19px;
}
.b9-home .b25-gallery .b9-photo-a {grid-column:1;grid-row:1 / 3;height:100%;}
.b9-home .b25-gallery .b9-photo-b {grid-column:2;grid-row:1;height:100%;}
.b9-home .b25-gallery .b9-photo-c {grid-column:2;grid-row:2;height:100%;}
.b9-home .b25-gallery .b9-inside-photos img {border-radius:6px 55px 6px 6px;}
.b9-home .b25-gallery .b9-photo-b img {border-radius:50px 6px 6px 6px;}
.b9-home .b25-gallery .b9-photo-c img {border-radius:6px 6px 50px 6px;}

/* Full-bleed conclusion with a narrower content line, not another card. */
.b9-home .b25-closer {padding:clamp(65px,6.4vw,100px) 0;}
.b9-home .b25-closer .b9-closer-grid {gap:clamp(30px,7vw,110px);}
.b9-home .b25-closer h2 {font-size:clamp(2.2rem,3.1vw,3.05rem);}

/* At tablet widths, the variable columns recede before they become cramped. */
@media(max-width:1050px){
  .b9-home .b25-collection .b25-container-lab {grid-template-columns:minmax(0,1fr) auto;}
  .b9-home .b25-places .b9-slider-card {grid-template-columns:minmax(0,.97fr) minmax(0,1.03fr);}
  .b9-home .b25-gallery .b9-inside-grid {grid-template-columns:minmax(0,.67fr) minmax(0,1.33fr);gap:35px;}
  .b9-home .b25-gallery .b9-inside-photos {grid-template-rows:183px 163px;}
}
@media(max-width:820px){
  .b9-home .b9-shell.b25-container-hero,
  .b9-home .b9-shell.b25-container-lab,
  .b9-home .b9-shell.b25-container-slider,
  .b9-home .b9-shell.b25-container-services,
  .b9-home .b9-shell.b25-container-gallery,
  .b9-home .b9-shell.b25-container-closer {
    width:min(720px,calc(100% - 42px));
  }
  .b9-home .b25-collection {padding:42px 0 6px;}
  .b9-home .b25-collection .b25-container-lab {grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;}
  .b9-home .b25-collection .b22-collection-copy {grid-row:1/3;}
  .b9-home .b25-collection .b22-collection-facts {align-self:end;}
  .b9-home .b25-collection .b22-collection-link {grid-column:2;grid-row:2;margin:0;}
  .b9-home .b25-places {padding:72px 0 80px;}
  .b9-home .b25-places .b9-slider-card {grid-template-columns:1fr;}
  .b9-home .b25-gallery .b9-inside-grid {grid-template-columns:1fr;gap:37px;}
  .b9-home .b25-gallery .b9-inside-word {max-width:530px;}
  .b9-home .b25-gallery .b9-inside-photos {grid-template-rows:205px 178px;}
}
@media(max-width:600px){
  .b9-home .b9-shell.b25-container-hero,
  .b9-home .b9-shell.b25-container-lab,
  .b9-home .b9-shell.b25-container-slider,
  .b9-home .b9-shell.b25-container-services,
  .b9-home .b9-shell.b25-container-gallery,
  .b9-home .b9-shell.b25-container-closer {width:calc(100% - 34px);}
  .b9-home .b25-collection {padding:27px 0 4px;}
  .b9-home .b25-collection .b25-container-lab {grid-template-columns:1fr;gap:10px;padding:22px 0;}
  .b9-home .b25-collection .b22-collection-copy {grid-row:auto;}
  .b9-home .b25-collection .b22-collection-facts {grid-row:auto;text-align:left;padding:12px 0 0 21px;}
  .b9-home .b25-collection .b22-collection-link {grid-column:1;grid-row:auto;margin:0 0 0 21px;justify-self:start;text-align:left;}
  .b9-home .b25-places {padding:57px 0 69px;}
  .b9-home .b25-places .b9-slider-intro {padding:0;}
  .b9-home .b25-services {padding:64px 0 73px;}
  .b9-home .b25-services .b9-services-heading {gap:16px;}
  .b9-home .b25-services .b9-services-heading > p {padding-top:0;}
  .b9-home .b25-gallery {padding:77px 0 85px;}
  .b9-home .b25-gallery .b9-inside-photos {grid-template-columns:1.18fr .82fr;grid-template-rows:147px 132px;gap:11px;}
  .b9-home .b25-gallery .b9-inside-word h2 {font-size:clamp(2.04rem,8.2vw,2.65rem);}
  .b9-home .b25-closer {padding:65px 0;}
}
@media(max-width:380px){
  .b9-home .b25-gallery .b9-inside-photos {grid-template-rows:126px 114px;}
  .b9-home .b25-collection .b22-collection-link {overflow-wrap:anywhere;}
}
