/* Cart page CSS matching cart.html design, scoped to this page template */
@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:wght@400;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

:root {
  --color-primary: #2C3E2D;
  --color-secondary: #F7F5F3;
  --color-accent: #D4A574;
  --color-background: #FEFEFE;
  --color-surface: #F0EDE8;
  --color-text-primary: #1A1A1A;
  --color-text-secondary: #6B6B6B;
  --color-success: #16A34A;
  --color-warning: #EA580C;
  --shadow-subtle: 0 4px 20px rgba(0, 0, 0, 0.08);
  --transition-micro: 200ms ease-out;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

.page-template-page-cart {
  font-family: 'Inter', sans-serif;
  background-color: var(--color-background);
  color: var(--color-text-primary);
  line-height: 1.5;
}

.page-template-page-cart h1, .page-template-page-cart h2, .page-template-page-cart h3, .page-template-page-cart h4, .page-template-page-cart h5, .page-template-page-cart h6 { font-family: 'Crimson Text', serif; font-weight: 600; }

.page-template-page-cart a { color: inherit; text-decoration: none; }
.page-template-page-cart button { font-family: inherit; background: transparent; border: none; cursor: pointer; }
.page-template-page-cart img { max-width: 100%; height: auto; display: block; }

.page-template-page-cart .container { width: 100%; max-width: 1328px; margin: 0 auto; padding: 0 1.6rem; }
.page-template-page-cart .main-content { min-height: 100vh; }
.page-template-page-cart .icon-xs { width: 1.6rem; height: 1.6rem; }

/* Page header */
.page-template-page-cart .page-header { background: rgba(15, 23, 42, 0.8); padding: 4.8rem 0; }
.page-template-page-cart .page-header-content { text-align: center; }
.page-template-page-cart .page-title { font-size: 3rem; color: #fff; margin-bottom: 1.6rem; }
.page-template-page-cart .page-subtitle { font-size: 2.5rem; color: rgba(255, 255, 255, 0.9); }

/* Cart section */
.page-template-page-cart .cart-section { padding-top: 3.2rem; padding-bottom: 3.2rem; }
.page-template-page-cart .cart-layout { display: flex; flex-direction: column; gap: 3.2rem; }
.page-template-page-cart .cart-items-container { flex: 1 1 0%; }
.page-template-page-cart .cart-items-list { display: flex; flex-direction: column; gap: 2.4rem; }

/* Cart item card */
.page-template-page-cart .cart-item-card { background: #fff; border-radius: 1.6rem; box-shadow: var(--shadow-subtle); padding: 2.4rem; }
.page-template-page-cart .cart-item-content { display: flex; flex-direction: column; gap: 1.6rem; }
.page-template-page-cart .cart-item-image-wrapper { width: 100%; height: 12.8rem; background: var(--color-surface); border-radius: .8rem; overflow: hidden; flex-shrink: 0; }
.page-template-page-cart .cart-item-image { width: 100%; height: 100%; object-fit: cover; }
.page-template-page-cart .cart-item-details { flex: 1 1 0%; }
.page-template-page-cart .cart-item-info-wrapper { display: flex; flex-direction: column; }
.page-template-page-cart .cart-item-info { margin-bottom: 1.6rem; }
.page-template-page-cart .item-name { font-weight: 500; font-size: 1.8rem; margin-bottom: .4rem; color: var(--color-text-primary); display: inline-block; }
.page-template-page-cart .item-brand { font-size: 1.4rem; color: var(--color-text-secondary); margin-bottom: .8rem; }
.page-template-page-cart .item-tags { display: flex; flex-wrap: wrap; gap: .8rem; margin-bottom: .8rem; }
.page-template-page-cart .item-tag { font-size: 1.2rem; background: var(--color-surface); padding: .4rem .8rem; border-radius: 9999px; color: var(--color-text-secondary); }

/* Product variations styling */
.page-template-page-cart .item-variations { display: flex; flex-wrap: wrap; gap: .8rem; margin-bottom: .8rem; }
.page-template-page-cart .variation-item { 
    font-size: 1.3rem; 
    background: rgba(0, 166, 81, 0.1); 
    padding: .4rem .8rem; 
    border-radius: 9999px; 
    color: var(--color-primary);
    border: 1px solid rgba(0, 166, 81, 0.2);
}
.page-template-page-cart .variation-item strong { 
    font-weight: 600; 
    color: #00a651;
}

.page-template-page-cart .item-stock-status { font-size: 1.2rem; margin-bottom: .8rem; }
.page-template-page-cart .in-stock { color: var(--color-success); }
.page-template-page-cart .low-stock { color: var(--color-warning); }

.page-template-page-cart .cart-item-actions { display: flex; flex-direction: column; align-items: flex-start; }
.page-template-page-cart .item-price { font-size: 2rem; font-weight: 600; color: var(--color-primary); margin-bottom: 1.2rem; }
.page-template-page-cart .quantity-control { display: flex; align-items: center; gap: 1.2rem; margin-bottom: 1.2rem; }
.page-template-page-cart .action-icons { display: flex; align-items: center; gap: .8rem; margin-bottom: .8rem; }
.page-template-page-cart .icon-btn { background: transparent; border: none; padding: .4rem; border-radius: .6rem; color: var(--color-text-secondary); transition: background-color var(--transition-micro), color var(--transition-micro); cursor: pointer; }
.page-template-page-cart .icon-btn:hover { background: var(--color-surface); color: var(--color-primary); }
.page-template-page-cart .icon { width: 1.8rem; height: 1.8rem; display: block; }
.page-template-page-cart .quantity-btn { background: var(--color-surface); width: 3.2rem; height: 3.2rem; border-radius: 9999px; display: flex; align-items: center; justify-content: center; transition: var(--transition-micro); }
.page-template-page-cart .quantity-btn:hover { background: var(--color-primary); color: #fff; }
.page-template-page-cart .quantity-value { width: 3.2rem; text-align: center; font-weight: 500; }
.page-template-page-cart .remove-item-btn { color: #f97316; font-size: 1.4rem; font-weight: 500; transition: var(--transition-micro); background: none; border: none; cursor: pointer; }
.page-template-page-cart .remove-item-btn:hover { color: var(--color-warning); }

/* Empty cart */
.page-template-page-cart .empty-cart-card { display: none; background: #fff; border-radius: 1.6rem; box-shadow: var(--shadow-subtle); padding: 4.8rem; text-align: center; }
.page-template-page-cart .empty-cart-icon-wrapper { width: 8rem; height: 8rem; background: var(--color-surface); border-radius: 9999px; display: flex; align-items: center; justify-content: center; margin: 0 auto 2.4rem; }
.page-template-page-cart .empty-cart-icon { width: 4rem; height: 4rem; color: var(--color-text-secondary); }
.page-template-page-cart .empty-cart-title { font-size: 2.4rem; font-weight: 600; margin-bottom: 1.6rem; }
.page-template-page-cart .empty-cart-text { color: var(--color-text-secondary); margin-bottom: 3.2rem; }
.page-template-page-cart .empty-cart-actions { display: flex; flex-direction: column; gap: 1.6rem; align-items: center; }
.page-template-page-cart .btn-primary-green { display: inline-block; background: var(--color-success); color: #fff; font-weight: 500; padding: 1.2rem 3.2rem; border-radius: .8rem; transition: var(--transition-micro); }
.page-template-page-cart .btn-primary-green:hover { background: #15803d; }
.page-template-page-cart .link-secondary { color: #f97316; font-size: 1.4rem; font-weight: 500; transition: var(--transition-micro); }
.page-template-page-cart .link-secondary:hover { color: var(--color-warning); }

/* Order summary */
.page-template-page-cart .order-summary-sidebar { flex-shrink: 0; }
.page-template-page-cart .order-summary-card { background: #fff; border-radius: 1.6rem; box-shadow: var(--shadow-subtle); padding: 2.4rem; position: sticky; top: 9.6rem; }
.page-template-page-cart .order-summary-title { font-size: 2rem; font-weight: 600; margin-bottom: 2.4rem; }
.page-template-page-cart .summary-details { display: flex; flex-direction: column; gap: 1.6rem; margin-bottom: 2.4rem; }
.page-template-page-cart .summary-row { display: flex; justify-content: space-between; align-items: center; }
.page-template-page-cart .summary-row span:first-child { color: var(--color-text-secondary); }
.page-template-page-cart .summary-row span:last-child { color: var(--color-text-primary); }

/* Coupon discount styling */
.page-template-page-cart .coupon-row { margin: 0.8rem 0; }
.page-template-page-cart .coupon-row span:first-child { color: var(--color-success); font-size: 1.44rem; }
.page-template-page-cart .discount-amount { color: var(--color-success) !important; font-weight: 600; }
.page-template-page-cart .summary-total-row { border-top: 1px solid var(--color-surface); padding-top: 1.6rem; }
.page-template-page-cart .summary-total { display: flex; justify-content: space-between; font-size: 1.8rem; font-weight: 600; }
.page-template-page-cart .promo-code-section { margin-bottom: 2.4rem; }
.page-template-page-cart .promo-label { display: block; font-size: 1.4rem; font-weight: 500; margin-bottom: .8rem; }
.page-template-page-cart .promo-input-group { display: flex; gap: .8rem; }
.page-template-page-cart .promo-input { flex: 1 1 0%; padding: .8rem 1.2rem; border: 1px solid var(--color-surface); border-radius: .8rem; font-size: 1.4rem; outline: none; transition: var(--transition-micro); }
.page-template-page-cart .promo-input:focus { border-color: var(--color-primary); box-shadow: 0 0 0 2px rgba(44,62,45,.2); }
.page-template-page-cart .btn-secondary-green { background: var(--color-success); color: #fff; padding: .8rem 1.6rem; border-radius: .8rem; font-size: 1.4rem; font-weight: 500; transition: var(--transition-micro); }
.page-template-page-cart .btn-secondary-green:hover { background: #15803d; }
.page-template-page-cart .btn-checkout { width: 100%; background: var(--color-success); color: #fff; font-weight: 600; padding: 1.6rem 2.4rem; border-radius: .8rem; transition: all 200ms ease-out; margin-bottom: 1.6rem; }
.page-template-page-cart .btn-checkout:hover { background: #15803d; transform: scale(1.02); }
.page-template-page-cart .link-continue-shopping { display: block; text-align: center; color: #f97316; font-size: 1.4rem; font-weight: 500; transition: var(--transition-micro); }
.page-template-page-cart .link-continue-shopping:hover { color: var(--color-warning); }
.page-template-page-cart .security-info-section { margin-top: 2.4rem; padding-top: 2.4rem; border-top: 1px solid var(--color-surface); }
.page-template-page-cart .security-info { display: flex; align-items: center; gap: .8rem; font-size: 1.2rem; color: var(--color-text-secondary); }
.page-template-page-cart .security-icon { width: 1.6rem; height: 1.6rem; color: var(--color-success); }

/* Mobile checkout bar */
.page-template-page-cart .mobile-checkout-bar { display: block; position: fixed; bottom: 0; left: 0; right: 0; background: #fff; border-top: 1px solid var(--color-surface); padding: 1.6rem; z-index: 40; }
.page-template-page-cart .mobile-checkout-content { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.2rem; }
.page-template-page-cart .mobile-total-label { font-size: 1.4rem; color: var(--color-text-secondary); }
.page-template-page-cart .mobile-total-amount { font-size: 2rem; font-weight: 600; }
.page-template-page-cart .mobile-checkout-content .btn-secondary-green { padding: 1.2rem 3.2rem; }

/* Responsive */
@media (min-width: 768px) {
  .page-template-page-cart .container { padding: 0 2.4rem; }
  .page-template-page-cart .cart-item-content { flex-direction: row; }
  .page-template-page-cart .cart-item-image-wrapper { width: 12.8rem; }
  .page-template-page-cart .cart-item-info-wrapper { flex-direction: row; align-items: flex-start; justify-content: space-between; }
  .page-template-page-cart .cart-item-info { margin-bottom: 0; }
  .page-template-page-cart .cart-item-actions { align-items: flex-end; }
}
@media (min-width: 1024px) {
  .page-template-page-cart .container { padding: 0 3.2rem; }
  .page-template-page-cart .page-header { padding: 5.8rem 0; }
  .page-template-page-cart .page-title { font-size: 4.8rem; }
  .page-template-page-cart .cart-section { padding-top: 4.8rem; padding-bottom: 4.8rem; }
  .page-template-page-cart .cart-layout { flex-direction: row; }
  .page-template-page-cart .order-summary-sidebar { width: 38.4rem; }
  .page-template-page-cart .mobile-checkout-bar { display: none; }
}
