/* Canonical mobile shell: loaded last on every Ukrainian page. */

/* Catalogs are browse-first: one filter control, products, then conversion. */
body:has(.shop-layout) .topbar .nav-actions > [data-open-lead-modal],
body:has(.shop-layout) .hero .hero-actions {
  display: none !important;
}

/* Catalog filters: one calm tool surface, progressive disclosure, no rule stack. */
body:has(.shop-layout) .shop-filter {
  gap: 0 !important;
  padding: 14px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

body:has(.shop-layout) .shop-filter > h3 {
  display: none !important;
}

body:has(.shop-layout) .shop-filter .filter-group,
.scenario-catalog-page .shop-filter .filter-group {
  display: grid !important;
  gap: 0 !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  border: 0 !important;
}

body:has(.shop-layout) .shop-filter .filter-toggle,
.scenario-catalog-page .shop-filter .filter-toggle {
  width: 100% !important;
  min-height: 42px !important;
  padding: 0 8px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: transparent !important;
  color: #1a1d21 !important;
  font: inherit !important;
  font-size: 14px !important;
  font-weight: 820 !important;
  text-align: left !important;
  cursor: pointer !important;
  transition: background-color 160ms ease, color 160ms ease !important;
}

body:has(.shop-layout) .shop-filter .filter-toggle:hover,
body:has(.shop-layout) .shop-filter .filter-toggle:focus-visible,
body:has(.shop-layout) .shop-filter .filter-group.is-open .filter-toggle,
.scenario-catalog-page .shop-filter .filter-group.is-open .filter-toggle {
  background: rgba(143, 174, 53, 0.08) !important;
}

body:has(.shop-layout) .shop-filter .filter-toggle::after,
.scenario-catalog-page .shop-filter .filter-toggle::after {
  content: "+" !important;
  color: rgba(26, 29, 33, 0.46) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
}

body:has(.shop-layout) .shop-filter .filter-group.is-open .filter-toggle::after,
.scenario-catalog-page .shop-filter .filter-group.is-open .filter-toggle::after {
  content: "−" !important;
}

body:has(.shop-layout) .shop-filter .filter-options,
.scenario-catalog-page .shop-filter .filter-options {
  display: grid !important;
  gap: 1px !important;
  padding: 4px 2px 8px !important;
}

body:has(.shop-layout) .shop-filter .filter-options[hidden],
.scenario-catalog-page .shop-filter .filter-options[hidden] {
  display: none !important;
}

body:has(.shop-layout) .shop-filter .filter-option,
.scenario-catalog-page .shop-filter .filter-option {
  min-height: 38px !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 0 7px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: rgba(26, 29, 33, 0.72) !important;
  font-size: 13px !important;
  font-weight: 680 !important;
  line-height: 1.3 !important;
  cursor: pointer !important;
}

body:has(.shop-layout) .shop-filter .filter-option:hover,
.scenario-catalog-page .shop-filter .filter-option:hover {
  background: rgba(26, 29, 33, 0.035) !important;
  color: #1a1d21 !important;
}

body:has(.shop-layout) .shop-filter .filter-option input,
.scenario-catalog-page .shop-filter .filter-option input {
  width: 17px !important;
  height: 17px !important;
  flex: 0 0 17px !important;
  margin: 0 !important;
  accent-color: #8fae35 !important;
}

body:has(.shop-layout) .shop-filter .filter-actions,
.scenario-catalog-page .shop-filter .filter-actions {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 4px !important;
  margin-top: 8px !important;
}

body:has(.shop-layout) .shop-filter .filter-submit,
.scenario-catalog-page .shop-filter .filter-submit {
  width: 100% !important;
  min-height: 44px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: #1a1d21 !important;
  color: #f5f7f8 !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 850 !important;
}

body:has(.shop-layout) .shop-filter .filter-reset,
.scenario-catalog-page .shop-filter .filter-reset {
  display: none !important;
  width: 100% !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: rgba(26, 29, 33, 0.58) !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 720 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(143, 174, 53, 0.6) !important;
  text-underline-offset: 4px !important;
}

body:has(.shop-layout) .shop-filter.has-active-filters .filter-reset,
.scenario-catalog-page .shop-filter.has-active-filters .filter-reset {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

@media (min-width: 981px) {
  body:has(.shop-layout) #shop {
    padding-top: 20px !important;
  }

  body:has(.shop-layout) .shop-filter,
  .scenario-catalog-page .shop-filter {
    margin-top: 46px !important;
    padding: 14px !important;
    background: rgba(255, 255, 255, 0.72) !important;
  }
}

@media (max-width: 980px) {
  body:has(.shop-layout) .catalog-mobile-filter-bar {
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  body:has(.shop-layout) .catalog-mobile-filter-toggle {
    min-height: 42px !important;
    padding: 0 14px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: #1a1d21 !important;
    color: #f5f7f8 !important;
    font-size: 13px !important;
    font-weight: 820 !important;
  }

  body:has(.shop-layout) .catalog-mobile-filter-count {
    color: rgba(26, 29, 33, 0.58) !important;
    font-size: 12px !important;
    font-weight: 650 !important;
  }

  body:has(.shop-layout) .shop-filter.is-mobile-open,
  .scenario-catalog-page .shop-filter.is-mobile-open {
    margin: 0 0 14px !important;
    padding: 12px !important;
    border: 1px solid rgba(26, 29, 33, 0.11) !important;
    background: #ffffff !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body:has(.shop-layout) .shop-filter .filter-toggle,
  .scenario-catalog-page .shop-filter .filter-toggle {
    transition: none !important;
  }
}

/* Shared contact preference and privacy consent for lead and checkout forms. */
.lead-contact-preference {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.lead-modal-form > .lead-contact-preference,
.lead-modal-form > .lead-consent,
.lead-modal-form > button[type="submit"],
.lead-modal-form > .lead-modal-note {
  grid-column: 1 / -1 !important;
}

.lead-contact-preference legend {
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: rgba(11, 13, 15, 0.68) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
}

.lead-contact-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.lead-contact-option {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
}

.lead-contact-option input[type="radio"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 1px !important;
  min-height: 1px !important;
  margin: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.lead-contact-option span {
  min-height: 54px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 9px 10px !important;
  border: 1px solid rgba(43, 49, 55, 0.16) !important;
  border-radius: 8px !important;
  background: rgba(245, 247, 248, 0.66) !important;
  color: rgba(11, 13, 15, 0.66) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease !important;
}

.lead-contact-option svg {
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
}

.lead-contact-option input:checked + span {
  border-color: #8FAE35 !important;
  background: rgba(143, 174, 53, 0.10) !important;
  color: #1A1D21 !important;
}

.lead-modal-dialog .lead-contact-preference legend,
.cart-dialog .lead-contact-preference legend {
  color: rgba(245, 247, 248, 0.72) !important;
}

.lead-modal-dialog .lead-contact-option span,
.cart-dialog .lead-contact-option span {
  border-color: rgba(245, 247, 248, 0.20) !important;
  background: rgba(245, 247, 248, 0.05) !important;
  color: rgba(245, 247, 248, 0.72) !important;
}

.lead-modal-dialog .lead-contact-option input:checked + span,
.cart-dialog .lead-contact-option input:checked + span {
  border-color: #8FAE35 !important;
  background: rgba(143, 174, 53, 0.16) !important;
  color: #F5F7F8 !important;
}

.lead-contact-option input:focus-visible + span {
  outline: 2px solid rgba(143, 174, 53, 0.74) !important;
  outline-offset: 2px !important;
}

.lead-consent,
.lead-modal-form .lead-consent,
.cart-form .lead-consent,
.callback-form .lead-consent,
.lead-form .lead-consent {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 9px !important;
  margin: 0 !important;
  color: rgba(11, 13, 15, 0.62) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.42 !important;
  cursor: pointer !important;
}

.lead-consent input[type="checkbox"],
.lead-modal-form .lead-consent input[type="checkbox"],
.cart-form .lead-consent input[type="checkbox"],
.callback-form .lead-consent input[type="checkbox"],
.lead-form .lead-consent input[type="checkbox"] {
  appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(43, 49, 55, 0.34) !important;
  border-radius: 4px !important;
  background: #F5F7F8 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.lead-consent input[type="checkbox"]:checked {
  border-color: #8FAE35 !important;
  background-color: #8FAE35 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m3.5 8 3 3 6-6'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 14px !important;
}

.lead-consent input[type="checkbox"]:focus-visible {
  outline: 2px solid rgba(143, 174, 53, 0.74) !important;
  outline-offset: 2px !important;
}

.lead-consent a {
  color: inherit !important;
  font-weight: 750 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.lead-modal-dialog .lead-consent,
.cart-dialog .lead-consent,
.call-popover .lead-consent,
.call-widget .callback-form .lead-consent {
  color: rgba(245, 247, 248, 0.66) !important;
}

.lead-modal-dialog .lead-consent input[type="checkbox"],
.cart-dialog .lead-consent input[type="checkbox"],
.call-popover .lead-consent input[type="checkbox"],
.call-widget .callback-form .lead-consent input[type="checkbox"] {
  border-color: rgba(245, 247, 248, 0.42) !important;
  background-color: rgba(245, 247, 248, 0.06) !important;
}

.lead-modal-dialog .lead-consent input[type="checkbox"]:checked,
.cart-dialog .lead-consent input[type="checkbox"]:checked,
.call-popover .lead-consent input[type="checkbox"]:checked,
.call-widget .callback-form .lead-consent input[type="checkbox"]:checked {
  border-color: #8FAE35 !important;
  background-color: #8FAE35 !important;
}

.call-popover .lead-consent span,
.call-widget .callback-form .lead-consent span {
  color: inherit !important;
}

.call-popover .lead-consent a,
.call-widget .callback-form .lead-consent a {
  color: #F5F7F8 !important;
}

body:has(.lead-modal.is-open) .cookie-banner,
body:has(.cart-modal.is-open) .cookie-banner {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (max-width: 760px) {
  .lead-contact-preference legend {
    margin-bottom: 6px !important;
    font-size: 12px !important;
  }

  .lead-contact-grid {
    gap: 6px !important;
  }

  .lead-contact-option span {
    min-height: 48px !important;
    gap: 5px !important;
    padding: 7px 5px !important;
    font-size: 12px !important;
  }

  .lead-contact-option svg {
    width: 16px !important;
    height: 16px !important;
    flex-basis: 16px !important;
  }

  .lead-consent,
  .lead-modal-form .lead-consent,
  .cart-form .lead-consent,
  .callback-form .lead-consent,
  .lead-form .lead-consent {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }
}

@media (max-width: 980px) {
  body.menu-open {
    overflow: hidden !important;
    touch-action: none !important;
  }

  body.menu-open .topbar {
    min-height: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .topbar .nav-links {
    position: fixed !important;
    inset: 0 !important;
    z-index: 260 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    padding: calc(102px + env(safe-area-inset-top)) max(20px, calc((100vw - 420px) / 2)) calc(24px + env(safe-area-inset-bottom)) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #0b0d0f !important;
    color: #f5f7f8 !important;
    box-shadow: none !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-8px) !important;
    transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease !important;
  }

  body.menu-open .topbar .nav-links {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  body.menu-open .topbar .brand {
    visibility: hidden !important;
  }

  body.menu-open .topbar .nav-actions {
    position: fixed !important;
    top: calc(16px + env(safe-area-inset-top)) !important;
    right: 80px !important;
    z-index: 320 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
  }

  body.menu-open .topbar .menu-toggle {
    position: fixed !important;
    top: calc(16px + env(safe-area-inset-top)) !important;
    right: 16px !important;
    z-index: 320 !important;
    width: 52px !important;
    height: 52px !important;
    border: 1px solid rgba(245, 247, 248, 0.18) !important;
    background: #f5f7f8 !important;
    color: #1a1d21 !important;
    box-shadow: none !important;
  }

  body.menu-open .topbar .cart-nav,
  body.menu-open .topbar .language-switch,
  body.menu-open .topbar .currency-switch {
    background: #f5f7f8 !important;
    border-color: rgba(245, 247, 248, 0.85) !important;
    box-shadow: none !important;
    opacity: 1 !important;
  }

  .topbar .nav-links > a,
  .topbar .nav-links .nav-trigger {
    width: 100% !important;
    min-height: 43px !important;
    display: flex !important;
    align-items: center !important;
    padding: 7px 2px !important;
    border: 0 !important;
    color: #f5f7f8 !important;
    font-size: clamp(19px, 5.4vw, 23px) !important;
    font-weight: 750 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
  }

  .topbar .nav-links > a::after,
  .topbar .nav-links .nav-trigger::after {
    display: none !important;
  }

  .topbar .nav-links > a[aria-current="page"],
  .topbar .nav-links > a:hover,
  .topbar .nav-links > a:focus-visible {
    color: #a3bf4a !important;
  }

  .topbar .mobile-menu-cta {
    width: 100% !important;
    min-height: 52px !important;
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 22px 0 0 !important;
    padding: 0 18px !important;
    border: 1px solid rgba(245, 247, 248, 0.48) !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #f5f7f8 !important;
    font: inherit !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    box-shadow: none !important;
  }

  .topbar .mobile-menu-secondary,
  .topbar .nav-links > a.mobile-menu-secondary {
    width: 100% !important;
    min-height: 50px !important;
    margin: 10px 0 0 !important;
    border-radius: 8px !important;
    background: #f5f7f8 !important;
    color: #1a1d21 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
  }
}

@media (max-width: 760px) {
  body:has(.shop-layout) #shop {
    padding-top: 14px !important;
  }

  body:has(.shop-layout):not(.home-page) .shop-layout {
    margin-top: 16px !important;
  }

  body:has(.shop-layout) .catalog-mobile-filter-bar {
    margin-bottom: 12px !important;
    padding: 8px 10px !important;
    background: transparent !important;
    border-color: rgba(26, 29, 33, 0.12) !important;
  }

  body:has(.shop-layout) .catalog-mobile-filter-toggle {
    min-height: 40px !important;
    padding: 0 12px !important;
    border: 1px solid rgba(26, 29, 33, 0.18) !important;
    background: transparent !important;
    color: #1a1d21 !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 780 !important;
  }

  body:has(.shop-layout) .catalog-mobile-filter-count {
    font-size: 12px !important;
    font-weight: 650 !important;
  }

  body:has(.shop-layout) .shop-toolbar {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body:has(.shop-layout) .shop-toolbar .shop-count {
    display: none !important;
  }

  body:has(.shop-layout) .shop-toolbar .active-filter-list:empty {
    display: none !important;
  }
}

/* Cart modal: stable dense rows and a centered three-cell quantity control. */
.cart-dialog {
  width: min(480px, calc(100vw - 32px)) !important;
  max-height: min(88dvh, 650px) !important;
  padding: 24px !important;
  border-radius: 14px !important;
}

.cart-dialog h2 {
  margin: 0 54px 20px 0 !important;
  font-size: clamp(28px, 3vw, 36px) !important;
  line-height: 1.04 !important;
}

.cart-close {
  top: 17px !important;
  right: 17px !important;
  width: 44px !important;
  height: 44px !important;
  font-size: 34px !important;
}

.cart-line {
  gap: 14px !important;
  padding-bottom: 16px !important;
}

.cart-line-item {
  grid-template-columns: 66px minmax(0, 1fr) 40px !important;
  grid-template-rows: auto auto !important;
  column-gap: 12px !important;
  row-gap: 8px !important;
  align-items: start !important;
}

.cart-line-item:not(:last-child) {
  padding-bottom: 14px !important;
  border-bottom: 1px solid rgba(245, 247, 248, 0.10) !important;
}

.cart-line-thumb {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  width: 66px !important;
  border-radius: 10px !important;
}

.cart-line-body {
  grid-column: 2 !important;
  grid-row: 1 !important;
  gap: 9px !important;
}

.cart-line strong {
  font-size: clamp(14px, 1.8vw, 17px) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
}

.cart-line-qty {
  width: 108px !important;
  height: 38px !important;
  grid-template-columns: 34px 40px 34px !important;
  border-radius: 999px !important;
}

.cart-line-qty button,
.cart-line-qty span {
  width: auto !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  font-size: 16px !important;
  line-height: 1 !important;
  font-variant-numeric: tabular-nums !important;
  transform: none !important;
}

.cart-line-qty span {
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
}

.cart-line-price {
  grid-column: 2 / 4 !important;
  grid-row: 2 !important;
  margin: 0 !important;
  font-size: clamp(16px, 2vw, 19px) !important;
  font-variant-numeric: tabular-nums !important;
}

.cart-remove {
  grid-column: 3 !important;
  grid-row: 1 !important;
  width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
}

.cart-summary {
  margin-inline: -24px !important;
  padding: 16px 24px 0 !important;
}

.cart-summary strong,
.cart-summary span {
  font-size: clamp(20px, 2.5vw, 25px) !important;
  font-variant-numeric: tabular-nums !important;
}

.cart-modal-actions {
  gap: 10px !important;
  margin-top: 14px !important;
}

.cart-modal-actions .cart-continue,
.cart-modal-actions .cart-next-step-link,
.cart-checkout {
  min-height: 52px !important;
  border-radius: 10px !important;
  font-size: 16px !important;
}

/* Lead popup and quick-call popup share the same restrained geometry. */
.lead-modal-dialog,
.call-widget .call-popover {
  border-radius: 14px !important;
}

@media (max-width: 640px) {
  .cart-modal {
    padding: 10px !important;
  }

  .cart-dialog {
    width: min(410px, calc(100vw - 20px)) !important;
    max-height: calc(100dvh - 20px) !important;
    padding: 20px 16px 16px !important;
    border-radius: 14px !important;
  }

  .cart-dialog h2 {
    max-width: calc(100% - 52px) !important;
    margin: 0 52px 17px 0 !important;
    font-size: clamp(27px, 8vw, 32px) !important;
  }

  .cart-close {
    top: 12px !important;
    right: 10px !important;
  }

  .cart-line-item {
    grid-template-columns: 58px minmax(0, 1fr) 38px !important;
    column-gap: 10px !important;
    row-gap: 7px !important;
  }

  .cart-line-thumb {
    width: 58px !important;
  }

  .cart-line strong {
    font-size: clamp(13px, 3.8vw, 15px) !important;
  }

  .cart-line-qty {
    width: 108px !important;
    height: 38px !important;
  }

  .cart-line-qty button,
  .cart-line-qty span {
    min-width: 0 !important;
    min-height: 0 !important;
    font-size: 16px !important;
  }

  .cart-line-price {
    font-size: clamp(16px, 4.6vw, 18px) !important;
  }

  .cart-remove {
    width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
  }

  .cart-summary {
    margin-inline: -16px !important;
    padding: 15px 16px 0 !important;
  }

  .cart-summary strong,
  .cart-summary span {
    font-size: clamp(20px, 6vw, 24px) !important;
  }

  .cart-modal.is-added-preview .cart-modal-actions {
    grid-template-columns: 1fr !important;
  }

  .lead-modal {
    align-items: center !important;
    padding: 10px !important;
  }

  .lead-modal-dialog {
    width: min(430px, calc(100vw - 20px)) !important;
    max-height: calc(100dvh - 20px) !important;
    padding: 20px 16px 16px !important;
    border-radius: 14px !important;
  }

  .lead-modal-dialog::before {
    display: none !important;
  }

  .lead-modal-close {
    top: 10px !important;
    right: 10px !important;
    width: 44px !important;
    height: 44px !important;
  }

  .lead-modal-dialog h2 {
    max-width: calc(100% - 52px) !important;
    margin: 0 auto 7px 0 !important;
    font-size: clamp(27px, 8vw, 32px) !important;
    line-height: 1.05 !important;
    text-align: left !important;
  }

  .lead-modal-dialog > p {
    margin: 0 48px 14px 0 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    text-align: left !important;
  }

  .lead-modal-form {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .lead-scenario {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .lead-scenario-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  .lead-scenario-option span {
    min-height: 46px !important;
    padding: 7px 5px !important;
    border-radius: 8px !important;
    text-align: center !important;
  }

  .lead-scenario-option strong {
    font-size: 11px !important;
    line-height: 1.15 !important;
  }

  .lead-modal-form label {
    gap: 5px !important;
    font-size: 12px !important;
  }

  .lead-modal-form input,
  .lead-modal-form select,
  .lead-modal-form textarea {
    min-height: 48px !important;
    padding: 11px 13px !important;
    border-radius: 8px !important;
    font-size: 15px !important;
  }

  .lead-modal-form textarea {
    min-height: 70px !important;
  }

  .lead-modal-form button[type="submit"],
  .lead-modal-form .btn {
    min-height: 50px !important;
    border-radius: 8px !important;
  }

  .call-widget .call-popover {
    left: 10px !important;
    right: 10px !important;
    bottom: calc(10px + env(safe-area-inset-bottom)) !important;
    max-height: calc(100dvh - 20px) !important;
    padding: 22px 16px calc(18px + env(safe-area-inset-bottom)) !important;
    border-radius: 14px !important;
  }

  .call-widget .call-popover::before {
    width: 100px !important;
    height: 42px !important;
    margin-bottom: 12px !important;
  }

  .call-popover h3 {
    font-size: clamp(27px, 8vw, 32px) !important;
  }

  .call-popover p {
    font-size: 14px !important;
  }

  .call-direct {
    margin: 14px 0 12px !important;
    padding: 12px 14px !important;
    border-radius: 10px !important;
  }

  .call-direct span {
    font-size: 22px !important;
  }

  .callback-form input,
  .callback-form .btn {
    min-height: 50px !important;
    border-radius: 8px !important;
  }
}

@media (max-width: 370px) {
  .topbar .nav-links {
    padding-top: calc(92px + env(safe-area-inset-top)) !important;
  }

  .topbar .nav-links > a,
  .topbar .nav-links .nav-trigger {
    min-height: 39px !important;
    padding-block: 5px !important;
    font-size: 18px !important;
  }

  .topbar .mobile-menu-cta {
    min-height: 48px !important;
    margin-top: 16px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .topbar .nav-links,
  .cart-modal,
  .lead-modal {
    transition: none !important;
  }
}
