/* Site-wide typography */
html,
body,
button,
input,
select,
textarea,
.pac-container {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
span,
label,
li,
td,
th {
  font-family: inherit;
}

/* Ensure all input fields have white background and remove autofill blue */
.form-control,
.form-select,
.form-control:focus,
.form-select:focus,
.form-control.is-invalid,
.form-control.is-valid,
.was-validated .form-control:invalid,
.was-validated .form-control:valid,
input,
select,
textarea,
.form-floating,
.form-floating:has(.form-control.is-invalid) {
  background-color: white !important;
  border-bottom: 1px solid #c7d1d9 !important;
}

.ps-wizard-form-row .form-floating{
  border-bottom: none !important;
}
div#pw-office-body-0{
  border-radius: 0 0 8px 10px !important;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 1000px white inset !important;
  -webkit-text-fill-color: #021229 !important;
  transition: background-color 5000s ease-in-out 0s;
}

.paying-myself-design ul {
  padding-left: 0px !important;
  margin-bottom: 0px;
}

.paying-myself-design ul li {
  font-size: 16px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  color: #021229;
  height: 48px;
  list-style: none !important;
  transition: 0.3s;
  padding-left: 18px;
  display: flex;
  align-items: center;
  cursor: pointer;
  justify-content: space-between;
  overflow: hidden;
}

.paying-myself-design ul li i {
  padding-right: 10px;
  color: #021229;
  font-size: 11px;
}

.paying-myself-design ul li:hover {
  background-color: #4c6cdb6b;
}

.doctor-search-card-title {
  margin-bottom: 0 !important;
  font-size: 16px;
}

.doctor-search-card-image {
  max-width: 30px;
  height: auto;
  margin: 0 7px;
}

.f-12 {
  font-size: 12px;
}

/*  .paying-myself-design{
    border-top: 1px solid #C7D1D9 !important;
  }*/
.paying-myself-design h3 {
  margin-bottom: 8px;
  padding: 10px 10px !important;
  color: #42597a !important;
  font-weight: 600;
}

.new-form-content-sec {
  height: 100vh !important;
}

.paying-myself-icon-design ul li:hover {
  background-color: #4c6cdb !important;
  color: white !important;
}

.insurance-claim-new-desgn {
  border-top: none !important;
}

.overflow200Height {
  min-height: 200px;
  max-height: 200px;
  overflow-y: scroll;
}

.overflow80Height {
  min-height: 80px;
  overflow-y: scroll;
  padding: 10px !important;
}

.cursor-pointer {
  cursor: pointer;
}

.form-control:focus {
  background-color: white !important;
  width: 100% !important;
  border: none !important;
  border-bottom: 1px solid #c7d1d9 !important;
}

.boxed ul {
  list-style: none;
  padding: 0px;
  width: 100%;
  position: absolute;
  left: 0;
  margin: 0;
  background: white;
  z-index: 99;
  border: none;
  border-bottom: none !important;
  border-top: none !important;
  box-shadow: 0px 24px 80px rgba(6, 24, 86, 0.08);
}

.font-10 {
  font-size: 10px;
}

.select2-container--default .select2-selection--multiple {
  border: solid #d0d2d559 1px !important;
}

.select2-container--default.select2-container--focus
  .select2-selection--multiple {
  border: solid #d0d2d559 1px;
}

.select2-container--default .select2-selection--multiple {
  background-color: #f3f5f9 !important;
}

.rate {
  float: left;
  height: 46px;
  padding: 0 10px 0px 0px !important;
}

.rate:not(:checked) > input {
  position: absolute;
  display: none;
}

.rate:not(:checked) > label {
  float: right;
  width: 1em;
  overflow: hidden;
  white-space: nowrap;
  cursor: pointer;
  font-size: 30px;
  color: #ccc;
}

.rated:not(:checked) > label {
  float: right;
  width: 1em;
  overflow: hidden;
  white-space: nowrap;
  cursor: pointer;
  font-size: 30px;
  color: #ccc;
}

.rate:not(:checked) > label:before {
  content: "★ ";
}

.rate > input:checked ~ label {
  color: #ffc700;
}

.rate:not(:checked) > label:hover,
.rate:not(:checked) > label:hover ~ label {
  color: #deb217;
}

