/*! AGF Cobalt — cart page styles */
:root{
  --c-ink:#0F1419; --c-ink-2:#3A4250; --c-ink-3:#6B7280; --c-ink-4:#9CA3AF;
  --c-paper:#FFFFFF; --c-paper-2:#F7F8FA; --c-paper-3:#EDF0F4;
  --c-line:#E1E5EB; --c-line-2:#C9D0D9;
  --c-cobalt:#1F3CE6; --c-cobalt-2:#172EB3; --c-cobalt-3:#0E1F8C;
  --c-ok:#0E8A4B; --c-warn:#B8650A; --c-danger:#C8351F;
  --r-sm:6px; --r-md:10px; --r-lg:14px;
  --shadow-sm:0 1px 2px rgba(15,20,25,.04), 0 1px 1px rgba(15,20,25,.04);
  --shadow-md:0 4px 12px rgba(15,20,25,.06);
  --shadow-lg:0 16px 40px rgba(15,20,25,.10);
}

.woocommerce-cart .content-area{padding:24px 0 96px}
.woocommerce-cart .entry-title{display:none}

/* Trust row */
.agf-trust-row{
  display:flex; gap:24px; align-items:center; justify-content:center;
  padding:14px 16px;
  background:var(--c-paper-2);
  border:1px solid var(--c-line);
  border-radius:var(--r-md);
  margin:0 0 28px;
  font-size:13px; color:var(--c-ink-2); font-weight:500;
  flex-wrap:wrap;
}
.agf-trust-item{display:flex; align-items:center; gap:8px; color:var(--c-ink-2)}
.agf-trust-item svg{color:var(--c-cobalt); flex-shrink:0}
.agf-trust-item a{color:var(--c-ink); text-decoration:none}
.agf-trust-item a:hover{color:var(--c-cobalt)}

/* Free shipping bar */
.agf-fsbar{margin:0 0 24px}
.agf-fsbar-copy{margin:0 0 8px; font-size:14px; color:var(--c-ink-2)}
.agf-fsbar-copy strong{color:var(--c-ink)}
.agf-fsbar-met{display:flex; align-items:center; gap:6px; color:var(--c-ok)}
.agf-fsbar-met strong{color:var(--c-ok)}
.agf-fsbar-track{height:6px; background:var(--c-paper-3); border-radius:999px; overflow:hidden}
.agf-fsbar-fill{height:100%; background:linear-gradient(90deg, var(--c-cobalt), var(--c-cobalt-2)); transition:width .4s cubic-bezier(.4,0,.2,1)}

/* Cart grid */
.agf-cart-grid{display:grid; grid-template-columns:1fr 380px; gap:32px; align-items:start}
@media (max-width:900px){.agf-cart-grid{grid-template-columns:1fr; gap:24px}}

.agf-cart-items-head{
  display:grid; grid-template-columns:1fr 140px 100px; gap:16px;
  padding:0 16px 12px; border-bottom:1px solid var(--c-line);
  font-size:12px; font-weight:600; color:var(--c-ink-3); text-transform:uppercase; letter-spacing:.04em;
}
@media (max-width:640px){.agf-cart-items-head{display:none}}

.agf-cart-item{
  display:grid; grid-template-columns:1fr 140px 100px; gap:16px; align-items:center;
  padding:20px 16px; border-bottom:1px solid var(--c-line);
}
@media (max-width:640px){
  .agf-cart-item{grid-template-columns:auto 1fr; gap:14px; padding:18px 0}
  .agf-cart-item-qty{grid-column:1/-1}
  .agf-cart-item-subtotal{grid-column:2; justify-self:end; font-weight:600}
}

.agf-cart-item-product{display:flex; gap:14px; min-width:0}
.agf-cart-thumb{flex-shrink:0; width:72px; height:72px; border-radius:var(--r-md); overflow:hidden; background:var(--c-paper-2)}
.agf-cart-thumb img{width:100%; height:100%; object-fit:cover; display:block}
.agf-cart-meta{min-width:0; display:flex; flex-direction:column; gap:6px}
.agf-cart-name-link{color:var(--c-ink); font-weight:600; text-decoration:none; line-height:1.4}
.agf-cart-name-link:hover{color:var(--c-cobalt)}
.agf-cart-actions{display:flex; gap:14px; margin-top:auto; font-size:13px}
.agf-remove-link, .agf-save-link, .agf-edit-link{
  background:transparent; border:0; padding:0; color:var(--c-ink-3); font-size:13px;
  cursor:pointer; text-decoration:underline; text-underline-offset:3px;
}
.agf-remove-link:hover{color:var(--c-danger)}
.agf-save-link:hover, .agf-edit-link:hover{color:var(--c-cobalt)}

