/* Targeted repairs; original palette, fonts, layout and artwork remain in style.css. */
.header__contacts .contacts__item:empty,.header__contacts .contacts__item:has(.social__block:empty){display:none}
.header__contacts{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center}
.header__contacts .contacts__item{align-items:center;min-width:0}
.header__contacts .link{white-space:nowrap;color:var(--text-color)}
.header__contacts a.icon{flex-shrink:0;display:inline-flex}
.header__contacts a{padding:0;background:none;border:0;box-shadow:none}
.header__logo .logo a{display:block}
.navbar__expand:focus-within .dropdown:focus-within .dropdown__block{display:block;visibility:visible;opacity:1}
.service__banner .banner__slide{position:relative;isolation:isolate}
.service__banner .banner__img{z-index:0}
.service__banner .banner__img img{object-fit:cover}
.service__banner .banner__content{position:relative;z-index:1}
.service__banner .banner__img{background:var(--bg-color)}
.service__banner .service-banner-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,26,.72),rgba(10,14,26,.42) 60%,rgba(10,14,26,.18));pointer-events:none}
.banner__img img{display:block}
.content__inner a,.footer__contacts a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.content__inner{overflow-wrap:anywhere}
/* Shared contact panels: reference typography and full-width red contact actions. */
.contacts__block{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:40px}
.contact-card{min-width:0;color:var(--text-color)}
.contact-card__title{margin:0 0 24px;text-transform:uppercase}
.contact-card__details{display:grid;gap:24px;line-height:1.6;font-family:var(--base-reg)}
.contact-card__group p{margin:0}
.contact-card__group .contact-card__label{margin-bottom:8px}
.contact-card .contact-card__button{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:11px 16px;border:0;border-radius:8px;background:var(--base-color);color:#fff;font-family:var(--base-heavy);font-size:14px;font-weight:700;line-height:1.4;letter-spacing:.5px;text-align:center;text-transform:uppercase;text-decoration:none;overflow-wrap:anywhere;transition:background-color .2s}
.contact-card .contact-card__button:hover{background:#b61f36;color:#fff;text-decoration:none}
.contact-card__social-title{margin:24px 0 0;text-transform:uppercase}
.contacts__block>.map{height:100%;min-height:400px;min-width:0}
.contacts__block>.map iframe{width:100%;height:100%;min-height:400px}
@media(max-width:992px){.contacts__block{grid-template-columns:minmax(0,1fr);gap:32px}}
@media(max-width:576px){.contact-card__title{margin-bottom:20px}.contact-card__details{gap:20px}.contacts__block>.map,.contacts__block>.map iframe{min-height:320px}}
.servicepage__block{grid-template-columns:minmax(0,1fr) 300px}
.servicepage__block>*{min-width:0}
.servicepage__img img{max-width:100%;height:auto}
.section__servicepage{max-height:none}
main img{max-width:100%}
.stuffpage__gallery img{max-width:100%;object-fit:contain}
.gallery__auto .swiper-main .swiper-slide{position:relative;display:flex;align-items:center;justify-content:center;min-height:220px}
.gallery__auto .swiper-main .swiper-slide>img{width:100%;height:100%;object-fit:contain}
.gallery__auto .icon__full{position:absolute;z-index:3;right:12px;top:12px;display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:#fff;border-radius:4px}
.gallery__auto .icon__full svg{width:22px;height:22px}
.gallery__auto .icon__full svg path{fill:var(--bg-color)}
.gallery__auto .swiper-thumbs{margin:12px 0 24px}
.gallery__auto .swiper-thumbs .swiper-slide{cursor:pointer;border:2px solid transparent;border-radius:4px;overflow:hidden}
.gallery__auto .swiper-thumbs .swiper-slide-thumb-active{border-color:var(--base-color)}
.gallery__auto .swiper-thumbs img{width:100%;height:75px;object-fit:contain;background:#fff}
.gallery__auto .swiper__arrow{position:absolute;top:50%;z-index:3;cursor:pointer}
.gallery__auto .swiper__prev{left:0}
.gallery__auto .swiper__next{right:0}
.stuffpage__info .table-row{padding:14px 0;border-bottom:1px solid #ffffff20;line-height:1.5}
.stuffpage__info .text-uppercase{font-family:var(--base-heavy);font-weight:700;margin-bottom:6px}
.modal .close{color:white;opacity:1;background:transparent;border:0;padding:0 8px;min-width:40px}
.modal .callback__formblock{width:100%;max-width:100%}
.modal .callback__form{color:#fff}
.modal .form__group.title .h4{margin-bottom:8px}
.modal .form__group.title .h5{font-weight:400;line-height:1.45}
.modal .callback__form button[type=submit]{background:#fff;color:#a91d33;border-color:#fff}
.modal-dialog{margin:1.5rem auto;padding:0 12px;max-width:540px}
.modal-content{border:0;background:var(--bg-color)}
.consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;font-family:var(--base-reg);cursor:pointer}
.callback__form .consent input{width:18px;height:18px;flex:0 0 18px;margin-top:2px;accent-color:var(--base-color)}
.consent a{color:inherit;text-decoration:underline}
.booking-honeypot{position:absolute;left:-10000px}
.booking-status{margin-top:12px;line-height:1.5}
.booking-status.error{color:#ffe3a9}
.booking-status.success{color:#ccffde}
button:disabled{opacity:.6;cursor:wait}
:is(a,button,input):focus-visible{outline:2px solid #fff!important;outline-offset:4px!important}
#upbutton{display:none;align-items:center;justify-content:center;padding:0;color:var(--base-color);font-size:26px;transform:none}
#upbutton.visible{display:flex;opacity:1}
@media(max-width:992px){
 .header__contacts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 14px}
 .header__contacts .contacts__item{padding:0;border:0}
 .header__nav{grid-column:1/-1}
 .navbar__nav .nav__item.contacts__btn{display:block;padding:10px}
 .navbar__expand.open .navbar__collapse{max-height:75vh;overflow-y:auto}
}
/* The original mobile image is a 1px placeholder: use the intact desktop artwork. */
@media(max-width:768px){
 .mainslider__banner .banner__slide{height:auto;aspect-ratio:1440/576;min-height:0}
 .mainslider__banner .banner__img img{object-fit:contain}
}
@media(max-width:576px){
 .servicepage__block{grid-template-columns:minmax(0,1fr)}
 .header__contacts{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
 .header__contacts .contacts__item{padding:.5rem;justify-content:flex-start}
 .header__nav{grid-column:1/-1}
 .service__banner .banner__content{padding:30px 0;min-height:600px}
 .service__banner .banner__slide{height:auto;min-height:600px}
 .service__banner .h1{overflow-wrap:break-word}
 .pluses__item .item__text{overflow-wrap:break-word}
 .modal-dialog{margin:16px auto}
 .callback__formblock{padding:25px 20px!important}
 .footer__logo{justify-content:center}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