.rate > input:checked + label:hover,
.rate > input:checked + label:hover ~ label,
.rate > input:checked ~ label:hover,
.rate > input:checked ~ label:hover ~ label,
.rate > label:hover ~ input:checked ~ label {
  color: #c59b08;
}

.star-rating-complete {
  color: #c59b08;
}

.rating-container .form-control:hover,
.rating-container .form-control:focus {
  background: #fff;
  border: 1px solid #ced4da;
}

.rating-container textarea:focus,
.rating-container input:focus {
  color: #000;
}

.rated {
  float: left;
  height: 46px;
  padding: 0 10px;
}

.rated:not(:checked) > input {
  position: absolute;
  display: none;
}

.rated:not(:checked) > label {
  float: right;
  width: 1em;
  overflow: hidden;
  white-space: nowrap;
  cursor: pointer;
  font-size: 30px;
  color: #ffc700;
}

.rated:not(:checked) > label:before {
  content: "★ ";
}

.rated > input:checked ~ label {
  color: #ffc700;
}

.rated:not(:checked) > label:hover,
.rated:not(:checked) > label:hover ~ label {
  color: #deb217;
}

.rated > input:checked + label:hover,
.rated > input:checked + label:hover ~ label,
.rated > input:checked ~ label:hover,
.rated > input:checked ~ label:hover ~ label,
.rated > label:hover ~ input:checked ~ label {
  color: #c59b08;
}

.top-header {
  margin-bottom: 5px;
  padding: 3px 0;
  width: 100%;
  text-align: center;
  color: black;
  background-color: #f1f1f1;
  align-items: center;
}

.top-header i {
  font-size: 20px;
}

.fixed-top > div > div.row > div > nav > a.navbar-brand {
  max-width: 130px !important;
}

.info-img-container {
  border-radius: 50%;
  width: 100%;
  max-width: 100px;
  height: 100px;
  overflow: hidden;
  margin-right: 10px !important;
}

.info-img-container img {
  object-fit: cover !important;
  width: 100%;
  height: 100%;
}

.top-rated-container {
  display: flex;
  align-items: center;
  padding: 20px;
  border-bottom: 1px solid #c7d1d9;
}

/* Equal height cards for Top Rated Local Providers */
.top-doctors .row:has(.main-doctor-box) {
  display: flex !important;
  flex-wrap: wrap;
  align-items: stretch;
}

.top-doctors .row:has(.main-doctor-box) > [class*="col-"] {
  display: flex !important;
  flex-direction: column;
}

/* Fallback for browsers that don't support :has() */
.top-doctors .container > .row:nth-child(2) {
  display: flex !important;
  flex-wrap: wrap;
  align-items: stretch;
}

.top-doctors .container > .row:nth-child(2) > [class*="col-"] {
  display: flex !important;
  flex-direction: column;
}

.top-doctors .main-doctor-box {
  display: flex !important;
  flex-direction: column;
  height: 100%;
  flex: 1;
  min-height: 100%;
}

/* Push button to bottom of card */
.top-doctors .main-doctor-box > a {
  margin: 7px 0 10px 9px !important;
  display: flex;
  flex-direction: column;
  width: 95%;
}

.top-doctors .main-doctor-box .button-search {
  margin-top: 0;
}

/* Ensure specialty text has consistent height */
.top-doctors .doctor-profile-heading p {
  min-height: 1.5em;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Ensure address text has consistent height */
.top-doctors .rated-detail h3 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
  line-height: 1.4;
  min-height: 2.8em;
}

/* Ensure review text has consistent height */
.top-doctors .doctor-box-paragraph-note p {
  min-height: 1.5em;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mr-0 {
  margin-right: 0 !important;
}

.info-img-patient-panel {
  width: 65px !important;
  height: 65px !important;
  margin-right: 10px !important;
}

.info-img-search-doctor {
  width: 40px !important;
  height: 30px !important;
  margin-right: 10px !important;
}

textarea#floatingTextarea:focus {
  border-top: 1px solid #c7d1d9 !important;
  border-bottom: 1px solid #c7d1d9 !important;
  border-left: 1px solid #c7d1d9 !important;
}

.book-edit-buttons a button:hover {
  padding-right: 15px !important;
}

.book-edit-buttons a button {
  padding-right: 15px !important;
}

.manage-height {
  min-height: 44vh;
}

