.ui-input:not(.ui-input--file) .ui-input__label {
  color: var(--color-heading-text);
  display: inline-block;
  font-weight: var(--font-weight-medium);
  margin-bottom: var(--spacing-xxsmall);
}

.ui-input__field-note {
  font-size: var(--font-size-small);
}

.ui-input__error {
  font-size: var(--font-size-xsmall);
}

.ui-input.ui-input--has-error {
  color: var(--color-state-error);
}

.ui-input.ui-input--has-error .ui-input__input:not(:disabled) {
  --color-form-input-border: var(--color-state-error);
}

.ui-input.ui-input--file {
  align-items: center;
  display: grid;
  gap: 0 var(--spacing-base);
  grid-template-columns: auto 1fr;
  justify-items: start;
}

.ui-input.ui-input--file .ui-input__input {
  display: none;
}

.ui-input__file-list,
.ui-input.ui-input--file .ui-input__error {
  grid-column: 1/-1;
}

.ui-input__file-list:empty {
  display: none;
}

.ui-input__file-list {
  margin-top: var(--spacing-xxsmall);
}

.ui-input__file-list__file {
  background-color: var(--color-mono-light);
  border: 1px solid var(--color-mono-pale);
  border-radius: 0.25em;
  display: inline-block;
  font-size: var(--font-size-small);
  padding: var(--spacing-xxsmall) var(--spacing-xsmall);
}

.ui-input.ui-input--checkbox {
  align-items: start;
  display: grid;
  gap: 0 var(--spacing-small);
  grid-template-columns: auto 1fr;
  justify-items: start;
}
.ui-input.ui-input--checkbox .ui-input__input {
  margin-top: 0.4em;
}
.ui-input.ui-input--checkbox .ui-input__label,
.ui-input.ui-input--checkbox .ui-input__error {
  grid-column: 1/-1;
}

.ui-textarea__label {
  color: var(--color-heading-text);
  display: inline-block;
  font-weight: var(--font-weight-medium);
  margin-bottom: var(--spacing-xxsmall);
}

.ui-textarea__error {
  font-size: var(--font-size-xsmall);
}

.ui-textarea.ui-textarea--has-error {
  color: var(--color-state-error);
}

.ui-textarea.ui-textarea--has-error .ui-textarea__input:not(:disabled) {
  --color-form-input-border: var(--color-state-error);
}

.ui-select__label {
  color: var(--color-heading-text);
  display: inline-block;
  font-weight: var(--font-weight-medium);
  margin-bottom: var(--spacing-xxsmall);
}

.ui-select__error {
  font-size: var(--font-size-xsmall);
}

.ui-select.ui-select--has-error {
  color: var(--color-state-error);
}

.ui-select.ui-select--has-error .ui-select__input:not(:disabled) {
  --color-form-input-border: var(--color-state-error);
}

.ui-select__input.select-value-watch:not(.has-value) {
  color: var(--color-mono-mid);
}

.clinic-enquiry-form__dialog {
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  background-color: rgba(255, 255, 255, 0.25);
  display: grid;
  height: 100%;
  left: 0;
  padding: var(--spacing-base);
  place-items: center;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: var(--zindex-modal);
}
.clinic-enquiry-form__dialog:not([open]) {
  display: none;
}

