:root{
  --frx-blue:#0b2f6b;
  --frx-blue-dark:#081f49;
  --frx-red:#e30613;
  --frx-red-dark:#b8050f;
}
body{ font-family:'Poppins', sans-serif; font-weight:400; color:#1c2b3a; background:#fafbfd; }

.page-wrap{ padding:1.75rem 0 3rem; }
.crumb{ font-size:.78rem; color:#8492a3; margin-bottom:1rem; }
.crumb a{ color:var(--frx-blue); text-decoration:none; font-weight:600; }
.page-title{ font-size:1.6rem; font-weight:600; color:var(--frx-blue); margin:0 0 1.25rem; }

.cart-panel{ background:#fff; border:1px solid #e8eef5; border-radius:10px; overflow:hidden; }
.cart-list-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) 100px 120px 100px;
  gap:1rem;
  background:#f1f4fb;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.4px;
  color:#6b7a8d;
  font-weight:600;
  padding:.85rem 1rem;
}
.cart-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 100px 120px 100px;
  gap:1rem;
  align-items:center;
  padding:1rem;
  border-top:1px solid #eef1f5;
  font-size:.88rem;
}
.cart-row-details{ display:contents; }
.cart-prod{ display:flex; gap:.9rem; align-items:center; min-width:0; }
.cart-prod img{
  width:72px; height:72px; object-fit:cover; border-radius:6px;
  border:1px solid #eef1f5; flex-shrink:0;
}
.cart-prod-name{ font-weight:500; color:#16233a; margin:0 0 .2rem; font-size:.9rem; line-height:1.35; }
.cart-prod-unit{ display:none; font-size:.78rem; color:#6b7a8d; margin-bottom:.15rem; }
.cart-prod-remove{
  border:none; background:none; color:#a9b4c2; font-size:.78rem;
  font-weight:600; padding:0; cursor:pointer;
}
.cart-prod-remove:hover{ color:var(--frx-red); }
.cart-row-price{ color:#16233a; white-space:nowrap; }
.qty-box{
  display:inline-flex; border:1px solid #d7dee7; border-radius:6px; overflow:hidden;
}
.qty-box button{
  width:32px; height:34px; border:none; background:#f7f9fc;
  font-weight:500; color:var(--frx-blue); cursor:pointer;
}
.qty-box span{
  min-width:2em; text-align:center; line-height:34px;
  font-weight:600; font-size:.85rem;
}
.line-total{ font-weight:600; color:var(--frx-blue); white-space:nowrap; text-align:right; }
.cart-row-meta-label{
  display:none; font-size:.68rem; font-weight:600;
  text-transform:uppercase; color:#8492a3; margin-bottom:.2rem;
}

.cart-empty-page{ text-align:center; padding:3.5rem 1.5rem; }
.cart-empty-page i{ font-size:2.5rem; color:#c5ced9; }
.cart-empty-page h2{
  font-size:1.15rem; font-weight:600; color:var(--frx-blue);
  margin:1rem 0 .4rem;
}
.cart-empty-page p{ color:#6b7a8d; font-size:.9rem; margin-bottom:1.25rem; }

.summary-card{
  background:#fff; border:1px solid #e8eef5; border-radius:10px;
  padding:1.35rem; position:sticky; top:1rem;
}
.summary-card h3{
  font-size:.95rem; font-weight:600; color:var(--frx-blue); margin:0 0 1rem;
}
.summary-row{
  display:flex; justify-content:space-between;
  font-size:.85rem; color:#6b7a8d; margin-bottom:.55rem;
}
.summary-row.total{
  margin-top:.75rem; padding-top:.75rem; border-top:1px dashed #d5deea;
  font-weight:600; color:#16233a;
}
.summary-row.total .value{ color:var(--frx-blue); font-size:1.2rem; }
.summary-note{ font-size:.75rem; color:#8492a3; margin:1rem 0; }
.summary-actions .btn{ width:100%; margin-bottom:.55rem; }
.summary-actions a.continue{
  display:block; text-align:center; font-size:.8rem;
  font-weight:500; color:var(--frx-blue); text-decoration:none;
}

@media(max-width:767.98px){
  .cart-list-head{ display:none; }
  .cart-row{ display:block; padding:1rem; }
  .cart-row-prod{ margin-bottom:.75rem; }
  .cart-prod-unit{ display:block; }
  .cart-row-details{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
  }
  .cart-row-price{ display:none; }
  .cart-row-qty{ flex:0 0 auto; }
  .cart-row-total{
    flex:0 0 auto;
    text-align:right;
    font-size:1rem;
  }
  .cart-row-total .cart-row-meta-label{ display:none; }
  .qty-box button{ width:36px; height:38px; }
  .qty-box span{ line-height:38px; }
  .summary-card{ position:static; }
}