/* Quantity stepper */
.agf-qty{display:inline-flex; align-items:center; border:1px solid var(--c-line); border-radius:var(--r-md); overflow:hidden; background:var(--c-paper)}
.agf-qty-btn{
  width:36px; height:36px; border:0; background:transparent; cursor:pointer;
  font-size:16px; line-height:1; color:var(--c-ink-2); transition:background .15s;
}
.agf-qty-btn:hover{background:var(--c-paper-2); color:var(--c-cobalt)}
.agf-qty-btn:disabled{color:var(--c-ink-4); cursor:not-allowed}
.agf-qty-input{
  width:42px; height:36px; border:0; border-left:1px solid var(--c-line); border-right:1px solid var(--c-line);
  text-align:center; font-size:14px; font-weight:600; color:var(--c-ink);
  background:transparent; outline:none;
}
.agf-cart-item-subtotal{font-weight:600; color:var(--c-ink); text-align:right}

/* Promo zone */
.agf-promo-zone{padding:14px 16px; border-top:1px solid var(--c-line)}
.agf-promo-toggle{
  background:transparent; border:0; padding:0; color:var(--c-cobalt);
  font-size:13px; font-weight:500; cursor:pointer; text-decoration:underline;
  text-underline-offset:3px;
}
.agf-promo-toggle:hover{color:var(--c-cobalt-2)}
.agf-promo-panel{display:flex; gap:8px; margin-top:10px}
.agf-promo-input{
  flex:1; padding:10px 12px; border:1px solid var(--c-line); border-radius:var(--r-sm);
  font-size:14px; outline:none;
}
.agf-promo-input:focus{border-color:var(--c-cobalt); box-shadow:0 0 0 3px rgba(31,60,230,.12)}
.agf-promo-apply{
  padding:10px 16px; background:var(--c-ink); color:var(--c-paper); border:0; border-radius:var(--r-sm);
  font-size:13px; font-weight:600; cursor:pointer;
}
.agf-promo-apply:hover{background:var(--c-cobalt)}

/* Totals card */
.agf-cart-totals-col{position:sticky; top:24px}
.agf-cart-totals{
  background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-lg);
  padding:24px; box-shadow:var(--shadow-md);
}
.agf-cart-totals h2{font-size:18px; font-weight:700; margin:0 0 16px; color:var(--c-ink)}
.agf-cart-totals .shop_table{width:100%; border-collapse:collapse; margin:0 0 20px; background:transparent; border:0}
.agf-cart-totals .shop_table tr{border-bottom:1px solid var(--c-line)}
.agf-cart-totals .shop_table tr:last-child{border-bottom:0}
.agf-cart-totals .shop_table th, .agf-cart-totals .shop_table td{
  padding:12px 0; background:transparent; border:0;
  font-size:14px; color:var(--c-ink-2); font-weight:500;
}
.agf-cart-totals .shop_table td{text-align:right; color:var(--c-ink)}
.agf-cart-totals .order-total th, .agf-cart-totals .order-total td{
  font-size:18px; font-weight:700; color:var(--c-ink); padding-top:16px;
}

/* Shipping calculator */
.agf-shipcalc{padding:16px; background:var(--c-paper-2); border:1px solid var(--c-line); border-radius:var(--r-md); margin:0 0 20px}
.agf-shipcalc-title{margin:0 0 10px; font-size:14px; font-weight:600; color:var(--c-ink)}
.agf-shipcalc-row{display:flex; gap:8px; align-items:center}
.agf-shipcalc-row input[type=text]{
  flex:1; padding:8px 10px; border:1px solid var(--c-line); border-radius:var(--r-sm);
  font-size:14px; outline:none;
}
.agf-shipcalc-row input[type=text]:focus{border-color:var(--c-cobalt); box-shadow:0 0 0 3px rgba(31,60,230,.12)}
.agf-shipcalc-go{
  padding:8px 14px; background:var(--c-cobalt); color:var(--c-paper); border:0; border-radius:var(--r-sm);
  font-size:13px; font-weight:600; cursor:pointer;
}
.agf-shipcalc-result{margin-top:10px; font-size:13px; color:var(--c-ink-2); min-height:0}

/* Primary CTA */
.agf-checkout-btn{
  display:flex; align-items:center; justify-content:center; gap:8px;
  width:100%; padding:16px 20px;
  background:var(--c-cobalt); color:var(--c-paper) !important;
  border-radius:var(--r-md); font-size:16px; font-weight:700;
  text-decoration:none; transition:background .15s, transform .15s;
  border:0; cursor:pointer;
}
.agf-checkout-btn:hover{background:var(--c-cobalt-2); transform:translateY(-1px); color:var(--c-paper)}
.agf-checkout-btn-label{margin-right:auto}
.agf-checkout-btn-total{margin-left:0; opacity:.92}
.agf-checkout-btn svg{margin-left:2px}

/* Sticky CTA (mobile) */
.agf-sticky-cta-cart{
  position:fixed; left:0; right:0; bottom:0; z-index:20;
  display:none; align-items:center; gap:12px;
  padding:12px 16px; background:var(--c-paper);
  border-top:1px solid var(--c-line); box-shadow:0 -8px 24px rgba(15,20,25,.08);
}
@media (max-width:900px){.agf-sticky-cta-cart{display:flex}}
.agf-sticky-cta-amount{display:flex; flex-direction:column; min-width:0}
.agf-sticky-cta-label{font-size:11px; color:var(--c-ink-3); text-transform:uppercase; letter-spacing:.04em}
.agf-sticky-cta-value{font-size:18px; font-weight:700; color:var(--c-ink)}
.agf-sticky-cta-btn{
  margin-left:auto; padding:12px 20px; background:var(--c-cobalt); color:var(--c-paper) !important;
  border-radius:var(--r-md); font-weight:700; text-decoration:none;
}

