[hidden]{display:none!important}
body.no-scroll{overflow:hidden}
#cart.drawer{position:fixed;inset:0;z-index:50;display:block;pointer-events:auto;background:rgba(0,0,0,.58)}
#cart.drawer .panel{position:absolute;top:0;right:0;bottom:0;left:auto;width:min(460px,96vw);padding:26px;background:#fff;transform:none;overflow-y:auto;box-shadow:-18px 0 45px rgba(0,0,0,.2);display:flex;flex-direction:column}
.close-button{float:left;border:0;background:transparent;color:var(--n);font-size:2rem;line-height:1;cursor:pointer;padding:4px 8px}
#cartItems{flex:1}
.cart-checkout-area{position:sticky;bottom:-1px;margin:18px -4px -6px;padding:18px 4px 6px;background:linear-gradient(to top,#fff 82%,rgba(255,255,255,.94));border-top:1px solid var(--line)}
#checkoutBtn{width:100%;margin-top:6px}
#checkoutBtn:disabled{opacity:.5;cursor:not-allowed}
.checkout-main-button{min-height:64px;display:grid;place-items:center;gap:2px;padding:12px 18px;background:linear-gradient(135deg,var(--g),#147966);box-shadow:0 12px 24px rgba(11,84,71,.22);font-size:1.08rem}
.checkout-main-button span{font-family:var(--heading-font);font-size:1.08rem;font-weight:900}
.checkout-main-button small{font-size:.78rem;font-weight:600;color:#d9eeea}
.secondary-button{width:100%;margin-top:10px;padding:12px 16px;border:1px solid var(--g);border-radius:12px;background:#fff;color:var(--g);font-weight:800;cursor:pointer}
.empty-cart{padding:28px 0;text-align:center;color:#6c797f}
.checkout-modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.62);overflow-y:auto}
.checkout-card{width:min(680px,100%);display:grid;gap:14px;padding:28px;background:#fff;border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.28);max-height:94vh;overflow-y:auto}
.checkout-card h2,.checkout-card h3{margin:0;font-family:var(--heading-font);font-weight:900}
.checkout-card h3{font-size:1.08rem;margin-bottom:10px}
.checkout-intro{margin:-4px 0 4px;color:#6c797f;line-height:1.7}
.form-section{display:grid;gap:10px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fbfdfc}
.form-section label{font-weight:700;color:var(--n)}
.checkout-card input,.checkout-card textarea,.checkout-card select{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--n);outline:none}
.checkout-card input:focus,.checkout-card textarea:focus,.checkout-card select:focus{border-color:var(--g);box-shadow:0 0 0 3px rgba(11,84,71,.1)}
.checkout-card textarea{min-height:88px;resize:vertical}
.delivery-grid,.carrier-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.choice-card{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;transition:.2s}
.choice-card:hover{border-color:var(--g);transform:translateY(-1px)}
.choice-card input{width:auto;margin-top:3px;accent-color:var(--g)}
.choice-card span{display:grid;gap:4px}
.choice-card strong{font-family:var(--heading-font);font-weight:900}
.choice-card small{color:#6c797f;line-height:1.5}
.choice-card:has(input:checked){border-color:var(--g);background:#eaf5f1;box-shadow:0 0 0 2px rgba(11,84,71,.08)}
.choice-card.compact{align-items:center}
.shipping-note{margin:2px 0 0;color:#6c797f;font-size:.9rem;line-height:1.6}
.customer-fields{grid-template-columns:1fr 1fr}
.customer-fields h3,.customer-fields textarea{grid-column:1/-1}
.checkout-summary{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:16px;border-radius:16px;background:var(--n);color:#fff}
.checkout-summary strong{font-family:var(--heading-font);font-size:1.25rem;color:var(--y)}
.checkout-summary small{grid-column:1/-1;color:#d9e2e7}
.whatsapp-submit{width:100%;font-size:1rem}
#formError{margin:0;color:#b3261e;font-weight:700}
.load-error{grid-column:1/-1;padding:24px;background:#fff;border:1px solid var(--line);border-radius:15px;text-align:center;color:#b3261e}
.card img{object-fit:contain!important;background:#fff!important;padding:10px}
@media(max-width:620px){
  #cart.drawer .panel{width:100%;padding:20px}
  .checkout-modal{padding:0;align-items:end}
  .checkout-card{width:100%;max-height:96vh;border-radius:22px 22px 0 0;padding:20px}
  .delivery-grid,.carrier-grid,.customer-fields{grid-template-columns:1fr}
  .customer-fields h3,.customer-fields textarea{grid-column:auto}
  .card img{padding:6px}
}
