/* Shared cart, drawer and order flow refinements */
.shade{z-index:120}
.cartdrawer{z-index:130;padding:22px 20px;overflow:hidden}
#cartBody{flex:1;min-height:0;overflow:auto;padding:4px 2px 16px}
.drawerhead{flex:none;align-items:center}
.cartline{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 2px}
.cartline-photo{width:76px;height:70px;object-fit:contain;border:1px solid #edf1f6;border-radius:10px;background:#fff}
.cartline-copy{min-width:0;display:grid;gap:6px}
.cartline-copy b{font-size:13px;line-height:1.4}
.cartline-copy small{font-size:12px;color:#66758b}
.cartline button{font-size:11px;white-space:nowrap}
.checkout{flex:none;width:100%;margin:10px 0 0}
.drawer-order{flex:none;padding:4px 0 2px}
.cart-view-link{background:#f7faff}
.toast{z-index:150;display:flex;align-items:center;gap:14px;max-width:min(560px,calc(100vw - 28px));pointer-events:none}
.toast.show{pointer-events:auto}
.toast-action{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:8px 12px;border-radius:8px;background:#fff;color:#075ec8;font-weight:800;font-size:12px;white-space:nowrap}
.cart-page{padding:22px 0 42px}
.cart-layout-full{grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.cart-items-panel,.cart-summary{box-shadow:0 8px 28px #102f630a}
.cart-row{grid-template-columns:96px minmax(180px,1fr) minmax(170px,auto) 125px 95px;gap:14px;padding:16px 0}
.cart-row img{width:92px;height:82px;border:1px solid #edf1f6;border-radius:10px;background:#fff}
.cart-row h3{line-height:1.45}
.cart-qty{display:grid;grid-template-columns:minmax(56px,76px) auto;gap:7px;align-items:center}
.cart-qty input{width:100%;height:40px;text-align:center}
.cart-qty button{height:40px;padding:0 12px;border-radius:8px;background:#edf5ff;white-space:nowrap}
.cart-row-price{white-space:nowrap}
.cart-summary{padding:22px;top:18px}
.cart-summary .btn{min-height:48px}
.cart-hint{margin:10px 0 2px}
.back-link{display:block;margin-top:15px;text-align:center;color:#1965c4;font-weight:700;font-size:13px}
.order-shell{padding:20px 0 42px;max-width:1120px}
.order-shell>h1{font-size:29px;margin:0 0 5px;letter-spacing:-.5px}
.order-shell>p{margin:0 0 18px;color:#64728b;font-size:14px}
.order-layout{grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr);gap:16px;align-items:start}
.order-card{padding:22px;border-color:#dce6f1;box-shadow:0 8px 28px #102f630a}
.order-card h2{margin-bottom:14px}
.order-company{margin-bottom:14px}
.order-card .payment-choice{align-items:center;padding:12px 13px;border-radius:11px}
.order-card .payment-choice input{flex:none}
.order-card .payment-choice>span{flex:1}
.bank-details{display:grid;gap:6px;margin:8px 0 12px;padding:14px 16px;border:1px solid #b9ddcb;border-radius:11px;background:#f1fbf5;color:#124c35}
.bank-details[hidden]{display:none}
.bank-details span{font-size:11px;color:#527465;font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.bank-details b{font-size:14px}
.bank-details code{font:800 15px/1.4 Arial,sans-serif;letter-spacing:.4px;overflow-wrap:anywhere}
.bank-details small{color:#527465;font-size:11px}
.order-card textarea{display:block;margin-top:7px;min-height:82px}
.order-card .btn{min-height:48px;margin-top:14px}
.order-line{align-items:center;padding:10px 0}
.order-product{display:flex;align-items:center;gap:10px;min-width:0}
.order-product img{width:50px;height:46px;flex:none;object-fit:contain;border:1px solid #edf1f6;border-radius:8px}
.order-product span{overflow-wrap:anywhere}
.order-success{padding:30px}
@media(max-width:900px){.cart-layout-full,.order-layout{grid-template-columns:1fr}.cart-summary{position:static}.cart-row{grid-template-columns:76px minmax(0,1fr) minmax(160px,auto) 110px}.cart-row img{width:74px;height:70px}.cart-row-price{grid-column:2;text-align:left}.remove-item{grid-column:4;grid-row:2;justify-self:end}.cart-qty{grid-column:3;grid-row:1}.order-summary{order:-1}}
@media(max-width:600px){.cartdrawer{padding:17px 15px}.cartline{grid-template-columns:62px minmax(0,1fr) auto;gap:9px}.cartline-photo{width:62px;height:60px}.cart-page{padding-top:17px}.cart-items-panel{padding:5px 12px}.cart-row{grid-template-columns:62px minmax(0,1fr);gap:8px 12px;padding:14px 0}.cart-row img{width:62px;height:62px;grid-row:1/5}.cart-row .cart-desc{grid-column:2}.cart-qty{grid-column:2;grid-row:auto;grid-template-columns:76px auto;justify-content:start}.cart-row-price{grid-column:2}.remove-item{grid-column:2;grid-row:auto;justify-self:start}.cart-summary{padding:17px}.order-shell>h1{font-size:25px}.order-card{padding:16px}.order-success{padding:22px 16px}.toast{left:14px;right:14px;bottom:14px;transform:translateY(20px);justify-content:space-between}.toast.show{transform:translateY(0)}}
.cart-row>form:last-child{grid-column:5;justify-self:end}
@media(max-width:900px){.cart-row>form:last-child{grid-column:4;grid-row:2}}
@media(max-width:600px){.cart-row>form:last-child{grid-column:2;grid-row:auto;justify-self:start}}
/* Complete checkout layout, including guest delivery form. */
.order-layout{display:grid}
.order-card{min-width:0;background:#fff;border:1px solid #dce6f1;border-radius:15px}
.order-card h2{font-size:19px}
.order-card p{font-size:12px;color:#687c94;line-height:1.6}
.order-card textarea{width:100%;padding:11px;border:1px solid #d6e1ed;border-radius:8px;resize:vertical}
.order-line{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #edf1f5;font-size:12px}
.order-line>b{white-space:nowrap;flex:none}
.order-total{font-size:16px;font-weight:800;padding-top:15px;color:#10345c}
.order-success{text-align:center;max-width:680px;margin:auto}
.order-number{display:inline-block;max-width:100%;overflow-wrap:anywhere;border-radius:9px;background:#edf5ff;padding:13px;font-size:17px;font-weight:800}
.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:15px 0 22px}
.checkout-fields label{display:block;font-size:12px;font-weight:700;color:#314d6d;min-width:0}
.checkout-fields label small{font-weight:400;color:#7c8da2}
.checkout-fields input{width:100%;min-width:0;height:43px;padding:10px;border:1px solid #d6e1ed;border-radius:8px;background:#fff;margin-top:6px;color:#163757;font-size:14px}
.checkout-fields .checkout-address{grid-column:1/-1}
.checkout-fields textarea{margin-top:6px}
.checkout-payment-title{padding-top:18px;border-top:1px solid #e8eef5}
.order-card .guest-checkout-note{background:#f1f7ff;padding:11px 13px;border-radius:8px;margin:0;color:#4d759f}
@media(max-width:550px){.checkout-fields{grid-template-columns:1fr}.checkout-fields .checkout-address{grid-column:auto}.order-line{gap:8px}.order-product img{width:40px;height:40px}.order-line>b{font-size:11px}}

.checkout-section-title{margin:18px 0 9px;color:#183b63;font-size:15px}
.delivery-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.delivery-options .payment-choice{height:100%;margin:0;border:1px solid #d7e2ef;background:#f9fbfe}
.delivery-options .payment-choice:has(input:checked){border-color:#2775ce;background:#f0f7ff;box-shadow:0 0 0 2px #2775ce18}
.pickup-details{display:grid;gap:4px;margin:0 0 14px;padding:12px 14px;border:1px solid #cbdff5;border-radius:10px;background:#f2f8ff;color:#1e4c7c;font-size:13px}
.pickup-details[hidden]{display:none}
.checkout-address[hidden]{display:none}
@media(max-width:550px){.delivery-options{grid-template-columns:1fr}}
.delivery-confirmation{padding:10px 12px;border-radius:9px;background:#f2f7fd;color:#244766}
.delivery-confirmation b{color:#102f50}
