/* ========================================
   SEARCH MODAL (NM MODAL INHERITANCE)
   ======================================== */

/* Keep header search block visible as trigger, but hide its inline form. */
.region-header .block-views-exposed-filter-blockall-products-search-page-1 > form,
.region-header [id*="exposedformall-products-search"] > form {
  display: none !important;
}

.region-header .block-views-exposed-filter-blockall-products-search-page-1 .search-modal-trigger,
.region-header [id*="exposedformall-products-search"] .search-modal-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
}

.nm-search-popup-modal {
  width: min(700px, 94vw) !important;
}

.nm-search-popup-modal .nm-modal-body {
  padding: 1.25rem 1.5rem !important;
}

#nm-search-popup-content {
  width: 100%;
}

#nm-search-popup-content > .nm-search-popup-form-host,
#nm-search-popup-content > .nm-search-popup-form-host .views-element-container,
#nm-search-popup-content > .nm-search-popup-form-host .views-exposed-form,
#nm-search-popup-content > .nm-search-popup-form-host form {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: auto !important;
}

#nm-search-popup-content > .nm-search-popup-form-host .views-exposed-form,
#nm-search-popup-content > .nm-search-popup-form-host form {
  width: 100%;
  display: flex !important;
  align-items: center !important;
  align-content: flex-start !important;
  justify-content: flex-start !important;
  gap: 12px;
  flex-wrap: wrap;
}

#nm-search-popup-content > .nm-search-popup-form-host .js-form-item,
#nm-search-popup-content > .nm-search-popup-form-host .form-item-title {
  flex: 1 1 340px;
  min-width: 260px;
  margin: 0 !important;
  padding: 0 !important;
}

#nm-search-popup-content label.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

#nm-search-popup-content input[type="text"] {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 48px;
  padding: 12px 18px;
  border: 1px solid var(--nm-modal-border-color, #e0e0e0);
  border-radius: 999px;
  background: #fff;
  color: var(--nm-modal-body-color, #333);
}


#nm-search-popup-content > .nm-search-popup-form-host .form-actions,
#nm-search-popup-content > .nm-search-popup-form-host [id^="edit-actions"] {
  margin: 0;
  flex: 0 0 auto;
}

/* Center submit action in search modal (override Bootstrap ms-auto). */
#nm-search-popup-content > .nm-search-popup-form-host .form-actions.ms-auto,
#nm-search-popup-content > .nm-search-popup-form-host [id^="edit-actions"].ms-auto {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

#nm-search-popup-content input[type="submit"] {
  min-height: 48px;
  padding: 12px 28px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--nm-primary-color, #667eea), var(--nm-primary-hover, #764ba2));
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}


/* Keep search modal at top on mobile (override nm-modal bottom sheet behavior). */
@media (max-width: 768px) {
  #nm-search-popup.nm-modal {
    bottom: auto !important;
    left: 50% !important;
    right: auto !important;
    transform: translate(-50%, -12px) !important;
    max-height: calc(100vh - 16px) !important;
  }

  #nm-search-popup.nm-modal.nm-visible,
  #nm-search-popup.nm-modal.nm-open {
    transform: translate(-50%, 0) !important;
  }

  #nm-search-popup.nm-modal.nm-closing {
    transform: translate(-50%, -12px) !important;
  }
}

.region-header .bef-exposed-form {
  margin-bottom: 0rem !important;
}