/* Princess 49 booking: desktop summary and progressive mobile trip/contact steps. */
.p49-page #book-now { max-width: 1368px !important; }
.p49-page .p49-form-layout { grid-template-columns: minmax(0, 1fr) 388px; gap: 20px; }
.p49-page .p49-form-card, .p49-page .p49-summary-card { padding: 26px; }
.p49-page .p49-form-heading h2 { font-size: 18px; }
.p49-page .p49-field > label { font-size: 14px; }
body.p49-page #book-now .p49-modern-form .p49-input { height: 50px !important; min-height: 50px !important; font-size: 15px !important; }
.p49-page .p49-fields-grid { gap: 15px 22px; }
.p49-page .p49-time-option { min-height: 62px; flex-direction: column; font-size: 15px; gap: 3px; padding: 10px; }
.p49-page .p49-time-option span { color: inherit; font-size: 15px; line-height: 1.3; }
.p49-page .p49-time-option small { color: #65768b; font-size: 13px; font-weight: 400; line-height: 1.3; }
.p49-page .p49-time-option.is-active small { color: #e2f6f7; }
.p49-page .p49-time-option:focus-within { outline: 3px solid #64b5bd; outline-offset: 3px; }
.p49-page .p49-time-option.p49-sunset-option { grid-column: 1 / -1; min-height: 78px; flex-direction: row; justify-content: flex-start; gap: 15px; text-align: left; border: 1px solid #ce7b0b; background: linear-gradient(90deg, #fff1d9 0%, #ffe1b6eb 35%, #ffe0b533 100%), url('../images/princess-49-sunset-banner.jpg') center 65% / cover; color: #07142d; padding: 10px 16px; }
.p49-page .p49-sunset-option.is-active { box-shadow: inset 0 0 0 2px #007c86; }
.p49-page .p49-sunset-option input { clip: auto; position: static; width: 18px; height: 18px; flex: 0 0 18px; accent-color: #007d86; }
.p49-page .p49-sunset-icon { font-size: 35px; color: #db8b06; }
.p49-page .p49-sunset-copy { display: grid; gap: 3px; }
.p49-page .p49-sunset-copy strong { font-size: 16px; }
.p49-page .p49-sunset-option .p49-sunset-copy small { color: #243447; }
.p49-page .p49-food-form-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) .9fr; }
.p49-page .p49-food-choice img { height: 105px; }
.p49-page .p49-food-choice strong { font-size: 14px; line-height: 1.35; }
.p49-page .p49-food-choice { gap: 16px; }
.p49-page .p49-food-help strong { font-size: 17px; }
.p49-page .p49-food-help p, .p49-page .p49-food-form-note { font-size: 14px; }
.p49-page .p49-summary-list dt, .p49-page .p49-summary-list dd { font-size: 14px; }
.p49-page .p49-summary-list dt small { display: block; padding-left: 28px; }
.p49-page .p49-summary-secure span { font-size: 14px; }
.p49-continue, .p49-back, .p49-trip-secure, .p49-time-hint { display: none; }
@media (min-width: 761px) and (max-width: 1100px) {
  .p49-page .p49-form-layout { grid-template-columns: minmax(0, 1fr) 300px; }
  .p49-page .p49-summary-card { display: block; }
  .p49-page .p49-form-card, .p49-page .p49-summary-card { padding: 18px; }
  .p49-page .p49-food-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .p49-page .p49-form-layout { grid-template-columns: minmax(0, 1fr); }
  .p49-page .p49-form-main { gap: 14px; }
  .p49-page .p49-form-card, .p49-page .p49-summary-card { padding: 18px 15px; border-radius: 12px; }
  .p49-page .p49-form-heading { gap: 10px; padding-bottom: 17px; margin-bottom: 20px; }
  .p49-page .p49-form-heading h2 { font-size: 16px; letter-spacing: .015em; }
  .p49-page .p49-form-heading-icon { font-size: 22px; width: 25px; }
  .p49-page .p49-fields-grid { grid-template-columns: minmax(0, 1fr); gap: 19px; }
  .p49-page .p49-field { gap: 9px; }
  .p49-page .p49-field > label { font-size: 16px; }
  body.p49-page #book-now .p49-modern-form .p49-input { height: 49px !important; min-height: 49px !important; font-size: 16px !important; border-radius: 6px !important; }
  .p49-page .p49-time-field { margin-top: 5px; }
  .p49-page .p49-time-field > label { font-size: 18px; }
  .p49-page .p49-time-hint { display: block; font-size: 14px; line-height: 1.5; color: #7a899e; margin: -2px 0 3px; }
  .p49-page .p49-time-options { grid-template-columns: minmax(0, 1fr); gap: 11px; }
  .p49-page .p49-time-option { min-height: 70px; border-radius: 7px; padding: 13px 14px 13px 55px; text-align: left; align-items: flex-start; position: relative; }
  .p49-page .p49-time-option input { clip: auto; position: absolute; left: 18px; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; margin: 0; accent-color: #007d86; }
  .p49-page .p49-time-option span { font-size: 16px; font-weight: 900; }
  .p49-page .p49-time-option small { font-size: 14px; }
  .p49-page .p49-time-option.p49-sunset-option { min-height: 112px; padding: 14px 12px 14px 43px; gap: 11px; align-items: center; }
  .p49-page .p49-sunset-option input { left: 12px; }
  .p49-page .p49-sunset-icon { font-size: 30px; flex: 0 0 34px; }
  .p49-page .p49-sunset-copy { border-left: 1px solid #dfa858; padding-left: 10px; }
  .p49-page .p49-sunset-copy strong { font-size: 15px; }
  .p49-page .p49-sunset-copy small { max-width: 190px; }
  .p49-page .p49-food-form-grid { grid-template-columns: minmax(0, 1fr); }
  .p49-page .p49-wizard:not(.p49-trip-complete) [data-p49-step="contact"],
  .p49-page .p49-wizard:not(.p49-trip-complete) .p49-food-form-card,
  .p49-page .p49-wizard:not(.p49-trip-complete) .p49-extra-time-card,
  .p49-page .p49-wizard:not(.p49-trip-complete) .p49-notes-submit-card,
  .p49-page .p49-wizard:not(.p49-trip-complete) .p49-form-summary,
  .p49-page .p49-trip-complete [data-p49-step="trip"],
  .p49-page .p49-trip-complete .p49-continue,
  .p49-page .p49-trip-complete .p49-trip-secure { display: none; }
  .p49-page .p49-wizard:not(.p49-trip-complete) .p49-continue { display: flex; align-items: center; justify-content: center; gap: 15px; width: 100%; margin-top: 23px; border: 0; border-radius: 8px; padding: 17px; min-height: 58px; background: linear-gradient(115deg,#008b96,#00626f); color: white; font: 800 19px 'Sen',Arial,sans-serif; cursor: pointer; }
  .p49-page .p49-wizard:not(.p49-trip-complete) .p49-trip-secure { display: flex; gap: 12px; align-items: center; background: #f5fbfd; border: 1px solid #dcebef; border-radius: 12px; padding: 18px 16px; }
  .p49-trip-secure i { color: #00808c; border: 1px solid #c8e3e9; border-radius: 50%; padding: 12px; font-size: 18px; }
  .p49-trip-secure strong { display: block; color: #007785; font-size: 14px; margin-bottom: 4px; }
  .p49-trip-secure span { display: block; color: #738398; font-size: 12px; line-height: 1.5; }
  .p49-page .p49-trip-complete .p49-back { display: block; color: #007985; background: transparent; border: 0; padding: 0; margin-bottom: 18px; font: 700 14px 'Sen',Arial,sans-serif; cursor: pointer; }
  body.p49-booking-in-view .p49-mobile-sticky-actions { display: none; }
}

body.p49-page #book-now .p49-form-heading h2 { font-family: 'Sen', Arial, sans-serif; font-weight: 800; }
body.p49-page #book-now .p49-time-option.is-active:not(.p49-sunset-option) > span { color: #fff; }

.p49-page .p49-form-summary { position: static; }

body.p49-page #book-now .p49-modern-form select.p49-mobile-guest-select { display: none !important; }
@media (max-width: 760px) {
 body.p49-page #book-now .p49-modern-form.p49-wizard select.p49-mobile-guest-select { display: block !important; }
 body.p49-page #book-now .p49-modern-form.p49-wizard input.p49-native-guests { display: none !important; }
}
