/* ==========================================================================
   Reserve / Payment pages — extends new_theme_design.css, reuses its variables
   ========================================================================== */

.pay-hero{padding:44px 0 40px;}
.pay-back{color:rgba(255,255,255,.55);text-decoration:none;font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;margin-bottom:16px;}
.pay-back:hover{color:var(--gold-soft);}

.pay-wrap{padding:56px 0 80px;}
.pay-card{max-width:640px;margin:0 auto 24px;background:#fff;border:1px solid var(--line-soft);border-radius:14px;padding:32px;box-shadow:var(--sh);}
.pay-card h3{font-family:var(--sans);font-weight:800;font-size:19px;color:var(--navy);margin-bottom:6px;}
.pay-card .card-sub{font-size:13px;color:var(--muted);margin-bottom:22px;}

.ticket-summary{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line-soft);}
.ticket-summary-name{font-family:var(--sans);font-weight:800;font-size:20px;color:var(--navy);}
.ticket-summary-desc{font-size:13px;color:var(--muted);margin-top:4px;max-width:340px;}
.ticket-summary-price{font-family:var(--sans);font-weight:700;font-size:18px;color:var(--gold-deep);white-space:nowrap;margin-left:16px;}

.field-row{margin-bottom:18px;}
.field-row label{display:block;font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.03em;color:var(--navy);margin-bottom:8px;}
.field-row input{width:100%;padding:12px 14px;border:1px solid var(--line-soft);border-radius:9px;font-family:var(--sans);font-size:14px;color:var(--ink);background:var(--paper);}
.field-row input:focus{outline:none;border-color:var(--gold);background:#fff;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}

.qty-control{display:flex;align-items:center;gap:14px;}
.qty-btn{width:38px;height:38px;border:1px solid var(--line-soft);background:var(--cream);border-radius:8px;font-size:18px;color:var(--navy);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s;}
.qty-btn:hover{border-color:var(--gold);color:var(--gold-deep);}
.qty-value{font-family:var(--sans);font-weight:700;font-size:16px;min-width:24px;text-align:center;}

.total-display{background:var(--cream);padding:18px 20px;border-radius:10px;margin-top:20px;display:flex;justify-content:space-between;align-items:center;}
.total-label{font-size:13px;color:var(--muted);}
.total-amount{font-family:var(--sans);font-weight:800;font-size:26px;color:var(--navy);}

.payment-options{display:grid;gap:12px;}
.payment-option{border:1px solid var(--line-soft);border-radius:10px;padding:16px 18px;cursor:pointer;transition:.2s;display:flex;align-items:center;gap:14px;}
.payment-option:hover{border-color:var(--gold);}
.payment-option.selected{border-color:var(--gold);background:rgba(201,162,75,.06);}
.payment-radio{width:18px;height:18px;border:2px solid #C9BEB2;border-radius:50%;position:relative;flex-shrink:0;}
.payment-option.selected .payment-radio{border-color:var(--gold-deep);}
.payment-option.selected .payment-radio::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:9px;height:9px;background:var(--gold-deep);border-radius:50%;}
.payment-option-name{font-size:14px;font-weight:700;color:var(--navy);}
.payment-option-desc{font-size:12px;color:var(--muted);}

.pay-error{color:var(--crimson);font-size:12px;margin-top:6px;display:none;}
.pay-terms{text-align:center;font-size:12px;color:var(--muted);margin-top:16px;max-width:640px;margin-left:auto;margin-right:auto;}
.pay-terms a{color:var(--gold-deep);text-decoration:underline;}

.confirm-button{width:100%;justify-content:center;}
.confirm-button:disabled{opacity:.6;cursor:not-allowed;}

@media(max-width:520px){
  .form-grid{grid-template-columns:1fr;}
  .ticket-summary{flex-direction:column;gap:10px;}
  .ticket-summary-price{margin-left:0;}
}
