.d-flex {
  display: flex;
}
.flex-column {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}

/* ---- Overall layout: form (fixed max-width) + sidebar (fills the rest) ---- */

section.contact {
  padding: 100px 149px;
  padding-top: 0;
}

section.contact .contact_content {
  align-items: stretch;
  flex-wrap: wrap;
}

section.contact .contact_sidebar {
  flex: 1 1 380px;
  min-width: 0;
}

/* ---- Form heading / required-field asterisk ---- */

section.contact .contact_form h2 {
  font-size: 50px;
  font-weight: 700;
  line-height: 55px;
}

section.contact .contact_form .req {
  color: #fff;
  margin-left: 2px;
}

section.contact .clinics_card > .wpcf7-form-control-wrap {
  display: block;
  margin-bottom: 20px;
}

.fcc-glass-select__menu {
  margin-top: 8px;
}

/* ---- Gold submit button ---- */

section.contact .contact_form input:not([type="submit"]),
section.contact .contact_form select,
section.contact .contact_form textarea,
section.contact .clinics_card select.clinics_filter {
  border-radius: 10px !important;
}

section.contact .contact_form input[type="submit"].btn-gold,
section.contact .contact_form button[type="submit"].btn-gold {
  margin-top: 10px;

  background: linear-gradient(135deg, #dcb843 0%, #c39a34 50%, #97721f 100%);

  box-shadow:
    7px 12px 9px -14px #f4dd8f inset,
    2px -1px 1px -2px rgba(244, 221, 143, 0.5) inset,
    -2px 1px 1px -2px rgba(244, 221, 143, 0.5) inset,
    -7px -12px 9px -14px #97721f inset;
}

section.contact .contact_form input[type="submit"].btn-gold:hover,
section.contact .contact_form button[type="submit"].btn-gold:hover {
  background: linear-gradient(135deg, #e6c65a 0%, #cfa73e 50%, #a37f26 100%);
}

/* ---- Info cards (Contact Details / Opening Hours) ---- */

section.contact .info_row {
  flex-wrap: wrap;
}

section.contact .info_card {
  flex: 1 1 260px;
  min-width: 0;
  padding: 30px;
}

section.contact .clinics_card {
  padding: 30px;
}

section.contact .info_card_title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 24px;
  font-size: 32px;
  line-height: 38px;
  font-weight: 600;
}

section.contact .info_card_title svg {
  flex: 0 0 auto;
}

section.contact .info_line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 14px;
}

section.contact .info_line:last-child {
  margin-bottom: 0;
}

section.contact .info_label {
  flex: 0 0 auto;
  font-family: var(--worksans);
  font-size: 16px;
  color: #fff;
  line-height: 24px;
  font-weight: 0;
}

section.contact .info_card.opening_hours .info_line .white-glass-bg.info_pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 150px;
  width: 190px;
  padding: 10px 16px;
  text-align: center;
  white-space: nowrap;
  font-size: 14px;
}
section.contact .info_card.opening_hours .info_line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
section.contact .info_card.opening_hours .info_line:last-child {
  margin-bottom: 0;
}

section.contact .info_card.opening_hours .info_pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 230px;
  text-align: center;
}

section.contact .info_pill {
  align-items: center;
  padding: 10px 20px;
  font-family: var(--worksans);
  font-size: 14px;
  font-weight: 0;
  white-space: nowrap;
  text-align: center;
  width: 100%;
}

a.info_pill {
  cursor: pointer;
}

section.contact .clinics_select {
  margin-bottom: 20px;
}

section.contact .clinic_list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

section.contact .clinic_item {
  display: flex;
  align-items: center; /* was flex-start */
  gap: 16px;
  padding: 20px 24px;
}

section.contact .clinic_pin {
  flex: 0 0 auto;
  width: 32.08px;
  height: 45.83px;
  opacity: 1;
  transform: rotate(0deg);
}

section.contact .clinic_info h4 {
  margin: 0 0 6px;
  font-size: 32px;
  line-height: 1.2;
  font-weight: 600;
}

section.contact .clinic_info p {
  margin: 0;
  font-size: 16px;
  line-height: 24px;
  color: #fff;
  font-weight: 400;
  width: 100%;
}

/* ---- Responsive ---- */

@media (max-width: 1199px) {
  section.contact .info_card,
  section.contact .clinics_card {
    padding: 24px;
  }
}

@media (max-width: 991px) {
  section.contact .contact_content,
  section.contact .contact_sidebar,
  section.contact .info_row {
    display: flex;
    flex-direction: column;
  }

  section.contact .contact_sidebar {
    flex: 1 1 auto;
  }

  section.contact .info_card {
    flex: 1 1 auto; /* let height come from content, not a fixed basis */
  }

  section.contact .clinic_item {
    min-width: 0; /* lets the flex item shrink below content size */
  }

  section.contact .clinic_info {
    min-width: 0;
  }

  section.contact .clinic_info p {
    width: auto;
    max-width: 100%;
  }
}

