/* Mobilna warstwa porządkująca — bez zmian układu desktopowego. */
@media (max-width:620px){
html,body{width:100%;max-width:100%;overflow-x:hidden}*,*::before,*::after{box-sizing:border-box}img,video,svg{max-width:100%}
.shell{width:calc(100% - 24px)}.header-inner{width:calc(100% - 20px);min-height:118px;height:auto;padding:10px 0 9px;align-items:center}.header-inner .logo{width:min(244px,calc(100vw - 112px));flex:0 1 auto}.header-inner .logo svg,.header-inner .logo img{width:100%;height:auto;display:block}.menu-button,.mobile-header-book{flex:0 0 42px;width:42px;height:42px}
.mobile-nav{width:min(92vw,390px);max-height:calc(100dvh - 86px);overflow-y:auto;overscroll-behavior:contain}.mobile-nav a,.mobile-nav button{min-height:48px;padding:12px 16px;font-size:16px;line-height:1.25}
.hero{gap:0}.hero-copy{padding:24px 0 28px}.hero-copy h1,.hero h1{max-width:100%;font-size:clamp(37px,11.2vw,47px);line-height:1.01;overflow-wrap:break-word}.eyebrow{font-size:13px;letter-spacing:.14em}.lead,.hero-copy p{max-width:100%;font-size:15.5px;line-height:1.62}.btn,.primary-button{max-width:100%;white-space:normal;text-align:center}
body[data-page="optics"] .hero-media,body[data-page="optometry"] .hero-media,body[data-page="therapy"] .hero-media,body[data-page="contacts"] .hero-media{height:auto!important;min-height:210px!important;aspect-ratio:16/9;background:#f4f6f9}
body[data-page="optics"] .hero-media img,body[data-page="optics"] .hero-media video,body[data-page="optometry"] .hero-media img,body[data-page="optometry"] .hero-media video,body[data-page="therapy"] .hero-media img,body[data-page="therapy"] .hero-media video,body[data-page="contacts"] .hero-media img,body[data-page="contacts"] .hero-media video{object-fit:contain!important;object-position:center!important}.hero-badges{display:none!important}
.cards,.feature-grid,.about-grid,.contact-grid,.footer-grid{grid-template-columns:1fr!important}.card,.feature-card,.contact-card,.place-card{min-width:0;width:100%}.card img,.place-card img{width:100%;height:auto;object-fit:contain}
.welcome-promo{padding:10px!important;align-items:center}.welcome-promo__panel,.welcome-promo__details-panel{width:min(100%,560px)!important;max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important;overflow-y:auto!important;border-radius:24px!important}.welcome-promo__details-panel{display:grid!important;grid-template-columns:1fr!important}.welcome-promo__details-image-wrap{width:100%;height:auto!important;min-height:0!important;padding:12px!important}.welcome-promo__details-image{width:100%;height:auto!important;max-height:48dvh;object-fit:contain!important;object-position:center!important}.welcome-promo__details-copy{min-width:0;padding:24px 20px 28px!important}.welcome-promo__details-copy h2{font-size:clamp(30px,9vw,44px)!important;line-height:1.02!important;overflow-wrap:break-word}.welcome-promo__details-copy li{font-size:15px!important;line-height:1.45;overflow-wrap:anywhere}.welcome-promo__close{position:sticky!important;top:8px;margin-left:auto;z-index:5}
input,textarea,select,button{max-width:100%;font-size:16px}.booking-modal,.booking-dialog{max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px);overflow-y:auto}
}
@media(max-width:380px){.header-inner .logo{width:min(220px,calc(100vw - 104px))}.hero-copy h1,.hero h1{font-size:clamp(34px,10.8vw,41px)}}