@media (max-width: 575.98px) {
  .nav-item .dropdown {
    padding: 0px;
    margin: 0px;
  }

  .nav-item .dropdown button {
    padding: 0px;
    margin: 0px;
  }

  .nav-item .dropdown .dropdown-content {
    padding: 0px;
    margin: 0px;
  }
}

@media (min-width: 576px) and (max-width: 767.98px) {
  .nav-item .dropdown {
    padding: 0px;
    margin: 0px;
  }

  .nav-item .dropdown button {
    padding: 0px;
    margin: 0px;
  }
}

/* Medium Devices (Desktops, ≥ 768px) */
@media (min-width: 768px) and (max-width: 991.98px) {
  .nav-item .dropdown {
    padding: 0px;
    margin: 0px;
  }

  .nav-item .dropdown button {
    padding: 0px;
    margin: 0px;
  }
}

/* Large Devices (Large Desktops, ≥ 992px) */
@media (min-width: 992px) and (max-width: 1199.98px) {
  /*  */
}

.nav-style-mbl {
  display: block;
}
.nav-style-mbl a {
  padding-top: 4px;
  padding-bottom: 4px;
}

/* Match header: desktop user menu only from 993px (mobile nav through 992px inclusive) */
@media (min-width: 993px) {
  .nav-style-mbl {
    display: none !important;
  }
}

@media (max-width: 992px) {
  .nav-style-dsktp {
    display: none;
  }

  .navbar-expand-lg .navbar-nav .nav-link {
    padding: 4px 0px 4px 0px !important;
  }
}

/* Extra Large Devices (≥ 1200px) */
@media (min-width: 1200px) {
  /*  */
}

.label-style {
  font-size: 14px;
  margin-bottom: 0px;
  margin-top: 12px !important;
  padding-left: 10px;
  font-weight: 700 !important;
  color: #42597a !important;
  opacity: 1 !important;
}
a:hover {
  color: #0a58ca !important;
}

.text-style-acnhor {
  text-decoration: none;
  color: black !important;
}
.text-style-acnhor:hover {
  color: #0d6efd !important;
}

/* Forgot Password Modal - Error label color fix */
.pad-design-form .form-floating label.text-danger,
.login-popup-form .form-floating label.text-danger,
.main-inputs-group .form-floating label.text-danger,
.new-forget-float label.text-danger {
  color: #dc3545 !important;
}

/* Ensure error color persists when input is focused or has content */
.pad-design-form .form-floating > .form-control:focus ~ label.text-danger,
.pad-design-form
  .form-floating
  > .form-control:not(:placeholder-shown)
  ~ label.text-danger,
.login-popup-form .form-floating > .form-control:focus ~ label.text-danger,
.login-popup-form
  .form-floating
  > .form-control:not(:placeholder-shown)
  ~ label.text-danger,
.main-inputs-group .form-floating > .form-control:focus ~ label.text-danger,
.main-inputs-group
  .form-floating
  > .form-control:not(:placeholder-shown)
  ~ label.text-danger,
.new-forget-float > .form-control:focus ~ label.text-danger,
.new-forget-float > .form-control:not(:placeholder-shown) ~ label.text-danger {
  color: #dc3545 !important;
}

/* Forgot Password Modal - Font family fix for "Go back to Login" */
.loginbutton-main {
  font-family: "Plus Jakarta Sans", sans-serif !important;
}

/* Sign Up - Terms & Conditions font family and link color fix */
.form-check-label,
.customcheckbox .form-check-label {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  color: #021229 !important;
}

.customcheckbox .form-check-label a,
.form-check-label a {
  color: #4c6cdb !important;
  text-decoration: none;
}

.customcheckbox .form-check-label a:hover,
.form-check-label a:hover {
  color: #4c6cdb !important;
  text-decoration: underline;
}

/* Sign Up Modal - Fixed header with close icon and title */
#signupModel .modal-content {
  position: relative;
}

#signupModel .modal-content .close-main-design {
  position: sticky !important;
  top: 0;
  right: 0;
  z-index: 12346;
  padding: 15px 17px;
  background-color: white;
  text-align: right;
  margin-left: auto;
  margin-bottom: -40px;
}

#signupModel .modal-body {
  padding-top: 0;
}

