/* VNS responsive layout QA — 2026-10-23.
   Loaded after all other theme styles, so device layouts win over desktop !important rules. */
.site-footer .footer-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.25fr) minmax(0,1.15fr) minmax(0,.75fr) minmax(0,1.2fr)!important;
  align-items:start!important;
  gap:clamp(18px,2vw,28px)!important;
}
.site-footer .footer-grid>div,
.site-footer .footer-grid>div>*{min-width:0}
.site-footer .footer-brand{
  display:block!important;
  width:min(250px,100%)!important;
  max-width:100%!important;
  margin:0 0 17px!important;
  box-sizing:border-box!important;
}
.site-footer .footer-brand img{display:block;width:100%!important;max-width:100%!important;height:auto!important}
.site-footer .footer-contact-actions{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:11px!important;
  min-width:0!important;
  max-width:100%!important;
}
.site-footer .footer-contact-actions .footer-call,
.site-footer .footer-contact-actions .footer-map-button{
  flex:0 1 auto!important;
  width:auto!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  margin:0!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
.site-footer .footer-address-plain{
  max-width:100%!important;
  min-width:0!important;
}
.site-footer .footer-address-plain>span:last-child{
  min-width:0!important;
  overflow-wrap:break-word!important;
}
.site-footer .footer-bottom{align-items:start!important}
@media(min-width:541px) and (max-width:1060px){
  .site-footer .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:clamp(20px,4vw,38px)!important;
    row-gap:32px!important;
  }
  .site-footer .footer-grid>div:first-child{grid-column:auto!important}
}
@media(max-width:540px){
  .site-footer{padding-top:32px!important}
  .site-footer .wrap{width:calc(100% - 36px)!important;max-width:100%!important}
  .site-footer .footer-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:30px!important;
  }
  .site-footer .footer-grid>div:first-child{grid-column:auto!important}
  .site-footer .footer-brand{width:min(260px,100%)!important;margin-bottom:16px!important}
  .site-footer h3{font-size:19px!important;margin-bottom:13px!important}
  .site-footer .footer-grid p,.site-footer .footer-grid a{font-size:15px!important;line-height:1.65!important}
  .site-footer .footer-grid a{margin-bottom:9px!important}
  .site-footer .footer-contact-actions{gap:11px!important;max-width:340px!important}
  .site-footer .footer-contact-actions .footer-call,
  .site-footer .footer-contact-actions .footer-map-button{
    display:inline-flex!important;
    flex:0 0 auto!important;
    min-height:48px!important;
    max-width:100%!important;
    margin:0!important;
    padding:10px 16px!important;
    font-size:14px!important;
    line-height:1.4!important;
  }
  .site-footer .footer-address-plain{font-size:15px!important;line-height:1.65!important}
  .site-footer .footer-bottom{display:flex!important;flex-direction:column!important;gap:12px!important;margin-top:29px!important}
  .site-footer .footer-bottom a{display:inline-block!important;margin:0 18px 6px 0!important}
}
@media(max-width:360px){
  .site-footer .wrap{width:calc(100% - 28px)!important}
  .site-footer .footer-contact-actions .footer-map-button{white-space:normal!important}
}
/* Global layout safety: preserve grid content inside the viewport. */
.split>*,
.contact-grid>*,
.content-grid>*,
.cards>*,
.about-values>*,
.steps>*{min-width:0}
.form-grid .field,
.form-grid .field input,
.form-grid .field select,
.form-grid .field textarea{max-width:100%}