@media (max-width: 767px) {
  section.contact .info_card_title {
    font-size: 20px;
    margin-bottom: 18px;
  }

  section.contact .clinic_item {
    padding: 16px 18px;
  }
}

/* contact */

section.contact .contact_content {
  align-items: stretch;
}

/* section.contact .contact_form,

section.contact .contact_image {

    flex: 1 1 50%;

} */

section.contact .contact_form {
  padding: 24px;

  max-width: 773px;

  width: 100%;
}

section.contact .contact_description p:last-child {
  margin-bottom: 0;
}

section.contact .contact_form .fcc-cf7-header {
  display: none;
}

section.contact .contact_form .wpcf7-form {
  display: flex;

  flex-direction: column;

  /* gap: 20px; */
}

section.contact .contact_form .wpcf7-form p {
  margin: 0;
}

section.contact .contact_form .fcc-cf7-row {
  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 20px;

  margin-bottom: 20px;
}

section.contact .contact_form .fcc-cf7-row:last-child {
  margin-bottom: 0;
}

section.contact .contact_form .fcc-cf7-field-full,
section.contact .contact_form .fcc-cf7-label {
  grid-column: 1 / -1;
}

.fcc-cf7-label.fcc-cf7-label-inline {
  margin-bottom: 20px;
}

section.contact .contact_form .fcc-cf7-label {
  color: #fff;

  font-family: var(--poppinsRegular);

  font-size: 16px;

  font-weight: 400;

  line-height: 24px;
}

section.contact .contact_form .wpcf7-form-control-wrap {
  display: block;

  width: 100%;

  position: relative;
}

section.contact .clinics_card .wpcf7-form-control-wrap {
  position: relative;
}

