/* Static overrides — seolaunch.ru v0.1 (Elementor clone) */

html {
  scroll-behavior: smooth;
}

body.static-seolaunch {
  margin: 0;
  background-color: #16162b;
}

.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 9999;
  padding: 8px 16px;
  background: #ac01ff;
  color: #fff;
}

.skip-link:focus {
  left: 16px;
}

/* Hello Elementor theme caps width — match WP elementor-page template */
.site-main,
.elementor-location-header,
.elementor-location-footer {
  max-width: none !important;
  width: 100% !important;
  margin-inline: 0 !important;
}

/* Header shell — transparent wrapper (WP: blur on fixed sticky bar only) */
header.elementor-location-header {
  display: block !important;
  position: static !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: auto;
  background-color: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.elementor-location-header {
  display: block !important;
  position: relative;
  z-index: auto;
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
  background: transparent !important;
}

/* Sticky bar — fixed + glass blur (Elementor Pro sticky behaviour) */
.elementor-element-5635b63 {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 64px;
  margin-bottom: 0 !important;
  z-index: 1000;
  background-color: rgba(0, 0, 0, 0.2) !important;
  backdrop-filter: saturate(180%) blur(20px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(20px) !important;
}

.elementor-element-5635b63 > .e-con-inner {
  max-width: 1200px;
  margin-inline: auto;
}

.elementor-element-5635b63.is-scrolled {
  background-color: rgba(0, 0, 0, 0.35) !important;
}

header.elementor-location-header.is-scrolled {
  background-color: transparent !important;
}

body.static-seolaunch .site-main {
  padding-top: 0 !important;
}

/* Fixed header: pull hero under transparent bar like WP */
body.static-seolaunch .elementor-2299 .elementor-element.elementor-element-04e18da {
  margin-top: -64px !important;
  padding-top: 64px !important;
}

/* Inline-style-only header/footer widgets (no visual content) */
.elementor-element-411749a,
.elementor-element-b69df21,
.elementor-element-b36fd58 {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

#cookie-law-info-bar,
.cli-modal-backdrop,
.cky-consent-container,
.cky-overlay,
.e-preview--show-hidden-container,
.elementor-popup-modal {
  display: none !important;
}

/* Cookie banner (legacy layout) */
.cookie-banner {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 1200;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  max-width: 420px;
  padding: 20px 24px;
  background: #1f232f;
  border: 1px solid #3a3a3a;
  border-radius: 8px;
  box-shadow: 10px 10px 25px rgba(14, 16, 21, 0.35);
}

.cookie-banner[hidden] {
  display: none !important;
}

.cookie-banner p {
  flex: 1 1 200px;
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 13px;
  line-height: 1.5;
  color: #9aa0a7;
}

.cookie-banner__btn-wrap {
  display: inline-flex;
  flex-shrink: 0;
}

body.elementor-kit-1382 .cookie-banner .cookie-banner__btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  min-height: 36px !important;
  cursor: pointer !important;
  background-color: transparent !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1em !important;
  text-decoration: none !important;
  color: #ffffff80 !important;
  fill: #ffffff80 !important;
  box-shadow: 0 0 0 0 transparent !important;
  border-style: solid !important;
  border-width: 1px !important;
  border-color: #ac01ff !important;
  border-radius: 6px !important;
  padding: 9px 20px !important;
  transition: color 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease, background-color 0.3s ease !important;
  white-space: nowrap;
}

body.elementor-kit-1382 .cookie-banner .cookie-banner__btn:hover,
body.elementor-kit-1382 .cookie-banner .cookie-banner__btn:focus,
body.elementor-kit-1382 .cookie-banner .cookie-banner__btn:focus-visible {
  background-color: transparent !important;
  color: #ffffff !important;
  fill: #ffffff !important;
  border-color: #ac01ff !important;
  border-radius: 6px !important;
  box-shadow: 0 4px 25px 0 #ac01ff !important;
}

body.elementor-kit-1382 .cookie-banner .cookie-banner__btn:active {
  background-color: transparent !important;
  color: #ffffff80 !important;
  fill: #ffffff80 !important;
  border-color: #ac01ff !important;
  box-shadow: none !important;
}

/* Hero — full-bleed starfield background */
.elementor-element-04e18da {
  width: 100% !important;
  max-width: none !important;
  overflow: hidden !important;
}

.elementor-element-04e18da > .e-con-inner {
  max-width: 1200px;
  margin-inline: auto;
}

.elementor-element-03fa91f img {
  width: 100vw !important;
  max-width: none !important;
  min-width: 1425px;
  height: auto;
  object-fit: cover;
}

@media (min-width: 1025px) {
  body.static-seolaunch:not(.rtl) .elementor-2299 .elementor-element.elementor-element-03fa91f {
    left: -261px !important;
  }

  body.static-seolaunch.rtl .elementor-2299 .elementor-element.elementor-element-03fa91f {
    right: -261px !important;
  }

  body.static-seolaunch .elementor-2299 .elementor-element.elementor-element-03fa91f {
    top: -97px !important;
    z-index: -1 !important;
  }
}

/* Hero CTA row */
.elementor-element-200c411 {
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
}

.elementor-element-200c411 .elementor-button {
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 58px !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
}

.elementor-element-79f031f .elementor-button {
  padding: 16px 24px !important;
  border-radius: 10px !important;
}

.elementor-element-79f031f > .elementor-widget-container {
  margin-right: 0 !important;
}

/* Pricing button pairs */
#price .e-con:has(.btn-custom) {
  align-items: center !important;
  flex-wrap: nowrap !important;
}

#price .btn-custom .elementor-button {
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 58px !important;
  box-sizing: border-box !important;
}

