.cart-wrap{padding:40px 40px 80px;max-width:1200px;margin:0 auto}

/* Empty state */
.cart-empty-state{text-align:center;padding:80px 20px;color:#4a5a7a;display:flex;flex-direction:column;align-items:center}
.cart-empty-state svg{stroke:#aab;margin-bottom:20px;display:block}
.cart-empty-state h2{font-family:'Montserrat',sans-serif;font-size:1.6rem;color:#1a3a8f;margin-bottom:10px}
.cart-empty-state p{font-size:.95rem;margin-bottom:24px}

/* Layout */
.cart-layout{display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:start}

/* Items column */
.cart-items{display:flex;flex-direction:column;gap:0}
.cart-item{display:grid;grid-template-columns:90px 1fr auto;gap:16px;align-items:start;padding:20px 0;border-bottom:1px solid #dde3ef}
.cart-item:last-child{border-bottom:none}
.cart-item-cover{display:block;width:90px;height:120px;border-radius:6px;overflow:hidden;background:#eaf5fb;flex-shrink:0}
.cart-item-cover img{width:100%;height:100%;object-fit:cover}
.cart-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem;background:linear-gradient(135deg,#3ab8b8,#1a3a8f)}
.cart-item-info h4{font-family:'Montserrat',sans-serif;font-size:1rem;color:#1a3a8f;margin:0 0 4px}
.cart-item-info h4 a{color:inherit;text-decoration:none}
.cart-item-info h4 a:hover{text-decoration:underline}
.cart-item-price-each{font-size:.85rem;color:#888;margin-bottom:12px}
.cart-item-qty{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.qty-btn{background:#eaf5fb;border:1.5px solid #dde3ef;width:30px;height:30px;border-radius:6px;cursor:pointer;font-size:1rem;color:#1a3a8f;display:flex;align-items:center;justify-content:center;transition:background .2s}
.qty-btn:hover{background:#d0eef0}
.cart-item-qty input{width:48px;text-align:center;border:1.5px solid #dde3ef;border-radius:6px;padding:4px;font-size:.9rem;color:#333}
.remove-btn{background:none;border:none;color:#c0392b;font-size:.82rem;cursor:pointer;padding:0 4px;text-decoration:underline}
.remove-btn:hover{color:#a93226}
.cart-item-line-total{font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.05rem;color:#1a3a8f;white-space:nowrap}
.cart-continue{margin-top:16px}
.cart-continue a{font-size:.88rem;color:#888;text-decoration:none}
.cart-continue a:hover{color:#1a3a8f}

/* Summary */
.order-summary{background:#eaf5fb;border-radius:14px;padding:28px;border:1.5px solid #dde3ef}
.order-summary h3{font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.15rem;color:#1a3a8f;margin-bottom:20px}
.summary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:.9rem;color:#4a5a7a;border-bottom:1px solid #dde3ef}
.summary-row:last-of-type{border-bottom:none}
/* Avoid double line: thin bottom border + grand row’s top border */
.summary-row:has(+ .summary-row.grand){border-bottom:none}
.summary-row.grand{font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.05rem;color:#1a3a8f;border-top:2px solid #1a3a8f;margin-top:8px;padding-top:12px}
.summary-note{font-size:.78rem;color:#aaa;margin-top:10px;margin-bottom:0}
.cart-btn-checkout{display:block;width:100%;text-align:center;background:#f5a800;color:#fff;border:none;border-radius:8px;padding:14px 0;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.88rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;margin-top:20px;text-decoration:none;transition:background .2s,transform .15s}
.cart-btn-checkout:hover{background:#e09800;transform:translateY(-1px)}
.cart-btn-primary{display:inline-block;background:#1a3a8f;color:#fff;border-radius:8px;padding:13px 32px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.88rem;text-decoration:none;transition:background .2s}
.cart-btn-primary:hover{background:#142e74}

/* Section titles */
.cart-section-title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.05rem;color:#1a3a8f;margin:0 0 14px}
.cart-items + .cart-continue{margin-bottom:0}

/* Coupon */
.coupon-box{margin-top:14px}
.coupon-input-row{display:flex;gap:8px}
.coupon-apply-btn{background:#1a3a8f;color:#fff;border:none;border-radius:8px;padding:10px 16px;font-size:.85rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .2s}
.coupon-apply-btn:hover{background:#142e74}
.coupon-applied{display:flex;justify-content:space-between;align-items:center;background:#f0faf0;border:1.5px solid #b2dfdb;border-radius:8px;padding:10px 14px;font-size:.88rem}
.coupon-remove{background:none;border:none;color:#c0392b;font-size:.82rem;cursor:pointer;text-decoration:underline}

/* Delivery accordion */
.delivery-accordion{background:#fff;border:1.5px solid #dde3ef;border-radius:14px;overflow:hidden;margin-bottom:8px}
.delivery-card-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;background:#eaf5fb;border:none;cursor:pointer;text-align:left;font:inherit;transition:background .15s}
.delivery-card-toggle:hover{background:#e0eef8}
.delivery-toggle-title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.05rem;color:#1a3a8f}
.delivery-chevron{color:#1a3a8f;font-size:.85rem;transition:transform .25s ease;flex-shrink:0}
.delivery-accordion.is-collapsed .delivery-chevron{transform:rotate(-90deg)}
.delivery-hint{font-size:.82rem;color:#c0392b;padding:0 18px 10px;margin:0}
.delivery-summary-block{padding:0 18px 16px;border-bottom:1px solid #eef2f8}
.delivery-summary-lines{font-size:.88rem;color:#4a5a7a;line-height:1.45;padding-top:1rem}
.delivery-summary-lines p{margin:0}
.delivery-summary-who{margin:0}
.delivery-summary-who .delivery-summary-line{margin:0}
.delivery-summary-who .delivery-summary-contact{margin-top:0;line-height:1.35}
.delivery-summary-lines > .delivery-summary-address,
.delivery-summary-lines > .delivery-summary-pin{margin:0}
.delivery-summary-lines .delivery-summary-address{white-space:pre-wrap}
.delivery-summary-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}
.delivery-save-btn--delete{background:#fff;color:#c0392b;border:2px solid #c0392b}
.delivery-save-btn--delete:hover{background:#c0392b;color:#fff}
.delivery-panel{padding:18px}
.delivery-save-row{margin-top:4px;margin-bottom:0}
.delivery-save-btn{background:#1a3a8f;color:#fff;border:none;border-radius:8px;padding:11px 28px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.88rem;cursor:pointer;transition:background .2s}
.delivery-save-btn:hover{background:#142e74}
.delivery-summary-block{display:none}
.delivery-accordion.is-collapsed .delivery-summary-block{display:block}
.delivery-accordion.is-collapsed .delivery-panel{display:none}

/* Delivery form */
.delivery-section{margin-top:24px}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:.85rem;font-weight:600;color:#4a5a7a;margin-bottom:6px}
.form-group input,.form-group textarea{width:100%;border:1.5px solid #dde3ef;border-radius:8px;padding:11px 14px;font-size:.92rem;font-family:'Open Sans',sans-serif;color:#333;outline:none;transition:border-color .2s;box-sizing:border-box}
.form-group input:focus,.form-group textarea:focus{border-color:#3ab8b8}
.form-group textarea{resize:vertical;min-height:80px}
.payment-error{background:#fef0f0;border:1px solid #f5c6cb;border-radius:8px;padding:12px 16px;font-size:.88rem;color:#c0392b;margin-bottom:14px}
.pay-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:#f5a800;color:#fff;border:none;border-radius:8px;padding:15px 0;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.95rem;letter-spacing:.06em;cursor:pointer;transition:background .2s,transform .15s;margin-top:6px}
.pay-btn:hover:not(:disabled){background:#e09800;transform:translateY(-1px)}
.pay-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}

@media(max-width:860px){.cart-layout{grid-template-columns:1fr}.cart-wrap{padding:24px 20px 60px}}
@media(max-width:560px){
  .cart-item{
    grid-template-columns:70px minmax(0,1fr) auto;
    column-gap:12px;
    row-gap:8px;
    align-items:center;
    padding:14px 0;
  }
  .cart-item-cover{
    width:70px;
    height:96px;
  }
  .cart-item-info{
    min-width:0;
  }
  .cart-item-info h4{
    font-size:.95rem;
    line-height:1.35;
    margin-bottom:2px;
  }
  .cart-item-price-each{
    margin-bottom:8px;
    font-size:.82rem;
  }
  .cart-item-qty{
    gap:6px;
  }
  .cart-item-line-total{
    grid-column:3;
    align-self:center;
    text-align:right;
    font-size:1rem;
  }
  .form-row-2{grid-template-columns:1fr}
}
@media(max-width:400px){
  .cart-item{
    grid-template-columns:64px minmax(0,1fr) auto;
    column-gap:10px;
  }
  .cart-item-cover{
    width:64px;
    height:88px;
  }
  .qty-btn{
    width:28px;
    height:28px;
  }
  .cart-item-qty input{
    width:42px;
    font-size:.85rem;
  }
  .remove-btn{
    font-size:.8rem;
    padding-left:2px;
  }
}
@media(max-width:640px){.cart-wrap{padding:20px 16px 48px}.coupon-input-row{flex-direction:column}.coupon-apply-btn{width:100%;padding:12px 16px}.order-summary{padding:20px 16px}.delivery-card-toggle{padding:14px 16px}.delivery-panel,.delivery-summary-block{padding-left:16px;padding-right:16px}}
