

/* Start:/local/templates/main/css/base.css?1781694221594*/
/* ===== RESET ===== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* ===== BODY / TYPOGRAPHY ===== */
body {
  font-family: Inter, Arial, sans-serif;
  color: #111;
  line-height: 1.5;
  font-size: 16px;
}

/* ===== BUTTONS ===== */
.btn {
  padding: 16px 32px;
  text-decoration: none;
  font-weight: 600;
  border-radius: 4px;
  display: inline-block;
  text-align: center;
  transition: background .3s ease, color .3s ease;
}

.btn-main {
  background: #ff7a00;
  color: #fff;
}

.btn-outline {
  border: 2px solid #fff;
  color: #fff;
}

/* End */


/* Start:/local/templates/main/css/layout.css?1781723891757*/
/* ===== SECTIONS ===== */
.section {
  padding: 100px 40px;
  max-width: 1200px;
  margin: auto;
}

.section-full {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
}

.dark {
  background: #000;
  color: #fff;
}

.light {
  background: #fff;
}

.container {
  max-width: 1200px;
  margin: auto;
  padding: 2rem;
}

/* ===== GRID SYSTEM ===== */
.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 30px;
}

/* ===== FOOTER ===== */
.footer {
  background: #000;
  color: #fff;
  padding: 40px;
}

.footer-inner {
  display: flex;
  justify-content: space-between;
  max-width: 1200px;
  margin: auto;
}

.copyright {
  text-align: center;
  font-size: 14px;
}

/* End */


/* Start:/local/templates/main/css/sections.css?178172239210564*/
/* ===== HERO ===== */
.hero {
  height: 100vh;
  position: relative;
  overflow: hidden;
}

.hero video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}

.hero-center {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-align: center;
}

.subtitle {
  margin: 15px 0 30px;
}

/* ===== GALLERY ===== */
.gallery {
  position: relative;
  overflow: hidden;
  margin-top: 40px;
}

.gallery-track {
  display: flex;
  gap: 20px;
  transition: transform 0.5s ease;
}

.gallery-track img {
  width: 320px;
  height: 220px;
  object-fit: cover;
  border-radius: 8px;
  flex-shrink: 0;
}

.gallery-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #ff7a00;
  color: #fff;
  border: none;
  font-size: 32px;
  padding: 10px 16px;
  cursor: pointer;
  z-index: 2;
}

.gallery-btn.prev {
  left: 0;
}

.gallery-btn.next {
  right: 0;
}

/* ===== SERVICE CARD ===== */
.service-card {
  display: flex;
  flex-direction: column;
  padding: 40px;
  background: #f5f5f5;
  text-align: center;
  font-weight: 600;
  color: inherit;
  text-decoration: none;
  overflow: hidden;
  border-radius: 6px;
}

.service-card img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 6px;
  margin-bottom: 15px;
  display: block;
  transition: transform 0.35s ease;
}

.service-card:hover img {
  transform: scale(1.05);
}

/* ===== INFO CARDS ===== */
.info-card {
  text-align: center;
  padding: 30px 25px;
}

.info-card img {
  width: 64px;
  height: 64px;
  object-fit: contain;
  margin: 0 auto 20px;
  display: block;
}

/* ===== EXPERTISE ===== */
.expertise-block {
  position: relative;
  overflow: hidden;
}

.expertise-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.75), rgba(0,0,0,.9)), url("/local/templates/main/css/../img/expertise-bg.jpg") center/cover no-repeat;
  z-index: 1;
}

.expertise-content {
  position: relative;
  z-index: 2;
  text-align: center;
}

.expertise-text {
  max-width: 900px;
  margin: 30px auto 60px;
  font-size: 18px;
  line-height: 1.6;
  opacity: .9;
}

.expertise-grid {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.expertise-item strong {
  display: block;
  font-size: 36px;
  color: #ff7a00;
  margin-bottom: 10px;
}

.expertise-item span {
  font-size: 15px;
  opacity: .85;
}

.expertise-note {
  margin-top: 60px;
  font-size: 14px;
  opacity: .6;
}

/* ===== MODAL ===== */
.modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.8);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.modal.active {
  display: flex;
}

.modal-content {
  background: #fff;
  padding: 40px;
  max-width: 500px;
  width: 100%;
  position: relative;
  border-radius: 8px;
}

.modal-close {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 28px;
  background: none;
  border: none;
  cursor: pointer;
}