section.contact .contact_form input:not([type="submit"]),
section.contact .contact_form select,
section.contact .contact_form textarea,
section.contact .clinics_card select.clinics_filter {
  display: block;

  width: 100%;

  min-height: 50px;

  padding: 13px 20px;

  border: none;

  outline: none;

  border-radius: 30px;

  color: #fff;

  font-family: var(--poppinsRegular);

  font-size: 16px;

  font-weight: 400;

  line-height: 24px;

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.08) 0%,

      rgba(255, 255, 255, 0) 54.52%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 50.1%,

      rgba(255, 255, 255, 0.08) 100%
    );

  background-blend-mode: lighten, soft-light;

  box-shadow:
    8px 12px 9px -10px rgba(255, 255, 255, 0.9) inset,
    2px -1px 1px -2px rgba(179, 179, 179, 0.5) inset,
    -2px 1px 1px -2px rgba(179, 179, 179, 0.5) inset,
    -8px -12px 9px -10px rgba(255, 255, 255, 0.9) inset,
    0 4px 8px 0 rgba(0, 0, 0, 0.05);

  backdrop-filter: blur(20px);

  -webkit-backdrop-filter: blur(20px);

  transition: 0.3s ease-in-out;

  -webkit-transition: 0.3s ease-in-out;
}
/* Clinic branch filter select: same glass pill + custom arrow as your-branch */
section.contact .clinics_card select.clinics_filter {
  appearance: none;
  -webkit-appearance: none;

  padding-right: 50px;

  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6' viewBox='0 0 9 6' fill='none'%3E%3Cpath d='M4.243 5.656L0 1.414L1.415 0L4.243 2.828L7.071 0L8.486 1.414L4.243 5.656Z' fill='white'/%3E%3C/svg%3E"),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.08) 0%,
      rgba(255, 255, 255, 0) 54.52%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 50.1%,
      rgba(255, 255, 255, 0.08) 100%
    );
  background-position:
    right 20px center,
    0 0,
    0 0;
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-size:
    9px 6px,
    auto,
    auto;
}
section.contact .contact_form input[type="date"],
section.contact .contact_form input[name="preferred-date"],
section.contact .contact_form input[name="your-date"] {
  padding-right: 54px;

  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M6.45825 2.08398C6.45825 1.91822 6.39241 1.75925 6.2752 1.64204C6.15799 1.52483 5.99902 1.45898 5.83325 1.45898C5.66749 1.45898 5.50852 1.52483 5.39131 1.64204C5.2741 1.75925 5.20825 1.91822 5.20825 2.08398V3.40065C4.00826 3.49648 3.22159 3.73148 2.64326 4.31065C2.06409 4.88898 1.82909 5.67648 1.73242 6.87565H18.2674C18.1708 5.67565 17.9358 4.88898 17.3566 4.31065C16.7783 3.73148 15.9908 3.49648 14.7916 3.39982V2.08398C14.7916 1.91822 14.7257 1.75925 14.6085 1.64204C14.4913 1.52483 14.3323 1.45898 14.1666 1.45898C14.0008 1.45898 13.8419 1.52483 13.7246 1.64204C13.6074 1.75925 13.5416 1.91822 13.5416 2.08398V3.34482C12.9874 3.33398 12.3658 3.33398 11.6666 3.33398H8.33325C7.63409 3.33398 7.01242 3.33398 6.45825 3.34482V2.08398Z' fill='white'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M1.6665 10C1.6665 9.30083 1.6665 8.67917 1.67734 8.125H18.3223C18.3332 8.67917 18.3332 9.30083 18.3332 10V11.6667C18.3332 14.8092 18.3332 16.3808 17.3565 17.3567C16.3798 18.3325 14.809 18.3333 11.6665 18.3333H8.33317C5.19067 18.3333 3.619 18.3333 2.64317 17.3567C1.66734 16.38 1.6665 14.8092 1.6665 11.6667V10ZM14.1665 11.6667C14.3875 11.6667 14.5995 11.5789 14.7558 11.4226C14.912 11.2663 14.9998 11.0543 14.9998 10.8333C14.9998 10.6123 14.912 10.4004 14.7558 10.2441C14.5995 10.0878 14.3875 10 14.1665 10C13.9455 10 13.7335 10.0878 13.5772 10.2441C13.421 10.4004 13.3332 10.6123 13.3332 10.8333C13.3332 11.0543 13.421 11.2663 13.5772 11.4226C13.7335 11.5789 13.9455 11.6667 14.1665 11.6667ZM14.1665 15C14.3875 15 14.5995 14.9122 14.7558 14.7559C14.912 14.5996 14.9998 14.3877 14.9998 14.1667C14.9998 13.9457 14.912 13.7337 14.7558 13.5774C14.5995 13.4211 14.3875 13.3333 14.1665 13.3333C13.9455 13.3333 13.7335 13.4211 13.5772 13.5774C13.421 13.7337 13.3332 13.9457 13.3332 14.1667C13.3332 14.3877 13.421 14.5996 13.5772 14.7559C13.7335 14.9122 13.9455 15 14.1665 15ZM10.8332 10.8333C10.8332 11.0543 10.7454 11.2663 10.5891 11.4226C10.4328 11.5789 10.2209 11.6667 9.99984 11.6667C9.77882 11.6667 9.56686 11.5789 9.41058 11.4226C9.2543 11.2663 9.1665 11.0543 9.1665 10.8333C9.1665 10.6123 9.2543 10.4004 9.41058 10.2441C9.56686 10.0878 9.77882 10 9.99984 10C10.2209 10 10.4328 10.0878 10.5891 10.2441C10.7454 10.4004 10.8332 10.6123 10.8332 10.8333ZM10.8332 14.1667C10.8332 14.3877 10.7454 14.5996 10.5891 14.7559C10.4328 14.9122 10.2209 15 9.99984 15C9.77882 15 9.56686 14.9122 9.41058 14.7559C9.2543 14.5996 9.1665 14.3877 9.1665 14.1667C9.1665 13.9457 9.2543 13.7337 9.41058 13.5774C9.56686 13.4211 9.77882 13.3333 9.99984 13.3333C10.2209 13.3333 10.4328 13.4211 10.5891 13.5774C10.7454 13.7337 10.8332 13.9457 10.8332 14.1667ZM5.83317 11.6667C6.05418 11.6667 6.26615 11.5789 6.42243 11.4226C6.57871 11.2663 6.6665 11.0543 6.6665 10.8333C6.6665 10.6123 6.57871 10.4004 6.42243 10.2441C6.26615 10.0878 6.05418 10 5.83317 10C5.61216 10 5.4002 10.0878 5.24392 10.2441C5.08763 10.4004 4.99984 10.6123 4.99984 10.8333C4.99984 11.0543 5.08763 11.2663 5.24392 11.4226C5.4002 11.5789 5.61216 11.6667 5.83317 11.6667ZM5.83317 15C6.05418 15 6.26615 14.9122 6.42243 14.7559C6.57871 14.5996 6.6665 14.3877 6.6665 14.1667C6.6665 13.9457 6.57871 13.7337 6.42243 13.5774C6.26615 13.4211 6.05418 13.3333 5.83317 13.3333C5.61216 13.3333 5.4002 13.4211 5.24392 13.5774C5.08763 13.7337 4.99984 13.9457 4.99984 14.1667C4.99984 14.3877 5.08763 14.5996 5.24392 14.7559C5.4002 14.9122 5.61216 15 5.83317 15Z' fill='white'/%3E%3C/svg%3E"),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.08) 0%,

      rgba(255, 255, 255, 0) 54.52%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 50.1%,

      rgba(255, 255, 255, 0.08) 100%
    );

  background-position:
    right 20px center,
    0 0,
    0 0;

  background-repeat: no-repeat, no-repeat, no-repeat;

  background-size:
    20px 20px,
    auto,
    auto;
}

