.catalog-search-wrap {
  background: #fffaf7;
  padding: 22px 24px 26px;
}

.catalog-search {
  max-width: 590px;
  margin: auto;
}

.catalog-search label {
  display: block;
  margin-bottom: 9px;
  color: #7b405f;
  font: 600 12px/1.4 Montserrat, Arial, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.catalog-search-field {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 52px;
  padding: 0 15px;
  border: 1px solid #d9aebf;
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(73, 53, 65, .05);
  transition: border-color .2s, box-shadow .2s;
}

.catalog-search-field:focus-within {
  border-color: #c91478;
  box-shadow: 0 0 0 3px rgba(201, 20, 120, .13);
}

.catalog-search-field svg {
  width: 20px;
  height: 20px;
  flex: none;
  color: #ac657f;
}

.catalog-search input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #392935;
  font: 500 15px/1.3 Montserrat, Arial, sans-serif;
}

.catalog-search input::placeholder { color: #826c76; opacity: 1; }
.catalog-search input::-webkit-search-cancel-button { display: none; }

.catalog-search-clear {
  flex: none;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  background: #f9edf2;
  color: #a70d60;
  cursor: pointer;
  font: 25px/1 Arial, sans-serif;
}

.catalog-search-status {
  margin: 11px 8px 0;
  color: #5d4753;
  font: 500 13px/1.5 Montserrat, Arial, sans-serif;
}

.catalog-card[hidden], .catalog-search-status[hidden], .catalog-search-clear[hidden] { display: none !important; }

.product-dialog .product-dialog-share {
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0 0 14px;
  padding: 10px 16px;
  border: 1px solid #c91478;
  border-radius: 999px;
  background: #fffaf7;
  color: #9d0a5a;
  cursor: pointer;
  font: 600 12px/1.3 Montserrat, Arial, sans-serif;
  transition: background .2s, color .2s, transform .2s;
}

.product-dialog .product-dialog-share:hover {
  background: #c91478;
  color: #fff;
  transform: translateY(-2px);
}

@media (max-width: 700px) {
  .catalog-search-wrap { padding: 18px 19px 21px; }
  .catalog-search label { font-size: 11px; }
  .catalog-search input { font-size: 14px; }
  .product-dialog .product-dialog-share { min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  .catalog-search-field, .product-dialog .product-dialog-share { transition: none; }
  .product-dialog .product-dialog-share:hover { transform: none; }
}
