/* ============================================================
   Elementor override layer
   Elementor пишет padding/цвета инлайном на элемент, поэтому
   ключевые значения дублируем с !important.
   ============================================================ */

/* ---------- containers ---------- */
.elementor-section-boxed > .elementor-container{max-width:var(--g-container)!important}
.elementor-container,.elementor-column,.elementor-widget-wrap,.elementor-widget-container{box-sizing:border-box!important}
.elementor-section .elementor-container{width:100%!important;margin-left:auto!important;margin-right:auto!important}

/* ---------- section rhythm ---------- */
.g-section{padding:118px 0!important}
.g-section--tint{background:var(--g-bg-2)!important}
.g-section--head{padding-top:110px!important;padding-bottom:0!important}
.g-section--body{padding-top:0!important;padding-bottom:110px!important}
.g-hero{padding:96px 0 80px!important}
.g-page-hero{padding:76px 0 64px!important}
.g-case-hero{padding:64px 0 52px!important}
.g-header{padding:12px 0!important}
.g-footer-top{padding:76px 0 0!important}
.g-footer-bottom{padding:26px 0 30px!important}
.g-cta{padding:0 0 110px!important}
.g-contact-row{padding-top:72px!important}

/* ---------- headings / text ---------- */
.elementor-widget-heading .elementor-heading-title{font-family:var(--g-font)!important;font-style:normal!important}
.g-h1,.g-h2,.g-h3{color:var(--g-ink)!important}
.g-h1 em,.g-h2 em,.g-h3 em{color:var(--g-violet)!important}
.g-lead,.g-sub,.g-text,.g-pillar__text{font-family:var(--g-font)!important}
.g-lead{margin:26px 0 0!important}
.elementor-widget-text-editor p{margin:0}

/* ---------- columns used as cards ---------- */
.g-card-column{padding:0!important}
.g-faq-wrap .elementor-widget-html{margin:0!important}
.g-footer .elementor-widget-html{margin:0!important}

/* ---------- header ---------- */
.g-header{background:rgba(255,255,255,.72)!important;border-bottom:1px solid transparent}
.g-header.is-scrolled{background:rgba(255,255,255,.92)!important;border-bottom-color:var(--g-line)}
.g-nav .elementor-widget-container{display:flex;justify-content:center}

/* ---------- legacy blocks on inner pages ---------- */
.g-svc-row{padding:0!important;margin:0 0 22px!important}
.g-cards-row > .elementor-container{display:grid!important;grid-template-columns:repeat(3,1fr);gap:20px}
.g-cards-row .elementor-column{width:100%!important}
.g-cards-row .elementor-widget-wrap{width:100%}
.g-card{padding:28px!important}
.g-split-row > .elementor-container{display:grid!important;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.g-split-row .elementor-column{width:100%!important}
.g-hero-row .elementor-column,
.g-page-hero .elementor-column,
.g-case-hero .elementor-column{width:100%!important}

/* ---------- CTA / footer ---------- */
.g-cta__panel h2{color:#fff!important;font-family:var(--g-font)!important}
.g-cta__panel p{font-family:var(--g-font)!important}

/* ---------- responsive rhythm ---------- */
@media (max-width:1100px){
  .g-section{padding:88px 0!important}
  .g-section--head{padding-top:88px!important;padding-bottom:0!important}
  .g-section--body{padding-top:0!important;padding-bottom:88px!important}
  .g-hero{padding:64px 0 64px!important}
  .g-cards-row > .elementor-container{grid-template-columns:1fr 1fr}
  .g-split-row > .elementor-container{grid-template-columns:1fr;gap:32px}
}
@media (max-width:820px){
  .g-section{padding:64px 0!important}
  .g-section--head{padding-top:64px!important;padding-bottom:0!important}
  .g-section--body{padding-top:0!important;padding-bottom:64px!important}
  .g-hero{padding:40px 0 48px!important}
  .g-cta{padding:0 0 64px!important}
  .g-cards-row > .elementor-container{grid-template-columns:1fr}
  .g-footer-bottom{padding:20px 0 26px!important}
}
