/* Booking success modal: a wider sheet, a real payment step, and an action row
   that never breaks a word in half. */
.success-modal.success-modal-v12{max-width:560px;text-align:left}
.success-modal.success-modal-v12>svg,
.success-modal.success-modal-v12>span{display:block;margin-inline:auto}
.success-modal.success-modal-v12>span{text-align:center}
.success-modal.success-modal-v12 h2{text-align:center;margin:8px 0 18px}

/* --- action row ---------------------------------------------------------- */
.v5-success-actions-v2113{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}
.v5-success-actions-v2113 .button{
  min-height:46px;padding:0 14px;font-size:11px;line-height:1.2;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  word-break:normal;overflow-wrap:normal;hyphens:none;
}
.v5-success-actions-v2113 .button svg{flex:none}
.v5-success-actions-v2113 .button--ghost-dark{color:var(--ink);background:#fffdf9;border:1px solid #ab905f6b}
.v5-success-actions-v2113 .button--ghost-dark:hover{border-color:var(--gold);background:#fff}
.v5-success-actions-v2113 .v5-success-done-v2113{grid-column:1/-1}

/* --- payment step -------------------------------------------------------- */
.booking-pay-v2113{margin:18px 0 4px;padding:18px;background:#f8f4ec;border:1px solid #ded5c4;border-radius:16px;text-align:left}
.booking-pay-head-v2113 span{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.16em}
.booking-pay-head-v2113 h3{margin:6px 0 16px;font:500 20px/1.3 Georgia,serif;color:var(--ink)}

.booking-pay-plans-v2113{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.booking-pay-plan-v2113{
  display:grid;gap:3px;padding:13px 14px;text-align:left;
  background:#fff;border:1px solid var(--line);border-radius:12px;cursor:pointer;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.booking-pay-plan-v2113:hover{border-color:var(--gold)}
.booking-pay-plan-v2113.is-active{border-color:var(--gold);box-shadow:0 0 0 2px #c9a35c40}
.booking-pay-plan-v2113 span{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.booking-pay-plan-v2113 b{font:500 21px Georgia,serif;color:var(--ink)}
.booking-pay-plan-v2113 small{color:var(--muted);font-size:11px;line-height:1.5}

.booking-pay-transfer-v2113{margin-top:16px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:12px}
.booking-pay-transfer-v2113>span{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.14em}
.booking-pay-transfer-v2113 p{margin:8px 0 0;font-size:14px;line-height:1.6;color:var(--ink)}
.booking-pay-transfer-v2113 b{font-weight:700}
.booking-pay-transfer-v2113 img{display:block;margin:12px auto 4px;max-width:190px;max-height:190px;object-fit:contain}
.booking-pay-transfer-v2113 small{display:block;margin-top:8px;color:var(--muted);font-size:11px;line-height:1.6}

.booking-pay-form-v2113{margin-top:16px;display:grid;gap:12px}
.booking-pay-grid-v2113{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.booking-pay-form-v2113 label{display:grid;gap:6px}
.booking-pay-form-v2113 label>span{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.booking-pay-form-v2113 label>span small{font-weight:600;letter-spacing:0;text-transform:none}
.booking-pay-form-v2113 input[type=number],
.booking-pay-form-v2113 input[type=text],
.booking-pay-form-v2113 input:not([type]),
.booking-pay-form-v2113 select,
.booking-pay-form-v2113 textarea{
  width:100%;min-height:44px;padding:10px 12px;color:var(--ink);background:#fff;
  border:1px solid var(--line);border-radius:10px;outline:none;font:inherit;
}
.booking-pay-form-v2113 textarea{min-height:64px;resize:vertical}
.booking-pay-form-v2113 :is(input,select,textarea):focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9a35c2b}

.booking-pay-drop-v2113{
  display:flex;align-items:center;gap:12px;padding:14px;cursor:pointer;
  background:#fff;border:1px dashed #c3a76a;border-radius:12px;
}
.booking-pay-drop-v2113.has-file{border-style:solid;border-color:var(--gold);background:#fffdf6}
.booking-pay-drop-v2113>svg{flex:none;width:24px;height:24px;color:#9c7739}
.booking-pay-drop-v2113>span{display:grid;gap:2px;min-width:0}
.booking-pay-drop-v2113 b{font-size:13px;word-break:break-word}
.booking-pay-drop-v2113 small{color:var(--muted);font-size:11px}
.booking-pay-drop-v2113 input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}

.booking-pay-total-v2113{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:10px;font-size:12px;color:var(--muted)}
.booking-pay-total-v2113 b{color:var(--ink);font-size:14px}
.booking-pay-error-v2113{display:flex;align-items:flex-start;gap:8px;margin:0;padding:11px 13px;background:#fdf1f1;border:1px solid #e5c3c3;border-radius:10px;color:#8c2f2f;font-size:12px;line-height:1.6}
.booking-pay-error-v2113>svg{flex:none;width:16px;height:16px;margin-top:1px}
.booking-pay-note-v2113{display:flex;align-items:flex-start;gap:8px;margin:0;color:var(--muted);font-size:11px;line-height:1.6}
.booking-pay-note-v2113>svg{flex:none;width:14px;height:14px;margin-top:2px}
.booking-pay-form-v2113 .button{min-height:50px}

.booking-pay-state-v2113{display:grid;justify-items:center;gap:8px;padding:22px 16px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:12px}
.booking-pay-state-v2113>svg{width:30px;height:30px;color:#9c7739}
.booking-pay-state-v2113 b{font-size:15px}
.booking-pay-state-v2113 p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.booking-pay-state-v2113.is-done>svg{color:#4f815d}
.booking-pay-state-v2113.is-error{background:#fdf1f1;border-color:#e5c3c3}
.booking-pay-state-v2113.is-error>svg{color:#8c2f2f}
.booking-pay-summary-v2113{display:grid;grid-template-columns:auto auto;gap:4px 18px;justify-content:center;margin:6px 0 0}
.booking-pay-summary-v2113 dt{color:var(--muted);font-size:11px}
.booking-pay-summary-v2113 dd{margin:0;font-weight:700;font-size:13px}
.booking-pay-due-v2113{display:block;margin-top:10px;color:var(--muted);font-size:11px;line-height:1.6;text-align:center}

@media (max-width:560px){
  .v5-success-actions-v2113{grid-template-columns:1fr}
  .booking-pay-plans-v2113{grid-template-columns:1fr}
  .booking-pay-grid-v2113{grid-template-columns:1fr}
  .booking-pay-v2113{padding:14px}
  .booking-pay-total-v2113{flex-direction:column;gap:4px}
}

/* --- payment portal (/payment-proof) plan chips --------------------------- */
.payment-plan-row-v2113{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}
.payment-plan-v2113{display:grid;gap:3px;padding:13px 14px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}
.payment-plan-v2113:hover{border-color:var(--gold)}
.payment-plan-v2113.is-active{border-color:var(--gold);box-shadow:0 0 0 2px #c9a35c40}
.payment-plan-v2113 span{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.payment-plan-v2113 b{font:500 20px Georgia,serif;color:var(--ink)}
.payment-plan-v2113 small{color:var(--muted);font-size:11px;line-height:1.5}
@media (max-width:560px){.payment-plan-row-v2113{grid-template-columns:1fr}}

/* Booking summary first, payment step next, follow-up instructions last. */
.success-modal-v12 .journey-receipt dl{margin:0}
.success-modal-v12 .journey-receipt h3{margin-top:18px}
.booking-total-line-v2113{margin:12px 0 0;padding:12px 14px;background:#f3efe6;border:1px solid var(--line);border-radius:10px;font-size:13px;color:var(--ink);text-align:center}
.booking-pay-sent-v2113{color:#3d6b4b !important;font-weight:700}

/* The confirmation step closes the loop: proof uploaded, then a message to the team. */
.booking-pay-confirm-v2116{margin-top:6px}
.booking-pay-step-v2116{display:block;margin-top:2px;color:var(--muted);font-size:11px;line-height:1.6}
