/* Halaman keranjang SAB (localStorage) — dimuat hanya oleh /cart. */
body.page-cart .sg-float{display:none}
.sg-cart-page{padding:22px 0 56px}
.sg-cart-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.sg-cart-head h1{font-size:24px;font-weight:800;letter-spacing:-.3px}
.sg-cart-continue{color:var(--sg-orange);font-size:13.5px;font-weight:700}
.sg-cart-grid{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:18px;align-items:start}
.sg-cart-grid [hidden]{display:none !important}

.sg-cart-panel{min-width:0}
.sab-cart-row{display:grid;grid-template-columns:76px minmax(0,1fr) auto auto auto;gap:14px;align-items:center;padding:12px 14px;background:#fff;border:1px solid var(--sg-line);border-radius:10px;box-shadow:var(--sg-shadow);margin-bottom:10px}
.sab-cart-thumb{width:76px;height:76px;border-radius:8px;overflow:hidden;background:#f1f1f1;display:grid;place-items:center}
.sab-cart-thumb img{width:100%;height:100%;object-fit:cover}
.sab-cart-info{display:flex;flex-direction:column;gap:4px;min-width:0}
.sab-cart-name{font-size:14px;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sab-cart-name:hover{color:var(--sg-orange)}
.sab-cart-price{font-size:12.5px;color:var(--sg-muted)}
.sab-cart-qty{display:inline-flex;align-items:center;border:1px solid var(--sg-line);border-radius:8px;overflow:hidden;background:#fff}
.sab-cart-qty button{width:32px;height:32px;display:grid;place-items:center;font-size:16px;font-weight:700;color:var(--sg-ink);line-height:1}
.sab-cart-qty button:hover{background:var(--sg-body);color:var(--sg-orange)}
.sab-cart-qty span{min-width:34px;text-align:center;font-size:13.5px;font-weight:700;border-inline:1px solid var(--sg-line);line-height:32px}
.sab-cart-line{font-size:14px;font-weight:800;white-space:nowrap}
.sab-cart-remove{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:18px;color:var(--sg-muted);line-height:1}
.sab-cart-remove:hover{background:#fdecea;color:#c62828}

.sab-cart-empty{background:#fff;border:1px solid var(--sg-line);border-radius:12px;box-shadow:var(--sg-shadow);padding:44px 20px;text-align:center}
.sab-cart-empty h2{font-size:17px;font-weight:800;margin-bottom:6px}
.sab-cart-empty p{color:var(--sg-muted);font-size:13.5px;margin-bottom:16px}

.sab-order-done{background:#fff;border:1px solid var(--sg-line);border-radius:12px;box-shadow:var(--sg-shadow);padding:34px 22px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.sab-order-done[hidden]{display:none !important}
.sab-order-done-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e8f6ee;color:#1f8a4c}
.sab-order-done-icon svg{width:24px;height:24px}
.sab-order-done h2{font-size:18px;font-weight:800}
.sab-order-done p{font-size:13.5px;color:var(--sg-muted);max-width:460px;line-height:1.5}
.sab-order-done strong{color:var(--sg-ink)}
.sab-order-done .btn-checkout{width:auto;min-width:220px;margin-top:6px}
.sab-order-track{padding:.6rem 1.2rem;border:1px solid var(--sg-line);border-radius:8px;background:#fff;font-size:13.5px;font-weight:700;color:var(--sg-ink);transition:border-color .18s ease,color .18s ease}
.sab-order-track[hidden]{display:none !important}
.sab-order-track:hover{border-color:var(--sg-orange);color:var(--sg-orange)}
.sab-order-again{font-size:13px;font-weight:700;color:var(--sg-orange)}

.sg-cart-summary{position:sticky;top:16px;background:#fff;border:1px solid var(--sg-line);border-radius:12px;box-shadow:var(--sg-shadow);display:flex;flex-direction:column}
.sab-cart-sumrow{display:flex;justify-content:space-between;align-items:baseline;padding:.85rem 1rem;font-size:.85rem}
.sab-cart-total{border-top:1px solid var(--sg-line)}
.sab-cart-total strong{font-size:1.1rem;font-weight:800;color:var(--sg-ink)}
.sab-cart-section{border-top:1px solid var(--sg-line)}
.sab-cart-label{display:flex;align-items:center;gap:.4rem;padding:.7rem 1rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--sg-ink)}
.sab-cart-label svg{flex-shrink:0;width:15px;height:15px;color:var(--sg-orange)}

.sab-ship-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0 1rem .9rem}
.sab-ship-method{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr);gap:.6rem;align-items:flex-start;padding:.72rem .75rem;border:1px solid rgba(15,23,42,.11);border-radius:12px;background:#fff;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.sab-ship-method:has(input:checked){border-color:rgba(230,85,22,.45);background:linear-gradient(135deg,#fff 0%,#fff7f2 100%);box-shadow:0 12px 28px rgba(230,85,22,.08)}
.sab-ship-method input{position:absolute;opacity:0;pointer-events:none}
.sab-ship-dot{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-top:.1rem;border:1.5px solid rgba(230,85,22,.45);border-radius:999px;background:#fff}
.sab-ship-dot::after{content:"";width:10px;height:10px;border-radius:inherit;background:var(--sg-orange);opacity:0;transform:scale(.6);transition:opacity .18s ease,transform .18s ease}
.sab-ship-method input:checked + .sab-ship-dot{border-color:var(--sg-orange)}
.sab-ship-method input:checked + .sab-ship-dot::after{opacity:1;transform:scale(1)}
.sab-ship-copy{display:grid;gap:.15rem;min-width:0}
.sab-ship-copy strong{color:var(--sg-ink);font-size:.82rem;overflow-wrap:anywhere}
.sab-ship-copy small{color:var(--sg-muted);font-size:.7rem;line-height:1.45}

.sab-ship-panel{padding:0 1rem .9rem}
.sab-ship-label{display:block;margin:0 0 .4rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--sg-muted)}
.sab-ship-label[hidden]{display:none !important}
.sab-ship-search-wrap{position:relative;display:flex;align-items:center}
.sab-ship-pin{position:absolute;left:.65rem;width:15px;height:15px;color:var(--sg-muted);pointer-events:none}
.sab-ship-search-wrap .sab-ship-input{padding-left:2.1rem;padding-right:.7rem;background:#fff}
.sab-ship-search-wrap .sab-ship-input:-webkit-autofill,
.sab-ship-search-wrap .sab-ship-input:-webkit-autofill:hover,
.sab-ship-search-wrap .sab-ship-input:-webkit-autofill:focus{
  -webkit-box-shadow:0 0 0 1000px #fff inset;
  -webkit-text-fill-color:var(--sg-ink);
  transition:background-color 9999s ease-out;
}
.sab-ship-suggest{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;max-height:220px;overflow:auto;background:#fff;border:1px solid var(--sg-line);border-radius:9px;box-shadow:0 16px 34px rgba(15,23,42,.16)}
.sab-ship-suggest[hidden]{display:none !important}
.sab-ship-suggest-item{display:block;width:100%;padding:.55rem .7rem;border-bottom:1px solid rgba(15,23,42,.06);font-size:.75rem;line-height:1.35;text-align:left;color:var(--sg-ink)}
.sab-ship-suggest-item:last-child{border-bottom:0}
.sab-ship-suggest-item:hover{background:#fff5ef;color:var(--sg-orange)}
.sab-ship-suggest-empty{padding:.6rem .7rem;font-size:.75rem;color:var(--sg-muted)}
.sab-ship-dest{display:flex;align-items:center;gap:.45rem;padding:.5rem .6rem;border:1px solid rgba(230,85,22,.32);border-radius:8px;background:#fff7f2;font-size:.75rem;color:var(--sg-ink)}
.sab-ship-dest[hidden]{display:none !important}
.sab-ship-dest svg{flex-shrink:0;width:15px;height:15px;color:var(--sg-orange)}
.sab-ship-dest span{flex:1;min-width:0;overflow-wrap:anywhere}
.sab-ship-change{flex-shrink:0;padding:0;border:0;background:none;color:var(--sg-orange);font-size:.72rem;font-weight:700;cursor:pointer}
.sab-ship-options{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem;max-height:280px;overflow:auto}
.sab-ship-options[hidden]{display:none !important}
.sab-ship-option{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.5rem .6rem;border:1px solid rgba(15,23,42,.1);border-radius:8px;background:#fff;text-align:left;cursor:pointer}
.sab-ship-option:hover{border-color:rgba(230,85,22,.4);background:#fffaf7}
.sab-ship-option-main{display:flex;flex-direction:column;gap:.1rem;min-width:0}
.sab-ship-option-main strong{font-size:.75rem;font-weight:700;color:var(--sg-ink);overflow-wrap:anywhere}
.sab-ship-option-main small{font-size:.68rem;color:var(--sg-muted)}
.sab-ship-option-cost{display:flex;align-items:center;flex-shrink:0}
.sab-ship-option-cost strong{font-size:.76rem;font-weight:800;color:var(--sg-ink)}
.sab-ship-selected{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.55rem .6rem;border:1px solid rgba(230,85,22,.32);border-radius:8px;background:#fff7f2}
.sab-ship-selected[hidden]{display:none !important}
.sab-ship-selected-badge{flex-shrink:0;padding:.18rem .45rem;border-radius:5px;background:var(--sg-orange);color:#fff;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.sab-ship-selected-copy{display:flex;flex-direction:column;gap:.08rem;min-width:0;flex:1}
.sab-ship-selected-copy strong{font-size:.73rem;font-weight:700;color:var(--sg-ink);overflow-wrap:anywhere}
.sab-ship-selected-copy small{font-size:.67rem;color:var(--sg-muted)}
.sab-ship-selected-cost{flex-shrink:0;font-size:.78rem;font-weight:800;color:var(--sg-ink)}
.sab-ship-status{margin-top:.4rem;font-size:.7rem;color:var(--sg-muted)}
.sab-ship-status:empty{display:none}

.sab-buyer{display:flex;flex-direction:column;gap:.45rem;padding:0 1rem .9rem}
.sab-field{display:flex;flex-direction:column;gap:.2rem}
.sab-field[hidden]{display:none !important}
.sab-input{width:100%;padding:.5rem .65rem;border:1px solid var(--sg-line);border-radius:8px;font-size:.8rem;font-family:inherit;resize:vertical;color:var(--sg-ink);background:#fff}
.sab-input:focus{outline:none;border-color:var(--sg-orange)}
.sab-error{color:#c0392b;font-size:.7rem}
.sab-field-invalid{border-color:#c0392b !important}
.sab-payment-empty{margin:0 1rem .9rem;padding:.6rem;border:1px dashed var(--sg-line);border-radius:8px;font-size:.76rem;color:var(--sg-muted);text-align:center}

.sab-pay-methods{display:flex;flex-direction:column;gap:.45rem;margin:0 1rem .9rem}
.sab-pay-method{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:.55rem;align-items:center;padding:.6rem .7rem;border:1px solid rgba(15,23,42,.11);border-radius:10px;background:#fff;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.sab-pay-method:has(input:checked){border-color:rgba(230,85,22,.45);background:linear-gradient(135deg,#fff 0%,#fff7f2 100%);box-shadow:0 12px 28px rgba(230,85,22,.08)}
.sab-pay-method input{position:absolute;opacity:0;pointer-events:none}
.sab-pay-method input:checked + .sab-ship-dot{border-color:var(--sg-orange)}
.sab-pay-method input:checked + .sab-ship-dot::after{opacity:1;transform:scale(1)}
.sab-pay-copy{display:grid;gap:.12rem;min-width:0}
.sab-pay-copy strong{color:var(--sg-ink);font-size:.8rem;overflow-wrap:anywhere}
.sab-pay-copy small{color:var(--sg-muted);font-size:.7rem;overflow-wrap:anywhere}
.sab-pay-kind{flex-shrink:0;padding:.16rem .42rem;border:1px solid rgba(230,85,22,.25);border-radius:5px;background:#fff4ee;color:var(--sg-orange);font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.sab-pay-detail{margin:0 1rem .9rem}
.sab-pay-detail[hidden]{display:none !important}
.sab-pay-qris{display:flex;align-items:center;gap:.75rem;padding:.65rem;border:1px dashed rgba(230,85,22,.35);border-radius:10px;background:#fffaf7}
.sab-pay-qris img{flex-shrink:0;width:124px;height:124px;object-fit:contain;padding:3px;border:1px solid var(--sg-line);border-radius:6px;background:#fff}
.sab-pay-download{color:var(--sg-orange);font-size:.72rem;font-weight:700}
.sab-pay-download:hover{text-decoration:underline}
.sab-pay-account{padding:.6rem .7rem;border:1px solid var(--sg-line);border-radius:8px;background:var(--sg-body);font-size:.76rem;font-weight:700;color:var(--sg-ink);overflow-wrap:anywhere}
.sab-pay-proof{display:flex;flex-direction:column;gap:.35rem;margin:0 1rem .9rem;padding:.65rem .7rem;border:1px dashed rgba(230,85,22,.35);border-radius:10px;background:#fffaf7}
.sab-pay-proof[hidden]{display:none !important}
.sab-pay-proof-label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:var(--sg-ink)}
.sab-pay-proof-input{width:100%;font-size:.74rem;color:var(--sg-muted)}
.sab-pay-proof-input::file-selector-button{margin-right:.6rem;padding:.35rem .65rem;border:1px solid rgba(230,85,22,.4);border-radius:6px;background:#fff;color:var(--sg-orange);font:inherit;font-weight:700;cursor:pointer}
.sab-pay-proof-input::file-selector-button:hover{background:#fff4ee}
.sab-pay-proof-hint{font-size:.66rem;color:var(--sg-muted);line-height:1.4}
.sab-pay-proof .sab-error{font-size:.7rem}
.sab-cart-status{font-size:.74rem;color:#c0392b;margin:0 1rem .5rem}
.sab-cart-status:empty{display:none}

.sg-cart-summary .btn-checkout{width:calc(100% - 2rem);margin:0 1rem 1rem;padding:.7rem;border-radius:8px;font-size:.88rem;gap:.5rem}
.btn-checkout{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--sg-orange);color:#fff;font-size:14px;font-weight:800;padding:12px 16px;border-radius:9px;text-align:center;transition:background .15s}
.btn-checkout:hover{background:var(--sg-rust)}
.btn-checkout[disabled]{opacity:.65;cursor:progress;pointer-events:none}
.btn-checkout svg{flex-shrink:0}

@media (max-width:880px){
  .sg-cart-grid{grid-template-columns:1fr}
  .sg-cart-summary{position:static}
}
@media (max-width:640px){
  .sg-cart-page{padding-top:14px}
  .sg-cart-head h1{font-size:20px}
  .sab-ship-methods{grid-template-columns:1fr}
  .sab-cart-row{grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"thumb info remove" "thumb qty line";row-gap:8px;column-gap:10px;padding:10px 12px}
  .sab-cart-thumb{width:64px;height:64px;grid-area:thumb}
  .sab-cart-info{grid-area:info}
  .sab-cart-qty{grid-area:qty;justify-self:start}
  .sab-cart-line{grid-area:line;justify-self:end}
  .sab-cart-remove{grid-area:remove}
}
