#book-now .latepoint-w,
#book-now .latepoint-booking-form-element {
  font-family: inherit;
  color: #1f1a17;
  max-width: 980px;
  margin-inline: auto;
}

#book-now .latepoint-booking-form-element .latepoint-form-w,
#book-now .latepoint-w .latepoint-form-w,
#book-now .latepoint-booking-form-element .latepoint-booking-form,
#book-now .latepoint-w .latepoint-booking-form {
  border: 1px solid rgba(31, 26, 23, 0.16);
  box-shadow: 0 18px 48px rgba(31, 26, 23, 0.08);
  background: #fbf7f0;
}

#book-now .latepoint-booking-form-element h1,
#book-now .latepoint-booking-form-element h2,
#book-now .latepoint-booking-form-element h3,
#book-now .latepoint-w h1,
#book-now .latepoint-w h2,
#book-now .latepoint-w h3,
#book-now .latepoint-heading,
#book-now .os-heading-text,
#book-now .os-service-name {
  font-family: var(--wp--preset--font-family--heading, Georgia, serif);
  color: #1f1a17 !important;
}

#book-now .os-services .os-service,
#book-now .latepoint-booking-form-element .os-service {
  border: 1px solid rgba(31, 26, 23, 0.14) !important;
  border-radius: 0 !important;
  background: rgba(255, 252, 247, 0.92) !important;
  box-shadow: none !important;
  transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

#book-now .os-services .os-service:hover,
#book-now .latepoint-booking-form-element .os-service:hover {
  border-color: rgba(120, 83, 55, 0.55) !important;
  background: #fffaf3 !important;
  transform: translateY(-1px);
}

#book-now .os-services .os-service.selected,
#book-now .latepoint-booking-form-element .os-service.selected,
#book-now .os-services .os-service.active,
#book-now .latepoint-booking-form-element .os-service.active {
  border-color: #785337 !important;
  background: #f6efe5 !important;
}

#book-now .os-service-description {
  color: rgba(31, 26, 23, 0.64) !important;
  font-size: 0.92rem;
}

#book-now .latepoint-summary-w,
#book-now .os-summary-contents {
  background-color: #f7f1e8 !important;
  background-image: none !important;
  border-left: 1px solid rgba(31, 26, 23, 0.14) !important;
}

#book-now .os-form-sub-header,
#book-now .os-section-header {
  color: #785337 !important;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.72rem;
  font-weight: 600;
}

#book-now input,
#book-now select,
#book-now textarea {
  border-radius: 0 !important;
  border-color: rgba(31, 26, 23, 0.22) !important;
  background: #fffaf3 !important;
  color: #1f1a17 !important;
}

#book-now .latepoint-btn,
#book-now button {
  border-radius: 0 !important;
  background: #1f1a17 !important;
  color: #fffaf3 !important;
  border: 1px solid #1f1a17 !important;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

#book-now .latepoint-btn:hover,
#book-now button:hover {
  background: #785337 !important;
  border-color: #785337 !important;
}

@media (max-width: 768px) {
  #book-now .latepoint-w,
  #book-now .latepoint-booking-form-element {
    max-width: 100%;
  }

  #book-now .latepoint-summary-w,
  #book-now .os-summary-contents {
    border-left: 0 !important;
    border-top: 1px solid rgba(31, 26, 23, 0.14) !important;
  }
}

/* Cedar Room safer booking width adjustment */
#book-now .latepoint-w,
#book-now .latepoint-booking-form-element {
  width: min(100%, 1120px) !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Let LatePoint keep its own internal layout; only improve visual fit */
#book-now .latepoint-booking-form-element {
  transform: none !important;
}

/* Slightly wider, but not enough to break LatePoint's columns */
@media (min-width: 1100px) {
  #book-now .latepoint-w,
  #book-now .latepoint-booking-form-element {
    width: 1120px !important;
  }
}

@media (max-width: 768px) {
  #book-now .latepoint-w,
  #book-now .latepoint-booking-form-element {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Fix widened shell leaving blank space to the right of Summary */
@media (min-width: 900px) {
  #book-now .latepoint-booking-form-element .latepoint-form-w,
  #book-now .latepoint-w .latepoint-form-w,
  #book-now .latepoint-booking-form-element .latepoint-booking-form,
  #book-now .latepoint-w .latepoint-booking-form {
    width: 100% !important;
  }

  #book-now .latepoint-booking-form-element .latepoint-summary-w,
  #book-now .latepoint-w .latepoint-summary-w,
  #book-now .latepoint-booking-form-element .os-summary-contents,
  #book-now .latepoint-w .os-summary-contents {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 1 1 auto !important;
  }

  #book-now .latepoint-booking-form-element .latepoint-summary-w > *,
  #book-now .latepoint-w .latepoint-summary-w > *,
  #book-now .latepoint-booking-form-element .os-summary-contents > *,
  #book-now .latepoint-w .os-summary-contents > * {
    width: 100% !important;
    max-width: none !important;
  }

  #book-now .latepoint-booking-form-element .latepoint-step-content,
  #book-now .latepoint-w .latepoint-step-content {
    flex: 0 0 470px !important;
    max-width: 470px !important;
  }
}