section.contact .contact_form select[name="preferred-time"],
section.contact .contact_form select[name="your-time"] {
  padding-right: 54px;

  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M9.99984 1.66602C14.6023 1.66602 18.3332 5.39685 18.3332 9.99935C18.3332 14.6018 14.6023 18.3327 9.99984 18.3327C5.39734 18.3327 1.6665 14.6018 1.6665 9.99935C1.6665 5.39685 5.39734 1.66602 9.99984 1.66602ZM9.99984 4.99935C9.77882 4.99935 9.56686 5.08715 9.41058 5.24343C9.2543 5.39971 9.1665 5.61167 9.1665 5.83268V9.99935C9.16655 10.2203 9.25438 10.4323 9.41067 10.5885L11.9107 13.0885C12.0678 13.2403 12.2783 13.3243 12.4968 13.3224C12.7153 13.3205 12.9243 13.2329 13.0789 13.0784C13.2334 12.9239 13.321 12.7148 13.3229 12.4963C13.3248 12.2779 13.2408 12.0674 13.089 11.9102L10.8332 9.65435V5.83268C10.8332 5.61167 10.7454 5.39971 10.5891 5.24343C10.4328 5.08715 10.2209 4.99935 9.99984 4.99935Z' fill='white'/%3E%3C/svg%3E")
      right 20px center / 20px 20px no-repeat,
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.08) 0%,

      rgba(255, 255, 255, 0) 54.52%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 50.1%,

      rgba(255, 255, 255, 0.08) 100%
    );

  background-position:
    right 20px center,
    0 0,
    0 0;

  background-repeat: no-repeat, no-repeat, no-repeat;

  background-size:
    20px 20px,
    auto,
    auto;
}

section.contact
  .contact_form
  input[type="date"]::-webkit-calendar-picker-indicator {
  opacity: 0;

  cursor: pointer;
}

.fcc-contact-datepicker {
  z-index: 10 !important;

  width: 100%;

  max-width: 100vw;

  padding: 15px;

  border: 1px solid rgba(255, 255, 255, 0.45);

  border-radius: 20px;

  box-sizing: border-box;

  color: #fff;

  font-family: var(--worksans);

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.08) 0%,
      rgba(255, 255, 255, 0) 54.52%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 50.1%,
      rgba(255, 255, 255, 0.08) 100%
    );
  background-blend-mode: lighten, soft-light;
  box-shadow:
    8px 12px 9px -10px rgba(255, 255, 255, 0.9) inset,
    2px -1px 1px -2px rgba(179, 179, 179, 0.5) inset,
    -2px 1px 1px -2px rgba(179, 179, 179, 0.5) inset,
    -8px -12px 9px -10px rgba(255, 255, 255, 0.9) inset,
    0 4px 8px 0 rgba(0, 0, 0, 0.05);
  backdrop-filter: blur(20px);

  -webkit-backdrop-filter: blur(20px);
}

.fcc-contact-datepicker .ui-datepicker-header {
  display: flex;

  align-items: center;

  justify-content: space-between;

  margin-bottom: 12px;
}

.fcc-contact-datepicker .ui-datepicker-title {
  order: 2;

  flex: 1;

  color: #fff;

  font-size: 14px;

  font-weight: 600;

  line-height: 20px;

  text-align: center;
}

.fcc-contact-datepicker .ui-datepicker-prev,
.fcc-contact-datepicker .ui-datepicker-next {
  order: 1;

  width: 30px;

  height: 30px;

  border-radius: 100px;

  color: transparent;

  cursor: pointer;

  position: relative;
}

.fcc-contact-datepicker .ui-datepicker-next {
  order: 3;
}

.fcc-contact-datepicker .ui-datepicker-prev::before,
.fcc-contact-datepicker .ui-datepicker-next::before {
  content: "";

  position: absolute;

  inset: 0;

  margin: auto;

  width: 8px;

  height: 8px;

  border-top: 2px solid #fff;

  border-left: 2px solid #fff;
}

.fcc-contact-datepicker .ui-datepicker-prev::before {
  transform: rotate(-45deg);
}

.fcc-contact-datepicker .ui-datepicker-next::before {
  transform: rotate(135deg);
}

.fcc-contact-datepicker table {
  width: 100%;

  border-collapse: collapse;

  table-layout: fixed;
}

.fcc-contact-datepicker th,
.fcc-contact-datepicker td {
  width: 14.285%;

  padding: 4px 2px;

  text-align: center;
}

.fcc-contact-datepicker th {
  color: rgba(255, 255, 255, 0.8);

  font-size: 11px;

  font-weight: 600;

  line-height: 16px;
}