/* ===== FADE-UP ===== */
.fade-up {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-up.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ===== MEDIA QUERIES ===== */
@media (max-width: 768px) {
  body {
    font-size: 15px;
  }

  h1 {
    font-size: 28px;
    line-height: 1.25;
  }

  h2 {
    font-size: 24px;
    margin-bottom: 30px;
  }

  .section,
  .container {
    padding: 70px 20px;
  }

  .hero-center {
    padding: 20px;
  }

  .hero-buttons {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .hero-buttons a {
    width: 100%;
    text-align: center;
  }

  .services-grid {
    gap: 20px;
  }

  .service-card {
    padding: 25px 20px;
  }

  .service-card h3 {
    font-size: 18px;
    margin-bottom: 8px;
  }

  .service-card p {
    font-size: 14px;
    line-height: 1.4;
  }

  .gallery {
    overflow-x: auto;
  }

  .gallery-track {
    scroll-snap-type: x mandatory;
  }

  .gallery-track img {
    width: 260px;
    height: 180px;
    scroll-snap-align: start;
  }

  .gallery-btn {
    display: none;
  }

  /* MOBILE STICKY CTA */
  .mobile-cta {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #000;
    padding: 10px;
    display: flex;
    gap: 10px;
    z-index: 9999;
  }

  .mobile-cta .cta-btn {
    flex: 1;
    text-align: center;
    padding: 14px 10px;
    font-weight: 600;
    border-radius: 6px;
    text-decoration: none;
    font-size: 15px;
  }

  .mobile-cta .cta-btn.main {
    background: #ff7a00;
    color: #fff;
  }

  .mobile-cta .cta-btn.phone {
    background: #1c1c1c;
    color: #fff;
    border: 1px solid #333;
  }

}

/* ===== PROCESS TIMELINE ===== */
.process-timeline {
    max-width: 800px;
    margin: 60px auto 0;
    position: relative;
}

.process-timeline::before {
    content: '';
    position: absolute;
    left: 35px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(to bottom, #ff7a00, rgba(255,122,0,0.1));
}

.process-step {
    display: flex;
    gap: 30px;
    margin-bottom: 50px;
    position: relative;
}

.process-step:last-child {
    margin-bottom: 0;
}

.step-marker {
    width: 70px;
    height: 70px;
    min-width: 70px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ff7a00, #e05d00);
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2;
    box-shadow: 0 0 0 8px rgba(255,122,0,0.15), 0 8px 32px rgba(255,122,0,0.3);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.process-step:hover .step-marker {
    transform: scale(1.1);
    box-shadow: 0 0 0 12px rgba(255,122,0,0.25), 0 12px 40px rgba(255,122,0,0.4);
}

.step-body {
    padding-top: 12px;
}

.step-body h3 {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 8px;
    color: #fff;
}

.step-body p {
    font-size: 16px;
    opacity: 0.8;
    line-height: 1.6;
    color: rgba(255,255,255,0.85);
}

/* ===== MAP FULLWIDTH ===== */
.map-fullwidth {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}

.map-container {
    width: 100%;
    height: 500px;
    overflow: hidden;
    position: relative;
}

.map-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}
/* ===== FOOTER (FINAL) ===== */
.footer {
    background: #0a0a0a;
    color: #fff;
    padding: 0;
}

.footer-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 70px 40px 40px;
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1.5fr;
    gap: 50px;
}

.footer-col {
    display: flex;
    flex-direction: column;
}

.footer-logo {
    display: inline-block;
    margin-bottom: 20px;
}

.footer-logo img {
    height: 26px;
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

.footer-desc {
    font-size: 14px;
    line-height: 1.7;
    color: rgba(255,255,255,0.45);
    max-width: 280px;
}

.footer-col h4 {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: rgba(255,255,255,0.35);
    margin-bottom: 24px;
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 12px;
}

.footer-links a {
    color: rgba(255,255,255,0.65);
    text-decoration: none;
    font-size: 15px;
    transition: color 0.3s ease;
}

.footer-links a:hover {
    color: #ff7a00;
}

.footer-contact {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer-phone {
    font-size: 20px;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-phone:hover {
    color: #ff7a00;
}

.footer-email {
    font-size: 15px;
    color: rgba(255,255,255,0.65);
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-email:hover {
    color: #ff7a00;
}

.footer-address {
    font-size: 14px;
    color: rgba(255,255,255,0.45);
    line-height: 1.7;
}

/* ===== FOOTER BOTTOM BAR ===== */
.footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.06);
    padding: 24px 40px;
}

.footer-bottom .footer-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    gap: 30px;
    flex-wrap: wrap;
}

.copyright {
    font-size: 13px;
    color: rgba(255,255,255,0.35);
    margin-right: auto;
}

.footer-bottom-link {
    font-size: 13px;
    color: rgba(255,255,255,0.5);
    text-decoration: none;
    transition: color 0.3s ease;
    white-space: nowrap;
}

.footer-bottom-link:hover {
    color: #ff7a00;
}

/* ===== MOBILE CTA = отключена ===== */
.mobile-cta {
    display: none;
}

/* ===== MAP FULLWIDTH ===== */
.map-fullwidth {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}

.map-container {
    width: 100%;
    height: 500px;
    overflow: hidden;
    position: relative;
}

.map-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/* ===== MEDIA QUERIES ===== */
@media (max-width: 992px) {
    .footer-inner {
        grid-template-columns: 1fr 1fr;
        padding: 50px 30px 30px;
        gap: 40px;
    }
    
    .map-container {
        height: 350px;
    }
}

@media (max-width: 768px) {
    .footer-inner {
        grid-template-columns: 1fr;
        padding: 40px 20px 30px;
        gap: 30px;
    }
    
    .footer-desc {
        max-width: 100%;
    }
    
    .footer-bottom .footer-inner {
        flex-wrap: wrap;
        justify-content: center;
        text-align: center;
        gap: 15px;
    }
    
    .copyright {
        margin-right: 0;
        width: 100%;
    }
    
    .map-container {
        height: 300px;
    }
}
/* End */


/* Start:/local/templates/main/css/photobox.css?177787728711940*/
/* Normilizes box-sizing  */
#pbOverlay *,
#pbOverlay *:before,
#pbOverlay *:after {
     -moz-box-sizing: content-box;
          box-sizing: content-box;
}


#pbOverlay.show{ opacity:1; pointer-events:auto; }
#pbOverlay{
	opacity:0; overflow:hidden; width:100%; height:100%; position:fixed; z-index:9999; left:0; top:0; text-align:center; pointer-events:none;
	-moz-user-select:none;
	background:rgba(0,0,0,.90);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e2000000', endColorstr='#e2000000');
	/* background:radial-gradient(rgba(0,0,0,.6) 0%, rgba(0,0,0,.9) 100%); */
	-webkit-transform:translate3d(0);
	transition:opacity 300ms ease;
}

#pbOverlay.msie{ background-color:rgba(0,0,0,.6); }
.msie.pbLoading .pbWrapper{ background:url('/local/templates/main/css/../images/loading.gif') no-repeat center center; }

@keyframes pbLoaderFrames{ 50%{ height:5px; } }
@-webkit-keyframes pbLoaderFrames{ 50%{ height:5px; } }

.pbLoader{ display:none; width:100px; height:100px; position:absolute; z-index:999; top:0; left:0; right:0; bottom:0; margin:auto; text-align:center; border-radius:100%; box-shadow:15px 32px 60px -20px #FFF inset, 1px 1px 3px 1px #FFF inset, 0 0 20px; transition:.3s; }
.thumbs .pbLoader{ -webkit-transform:translateY(-50px); transform:translateY(-50px); }
.pbLoading:not(.msie):not(.error) .pbLoader{ display:block; }
	.pbLoader b{ display:inline-block; vertical-align:middle; margin:0 2px; width:8px; height:60px; border-radius:5px; background:rgba(255,255,255,.8); box-shadow:0 0 10px rgba(0,0,0,.5); -webkit-animation:.9s pbLoaderFrames infinite linear; animation:.9s pbLoaderFrames infinite linear; }
	.pbLoader b:nth-child(2){ -webkit-animation-delay:.3s; animation-delay:.3s; }
	.pbLoader b:nth-child(3){ -webkit-animation-delay:.6s; animation-delay:.6s; }

.mobile.pbLoading .pbLoader{ transform:none; transition:0s; }

.pbWrapper:after,
#pbCaption .pbThumbs ul:after,
#pbOverlay .prevNext:after,
#pbOverlay .pbLoader:before{ content:""; display:inline-block; height:100%; margin-right:-.25em; vertical-align:middle; }

/* Animation when image was not loaded */
@keyframes deadImage{ 50%{ text-shadow:0 0 25px rgba(255,255,255,.5); transform:scale(.85); } }
@-webkit-keyframes deadImage{ 50%{ text-shadow:0 0 25px rgba(255,255,255,.5); -webkit-transform:scale(.85); } }

#pbOverlay button{ outline:0 !important; box-shadow:0; }


.pbWrapper{ -moz-box-sizing:border-box; box-sizing:border-box; transform:rotate(0deg); vertical-align:middle; height:100%; perspective:1200px; position:relative;  }
.video > .pbWrapper{ z-index:11; display:inline-block; }
	/*#pbOverlay.error .pbWrapper{ display:inline-block; width:100%; }*/
	.pbLoading .pbWrapper{ display:inline-block\9; width:100%; } /* ie8+9 hack */
	.pbWrapper:before{ content:'\2716'; color:transparent; text-shadow:0 2px 35px rgba(255,255,255,0); font-size:0; vertical-align:middle; cursor:default; transition:text-shadow .7s ease-out; }
	.error .pbWrapper:before{ font-size:22em; text-shadow:0 0 0 #FFF; -webkit-animation:2s 1s deadImage infinite linear; animation:2s 1s deadImage infinite linear; }
	.thumbs .pbWrapper{ padding:0; margin:0; }
	.error .pbWrapperr img{ width:0; }

	.pbWrapper > div{ display:none; width:624px; height:351px; vertical-align:middle; border-radius:5px; background:rgba(0,0,0,.5); }
	.video > .pbWrapper > div{ display:inline-block; }

	#pbOverlay iframe,
	#pbOverlay embed,
	#pbOverlay object{ display:block; width:100%; height:100%; opacity:1; transition:.5s; }

	.pbWrapper .pbHide iframe{ opacity:0; }

	.pbWrapper > div,
	.pbWrapper > img{
		transition:.5s .5s cubic-bezier(.1, .87, .48, 1);

		-webkit-transform:none;
		-ms-transform:none;
		transform:none;

		-webkit-backface-visibility:hidden;
		box-shadow:0 0 20px #000;
		opacity: 1;
	}

	/* FOR MOBILE */
	.mobile.show .pbWrapper > div,
	.mobile.show .pbWrapper > img{
		transition:30ms;
	}

	/* Content effects */
	.pbWrapper > *,
	.pbHide .pbWrapper > .prepare{ opacity:0; vertical-align:middle; -webkit-transform:scale(.2) rotateX(80deg); -ms-transform:scale(.2) rotateX(80deg); transform:scale(.2) rotateX(80deg); border-radius:6px; border:none; max-height:95%; max-width:100%; }
	.on .pbWrapper > *{ transition-delay:0s; }
	.pbWrapper .zoomable{ -webkit-transition:0s; transition:0s; position:relative; z-index:9; }
	.pbWrapper .rotating{ -webkit-transition:.25s cubic-bezier(.4,.04,0,1); transition:.25s cubic-bezier(.4,.04,0,1); }
	.pbHide .pbWrapper > *{ -webkit-transform:scale(1.2); transform:scale(1.2); transform:none\9; opacity:0; transition:.4s ease-out; }



/*-- close button --*/
#pbCloseBtn,
#pbAutoplayBtn{ position:absolute; top:-50px; right:-50px; z-index:999; display:block; padding:0 0 20px 20px; text-align:center; cursor:pointer; color:#FFF; transition:.3s .3s ease-out; }
.pbHide #pbCloseBtn{ top:-50px; right:-50px; }
.on #pbCloseBtn{ top:-2px; right:-2px; }

#pbCloseBtn:before{ content:'\00D7'; font:bold 1em/1 arial; }
#pbCloseBtn:before, #pbAutoplayBtn:before{ display:inline-block; height:35px; width:35px; padding:8px 8px 12px 12px; font-size:2em; opacity:.8; vertical-align:middle; background:rgba(255,255,255,.2); border-radius:0 0 0 70px; transition:.1s ease-out; }
#pbCloseBtn:hover:before{ padding:15px 10px 24px 24px; background:rgba(255,100,100,.4); }

/*-- autoplay controller --*/
#pbAutoplayBtn{ display:none; right:auto; left:-50px; padding:0; width:50px; height:50px; font-size:13px; }
.hasAutoplay #pbAutoplayBtn{ display:block; }
#pbAutoplayBtn:hover{ width:60px; height:60px; }
.on #pbAutoplayBtn{ top:0px; left:0px; transition:.1s ease-out; }
	#pbAutoplayBtn:before{ content:'\2016'; width:100%; height:100%; border-radius:0 0 70px 0; font-weight:bold; padding:0; text-indent:-6px; line-height:1.6; }
	#pbAutoplayBtn:active:before{ text-shadow:0 0 3px #FFF, 0 0 6px #FFF; }
	#pbAutoplayBtn.play:before{ content:'\25BA'; }

	#pbAutoplayBtn .pbProgress{ display:none\9; width:100%; height:100%; overflow:hidden; position:absolute; padding:6px; top:0; left:0; opacity:.2; transform:rotateZ(0deg); -webkit-transform:rotateZ(0deg); -ms-transform:rotateZ(0deg); -webkit-transform-origin:0 0; -ms-transform-origin:0 0; transform-origin:0 0; -webkit-transition:.3s; transition:.3s; }
	.mobile #pbAutoplayBtn .pbProgress{ -webkit-transition:0s; transition:0s; }
	#pbAutoplayBtn.playing .pbProgress{ -webkit-transform:rotateZ(90deg); -ms-transform:rotateZ(90deg); transform:rotateZ(90deg); }
	#pbAutoplayBtn .pbProgress:before{ content:''; position:absolute; right:0; bottom:0; width:200%; height:200%; border-radius:50%; box-shadow:0 0 0 8px #FFF inset; }

#pbCaption,
.pbHide #pbCaption{ position:absolute; z-index:999; margin-bottom:5px; bottom:-120px; width:100%; overflow:hidden; transform:translateZ(0px); transition:.4s; }
.show.on #pbCaption{ bottom:0; transition-delay:.5s; }
	#pbOverlay.thumbs #pbCaption label{ display:block; }
	#pbCaption label{ display:none; float:right; margin:0 1em; color:#FFF; opacity:.3; transition:.2s; cursor:pointer; }
	#pbCaption label:after{ content:'\276F'; font-size:30px; line-height:30px; display:inline-block; transform:rotate(-90deg); transition:.2s ease-out; }
	#pbCaption label:hover{ opacity:1; }
	#pbCaption .title,
	#pbCaption .counter{ display:inline-block; color:#FFF; margin:0 6px; }
	#pbCaption .counter{ display:none; opacity:.55; }
	.hasCounter #pbCaption .counter{ display:inline-block; }
	.pbCaptionText{ display:inline-block; transition:.3s; opacity:.9; font-weight:bold; vertical-align:middle; text-shadow:1px 1px 1px rgba(0,0,0,.5); padding-left:60px; } /* padding-left from <label> */
	.pbCaptionText.change{ -webkit-transform:translateY(25px); transform:translateY(25px); opacity:0; }
	#pbCaption .rotateBtn{ display:none; background:none; border:0; font:800 1.7em/0 Arial; vertical-align:middle; color:rgba(255,255,255,.5); width:1.1em; height:1.1em; padding:0; border-radius:50%; background:rgba(0,0,0,.2); cursor:pointer; transition:.15s ease-out; }
	#pbCaption .rotateBtn.show{ display:block; float:right; }
	#pbCaption .rotateBtn:hover{ color:rgba(255,255,255,.7); }
	#pbCaption .rotateBtn:active{ color:white; background:rgba(0,0,0,.4); }

.mobile #pbCaption label{ display:none; z-index:-1; color:red; }
.mobile .pbCaptionText{ padding:0; }

/* hide thumbnails */
#pbThumbsToggler:checked ~ #pbCaption .pbThumbs{ margin:0; }
#pbThumbsToggler:checked ~ #pbCaption label:after{ transform:rotate(90deg) }
#pbThumbsToggler:checked ~ .pbWrapper{ margin-top:-50px; padding:50px 0; }

.pbThumbs{ display:none; transition:.35s; -webkit-overflow-scrolling:touch; }
.thumbs .pbThumbs{ display:block; width:100%; padding:5px 0 2px; margin-bottom:-100px; overflow:hidden; }
.mobile .pbThumbs{ overflow:auto; }
.pbThumbs:hover{ clear:both; }
	.pbThumbs ul{ display:inline-block; position:relative; list-style:none; height:80px; padding:0 5px; margin:0; white-space:pre; transition:.2s; }
	.pbThumbs ul:after{ vertical-align:bottom; }
		.pbThumbs li{ display:inline-block; vertical-align:bottom; height:70%; opacity:.6; text-align:center; position:relative; transition:.15s; }
		.pbThumbs li.active{ height:100%; opacity:1; }
		.pbThumbs li:hover{ height:100%; opacity:1; }
		.pbThumbs li.video::before{ content:'\25BA'; color:#FFF; font-size:20px; height:20px; width:20px; line-height:.9; position:absolute; bottom:4px; left:7px; background:rgba(0,0,0,.4); box-shadow:0 0 0 3px rgba(0,0,0,.4); border-radius:0 3px 0 0; pointer-events:none; }
			.pbThumbs a{ height:100%; padding:0 2px; display:block; -moz-user-select:none; }
			.pbThumbs li:hover a{  }
				.pbThumbs img{ height:96%; min-height:95.9%; border:2px solid #FFF; max-width:none; border-radius:0; transition:.15s; }
				.pbThumbs li:hover img{ min-height:96%; } /* fix a bug in Chrome and Opera */
				.pbThumbs li.fast a img{ transition:none; }
				.pbThumbs li.active a img{ border-color:#D8FF16; min-height:96%; }

#pbOverlay .prevNext{ display:none; background:rgba(0,0,0,0); position:absolute; z-index:10; height:100%; width:35%; padding:80px 0; opacity:0; box-sizing:border-box; -moz-box-sizing:border-box; top:0; transition:.2s ease-out; text-shadow:0 0 12px #000, 0 0 10px #FFF; user-select:none; filter:alpha(opacity=0); cursor:pointer; }
#pbOverlay.hasArrows .prevNext{ display:block; }
#pbOverlay .prevNext.pbHide{ display:none; }
#pbOverlay.on .prevNext:hover{ opacity:.5; filter:alpha(opacity=50); }
#pbOverlay.on .prevNext:hover:active{ transition:80ms; opacity:1; filter:alpha(opacity=100); text-shadow:0 0 16px #FFF, 0 0 10px #000; }
	.prevNext b{ display:inline-block; vertical-align:middle; transition:.2s ease-in; }
	.prevNext:hover b{ transition:.2s cubic-bezier(.095, .870, .485, .985); }
	#pbPrevBtn b{ transform:scale(.4) translateX(350px); -webkit-transform:scale(.4) translateX(350px); }
	#pbNextBtn b{ transform:scale(.4) translateX(-350px); -webkit-transform:scale(.4) translateX(-350px); }
	/* */
	#pbPrevBtn b:before,
	#pbNextBtn b:after{ display:inline; line-height:.3; font-size:18em; font-weight:normal; color:#FFF; font-family:Arial; }

	#pbPrevBtn b:before{ content:'\2039'; }
	#pbNextBtn b:after{ content:'\203A'; }
	/* */
	.on #pbPrevBtn:hover b{ transform:scale(1) translateX(20px); -webkit-transform:scale(1) translateX(20px); }
	.on #pbNextBtn:hover b{ transform:scale(1) translateX(-20px); -webkit-transform:scale(1) translateX(-20px); }

.show #pbPrevBtn, #pbOverlay.show #pbNextBtn{  }
.show #pbPrevBtn{ left:0; text-align:left; }
.show #pbNextBtn{ right:0; text-align:right; }

/*------- media queries (for small screens) -----------*/
@media all and (max-width:700px){
	.pbWrapper img,
	.pbHide .pbWrapper img.prepare{ max-height:100%; }

	.thumbs .pbWrapper{ padding:0; margin:0; }
	.pbThumbs{ margin-bottom:-60px; }
	.pbThumbs.show{ margin:0; }

	.pbThumbs ul{ height:50px; }
		.pbThumbs li{ height:100%; opacity:1; }
		.pbThumbs li img{ min-height:96.5%; }
}
/* fix for Chrome */
@media all and (max-width:710px){
	.pbThumbs li.active a img{ min-height:96%; }
}


/* End */


/* Start:/local/templates/main/css/photobox.ie.css?1777877287363*/
#pbOverlay{ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e6000000', endColorstr='#e6000000'); }

#pbOverlay .prevNext{ filter:alpha(opacity=0); }
#pbOverlay.on .prevNext:hover{ filter:alpha(opacity=60); }
#pbOverlay.on .prevNext:active{ filter:alpha(opacity=100); }

#pbPrevBtn b:before{ content:'‹'; }
#pbNextBtn b:after{ content:'›'; }
/* End */


/* Start:/local/templates/main/template_styles.css?178172231615701*/
body:not(.home-page) .header,
body:not(.home-page) header,
body:not(.home-page) #header,
body:not(.home-page) .b-header,
body:not(.home-page) .site-header {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  min-height: auto !important;
  height: auto !important;
  background: #ffffff !important;
  border-bottom: 1px solid #eaeaea;
}

body:not(.home-page) .header a,
body:not(.home-page) header a,
body:not(.home-page) .header nav a,
body:not(.home-page) header nav a,
body:not(.home-page) .header .menu a,
body:not(.home-page) header .menu a,
body:not(.home-page) .header .nav-link,
body:not(.home-page) header .nav-link {
  color: #000000 !important;
}

body.inner-page .menu.menu--cta:not(.menu--bg) {
  background-color: #fff !important;
  border-bottom: 1px solid #e0e0e0;
}

body.inner-page .menu.menu--cta:not(.menu--bg) .menu-list a {
  color: #000 !important;
}

body.inner-page .menu.menu--cta:not(.menu--bg) .menu-cta {
  color: #000 !important;
  border-color: #000 !important;
}

body.inner-page .menu.menu--cta:not(.menu--bg) .menu-burger span {
  background-color: #000 !important;
}

body.scrolled:not(.home-page) .header,
body.scrolled:not(.home-page) header,
body.scrolled:not(.home-page) #header,
body.scrolled:not(.home-page) .b-header,
body.scrolled:not(.home-page) .site-header,
body:not(.home-page) .header.scrolled,
body:not(.home-page) header.scrolled,
body.inner-page .menu.menu--cta.menu--bg {
  background: #000000 !important;
  border-bottom: 1px solid #333;
}

body.scrolled:not(.home-page) .header a,
body.scrolled:not(.home-page) header a,
body.scrolled:not(.home-page) .header nav a,
body.scrolled:not(.home-page) header nav a,
body:not(.home-page) .header.scrolled a,
body:not(.home-page) header.scrolled a,
body.inner-page .menu.menu--cta.menu--bg .menu-list a {
  color: #ffffff !important;
}

body.inner-page .menu.menu--cta.menu--bg .menu-cta {
  color: #fff !important;
  border-color: #fff !important;
}

body.inner-page .menu.menu--cta.menu--bg .menu-burger span {
  background-color: #fff !important;
}

body:not(.home-page) .header .container,
body:not(.home-page) header .container,
body:not(.home-page) .header .wrapper,
body:not(.home-page) header .wrapper {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

body:not(.home-page) .content,
body:not(.home-page) main,
body:not(.home-page) #content,
body:not(.home-page) .wrapper,
body:not(.home-page) .page-content,
body:not(.home-page) .site-content,
body:not(.home-page) .b-content,
body.inner-page .main-content {
  padding-top: 80px !important;
  margin-top: 0 !important;
}

body.inner-page .menu.menu--cta,
body.inner-page .menu.menu--cta .menu-list a,
body.inner-page .menu.menu--cta .menu-cta,
body.inner-page .menu.menu--cta .logo img,
body.inner-page .menu.menu--cta .menu-burger span {
  transition: all 0.3s ease !important;
}

.catalog-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 30px;
}

.catalog-pagination .bx-pagination {
    margin: 0;
}

.catalog-pagination .bx-pagination .bx-pagination-container {
    display: flex;
    gap: 6px;
}

.catalog-pagination .bx-pagination .bx-pagination-container ul {
    display: flex;
    gap: 6px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.catalog-pagination .bx-pagination .bx-pagination-container li {
    display: inline-block;
}

.catalog-pagination .bx-pagination .bx-pagination-container a,
.catalog-pagination .bx-pagination .bx-pagination-container span {
    display: inline-block;
    padding: 8px 14px;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    font-size: 14px;
    color: #1a1a1a;
    text-decoration: none;
    transition: all 0.3s ease;
    min-width: 36px;
    text-align: center;
}

.catalog-pagination .bx-pagination .bx-pagination-container a:hover {
    background: #f5f6f8;
    border-color: #ccc;
}

.catalog-pagination .bx-pagination .bx-pagination-container .bx-active span {
    background: #ff7a00;
    color: #ffffff;
    border-color: #ff7a00;
}

.catalog-breadcrumbs {
    font-size: 14px;
    color: #888;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eeeeee;
}

.catalog-breadcrumbs a {
    color: #666;
    text-decoration: none;
    transition: color 0.3s ease;
}

.catalog-breadcrumbs a:hover {
    color: #ff7a00;
}

.catalog-breadcrumbs .separator {
    margin: 0 8px;
    color: #ccc;
}

.catalog-breadcrumbs .current {
    color: #1a1a1a;
    font-weight: 500;
}


.catalog-product-detail-title-accent {
    color: #ff7a00;
}

.cust-info-wrap {
  margin: 0 auto;
  font-size: 15px;
  line-height: 1.7;
  color: #2c2c2c;
}

.cust-info-wrap h1,
.cust-info-wrap h2 {
  font-size: 28px;
  font-weight: 400;
  color: #1a1a1a;
  margin: 0 0 30px 0;
  padding-bottom: 15px;
  border-bottom: 1px solid #cccccc;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1.2;
}

.cust-info-wrap h3 {
  font-size: 17px;
  font-weight: 600;
  color: #1a1a1a;
  margin: 35px 0 15px 0;
  padding: 0;
  border: none;
  line-height: 1.3;
}

.cust-info-wrap p {
  margin: 0 0 16px 0;
  padding: 0;
  line-height: 1.7;
  text-indent: 0;
}

.cust-info-wrap strong {
  font-weight: 600;
  color: #111;
}

.cust-info-wrap em {
  font-style: italic;
}

.cust-info-wrap ul,
.cust-info-wrap ol {
  margin: 0 0 20px 25px;
  padding: 0;
}
.cust-info-wrap li {
  margin-bottom: 8px;
  line-height: 1.6;
}

.cust-info-wrap table,
.cust-info-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0 30px 0;
  font-size: 14px;
  line-height: 1.5;
  border: 1px solid #d9d9d9;
}
.cust-info-wrap table thead th,
.cust-info-table thead th {
  background: #f2f2f0;
  text-align: left;
  padding: 12px 16px;
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #444;
  border-bottom: 2px solid #cccccc;
}
.cust-info-wrap table tbody td,
.cust-info-table tbody td {
  padding: 10px 16px;
  border-bottom: 1px solid #e8e8e5;
  vertical-align: top;
}
.cust-info-wrap table tbody tr:hover,
.cust-info-table tbody tr:hover {
  background: #fafaf8;
}

.cust-info-alert {
  background: #f9f9f7;
  border-left: 4px solid #999;
  padding: 20px 25px;
  margin: 0 0 30px 0;
  line-height: 1.7;
}
.cust-info-alert p {
  margin-bottom: 12px;
}
.cust-info-alert p:last-child {
  margin-bottom: 0;
}

.cust-info-quote {
  background: #f7f7f5;
  border-left: 3px solid #aaa;
  padding: 18px 24px;
  margin: 20px 0;
  line-height: 1.7;
}
.cust-info-quote p {
  margin-bottom: 10px;
}
.cust-info-quote p:last-child {
  margin-bottom: 0;
}

.cust-info-conclusion {
  background: #f5f5f2;
  padding: 20px 24px;
  margin: 25px 0;
  border: 1px solid #e0e0dd;
  line-height: 1.7;
}
.cust-info-conclusion p {
  margin-bottom: 10px;
}
.cust-info-conclusion p:last-child {
  margin-bottom: 0;
}

.cust-info-about {
  background: #1a1a1a;
  color: #cccccc;
  padding: 24px 28px;
  margin-top: 35px;
  line-height: 1.7;
}
.cust-info-about p {
  margin-bottom: 10px;
}
.cust-info-about p:last-child {
  margin-bottom: 0;
}
.cust-info-about strong {
  color: #ffffff;
}

.cust-info-wrap a {
  color: #1a1b1e;
  text-decoration: none;
}
.cust-info-wrap a:hover {
  color: #ff7a00;
}

.cust-info-wrap h3 + p {
  margin-top: 0;
}

.cust-info-wrap > * {
  margin-bottom: 16px;
}

.weight-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: #d4d4d4;
  border: 1px solid #d4d4d4;
  margin: 20px 0 30px 0;
}

.weight-card {
  background: #ffffff;
  padding: 22px 18px;
  text-align: left;
  transition: background 0.15s ease;
}

.weight-card:hover {
  background: #f5f5f3;
}

.weight-card h4 {
  font-size: 0.8rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #888;
  margin: 0 0 6px 0;
  padding: 0;
  border: none;
  line-height: 1.3;
}

.weight-card .thickness {
  font-size: 0.85rem;
  color: #555;
  margin-bottom: 10px;
  line-height: 1.3;
}

.weight-card .mass {
  font-size: 1.7rem;
  font-weight: 300;
  color: #1a1a1a;
  letter-spacing: 0.01em;
  line-height: 1.2;
}

.weight-card .mass span {
  font-size: 0.8rem;
  font-weight: 400;
  color: #777;
  margin-left: 2px;
}

.contacts-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-bottom: 50px;
}
.contacts-info h3 {
  font-size: 15px;
  font-weight: 600;
  color: #1a1a1a;
  margin: 0 0 10px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.contacts-info p {
  margin: 0 0 20px;
  font-size: 15px;
  color: #444;
}
.contacts-info a {
  color: #1a5c8a;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s;
}
.contacts-info a:hover {
  border-bottom-color: #1a5c8a;
}
.contacts-phones {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 20px;
}
.contacts-phones a {
  font-size: 15px;
}
.contacts-requisites {
  background: #f7f7f5;
  padding: 24px 28px;
  border: 1px solid #e0e0e0;
  font-size: 14px;
  line-height: 1.8;
}
.contacts-requisites h3 {
  font-size: 15px;
  font-weight: 600;
  color: #1a1a1a;
  margin: 0 0 15px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.contacts-map {
  width: 100%;
  height: 450px;
  background: #e8e8e5;
  border: 1px solid #d4d4d4;
  margin-bottom: 50px;
}
.contacts-map iframe {
  width: 100%;
  height: 100%;
  border: none;
}
.contacts-news {
  background: #fafaf8;
  border-left: 4px solid #8b8b8b;
  padding: 20px 25px;
  font-size: 14px;
  color: #555;
  margin-top: 30px;
}
.contacts-news strong {
  color: #1a1a1a;
}


.about-page h2 {
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 0.04em;
  color: #1a1a1a;
  margin: 0 0 35px;
  padding-bottom: 18px;
  border-bottom: 1px solid #d4d4d4;
  text-transform: uppercase;
}
.about-page h3 {
  font-size: 18px;
  font-weight: 600;
  color: #000;
  margin: 30px 0 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e8e8e5;
}
.about-page p {
  font-size: 16px;
  color: #2c2c2c;
  margin: 0 0 16px;
  line-height: 1.7;
}
.about-page ul {
  margin: 0 0 20px 20px;
  padding: 0;
}
.about-page li {
  font-size: 16px;
  color: #2c2c2c;
  margin-bottom: 8px;
  line-height: 1.6;
  padding-left: 4px;
}
.about-facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 30px 0;
}
.about-fact {
  background: #f7f7f5;
  border: 1px solid #e8e8e5;
  padding: 24px 22px;
  text-align: center;
}
.about-fact-number {
  font-size: 36px;
  font-weight: 300;
  color: #000;
  line-height: 1;
  margin-bottom: 8px;
}
.about-fact-text {
  font-size: 13px;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.about-bottom {
  background: #1a1a1a;
  color: #ccc;
  padding: 28px 32px;
  margin-top: 35px;
  font-size: 15px;
  line-height: 1.7;
}
.about-bottom strong {
  color: #fff;
}

/* Адаптив */
@media (max-width: 768px) {
  .about-page {
    font-size: 15px;
  }
  .about-page h2 {
    font-size: 22px;
  }
  .about-facts {
    grid-template-columns: 1fr;
  }
  .cust-info-wrap {
    font-size: 14px;
    padding: 0 5px;
  }
  .cust-info-wrap h2 {
    font-size: 22px;
  }
  .cust-info-wrap h3 {
    font-size: 16px;
  }
  .cust-info-wrap table,
  .cust-info-table {
    font-size: 13px;
  }
  .cust-info-wrap table thead th,
  .cust-info-wrap table tbody td,
  .cust-info-table thead th,
  .cust-info-table tbody td {
    padding: 8px 10px;
  }
  .contacts-grid {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .contacts-wrap h2 {
    font-size: 22px;
  }
  .contacts-map {
    height: 300px;
  }
}
@media (max-width: 900px) {
  .weight-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 500px) {
  .weight-grid {
    grid-template-columns: 1fr;
  }
}



.price-table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0 30px;
    font-size: 14px;
    line-height: 1.5;
    border: 1px solid #d9d9d9;
}

.price-table thead th {
    background: #f2f2f0;
    text-align: center;
    padding: 12px 16px;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #444;
    border-bottom: 2px solid #cccccc;
}

.price-table tbody td {
    padding: 10px 16px;
    text-align: center;
    border-bottom: 1px solid #e8e8e5;
    vertical-align: middle;
}

.price-table tbody tr:hover {
    background: #fafaf8;
}

.price-table tbody td:first-child {
    font-weight: 600;
    color: #1a1a1a;
}

.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 768px) {
    .price-table {
        font-size: 13px;
    }
    .price-table thead th,
    .price-table tbody td {
        padding: 8px 10px;
        white-space: nowrap;
    }
}

@media (max-width: 480px) {
    .price-table {
        font-size: 12px;
    }
    .price-table thead th,
    .price-table tbody td {
        padding: 6px 8px;
        font-size: 11px;
    }
}
/* ===== Блок "Почему нам доверяют" ===== */
#why {
    padding: 80px 0;
}

#why h2 {
    text-align: center;
    font-weight: 400;
    font-size: 28px;
    color: #1a1a1a;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin: 0 0 50px 0;
    padding-bottom: 15px;
    border-bottom: 1px solid #cccccc;
}

.trust-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.trust-item {
    text-align: center;
    padding: 30px 20px;
    background: #ffffff;
    border-radius: 6px;
    border: 1px solid #e8e8e5;
    transition: all 0.3s ease;
}

.trust-item:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
    border-color: #ff7a00;
}

.trust-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    margin: 0 auto 16px;
    background: rgba(255, 122, 0, 0.08);
    border-radius: 50%;
    transition: background 0.3s ease;
}

.trust-item:hover .trust-icon {
    background: rgba(255, 122, 0, 0.16);
}

.trust-item h3 {
    font-size: 16px;
    font-weight: 600;
    color: #1a1a1a;
    margin: 0 0 8px 0;
}

.trust-item p {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin: 0;
}

/* ===== Адаптивность ===== */
@media (max-width: 992px) {
    .trust-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    #why {
        padding: 50px 0;
    }
}

