/* GLT appointment premium override */
body.home-page .appointment-section {
  padding: clamp(76px, 8vw, 108px) max(32px, calc((100% - 1240px) / 2)) clamp(96px, 9vw, 126px) !important;
  background:
    radial-gradient(circle at 78% 4%, rgba(125, 17, 22, 0.18), transparent 30rem),
    radial-gradient(circle at 18% 70%, rgba(216, 182, 77, 0.075), transparent 28rem),
    linear-gradient(180deg, #050505, #030303) !important;
}

body.home-page .appointment-copy,
body.home-page .appointment-form {
  width: min(1240px, 100%) !important;
  max-width: 1240px !important;
}

body.home-page .appointment-copy {
  display: block !important;
  min-height: 0 !important;
  padding: clamp(32px, 4vw, 52px) clamp(34px, 4.6vw, 64px) !important;
  border-radius: 18px 18px 0 0 !important;
  background:
    radial-gradient(circle at 88% 0%, rgba(111, 18, 22, 0.14), transparent 25rem),
    linear-gradient(105deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.014)) !important;
  text-align: left !important;
}

body.home-page .appointment-copy h2 {
  max-width: 760px !important;
  margin: 0 0 18px !important;
  color: #fff8eb !important;
  font-size: clamp(2.5rem, 4.7vw, 5.2rem) !important;
  line-height: 0.94 !important;
  text-wrap: balance;
}

body.home-page .appointment-contact {
  display: none !important;
}

body.home-page .appointment-copy .eyebrow {
  margin: 0 0 16px !important;
  text-align: left !important;
}

body.home-page .appointment-copy p:not(.eyebrow) {
  max-width: 560px !important;
  margin: 0 !important;
  color: rgba(247, 243, 235, 0.68) !important;
  font-size: 0.95rem !important;
  line-height: 1.7 !important;
}

body.home-page .appointment-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(390px, 0.74fr) !important;
  gap: clamp(28px, 3.4vw, 44px) !important;
  padding: clamp(22px, 2.7vw, 34px) !important;
  border-radius: 0 0 18px 18px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.026)),
    rgba(255, 255, 255, 0.012) !important;
  box-shadow:
    0 34px 100px rgba(0, 0, 0, 0.44),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

body.home-page .appointment-panel,
body.home-page .appointment-panel:first-child,
body.home-page .appointment-panel:last-child {
  background: transparent !important;
  box-shadow: none !important;
}

body.home-page .appointment-panel:first-child {
  display: grid !important;
  grid-template-columns: minmax(230px, 0.44fr) minmax(0, 1fr) !important;
  gap: clamp(22px, 3vw, 34px) !important;
  padding: 0 !important;
  border: 0 !important;
}

body.home-page .appointment-panel:first-child > label:nth-of-type(1),
body.home-page .appointment-panel:first-child > label:nth-of-type(2) {
  grid-column: 1 !important;
}

body.home-page .appointment-panel:first-child > label:nth-of-type(2) {
  align-self: start;
}

body.home-page .appointment-panel:last-child {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
  padding: 0 !important;
  border: 0 !important;
}

body.home-page .appointment-choice-grid {
  display: grid !important;
  gap: 0 !important;
}

body.home-page .appointment-choice-grid button {
  justify-content: flex-start !important;
  min-height: 40px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.075) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(247, 243, 235, 0.7) !important;
  text-align: left !important;
}

body.home-page .appointment-choice-grid button.is-selected {
  border-bottom-color: rgba(216, 182, 77, 0.55) !important;
  color: #f0d879 !important;
}

body.home-page .appointment-slots {
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  max-height: 390px !important;
  overflow: auto !important;
  padding-right: 8px !important;
}

body.home-page .appointment-day {
  display: grid !important;
  grid-template-columns: 116px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: center !important;
  min-height: 54px !important;
  padding: 11px 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.075) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.home-page .appointment-day > span {
  margin: 0 !important;
  color: rgba(247, 243, 235, 0.42) !important;
  font-size: 0.66rem !important;
}

body.home-page .appointment-day button {
  min-width: 52px !important;
  min-height: 31px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

body.home-page .appointment-day button.is-selected {
  background: rgba(216, 182, 77, 0.2) !important;
  color: #f5dc7b !important;
}

body.home-page .appointment-panel:last-child .form-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body.home-page .appointment-panel input,
body.home-page .appointment-panel textarea {
  min-height: 44px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff8eb !important;
}

body.home-page .appointment-panel textarea {
  min-height: 86px !important;
  resize: none !important;
}

body.home-page .appointment-form .button {
  height: 50px !important;
  min-height: 50px !important;
  max-height: none !important;
  border-radius: 9px !important;
  background: linear-gradient(135deg, #d8b94d, #b58a2c) !important;
}

@media (max-width: 1050px) {
  body.home-page .appointment-copy,
  body.home-page .appointment-form,
  body.home-page .appointment-panel:first-child,
  body.home-page .appointment-panel:last-child .form-row {
    grid-template-columns: 1fr !important;
  }

  body.home-page .appointment-slots {
    max-height: none !important;
    overflow: visible !important;
  }
}
