.payment-wrap{max-width:1120px}.payment-heading{max-width:650px;margin-bottom:42px}.payment-heading h1{font-size:clamp(32px,3.5vw,47px);font-weight:500;letter-spacing:-.04em;line-height:1.2;margin-block:20px}.payment-heading>p:last-child{font-size:14px;line-height:1.85;color:#aaa}.payment-loading,.payment-error,.payment-noscript{font-size:13px;line-height:1.9;color:#b6b6b1}.payment-error{max-width:600px;padding:28px;border:1px solid #363636;border-radius:12px;background:#111}.payment-error .text-link{font-size:12px;margin-top:23px}.payment-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:54px;align-items:start}.payment-grid[hidden],.payment-page [hidden]{display:none}.payment-summary{padding-top:8px}.payment-summary-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:25px;border-bottom:1px solid #333}.payment-summary h2{font-size:25px;font-weight:500;letter-spacing:-.025em;line-height:1.35}.payment-reference{font-size:10px;letter-spacing:.04em;color:#92928e;overflow-wrap:anywhere}.payment-summary h3{font-size:23px;font-weight:500;letter-spacing:-.03em;line-height:1.4;margin-top:28px}.payment-vehicle{font-size:12px;color:#a4a4a0;margin-top:9px;line-height:1.8}.payment-breakdown{margin-top:28px}.payment-line{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:13px 0;border-bottom:1px solid #292929;font-size:12px;line-height:1.75;color:#aaa}.payment-line>span:last-child{white-space:nowrap;color:#d0d0ca}.payment-total{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-top:23px;font-size:12px;line-height:1.7;color:#c5c5bf}.payment-total strong{font-weight:500;font-size:19px;text-align:right;color:#efefea}.payment-estimate-note{max-width:430px;font-size:11px;line-height:1.9;color:#90908c;margin-top:17px}.payment-card{padding:30px;background:linear-gradient(140deg,#1b1b1b,#101010);border:1px solid #444;border-radius:15px;box-shadow:0 20px 50px #0003}.payment-state{font-size:9px;color:#8d8d88;letter-spacing:.12em;line-height:1.8;margin-bottom:23px}.payment-card h2{font-size:15px;font-weight:400;letter-spacing:0;color:#bdbdb7;line-height:1.5}.payment-amount{display:block;font-size:43px;letter-spacing:-.045em;line-height:1.2;font-weight:500;margin-top:9px;color:#f3f3ee}.payment-credit-note{font-size:11px;color:#92928d;line-height:1.8;margin-top:12px}.payment-balance{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid #3a3a3a;padding-top:20px;margin-top:23px;font-size:11px;line-height:1.8;color:#aaa}.payment-balance strong{font-size:15px;font-weight:400;white-space:nowrap;color:#dbdbd6}.payment-status-note{font-size:12px;line-height:1.9;margin-top:23px;color:#b9b9b1}.payment-consent{display:flex;align-items:flex-start;gap:11px;margin-top:25px}.payment-consent input{width:17px;height:17px;margin:3px 0 0;flex-shrink:0;accent-color:#ededeb}.payment-consent input:focus-visible{outline:2px solid #ddd;outline-offset:4px}.payment-consent label{font-size:11px;line-height:1.85;color:#c4c4bc;cursor:pointer}.payment-feedback{font-size:11px;line-height:1.8;color:#e4beb5;margin-top:14px}.payment-feedback:empty{display:none}.payment-card .button{width:100%;font-size:11px;min-height:50px;margin-top:24px;text-transform:none;letter-spacing:.025em}.payment-handoff-note{text-align:center;font-size:10px;line-height:1.8;color:#898985;margin-top:14px}.payment-refresh{font-size:11px;margin-top:27px}.payment-refresh:disabled{opacity:.5;cursor:wait}.payment-booking-link{display:block;font-size:10px;line-height:1.9;color:#8c8c88;margin-top:18px;text-decoration:underline;text-underline-offset:4px}.payment-grid[data-status=paid] .payment-card{border-color:#777}.payment-grid[data-status=paid] .payment-state{color:#d1d1c9}
@media(max-width:900px){.payment-grid{grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:32px}.payment-card{padding:26px}.payment-summary-header{align-items:flex-start;flex-direction:column;gap:12px}.payment-summary h3{font-size:21px}}
@media(max-width:700px){.payment-heading{margin-bottom:30px}.payment-grid{grid-template-columns:1fr;gap:33px}.payment-summary-header{flex-direction:row;align-items:center}.payment-card{padding:29px}.payment-summary h3{font-size:22px}.payment-estimate-note{max-width:none}.payment-summary h2{font-size:24px}}
@media(max-width:400px){.payment-heading h1{font-size:32px}.payment-heading>p:last-child{font-size:13px}.payment-card{padding:25px 21px}.payment-amount{font-size:39px}.payment-summary-header{flex-direction:column;align-items:flex-start;gap:9px}.payment-total{gap:15px}.payment-total strong{font-size:18px}.payment-line{font-size:11px;gap:15px}.payment-consent label{font-size:11px}.payment-status-note{font-size:12px}}
.payment-billing{border:0;padding:0;margin:27px 0 0;min-width:0}.payment-billing legend{font-size:12px;line-height:1.8;font-weight:500;padding:0;margin-bottom:17px;color:#d8d8d0}.payment-billing-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.payment-billing .field{min-width:0;margin-bottom:17px}.payment-billing .field label{font-size:10px;line-height:1.7;color:#aaa;display:block;margin-bottom:7px}.payment-billing .field input,.payment-billing .field select{width:100%;min-height:46px;background:#151515;border:1px solid #454541;border-radius:4px;padding:11px;font-size:14px;color:#e9e9e1}.payment-billing .field input:focus,.payment-billing .field select:focus{outline:2px solid #b7b7ad;outline-offset:2px;border-color:#b7b7ad}.square-card-area{margin-top:7px}.square-card-area h3{font-size:12px;line-height:1.8;font-weight:500;letter-spacing:0;color:#d8d8d0;margin-bottom:13px}.square-card-loading{font-size:11px;line-height:1.8;color:#aaa;margin:0 0 14px}.square-card-loading[hidden]{display:none}#square-card-container{min-height:0}.payment-consent input[aria-invalid=true]{outline:2px solid #d4a69a;outline-offset:3px}
@media(max-width:700px){.payment-billing .field input,.payment-billing .field select{font-size:16px;min-height:49px}.payment-billing .field label{font-size:11px}}
.payment-policy{border-block:1px solid #3b3b37;margin-top:19px}.payment-policy summary{font-size:11px;line-height:1.8;padding:16px 0;cursor:pointer;color:#d2d2ca}.payment-policy summary:focus-visible{outline:2px solid #bbb;outline-offset:4px}.payment-policy-body{padding:0 0 20px}.payment-policy-body h3{font-size:12px;line-height:1.7;font-weight:500;letter-spacing:0;margin:20px 0 9px;color:#dddcd5}.payment-policy-body>h3{font-size:15px;margin-top:3px}.payment-policy-body p{font-size:11px;line-height:1.9;color:#b4b4ab;margin:0}.payment-policy-body a{display:inline-block;font-size:11px;line-height:1.8;color:#d4d4ca;text-decoration:underline;text-underline-offset:4px;margin-top:20px}

.payment-card,
.payment-summary,
.square-card-area,
#square-card-container { min-width: 0; }

@media (max-width: 700px) {
  .payment-grid { grid-template-columns: minmax(0, 1fr); gap: 25px; }
  .payment-heading { margin-bottom: 24px; }
  .payment-summary-header { padding-bottom: 16px; }
  .payment-summary h3 { margin-top: 17px; overflow-wrap: anywhere; }
  .payment-breakdown { margin-top: 16px; }
  .payment-summary .payment-line,
  .payment-summary .payment-vehicle,
  .payment-total,
  .payment-estimate-note,
  .payment-credit-note,
  .payment-balance,
  .payment-status-note,
  .payment-policy summary,
  .payment-policy-body p,
  .payment-consent label,
  .payment-feedback,
  .payment-billing .field label { font-size: 13px; }
  .payment-line { gap: 12px; }
  .payment-line > span:first-child { min-width: 0; overflow-wrap: anywhere; }
  .payment-total,
  .payment-balance { gap: 12px; }
  .payment-total strong,
  .payment-balance strong { flex-shrink: 0; }
  .payment-card { padding: clamp(15px, 4vw, 25px); }
  .payment-consent { min-height: 44px; gap: 12px; }
  .payment-consent input { width: 22px; height: 22px; }
  .payment-card .button { min-height: 50px; font-size: 14px; }
  .payment-refresh,
  .payment-booking-link,
  .payment-policy-body a,
  .payment-error .text-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-size: 13px;
  }
  .payment-booking-link { display: flex; width: fit-content; margin-top: 8px; }
  .payment-policy summary { min-height: 44px; }
  #square-card-container iframe { max-width: 100%; }
}

@media (max-width: 430px) {
  .payment-billing-row { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .payment-error { padding: 19px; }
}
