/* Footer-only refinements, preserving the original navy brand palette. */
/* Address-only link to external Yandex Maps directions; original text layout stays intact. */
.nsv-address-route {
  color:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
  transition:color .15s ease;
}
.nsv-address-route:hover {
  color:#ea580c;
  text-decoration:underline;
}
.nsv-address-route:focus-visible {
  outline:2px solid #ea580c;
  outline-offset:3px;
  border-radius:3px;
}
.side-contact .nsv-address-route-aside {
  display:block;
  margin:-8px 0 18px;
  font-size:12px;
  line-height:1.55;
  color:#64748b;
  overflow-wrap:break-word;
}
.side-contact .nsv-address-route-aside:hover {color:#ea580c}

/* Static service and region links in all site footers. */
.nsv-footer-services {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:7px 17px;
  max-width:920px;
  margin:19px auto 6px;
  padding:0 8px;
  font-family:Manrope,Arial,sans-serif;
  font-size:11px;
  font-weight:650;
  line-height:1.6;
  text-align:center;
}
.nsv-footer-services a {
  color:#cbd5e1;
  text-decoration:none;
  border-radius:6px;
  white-space:normal;
  transition:color .15s ease;
}
.nsv-footer-services a:hover {
  color:#fff;
}
.nsv-footer-services a:focus-visible {
  outline:2px solid #fb923c;
  outline-offset:4px;
}
@media (max-width:767px) {
  .nsv-footer-services {
    gap:8px 13px;
    margin:15px auto 4px;
    padding:0 3px;
    font-size:10px;
  }
}

.nsv-footer-polished .nsv-footer-description {
  max-width: 720px;
  margin-inline: auto;
  color:#94a3b8;
  line-height:1.65;
  overflow-wrap:break-word;
}
.nsv-footer-polished .nsv-footer-bottom {
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:5px 24px;
  max-width:720px;
  margin:20px auto 0;
  padding-top:14px;
  border-top:1px solid rgba(148,163,184,.16);
}
.nsv-footer-polished .nsv-footer-copy {
  color:#94a3b8;
  font-size:11px;
  font-weight:500;
  line-height:1.5;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.nsv-footer-polished .nsv-footer-nav {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:2px 10px;
  min-width:0;
}
.nsv-footer-polished .nsv-footer-nav a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:7px 6px;
  box-sizing:border-box;
  color:#cbd5e1;
  font-size:11px;
  line-height:1.25;
  font-weight:600;
  text-decoration:none;
  text-align:center;
  white-space:normal;
  border-radius:8px;
  -webkit-tap-highlight-color:rgba(249,115,22,.15);
}
.nsv-footer-polished .nsv-footer-nav a:hover{color:#fff}
.nsv-footer-polished .nsv-footer-nav a:focus-visible{
  outline:2px solid #fb923c;
  outline-offset:2px;
}
@media(max-width:767px){
 .nsv-footer-polished .nsv-footer-bottom{
   flex-direction:column;
   gap:1px;
   max-width:100%;
   margin-top:17px;
   padding-top:13px;
 }
 .nsv-footer-polished .nsv-footer-nav{
   gap:0 4px;
   width:100%;
 }
 .nsv-footer-polished .nsv-footer-nav a{
   font-size:10px;
   padding:8px 4px;
   min-height:38px;
 }
}
/* Keep browser-native vertical swipes and two-finger pinch zoom available
   even when the touch starts over the horizontally scrollable catalog. */
@media(max-width:767px){
 #service-cards-container, #nsv-review-track{
   touch-action:pan-x pan-y pinch-zoom;
 }
}
@media(prefers-reduced-motion:reduce){
 html.scroll-smooth{scroll-behavior:auto!important}
 #service-cards-container, #nsv-review-track{scroll-behavior:auto!important}
 .nsv-footer-polished *{scroll-behavior:auto!important}
}