#signupModel .modal-body .form-heading-main {
  /* position: sticky;
  top: 0;
  z-index: 12345;
  background-color: white;
  padding: 15px 20px 15px 20px;
  margin-bottom: 16px; */
  background-color: white;
  padding: 15px 20px 15px 0px;
  margin-bottom: 16px;
  /* border-bottom: 1px solid #C7D1D9; */
}

#signupModel .modal-body .form-heading-main h3 {
  margin-bottom: 0;
  padding-right: 50px;
}

/* Contact Support Form - Fix double borders */
.pad-design-form .main-inputs-group .form-floating .form-control,
.pad-design-form .main-inputs-group .form-floating select,
.pad-design-form .main-inputs-group .form-floating textarea {
  /* border: none !important; */
  border: 1px solid #c7d1d9 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border-bottom: none !important;
}

/* Remove double borders between stacked fields */
.pad-design-form .main-inputs-group .form-floating + .form-floating {
  margin-top: -1px;
  /* border-bottom: none !important; */
}

/* Ensure first field has top border */
.pad-design-form .main-inputs-group .form-floating:first-child .form-control,
.pad-design-form .main-inputs-group .form-floating:first-child select,
.pad-design-form .main-inputs-group .form-floating:first-child textarea {
  border-top: 1px solid #c7d1d9 !important;
}

/* Ensure last field has bottom border */
.pad-design-form .main-inputs-group .form-floating:last-child .form-control,
.pad-design-form .main-inputs-group .form-floating:last-child select,
.pad-design-form .main-inputs-group .form-floating:last-child textarea {
  border-bottom: 1px solid #c7d1d9 !important;
}

.pad-design-form .main-inputs-group .form-floating .form-control:focus,
.pad-design-form .main-inputs-group .form-floating select:focus,
.pad-design-form .main-inputs-group .form-floating textarea:focus {
  /* border: none !important; */
  border: 1px solid #c7d1d9 !important;
  box-shadow: none !important;
  outline: none !important;
  border-bottom: none !important;
}

.pad-design-form .main-inputs-group .form-floating .form-control.is-invalid,
.pad-design-form .main-inputs-group .form-floating select.is-invalid,
.pad-design-form .main-inputs-group .form-floating textarea.is-invalid {
  border: 1px solid #dc3545 !important;
  box-shadow: none !important;
}

/* Find Care Page - Doctor name font fix */
.find-care-doctr-profile-content h3,
.find-care-doctr-profile-content .hoverme,
.find-care-doctr-profile-content a h3 {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-weight: 600 !important;
  font-size: 24px !important;
  color: #021229 !important;
}