@media (min-width: 1025px) {
  .elementor-element-abbaf9c {
    flex-wrap: nowrap !important;
    justify-content: center !important;
  }
}

/* ——— Cases section (#cases) — shared patterns for twin cards ——— */

/* Full-width case rows (glass / laser) */
#cases .elementor-element-76fecdc,
#cases .elementor-element-e0795b1 {
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  padding: 0 !important;
}

/* Shared text column — same 50px inset as WP for BOTH rows */
#cases .elementor-element-bf7c004,
#cases .elementor-element-714c208 {
  margin: 50px !important;
  gap: 20px !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}

/* Shared side-image column — flush to card edges */
#cases .elementor-element-05a21a9,
#cases .elementor-element-9a92d33 {
  align-self: stretch !important;
  justify-content: stretch !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  min-width: 0 !important;
}

/* Shared side screenshots */
#cases .elementor-element-2954b16,
#cases .elementor-element-b65bcd5 {
  width: auto !important;
  max-width: 480px !important;
  height: 100% !important;
  margin-left: auto !important;
  align-self: stretch !important;
  flex: 1 1 auto !important;
}

#cases .elementor-element-2954b16 .elementor-widget-container,
#cases .elementor-element-b65bcd5 .elementor-widget-container {
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

#cases .elementor-element-2954b16 a,
#cases .elementor-element-b65bcd5 a {
  display: block !important;
  height: 100% !important;
  width: 100% !important;
  line-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

#cases .elementor-element-2954b16 img,
#cases .elementor-element-b65bcd5 img {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  display: block !important;
}

/* Metric rows — same layout for all case cards */
#cases .elementor-element-317b87d,
#cases .elementor-element-1ac46fe,
#cases .elementor-element-ed64aae,
#cases .elementor-element-7734dc9 {
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  gap: 20px !important;
}

#cases .elementor-element-288866f,
#cases .elementor-element-da2c412,
#cases .elementor-element-2fa8a68,
#cases .elementor-element-3b12117,
#cases .elementor-element-6ed441f,
#cases .elementor-element-240414f,
#cases .elementor-element-57cab8b,
#cases .elementor-element-2e4f794,
#cases .elementor-element-7553a00,
#cases .elementor-element-8cf7bdd,
#cases .elementor-element-23da5ac,
#cases .elementor-element-e984ca3 {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
}

/* Half-width cards (food / waste) — shared shell */
#cases .elementor-element-b58428c,
#cases .elementor-element-f7f2bb1 {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  padding: 50px 50px 0 !important;
  gap: 10px !important;
  box-sizing: border-box !important;
}

/* Inner content stacks — same vertical rhythm */
#cases .elementor-element-7802767,
#cases .elementor-element-2a6650f {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 20px !important;
  margin: 0 !important;
  width: 100% !important;
}

/* Bottom screenshots — pinned to card bottom (shared) */
#cases .elementor-element-4634189,
#cases .elementor-element-db73fb8 {
  width: 70% !important;
  max-width: 70% !important;
  padding: 0 !important;
  margin: auto auto 0 !important;
  align-self: center !important;
}

#cases .elementor-element-850c858,
#cases .elementor-element-439c2a5 {
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
}

#cases .elementor-element-850c858 .elementor-widget-container,
#cases .elementor-element-439c2a5 .elementor-widget-container,
#cases .elementor-element-850c858 a,
#cases .elementor-element-439c2a5 a {
  width: 100% !important;
  line-height: 0 !important;
}

