/* Global fix: icon + input fields must not overlap text with icons.
   Uses grid layout so blanket main/input padding rules cannot cover icons. */

.cb-input-with-icon,
main [class*="__input-wrap"]:not(.cb-smart-wrap):not(.cb-input-wrapper),
main [class*="__field-box"],
main .cb-home-hero__search-input,
main .cb-shops-catalog-search__field-box,
main .cb-masters-catalog-search__input-wrap,
main .cb-recover__input-wrap {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

.cb-input-with-icon > svg,
main [class*="__input-wrap"]:not(.cb-smart-wrap) > svg:first-child,
main .cb-home-hero__search-input > .cb-home-hero__search-icon,
main .cb-home-hero__search-input > svg:first-child,
main .cb-recover__input-wrap > svg:first-child {
  position: static !important;
  left: auto !important;
  top: auto !important;
  bottom: auto !important;
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
  color: #94a3b8 !important;
  pointer-events: none !important;
}

.cb-input-with-icon > input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.cb-input-with-icon > select,
main [class*="__input-wrap"]:not(.cb-smart-wrap) > input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
main [class*="__input-wrap"]:not(.cb-smart-wrap) > select,
main [class*="__field-box"] > input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
main [class*="__field-box"] > select,
main .cb-home-hero__search-input > input,
main .cb-recover__input-wrap > input {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Bordered search / form field boxes */
.cb-input-with-icon.cb-input-with-icon--boxed,
main [class*="__field-box"],
main .cb-shops-catalog-search__field-box,
main .cb-masters-catalog-search__input-wrap,
main .cb-recover__input-wrap {
  min-height: 46px !important;
  padding: 0 14px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  background: #fff !important;
}

.cb-input-with-icon.cb-input-with-icon--boxed:focus-within,
main [class*="__field-box"]:focus-within,
main .cb-shops-catalog-search__field-box:focus-within,
main .cb-masters-catalog-search__input-wrap:focus-within,
main .cb-recover__input-wrap:focus-within {
  border-color: #93c5fd !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12) !important;
}

/* Home hero search bar */
.cb-home-hero__search-input {
  position: relative;
  min-height: 52px !important;
  padding: 0 14px !important;
  border-radius: 14px !important;
  background: transparent !important;
}

.cb-home-hero__search-input > input {
  min-height: 52px !important;
  font-size: 17px !important;
  font-weight: 600 !important;
}

.cb-home-hero__search-input > .cb-home-hero__search-icon {
  width: 18px !important;
  height: 18px !important;
  background: center/18px 18px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath stroke-linecap='round' d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") !important;
}

/* Notifications search */
.cb-notifications__search {
  position: relative !important;
}

.cb-notifications__search .cb-notifications__search-icon {
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.cb-notifications__search input[type="search"] {
  padding-left: 42px !important;
}