.fcc-contact-datepicker td a,
.fcc-contact-datepicker td span {
  display: flex;

  align-items: center;

  justify-content: center;

  width: min(30px, 100%);

  height: 30px;

  margin: 0 auto;

  border-radius: 100px;

  color: #fff;

  font-size: 12px;

  line-height: 1;

  text-decoration: none;
}

.fcc-contact-datepicker td a:hover,
.fcc-contact-datepicker .ui-datepicker-current-day a {
  background: rgba(255, 255, 255, 0.22);

  box-shadow:
    7px 12px 5px -9px rgba(255, 255, 255, 0.9) inset,
    -7px -12px 5px -9px rgba(255, 255, 255, 0.9) inset;
}

.fcc-contact-datepicker .ui-datepicker-unselectable span {
  color: rgba(255, 255, 255, 0.35);
}

section.contact .contact_form input:not([type="submit"]):hover,
section.contact .contact_form select:hover,
section.contact .contact_form textarea:hover,
section.contact .clinics_card select.clinics_filter:hover {
  background-color: rgba(255, 255, 255, 0.18);

  box-shadow:
    7px 12px 5px -9px rgba(255, 255, 255, 0.9) inset,
    2px -1px 1px -2px rgba(179, 179, 179, 0.5) inset,
    -2px 1px 1px -2px rgba(179, 179, 179, 0.5) inset,
    -7px -12px 5px -9px rgba(255, 255, 255, 0.9) inset;

  backdrop-filter: blur(20px);
}

section.contact .contact_form textarea {
  height: 234px;
  min-height: 140px;

  border-radius: 30px;

  resize: vertical;
}

section.contact .contact_form select {
  appearance: none;

  -webkit-appearance: none;
}

/* Native select remains in the form for CF7, while JS renders the visible glass UI. */
section.contact .contact_form select.fcc-native-select-hidden {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0;
  pointer-events: none;
}

section.contact .contact_form .fcc-glass-select {
  position: relative;
  z-index: 1;
  width: 100%;
}

/* Rounded glass trigger shown in place of the browser select control. */
section.contact .contact_form .fcc-glass-select__button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 50px;
  padding: 13px 54px 13px 20px;
  border: none;
  outline: none;
  border-radius: 10px;
  color: #fff;
  font-family: var(--poppinsRegular);
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  text-align: left;
  cursor: pointer;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6' viewBox='0 0 9 6' fill='none'%3E%3Cpath d='M4.243 5.656L0 1.414L1.415 0L4.243 2.828L7.071 0L8.486 1.414L4.243 5.656Z' fill='white'/%3E%3C/svg%3E")
      right 20px center / 9px 6px no-repeat,
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.08) 0%,
      rgba(255, 255, 255, 0) 54.52%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 50.1%,
      rgba(255, 255, 255, 0.08) 100%
    );
  background-blend-mode: normal, lighten, soft-light;
  box-shadow:
    8px 12px 9px -10px rgba(255, 255, 255, 0.9) inset,
    2px -1px 1px -2px rgba(179, 179, 179, 0.5) inset,
    -2px 1px 1px -2px rgba(179, 179, 179, 0.5) inset,
    -8px -12px 9px -10px rgba(255, 255, 255, 0.9) inset,
    0 4px 8px 0 rgba(0, 0, 0, 0.05);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  transition: 0.3s ease-in-out;
}

/* Time selects use the clock icon instead of the generic dropdown chevron. */
section.contact
  .contact_form
  .fcc-glass-select[data-select-name="preferred-time"]
  .fcc-glass-select__button,
section.contact
  .contact_form
  .fcc-glass-select[data-select-name="your-time"]
  .fcc-glass-select__button {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M9.99984 1.66602C14.6023 1.66602 18.3332 5.39685 18.3332 9.99935C18.3332 14.6018 14.6023 18.3327 9.99984 18.3327C5.39734 18.3327 1.6665 14.6018 1.6665 9.99935C1.6665 5.39685 5.39734 1.66602 9.99984 1.66602ZM9.99984 4.99935C9.77882 4.99935 9.56686 5.08715 9.41058 5.24343C9.2543 5.39971 9.1665 5.61167 9.1665 5.83268V9.99935C9.16655 10.2203 9.25438 10.4323 9.41067 10.5885L11.9107 13.0885C12.0678 13.2403 12.2783 13.3243 12.4968 13.3224C12.7153 13.3205 12.9243 13.2329 13.0789 13.0784C13.2334 12.9239 13.321 12.7148 13.3229 12.4963C13.3248 12.2779 13.2408 12.0674 13.089 11.9102L10.8332 9.65435V5.83268C10.8332 5.61167 10.7454 5.39971 10.5891 5.24343C10.4328 5.08715 10.2209 4.99935 9.99984 4.99935Z' fill='white'/%3E%3C/svg%3E")
      right 20px center / 20px 20px no-repeat,
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.08) 0%,
      rgba(255, 255, 255, 0) 54.52%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 50.1%,
      rgba(255, 255, 255, 0.08) 100%
    );
}

