/* Homepage atmosphere: site pattern + alternating full-bleed bands */
/* Layout width 1380 — content constrained, backgrounds full-bleed */
@media (min-width: 1000px) {
  body.home .contokna,
  .contokna {
    max-width: 1380px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

body.home {
  --home-band: #ffffff;
  --home-canvas: #f4f7f5;
  background-color: var(--home-canvas) !important;
  background-image:
    radial-gradient(rgba(31, 58, 82, 0.045) 1.1px, transparent 1.2px),
    radial-gradient(rgba(25, 178, 127, 0.035) 1px, transparent 1.1px),
    repeating-linear-gradient(
      -18deg,
      transparent 0,
      transparent 11px,
      rgba(31, 58, 82, 0.018) 11px,
      rgba(31, 58, 82, 0.018) 12px
    ) !important;
  background-size:
    22px 22px,
    34px 34px,
    auto !important;
  background-position:
    0 0,
    11px 17px,
    0 0 !important;
  background-attachment: scroll;
}

body.home #page-builder.theme-builder,
body.home .theme-builder {
  background: transparent !important;
  /* Designexo adds 6% side padding — it shifts all home content left vs app-bar (1380) */
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Kill horizontal page shift from carousel slides / decorative overflow */
html:has(body.home),
body.home,
body.home #wrapper,
body.home #page {
  overflow-x: clip;
}

/* Soft floating orbs behind content (very subtle life) */
body.home #page-builder.theme-builder {
  position: relative;
  isolation: isolate;
}

body.home #page-builder.theme-builder::before,
body.home #page-builder.theme-builder::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(2px);
}

body.home #page-builder.theme-builder::before {
  top: 18%;
  left: -8rem;
  width: 22rem;
  height: 22rem;
  background: radial-gradient(circle, rgba(25, 178, 127, 0.09), transparent 68%);
}

body.home #page-builder.theme-builder::after {
  top: 58%;
  right: -10rem;
  width: 26rem;
  height: 26rem;
  background: radial-gradient(circle, rgba(31, 58, 82, 0.06), transparent 70%);
}

body.home #page-builder.theme-builder > * {
  position: relative;
  z-index: 1;
}

/* Full-bleed white bands — break out of .contokna to true viewport width */
body.home .home-cat,
body.home .home-offer,
body.home .home-sch,
body.home .home-why,
body.home .home-ins,
body.home .home-rq,
body.home .home-calc,
body.home .home-measure {
  position: relative;
  z-index: 2;
  max-width: none !important;
  width: 100vw !important;
  box-sizing: border-box;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: max(1rem, calc((100vw - 1380px) / 2)) !important;
  padding-right: max(1rem, calc((100vw - 1380px) / 2)) !important;
}

body.home .home-cat,
body.home .home-offer,
body.home .home-sch,
body.home .home-why,
body.home .home-ins {
  background: var(--home-band);
  box-shadow:
    inset 0 1px 0 rgba(31, 58, 82, 0.04),
    inset 0 -1px 0 rgba(31, 58, 82, 0.04);
}

body.home .home-cat {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 2.35rem !important;
  padding-bottom: 2.35rem !important;
}

body.home .home-offer {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 2.75rem !important;
  padding-bottom: 2.75rem !important;
}

body.home .home-sch {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 2.75rem !important;
  padding-bottom: 2.75rem !important;
}

body.home .home-why {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 2.85rem !important;
  padding-bottom: 2.85rem !important;
}

body.home .home-ins {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 2.75rem !important;
  padding-bottom: 2.5rem !important;
}

/* Breathing room for sections that stay on the patterned canvas */
body.home .home-prof,
body.home .home-adv,
body.home .home-price,
body.home .home-about {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

/* Soft tint band for reviews */
body.home .home-rq {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 2.75rem !important;
  padding-bottom: 2.75rem !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(243, 247, 245, 0.9));
  box-shadow:
    inset 0 1px 0 rgba(31, 58, 82, 0.035),
    inset 0 -1px 0 rgba(31, 58, 82, 0.035);
}

/* Photo strips — full bleed, content padded via breakout above */
body.home .home-calc,
body.home .home-measure {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* No gap / dark strip under free-measure CTA before footer */
body.home .home-measure {
  margin-bottom: 0 !important;
  margin-top: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.home .home-measure__inner {
  margin-bottom: 0;
  border-bottom: 0;
  box-shadow: none;
}

body.home #page-builder.theme-builder {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

body.home .sf {
  margin-top: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
  body.home #page-builder.theme-builder::before,
  body.home #page-builder.theme-builder::after {
    display: none;
  }
}