@media (max-width: 576px) {
    .trust-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    
    .trust-item {
        padding: 24px 16px;
    }
    
    #why h2 {
        font-size: 22px;
        margin-bottom: 30px;
    }
}
@media (max-width: 992px) {
  .container {
    padding: 0 16px;
  }
}

@media (max-width: 768px) {
  .container {
    padding: 0 14px;
  }
}

@media (max-width: 480px) {
  .container {
    padding: 0 12px;
  }
}
/* End */


/* Start:/local/templates/main/components/bitrix/main.feedback/modal_form/style.css?17816989887936*/
/* ===== MODAL FEEDBACK ===== */
.modal-feedback {
    width: 100%;
}

/* Errors */
.modal-feedback__errors {
    margin-bottom: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.modal-feedback__error {
    background: #FFF5F5;
    color: #C62828;
    padding: 12px 16px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 500;
    border-left: 3px solid #EF5350;
    line-height: 1.5;
}

/* Success */
.modal-feedback__success {
    text-align: center;
    padding: 40px 20px;
}

.modal-feedback__success-icon {
    margin-bottom: 24px;
    animation: successPop 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.modal-feedback__success h3 {
    font-size: 22px;
    font-weight: 700;
    color: #111;
    margin-bottom: 8px;
}

.modal-feedback__success p {
    font-size: 15px;
    color: #666;
    line-height: 1.6;
}

@keyframes successPop {
    0% { transform: scale(0); opacity: 0; }
    60% { transform: scale(1.1); }
    100% { transform: scale(1); opacity: 1; }
}

/* Form */
.modal-feedback__form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.modal-feedback__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.modal-feedback__group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.modal-feedback__label {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #888;
}

.modal-feedback__required {
    color: #FF5252;
    font-weight: 700;
}

/* Input wrapper */
.modal-feedback__input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.modal-feedback__input-icon {
    position: absolute;
    left: 14px;
    color: #BDBDBD;
    pointer-events: none;
    transition: color 0.3s ease;
    z-index: 1;
}

.modal-feedback__input-wrapper:focus-within .modal-feedback__input-icon {
    color: #FF7A00;
}

.modal-feedback__input {
    width: 100%;
    padding: 14px 14px 14px 42px;
    border: 2px solid #EEEEEE;
    border-radius: 12px;
    font-size: 15px;
    font-family: inherit;
    color: #111;
    background: #FAFAFA;
    transition: all 0.3s ease;
    outline: none;
}

.modal-feedback__input:hover {
    border-color: #E0E0E0;
    background: #fff;
}

.modal-feedback__input:focus {
    border-color: #FF7A00;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(255, 122, 0, 0.08);
}

.modal-feedback__input::placeholder {
    color: #BDBDBD;
    font-size: 14px;
}

/* Textarea */
.modal-feedback__textarea {
    width: 100%;
    padding: 14px 16px;
    border: 2px solid #EEEEEE;
    border-radius: 12px;
    font-size: 15px;
    font-family: inherit;
    color: #111;
    background: #FAFAFA;
    transition: all 0.3s ease;
    outline: none;
    resize: vertical;
    min-height: 90px;
    line-height: 1.6;
}

.modal-feedback__textarea:hover {
    border-color: #E0E0E0;
    background: #fff;
}

.modal-feedback__textarea:focus {
    border-color: #FF7A00;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(255, 122, 0, 0.08);
}

.modal-feedback__textarea::placeholder {
    color: #BDBDBD;
    font-size: 14px;
}

/* File input */
.modal-feedback__file-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    background: #F8F8F8;
    border: 2px dashed #E0E0E0;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    width: fit-content;
}

.modal-feedback__file-label:hover {
    background: #FFF8F0;
    border-color: #FF7A00;
}

.modal-feedback__file-icon {
    color: #999;
    transition: color 0.3s ease;
    display: flex;
}

.modal-feedback__file-label:hover .modal-feedback__file-icon {
    color: #FF7A00;
}

.modal-feedback__file-text {
    font-size: 14px;
    font-weight: 500;
    color: #666;
    transition: color 0.3s ease;
}

.modal-feedback__file-label:hover .modal-feedback__file-text {
    color: #FF7A00;
}

.modal-feedback__file-input {
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0;
    pointer-events: none;
}

.modal-feedback__file-hint {
    font-size: 12px;
    color: #BDBDBD;
    margin-top: 4px;
}

/* Captcha */
.modal-feedback__captcha-img {
    border-radius: 10px;
    margin-bottom: 6px;
}

/* Submit */
.modal-feedback__submit {
    width: 100%;
    padding: 16px 32px;
    background: #FF7A00;
    color: #fff;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: all 0.3s ease;
    letter-spacing: 0.3px;
    position: relative;
    overflow: hidden;
}

.modal-feedback__submit::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.15) 0%, rgba(255,255,255,0) 60%);
    pointer-events: none;
}

