/* =====================================================================
   Геология Города — редизайн. CSS для Bitrix/centino-heat.
   Классы шапки: .gg-header (не конфликтует с centino)
   Классы футера: .gg-footer
   Классы секций главной: .home (уже в home.css)
   ===================================================================== */

/* -------- CSS-переменные -------- */
:root{
  --gg-bg:        #ffffff;
  --gg-bg-soft:   #f5f7fb;
  --gg-line:      #e5e9f2;
  --gg-text:      #0f172a;
  --gg-muted:     #475569;
  --gg-accent:    #1e5fd6;
  --gg-accent-2:  #1748a6;
  --gg-accent-soft:#e8f0ff;
  --gg-warn:      #f59e0b;
  --gg-radius:    14px;
  --gg-radius-sm: 10px;
  --gg-shadow:    0 1px 2px rgba(15,23,42,.04), 0 8px 24px rgba(15,23,42,.06);
  --gg-shadow-hi: 0 10px 30px rgba(30,95,214,.18);
  --gg-container: 1200px;
}

/* -------- Скрываем centino-шапку, centino-page-title и centino-футер -------- */
/* Десктопная шапка centino */
.visible-lg.visible-md{ display:none !important; }
/* Мобильная шапка centino */
#mobileheader{ display:none !important; }
/* Хедер-fixed centino */
#headerfixed{ display:none !important; }
/* Breadcrumb fixed */
.breadcrumbFixed{ display:none !important; }
/* Centino page title / breadcrumbs (replaced by .page-header) */
.title_block_v1, .title_block_v2, .title_block_v3,
.title_block_v4, .title_block_v5, .title_block_v6,
.title_block_v7, .title_block_v8,
.breadcrumb_wrapper, .breadcrumb_wraper,
.page_title_wrapper,
[class*="title-v"] > .title_block,
[class*="title-v"] > .breadcrumb_wrapper{ display:none !important; }
/* Centino-футер */
.footer_area, .footerarea, .heat_footer,
[class*="footer_v"], [class*="footer_type"],
.body > .footer{ display:none !important; }

/* =====================================================================
   ГЛОБАЛЬНЫЕ КНОПКИ — .btn-default / .btn-ghost
   (применяются вне .home: на страницах услуг, контактов и т.д.)
   ===================================================================== */
   
 .gg-header__max {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin: 0 14px;
  border-radius: 50%;
  flex: 0 0 38px;
  transition: transform .2s ease, box-shadow .2s ease;
}

.gg-header__max img {
  display: block;
  width: 34px;
  height: 34px;
  object-fit: contain;
}

.gg-header__max:hover,
.gg-header__max:focus {
  transform: scale(1.08);
  box-shadow: 0 5px 14px rgba(71, 26, 255, .25);
}

@media (max-width: 767px) {
  .gg-header__max {
    width: 32px;
    height: 32px;
    margin: 0 8px;
    flex-basis: 32px;
  }

  .gg-header__max img {
    width: 30px;
    height: 30px;
  }
}  
.gg-service-actions .btn,
.cta-band .btn,
.page-header .btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: 10px;
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  transition: background .2s, color .2s, border-color .2s, transform .15s;
  white-space: nowrap;
}
.gg-service-actions .btn {
  flex: 1;
  min-width: 110px;
}
.gg-service-actions .btn-default,
.cta-band .btn-default,
.page-header .btn-default {
  background: var(--gg-accent) !important;
  color: #fff !important;
  border-color: var(--gg-accent) !important;
  box-shadow: var(--gg-shadow);
}
.gg-service-actions .btn-default:hover,
.cta-band .btn-default:hover,
.page-header .btn-default:hover {
  background: var(--gg-accent-2) !important;
  border-color: var(--gg-accent-2) !important;
  transform: translateY(-1px);
}
.gg-service-actions .btn-ghost,
.cta-band .btn-ghost,
.page-header .btn-ghost {
  background: #fff !important;
  color: var(--gg-text) !important;
  border-color: var(--gg-line) !important;
}
.gg-service-actions .btn-ghost:hover,
.cta-band .btn-ghost:hover,
.page-header .btn-ghost:hover {
  border-color: var(--gg-accent) !important;
  color: var(--gg-accent) !important;
}

/* =====================================================================
   ШАПКА .gg-header
   ===================================================================== */