.clinic-enquiry-form__dialog__shade {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.clinic-enquiry-form__dialog__content {
  align-items: center;
  background-color: var(--color-mono-light);
  background-image: url(../images/spiral-grey-small.svg?8e588724d7f37e15fcc1e03bbbb6912d);
  background-position: top right;
  background-repeat: no-repeat;
  border-radius: var(--radius-base);
  box-shadow: var(--shadow-drop-soft-xlarge);
  display: grid;
  gap: var(--spacing-large);
  grid-template-columns: 1fr auto;
  max-height: 100%;
  max-width: var(--width-medium);
  overflow: auto;
  padding: var(--spacing-base);
  position: relative;
}
@media screen and (min-width: 641px) {
  .clinic-enquiry-form__dialog__content {
    padding: var(--spacing-large);
  }
}

.clinic-enquiry-form__dialog__title {
  margin: 0;
}

.clinic-enquiry-form__dialog__close {
  background: none;
  border: 0;
  color: var(--color-mono-dark);
  cursor: pointer;
  padding: var(--spacing-xsmall);
}

.clinic-enquiry-form {
  display: grid;
  gap: var(--spacing-base);
  grid-column: 1/-1;
}
@media screen and (min-width: 641px) {
  .clinic-enquiry-form {
    grid-template-columns: repeat(auto-fill, minmax(17.5rem, 1fr));
  }
}

.clinic-enquiry-form__input.clinic-enquiry-form__input--message,
.clinic-enquiry-form__input.clinic-enquiry-form__input--agreement,
.clinic-enquiry-form__input.clinic-enquiry-form__input--recaptcha,
.clinic-enquiry-form__actions {
  grid-column: 1/-1;
}

.clinic-enquiry-form__actions {
  text-align: right;
}

.clinic-locator {
  display: grid;
  gap: var(--spacing-small);
}
@media screen and (min-width: 1025px) {
  .clinic-locator {
    grid-template-columns: 34.6875rem 1fr;
    min-height: 40.625rem;
  }
}

.clinic-locator__sidebar {
  background-color: var(--color-mono-light);
  border-radius: var(--radius-base);
  box-shadow: var(--shadow-card);
}

.clinic-locator__search {
  border-radius: var(--radius-base);
  box-shadow: var(--shadow-card);
  padding: var(--spacing-base);
  position: relative;
  z-index: calc(var(--zindex-pull) + 1);
}

.clinic-locator__results {
  max-height: 27.6875rem;
  overflow: auto;
  position: relative;
}

.clinic-locator__results__note {
  font-size: var(--font-size-small);
  padding: var(--spacing-base);
}

.clinic-locator__results__note.clinic-locator__results__note--no-results {
  background-color: var(--color-mono-dark);
  box-shadow: var(--shadow-drop-soft);
  color: var(--color-mono-light);
  font-weight: var(--font-weight-medium);
  padding: var(--spacing-xsmall);
  position: sticky;
  text-align: center;
  top: 0;
  z-index: var(--zindex-pull);
}

.clinic-locator__map {
  border-radius: var(--radius-base);
  box-shadow: var(--shadow-card);
  display: grid;
  min-height: 25rem;
  position: relative;
}

.clinic-locator-search {
  align-items: center;
  display: grid;
  gap: var(--spacing-small) var(--spacing-large);
}
@media screen and (min-width: 401px) {
  .clinic-locator-search.clinic-locator-search--has-radius-selector, .clinic-locator-search.clinic-locator-search--has-radius-selector {
    grid-template-columns: 1fr auto;
  }
}

.clinic-locator-search__upper {
  grid-column: 1/-1;
  position: relative;
  width: 100%;
}

.clinic-locator-search__input-container {
  position: relative;
}

input.clinic-locator-search__input {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-wrap: normal;
  border-radius: 3em;
  outline-offset: -1px;
  padding: 1.3125rem 4.375rem 1.3125rem 1.3125rem;
}

.clinic-locator-search__submit-button {
  aspect-ratio: 1/1;
  background-color: var(--color-mono-mid);
  border: 0;
  border-radius: 10em;
  color: var(--color-mono-light);
  cursor: pointer;
  display: grid;
  place-items: center;
  position: absolute;
  right: 0.3125rem;
  top: 50%;
  transform: translateY(-50%);
  transition-duration: var(--animation-duration-short);
  transition-property: background-color, opacity;
  transition-timing-function: var(--animation-easing-default);
  width: 3.125rem;
}
.clinic-locator-search__submit-button:hover, .clinic-locator-search__submit-button:focus {
  background-color: var(--color-mono-dark);
}
.clinic-locator-search__submit-button:disabled {
  background-color: var(--color-mono-mid);
  cursor: default;
  opacity: 0.5;
}

.clinic-locator-search__upper .clinic-locator-search-suggestions {
  box-shadow: var(--shadow-drop-soft-large);
  left: 0;
  max-height: 18.75rem;
  overflow: auto;
  position: absolute;
  top: calc(100% + var(--spacing-xxsmall));
  width: 100%;
}

.clinic-locator-search__location-button {
  align-items: center;
  background: none;
  border: 0;
  color: var(--clinic-locator-location-search-color, var(--color-mono-dark));
  cursor: pointer;
  display: inline-grid;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-medium);
  gap: var(--spacing-xsmall);
  grid-column: 1/-1;
  grid-template-columns: auto 1fr;
  justify-self: start;
  line-height: 1;
  padding: 0;
  text-align: left;
}
.clinic-locator-search__location-button:disabled {
  cursor: default;
}

