/* Doctor Search Bar */
.gdc-doctor-search {
  background: #fff;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.05);
  max-width: 1200px;
  margin: 0 auto 40px;
}

.gdc-search-row {
  display: flex;
  gap: 20px;
  align-items: center;
}

/* All three groups (All Clinics, Select type, Search) equal width on desktop */
.gdc-search-group {
  flex: 1 1 0%;
  position: relative;
  min-width: 0;
}

/* Input only: select uses Bootstrap .form-select, don’t override it */
.gdc-input {
  width: 100%;
  height: 48px;
  padding: 0 16px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  font-size: 12px; /* 80% of 15px */
  color: #1f1f1f;
  background-color: #fff;
}

/* Align Bootstrap form-select height with search row; keep Bootstrap’s padding, border, arrow */
.gdc-search-group .form-select.gdc-select {
  height: 48px;
  min-height: 48px;
}

.gdc-search-input-group {
  position: relative;
  display: flex;
  align-items: stretch;
  width: 100%;
  min-width: 0;
}

/* Input grows to fill all space; button stays fixed on the right. Match height of selects (48px). */
.gdc-search-input-group .gdc-input {
  flex: 1 1 0%;
  min-width: 0;
  width: auto;
  height: 48px !important;
  min-height: 48px;
  box-sizing: border-box;
  padding-right: 52px !important; /* 40px button width + 8px spacing + 4px right margin */
}

.gdc-search-btn {
  flex: 0 0 auto;
  width: 48px;
  min-width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #1f1f1f !important;
  color: #fff !important;
  border-radius: 0 5px 5px 0;
}

.gdc-search-btn:hover {
  background: #333;
}
/* Stack search row only on small mobile; tablet (768px) keeps horizontal layout */
@media (max-width: 640px) {
  .gdc-search-row {
    flex-direction: column;
    gap: 0px;
  }
  .gdc-search-group {
    width: 100% !important;
    min-width: 0;
  }
  .gdc-doctor-search {
    padding: 16px;
  }
}
