/* Końcowa warstwa responsywna — telefony, tablety i mniejsze laptopy. */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video{max-width:100%}
.shell,.site-header,.hero-content,.final-content{min-width:0}
.section h2,.hero h1,.final-cta h2,.day button strong,.contact-copy,.price-card{overflow-wrap:anywhere}

@media(max-width:1240px){
  .site-header{height:76px;padding-inline:clamp(1rem,3vw,2rem)}
  .hero-content{left:clamp(1.25rem,6vw,4.5rem);right:clamp(1.25rem,6vw,4.5rem);max-width:690px}
  .shell{width:min(1080px,calc(100% - 3rem))}
}

@media(max-width:900px){
  .hero{height:auto;min-height:760px}
  .hero-content{top:46%;right:1.5rem}
  .hero h1{font-size:clamp(3rem,10vw,5.1rem)}
  .hero-facts{width:100%;right:0}
  .intro,.for-whom,.offer,.faq,.contact-grid{grid-template-columns:minmax(0,1fr)}
  .program-title,.section-head,.map-heading,.gallery-heading{align-items:flex-start}
  .program-title>p,.section-head>p,.map-heading>p,.gallery-heading>p{width:auto;max-width:40rem}
  .day.open .day-body{max-height:1200px}
  .place{height:auto;min-height:780px}
  .place-image{min-height:780px}
  .place-card{max-height:none}
  footer>div:nth-of-type(2){flex-wrap:wrap;row-gap:.8rem}
}

@media(max-width:680px){
  body{font-size:15px}
  .shell{width:calc(100% - 2rem)}
  .section{padding-block:clamp(4rem,16vw,5.5rem)}
  .site-header{height:70px}
  .brand-3d{height:60px}.brand-symbol{width:46px;height:54px}.brand-word{font-size:1.55rem}
  .mobile-menu-toggle{width:44px;height:44px}
  .hero{min-height:720px}
  .hero-content{top:43%;left:1rem;right:1rem}
  .hero h1{font-size:clamp(2.65rem,13.5vw,4rem);line-height:.98}
  .hero-lead{margin-block:1.35rem;font-size:.94rem;line-height:1.55}
  .hero-actions{gap:1rem}.hero-actions .button{width:100%;max-width:270px}
  .hero-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-facts div{min-width:0}.hero-facts div:nth-child(3){display:none}
  .section h2,.final-cta h2{font-size:clamp(2.1rem,10.5vw,3.1rem);line-height:1.02}
  .eyebrow{margin-bottom:1.25rem;letter-spacing:.16em}
  .stat-row{gap:.5rem}.stat-row strong{font-size:clamp(1.35rem,7vw,1.8rem)}
  .benefit-grid{grid-template-columns:1fr}.benefit-grid article{min-height:0;padding:1.6rem 1.25rem}
  .program-title{margin-bottom:2rem}
  .day button{grid-template-columns:38px minmax(0,1fr) 24px;gap:.25rem}
  .day button small{font-size:.62rem;letter-spacing:.1em}.day button strong{font-size:.98rem;line-height:1.3}
  .day-body,.day.open .day-body{padding-left:38px;padding-right:0;gap:1rem}
  .day.open .day-body{max-height:2200px}
  .day-body p{font-size:.85rem}.day-body ul{gap:.35rem}.day-body li{font-size:.62rem}
  .program-download{justify-content:stretch}.program-download .button{width:100%}
  .photo-grid{grid-template-columns:1fr;grid-auto-rows:min(72vw,320px)}
  .photo-tile.wide,.photo-tile.tall{grid-column:auto;grid-row:auto}
  .portrait{height:min(125vw,540px)}
  .place{min-height:750px}.place-image{min-height:750px}
  .place-card{left:1rem;right:1rem;top:50%;padding:1.55rem;max-height:calc(100% - 2rem);overflow:auto}
  .place-card h2{font-size:clamp(2rem,10vw,2.8rem)}
  .amenities{grid-template-columns:1fr}
  .price-card{padding:2rem 1rem}.price-row{flex-direction:column;gap:.45rem}.price-row strong{white-space:normal}
  .price-meta{gap:.75rem}.price-meta span:last-child{padding-left:.75rem}
  .contact-bank-account{overflow-wrap:anywhere;word-break:break-word}
  .contact-form{padding:1.25rem}.contact-form .button{padding-inline:.8rem}
  .faq-item.open>div{max-height:420px}
  .final-cta{height:auto;min-height:630px;padding-inline:1rem}
  footer{padding:2.5rem 1rem 100px}footer>div:nth-of-type(2){display:flex;justify-content:flex-start;gap:.8rem 1.1rem}
  .cookie-banner__copy h2{font-size:1.2rem}.cookie-banner__copy p{font-size:.82rem}
  .cookie-banner__actions{grid-template-columns:1fr}.cookie-banner__actions .cookie-button{min-height:44px}
  .cookie-dialog{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem);padding:1rem}
  .mobile-cta{gap:.75rem;padding:.55rem .75rem calc(.55rem + env(safe-area-inset-bottom))}
  .mobile-cta .button{font-size:.65rem;letter-spacing:.1em}
}

@media(max-width:380px){
  .brand-word{font-size:1.35rem}.brand-symbol{width:40px}.mobile-menu-toggle{width:42px;height:42px}
  .hero h1{font-size:2.55rem}.hero-facts strong{font-size:.65rem}
  .stat-row{grid-template-columns:1fr}.stat-row>div{padding-block:.35rem}
  .price-meta{grid-template-columns:1fr}.price-meta span:first-child{border-right:0;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:.7rem}.price-meta span:last-child{padding-left:0}
}

@media(orientation:landscape) and (max-height:560px) and (max-width:1000px){
  .hero{min-height:620px}.hero-content{top:48%}.hero-facts{display:none}
  .mobile-menu{width:min(70vw,390px)}
}
