.payment-methods{border:0;border-top:1px solid var(--line);padding:13px 0 0;margin:12px 0 11px;display:grid;gap:8px}.payment-methods legend{padding:11px 0 9px;font-size:8px;letter-spacing:1px;font-weight:700;color:#718073}.payment-methods label{display:flex;align-items:center;gap:9px;border:1px solid #e3e7de;background:#fffdf8;padding:10px;border-radius:5px;cursor:pointer}.payment-methods label:has(input:checked){border-color:#81947d;background:#f2f6ef;box-shadow:0 0 0 1px #81947d inset}.payment-methods input{accent-color:var(--forest);margin:0}.payment-symbol{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#eaf0e6;color:var(--forest);font-size:14px}.payment-methods label b,.payment-methods label small{display:block}.payment-methods label b{font-size:10px;color:var(--forest)}.payment-methods label small{font-size:8px;color:#929a8e;margin-top:3px}.payment-methods>p{font-size:8px!important;line-height:1.5;color:#8a9388;margin:1px 0 0!important}.cart-footer>p{line-height:1.5}@media(max-width:700px){.payment-methods label{padding:12px}.payment-methods label b{font-size:11px}.payment-methods label small{font-size:9px}}

.checkout-submit-status{min-height:14px;margin:8px 0 0;color:#7a5940;font-size:9px;line-height:1.5}
.checkout-submit:disabled{opacity:.65;cursor:wait}
.checkout-address-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;margin:0 0 18px;padding:13px 14px;border:1px solid #e3d2bc;border-radius:8px;background:#fbf3e7}.checkout-address-summary>span{grid-column:1/-1;color:#8c7256;font-size:9px;font-weight:800;letter-spacing:1px}.checkout-address-summary p{margin:0;color:#4a382b;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.checkout-address-summary button{padding:8px 10px;border:1px solid #c8ad8d;border-radius:6px;background:#fffaf2;color:#60432f;font-size:10px;font-weight:750;white-space:nowrap;cursor:pointer}.checkout-address-summary button:hover{background:#f1e4d2}

.receipt-dialog{width:min(560px,calc(100vw - 28px));max-height:90vh;padding:0;border:1px solid #e5d8c8;border-radius:12px;background:#fffaf2;color:#38281f;box-shadow:0 24px 80px #13221938;overflow:auto}
.receipt-dialog::backdrop{background:#15251f83;backdrop-filter:blur(3px)}
.receipt-paper{padding:28px}
.receipt-paper header{padding-bottom:14px;border-bottom:1px solid #e5d8c8}
.receipt-paper h2{margin:8px 0;font:500 26px Georgia,serif;color:#4a3024}
.receipt-paper header p,.receipt-meta p{margin:5px 0;font-size:12px;line-height:1.5}
.receipt-meta{padding:12px 0;border-bottom:1px solid #e5d8c8}
.receipt-lines h3{font:700 13px Arial,sans-serif}
.receipt-line{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #eee4d7;font-size:12px}
.receipt-line small{display:block;margin-top:4px;color:#746253}
.receipt-total{display:flex;justify-content:space-between;align-items:center;padding:15px 0;font-size:14px}
.receipt-total strong{font:600 21px Georgia,serif;color:#4a3024}
.receipt-note{font-size:11px;line-height:1.55;color:#786858}
.receipt-actions{display:flex;gap:10px;margin-top:18px}
.receipt-actions button{flex:1;min-height:42px;border:0;border-radius:6px;background:#56392a;color:#fff8ec;font-weight:700;cursor:pointer}
.receipt-actions button+button{border:1px solid #d9c4aa;background:transparent;color:#56392a}
@media print{body *{visibility:hidden!important}#receipt-dialog[open],#receipt-dialog[open] *{visibility:visible!important}#receipt-dialog[open]{position:absolute;inset:0 auto auto 0;width:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;overflow:visible}#receipt-dialog::backdrop{background:transparent}.receipt-paper{padding:12mm}.receipt-actions{display:none!important}}
.receipt-bank-transfer{display:grid;justify-items:center;gap:7px;margin:14px 0;padding:16px;border:1px solid #dcc497;border-radius:10px;background:#fff8e9;text-align:center}.receipt-bank-transfer h3{margin:0 0 4px;font:600 18px Georgia,serif;color:#593a27}.receipt-bank-transfer p{margin:0;font-size:12px;line-height:1.45}.receipt-bank-transfer p strong{color:#6c421f}.receipt-bank-transfer small{max-width:420px;color:#685744;font-size:11px;line-height:1.5}.receipt-qr{display:block;width:min(230px,70vw);height:auto;aspect-ratio:1;object-fit:contain;border:1px solid #e9dfcc;border-radius:8px;background:white}
.receipt-payment-state{display:flex;align-items:center;gap:12px;margin:14px 0;padding:16px;border:2px solid #c99b4a;border-radius:10px;background:#fff4d9;color:#38251a}.receipt-payment-state strong{display:block;font-size:15px;line-height:1.35}.receipt-payment-state p{margin:5px 0 0;font-size:12px;line-height:1.5}.receipt-payment-state.is-paid{border-color:#318454;background:#e8f6ec;color:#14532d}.receipt-payment-state.is-paid>span{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:#25804a;color:#fff;font-size:22px;font-weight:800}.receipt-payment-state.is-error{border-color:#b54d3e;background:#fff0ed;color:#7b2418}
.receipt-qr-save{width:min(100%,300px);min-height:44px;margin:6px 0 2px;padding:10px 18px;border:1px solid #5a3928;border-radius:7px;background:#5a3928;color:#fff9ef;font:700 13px Arial,sans-serif;cursor:pointer}.receipt-qr-save:hover{background:#774d32}.receipt-qr-save:focus-visible{outline:3px solid #c18c45;outline-offset:3px}.receipt-qr-save:disabled{opacity:.65;cursor:wait}.receipt-bank-transfer [data-qr-save-status]{min-height:1.4em}
@media print{.receipt-bank-transfer{break-inside:avoid}.receipt-qr{width:180px}}

.customer-payment-success[hidden]{display:none}
.customer-payment-success{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:18px;background:rgba(35,23,16,.72);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.customer-payment-success-card{position:relative;width:min(460px,100%);padding:34px 30px 28px;border:1px solid #d3aa68;border-radius:20px;background:linear-gradient(145deg,#fffdf7 0%,#fbf0dc 100%);color:#38271d;text-align:center;box-shadow:0 24px 90px rgba(17,11,7,.38);animation:payment-success-appear .24s ease-out}
.customer-payment-success-mark{display:grid;width:70px;height:70px;margin:0 auto 17px;place-items:center;border:1px solid #efcc79;border-radius:50%;background:linear-gradient(145deg,#f5d987,#bd8536);color:#fffdf6;font:700 38px Arial,sans-serif;box-shadow:0 7px 20px rgba(150,97,36,.25),inset 0 1px 1px #fff9d4}
.customer-payment-success-kicker{display:block;color:#94672f;font-size:10px;font-weight:800;letter-spacing:1.5px}
.customer-payment-success-card h2{margin:10px 0 9px;color:#4a3024;font:600 clamp(23px,6vw,30px) Georgia,serif}
.customer-payment-success-card>p{margin:0 auto;max-width:350px;color:#66503d;font-size:14px;line-height:1.6}
.customer-payment-success-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0;padding:13px;border:1px solid #ead8b9;border-radius:12px;background:#fffaf0;text-align:left}
.customer-payment-success-meta span{display:grid;gap:6px;color:#806b54;font-size:10px;font-weight:700}
.customer-payment-success-meta strong{color:#493222;font-size:13px;overflow-wrap:anywhere}
.customer-payment-success-card button{width:100%;min-height:48px;border:1px solid #9e6e32;border-radius:9px;background:linear-gradient(120deg,#e9c56d,#bd8536);color:#352316;font-size:12px;font-weight:800;letter-spacing:.6px;cursor:pointer;box-shadow:0 5px 13px rgba(122,79,32,.17)}
.customer-payment-success-card button:hover{filter:brightness(1.04)}
.customer-payment-success-card button:focus-visible{outline:3px solid #805526;outline-offset:3px}
@keyframes payment-success-appear{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:480px){.customer-payment-success{padding:16px}.customer-payment-success-card{padding:29px 19px 20px;border-radius:17px}.customer-payment-success-meta{gap:8px;padding:11px}.customer-payment-success-meta strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.customer-payment-success-card{animation:none}}

/* Fixed server-calculated amount displayed next to the payment QR. */
.receipt-locked-amount{display:flex;align-items:center;gap:12px;margin:12px 0;padding:12px 14px;border:1px solid #718264;border-left:5px solid #40563d;border-radius:10px;background:#dce2d2;color:#302319}
.receipt-locked-amount>span:first-child{font-size:20px}
.receipt-locked-amount span:last-child{display:grid;gap:3px}
.receipt-locked-amount small{color:#40563d;font-size:10px;font-weight:800;letter-spacing:.6px}
.receipt-locked-amount strong{color:#302319;font-size:21px}
.receipt-bank-transfer>small{display:block;line-height:1.55}

/* Compact customer receipt: keep the order and total immediate, fold secondary details. */
@media screen{
  .receipt-dialog{width:min(480px,calc(100vw - 24px));max-height:min(86dvh,720px);border-radius:16px}
  .receipt-paper{padding:18px}
  .receipt-paper header{padding-bottom:10px}
  .receipt-paper h2{margin:5px 0;font-size:22px}
  .receipt-heading>small{display:block;font-size:10px;color:#594838;line-height:1.45}
  .receipt-heading>p{display:flex;justify-content:space-between;gap:10px;margin:7px 0;font-size:10px}
  .receipt-payment-state{gap:8px;margin:10px 0;padding:10px 12px;border-width:1px}
  .receipt-payment-state strong{font-size:13px}
  .receipt-payment-state p{margin-top:3px;font-size:10px;line-height:1.4}
  .receipt-lines h3{display:flex;justify-content:space-between;margin:10px 0 3px}
  .receipt-line{gap:10px;padding:7px 0;font-size:11px}
  .receipt-line small{margin-top:2px;font-size:9px;line-height:1.35}
  .receipt-total{padding:9px 0;font-size:12px}
  .receipt-total strong{font-size:18px}
  .receipt-details{margin:5px 0;border-top:1px solid #e5d8c8}
  .receipt-details summary{padding:10px 2px;color:#40563d;font-size:11px;font-weight:750;cursor:pointer}
  .receipt-details .receipt-meta{padding:0 0 8px;border-bottom:0}
  .receipt-details .receipt-meta p{margin:3px 0;font-size:10px;line-height:1.4;overflow-wrap:anywhere}
  .receipt-bank-transfer{gap:6px;margin:10px 0;padding:12px}
  .receipt-bank-transfer h3{font-size:16px}
  .receipt-bank-transfer p{font-size:10px}
  .receipt-bank-transfer small{font-size:10px;line-height:1.35}
  .receipt-qr{width:min(185px,62vw)}
  .receipt-locked-amount{gap:8px;margin:7px 0;padding:8px 10px}
  .receipt-locked-amount strong{font-size:18px}
  .receipt-reference{overflow-wrap:anywhere}
  .receipt-qr-save{min-height:40px;margin:3px 0;padding:8px 14px;font-size:12px}
  .receipt-actions{margin-top:8px}
}
@media screen and (max-width:420px){.receipt-paper{padding:15px}.receipt-qr{width:min(168px,60vw)}}

@media print{.receipt-paper,.receipt-items,.receipt-line{height:auto!important;max-height:none!important;overflow:visible!important}.receipt-line{break-inside:avoid;white-space:normal!important;overflow-wrap:anywhere;line-height:1.4!important;padding-block:1mm!important}}

/* Compact invoice QR; retain original encoded image and white quiet zone. */
@media screen{.receipt-qr{width:min(115px,35vw)}}