section.contact .contact_form .fcc-glass-select__button:hover,
section.contact .contact_form .fcc-glass-select__button:focus-visible,
section.contact
  .contact_form
  .fcc-glass-select.is-open
  .fcc-glass-select__button {
  background-color: rgba(255, 255, 255, 0.18);
  box-shadow:
    7px 12px 5px -9px rgba(255, 255, 255, 0.9) inset,
    2px -1px 1px -2px rgba(179, 179, 179, 0.5) inset,
    -2px 1px 1px -2px rgba(179, 179, 179, 0.5) inset,
    -7px -12px 5px -9px rgba(255, 255, 255, 0.9) inset;
}

section.contact .contact_form .fcc-glass-select__button.is-placeholder {
  color: rgba(255, 255, 255, 0.9);
}

section.contact .contact_form .fcc-glass-select__value {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Open dropdown panel is detached to body and positioned by JS like a submenu layer. */
.fcc-glass-select__menu {
  position: absolute;
  z-index: 10;
  max-height: 330px;
  padding: 9px;
  overflow-y: auto;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 20px;
  background: rgba(184, 198, 149, 0.7);
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.08) 0%,
      rgba(255, 255, 255, 0) 54.52%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 50.1%,
      rgba(255, 255, 255, 0.08) 100%
    );
  background-blend-mode: lighten, soft-light;
  box-shadow:
    8px 12px 9px -10px rgba(255, 255, 255, 0.9) inset,
    2px -1px 1px -2px rgba(179, 179, 179, 0.5) inset,
    -2px 1px 1px -2px rgba(179, 179, 179, 0.5) inset,
    -8px -12px 9px -10px rgba(255, 255, 255, 0.9) inset,
    0 4px 8px 0 rgba(0, 0, 0, 0.05);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.fcc-glass-select__menu[hidden] {
  display: none;
}

/* Individual choices are buttons so the menu can be styled consistently across browsers. */
.fcc-glass-select__option {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 40px;
  padding: 8px 12px;
  border: 0;
  border-radius: 14px;
  color: #fff;
  font-family: var(--poppinsRegular);
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  text-align: left;
  background: transparent;
  cursor: pointer;
}

.fcc-glass-select__option:hover,
.fcc-glass-select__option:focus-visible,
.fcc-glass-select__option.is-selected {
  color: #fff;
  background: rgba(255, 255, 255, 0.2);
  box-shadow:
    7px 12px 5px -9px rgba(255, 255, 255, 0.9) inset,
    -7px -12px 5px -9px rgba(255, 255, 255, 0.9) inset;
}

.fcc-glass-select__option:disabled {
  color: rgba(255, 255, 255, 0.5);
  cursor: not-allowed;
}

section.contact .contact_form select option {
  color: #433833;
}

section.contact .contact_form input::placeholder,
section.contact .contact_form textarea::placeholder {
  color: rgba(255, 255, 255, 0.9);

  opacity: 1;
}

section.contact .contact_form select:invalid {
  color: rgba(255, 255, 255, 0.9);
}

section.contact .contact_form input[type="submit"],
section.contact .contact_form button[type="submit"] {
  display: flex;

  align-items: center;

  justify-content: center;

  width: 100%;

  min-height: 50px;

  padding: 13px 20px;

  border: none;

  outline: none;

  border-radius: 30px;

  color: #fff;

  font-family: var(--poppinsRegular);

  font-size: 16px;

  font-weight: 600;

  line-height: 24px;

  cursor: pointer;
}

section.contact .contact_form .wpcf7-spinner {
  display: none;
  margin: 10px auto 0;
}

section.contact .contact_form .wpcf7-spinner.is-active {
  display: block;
}

section.contact .contact_form .wpcf7-not-valid-tip {
  margin-top: 8px;

  color: #fff;

  font-family: var(--poppinsRegular);

  font-size: 12px;

  line-height: 18px;
}

section.contact .contact_form .wpcf7-response-output {
  /* margin: 10px 0 0; */

  margin: 0;

  color: #fff;

  border-color: rgba(255, 255, 255, 0.6);
}

section.contact .contact_image {
  position: relative;

  /* min-height: 595px; */

  overflow: hidden;

  border-radius: 30px;

  max-width: 773px;

  width: 100%;
}

section.contact .contact_image img {
  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;
}

section.contact .contact_image_overlay {
  position: absolute;

  left: 50%;

  bottom: 30px;

  width: calc(100% - 60px);

  padding: 24px 30px;

  transform: translateX(-50%);

  text-align: center;
}

section.contact .contact_image_overlay h2 {
  line-height: 1;
}

section.contact .contact_form .fcc-cf7-row .fcc-cf7-field {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-self: flex-end;
}

section.contact .clinics_card .fcc-glass-select {
  position: relative;
  z-index: 1;
  width: 100%;
}

