/* MAWZEN classic cart — deliberately separate from the off-canvas mini-cart. */
.woocommerce-cart .mawzen-commerce-page.is-cart { --cart-soft:#f5f5f2; --cart-muted:#6f6f6b; }
.woocommerce-cart { overflow-x:hidden; }
.woocommerce-cart .mawzen-commerce-page.is-cart .mawzen-commerce-hero { min-height:250px; padding-block:42px 38px; }
.woocommerce-cart .mawzen-commerce-content { width:min(calc(100% - 48px),1440px); padding-top:48px; padding-bottom:96px; }
.woocommerce-cart .mawzen-commerce-content > .woocommerce { width:100%; }
.woocommerce-cart .woocommerce-notices-wrapper:empty { display:none; }
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error { margin:0 0 22px !important; padding:15px 18px 15px 48px !important; border:1px solid #111 !important; background:#fff !important; font-size:13px; line-height:1.45; }
.woocommerce-cart .woocommerce-message::before,
.woocommerce-cart .woocommerce-info::before,
.woocommerce-cart .woocommerce-error::before { top:50% !important; left:18px !important; transform:translateY(-50%); }
.woocommerce-cart .woocommerce-message .button.wc-forward { display:none !important; }
.woocommerce-cart .woocommerce-message:focus,
.woocommerce-cart .woocommerce-info:focus,
.woocommerce-cart .woocommerce-error:focus { outline:0; }

.woocommerce-cart .mawzen-shipping-promo { min-height:86px; margin:0 0 34px; padding:20px 24px; border:0; background:var(--cart-soft); }
.woocommerce-cart .mawzen-shipping-promo > i { width:42px; height:42px; display:grid; place-items:center; border:1px solid #111; border-radius:50%; font-size:18px; }
.woocommerce-cart .mawzen-shipping-promo strong { font-size:12px; letter-spacing:.1em; }
.woocommerce-cart .mawzen-shipping-promo span { margin-top:3px; font-size:13px; }

.mawzen-cart-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(340px,.78fr); align-items:start; gap:clamp(38px,5vw,80px); }
.mawzen-cart-form { min-width:0; margin:0; }
.mawzen-cart-form__header { min-height:94px; display:flex; align-items:end; justify-content:space-between; gap:28px; padding:0 0 22px; border-bottom:1px solid #111; }
.mawzen-cart-form__header .eyebrow { display:block; margin-bottom:8px; }
.mawzen-cart-form__header h2 { margin:0; font-family:'Playfair Display',Georgia,serif; font-size:clamp(34px,3.5vw,52px); font-weight:400; letter-spacing:-.045em; line-height:1; }
.mawzen-cart-form__header > a { display:inline-flex; align-items:center; gap:9px; padding-bottom:4px; border-bottom:1px solid #111; font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; }
.mawzen-cart-form__header > a i { transition:transform .2s ease; }
.mawzen-cart-form__header > a:hover i { transform:translateX(4px); }

.mawzen-cart-items { display:grid; }
.mawzen-cart-item { display:grid; grid-template-columns:132px minmax(0,1fr); gap:24px; min-width:0; padding:28px 0; border-bottom:1px solid var(--line); }
.mawzen-cart-item__image { width:132px; aspect-ratio:4/5; overflow:hidden; background:var(--cart-soft); }
.mawzen-cart-item__image a { display:block; width:100%; height:100%; }
.mawzen-cart-item__image img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.mawzen-cart-item__body { min-width:0; display:flex; flex-direction:column; }
.mawzen-cart-item__top { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; }
.mawzen-cart-item__identity { min-width:0; }
.mawzen-cart-item__reference { display:block; margin-bottom:7px; color:var(--cart-muted); font-size:9px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.mawzen-cart-item h3 { max-width:620px; margin:0; font-family:'DM Sans',Arial,sans-serif; font-size:18px; font-weight:500; letter-spacing:-.015em; line-height:1.3; }
.mawzen-cart-item h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
.mawzen-cart-item__variation { margin-top:9px; color:var(--cart-muted); font-size:11px; line-height:1.4; }
.mawzen-cart-item__variation:empty { display:none; }
.mawzen-cart-item__variation dl.variation { display:flex; flex-wrap:wrap; gap:4px 13px; margin:0; }
.mawzen-cart-item__variation dt,
.mawzen-cart-item__variation dd { float:none; margin:0; padding:0; }
.mawzen-cart-item__variation dt { font-weight:600; }
.mawzen-cart-item__variation dd { margin-right:8px; }
.mawzen-cart-item__variation p { margin:0; }
.mawzen-cart-item__stock { display:flex; align-items:center; gap:7px; margin:11px 0 0; color:#397a54; font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.mawzen-cart-item__stock > span { width:6px; height:6px; border-radius:50%; background:#397a54; }
.mawzen-cart-item__stock.is-backorder { color:#8a6128; }
.mawzen-cart-item__remove { flex:0 0 auto; display:inline-flex !important; align-items:center; gap:7px; width:auto !important; height:auto !important; color:var(--cart-muted) !important; font-size:9px !important; font-weight:600; letter-spacing:.1em; line-height:1 !important; text-transform:uppercase; }
.mawzen-cart-item__remove:hover { color:#111 !important; background:transparent !important; }
.mawzen-cart-item__remove i { font-size:14px; }

.mawzen-cart-item__controls { display:grid; grid-template-columns:1fr 1fr 1fr; align-items:end; gap:24px; margin-top:auto; padding-top:20px; }
.mawzen-cart-item__controls small { display:block; margin-bottom:8px; color:var(--cart-muted); font-size:9px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.mawzen-cart-item__unit-price strong,
.mawzen-cart-item__subtotal strong { display:inline-flex; align-items:center; gap:6px; color:#111; font-size:15px; font-weight:500; white-space:nowrap; }
.mawzen-cart-item__subtotal { text-align:right; }
.mawzen-cart-quantity { width:116px; height:42px; display:grid; grid-template-columns:36px 42px 36px; align-items:center; border:1px solid #111; background:#fff; }
.mawzen-cart-quantity > button { width:36px; height:40px; display:grid !important; place-items:center; min-height:0 !important; margin:0 !important; padding:0 !important; border:0 !important; background:#fff !important; color:#111 !important; font-size:15px !important; }
.mawzen-cart-quantity > button:hover,
.mawzen-cart-quantity > button:focus-visible { background:#111 !important; color:#fff !important; outline:0; }
.mawzen-cart-quantity .quantity { width:42px; height:40px; float:none !important; margin:0 !important; }
.mawzen-cart-quantity input.qty { width:42px !important; height:40px !important; min-height:0; margin:0; padding:0 !important; border:0 !important; border-radius:0 !important; background:#fff; color:#111; box-shadow:none !important; font:500 13px/40px 'DM Sans',Arial,sans-serif; text-align:center; -moz-appearance:textfield; }
.mawzen-cart-quantity input.qty::-webkit-inner-spin-button,
.mawzen-cart-quantity input.qty::-webkit-outer-spin-button { margin:0; -webkit-appearance:none; }

.mawzen-cart-actions { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-top:26px; }
.mawzen-cart-coupon { min-width:0; flex:1; }
.mawzen-cart-coupon > label { display:block; margin-bottom:8px; color:var(--cart-muted); font-size:9px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.mawzen-cart-coupon > div { display:flex; width:min(100%,430px); }
.mawzen-cart-coupon input { flex:1; min-width:0; height:48px; padding:0 14px !important; border:1px solid #bbb !important; border-right:0 !important; border-radius:0 !important; background:#fff; font:400 13px/1 'DM Sans',Arial,sans-serif; }
.mawzen-cart-coupon input:focus { border-color:#111 !important; outline:0; box-shadow:inset 0 0 0 1px #111; }
.woocommerce-cart .mawzen-cart-coupon button.button { min-width:118px; min-height:48px; margin:0 !important; padding:0 17px !important; border:1px solid #111 !important; background:#111 !important; color:#fff !important; font-size:10px !important; letter-spacing:.1em; }
.woocommerce-cart .mawzen-cart-update.button { flex:0 0 auto; min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:8px; margin:0 !important; padding:0 19px !important; border:1px solid #111 !important; background:#fff !important; color:#111 !important; font-size:10px !important; letter-spacing:.1em; }
.woocommerce-cart .mawzen-cart-update.button:disabled { border-color:#ccc !important; color:#999 !important; opacity:1; }
.woocommerce-cart .mawzen-cart-update.button.is-ready:not(:disabled):hover { background:#111 !important; color:#fff !important; }

.mawzen-cart-summary { min-width:0; position:sticky; top:104px; }
.woocommerce-cart .mawzen-cart-summary .cart_totals { float:none !important; width:100% !important; margin:0 !important; padding:30px; border:1px solid #111; background:#fff; }
.mawzen-cart-totals__header { display:flex; align-items:start; justify-content:space-between; gap:22px; padding-bottom:24px; border-bottom:1px solid #111; }
.mawzen-cart-totals__header .eyebrow { display:block; margin-bottom:8px; }
.mawzen-cart-totals__header h2 { margin:0; font-family:'Playfair Display',Georgia,serif; font-size:clamp(32px,3vw,44px); font-weight:400; letter-spacing:-.045em; line-height:1; }
.mawzen-cart-totals__header > span { padding-top:3px; color:var(--cart-muted); font-size:10px; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.woocommerce-cart .mawzen-cart-totals__table { width:100%; margin:12px 0 0 !important; border:0 !important; border-collapse:collapse !important; border-radius:0 !important; }
.woocommerce-cart .mawzen-cart-totals__table tr { border-bottom:1px solid var(--line); }
.woocommerce-cart .mawzen-cart-totals__table th,
.woocommerce-cart .mawzen-cart-totals__table td { padding:16px 0 !important; border:0 !important; background:transparent !important; font-size:12px; font-weight:400; line-height:1.45; vertical-align:top; }
.woocommerce-cart .mawzen-cart-totals__table th { width:42%; color:var(--cart-muted); text-align:left; }
.woocommerce-cart .mawzen-cart-totals__table td { color:#111; text-align:right; }
.woocommerce-cart .mawzen-cart-totals__table .order-total { border-bottom:0; }
.woocommerce-cart .mawzen-cart-totals__table .order-total th,
.woocommerce-cart .mawzen-cart-totals__table .order-total td { padding-top:22px !important; color:#111; font-size:15px; font-weight:600; }
.woocommerce-cart .mawzen-cart-totals__table .order-total td { font-size:21px; }
.woocommerce-cart .mawzen-cart-totals__table ul#shipping_method { margin:0; }
.woocommerce-cart .mawzen-cart-totals__table ul#shipping_method li { display:flex; justify-content:flex-end; gap:7px; margin:0 0 8px; font-size:11px; }
.woocommerce-cart .mawzen-cart-totals__table .woocommerce-shipping-destination { margin:10px 0 0; color:var(--cart-muted); font-size:10px; }
.woocommerce-cart .mawzen-cart-totals__table .shipping-calculator-button { display:inline-block; margin-top:8px; border-bottom:1px solid currentColor; color:#111; font-size:10px; }
.mawzen-cart-totals__shipping { display:grid; grid-template-columns:24px minmax(0,1fr); gap:9px; align-items:start; margin:4px 0 20px; padding:14px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--cart-muted); font-size:10px; line-height:1.45; }
.mawzen-cart-totals__shipping i { color:#111; font-size:16px; }
.woocommerce-cart .mawzen-cart-summary .wc-proceed-to-checkout { padding:0 !important; }
.woocommerce-cart .mawzen-cart-summary .checkout-button { min-height:58px; display:flex !important; align-items:center; justify-content:space-between; gap:16px; margin:0 !important; padding:0 22px !important; border:1px solid #111 !important; border-radius:0 !important; background:#111 !important; color:#fff !important; font-size:11px !important; font-weight:700 !important; letter-spacing:.12em; line-height:1 !important; text-transform:uppercase; }
.woocommerce-cart .mawzen-cart-summary .checkout-button:hover,
.woocommerce-cart .mawzen-cart-summary .checkout-button:focus-visible { background:#fff !important; color:#111 !important; outline:0; }
.woocommerce-cart .mawzen-cart-summary .checkout-button i { transition:transform .2s ease; }
.woocommerce-cart .mawzen-cart-summary .checkout-button:hover i { transform:translateX(4px); }
.mawzen-cart-totals__assurances { display:grid; gap:14px; margin:22px 0 0; padding:20px 0 0; border-top:1px solid var(--line); list-style:none; }
.mawzen-cart-totals__assurances li { display:grid; grid-template-columns:24px minmax(0,1fr); gap:10px; align-items:start; }
.mawzen-cart-totals__assurances i { color:#111; font-size:17px; }
.mawzen-cart-totals__assurances span { display:grid; gap:3px; }
.mawzen-cart-totals__assurances strong { font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.mawzen-cart-totals__assurances small { color:var(--cart-muted); font-size:10px; }

.mawzen-cart-cross-sells { margin-top:80px; padding-top:52px; border-top:1px solid #111; }
.mawzen-cart-cross-sells:empty { display:none; }
.woocommerce-cart .mawzen-cart-cross-sells .cross-sells { float:none !important; width:100% !important; }
.woocommerce-cart .mawzen-cart-cross-sells .cross-sells > h2 { margin:0 0 30px; font-family:'Playfair Display',Georgia,serif; font-size:clamp(34px,4vw,54px); font-weight:400; letter-spacing:-.045em; }
.woocommerce-cart .mawzen-cart-cross-sells ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px 8px; }
.woocommerce-cart .mawzen-cart-cross-sells ul.products::before,
.woocommerce-cart .mawzen-cart-cross-sells ul.products::after { display:none; }
.woocommerce-cart .mawzen-cart-cross-sells ul.products li.product { float:none !important; width:100% !important; margin:0 !important; }
.woocommerce-cart .mawzen-cart-cross-sells ul.products li.product img { aspect-ratio:4/5; object-fit:cover; margin:0 0 14px; background:var(--cart-soft); }
.woocommerce-cart .mawzen-cart-cross-sells ul.products li.product h2 { font-family:'DM Sans',Arial,sans-serif; font-size:14px; font-weight:500; line-height:1.35; }
.woocommerce-cart .mawzen-cart-cross-sells ul.products li.product .price { color:#111; font-size:13px; }
.woocommerce-cart .mawzen-cart-cross-sells ul.products li.product .button { display:none !important; }

.mawzen-empty-cart { min-height:460px; display:grid; justify-items:center; align-content:center; max-width:760px; margin:0 auto; padding:70px 24px; text-align:center; }
.mawzen-empty-cart__icon { width:72px; height:72px; display:grid; place-items:center; margin-bottom:28px; border:1px solid #111; border-radius:50%; font-size:26px; }
.mawzen-empty-cart h2 { margin:14px 0 18px; font-family:'Playfair Display',Georgia,serif; font-size:clamp(42px,6vw,72px); font-weight:400; letter-spacing:-.05em; line-height:.95; }
.mawzen-empty-cart p { max-width:560px; margin:0 0 30px; color:var(--cart-muted); font-size:14px; line-height:1.7; }
.woocommerce-cart .mawzen-empty-cart .button { min-height:54px; display:inline-flex; align-items:center; gap:22px; padding:0 24px !important; border:1px solid #111 !important; background:#111 !important; color:#fff !important; font-size:10px !important; letter-spacing:.11em; }

@media (max-width:1000px) {
  .mawzen-cart-layout { grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr); gap:32px; }
  .mawzen-cart-item { grid-template-columns:112px minmax(0,1fr); gap:18px; }
  .mawzen-cart-item__image { width:112px; }
  .mawzen-cart-item__controls { gap:14px; }
  .woocommerce-cart .mawzen-cart-summary .cart_totals { padding:24px; }
}

@media (max-width:800px) {
  .woocommerce-cart .mawzen-commerce-content { width:calc(100% - 32px); padding-top:34px; padding-bottom:70px; }
  .mawzen-cart-layout { grid-template-columns:1fr; gap:48px; }
  .mawzen-cart-summary { position:static; }
  .mawzen-cart-form__header { min-height:78px; }
  .mawzen-cart-actions { align-items:stretch; }
  .mawzen-cart-cross-sells { margin-top:64px; }
  .woocommerce-cart .mawzen-cart-cross-sells ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:560px) {
  .woocommerce-cart .mawzen-commerce-page.is-cart .mawzen-commerce-hero { min-height:210px; padding-block:30px; }
  .woocommerce-cart .mawzen-commerce-page.is-cart .mawzen-commerce-hero h1 { max-width:100%; font-size:clamp(38px,11vw,46px); white-space:nowrap; }
  .woocommerce-cart .mawzen-commerce-page.is-cart .mawzen-commerce-steps { width:calc(100% - 32px); max-width:340px; }
  .woocommerce-cart .mawzen-commerce-content { width:calc(100% - 28px); padding-top:24px; }
  .woocommerce-cart .woocommerce-message,
  .woocommerce-cart .woocommerce-info,
  .woocommerce-cart .woocommerce-error { padding:13px 14px 13px 42px !important; overflow-wrap:anywhere; font-size:11px; }
  .woocommerce-cart .mawzen-shipping-promo { min-height:0; gap:12px; margin-bottom:26px; padding:16px; }
  .woocommerce-cart .mawzen-shipping-promo > i { width:36px; height:36px; font-size:15px; }
  .woocommerce-cart .mawzen-shipping-promo strong { font-size:10px; }
  .woocommerce-cart .mawzen-shipping-promo span { font-size:11px; }
  .mawzen-cart-form__header { min-height:0; align-items:start; padding-bottom:18px; }
  .mawzen-cart-form__header > a { width:32px; height:32px; justify-content:center; overflow:hidden; padding:0; border:1px solid #111; font-size:0; }
  .mawzen-cart-form__header > a i { font-size:14px; }
  .mawzen-cart-item { grid-template-columns:88px minmax(0,1fr); gap:14px; padding:22px 0; }
  .mawzen-cart-item__image { width:88px; }
  .mawzen-cart-item h3 { padding-right:24px; font-size:14px; }
  .mawzen-cart-item__reference { font-size:8px; }
  .mawzen-cart-item__top { position:relative; }
  .mawzen-cart-item__remove { position:absolute; top:0; right:0; }
  .mawzen-cart-item__remove span { display:none; }
  .mawzen-cart-item__variation { font-size:10px; }
  .mawzen-cart-item__stock { margin-top:8px; font-size:8px; }
  .mawzen-cart-item__controls { grid-template-columns:1fr 1fr; gap:14px 10px; padding-top:16px; }
  .mawzen-cart-item__unit-price { display:none; }
  .mawzen-cart-item__quantity { grid-column:1; }
  .mawzen-cart-item__subtotal { grid-column:2; text-align:right; }
  .mawzen-cart-actions { display:grid; gap:14px; margin-top:22px; }
  .mawzen-cart-coupon > div { width:100%; }
  .woocommerce-cart .mawzen-cart-update.button { width:100%; }
  .woocommerce-cart .mawzen-cart-summary .cart_totals { padding:22px 18px; }
  .mawzen-cart-totals__header h2 { font-size:36px; }
  .mawzen-cart-cross-sells { margin-top:50px; padding-top:38px; }
}