.modal-feedback__submit:hover {
    background: #E05D00;
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(255, 122, 0, 0.3);
}

.modal-feedback__submit:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(255, 122, 0, 0.2);
}

.modal-feedback__submit svg {
    transition: transform 0.3s ease;
}

.modal-feedback__submit:hover svg {
    transform: translateX(3px);
}

/* Privacy */
.modal-feedback__privacy {
    font-size: 12px;
    color: #BDBDBD;
    text-align: center;
    line-height: 1.5;
    margin: 0;
}

.modal-feedback__privacy a {
    color: #999;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.3s ease;
}

.modal-feedback__privacy a:hover {
    color: #FF7A00;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
    .modal-feedback__row {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    
    .modal-feedback__form {
        gap: 16px;
    }
    
    .modal-feedback__input {
        padding: 12px 12px 12px 38px;
        font-size: 14px;
    }
    
    .modal-feedback__textarea {
        padding: 12px 14px;
        font-size: 14px;
        min-height: 80px;
    }
    
    .modal-feedback__submit {
        padding: 14px 24px;
        font-size: 15px;
    }
    
    .modal-feedback__file-label {
        padding: 10px 16px;
    }
}

/* ===== Результат формы ===== */
.modal-feedback__result {
    padding: 20px 0;
}

.modal-feedback__success {
    text-align: center;
    padding: 20px 10px;
}

.modal-feedback__success-icon {
    margin-bottom: 20px;
    animation: successPop 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.modal-feedback__success h3 {
    font-size: 22px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 8px;
}

.modal-feedback__success p {
    font-size: 15px;
    color: #666;
    line-height: 1.6;
}

.modal-feedback__timer {
    margin-top: 16px;
    font-size: 14px;
    color: #999;
}

.modal-feedback__timer #countdown {
    font-weight: 700;
    color: #ff7a00;
}

/* ===== Ошибка ===== */
.modal-feedback__error-box {
    text-align: center;
    padding: 20px 10px;
}

.modal-feedback__error-icon {
    margin-bottom: 16px;
}

.modal-feedback__error-box h3 {
    font-size: 20px;
    font-weight: 700;
    color: #c62828;
    margin-bottom: 8px;
}

.modal-feedback__error-box p {
    font-size: 15px;
    color: #666;
    margin-bottom: 20px;
}

.modal-feedback__retry-btn {
    padding: 12px 32px;
    background: #ff7a00;
    color: #ffffff;
    border: none;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s ease;
}

.modal-feedback__retry-btn:hover {
    background: #e05d00;
}

/* ===== Анимация успеха ===== */
@keyframes successPop {
    0% {
        transform: scale(0);
        opacity: 0;
    }
    60% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}
/* End */


/* Start:/local/templates/main/components/bitrix/menu/top_multilevel/style.css?17817213289598*/
/* =====================================================
   ОСНОВНОЕ МЕНЮ (ОПТИМИЗИРОВАННОЕ)
   ===================================================== */

/* --- Базовые стили --- */
.menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background: transparent;
  transition: background .35s ease, border-color .35s ease;
}