section.contact .clinics_card .fcc-glass-select__button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 50px;
  padding: 13px 54px 13px 20px;
  border: none;
  outline: none;
  border-radius: 10px;
  color: #fff;
  font-family: var(--poppinsRegular);
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  text-align: left;
  cursor: pointer;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6' viewBox='0 0 9 6' fill='none'%3E%3Cpath d='M4.243 5.656L0 1.414L1.415 0L4.243 2.828L7.071 0L8.486 1.414L4.243 5.656Z' fill='white'/%3E%3C/svg%3E")
      right 20px center / 9px 6px no-repeat,
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.08) 0%,
      rgba(255, 255, 255, 0) 54.52%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 50.1%,
      rgba(255, 255, 255, 0.08) 100%
    );
  background-blend-mode: normal, lighten, soft-light;
  box-shadow:
    8px 12px 9px -10px rgba(255, 255, 255, 0.9) inset,
    2px -1px 1px -2px rgba(179, 179, 179, 0.5) inset,
    -2px 1px 1px -2px rgba(179, 179, 179, 0.5) inset,
    -8px -12px 9px -10px rgba(255, 255, 255, 0.9) inset,
    0 4px 8px 0 rgba(0, 0, 0, 0.05);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  transition: 0.3s ease-in-out;
}

section.contact .clinics_card .fcc-glass-select__button:hover,
section.contact .clinics_card .fcc-glass-select__button:focus-visible,
section.contact
  .clinics_card
  .fcc-glass-select.is-open
  .fcc-glass-select__button {
  background-color: rgba(255, 255, 255, 0.18);
  box-shadow:
    7px 12px 5px -9px rgba(255, 255, 255, 0.9) inset,
    2px -1px 5px -2px rgba(255, 255, 255, 0.8) inset,
    -2px 1px 5px -2px rgba(255, 255, 255, 0.8) inset,
    -7px -12px 5px -9px rgba(255, 255, 255, 0.9) inset;
}

section.contact .clinics_card .fcc-glass-select__button.is-placeholder {
  color: rgba(255, 255, 255, 0.9);
}

section.contact .clinics_card .fcc-glass-select__value {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.info_card.opening_hours {
  border-radius: 24px;
  padding: 32px 36px;
  display: flex;
  flex-direction: column;
  gap: 0; /* even breathing room between title and each row */
}

.info_card_title {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  color: #fff;
  white-space: nowrap; /* keeps "Opening Hours" on one line like image 2 */
}

.info_card_title img {
  width: 30px;
  height: auto;
  flex-shrink: 0;
}

.info_line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-width: 0; /* allows flex children to shrink below their content size instead of overflowing */
}

.info_label {
  font-size: 16px;
  font-weight: 0;
  color: #fff;
  white-space: nowrap;
  flex-shrink: 0; /* label text never gets crushed */
}

.info_pill {
  min-width: 0; /* was 190px — that fixed floor was forcing overflow on longer text */
  max-width: 100%; /* pill can never exceed the row's available width */
  padding: 10px 24px;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 0;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  flex-shrink: 1; /* pill is allowed to shrink if the row runs out of room */
}

section.contact .info_card.opening_hours .info_line .info_label {
  flex: 0 0 125px; /* fixed width — sized to fit "Monday–Friday:" comfortably */
  width: 140px;
  font-size: 16px;
  font-weight: 0;
  white-space: nowrap;
}

.location_pin_icon {
  width: 38px;
  height: 40px;
  display: block; /* avoids inline-image baseline gap */
  flex-shrink: 0; /* keeps it from being squeezed if it sits in a flex row */
}

section.contact .contact_form .fcc-cf7-field {
  justify-content: flex-start; /* was flex-end — stop bottom-aligning inputs */
  position: relative;
}

section.contact .contact_form .wpcf7-not-valid-tip {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 8px;
  white-space: nowrap; /* optional, prevents tall wrapped errors from being an issue */
}

section.contact .contact_form .fcc-cf7-field {
  justify-content: flex-start; /* keep inputs pinned to the top of the cell */
}

/* remove/undo the absolute positioning from the previous fix */
section.contact .contact_form .wpcf7-not-valid-tip {
  position: static;
  margin-top: 8px;
}

/* 1. Isolate every backdrop-filter element so its blur can't bleed past its own box */
section.contact .contact_form input:not([type="submit"]),
section.contact .contact_form select,
section.contact .contact_form textarea,
section.contact .clinics_card select.clinics_filter,
section.contact .fcc-glass-select__button,
section.contact .info_card,
section.contact .clinics_card,
.fcc-glass-select__menu,
.fcc-contact-datepicker {
  isolation: isolate;
  contain: paint;
}

