/* Checkout, order and invoice. Shared typography and controls remain in site/controls. */
.order-flow.checkout-page{max-width:1200px}
.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,380px);gap:24px 40px;align-items:start;margin:24px 0}
.checkout-fields{min-width:0}.checkout-layout>.checkout-draft{grid-column:1/-1;margin-top:0}
.checkout-section{margin-bottom:28px}.checkout-section h2,.checkout-summary>h2{font-size:20px;letter-spacing:normal;margin-bottom:16px}
.checkout-section label:not(.checkout-choice){margin-top:12px}.checkout-phone-hint{margin:8px 0 0}
.checkout-choice{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;background:var(--app-surface-alt);margin-top:12px;cursor:pointer}
.checkout-choice:has(input:checked){background:var(--app-selected-bg)}.checkout-choice input{width:18px;height:18px;flex:none;margin:0;accent-color:var(--app-focus)}
.checkout-choice img{width:40px;height:40px;border-radius:8px;object-fit:contain}.checkout-choice strong{font-weight:500}.checkout-choice small{display:block;color:var(--app-muted);font-size:14px;white-space:pre-line}
.checkout-choice small:empty{display:none}
.checkout-choice:has(input:disabled){cursor:not-allowed;background:var(--app-surface-alt)}
.checkout-choice:has(input:disabled) strong{color:var(--app-muted)}
.checkout-choice .checkout-availability{margin-top:6px}
.checkout-payment-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.checkout-payment-options .checkout-choice{margin:0;min-height:52px;padding:12px}
.checkout-choice>span{min-width:0;overflow-wrap:anywhere}
.checkout-single-delivery .checkout-choice,.checkout-single-delivery .checkout-choice:has(input:checked){background:transparent;padding:8px 0;cursor:default;margin-top:8px}
.checkout-single-delivery input{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.checkout-recipient>summary{align-items:center;padding:12px 0}
.checkout-recipient>summary>span:first-child{display:flex;flex-wrap:wrap;gap:4px 20px}
.checkout-recipient>summary>.checkout-edit-label{flex:none;color:var(--app-link)}
.checkout-recipient .form-grid{padding-top:4px}
.checkout-recipient-phone{display:inline-flex;align-items:center;gap:8px}
.checkout-phone-check{font-size:13px;line-height:1}
.checkout-phone-input{position:relative}.checkout-phone-input input{padding-right:40px}
.checkout-phone-input>.checkout-phone-check{position:absolute;right:16px;top:50%;transform:translateY(-50%);pointer-events:none}
.checkout-summary{position:sticky;top:24px;min-width:0}
.checkout-summary .order-actions{flex-direction:column;gap:8px}
.checkout-summary .order-actions .button{width:100%;min-width:0;white-space:normal}
.checkout-summary [data-place-order]{order:-1}
.checkout-summary .order-actions>.button.secondary{background:transparent;color:var(--app-muted)}
.checkout-summary .basket-checkout-summary{flex-wrap:wrap;gap:8px}
.checkout-summary{padding:24px;background:var(--app-surface-alt)}.checkout-disclosure summary{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer;list-style:none;font-size:14px}.checkout-disclosure summary::-webkit-details-marker{display:none}.checkout-disclosure summary>span{flex:1;min-width:0}.checkout-disclosure summary strong{font-weight:500;white-space:nowrap}.checkout-disclosure summary>i{font-size:12px;color:var(--app-muted)}.checkout-disclosure[open] summary>i{transform:rotate(180deg)}
.checkout-billing{margin-top:16px}.checkout-billing summary{justify-content:flex-start;color:var(--app-link)}.checkout-billing summary>span{flex:initial}.checkout-draft{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;min-height:24px}.checkout-draft .text-button,.checkout-otp-panel>.text-button{min-height:44px}
.order-summary-line{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 0;font-size:14px}.order-summary-line>span{min-width:0}.order-summary-line strong{white-space:nowrap;font-weight:500}.order-summary-line small{display:block;color:var(--app-muted)}
.checkout-otp-panel{margin-top:20px}.checkout-otp-panel .actions{margin-top:16px}.checkout-otp-panel input{font-size:24px;letter-spacing:.3em;max-width:280px}
.checkout-otp-dialog{width:min(440px,calc(100vw - 32px));padding:24px;border:0;border-radius:16px;background:var(--app-surface);color:var(--app-text);box-shadow:var(--app-floating-shadow)}
.checkout-otp-dialog::backdrop{background:rgb(0 0 0 / .35)}.checkout-otp-dialog .checkout-otp-panel{margin:0}.checkout-otp-dialog h2{font-size:22px}
.order-preline{white-space:pre-line;overflow-wrap:anywhere}.order-fields{border:0;padding:0;min-width:0}.order-fields input[type=number]{min-width:100px}.order-fields .table-wrap{margin-top:24px}.order-fields:disabled input,.order-fields:disabled textarea{color:var(--app-text);background:var(--app-surface-alt)}
.order-invoice{max-width:1100px;margin:auto}.order-invoice .form-grid{margin:24px 0}.order-invoice h2{font-size:20px}.order-invoice .price{text-align:right;margin:24px 0}
@media(max-width:1000px){.checkout-layout{grid-template-columns:minmax(0,1fr);gap:0}.checkout-summary{position:static}}
@media(max-width:600px){.checkout-section .form-grid{grid-template-columns:minmax(0,1fr);gap:12px}.checkout-payment-options{grid-template-columns:minmax(0,1fr)}.checkout-recipient>summary>span:first-child{flex-direction:column}}
@media(max-width:600px){.checkout-summary{padding:20px}}
@media print{body:has(.order-invoice){background:white;color:black}body:has(.order-invoice) header,body:has(.order-invoice) footer,body:has(.order-invoice) .sidebar,body:has(.order-invoice) .back-link,body:has(.order-invoice) button,body:has(.order-invoice) .skip{display:none!important}body:has(.order-invoice) .workspace{display:block}.order-invoice .table-wrap{overflow:visible}.order-invoice .panel{background:transparent;padding:12px 0}body:has(.order-invoice) .shell{padding:0;max-width:none}}

/* Order details use the same single-column panels as the basket. */
.order-detail-sections{display:grid;gap:24px;margin:24px 0}
.order-detail-sections>section,.order-detail-sections>details{min-width:0;margin:0}
.order-detail-sections h2{font-size:20px}
.order-disclosure>summary>h2{flex:1;margin:0}
.order-recipient-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px;margin:20px 0 0}
.order-recipient-facts dt{color:var(--app-muted);font-size:13px;margin-bottom:6px}
.order-recipient-facts dd{margin:0;overflow-wrap:anywhere;font-weight:500}
.order-details .order-summary-line{padding:20px 0;border-bottom:1px solid var(--app-border);font-size:15px}
.order-details .order-summary-line:last-child{border-bottom:0;padding-bottom:0}
.order-details .order-summary-line small{margin-top:6px}
.order-payment-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;margin-top:20px;padding-top:16px;border-top:1px solid var(--app-border)}
.order-payment-actions>form{order:2;margin:0;margin-left:auto}
.order-payment-actions>form>.button{min-width:220px;max-width:100%}
.order-payment-links{display:flex;align-items:center;flex-wrap:wrap;gap:4px 24px}
.order-payment-links>.text-button{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
@media(max-width:600px){.order-payment-actions>form{order:0;width:100%}.order-payment-actions>form>.button{width:100%;min-width:0}.order-payment-links{gap:0 20px}}
.order-details .order-preline:empty{display:none}
@media(max-width:600px){.order-recipient-facts{grid-template-columns:minmax(0,1fr);gap:16px}.order-details .order-summary-line{flex-wrap:wrap;gap:8px}.order-details .order-summary-line>span{flex-basis:100%}.order-details .basket-checkout-summary{flex-wrap:wrap}.order-details .basket-total-row{align-items:start}.order-details .basket-total-row>span:last-child{text-align:right}}

.order-payment-countdown{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin:20px 0 12px;padding:16px;border-radius:12px;background:var(--app-surface-alt)}
.order-payment-countdown>span:first-child{font-size:14px;color:var(--app-muted)}
.order-payment-countdown strong{font-size:24px;font-weight:600;font-variant-numeric:tabular-nums}
[data-shipping-status]:empty{display:none}