.gg-header{
  position:sticky; top:0; z-index:9999;
  background:#fff; border-bottom:1px solid var(--gg-line);
  font-family: 'Inter','Manrope','Roboto','Segoe UI',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.gg-header *, .gg-header *::before, .gg-header *::after{ box-sizing:border-box; }
.gg-header a{ text-decoration:none; }
.gg-header .container{
  width: 100% !important; max-width: 1392px !important;
  margin:0 auto !important; padding: 0 24px !important;
}

/* строка 1 — адрес/режим (скрывается при скролле) */
.gg-header__top{
  background: var(--gg-bg-soft); font-size:13px; color: var(--gg-muted);
  border-bottom:1px solid var(--gg-line);
  max-height: 44px;
  overflow: hidden;
  opacity: 1;
  transition: max-height .28s ease, opacity .22s ease, border-color .22s ease;
}
.gg-header.is-scrolled .gg-header__top{
  max-height: 0;
  opacity: 0;
  border-bottom-color: transparent;
  pointer-events: none;
}
.gg-header__top .container{
  display:flex; justify-content:space-between; align-items:center;
  padding:8px 24px !important; gap:16px; flex-wrap:wrap;
}
.gg-header__address{ display:inline-flex; align-items:center; gap:6px; }
.gg-header__address::before{
  content:""; width:14px; height:14px; flex-shrink:0; background: var(--gg-accent);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 2a7 7 0 017 7c0 5-7 13-7 13S5 14 5 9a7 7 0 017-7zm0 9.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 2a7 7 0 017 7c0 5-7 13-7 13S5 14 5 9a7 7 0 017-7zm0 9.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z'/></svg>") center/contain no-repeat;
}

/* строка 2 — лого + контакты */
.gg-header__main .container{
  display:flex; align-items:center; gap:24px; padding:14px 24px !important;
}
.gg-logo{
  display:flex; align-items:center; flex:0 0 auto;
}
.gg-logo a{
  display:flex; align-items:center; text-decoration:none; color:inherit;
}
.gg-logo svg, .gg-logo img{
  height:46px; width:auto; display:block;
}

.gg-header__contacts{
  margin-left:auto; display:flex; gap:18px; align-items:center; flex-wrap:nowrap;
}

/* Tagline between logo and contacts */
.gg-header__tagline{
  font-size:15px; color: var(--gg-muted); flex:1; padding:0 16px;
}
.gg-header__email{ color: var(--gg-muted); font-size:14px; }
.gg-header__phone{
  font-weight:800; font-size:18px; color: var(--gg-text); white-space:nowrap;
}
.gg-header__cta{
  padding:10px 18px; border:1px solid var(--gg-accent); border-radius:10px;
  color: var(--gg-accent) !important; background:#fff; font-weight:600;
  cursor:pointer; font-size:14px; white-space:nowrap;
}
.gg-header__cta:hover{ background: var(--gg-accent); color:#fff !important; }

.gg-burger{
  display:none; width:42px; height:42px; border:1px solid var(--gg-line);
  background:#fff; border-radius:10px; cursor:pointer;
  align-items:center; justify-content:center;
  position:relative; z-index:2; flex:0 0 auto;
  -webkit-tap-highlight-color: transparent;
}
.gg-burger span,
.gg-burger span::before,
.gg-burger span::after{
  display:block; width:18px; height:2px; background: var(--gg-text); position:relative;
}
.gg-burger span::before{
  content:""; position:absolute; top:-6px; left:0; width:18px; height:2px; background: var(--gg-text);
}
.gg-burger span::after{
  content:""; position:absolute; top:6px; left:0; width:18px; height:2px; background: var(--gg-text);
}

/* строка 3 — меню */
.gg-header__nav{ background:#fff; border-top:1px solid var(--gg-line); overflow:visible; }
.gg-header__nav .container{
  display:flex; align-items:center; padding: 0 24px; gap:4px; min-height:52px; overflow:visible;
}
.gg-nav{ display:flex; align-items:stretch; gap:2px; flex-wrap:nowrap; overflow:visible; }
.gg-nav > a,
.gg-nav__link{
  display:inline-flex; align-items:center;
  padding: 14px 18px; color: var(--gg-text); font-weight:600; font-size:15px;
  border-bottom: 2px solid transparent;
  transition: color .15s, border-color .15s;
}
.gg-nav > a:hover,
.gg-nav__link:hover,
.gg-nav__item.is-active > .gg-nav__link{ color: var(--gg-accent); border-bottom-color: var(--gg-accent); }
.gg-nav > a.active{ color: var(--gg-accent); border-bottom-color: var(--gg-accent); }

/* выпадающее подменю */
.gg-nav__item{ position:relative; display:flex; align-items:stretch; }
.gg-nav__item--dropdown > .gg-nav__link::after{
  content:"";
  display:inline-block;
  width:0; height:0;
  margin-left:7px;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:5px solid currentColor;
  opacity:.55;
  transform: translateY(1px);
}
.gg-nav__dropdown{
  position:absolute;
  top:100%;
  left:0;
  min-width:260px;
  max-width:320px;
  background:#fff;
  border:1px solid var(--gg-line);
  border-radius: var(--gg-radius-sm);
  box-shadow: var(--gg-shadow-hi);
  padding:8px 0;
  opacity:0;
  visibility:hidden;
  transform: translateY(6px);
  transition: opacity .18s, transform .18s, visibility .18s;
  z-index:10001;
}
.gg-nav__dropdown::before{
  content:"";
  position:absolute;
  left:0; right:0; top:-10px;
  height:10px;
}
.gg-nav__item--dropdown:hover .gg-nav__dropdown,
.gg-nav__item--dropdown:focus-within .gg-nav__dropdown{
  opacity:1;
  visibility:visible;
  transform: translateY(0);
}
.gg-nav__dropdown a{
  display:block;
  padding:10px 18px;
  font-size:14px;
  font-weight:500;
  color: var(--gg-text);
  border-bottom:none;
  white-space:normal;
  line-height:1.35;
  transition: background .15s, color .15s;
}
.gg-nav__dropdown a:hover,
.gg-nav__dropdown a.active{
  background: var(--gg-bg-soft);
  color: var(--gg-accent);
}

/* мобильный телефон */
.gg-header__mobile-tel{ display:none; }

/* мобильное меню */
.gg-mobile-menu{
  display:none; background:#fff; border-top:1px solid var(--gg-line); padding: 8px 0;
}
.gg-mobile-menu.is-open{ display:block; }
.gg-mobile-menu > a,
.gg-mobile-menu__parent{
  display:block; padding: 12px 24px; color: var(--gg-text); font-weight:600;
  border-bottom:1px solid var(--gg-line); font-size:15px;
}
.gg-mobile-menu > a:hover,
.gg-mobile-menu__parent:hover{ background: var(--gg-bg-soft); color: var(--gg-accent); }
.gg-mobile-menu > a.active,
.gg-mobile-menu__parent.active{ color: var(--gg-accent); }
.gg-mobile-menu__group{ border-bottom:1px solid var(--gg-line); }
.gg-mobile-menu__child{
  display:block;
  padding: 10px 24px 10px 40px;
  color: var(--gg-muted);
  font-size:14px;
  font-weight:500;
  border-bottom:1px solid var(--gg-line);
}
.gg-mobile-menu__child:last-child{ border-bottom:none; }
.gg-mobile-menu__child:hover,
.gg-mobile-menu__child.active{ background: var(--gg-bg-soft); color: var(--gg-accent); }

/* =====================================================================
   СЛАЙДЕР (глобально — уникальные классы)
   ===================================================================== */
.gg-slider{ position:relative; }
.gg-slider__track{
  display:grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 48px) / 3);
  gap: 24px; overflow-x:auto; scroll-snap-type: x mandatory;
  padding: 4px 4px 16px;
  scrollbar-width: thin; scrollbar-color: var(--gg-accent) transparent;
}
.gg-slider__track::-webkit-scrollbar{ height: 6px; }
.gg-slider__track::-webkit-scrollbar-thumb{ background: var(--gg-accent); border-radius: 3px; }
.gg-slider__track > *{ scroll-snap-align: start; }
.gg-slider + .gg-slider{ margin-top: 28px; }
.gg-slider__nav{
  position:absolute; top:50%; transform: translateY(-50%);
  width:44px; height:44px; border-radius:50%;
  background:#fff; border:1px solid var(--gg-line); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  color: var(--gg-text); font-size: 22px; font-weight:600;
  box-shadow: var(--gg-shadow); z-index:2;
  transition: background .15s, color .15s, border-color .15s;
}
.gg-slider__nav:hover{ background: var(--gg-accent); color:#fff; border-color: var(--gg-accent); }
.gg-slider__nav--prev{ left: -22px; }
.gg-slider__nav--next{ right: -22px; }
.gg-slider__nav[disabled]{ opacity:.35; cursor:default; }
.gg-slider__nav[disabled]:hover{ background:#fff; color: var(--gg-text); border-color: var(--gg-line); }
.gg-slider--4 .gg-slider__track{ grid-auto-columns: calc((100% - 48px) / 4); }

/* =====================================================================
   LIGHTBOX (глобально — уникальные классы)
   ===================================================================== */
.gg-lightbox{
  position:fixed; inset:0; z-index: 99999;
  background: rgba(15,23,42,.86); backdrop-filter: blur(4px);
  display:none; align-items:center; justify-content:center; padding: 24px;
}
.gg-lightbox.is-open{ display:flex; }
.gg-lightbox__img{
  max-width: min(96vw, 1200px); max-height: 92vh;
  border-radius: 8px; box-shadow: 0 20px 60px rgba(0,0,0,.5);
}
.gg-lightbox__close, .gg-lightbox__nav{
  position:absolute; background: rgba(255,255,255,.12); color:#fff; border:none;
  width:48px; height:48px; border-radius:50%; cursor:pointer; font-size:22px;
  display:flex; align-items:center; justify-content:center; transition: background .2s;
}
.gg-lightbox__close:hover, .gg-lightbox__nav:hover{ background: rgba(255,255,255,.22); }
.gg-lightbox__close{ top: 18px; right: 18px; }
.gg-lightbox__nav--prev{ left: 18px; top: 50%; transform: translateY(-50%); }
.gg-lightbox__nav--next{ right: 18px; top: 50%; transform: translateY(-50%); }

/* =====================================================================
   FAQ (глобально — уникальные классы)
   ===================================================================== */
.gg-faq{ display:grid; gap:12px; max-width: 920px; margin: 0 auto; }
.gg-faq__item{
  background:#fff; border:1px solid var(--gg-line); border-radius: var(--gg-radius);
  padding: 0; overflow:hidden; transition: border-color .15s, box-shadow .15s;
}
.gg-faq__item[open]{ border-color: #cfe0ff; box-shadow: var(--gg-shadow); }
.gg-faq__q{
  list-style:none; cursor:pointer; padding: 20px 56px 20px 24px;
  font-weight:700; font-size: 16px; position:relative;
  color: var(--gg-text);
}
.gg-faq__q::-webkit-details-marker{ display:none; }
.gg-faq__q::after{
  content:""; position:absolute; right: 22px; top: 50%; transform: translateY(-50%);
  width:14px; height:14px; background: var(--gg-text);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M6 9l6 6 6-6z'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M6 9l6 6 6-6z'/></svg>") center/contain no-repeat;
  transition: transform .2s;
}
.gg-faq__item[open] .gg-faq__q::after{
  transform: translateY(-50%) rotate(180deg); background: var(--gg-accent);
}
.gg-faq__a{ padding: 0 24px 22px; color: var(--gg-muted); font-size: 15px; line-height:1.6; }
.gg-faq__a p{ margin: 0 0 10px; }

/* =====================================================================
   FOOTER .gg-footer
   ===================================================================== */
.gg-footer{
  background:#0f172a; color:#cbd5e1; padding:48px 0 32px; font-size:14px;
  font-family: 'Inter','Manrope','Roboto','Segoe UI',system-ui,sans-serif;
}
.gg-footer *, .gg-footer *::before, .gg-footer *::after{ box-sizing:border-box; }
.gg-footer .container{
  max-width: var(--gg-container); margin:0 auto; padding: 0 24px;
  display:grid; grid-template-columns:repeat(4,1fr); gap:32px;
}
.gg-footer h4{ color:#fff; margin:0 0 14px; font-size:15px; }
.gg-footer a{ color:#cbd5e1; display:block; padding:4px 0; text-decoration:none; }
.gg-footer a:hover{ color:#fff; }
.gg-footer span{ display:block; padding:4px 0; }
.gg-footer__bottom{
  border-top:1px solid #1f2937; margin-top:32px; padding-top:18px;
  color:#64748b; font-size:13px; text-align:center;
  max-width: var(--gg-container); margin-left:auto; margin-right:auto;
  padding-left:24px; padding-right:24px;
}

/* =====================================================================
   HOMEPAGE секции (.home) — перенесены из home.css с фиксом .container
   ===================================================================== */
.home, .home *{ box-sizing:border-box; }
.home{
  background: var(--gg-bg);
  color: var(--gg-text);
  font: 16px/1.55 'Inter','Manrope','Roboto','Segoe UI',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.home img{ max-width:100%; height:auto; display:block; }
.home a{ color: var(--gg-accent); text-decoration:none; }
.home a:hover{ color: var(--gg-accent-2); }

.home .container{ max-width: var(--gg-container) !important; margin:0 auto !important; padding: 0 24px !important; width: auto !important; }

/* Кнопки — только внутри .home */
.home .btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:8px; padding: 14px 22px; border-radius: 10px;
  font-weight: 600; font-size: 15px; line-height:1; letter-spacing:.1px;
  border:1px solid transparent; cursor:pointer;
  transition: transform .15s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
  text-decoration:none;
}
.home .btn-default,
.home .btn.btn-default{
  background: var(--gg-accent); color:#fff !important; border-color: var(--gg-accent);
  box-shadow: var(--gg-shadow);
}
.home .btn-default:hover{
  background: var(--gg-accent-2); border-color: var(--gg-accent-2);
  box-shadow: var(--gg-shadow-hi); transform: translateY(-1px);
}
.home .btn-ghost{
  background:#fff; color: var(--gg-text) !important; border-color: var(--gg-line);
}
.home .btn-ghost:hover{ border-color: var(--gg-accent); color: var(--gg-accent) !important; }
.home .btn-lg{ padding:16px 26px; font-size:16px; }

/* Секции */
.home .section{ padding: 88px 0; }
.home .section--services{ background: var(--gg-bg-soft); }
.home .section--white{ background: #fff; }
.home .section--soft{ background: var(--gg-bg-soft); }
.home .section--lab{ background: #fff; }
.home .section--reviews{ background: var(--gg-bg-soft); }
.home .section--steps{ background: #fff; }
.home .section--includes{ background: var(--gg-bg-soft); }
.home .section__head{ max-width: 760px; margin: 0 auto 40px; text-align:center; }
.home .section__title{
  font-size: clamp(26px, 3vw, 38px); line-height:1.15; font-weight:700;
  letter-spacing:-.02em; margin: 0 0 12px;
}
.home .section__lead{ color: var(--gg-muted); font-size: 17px; margin:0; }
.home .section__foot{ margin-top: 32px; text-align:center; }

/* HERO */
.home .hero{
  position:relative;
  background:
    radial-gradient(1200px 500px at 90% -10%, rgba(30,95,214,.08), transparent 60%),
    linear-gradient(180deg, #fbfcfe 0%, #ffffff 100%);
  padding: 88px 0 72px;
  border-bottom: 1px solid var(--gg-line);
}
.home .hero__inner{
  display:grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items:center;
}
/* Сбрасываем Bootstrap clearfix ::before/::after — они становятся grid-item'ами и ломают раскладку */
.home .hero__inner::before,
.home .hero__inner::after {
  content: none !important;
  display: none !important;
}
.home .hero__content h1, .home .hero__content .h1{
  font-size: clamp(30px, 4vw, 52px); line-height: 1.08; font-weight: 800;
  letter-spacing:-.025em; margin: 0 0 18px; color: var(--gg-text);
}
.home .hero__content p{
  color: var(--gg-muted); font-size: 18px; max-width: 560px; margin: 0 0 28px;
}
.home .hero__cta{
  display:flex; gap:12px; flex-wrap:wrap; margin-bottom: 28px;
}
.home .hero__badges{
  list-style:none; padding:0; margin:0; display:flex; gap:24px; flex-wrap:wrap;
  color: var(--gg-muted); font-size:14px;
}
.home .hero__badges span{
  display:inline-block; color: var(--gg-text); font-weight:700; margin-right:6px;
}
.home .hero__media{
  border-radius: var(--gg-radius); overflow:hidden; box-shadow: var(--gg-shadow);
  aspect-ratio: 4/3; background: var(--gg-bg-soft);
}
.home .hero__media img{ width:100%; height:100%; object-fit:cover; }

/* Преимущества */
.home .advantages-grid{
  display:grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
}
.home .advantage{
  background:#fff; border:1px solid var(--gg-line); border-radius: var(--gg-radius);
  padding: 28px; text-align:center;
}
.home .advantage__num{
  font-size: clamp(36px, 4vw, 52px); font-weight:800; color: var(--gg-accent);
  line-height:1; margin-bottom:8px; letter-spacing:-.02em;
}
.home .advantage__num small{ font-size: .55em; opacity:.7; }
.home .advantage__title{ font-size:17px; font-weight:700; margin: 0 0 6px; }
.home .advantage__text{ color: var(--gg-muted); font-size:14px; margin:0; }

/* Карточки услуг */
.home .cards--services{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.home .service-card{
  background:#fff; border:1px solid var(--gg-line); border-radius: var(--gg-radius);
  display:flex; flex-direction:column; overflow:hidden;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.home .service-card:hover{ transform: translateY(-3px); box-shadow: var(--gg-shadow-hi); border-color: #cfe0ff; }
.home .service-card__img{
  position:relative; aspect-ratio: 16/9; overflow:hidden; background: var(--gg-bg-soft);
}
.home .service-card__img img{ width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.home .service-card:hover .service-card__img img{ transform: scale(1.04); }
.home .service-card__price{
  position:absolute; bottom:10px; right:10px; background: rgba(15,23,42,.75);
  color:#fff !important; font-size:13px; padding:4px 10px; border-radius:8px; backdrop-filter:blur(4px); width: fit-content;
}
.home .service-card__price b{ font-size:15px; color:#fff !important; }
.home .service-card__body{ padding: 20px; flex:1; display:flex; flex-direction:column; gap:10px; }
.home .service-card__title{ font-size:18px; font-weight:700; margin:0; }
.home .service-card__text{ color: var(--gg-muted); margin:0; flex:1; font-size:15px; }
.home .service-card__actions{
  display:flex; gap:10px; flex-wrap:wrap; margin-top: 8px;
}
.home .service-card__actions .btn{ flex:1; min-width:110px; }

/* О компании */
.home .about{
  display:grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items:center;
}
.home .about__text h2{ text-align:left; margin-bottom:16px; }
.home .about__text p{ color: var(--gg-muted); font-size: 17px; margin:0 0 14px; }
.home .about__stats{
  display:grid; grid-template-columns: repeat(2, 1fr); gap:16px; margin-top:24px;
}
.home .about__stat{
  background: var(--gg-bg-soft); border-radius: var(--gg-radius-sm); padding:16px;
}
.home .about__stat b{
  display:block; font-size:24px; font-weight:800; color: var(--gg-accent); margin-bottom:4px;
}
.home .about__stat span{ font-size:13px; color: var(--gg-muted); }
.home .about__media{
  border-radius: var(--gg-radius); overflow:hidden; box-shadow: var(--gg-shadow); aspect-ratio: 4/3;
}
.home .about__media img{ width:100%; height:100%; object-fit:cover; }

/* Сертификаты */
.home .certs-grid{
  display:grid; grid-template-columns: repeat(5, 1fr); gap:16px;
}
.home .certs-grid a{
  display:block; aspect-ratio: 3/4; border-radius: var(--gg-radius-sm); overflow:hidden;
  border:1px solid var(--gg-line); background: var(--gg-bg-soft);
}
.home .certs-grid img{ width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.home .certs-grid a:hover img{ transform: scale(1.04); }

/* Лаборатория */
.home .lab{
  display:grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items:center; margin-bottom: 56px;
}
.home .lab__text h2{ text-align:left; margin-bottom:16px; }
.home .lab__text p{ color: var(--gg-muted); font-size: 17px; margin:0 0 14px; }
.home .lab__cta{ display:flex; gap:12px; flex-wrap:wrap; margin-top: 24px; }
.home .lab__media{
  border-radius: var(--gg-radius); overflow:hidden; box-shadow: var(--gg-shadow); aspect-ratio: 4/3;
}
.home .lab__media img{ width:100%; height:100%; object-fit:cover; }

.home .lab-photos-grid{ display:grid; grid-template-columns: repeat(6, 1fr); gap:12px; }
.home .lab-photos-grid a{
  display:block; aspect-ratio:1/1; border-radius: var(--gg-radius-sm); overflow:hidden;
  border:1px solid var(--gg-line); background: var(--gg-bg-soft);
}
.home .lab-photos-grid img{ width:100%; height:100%; object-fit:cover; transition: transform .35s; }
.home .lab-photos-grid a:hover img{ transform: scale(1.06); }

/* Оборудование — ecard-* без конфликта с centino .img/.body */
.home .equipment-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.home .equipment-grid .equipment-card{
  display:flex !important;
  flex-direction:column !important;
  background:#fff;
  border:1px solid var(--gg-line);
  border-radius: var(--gg-radius);
  overflow:hidden;
  transition: transform .2s, box-shadow .2s;
}
.home .equipment-grid .equipment-card:hover{
  transform: translateY(-3px);
  box-shadow: var(--gg-shadow-hi);
}
.home .equipment-grid .equipment-card .ecard-img,
.home .equipment-grid .equipment-card .img{
  display:block !important;
  flex:0 0 auto !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
  position:relative !important;
  line-height:normal !important;
  border-radius:0 !important;
  aspect-ratio: 4 / 3 !important;
  background: var(--gg-bg-soft) !important;
  overflow:hidden !important;
}
.home .equipment-grid .equipment-card .ecard-img img,
.home .equipment-grid .equipment-card .img img{
  display:block !important;
  position:static !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  border-radius:0 !important;
  transition:transform .4s;
}
.home .equipment-grid .equipment-card:hover .ecard-img img,
.home .equipment-grid .equipment-card:hover .img img{
  transform: scale(1.04);
}
.home .equipment-grid .equipment-card .ecard-body,
.home .equipment-grid .equipment-card > .body{
  display:block !important;
  flex:1 1 auto !important;
  width:auto !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  float:none !important;
  padding: 18px 20px 22px !important;
  overflow:visible !important;
}
.home .equipment-grid .equipment-card .name{
  font-weight:700;
  font-size:16px;
  margin:0 0 6px;
}
.home .equipment-grid .equipment-card .desc{
  color: var(--gg-muted);
  font-size:14px;
  margin:0;
}

/* Шаги */
.home .steps{
  display:grid; grid-template-columns: repeat(5, 1fr); gap:16px; counter-reset: step;
}
.home .step{
  background:#fff; border:1px solid var(--gg-line); border-radius: var(--gg-radius);
  padding: 28px; position:relative; counter-increment: step;
}
.home .step::before{
  content: counter(step, decimal-leading-zero);
  position:absolute; top:14px; right:18px;
  font-weight:800; color: var(--gg-accent-soft); font-size: 32px; letter-spacing:-.02em;
}
.home .step__icon{
  width:44px; height:44px; color: var(--gg-accent); margin-bottom:14px;
}
.home .step__icon svg{ width:100%; height:100%; }
.home .step__title{ font-size:16px; font-weight:700; margin: 0 0 8px; }
.home .step__text{ color: var(--gg-muted); font-size:14px; margin:0; }

/* Галерея работ */
.home .works-grid{
  display:grid; grid-template-columns: repeat(6, 1fr); gap:10px;
}
.home .works-grid a{
  display:block; aspect-ratio: 1/1; border-radius: var(--gg-radius-sm); overflow:hidden;
  border:1px solid var(--gg-line); background: var(--gg-bg-soft);
}
.home .works-grid img{ width:100%; height:100%; object-fit:cover; transition: transform .35s; }
.home .works-grid a:hover img{ transform: scale(1.06); }

/* Отзывы */
.home .review-card{
  background:#fff; border:1px solid var(--gg-line); border-radius: var(--gg-radius);
  padding: 24px; display:flex; flex-direction:column; gap:14px;
}
.home .review-card__stars{ color: var(--gg-warn); font-size:18px; letter-spacing:2px; }
.home .review-card__text{ color: var(--gg-muted); font-size:15px; line-height:1.6; flex:1; margin:0; }
.home .review-card__author{ display:flex; align-items:center; gap:12px; }
.home .review-card__avatar{
  width:40px; height:40px; border-radius:50%; background: var(--gg-accent-soft);
  color: var(--gg-accent); font-weight:700; font-size:14px;
  display:grid; place-items:center; flex-shrink:0;
}
.home .review-card__name{ font-weight:700; font-size:14px; margin-bottom:2px; }
.home .review-card__company{ font-size:13px; color: var(--gg-muted); }

/* Слайдер отзывов */
.home .slider{ position:relative; }
.home .slider__track{
  display:grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 48px) / 3);
  gap: 24px; overflow-x:auto; scroll-snap-type: x mandatory;
  padding: 4px 4px 16px;
  scrollbar-width: thin; scrollbar-color: var(--gg-accent) transparent;
}
.home .slider__track::-webkit-scrollbar{ height: 6px; }
.home .slider__track::-webkit-scrollbar-thumb{ background: var(--gg-accent); border-radius: 3px; }
.home .slider__track > *{ scroll-snap-align: start; }
.home .slider + .home .slider{ margin-top: 28px; }
.home .slider + .slider{ margin-top: 28px; }
.home .slider__nav{
  position:absolute; top:50%; transform: translateY(-50%);
  width:44px; height:44px; border-radius:50%;
  background:#fff; border:1px solid var(--gg-line); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  color: var(--gg-text); font-size: 22px; font-weight:600;
  box-shadow: var(--gg-shadow); z-index:2;
  transition: background .15s, color .15s, border-color .15s;
}
.home .slider__nav:hover{ background: var(--gg-accent); color:#fff; border-color: var(--gg-accent); }
.home .slider__nav--prev{ left: -22px; }
.home .slider__nav--next{ right: -22px; }
.home .slider__nav[disabled]{ opacity:.35; cursor:default; }
.home .slider__nav[disabled]:hover{ background:#fff; color: var(--gg-text); border-color: var(--gg-line); }
.home .slider--4 .slider__track{ grid-auto-columns: calc((100% - 48px) / 4); }

/* Сканы отзывов */
.home .scan-card{
  display:block; aspect-ratio: 3/4; background:#fff;
  border:1px solid var(--gg-line); border-radius: var(--gg-radius-sm);
  overflow:hidden; transition: transform .2s, box-shadow .2s;
}
.home .scan-card:hover{ transform: translateY(-3px); box-shadow: var(--gg-shadow-hi); }
.home .scan-card img{ width:100%; height:100%; object-fit:cover; }

/* FAQ */
.home .faq{ display:grid; gap:12px; max-width: 920px; margin: 0 auto; }
.home .faq__item{
  background:#fff; border:1px solid var(--gg-line); border-radius: var(--gg-radius);
  padding: 0; overflow:hidden; transition: border-color .15s, box-shadow .15s;
}
.home .faq__item[open]{ border-color: #cfe0ff; box-shadow: var(--gg-shadow); }
.home .faq__q{
  list-style:none; cursor:pointer; padding: 20px 56px 20px 24px;
  font-weight:700; font-size: 16px; position:relative; color: var(--gg-text);
}
.home .faq__q::-webkit-details-marker{ display:none; }
.home .faq__q::after{
  content:""; position:absolute; right: 22px; top: 50%; transform: translateY(-50%);
  width:14px; height:14px; background: var(--gg-text);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M6 9l6 6 6-6z'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M6 9l6 6 6-6z'/></svg>") center/contain no-repeat;
  transition: transform .2s;
}
.home .faq__item[open] .faq__q::after{
  transform: translateY(-50%) rotate(180deg); background: var(--gg-accent);
}
.home .faq__a{ padding: 0 24px 22px; color: var(--gg-muted); font-size: 15px; line-height:1.6; }
.home .faq__a p{ margin: 0 0 10px; }
.home .faq__a a{ color: var(--gg-accent); }

/* Что включено */
.home .includes-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:16px; }
.home .include-item{
  background:#fff; border:1px solid var(--gg-line); border-radius: var(--gg-radius);
  padding: 22px 22px 22px 56px; position:relative;
}
.home .include-item::after{
  content:""; position:absolute; left: 24px; top: 26px;
  width: 14px; height: 14px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e5fd6' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12l4 4 10-10'/></svg>") no-repeat center/contain;
}
.home .include-item h4{ margin:0 0 6px; font-size:16px; font-weight:700; }
.home .include-item p{ margin:0; color: var(--gg-muted); font-size:14px; }

/* CTA-полоса */
.home .cta-band{
  margin-top: 48px;
  display:flex; align-items:center; justify-content:space-between; gap: 24px;
  background: linear-gradient(120deg, #0f172a 0%, #1748a6 100%);
  color:#fff; border-radius: var(--gg-radius); padding: 28px 36px;
}
.home .cta-band h3{ margin:0 0 4px; font-size: 22px; color:#fff !important; }
.home .cta-band p{ margin:0; opacity:.85; color:#fff !important; }
.home .cta-band .btn-default{
  background:#fff !important; color: var(--gg-accent) !important;
  border-color:#fff !important;
}
.home .cta-band .btn-default:hover{ background: var(--gg-accent-soft) !important; }

/* =====================================================================
   АДАПТИВ
   ===================================================================== */
@media (max-width: 1100px){
  .gg-header__email{ display:none; }
  .gg-nav a{ padding: 12px 12px; font-size:14px; }
  .home .cards--services{ grid-template-columns: repeat(2, 1fr); }
  .home .equipment-grid{ grid-template-columns: repeat(3, 1fr); }
  .home .steps{ grid-template-columns: repeat(3, 1fr); }
  .home .includes-grid{ grid-template-columns: repeat(2, 1fr); }
  .home .advantages-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 960px){
  .gg-header__nav,
  .gg-header__contacts .gg-header__phone,
  .gg-header__contacts .gg-header__cta{ display:none; }
  .gg-header__top{ display:none; }
  .gg-header__tagline{ display:none; }
  .gg-burger{ display:flex; }
  .gg-header__contacts{ margin-left:auto; position:relative; z-index:2; }
}
@media (max-width: 900px){
  .home .section{ padding: 56px 0; }
  .home .hero{ padding: 56px 0; }
  .home .hero__inner{ grid-template-columns: 1fr; gap: 32px; }
  .home .lab{ grid-template-columns: 1fr; gap: 28px; }
  .home .about{ grid-template-columns: 1fr; gap: 28px; }
  .home .works-grid{ grid-template-columns: repeat(3, 1fr); }
  .home .lab-photos-grid{ grid-template-columns: repeat(3, 1fr); }
  .home .cta-band{ flex-direction:column; text-align:center; padding: 24px; }
  .home .slider__nav--prev{ left: 4px; }
  .home .slider__nav--next{ right: 4px; }
  .home .slider--4 .slider__track{ grid-auto-columns: calc((100% - 24px) / 2); }
  .home .slider__track{ grid-auto-columns: calc((100% - 24px) / 2); }
  .gg-footer .container{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px){
  .gg-header__mobile-tel{
    display:flex; justify-content:center; align-items:center;
    padding: 10px 12px; border-bottom: 1px solid var(--gg-line); background:#fff;
  }
  .gg-header__mobile-tel a{
    font-size: 18px; font-weight: 700; color: var(--gg-text); letter-spacing:.2px;
  }
  .gg-header{ display:flex; flex-direction:column; }
  .gg-header__main .container{ padding: 10px 16px; gap:12px; }
  .gg-logo svg, .gg-logo img{ height:38px; }
}
@media (max-width: 600px){
  .home .container{ padding: 0 16px; }
  .gg-header .container{ padding: 0 16px; }
  .gg-footer .container{ grid-template-columns: 1fr 1fr; padding: 0 16px; }
  .home .section{ padding: 48px 0; }
  .home .btn-lg{ padding: 14px 18px; font-size: 15px; width: 100%; }
  .home .hero__cta .btn{ width: 100%; }
  .home .service-card__actions .btn{ width: 100%; }
  .home .cards--services{ grid-template-columns: 1fr; }
  .home .equipment-grid{ grid-template-columns: repeat(2, 1fr); }
  .home .steps{ grid-template-columns: 1fr; }
  .home .includes-grid{ grid-template-columns: 1fr; }
  .home .works-grid{ grid-template-columns: repeat(2, 1fr); }
  .home .lab-photos-grid{ grid-template-columns: repeat(2, 1fr); }
  .home .certs-grid{ grid-template-columns: repeat(3, 1fr); }
  .home .slider__track{ grid-auto-columns: calc(100% - 8px); }
  .home .advantages-grid{ grid-template-columns: repeat(2, 1fr); }
  .home .about__stats{ grid-template-columns: 1fr; }
}

/* =====================================================================
   ВНУТРЕННИЕ СТРАНИЦЫ — переопределение centino-компонентов
   ===================================================================== */

/* ---------- Скрываем боковые панели centino ---------- */

/* /services/ page sidebar */
.services_right_block { display: none !important; }

/* /services/xxx/ category page sidebar (left_block contains sidebar menu) */
.left_block { display: none !important; }

/* ---------- Контент занимает всю ширину ---------- */

/* /services/ page */
.services_left_block {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* /services/xxx/ category page main content */
.right_block.narrow_Y,
.right_block.narrow_N {
  width: 100% !important;
  float: none !important;
}

/* =============================================================
   СТРАНИЦА /services/ — сетка категорий (services-section_1)
   ============================================================= */

/* Bootstrap flexbox-row → CSS-grid 3 колонки */
.sections.v3.item-views .items.row.flexbox {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.sections.v3.item-views .items.row.flexbox > [class*="col-"] {
  width: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  float: none !important;
}

/* Карточка категории */
.sections.v3.item-views .item {
  background: #fff !important;
  border: 1px solid var(--gg-line) !important;
  border-radius: var(--gg-radius) !important;
  overflow: hidden !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
  position: relative;
  margin-bottom: 0 !important;
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.sections.v3.item-views .item:hover {
  transform: translateY(-3px);
  box-shadow: var(--gg-shadow-hi);
  border-color: #cfe0ff;
}
/* Прозрачная кликабельная ссылка поверх всей карточки */
.sections.v3.item-views .item > a:first-child {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
}

/* Блок с иконкой */
.sections.v3.item-views .item .img {
  padding: 32px 24px 20px !important;
  text-align: center !important;
  float: none !important;
  width: 100% !important;
  display: block !important;
  background: var(--gg-accent-soft) !important;
  box-sizing: border-box !important;
}
.sections.v3.item-views .item .img > a {
  display: inline-block !important;
}

/* Инфо-блок */
.sections.v3.item-views .item .info {
  padding: 20px 24px 24px !important;
  flex: 1;
  display: flex !important;
  flex-direction: column !important;
}
.sections.v3.item-views .item .info .title {
  font-size: 18px !important;
  font-weight: 700 !important;
  margin-bottom: 10px !important;
}
.sections.v3.item-views .item .info .title a {
  color: var(--gg-text) !important;
  text-decoration: none !important;
}
.sections.v3.item-views .item .info .title a:hover { color: var(--gg-accent) !important; }
.sections.v3.item-views .item .info .preview_text {
  color: var(--gg-muted) !important;
  font-size: 15px !important;
  flex: 1 !important;
  line-height: 1.5 !important;
  margin-bottom: 0 !important;
}
/* Кнопка "Подробнее" — стилизуем ссылку с .arrow */
.sections.v3.item-views .item .info > a:last-of-type {
  margin-top: 16px !important;
  position: relative !important;
  z-index: 2 !important;
  display: inline-block !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--gg-accent) !important;
  text-decoration: none !important;
  padding: 8px 16px !important;
  border: 1px solid var(--gg-accent) !important;
  border-radius: 8px !important;
  background: #fff !important;
  transition: background .2s, color .2s !important;
}
.sections.v3.item-views .item .info > a:last-of-type:hover {
  background: var(--gg-accent) !important;
  color: #fff !important;
}
/* Скрываем иконку стрелки внутри ссылки */
.sections.v3.item-views .item .info .arrow { display: none !important; }
/* Добавляем текст "Подробнее" через псевдоэлемент */
.sections.v3.item-views .item .info > a:last-of-type::after {
  content: "Подробнее →";
}

/* =============================================================
   СТРАНИЦЫ /services/xxx/ — список услуг (news1)
   ============================================================= */

/* Сбрасываем Bootstrap clearfix на .row — он создаёт лишние grid-item */
.item-views.list.list-type-block .items.row::before,
.item-views.list.list-type-block .items.row::after {
  content: none !important;
  display: none !important;
}

/* Bootstrap row → CSS-grid 3 колонки */
.item-views.list.list-type-block .items.row {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.item-views.list.list-type-block .items.row > .col-md-12 {
  width: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  float: none !important;
}

/* Карточка элемента */
.item-views.list.list-type-block .item.clearfix {
  background: #fff;
  border: 1px solid var(--gg-line);
  border-radius: var(--gg-radius);
  overflow: hidden;
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
  margin-bottom: 0 !important;
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.item-views.list.list-type-block .item.clearfix:hover {
  transform: translateY(-3px);
  box-shadow: var(--gg-shadow-hi);
  border-color: #cfe0ff;
}

/* Фото */
.item-views.list.list-type-block .image.shine {
  flex-shrink: 0 !important;
  overflow: hidden !important;
  background: var(--gg-bg-soft) !important;
  aspect-ratio: 16 / 10 !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
.item-views.list.list-type-block .image.shine a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
.item-views.list.list-type-block .image.shine img.img-responsive {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  max-width: none !important;
  transition: transform .4s !important;
}
.item-views.list.list-type-block .item:hover .image.shine img { transform: scale(1.05); }

/* Инфо-блок */
.item-views.list.list-type-block .body-info {
  padding: 22px 24px 26px !important;
  flex: 1;
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  width: auto !important;
}
.item-views.list.list-type-block .title { margin-bottom: 10px !important; }
.item-views.list.list-type-block .title a {
  font-size: 19px !important;
  font-weight: 700 !important;
  color: var(--gg-text) !important;
  text-decoration: none !important;
  line-height: 1.3 !important;
}
.item-views.list.list-type-block .title a:hover { color: var(--gg-accent) !important; }
.item-views.list.list-type-block .previewtext {
  color: var(--gg-muted) !important;
  font-size: 15px !important;
  flex: 1;
  margin-bottom: 10 !important;
}
.item-views.list.list-type-block .previewtext p { margin: 0 !important; }
/* Цена/свойства */
.item-views.list.list-type-block .properties {
  margin-top: 14px !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--gg-line) !important;
}
.item-views.list.list-type-block .property {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--gg-accent) !important;
}
.item-views.list.list-type-block .inner-wrapper { margin: 0 !important; }

/* Кнопки действия под карточкой услуги */
.item-views.list.list-type-block .gg-service-actions {
  margin-top: auto !important;
  padding-top: 18px !important;
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  position: relative !important;
  z-index: 3 !important;
}
.item-views.list.list-type-block .items.row > .col-md-12 > hr {
  display: none !important;
}
.item-views.list.list-type-block .body-info > span > .btn[data-name="question"] {
  display: none !important;
}

/* =============================================================
   СТРАНИЦА /services/ (sections_wrapper) — карточки категорий
   ============================================================= */
.sections_wrapper .list .item.section_item {
  border: 1px solid var(--gg-line) !important;
  border-radius: var(--gg-radius) !important;
  overflow: hidden !important;
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.sections_wrapper .list .item.section_item:hover {
  transform: translateY(-3px);
  box-shadow: var(--gg-shadow-hi);
  border-color: #cfe0ff;
}
.sections_wrapper .list .item.section_item .img {
  float: none !important;
  margin: 0 !important;
  width: 100% !important;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--gg-bg-soft);
}
.sections_wrapper .list .item.section_item .img a.thumb {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
.sections_wrapper .list .item.section_item .img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  max-width: none !important;
  display: block !important;
}

/* =============================================================
   АДАПТИВ — внутренние страницы
   ============================================================= */
@media (max-width: 960px){
  .sections.v3.item-views .items.row.flexbox,
  .item-views.list.list-type-block .items.row {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 600px){
  .sections.v3.item-views .items.row.flexbox,
  .item-views.list.list-type-block .items.row {
    grid-template-columns: 1fr !important;
  }
}

/* =====================================================================
   PAGE-HEADER (все внутренние страницы)
   ===================================================================== */
.page-header{
  background: linear-gradient(180deg, #fbfcfe 0%, #ffffff 100%);
  border-bottom: 1px solid var(--gg-line);
  padding: 48px 0 40px;
  font-family: 'Inter','Manrope','Roboto','Segoe UI',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.page-header .container{
  max-width: var(--gg-container) !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  width: auto !important;
}
.page-header .breadcrumbs{
  display:flex; gap:8px; align-items:center;
  font-size:13px; color: var(--gg-muted); margin-bottom:14px; flex-wrap:wrap;
}
.page-header .breadcrumbs a{ color: var(--gg-muted); text-decoration:none; }
.page-header .breadcrumbs a:hover{ color: var(--gg-accent); }
.page-header .breadcrumbs span{ color: var(--gg-muted); }
.page-header__title{
  font-size: 40px; font-weight:800; letter-spacing:-.025em;
  line-height:1.12; margin:0 0 12px; color: var(--gg-text);
}
.page-header__lead{ color: var(--gg-muted); font-size:17px; margin:0; max-width:760px; }

/* =====================================================================
   ГЛОБАЛЬНЫЕ СТИЛИ ВНУТРЕННИХ СТРАНИЦ (работают вне .home)
   ===================================================================== */
.section{ padding: 80px 0; }
.section--soft{ background: var(--gg-bg-soft); }
.section--white{ background:#fff; }
.section .container{
  max-width: var(--gg-container) !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  width: auto !important;
}
.section__head{ max-width: 760px; margin: 0 auto 40px; text-align:center; }
.section__title{
  font-size: clamp(24px, 2.6vw, 34px); line-height:1.15; font-weight:700;
  letter-spacing:-.02em; margin: 0 0 12px;
}
.section__lead{ color: var(--gg-muted); font-size: 17px; margin:0; }
.section__foot{ margin-top: 32px; text-align:center; }

/* Prose — типографика контентных страниц */
.prose{ font-size: 16px; line-height: 1.7; color: var(--gg-text); }
.prose h2{ font-size: 26px; font-weight: 700; margin: 36px 0 16px; letter-spacing:-.01em; }
.prose h3{ font-size: 20px; font-weight: 700; margin: 24px 0 10px; }
.prose p{ margin: 0 0 14px; color: var(--gg-text); }
.prose ul{ margin: 0 0 16px; padding-left: 20px; color: var(--gg-text); }
.prose li{ margin: 6px 0; }
.prose img{ border-radius: var(--gg-radius); margin: 18px 0; }

/* CTA-полоса (внутренние страницы) */
.cta-band{
  margin-top: 48px;
  display:flex; align-items:center; justify-content:space-between; gap: 24px;
  background: linear-gradient(120deg, #0f172a 0%, #1748a6 100%);
  color:#fff; border-radius: var(--gg-radius); padding: 28px 36px;
}
.cta-band h3{ margin:0 0 4px; font-size: 22px; color:#fff !important; }
.cta-band p{ margin:0; opacity:.85; color:#fff !important; }
.cta-band .btn-default{
  background:#fff !important; color: var(--gg-accent) !important;
  border-color:#fff !important;
}
.cta-band .btn-default:hover{ background: var(--gg-accent-soft) !important; }

/* О компании */
.about{ display:grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items:center; }
.about__text h2{ text-align:left; }
.about__text p{ color: var(--gg-muted); font-size:17px; }
.about__stats{ display:grid; grid-template-columns: repeat(2,1fr); gap: 16px; margin-top: 28px; }
.about__stat{ background:#fff; border:1px solid var(--gg-line); border-radius: var(--gg-radius-sm); padding: 18px 20px; }
.about__stat b{ display:block; font-size: 26px; color: var(--gg-accent); font-weight:800; }
.about__stat span{ color: var(--gg-muted); font-size:14px; }
.about__media{ border-radius: var(--gg-radius); overflow:hidden; box-shadow: var(--gg-shadow); aspect-ratio: 4/3; background: var(--gg-bg-soft); }
.about__media img{ width:100%; height:100%; object-fit:cover; }

/* Преимущества (4 колонки, внутренние) */
.advantages-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.advantage{
  background:#fff; border:1px solid var(--gg-line); border-radius: var(--gg-radius);
  padding: 28px 26px; text-align:left;
  transition: transform .2s, box-shadow .2s;
}
.advantage:hover{ transform: translateY(-3px); box-shadow: var(--gg-shadow-hi); }
.advantage__num{ font-size: 36px; font-weight:800; color: var(--gg-accent); letter-spacing:-.03em; line-height:1; margin: 0 0 8px; }
.advantage__num small{ font-size:18px; font-weight:700; margin-left:2px; }
.advantage__title{ font-size: 17px; font-weight:700; margin: 0 0 6px; }
.advantage__text{ font-size:14px; color: var(--gg-muted); margin:0; }

/* Карточки услуг с картинкой+ценой (внутренние) */
.cards--services{ display:grid; gap: 20px; grid-template-columns: repeat(3, 1fr); }
.service-card{
  background:#fff; border:1px solid var(--gg-line); border-radius: var(--gg-radius);
  overflow:hidden; display:flex; flex-direction:column;
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.service-card:hover{ transform: translateY(-3px); box-shadow: var(--gg-shadow-hi); border-color: #cfe0ff; }
.service-card__img{ aspect-ratio: 16/10; overflow:hidden; background: var(--gg-bg-soft); position:relative; }
.service-card__img img{ width:100%; height:100%; object-fit:cover; transition: transform .4s; }
.service-card:hover .service-card__img img{ transform: scale(1.05); }
.service-card__price{
  position:absolute; left:14px; bottom:14px;
  background: rgba(255,255,255,.95); color: var(--gg-text);
  padding: 8px 14px; border-radius: 999px;
  font-weight:700; font-size:14px;
  box-shadow: 0 4px 12px rgba(15,23,42,.18); backdrop-filter: blur(4px);
}
.service-card__price b{ color: var(--gg-accent); }
.service-card__body{ padding: 22px 24px 26px; display:flex; flex-direction:column; gap:12px; flex:1; }
.service-card__title{ font-size: 19px; font-weight: 700; margin:0; }
.service-card__text{ color: var(--gg-muted); margin:0; font-size:15px; flex:1; }
.service-card__actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top: 6px; }
.service-card__actions .btn{ flex:1; min-width: 130px; }

/* Сертификаты (внутренние) */
.certs-grid{ display:grid; gap:18px; grid-template-columns: repeat(5, 1fr); }
.certs-grid a{ display:block; aspect-ratio: 3/4; background:#fff; border:1px solid var(--gg-line); border-radius: var(--gg-radius-sm); overflow:hidden; transition: transform .2s, box-shadow .2s; }
.certs-grid a:hover{ transform: translateY(-3px); box-shadow: var(--gg-shadow-hi); }
.certs-grid img{ width:100%; height:100%; object-fit:cover; }

/* Прайс-лист (внутренние) */
.price-group{ background:#fff; border:1px solid var(--gg-line); border-radius: var(--gg-radius); padding: 24px 28px; margin-bottom: 22px; box-shadow: var(--gg-shadow); }
.price-group__head{ display:flex; align-items:center; gap:14px; margin-bottom: 18px; padding-bottom:14px; border-bottom: 1px solid var(--gg-line); }
.price-group__icon{ width:44px; height:44px; border-radius:10px; background: var(--gg-accent-soft); display:grid; place-items:center; color: var(--gg-accent); flex:0 0 auto; }
.price-group__icon svg{ width:22px; height:22px; }
.price-group__title{ font-size: 20px; font-weight:700; margin:0; }
.price-table{ width:100%; border-collapse: collapse; font-size: 15px; }
.price-table th, .price-table td{ padding: 12px 12px; text-align:left; border-bottom:1px solid var(--gg-line); vertical-align:top; }
.price-table th{ font-weight:600; color: var(--gg-muted); font-size:13px; text-transform:uppercase; letter-spacing:.04em; }
.price-table td.num{ text-align:right; white-space:nowrap; font-weight:700; color: var(--gg-text); }
.price-table tr:last-child td{ border-bottom:none; }
.price-table tr:hover td{ background: var(--gg-bg-soft); }

/* Карточка услуги — layout */
.service-layout{ display:grid; grid-template-columns: 1fr 320px; gap: 48px; align-items:start; }
.service-aside{ position:sticky; top: 24px; display:flex; flex-direction:column; gap: 20px; }
.aside-card{ background:#fff; border:1px solid var(--gg-line); border-radius: var(--gg-radius); padding: 22px 24px; box-shadow: var(--gg-shadow); }
.aside-card h4{ margin:0 0 10px; font-size:15px; font-weight:700; color: var(--gg-muted); text-transform:uppercase; letter-spacing:.06em; }
.aside-price{ font-size:28px; font-weight:800; color: var(--gg-accent); line-height:1; margin: 0 0 6px; }
.aside-price small{ font-size:14px; font-weight:600; color: var(--gg-muted); margin-left:6px; }
.aside-card .btn{ width:100%; }

/* Подуслуги-сетка (категория) */
.subservice-grid{ display:grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.subservice{ background:#fff; border:1px solid var(--gg-line); border-radius: var(--gg-radius); padding: 22px 24px; display:flex; flex-direction:column; gap: 12px; transition: box-shadow .18s, transform .18s, border-color .18s; position:relative; }
.subservice:hover{ box-shadow: var(--gg-shadow); border-color: var(--gg-accent); transform: translateY(-2px); }
.subservice__head{ display:flex; gap:14px; align-items:flex-start; }
.subservice__icon{ width:44px; height:44px; border-radius:10px; background: var(--gg-accent-soft); color: var(--gg-accent); display:grid; place-items:center; flex:0 0 auto; }
.subservice__icon svg{ width:22px; height:22px; }
.subservice__title{ margin:0; font-size:18px; font-weight:700; line-height:1.3; }
.subservice__title a{ color: var(--gg-text); text-decoration:none; }
.subservice__title a:hover{ color: var(--gg-accent); }
.subservice__title a::after{ content:""; position:absolute; inset:0; }
.subservice__text{ margin:0; color: var(--gg-muted); font-size:14px; line-height:1.55; flex: 1; }
.subservice__foot{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding-top: 12px; border-top:1px dashed var(--gg-line); }
.subservice__price{ font-size:18px; font-weight:800; color: var(--gg-accent); }
.subservice__price small{ font-size:12px; font-weight:600; color: var(--gg-muted); }
.subservice__more{ position:relative; z-index:1; font-size:14px; font-weight:600; color: var(--gg-accent); display:inline-flex; align-items:center; gap:4px; }
.subservice__more::after{ content:"›"; font-size:18px; line-height:1; transition: transform .15s; }
.subservice:hover .subservice__more::after{ transform: translateX(3px); }

/* Карточки «Что входит» */
.feature-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin: 24px 0; }
.feature{ background:#fff; border:1px solid var(--gg-line); border-radius: var(--gg-radius); padding: 18px 20px; }
.feature h4{ margin: 0 0 6px; font-size:15px; font-weight:700; }
.feature p{ margin:0; font-size:14px; color: var(--gg-muted); }

/* =====================================================================
   АДАПТИВ ВНУТРЕННИХ СТРАНИЦ
   ===================================================================== */
@media (max-width: 1100px){
  .cards--services{ grid-template-columns: repeat(2, 1fr); }
  .advantages-grid{ grid-template-columns: repeat(2, 1fr); }
  .feature-grid{ grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 900px){
  .section{ padding: 56px 0; }
  .about{ grid-template-columns: 1fr; gap: 28px; }
  .service-layout{ grid-template-columns: 1fr; }
  .service-aside{ position: static; }
  .subservice-grid{ grid-template-columns: 1fr; }
  .cta-band{ flex-direction:column; text-align:center; padding: 24px; }
  .page-header__title{ font-size: 28px; }
}
@media (max-width: 600px){
  .cards--services{ grid-template-columns: 1fr; }
  .advantages-grid{ grid-template-columns: 1fr; }
  .certs-grid{ grid-template-columns: repeat(2, 1fr); }
  .feature-grid{ grid-template-columns: 1fr; }
  .price-group{ padding: 18px; }
  .page-header{ padding: 32px 0 28px; }
}

/* =====================================================================
   СТРАНИЦА КОНТАКТОВ — /contacts/
   ===================================================================== */

.contacts-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:32px;
}
.contact-card{
  background:#fff; border:1px solid var(--gg-line); border-radius: var(--gg-radius);
  padding: 28px 28px; box-shadow: var(--gg-shadow);
}
.contact-card h3{ font-size:20px; font-weight:700; margin:0 0 20px; }
.contact-row{
  display:flex; align-items:flex-start; gap:14px;
  padding: 12px 0; border-bottom:1px solid var(--gg-line);
}
.contact-row:last-of-type{ border-bottom:none; }
.contact-row__icon{
  width:40px; height:40px; border-radius:10px;
  background: var(--gg-accent-soft); display:grid; place-items:center;
  color: var(--gg-accent); flex:0 0 auto;
}
.contact-row__icon svg{ width:20px; height:20px; }
.contact-row__label{ font-size:13px; color: var(--gg-muted); margin-bottom:3px; }
.contact-row__value{
  font-size:15px; font-weight:600; color: var(--gg-text);
  text-decoration:none; display:block; line-height:1.4;
}
a.contact-row__value:hover{ color: var(--gg-accent); }

.map{
  border-radius: var(--gg-radius); overflow:hidden;
  border:1px solid var(--gg-line); margin-bottom:28px;
  min-height:400px;
}
.map__placeholder{
  min-height:400px; background: var(--gg-bg-soft);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:16px; color: var(--gg-muted); font-size:15px; text-align:center;
}
.map__placeholder svg{ width:40px; height:40px; color: var(--gg-accent); opacity:.5; }

@media (max-width: 768px){
  .contacts-grid{ grid-template-columns:1fr; }
  .page-header__title{ font-size:28px; }
}

/* =====================================================================
   ПРАЙС-ЛИСТ — /price.php
   ===================================================================== */
.gg-price-wrap{ padding: 0 0 48px; }
.gg-price-wrap h3{
  font-size: 18px; font-weight: 700; margin: 36px 0 10px;
  padding-bottom: 8px; border-bottom: 2px solid var(--gg-accent);
  color: var(--gg-text);
}
.gg-price-table{ width:100%; border-collapse:collapse; font-size:15px; margin-bottom:8px; }
.gg-price-table th,
.gg-price-table td{ padding: 10px 12px; text-align:left; border-bottom:1px solid var(--gg-line); vertical-align:top; }
.gg-price-table th{
  font-weight:600; color:#fff; font-size:13px; background: var(--gg-accent);
  text-transform:uppercase; letter-spacing:.04em;
}
.gg-price-table td.num{ text-align:right; white-space:nowrap; font-weight:700; }
.gg-price-table tr:last-child td{ border-bottom:none; }
.gg-price-table tr:hover td{ background: var(--gg-bg-soft); }

@media (max-width: 768px){
  .gg-price-table th, .gg-price-table td{ padding: 8px 8px; font-size:13px; }
  .gg-price-wrap h3{ font-size:16px; }
}

/* =====================================================================
   ХЛЕБНЫЕ КРОШКИ — скрываем ошибочный ранний вывод вне .page-header
   ===================================================================== */
body > nav.breadcrumbs{
  display: none !important;
}
.page-header .breadcrumbs{
  display: flex !important;
}

/* =====================================================================
   ФОРМЫ CENTINO (jqModal) — поверх overlay и gg-header
   ===================================================================== */
.jqmOverlay{
  z-index: 100000 !important;
}
.jqmWindow.show{
  display: block !important;
  position: fixed !important;
  left: 50% !important;
  top: 50% !important;
  margin-left: 0 !important;
  transform: translate(-50%, -50%) !important;
  z-index: 100001 !important;
  opacity: 1 !important;
  visibility: visible !important;
  max-height: 90vh;
  overflow-y: auto;
  width: min(500px, calc(100vw - 32px)) !important;
  background: #fff;
  border-radius: var(--gg-radius);
  box-shadow: var(--gg-shadow-hi);
}