/* 2. Only transition what actually needs to animate — not the whole property list */
section.contact .contact_form input:not([type="submit"]),
section.contact .contact_form select,
section.contact .contact_form textarea,
section.contact .clinics_card select.clinics_filter {
  transition:
    background-color 0.3s ease-in-out,
    box-shadow 0.3s ease-in-out;
  -webkit-transition:
    background-color 0.3s ease-in-out,
    box-shadow 0.3s ease-in-out;
}

section.contact .contact_form,
section.contact .contact_sidebar {
  transform: translateZ(0);
  will-change: transform;
}

@media (max-width: 767px) {
  .info_card.opening_hours {
    padding: 24px 20px;
    gap: 16px;
  }

  .info_card_title {
    font-size: 22px;
  }

  .info_card_title img {
    width: 22px;
    height: 22px;
  }

  .info_line {
    gap: 12px;
  }

  .info_pill {
    min-width: 150px;
    padding: 8px 16px;
    font-size: 12px;
  }
}

@media (max-width: 1800px) {
  section.contact .contact_form {
    max-width: 1600px;
  }
}

@media (max-width: 1400px) {
  section.why_choose .stats .stat_number {
    font-size: 41px;
  }
}

@media (max-width: 1199px) {
  section.contact {
    padding: 70px 30px;
    padding-top: 0;
  }
  section.contact .contact_image {
    min-height: 520px;
  }

  section.contact .contact_form,
  section.contact .contact_image {
    max-width: 100%;
  }
}

@media (max-width: 992px) {
  section.contact .info_card.opening_hours .info_line {
    flex-wrap: nowrap; /* stays one row */
    gap: 12px;
  }
  section.contact .info_card.opening_hours .info_line .info_label {
    flex: 1 1 auto;
    min-width: 0; /* label can shrink instead of forcing overflow */
  }
  section.contact
    .info_card.opening_hours
    .info_line
    .white-glass-bg.info_pill {
    flex: 0 1 auto;
    width: auto;
    min-width: 0;
    max-width: 60%; /* pill caps itself instead of demanding 100% */
    white-space: normal; /* text can wrap inside the pill if truly tight */
    padding: 10px 14px;
  }

  section.contact .contact_form h2 {
    font-size: 35px;
  }
  section.contact .contact_form .fcc-cf7-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  section.contact .contact_form .fcc-glass-select__button {
    padding: 0;
    font-size: 14px;
    padding-left: 20px;
  }

  section.contact {
    padding: 50px 20px;
    padding-top: 0;
  }

  section.contact .contact_form {
    padding: 30px 20px;
  }

  section.contact .contact_image {
    min-height: 250px;
  }

  section.contact .contact_image_overlay {
    bottom: 20px;

    width: calc(100% - 40px);

    padding: 20px;
  }
}

@media (max-width: 400px) {
  section.contact .info_card.opening_hours .info_line {
    gap: 8px;
  }
  section.contact .info_card.opening_hours .info_line .info_label {
    font-size: 14px;
  }
  section.contact
    .info_card.opening_hours
    .info_line
    .white-glass-bg.info_pill {
    max-width: 55%;
    padding: 8px 10px;
    font-size: 13px;
  }
}

/* contact end */

@media (max-width: 992px) {
  .info_card.opening_hours {
    padding: 26px 26px;
  }

  section.contact .info_card.opening_hours .info_line {
    flex-direction: row; /* stay side-by-side */
    align-items: center;
    flex-wrap: nowrap;
    gap: 12px;
  }

  section.contact .info_card.opening_hours .info_line .info_label {
    flex: 0 0 auto; /* label keeps its natural width */
    width: auto;
    white-space: nowrap;
  }

  section.contact
    .info_card.opening_hours
    .info_line
    .white-glass-bg.info_pill {
    flex: 1 1 auto; /* pill grows to fill all remaining row space */
    width: auto; /* let flex-grow determine actual width, not a fixed px */
    min-width: 0;
    padding: 10px 16px;
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  .info_card.opening_hours {
    padding: 24px 20px;
  }

  .info_card_title {
    font-size: 22px;
  }

  .info_card_title img {
    width: 22px;
    height: 22px;
  }

  section.contact .info_card.opening_hours .info_line {
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
    gap: 10px;
  }

  section.contact .info_card.opening_hours .info_line .info_label {
    flex: 0 0 auto;
    width: auto;
    font-size: 14px;
    white-space: nowrap;
  }

  section.contact
    .info_card.opening_hours
    .info_line
    .white-glass-bg.info_pill {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    padding: 9px 14px;
    font-size: 13px;
  }
}

@media (max-width: 400px) {
  section.contact .info_card.opening_hours .info_line {
    gap: 8px;
  }

  section.contact .info_card.opening_hours .info_line .info_label {
    font-size: 12px;
  }

  section.contact
    .info_card.opening_hours
    .info_line
    .white-glass-bg.info_pill {
    padding: 8px 10px;
    font-size: 11px;
  }
}