.clinic-locator-search__radius-selector {
  align-items: center;
  display: grid;
  gap: var(--spacing-small);
  grid-template-columns: auto 1fr;
}

.clinic-locator-search__radius-select {
  max-width: 9.375rem;
}

.clinic-locator-search__results-count {
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-medium);
}
@media screen and (min-width: 401px) {
  .clinic-locator-search__results-count {
    text-align: right;
  }
}

.clinic-locator-search-result {
  --logo-size: 3.125rem;
  align-items: center;
  display: grid;
  gap: var(--spacing-base);
  padding: var(--spacing-small);
  position: relative;
}
@media screen and (min-width: 401px) {
  .clinic-locator-search-result {
    --logo-size: 6.25rem;
    grid-template-columns: var(--logo-size) 1fr;
  }
}

.clinic-locator-search-result.is-selected {
  background-color: var(--color-mono-pale-light);
}

.clinic-locator-search-result__logo {
  background-color: var(--color-mono-light);
  border: 1px solid var(--color-mono-pale-dark);
  border-radius: var(--radius-base);
  height: var(--logo-size);
  -o-object-fit: contain;
     object-fit: contain;
  overflow: hidden;
  padding: var(--spacing-xxsmall);
  position: relative;
  width: var(--logo-size);
}

.clinic-locator-search-result__details {
  display: grid;
  font-size: var(--font-size-small);
  gap: var(--spacing-xsmall) var(--spacing-base);
  grid-template: "name name distance" auto "address tag tag" auto "address link link" auto/1fr auto auto;
}
.clinic-locator-search-result__details:after {
  border-bottom: 1px solid var(--color-mono-pale-dark);
  bottom: 0;
  content: "";
  left: calc(var(--logo-size) + var(--spacing-base) + var(--spacing-small));
  position: absolute;
  right: 0;
}

.clinic-locator-search-result__name {
  background: none;
  border: 0;
  cursor: pointer;
  grid-area: name;
  margin-bottom: var(--spacing-xsmall);
  padding: 0;
  text-align: left;
}
.clinic-locator-search-result__name:before {
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.clinic-locator-search-result__distance {
  font-weight: var(--font-weight-medium);
  grid-area: distance;
  white-space: nowrap;
}

.clinic-locator-search-result__address {
  grid-area: address;
}

.clinic-locator-search-result__tag {
  align-self: end;
  background-color: var(--color-mono-light);
  border: 1px solid var(--color-mono-pale-light);
  border-radius: 0.2em;
  font-size: var(--font-size-xsmall);
  grid-area: tag;
  justify-self: end;
  line-height: 1;
  padding: 0.25em 0.6em;
}

.clinic-locator-search-result__link {
  --color-link-text: var(--color-mono-dark);
  align-items: center;
  display: inline-grid;
  font-size: var(--font-size-small);
  gap: var(--spacing-xxsmall);
  grid-area: link;
  grid-template-columns: 1fr auto;
  justify-self: end;
  position: relative;
}

.clinic-locator-search-suggestions {
  align-content: start;
  background-color: var(--color-mono-light);
  border-radius: var(--radius-base);
  color: var(--color-mono-dark);
  display: grid;
  gap: 0;
  overflow: hidden;
  position: relative;
}

.clinic-locator-search-suggestions__group-label {
  display: block;
  font-size: var(--font-size-xsmall);
  font-weight: var(--font-weight-medium);
  padding: var(--spacing-xsmall);
}
.clinic-locator-search-suggestions__group-label:not(:first-child) {
  border-top: 1px solid var(--color-mono-pale-dark);
}

.clinic-locator-search-suggestions__suggestion {
  background: none;
  border: 0;
  cursor: pointer;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-book);
  padding: var(--spacing-xsmall);
  text-align: left;
}
.clinic-locator-search-suggestions__suggestion:not(:first-child) {
  border-top: 1px solid var(--color-mono-pale-dark);
}
.clinic-locator-search-suggestions__suggestion:hover, .clinic-locator-search-suggestions__suggestion:focus, .clinic-locator-search-suggestions__suggestion.selected {
  background-color: var(--color-mono-pale-light);
}
