/* PROFESTO — stabilizacja responsywności 320–1180 px */
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:clip}
img,svg,video,canvas,iframe{max-width:100%}
.site-header,.site-header nav,.hero,.hero-content,.section,.promise,.promise-copy,.cta,footer,.article,.product-hero{min-width:0}
.button,.nav-cta{min-width:0;max-width:100%}

@media(max-width:1180px){
  .site-header{position:relative;width:100%;z-index:1000}
  .site-header nav{max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain}
  .site-header nav a,.site-header nav button{width:100%;max-width:100%}
  .hero-content{width:min(100% - 40px,var(--max));margin-inline:auto;min-width:0}
  .hero h1,.hero-lead{max-width:min(100%,780px)}
  .hero h1{overflow-wrap:anywhere}
  .hero-products.hero-product-scene{max-width:calc(100% - 24px)}
  .offer-grid,.contact-location-grid,.benefits,.uses{min-width:0}
  .offer-card,.contact-location-card,.benefits article,.uses li{min-width:0}
  .contact-details a,.contact-details address{min-width:0}
  .contact-details strong,.contact-details span,.contact-details p{overflow-wrap:anywhere}
}

@media(max-width:720px){
  .site-header{height:72px;padding-inline:16px}
  .brand{display:flex;align-items:center;min-width:0;max-width:calc(100% - 92px)}
  .brand img{width:min(160px,100%);height:auto}
  .menu-toggle{flex:0 0 auto}
  .site-header nav{left:0;right:0;width:100%;padding:14px 20px 20px}

  .hero{width:100%;min-height:760px;overflow:hidden}
  .hero-content{width:calc(100% - 32px);padding-top:54px;padding-bottom:300px}
  .hero h1{font-size:clamp(2.8rem,13vw,4.15rem);line-height:.9;letter-spacing:-.02em;margin:16px 0;max-width:100%}
  .hero-lead{font-size:1rem;line-height:1.55;max-width:100%}
  .hero-actions{width:100%;gap:10px}
  .hero-actions .button{width:100%;justify-content:center;text-align:center;gap:12px}
  .hero-products.hero-product-scene{left:8px;right:8px;bottom:72px;width:auto;max-width:none;height:270px}
  .hero-facts{left:0;right:0;width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero-facts div{min-width:0;padding:12px 6px;text-align:center}
  .hero-facts strong{font-size:1.35rem}
  .hero-facts span{display:block;font-size:.6rem;line-height:1.25;overflow-wrap:anywhere}

  .section{padding-left:16px;padding-right:16px}
  .section h2,.promise h2,.cta h2{font-size:clamp(2.55rem,12vw,4rem);max-width:100%;overflow-wrap:anywhere}
  .intro,.section-head,.cta{min-width:0}
  .offer-grid{width:100%;margin-top:44px}
  .offer-card,.offer-card.wide{width:100%;min-height:0;padding:24px 20px;overflow:hidden}
  .offer-card img,.offer-card.wide img{width:100%;height:auto;max-height:190px;object-fit:contain}
  .offer-card h3,.offer-card.wide h3{min-height:0;font-size:1.8rem}
  .offer-card p,.offer-card.wide p{min-height:0}
  .offer-card .card-link,.offer-card .text-link{overflow-wrap:anywhere}

  .promise{width:100%;overflow:hidden}
  .promise-mark{max-width:100%;overflow:hidden}
  .promise-copy{width:100%;padding-left:16px;padding-right:16px}
  .promise-copy li{grid-template-columns:42px minmax(0,1fr)}

  .cta{padding-left:16px;padding-right:16px}
  .contact-details>a,.contact-details address{grid-template-columns:88px minmax(0,1fr);gap:10px}
  .contact-location-grid{width:100%;margin-top:36px}
  .contact-location-card{width:100%;padding:24px 20px}
  .location-map{width:100%;height:260px}

  footer{width:100%;padding-left:16px;padding-right:16px;grid-template-columns:minmax(0,1fr)!important}
  footer>*{min-width:0;max-width:100%}
  footer img{max-width:155px}

  .quote-dialog{width:calc(100% - 20px);max-width:calc(100% - 20px);padding:34px 16px 22px;max-height:calc(100dvh - 20px);overflow:auto}
  .quote-dialog h2{font-size:clamp(2.3rem,11vw,3.6rem)}
  .quote-dialog input,.quote-dialog textarea{min-width:0}

  .product-hero{grid-template-columns:minmax(0,1fr);padding:58px 16px 70px;gap:34px;width:100%;overflow:hidden}
  .product-hero>div,.product-hero figure{min-width:0;max-width:100%}
  .product-hero h1{font-size:clamp(2.9rem,14vw,4.8rem);overflow-wrap:anywhere}
  .product-hero figure{width:calc(100% - 12px);margin:0;min-height:220px;box-shadow:10px 10px 0 var(--red)}
  .article{width:100%;padding-left:16px;padding-right:16px}
  .article h2{font-size:clamp(2.35rem,11vw,3.6rem);overflow-wrap:anywhere}
  .article-cta{width:100%;padding:30px 20px}
  .product-nav{gap:14px}
}

@media(max-width:430px){
  .hero{min-height:735px}
  .hero-content{padding-bottom:285px}
  .hero h1{font-size:clamp(2.7rem,12.6vw,3.8rem)}
  .hero-products.hero-product-scene{height:250px}
  .hero-facts strong{font-size:1.18rem}
  .hero-facts span{font-size:.56rem;letter-spacing:.04em}
  .contact-details>a,.contact-details address{grid-template-columns:1fr;gap:4px}
}

@media(max-width:360px){
  .site-header{padding-inline:12px}
  .brand img{width:145px}
  .hero-content{width:calc(100% - 24px)}
  .hero h1{font-size:2.7rem}
  .section,.cta,.promise-copy,.article{padding-left:12px;padding-right:12px}
  .offer-card,.offer-card.wide,.contact-location-card{padding-left:16px;padding-right:16px}
}
