.checkout-wrap{max-width:1100px;margin:auto;padding:0 24px 64px}.checkout-wrap .back{padding:20px 0}.order-heading{padding:24px 0 28px}.order-heading h1{font-size:2rem;margin:8px 0}.order-kicker{color:var(--gold);letter-spacing:.12em;font-size:.75rem;overflow-wrap:anywhere}.checkout-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:28px;align-items:start}.checkout-layout aside{position:sticky;top:24px}.order-panel{border:1px solid var(--line);background:white;padding:26px;border-radius:8px;margin-bottom:20px;min-width:0;overflow-wrap:anywhere}.order-panel h2{font-size:1.22rem;margin-bottom:16px}.order-panel hr{border:0;border-top:1px solid var(--line);margin:22px 0}.order-summary .english-name{font-size:.9rem}.order-summary h3{font-size:1rem}.order-dates{margin-top:14px;font-size:1.1rem}.order-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;margin-top:16px}.order-fields .field{min-width:0}.order-fields .field:last-child:nth-child(odd){grid-column:1/-1}.guest-entry{padding-top:16px;margin-top:16px;border-top:1px solid var(--line)}.guest-entry h3{font-size:.9rem}.payment-choices{display:grid;gap:12px}.payment-choice{display:flex;gap:12px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:6px;cursor:pointer}.payment-choice:has(input:checked){border-color:var(--gold);background:#f2f7f4}.payment-choice input{accent-color:var(--ink);flex-shrink:0}.payment-choice strong{font-size:.94rem}.payment-choice small{display:block;color:var(--muted);font-size:.75rem;margin-top:4px}.amount-line{display:flex;justify-content:space-between;gap:12px;margin:15px 0;font-size:.875rem}.amount-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:18px;margin:16px 0 24px;gap:12px}.amount-total strong{font-size:1.9rem;font-family:var(--sans);white-space:nowrap}.order-terms{font-size:.875rem;background:var(--wash);padding:14px;margin:18px 0;line-height:1.9}.terms-check{display:flex;align-items:flex-start;gap:12px;font-size:.875rem;margin-bottom:22px}.terms-check input{margin-top:5px;flex-shrink:0;accent-color:var(--ink)}.submit-note{text-align:center;margin-top:12px}.preview-banner{background:#fff4f2;border:1px solid #e8c8c0;padding:12px 16px;font-size:.875rem;border-radius:5px;margin-top:16px;color:#965144}.order-status-row{display:flex;gap:8px;flex-wrap:wrap}.status-pill{display:inline-flex;padding:5px 12px;border-radius:4px;background:#edf5f0;color:#46695a;font-size:.875rem}.status-pill.warning{background:#fff4f2;color:#965144}.order-facts{margin:20px 0;font-size:.875rem}.order-facts>div{display:grid;grid-template-columns:92px 1fr;gap:12px;margin:13px 0}.order-facts dt{color:var(--muted)}.order-facts dd{margin:0;overflow-wrap:anywhere}.order-panel>.wide+ .wide{margin-top:12px}.confirmation-code{padding:18px;background:#edf5f0;margin:18px 0;border-radius:5px}.confirmation-code small{display:block;color:var(--muted)}.confirmation-code strong{display:block;font-size:1.5rem;letter-spacing:.08em;overflow-wrap:anywhere}.guest-line{font-size:.875rem;border-bottom:1px solid var(--line);padding:10px 0}.receipt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.receipt-grid img{width:100%;height:110px;object-fit:contain;background:var(--wash);border:1px solid var(--line)}.receipt-grid small{font-size:.7rem;color:var(--muted)}.mock-payment{padding:18px;background:#fff5dc;border:1px dashed #b98e3f;margin-top:20px}.mock-payment p{font-size:.875rem;margin:12px 0}.mock-payment button+button{margin-top:10px}.customer-order{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid var(--line);padding:24px;margin:16px 0;border-radius:8px;background:white}.customer-order h2{font-size:1.15rem;margin:8px 0}.customer-order strong{white-space:nowrap;font-family:Georgia,serif;font-size:1.25rem}.admin-order-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-order-table th,.admin-order-table td{text-align:left;padding:16px 12px;border-bottom:1px solid var(--line);vertical-align:top}.admin-order-table th{color:var(--muted);font-weight:400}.admin-order-table small{display:block;color:var(--muted);font-size:.75rem;margin-top:5px}.admin-order-scroll{overflow:auto}.order-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.order-filter input{min-height:44px;border:1px solid var(--line);padding:10px 14px;border-radius:5px;min-width:0;flex:1}.order-filter select{border:1px solid var(--line);border-radius:5px;padding:10px}.admin-order-detail{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px}.admin-order-detail .panel{padding:24px}.admin-order-detail .order-terms{white-space:pre-line}.admin-order-detail .order-facts>div{grid-template-columns:110px 1fr}.order-action-form{margin-top:20px}.order-action-form textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:5px;min-height:96px}.order-history>div{padding:14px 0;border-bottom:1px solid var(--line);font-size:.875rem}.order-history small{display:block;color:var(--muted)}.settings-warning{padding:15px;background:#fff5dc;font-size:.875rem;margin-bottom:20px;border-radius:5px}
@media(max-width:780px){.checkout-wrap{padding:0 18px 40px}.checkout-layout,.admin-order-detail{grid-template-columns:minmax(0,1fr);gap:0}.checkout-layout aside{position:static}.order-heading h1{font-size:1.55rem}.order-panel{padding:20px}.order-fields{gap:0 12px}.customer-order{padding:18px;align-items:flex-start;flex-direction:column;gap:12px}.customer-order strong{align-self:flex-end}.admin-order-table{min-width:690px}.admin-order-detail .panel{padding:18px}.order-facts>div{grid-template-columns:80px 1fr;gap:8px}.order-filter select{width:100%}.order-filter input{flex-basis:100%}}

.primary-guest-fields{grid-template-columns:minmax(0,1fr)}.phone-fields{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:0 12px}.phone-fields .field:last-child:nth-child(odd){grid-column:1/-1}.phone-fields [hidden]{display:none}@media(max-width:420px){.phone-fields{grid-template-columns:minmax(0,1fr)}}

/* Customer-facing reservation design; administrator styles remain separate. */
.hotel-site .checkout-wrap { max-width: 1180px; width: calc(100% - 80px); padding: 0 0 64px; margin: 0 auto; }
.hotel-site .checkout-wrap .back { padding: 19px 0 13px; }
.hotel-site .reservation-steps { display: flex; justify-content: center; align-items: center; list-style: none; padding: 16px 0 4px; margin: 0; gap: 34px; color: #a6a897; font-size: .75rem; }
.hotel-site .reservation-steps li { display: flex; align-items: center; gap: 8px; position: relative; }
.hotel-site .reservation-steps li + li::before { content: ''; position: absolute; width: 17px; height: 1px; left: -26px; background: #d1d3c4; }
.hotel-site .reservation-steps li > span { display: inline-flex; align-items: center; justify-content: center; width: 23px; height: 23px; border-radius: 50%; border: 1px solid #dce3df; font-size: .65rem; }
.hotel-site .reservation-steps .complete { color: #7d916b; }
.hotel-site .reservation-steps .complete > span { background: #e8f2ed; border: 0; }
.hotel-site .reservation-steps .current { color: var(--ink); }
.hotel-site .reservation-steps .current > span { background: var(--ink); color: #fff; border: 0; }
.hotel-site .order-heading { padding: 25px 0 29px; }
.hotel-site .order-heading h1 { font-size: 1.8rem; font-weight: 500; letter-spacing: .025em; margin: 0; }
.hotel-site .order-heading .notice { margin-top: 12px; }
.hotel-site .order-heading .order-kicker { margin-bottom: 12px; }
.hotel-site .checkout-layout { grid-template-columns: minmax(0, .76fr) minmax(0, 1fr); gap: 30px; }
.hotel-site .checkout-layout aside { top: 25px; }
.hotel-site .order-panel { padding: 30px; background: var(--paper); border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 6px 18px #203b3203; margin-bottom: 23px; }
.hotel-site .order-panel h2 { font-size: 1.15rem; font-weight: 500; margin-bottom: 22px; }
.hotel-site .order-panel hr { margin: 25px 0; }
.hotel-site .order-summary { padding: 0; overflow: hidden; }
.hotel-site .order-hotel-image { width: 100%; height: 188px; }
.hotel-site .order-summary-body { padding: 27px; }
.hotel-site .order-summary h2 { font-size: 1.1rem; margin: 7px 0 0; }
.hotel-site .order-summary .english-name { font-size: .875rem; color: #6c7570; margin-top: 7px; }
.hotel-site .order-summary h3 { font-size: .875rem; font-weight: 500; margin-top: 20px; padding-top: 19px; border-top: 1px solid var(--line); }
.hotel-site .order-kicker { color: var(--gold); font-size: .6rem; letter-spacing: .13em; }
.hotel-site .order-stay-facts { padding: 9px 0 18px; margin-top: 5px; }
.hotel-site .order-stay-facts > p { display: flex; align-items: flex-start; gap: 10px; font-size: .8125rem; margin-top: 13px; }
.hotel-site .order-stay-facts .ui-icon { width: 17px; height: 17px; flex-basis: 17px; color: var(--gold); margin-top: 3px; }
.hotel-site .order-stay-facts small { font-size: .67rem; display: block; color: var(--muted); margin-top: 5px; }
.hotel-site .summary-inclusions { border-top: 1px solid var(--line); }
.hotel-site .summary-inclusions > summary { padding: 17px 0; font-size: .75rem; color: #737a65; cursor: pointer; list-style: none; display: flex; justify-content: space-between; }
.hotel-site .summary-inclusions > summary::-webkit-details-marker { display: none; }
.hotel-site .summary-inclusions > summary > span { color: var(--gold); font-size: 1rem; line-height: 1.2; }
.hotel-site .summary-inclusions[open] > summary > span { transform: rotate(45deg); }
.hotel-site .summary-inclusions .inclusions { margin: 0 0 15px; }
.hotel-site .order-address { display: flex; gap: 9px; padding-top: 17px; border-top: 1px solid var(--line); font-size: .65rem; line-height: 1.85; color: #78817c; }
.hotel-site .order-address .ui-icon { width: 15px; height: 15px; flex-basis: 15px; margin-top: 2px; }
.hotel-site .section-number { display: inline-block; color: var(--gold); font-family: var(--serif); font-weight: 400; font-size: .875rem; margin-right: 12px; letter-spacing: .04em; }
.hotel-site .order-fields { margin-top: 22px; }
.hotel-site .primary-guest-fields { grid-template-columns: 1fr; }
.hotel-site .primary-guest-fields > .field:first-child { margin-bottom: 22px; }
.hotel-site .phone-fields { grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: 0 14px; }
.hotel-site .guest-panel > .notice { font-size: .65rem; }
.hotel-site .payment-choices { gap: 11px; }
.hotel-site .payment-choice { position: relative; display: flex; padding: 18px 44px 18px 17px; gap: 13px; border-radius: 7px; min-height: 82px; border-color: #dce3df; background: #ffffff; }
.hotel-site .payment-choice input { position: absolute; top: 24px; right: 18px; accent-color: var(--ink); }
.hotel-site .payment-choice:has(input:checked) { border-color: #708168; background: #f1f7f4; box-shadow: 0 0 0 1px #70816810; }
.hotel-site .payment-symbol { display: flex; align-items: center; justify-content: center; width: 39px; height: 39px; flex-shrink: 0; color: var(--gold); background: #f0f4f2; border-radius: 7px; font-family: var(--serif); font-size: 1.35rem; }
.hotel-site .payment-symbol .ui-icon { width: 22px; height: 22px; }
.hotel-site .payment-choice strong { font-size: .8125rem; font-weight: 500; }
.hotel-site .payment-choice small { font-size: .65rem; margin-top: 4px; color: #6c7570; }
.hotel-site #checkout-total { margin: 25px 0 0; padding: 7px 18px 0; border: 1px solid #dfe7e2; border-radius: 7px; background: #f5f8f6; }
.hotel-site .amount-line { color: #78806c; font-size: .8125rem; margin-block: 15px; }
.hotel-site .amount-line strong { color: var(--ink); font-weight: 500; }
.hotel-site .amount-total { border-color: #e3e7e5; padding-top: 17px; margin: 15px 0 19px; font-size: .8125rem; }
.hotel-site .amount-total strong { font-family: var(--sans); font-size: 1.85rem; font-weight: 600; letter-spacing: -.02em; font-variant-numeric: lining-nums tabular-nums; }
.hotel-site .order-terms { background: none; padding: 0; color: #6c7570; font-size: .6875rem; line-height: 1.95; margin: 20px 0; }
.hotel-site .cancellation-note { border-left: 2px solid #b8a16f; background: #f7f9f8; padding: 14px 17px; margin: 22px 0; }
.hotel-site .cancellation-note h3 { font-size: .75rem; font-weight: 500; margin-bottom: 6px; }
.hotel-site .cancellation-note .notice { font-size: .6875rem; color: #6c7570; }
.hotel-site .terms-check { font-size: .7rem; line-height: 1.85; gap: 10px; color: #6a735f; margin-top: 25px; margin-bottom: 25px; }
.hotel-site .terms-check input { margin-top: 4px; width: 14px; height: 14px; }
.hotel-site .submit-note { color: #78817c; font-size: .62rem; line-height: 1.9; }
.hotel-site .order-status-panel { border-top: 3px solid var(--gold); }
.hotel-site .order-status-row { gap: 8px; }
.hotel-site .status-pill { background: #edf5f0; color: #46695a; border-radius: 4px; padding: 5px 10px; font-size: .6875rem; }
.hotel-site .status-pill.warning { background: #fff4f2; color: #965144; }
.hotel-site .booking-confirmation-notice { margin: 18px 0 0; padding: 16px 18px; border: 1px solid #e6d6af; border-left: 3px solid var(--gold); border-radius: 8px; background: #fff9ed; color: #654d27; font-size: .875rem; font-weight: 500; line-height: 1.85; }
.hotel-site .order-facts { font-size: .8125rem; margin: 25px 0; }
.hotel-site .order-facts > div { margin: 17px 0; }
.hotel-site .order-facts dt { color: #78817c; }
.hotel-site .confirmation-code { background: var(--ink); color: #ffffff; padding: 21px; border-radius: 8px; }
.hotel-site .confirmation-code small { color: #b8c2a8; font-size: .65rem; }
.hotel-site .confirmation-code strong { font-family: var(--serif); font-size: 1.7rem; font-weight: 400; margin-top: 7px; }
.hotel-site .guest-line { font-size: .8125rem; }
.hotel-site .orders-list-heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 42px 0 28px; }
.hotel-site .orders-list-heading .secondary { font-size: .75rem; }
.hotel-site .customer-orders { display: grid; gap: 19px; }
.hotel-site .customer-order { display: flex; padding: 0; margin: 0; gap: 24px; overflow: hidden; background: var(--paper); border-radius: 10px; min-height: 160px; transition: border-color .2s, box-shadow .2s; }
.hotel-site .customer-order:hover { border-color: #b8c8bf; box-shadow: 0 8px 24px #203b320a; }
.hotel-site .customer-order > img { width: 170px; height: 100%; min-height: 175px; align-self: stretch; }
.hotel-site .customer-order-body { flex: 1; padding: 23px 0; min-width: 0; }
.hotel-site .customer-order-body .order-status-row { margin-top: 14px; }
.hotel-site .customer-order h2 { font-size: 1rem; font-weight: 500; }
.hotel-site .customer-order-price { padding: 24px; min-width: 140px; text-align: right; }
.hotel-site .customer-order-price > strong { font-size: 1.8rem; font-weight: 400; }
.hotel-site .customer-order-price > span { display: flex; align-items: center; justify-content: flex-end; gap: 8px; font-size: .68rem; color: var(--gold); margin-top: 14px; }
.hotel-site .customer-order-price .ui-icon { width: 16px; height: 16px; }
.hotel-site .orders-empty { padding: 72px 25px; text-align: center; background: #ffffff; border-style: dashed; box-shadow: none; }
.hotel-site .empty-symbol { display: inline-flex; padding: 18px; background: #f0f4f2; border-radius: 50%; margin-bottom: 24px; color: var(--gold); }
.hotel-site .empty-symbol .ui-icon { width: 31px; height: 31px; }
.hotel-site .orders-empty h2 { margin-bottom: 10px; font-size: 1.1rem; }
.hotel-site .orders-empty .primary { margin-top: 25px; }
.hotel-site .preview-banner { border-color: #e8c8c0; background: #fff4f2; color: #965144; border-radius: 5px; font-size: .75rem; margin: 7px 0; }
@media (max-width: 780px) {
  .hotel-site .checkout-wrap { width: calc(100% - 36px); padding: 0 0 38px; }
  .hotel-site .checkout-wrap .back { padding: 16px 0 12px; }
  .hotel-site .reservation-steps { gap: 24px; padding-top: 18px; font-size: .65rem; }
  .hotel-site .reservation-steps li { gap: 6px; }
  .hotel-site .reservation-steps li + li::before { width: 11px; left: -18px; }
  .hotel-site .reservation-steps li > span { width: 20px; height: 20px; font-size: .6rem; }
  .hotel-site .order-heading { padding: 22px 0 24px; }
  .hotel-site .order-heading h1 { font-size: 1.5rem; }
  .hotel-site .checkout-layout { display: flex; flex-direction: column; gap: 0; }
  .hotel-site .checkout-layout > aside, .hotel-site .checkout-layout > form, .hotel-site .checkout-layout > div { width: 100%; }
  .hotel-site .order-panel { padding: 22px; border-radius: 8px; margin-bottom: 18px; }
  .hotel-site .order-panel h2 { font-size: 1.04rem; margin-bottom: 20px; }
  .hotel-site .order-summary { display: block; padding: 0; }
  .hotel-site .order-hotel-image { height: 132px; }
  .hotel-site .order-summary-body { padding: 20px; }
  .hotel-site .order-summary h2 { margin-top: 7px; margin-bottom: 0; }
  .hotel-site .order-summary h3 { font-size: .8125rem; margin-top: 15px; padding-top: 15px; }
  .hotel-site .order-summary .english-name { font-size: .75rem; }
  .hotel-site .order-stay-facts { padding-bottom: 15px; }
  .hotel-site .order-stay-facts > p { font-size: .75rem; margin-top: 10px; }
  .hotel-site .summary-inclusions > summary { padding-block: 13px; }
  .hotel-site .order-address { display: none; }
  .hotel-site .primary-guest-fields { margin-top: 19px; }
  .hotel-site .phone-fields { grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); gap: 0 10px; }
  .hotel-site .payment-choice { padding: 15px 35px 15px 12px; gap: 10px; min-height: 78px; }
  .hotel-site .payment-choice input { right: 13px; top: 22px; }
  .hotel-site .payment-symbol { width: 34px; height: 34px; }
  .hotel-site .payment-choice strong { font-size: .75rem; }
  .hotel-site .payment-choice small { font-size: .6rem; line-height: 1.7; }
  .hotel-site .amount-total strong { font-size: 1.6rem; }
  .hotel-site .cancellation-note { padding: 13px; }
  .hotel-site .orders-list-heading { padding-top: 28px; align-items: flex-start; gap: 14px; }
  .hotel-site .orders-list-heading .notice { font-size: .6875rem; }
  .hotel-site .orders-list-heading .secondary { font-size: .65rem; padding: 9px 12px; min-height: 40px; gap: 6px; }
  .hotel-site .customer-order { display: grid; grid-template-columns: 86px minmax(0, 1fr); gap: 0 15px; align-items: stretch; }
  .hotel-site .customer-order > img { width: 86px; height: 100%; min-height: 150px; grid-row: 1 / 3; }
  .hotel-site .customer-order-body { padding: 18px 15px 0 0; }
  .hotel-site .customer-order h2 { font-size: .8125rem; }
  .hotel-site .customer-order .notice { font-size: .65rem; line-height: 1.8; }
  .hotel-site .customer-order-body .order-status-row { margin-top: 10px; }
  .hotel-site .customer-order-price { min-width: 0; padding: 16px 15px 18px 0; grid-column: 2; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
  .hotel-site .customer-order-price > strong { font-size: 1.35rem; }
  .hotel-site .customer-order-price > span { margin: 0; font-size: .6rem; }
  .hotel-site .orders-empty { padding: 50px 24px; }
}
@media (max-width: 360px) {
  .hotel-site .phone-fields { grid-template-columns: 1fr; }
  .hotel-site .order-panel { padding: 18px; }
  .hotel-site .order-summary { padding: 0; }
}

/* Email lookup and customer order access across devices. */
.hotel-site .order-lookup-panel { background: var(--paper); }
.hotel-site .order-lookup-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: end; }
.hotel-site .order-lookup-form .field { margin-bottom: 0; }
.hotel-site .order-lookup-form .primary { min-height: 48px; }
@media (min-width: 781px) {
  html[data-site="cruise"] .hotel-site .order-lookup-form { grid-template-columns: repeat(2, minmax(0, 1fr)) auto; }
}
.hotel-site .lookup-message { margin: 0 0 18px; }
.hotel-site .lookup-message .notice + .notice { margin-top: 8px; }
.hotel-site .customer-order.no-image .customer-order-body { padding-left: 24px; }
@media (max-width: 780px) {
  .hotel-site .order-lookup-form { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .hotel-site .order-lookup-form .primary { width: 100%; }
  .hotel-site .customer-order.no-image { grid-template-columns: minmax(0, 1fr); }
  .hotel-site .customer-order.no-image .customer-order-body { padding-left: 20px; }
  .hotel-site .customer-order.no-image .customer-order-price { grid-column: 1; padding-left: 20px; }
}

.hotel-site .amount-line strong, .hotel-site .amount-total strong, .hotel-site .customer-order-price > strong { font-family: var(--sans); font-style: normal; letter-spacing: 0; font-variant-numeric: lining-nums tabular-nums; }

.payment-test-product { max-width: 620px; margin: 0 auto; }

.guest-name-notice{padding:14px 16px;border:1px solid #c98074;border-radius:8px;background:#fff5f3;color:#963e33;font-size:14px;line-height:1.7;margin:20px 0 12px}.primary-guest-fields .field:has(input[name=lastName]),.primary-guest-fields .field:has(input[name=firstName]){grid-column:auto}.primary-guest-fields .field:has(input[name=email]){grid-column:1/-1}

.hotel-site .primary-guest-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.hotel-site .primary-guest-fields>.field:first-child{margin-bottom:0}.hotel-site .primary-guest-fields>.phone-fields{grid-column:1/-1}@media(max-width:500px){.hotel-site .primary-guest-fields{grid-template-columns:minmax(0,1fr)}}

.payment-countdown{margin:18px 0 22px;padding:17px 19px;border:1px solid #d3dfd9;border-radius:10px;background:#f1f6f3}.payment-countdown>div{display:flex;align-items:center;justify-content:space-between;gap:16px}.payment-countdown span{font-size:14px;font-weight:600}.payment-countdown strong{font-size:30px;font-family:var(--sans);font-variant-numeric:tabular-nums;letter-spacing:.04em;line-height:1.2}.payment-countdown p{font-size:13px;line-height:1.7;margin:9px 0 0;color:#52695d}.payment-countdown.urgent{border-color:#dfb8ad;background:#fff5f1;color:#9c3f2e}.payment-countdown.urgent p{color:#9c3f2e}
.checkout-promotion{padding:18px 0;border-bottom:1px solid #e2e7e4;margin-bottom:12px}
.checkout-promotion>label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}
.promotion-input-row{display:flex;gap:9px;align-items:center}.promotion-input-row input{min-width:0;flex:1;width:0;border:1px solid #ccd8d1;border-radius:7px;padding:12px;font:inherit;letter-spacing:.6px;text-transform:uppercase}
.promotion-input-row button{flex:none;padding:11px 15px}.checkout-promotion p{margin:9px 0 0;font-size:13px}
.promotion-success,.promotion-discount{color:#aa303a}.promotion-discount strong{font-weight:600}
.promotion-input-row [hidden],#promotion-release-check[hidden]{display:none}
@media(max-width:450px){.promotion-input-row{gap:6px}.promotion-input-row button{padding:11px 10px}.promotion-input-row input{padding:11px}}

/* Passport fields and records belong only to flight/hotel passengers. */
.flight-travellers .order-fields>*,.flight-passenger-record{min-width:0}
.flight-passenger-record{padding:12px 0;border-bottom:1px solid var(--line)}
.flight-passenger-record h4{overflow-wrap:anywhere}
@media(max-width:600px){.flight-travellers .order-fields{grid-template-columns:minmax(0,1fr)}.flight-travellers .flight-passenger{padding:12px}.flight-travellers input,.flight-travellers select{min-width:0;width:100%}}
/* Cruise pilot only; hotel and flight checkout logic and layout remain intact. */
.cruise-quote-clock{border:1px solid #ddd2b9;border-radius:8px;padding:16px;background:#faf7ef;margin-bottom:22px;font-size:13px;line-height:1.8}.cruise-quote-clock .secondary{margin:10px 0;font-size:12px;min-height:40px}.cruise-quote-clock .notice{font-size:11px;margin:0}
