/* .113 owns homepage review motion and shared interaction clarity only. */
body[data-zmx113-release] .zmx113-review-controls {
  display: grid !important;
  grid-template-columns: auto auto minmax(0, 1fr) auto auto;
  gap: 10px;
  width: 100%;
  align-items: center;
}

body[data-zmx113-release] .zmx113-review-dots {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 2px;
}

body[data-zmx113-release] .zmx113-review-dot {
  position: relative;
  width: 28px;
  min-width: 28px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body[data-zmx113-release] .zmx113-review-dot::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border: 1px solid rgba(244, 223, 170, .7);
  border-radius: 999px;
  background: rgba(255, 255, 255, .22);
  content: "";
  transform: translate(-50%, -50%);
  transition: width .2s ease, background-color .2s ease;
}

body[data-zmx113-release] .zmx113-review-dot[aria-current="true"]::before {
  width: 22px;
  border-color: #f2d483;
  background: #f2d483;
}

body[data-zmx113-release] .zmx113-review-dot:hover::before,
body[data-zmx113-release] .zmx113-review-dot:focus-visible::before {
  border-color: #fff;
  background: #fff;
}

body[data-zmx113-release] .zmx109-review-source {
  opacity: 1;
}

body[data-zmx113-release] .zmx109-review-source :is(svg, .zmx109-source-fallback) {
  flex: 0 0 auto;
}

/* The baseline runtime owns reveal geometry. .113 prevents older collision
   helpers from hiding an otherwise-valid sticky action over ordinary content. */
body[data-zmx113-release] .zmx-global-sticky.zmx113-sticky-managed.is-visible:is(.zmx109-sticky-suppressed, .zmx110-sticky-suppressed) {
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

body[data-zmx113-release] .zmx-global-sticky.zmx113-sticky-managed :is(a, button) {
  font-weight: 900 !important;
}

/* Residential offer checks use a darker glyph and brighter disc. Commercial
   offer treatment is owned by the .113 commercial correction lane. */
body[data-zmx113-release] [data-zmx110-offer-grid="residential"] [data-zmx110-offer-benefits] li::before {
  border: 1px solid rgba(16, 42, 36, .18) !important;
  background: #f0cd70 !important;
  color: #102a24 !important;
  box-shadow: 0 2px 8px rgba(16, 42, 36, .12);
}

body[data-zmx113-release] [data-zmx110-offer-grid="residential"] .zmx-res-button--gold {
  font-weight: 900 !important;
}

body[data-zmx113-release] #zmx-mobile-menu.zmx113-mobile-menu .zmx-global-dialog__inner {
  background: linear-gradient(160deg, #fffdf8 0%, #f6f0e2 100%);
}

body[data-zmx113-release] #zmx-mobile-menu .zmx113-mobile-audience {
  margin-bottom: 14px;
}

body[data-zmx113-release] #zmx-mobile-menu .zmx113-mobile-group {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px 10px;
}

body[data-zmx113-release] #zmx-mobile-menu .zmx113-mobile-group > a {
  min-width: 0;
}

body[data-zmx113-release] #zmx-mobile-menu .zmx113-mobile-group-toggle {
  display: inline-flex;
  min-width: 70px;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid rgba(16, 42, 36, .2);
  border-radius: 999px;
  background: rgba(255, 255, 255, .72);
  color: #123a32;
  font: 850 .78rem/1 Inter, ui-sans-serif, system-ui, sans-serif;
}

body[data-zmx113-release] #zmx-mobile-menu .zmx113-mobile-group-toggle[aria-expanded="true"] span[aria-hidden] {
  transform: rotate(180deg);
}

body[data-zmx113-release] #zmx-mobile-menu .zmx113-mobile-group > .zmx-global-mobile-subnav {
  grid-column: 1 / -1;
}

body[data-zmx113-release] #zmx-mobile-menu .zmx113-mobile-group > .zmx-global-mobile-subnav[hidden] {
  display: none !important;
}

body[data-zmx113-release] #zmx-mobile-menu .zmx113-mobile-contact {
  border-color: #17675d !important;
  background: #17675d !important;
  color: #fff !important;
  font-weight: 900 !important;
}

body[data-zmx113-release] #zmx-mobile-menu .zmx113-mobile-contact--email {
  border-color: #17675d !important;
  background: #17675d !important;
  color: #fff !important;
}

body[data-zmx113-release] #zmx-mobile-menu .zmx113-mobile-primary {
  border-color: #dbb458 !important;
  background: linear-gradient(135deg, #d9af55, #f0d78f) !important;
  color: #17251f !important;
  font-weight: 950 !important;
  box-shadow: 0 14px 30px rgba(117, 83, 20, .16);
}

.zmx113-guide-filter-cue {
  display: none;
}

@media (min-width: 721px) and (max-width: 1080px) {
  body[data-zmx113-release] .zmx113-review-section .zmx109-review-card {
    flex-basis: calc((100% - var(--zmx109-review-gap)) / 2);
  }
}

@media (max-width: 767px) {
  body[data-zmx113-release] .zmx113-review-controls {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 6px;
  }

  body[data-zmx113-release] .zmx113-review-controls [data-zmx109-review-prev] { grid-column: 1; grid-row: 1; }
  body[data-zmx113-release] .zmx113-review-dots { grid-column: 2; grid-row: 1; }
  body[data-zmx113-release] .zmx113-review-controls [data-zmx109-review-next] { grid-column: 3; grid-row: 1; }
  body[data-zmx113-release] .zmx113-review-controls [data-zmx109-review-toggle] { grid-column: 1 / 3; grid-row: 2; justify-self: start; }
  body[data-zmx113-release] .zmx113-review-controls [data-zmx109-review-progress] { grid-column: 3; grid-row: 2; justify-self: end; }

  body[data-zmx113-release] .zmx113-guide-filters {
    display: flex !important;
    max-width: 100%;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: 8px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline proximity;
    scrollbar-width: thin;
  }

  body[data-zmx113-release] .zmx113-guide-filters > button {
    flex: 0 0 auto;
    min-height: 44px;
    scroll-snap-align: center;
  }

  body[data-zmx113-release] .zmx113-guide-filter-cue {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 10px 0 22px;
    color: #536a63;
    font-size: .82rem;
    font-weight: 800;
  }

  body[data-zmx113-release] .zmx113-guide-filter-next {
    display: inline-flex;
    min-height: 44px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 15px;
    border: 1px solid rgba(16, 42, 36, .2);
    border-radius: 999px;
    background: #fff;
    color: #135d54;
    font: 900 .8rem/1 Inter, ui-sans-serif, system-ui, sans-serif;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-zmx113-release] .zmx113-review-dot::before,
  body[data-zmx113-release] #zmx-mobile-menu .zmx113-mobile-group-toggle span[aria-hidden] {
    transition: none !important;
  }
}