/* Empty cart */
.agf-empty-cart{text-align:center; padding:64px 16px 32px}
.agf-empty-cart-icon{display:inline-flex; padding:18px; background:var(--c-paper-2); border-radius:50%; color:var(--c-ink-3); margin-bottom:18px}
.agf-empty-cart-title{font-size:28px; font-weight:700; margin:0 0 8px; color:var(--c-ink)}
.agf-empty-cart-sub{font-size:15px; color:var(--c-ink-2); margin:0 0 24px}
.agf-empty-cart-cta{
  display:inline-block; padding:14px 28px; background:var(--c-cobalt); color:var(--c-paper) !important;
  border-radius:var(--r-md); font-weight:600; text-decoration:none;
}
.agf-empty-cart-cta:hover{background:var(--c-cobalt-2); color:var(--c-paper)}
.agf-empty-cart-bestsellers-title{font-size:18px; font-weight:700; margin:32px 0 16px; color:var(--c-ink)}
.agf-empty-cart-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
@media (max-width:900px){.agf-empty-cart-grid{grid-template-columns:repeat(2,1fr)}}
.agf-empty-card{
  display:block; background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-md);
  padding:12px; text-decoration:none; color:var(--c-ink); transition:border-color .15s, transform .15s;
}
.agf-empty-card:hover{border-color:var(--c-cobalt); transform:translateY(-2px)}
.agf-empty-card-image{aspect-ratio:1; background:var(--c-paper-2); border-radius:var(--r-sm); margin-bottom:10px; overflow:hidden}
.agf-empty-card-image img{width:100%; height:100%; object-fit:cover; display:block}
.agf-empty-card-title{font-size:13px; font-weight:600; margin:0 0 4px; line-height:1.35}
.agf-empty-card-price{font-size:13px; color:var(--c-ink-2); margin:0}

/* Cross-sells */
.agf-cross-sells{margin:32px 0 0; padding:24px; background:var(--c-paper-2); border-radius:var(--r-lg)}
.agf-cross-sells-title{font-size:18px; font-weight:700; margin:0 0 4px; color:var(--c-ink)}
.agf-cross-sells-sub{font-size:13px; color:var(--c-ink-3); margin:0 0 16px}
.agf-cross-sells-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
@media (max-width:760px){.agf-cross-sells-grid{grid-template-columns:1fr}}
.agf-cross-card{display:flex; gap:12px; padding:12px; background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-md)}
.agf-cross-image{flex-shrink:0; width:64px; height:64px; border-radius:var(--r-sm); overflow:hidden; background:var(--c-paper-2)}
.agf-cross-image img{width:100%; height:100%; object-fit:cover; display:block}
.agf-cross-body{display:flex; flex-direction:column; gap:4px; flex:1}
.agf-cross-name{font-size:13px; font-weight:600; color:var(--c-ink); text-decoration:none; line-height:1.35}
.agf-cross-price{font-size:13px; color:var(--c-ink-2)}
.agf-cross-add-btn{align-self:flex-start; margin-top:6px; padding:6px 12px; background:var(--c-ink); color:var(--c-paper); border:0; border-radius:var(--r-sm); font-size:12px; font-weight:600; cursor:pointer}
.agf-cross-add-btn:hover{background:var(--c-cobalt)}

/* Saved for later */
.agf-saved-list{margin:24px 0 0; padding:20px; background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-md)}
.agf-saved-list-title{font-size:16px; font-weight:700; margin:0 0 14px; color:var(--c-ink)}
.agf-saved-list-items{display:grid; grid-template-columns:1fr 1fr; gap:14px}
@media (max-width:640px){.agf-saved-list-items{grid-template-columns:1fr}}
.agf-saved-item{display:flex; gap:12px; padding:12px; border:1px solid var(--c-line); border-radius:var(--r-sm)}
.agf-saved-thumb{flex-shrink:0; width:56px; height:56px; border-radius:var(--r-sm); overflow:hidden}
.agf-saved-thumb img{width:100%; height:100%; object-fit:cover}
.agf-saved-meta{flex:1; display:flex; flex-direction:column; gap:4px}
.agf-saved-name{font-size:13px; font-weight:600; color:var(--c-ink); text-decoration:none}
.agf-saved-price{font-size:13px; color:var(--c-ink-2)}
.agf-saved-actions{display:flex; gap:10px; margin-top:4px}
.agf-move-to-cart, .agf-remove-saved{background:transparent; border:0; padding:0; font-size:12px; cursor:pointer; text-decoration:underline; text-underline-offset:3px}
.agf-move-to-cart{color:var(--c-cobalt)}
.agf-remove-saved{color:var(--c-ink-3)}