.menu.menu--bg {
  background: #000;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.menu-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 18px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* --- Логотип --- */
.logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.logo img {
  height: 45px;
  max-width: 160px;
  transition: opacity .35s ease, transform .35s ease;
}

.home-page .logo img {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
}

.menu.menu--bg .logo img {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* --- Hero логотип --- */
.hero-top-logo {
  position: absolute;
  top: 30px;
  right: 40px;
  z-index: 5;
  transition: opacity .35s ease, transform .35s ease;
}

.hero-top-logo.hidden {
  opacity: 0;
  transform: translateY(-12px);
  pointer-events: none;
}

.hero-top-logo img {
  height: 42px;
}

/* --- Кнопка CTA --- */
.menu-cta {
  margin-left: 40px;
  padding: 10px 24px;
  border: 1px solid #ff7a00;
  color: #ff7a00;
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  border-radius: 4px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: all .35s ease;
  flex-shrink: 0;
}

.menu.menu--cta .menu-cta {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.menu-cta:hover {
  background: #ff7a00;
  color: #000;
}

/* --- Список меню --- */
.menu-list {
  display: flex;
  align-items: center;
  gap: 36px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu-list > li > a {
  color: #fff;
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  opacity: .9;
  transition: opacity .25s ease;
}

.menu-list > li > a:hover {
  opacity: 1;
}

/* --- Выпадающее подменю --- */
.has-submenu {
  position: relative;
}

.has-submenu > a .arrow {
  display: inline-block;
  margin-left: 6px;
  font-size: 12px;
  opacity: .6;
  transition: transform .25s ease;
}

.has-submenu:hover > a .arrow {
  transform: rotate(180deg);
}

.submenu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: #000;
  padding: 8px 0;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2000;
  border-radius: 0 0 4px 4px;
  box-shadow: 0 12px 30px rgba(0,0,0,.4);
}

.has-submenu:hover > .submenu,
.has-submenu:focus-within > .submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.submenu li a {
  display: block;
  padding: 10px 20px;
  color: rgba(255,255,255,.85);
  text-decoration: none;
  font-size: 14px;
  white-space: nowrap;
  font-weight: 400;
  transition: all .2s ease;
}

.submenu li a:hover {
  background: rgba(255,122,0,.15);
  color: #ff7a00;
}

.submenu li a.selected {
  color: #ff7a00;
}

/* --- Бургер --- */
.menu-burger {
  display: none;
  cursor: pointer;
  flex-direction: column;
  gap: 5px;
  padding: 4px;
  z-index: 1100;
}

.menu-burger span {
  display: block;
  height: 3px;
  width: 25px;
  background: #fff;
  transition: all .3s ease;
  border-radius: 2px;
}

.menu-burger.active span:nth-child(1) {
  transform: rotate(45deg) translate(6px, 6px);
}
.menu-burger.active span:nth-child(2) { opacity: 0; }
.menu-burger.active span:nth-child(3) {
  transform: rotate(-45deg) translate(6px, -6px);
}

/* --- Мобильные контакты --- */
.menu-mobile-contacts {
  display: none;
  padding: 20px 32px 30px;
  background: #0a0a0a;
  border-top: 1px solid rgba(255,255,255,.06);
}

.menu-mobile-phone {
  display: block;
  font-size: 20px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  margin-bottom: 8px;
}

.menu-mobile-phone:hover { color: #ff7a00; }

.menu-mobile-email {
  display: block;
  font-size: 15px;
  color: rgba(255,255,255,.6);
  text-decoration: none;
}

.menu-mobile-email:hover { color: #ff7a00; }

/* =====================================================
   АДАПТИВНОСТЬ (ДО 992px)
   ===================================================== */
@media (max-width: 992px) {
  .menu-burger { display: flex; }

  .menu-list {
    display: none;
    flex-direction: column;
    background: #0a0a0a;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    padding: 80px 32px 20px;
    z-index: 1000;
    gap: 0;
    overflow-y: auto;
  }

  .menu-list.menu-list--active { display: flex; }

  .menu-list > li {
    width: 100%;
    border-bottom: 1px solid rgba(255,255,255,.06);
  }

  .menu-list > li > a {
    display: block;
    padding: 16px 0;
    font-size: 18px;
    color: #fff;
  }

  .menu-cta { display: none; }

  /* --- Подменю на мобильных --- */
  .has-submenu { position: static; }

  .submenu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: auto;
    background: rgba(255,255,255,.05);
    padding: 0;
    margin: 0;
    box-shadow: none;
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease;
    border-radius: 0;
  }

  .has-submenu.open > .submenu { max-height: 500px; }

  .has-submenu > a .arrow {
    float: right;
    margin-top: 4px;
  }

  .submenu li a {
    padding: 12px 20px 12px 30px;
    font-size: 15px;
    color: rgba(255,255,255,.7);
    white-space: normal;
  }

  /* --- Мобильные контакты --- */
  .menu-mobile-contacts {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1001;
    background: #0a0a0a;
    padding: 20px 32px 30px;
    border-top: 1px solid rgba(255,255,255,.06);
  }

  .menu-list.menu-list--active ~ .menu-mobile-contacts {
    display: block !important;
  }

  /* --- Анимация --- */
  @keyframes menuSlideDown {
    from { opacity: 0; transform: translateY(-20px); }
    to { opacity: 1; transform: translateY(0); }
  }

  .menu-list.menu-list--active {
    animation: menuSlideDown .3s ease forwards;
  }

  /* --- Скролл --- */
  .menu-list::-webkit-scrollbar { width: 4px; }
  .menu-list::-webkit-scrollbar-track { background: rgba(255,255,255,.05); }
  .menu-list::-webkit-scrollbar-thumb {
    background: rgba(255,122,0,.4);
    border-radius: 2px;
  }
}

/* =====================================================
   ВНУТРЕННИЕ СТРАНИЦЫ (inner-page)
   ===================================================== */
body.inner-page .menu.menu--cta:not(.menu--bg) {
  /* Подменю */
  .submenu {
    background: #fff !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.15);
  }

  .submenu li a {
    color: #1a1a1a !important;
  }

  .submenu li a:hover {
    background: rgba(255,122,0,.08) !important;
    color: #ff7a00 !important;
  }

  /* Стрелка */
  .has-submenu > a .arrow {
    color: #1a1a1a !important;
  }

  /* Бургер */
  .menu-burger span {
    background-color: #000 !important;
  }

  .menu-burger.active span {
    background-color: #ff7a00 !important;
  }

  /* Логотип */
  .logo img {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
  }
}

body.inner-page .menu.menu--cta.menu--bg .logo img {
  opacity: 1 !important;
  visibility: visible !important;
}

/* =====================================================
   ВНУТРЕННИЕ СТРАНИЦЫ + МОБИЛЬНЫЕ (до 992px)
   ===================================================== */
@media (max-width: 992px) {
  body.inner-page .menu.menu--cta:not(.menu--bg) {
    .logo {
      display: flex !important;
    }

    .logo img {
      opacity: 1 !important;
      visibility: visible !important;
      transform: translateY(0) !important;
    }

    .menu-list {
      background: #fff !important;
    }

    .menu-list > li > a {
      color: #1a1a1a !important;
      border-bottom-color: rgba(0,0,0,.06) !important;
    }

    .submenu {
      background: rgba(0,0,0,.03) !important;
    }

    .submenu li a {
      color: #1a1a1a !important;
    }

    .menu-mobile-contacts {
      background: #f5f6f8 !important;
      border-top-color: rgba(0,0,0,.06) !important;
    }

    .menu-mobile-phone {
      color: #1a1a1a !important;
    }

    .menu-mobile-email {
      color: rgba(0,0,0,.5) !important;
    }
  }

  body.inner-page .menu.menu--cta.menu--bg {
    .menu-list {
      background: #0a0a0a !important;
    }

    .menu-list > li > a {
      color: #fff !important;
      border-bottom-color: rgba(255,255,255,.06) !important;
    }

    .submenu {
      background: rgba(255,255,255,.05) !important;
    }

    .submenu li a {
      color: rgba(255,255,255,.85) !important;
    }

    .menu-mobile-contacts {
      background: #0a0a0a !important;
      border-top-color: rgba(255,255,255,.06) !important;
    }

    .menu-mobile-phone {
      color: #fff !important;
    }

    .menu-mobile-email {
      color: rgba(255,255,255,.6) !important;
    }

    .menu-burger span {
      background-color: #fff !important;
    }

    .menu-burger.active span {
      background-color: #ff7a00 !important;
    }
  }
}
/* End */


/* Start:/local/templates/main/components/bitrix/breadcrumb/.default/style.min.css?1781689446467*/
.bx-breadcrumb{margin:10px 0}.bx-breadcrumb i{color:#b5bdc2;line-height:13px;font-size:12px;vertical-align:middle;margin-right:5px}.bx-breadcrumb .bx-breadcrumb-item{float:left;margin-bottom:10px;white-space:nowrap;line-height:13px;vertical-align:middle;margin-right:10px}.bx-breadcrumb .bx-breadcrumb-item span{font-family:"Open Sans",Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:13px;white-space:normal}.bx-breadcrumb .bx-breadcrumb-item a{border-bottom:0}
/* End */
/* /local/templates/main/css/base.css?1781694221594 */
/* /local/templates/main/css/layout.css?1781723891757 */
/* /local/templates/main/css/sections.css?178172239210564 */
/* /local/templates/main/css/photobox.css?177787728711940 */
/* /local/templates/main/css/photobox.ie.css?1777877287363 */
/* /local/templates/main/template_styles.css?178172231615701 */
/* /local/templates/main/components/bitrix/main.feedback/modal_form/style.css?17816989887936 */
/* /local/templates/main/components/bitrix/menu/top_multilevel/style.css?17817213289598 */
/* /local/templates/main/components/bitrix/breadcrumb/.default/style.min.css?1781689446467 */