/* Find Care Page - Filter section input borders fix */
.Find-care-sec .main-form .form-floating .form-control,
.Find-care-sec .main-form .form-floating input,
.Find-care-sec .main-form .form-floating .doctor-search-datepicker,
.Find-care-sec .main-form .form-floating .officeLocation {
  border: none !important;
  border-bottom: 1px solid #c7d1d9 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

.Find-care-sec .main-form .form-floating .form-control:focus,
.Find-care-sec .main-form .form-floating input:focus,
.Find-care-sec .main-form .form-floating .doctor-search-datepicker:focus,
.Find-care-sec .main-form .form-floating .officeLocation:focus {
  border: none !important;
  border-bottom: 1px solid #c7d1d9 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

.Find-care-sec .main-form .form-floating .form-control:not(:placeholder-shown),
.Find-care-sec .main-form .form-floating input:not(:placeholder-shown),
.Find-care-sec
  .main-form
  .form-floating
  .doctor-search-datepicker:not(:placeholder-shown),
.Find-care-sec
  .main-form
  .form-floating
  .officeLocation:not(:placeholder-shown) {
  border: none !important;
  border-bottom: 1px solid #c7d1d9 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

.Find-care-sec .main-form .form-floating .form-control:active,
.Find-care-sec .main-form .form-floating input:active,
.Find-care-sec .main-form .form-floating .doctor-search-datepicker:active,
.Find-care-sec .main-form .form-floating .officeLocation:active {
  border: none !important;
  border-bottom: 1px solid #c7d1d9 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Find Care Page - Filter section label font size consistency */
.Find-care-sec .main-form .form-floating > .form-control:focus ~ label,
.Find-care-sec
  .main-form
  .form-floating
  > .form-control:not(:placeholder-shown)
  ~ label,
.Find-care-sec .main-form .form-floating > .form-select ~ label,
.Find-care-sec .main-form .form-floating input:focus ~ label,
.Find-care-sec .main-form .form-floating input:not(:placeholder-shown) ~ label,
.Find-care-sec
  .main-form
  .form-floating
  .doctor-search-datepicker:focus
  ~ label,
.Find-care-sec
  .main-form
  .form-floating
  .doctor-search-datepicker:not(:placeholder-shown)
  ~ label,
.Find-care-sec .main-form .form-floating .officeLocation:focus ~ label,
.Find-care-sec
  .main-form
  .form-floating
  .officeLocation:not(:placeholder-shown)
  ~ label {
  font-size: 14px !important;
}

/* Hero Section (Home Page) - Form input borders and label font size fix */
.content-detail .main-form .form-floating .form-control,
.content-detail .main-form .form-floating input,
.content-detail .main-form .form-floating .doctor-search-datepicker,
.content-detail .main-form .form-floating .officeLocation {
  border: none !important;
  border-bottom: 1px solid #c7d1d9 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

.content-detail .main-form .form-floating .form-control:focus,
.content-detail .main-form .form-floating input:focus,
.content-detail .main-form .form-floating .doctor-search-datepicker:focus,
.content-detail .main-form .form-floating .officeLocation:focus {
  border: none !important;
  border-bottom: 1px solid #c7d1d9 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}


/* .ps-wizard-form-row .content-detail .main-form .form-floating .form-control:focus,
.content-detail .main-form .form-floating input:focus,
.content-detail .main-form .form-floating .doctor-search-datepicker:focus,
.content-detail .main-form .form-floating .officeLocation:focus {
  border: 1px solid #c7d1d9 !important;

} */


.content-detail .main-form .form-floating .form-control:not(:placeholder-shown),
.content-detail .main-form .form-floating input:not(:placeholder-shown),
.content-detail
  .main-form
  .form-floating
  .doctor-search-datepicker:not(:placeholder-shown),
.content-detail
  .main-form
  .form-floating
  .officeLocation:not(:placeholder-shown) {
  border: none !important;
  border-bottom: 1px solid #c7d1d9 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

.content-detail .main-form .form-floating .form-control:active,
.content-detail .main-form .form-floating input:active,
.content-detail .main-form .form-floating .doctor-search-datepicker:active,
.content-detail .main-form .form-floating .officeLocation:active {
  border: none !important;
  border-bottom: 1px solid #c7d1d9 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Hero Section (Home Page) - Label font size consistency */
.content-detail .main-form .form-floating > .form-control:focus ~ label,
.content-detail
  .main-form
  .form-floating
  > .form-control:not(:placeholder-shown)
  ~ label,
.content-detail .main-form .form-floating > .form-select ~ label,
.content-detail .main-form .form-floating input:focus ~ label,
.content-detail .main-form .form-floating input:not(:placeholder-shown) ~ label,
.content-detail
  .main-form
  .form-floating
  .doctor-search-datepicker:focus
  ~ label,
.content-detail
  .main-form
  .form-floating
  .doctor-search-datepicker:not(:placeholder-shown)
  ~ label,
.content-detail .main-form .form-floating .officeLocation:focus ~ label,
.content-detail
  .main-form
  .form-floating
  .officeLocation:not(:placeholder-shown)
  ~ label {
  font-size: 14px !important;
}

/* Mobile: small gap below status bar / notch (fixed header) */
@media (max-width: 768px) {
  header.header#navbar_top,
  header.header {
    padding-top: calc(10px + env(safe-area-inset-top, 0px)) !important;
  }
}

/* Through 992px: mobile header layout + keep collapsible nav (Bootstrap lg switches at 992; we extend by 1px) */
@media (max-width: 992px) {
  header#navbar_top.header .navbar.navbar-expand-lg {
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  header#navbar_top.header .navbar.navbar-expand-lg > .navbar-brand {
    order: 1;
    width: auto !important;
    max-width: min(200px, 58vw);
    flex: 0 1 auto;
    margin-right: 12px;
  }

  header#navbar_top.header .navbar.navbar-expand-lg > .navbar-toggler {
    order: 2;
    display: block !important;
    margin-left: auto;
    flex-shrink: 0;
  }

  header#navbar_top.header .navbar.navbar-expand-lg > .sidebar-icon {
    order: 3;
    flex-shrink: 0;
    margin-left: 8px;
  }

  /* Full-width row below logo / togglers; slide open from top */
  header#navbar_top.header
    .navbar-expand-lg
    #navbarNavDropdown.navbar-collapse {
    order: 10;
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    margin-top: 8px;
    border-radius: 0 0 12px 12px;
  }

  header#navbar_top.header
    .navbar-expand-lg
    #navbarNavDropdown.navbar-collapse.show {
    max-height: min(70vh, 520px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    animation: wgd-navbar-slide-down 0.38s cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  /* Closed collapse stays hidden; do not match .collapsing (Bootstrap transition) */
  header#navbar_top.header
    .navbar-expand-lg
    #navbarNavDropdown.navbar-collapse.collapse:not(.show):not(.collapsing) {
    display: none !important;
  }
}

@keyframes wgd-navbar-slide-down {
  from {
    opacity: 0;
    transform: translateY(-22px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  header#navbar_top.header
    .navbar-expand-lg
    #navbarNavDropdown.navbar-collapse.show {
    animation: none;
  }
}

/* Desktop horizontal nav from 993px (overrides Bootstrap’s 992px lg breakpoint for this header only) */
@media (min-width: 993px) {
  header#navbar_top.header .navbar.navbar-expand-lg {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }

  header#navbar_top.header .navbar.navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }

  header#navbar_top.header .navbar.navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }

  header#navbar_top.header .navbar.navbar-expand-lg .navbar-nav .nav-link {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }

  header#navbar_top.header .navbar.navbar-expand-lg .navbar-nav-scroll {
    overflow: visible;
  }

  header#navbar_top.header .navbar.navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }

  header#navbar_top.header
    .navbar-expand-lg
    #navbarNavDropdown.navbar-collapse {
    order: 0;
    margin-top: 0;
    border-radius: 0;
    max-height: none;
    overflow: visible;
    animation: none;
  }

  header#navbar_top.header .navbar.navbar-expand-lg > .navbar-toggler {
    display: none !important;
  }
}

/* Google Maps marker InfoWindow — professional hover on provider name */
.gm-style .find-care-iw a[href]:hover {
  color: #4c6cdb !important;
}

/* Filter labels are not inputs — prevent global label border rules */
.modern-filter-form .filter-label,
.auth-filter-form-component .filter-label {
  border: none !important;
  border-bottom: none !important;
  background: transparent !important;
  height: auto !important;
  min-height: 0 !important;
  box-shadow: none !important;
}

/* Auth / Find Care filter inputs: single focus ring (override Bootstrap .form-control:focus) */
.modern-filter-form .form-control.modern-input:focus,
.modern-filter-form .form-control.modern-input:focus-visible,
.modern-filter-form input.modern-input:focus,
.modern-filter-form input.modern-input:focus-visible,
.modern-filter-form select.modern-input:focus,
.modern-filter-form select.modern-input:focus-visible {
  outline: none !important;
  outline-offset: 0 !important;
  border: 1px solid #e5e7eb !important;
  border-bottom: 1px solid #e5e7eb !important;
  box-shadow: none !important;
  background-color: #ffffff !important;
}

/* Find Care filters + auth modals: neutralize legacy .search-button-main hover on .apply-filters-btn */
.modern-filter-form .apply-filters-btn,
.modern-filter-form button.apply-filters-btn {
  background: #2b63d9 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  height: auto !important;
  min-height: 44px;
  transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
}

.modern-filter-form .apply-filters-btn:hover:not(:disabled),
.modern-filter-form .apply-filters-btn:focus-visible:not(:disabled),
.modern-filter-form .apply-filters-btn.search-button-main:hover:not(:disabled),
.modern-filter-form .apply-filters-btn.search-button-main:focus-visible:not(:disabled) {
  background: #2454c4 !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: 0 4px 12px rgba(43, 99, 217, 0.3) !important;
  transform: translateY(-1px);
  cursor: pointer;
}

.modern-filter-form .apply-filters-btn:active:not(:disabled),
.modern-filter-form .apply-filters-btn.search-button-main:active:not(:disabled) {
  transform: translateY(0);
  box-shadow: none !important;
}