#cases .elementor-element-850c858 img,
#cases .elementor-element-439c2a5 img {
  width: 100% !important;
  height: 242px !important;
  object-fit: fill !important;
  display: block !important;
  margin: 0 auto !important;
}

/* Metric numbers/descriptions — gradient text (shared) */
#cases .elementor-element-ed64aae .elementor-heading-title,
#cases .elementor-element-7734dc9 .elementor-heading-title,
#cases .elementor-element-ed64aae .elementor-widget-text-editor p,
#cases .elementor-element-7734dc9 .elementor-widget-text-editor p {
  background-image: linear-gradient(90deg, #c2c2c2, #2c2c2c) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* Card titles centered */
#cases .elementor-element-e739005,
#cases .elementor-element-1569919 {
  text-align: center !important;
}

#cases .elementor-element-e739005 .elementor-heading-title,
#cases .elementor-element-1569919 .elementor-heading-title {
  text-align: center !important;
  width: 100%;
}

@media (min-width: 1025px) {
  #cases .elementor-element-66d35b5 {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
  }

  #cases .elementor-element-b58428c,
  #cases .elementor-element-f7f2bb1 {
    flex: 1 1 0 !important;
    width: calc(50% - 5px) !important;
    max-width: calc(50% - 5px) !important;
  }

  /* Text/image columns — WP: 588 + 490 in 1190 row */
  #cases .elementor-element-bf7c004,
  #cases .elementor-element-714c208 {
    flex: 0 0 588px !important;
    width: 588px !important;
    max-width: 588px !important;
  }

  #cases .elementor-element-05a21a9,
  #cases .elementor-element-9a92d33 {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
  }
}

/* Rocket emoji in header/footer — native glyph, not wp.org SVG */
.elementor-element-a6536d2 .elementor-heading-title,
.elementor-element-9ee5caf .elementor-heading-title {
  font-size: 28px !important;
  line-height: 1 !important;
}

img.emoji {
  display: none !important;
}
.elementor-element-5561b17 {
  position: relative;
  overflow: hidden;
  min-height: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

.elementor-element-e144779 {
  pointer-events: none;
}

/* Case screenshot lightbox */
body.lightbox-open {
  overflow: hidden;
}

.seolaunch-lightbox {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 64px 24px 24px;
  background: rgba(8, 8, 18, 0.94);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.seolaunch-lightbox.is-open {
  display: flex;
}

button.seolaunch-lightbox__close,
.seolaunch-lightbox .seolaunch-lightbox__close {
  position: fixed;
  top: 12px;
  right: 20px;
  z-index: 2147483001;
  display: block;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fff !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 56px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  text-align: center;
  cursor: pointer;
  padding: 0 !important;
  margin: 0 !important;
  opacity: 0.92;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.65);
  appearance: none;
  -webkit-appearance: none;
}

button.seolaunch-lightbox__close:hover,
button.seolaunch-lightbox__close:focus-visible,
.seolaunch-lightbox .seolaunch-lightbox__close:hover,
.seolaunch-lightbox .seolaunch-lightbox__close:focus-visible {
  background: transparent !important;
  color: #fff !important;
  opacity: 1;
  outline: none;
}

.seolaunch-lightbox__stage {
  position: relative;
  max-width: min(96vw, 1400px);
  max-height: calc(100vh - 96px);
  line-height: 0;
}

.seolaunch-lightbox__img {
  display: block;
  max-width: min(96vw, 1400px);
  max-height: 90vh;
  width: auto;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.55);
}

/* Elementor editor-only helpers */
.elementor-screen-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* Mobile nav */
@media (max-width: 767px) {
  .elementskit-menu-container {
    display: none;
  }

  body.nav-open .elementskit-menu-container {
    display: block;
    position: fixed;
    inset: 72px 0 0 0;
    z-index: 999;
    padding: 24px;
    background: rgba(22, 22, 43, 0.98);
    overflow-y: auto;
  }

  body.nav-open .elementskit-menu-overlay {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 998;
    background: rgba(0, 0, 0, 0.45);
  }

  .elementskit-navbar-nav {
    flex-direction: column;
    gap: 12px;
  }

  .elementskit-nav-identity-panel {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 16px;
  }

  .elementor-element-200c411 {
    flex-wrap: wrap !important;
  }

  #cases .elementor-element-66d35b5 {
    flex-direction: column !important;
  }

  #cases .elementor-element-b58428c,
  #cases .elementor-element-f7f2bb1 {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (min-width: 768px) {
  .elementskit-menu-hamburger {
    display: none !important;
  }

  .elementskit-menu-overlay,
  .elementskit-nav-identity-panel {
    display: none !important;
  }
}

img[srcset*="seolaunch.local"] {
  srcset: none;
}
