@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,wght@0,300;0,400;0,500;0,600;1,400;1,500&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --mgcart-sage-900:#232B20;
  --mgcart-sage-700:#4C5C42;
  --mgcart-sage-600:#5F7153;
  --mgcart-sage-500:#8FA283;
  --mgcart-sage-100:#EAEEE4;
  --mgcart-sage-50:#F3F6EF;
  --mgcart-white:#FFFFFF;
  --mgcart-brass:#B3894F;
  --mgcart-brass-dark:#93703F;
  --mgcart-line:#E2E7DA;
  --mgcart-radius:14px;
  --mgcart-radius-sm:8px;
  --mgcart-ease:cubic-bezier(.4,0,.2,1);
  --mgcart-font-display:'Fraunces', Georgia, serif;
  --mgcart-font-body:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

.mg-cart-page{background:var(--mgcart-white) !important;color:var(--mgcart-sage-900);font-family:var(--mgcart-font-body) !important;padding:56px clamp(20px,4vw,56px) 100px !important;}
.mg-cart-page *{box-sizing:border-box;}
.mg-cart-inner{max-width:1320px !important;margin:0 auto !important;}
.mg-cart-title{font-family:var(--mgcart-font-display) !important;font-weight:400 !important;font-size:clamp(28px,3.2vw,40px) !important;margin:0 0 40px !important;color:var(--mgcart-sage-900) !important;}

/* ============ PUSTY KOSZYK ============ */
.mg-cart-empty{
  text-align:center;padding:80px 20px;background:var(--mgcart-sage-50) !important;border-radius:var(--mgcart-radius);
  display:flex !important;flex-direction:column !important;align-items:center !important;gap:14px;
}
.mg-cart-empty svg{width:56px;height:56px;color:var(--mgcart-sage-500);margin-bottom:6px;}
.mg-cart-empty h2{font-family:var(--mgcart-font-display) !important;font-weight:400 !important;font-size:26px !important;margin:0 !important;}
.mg-cart-empty p{margin:0 0 10px !important;color:var(--mgcart-sage-700) !important;font-size:14.5px !important;}

/* ============ PRZYCISKI ============ */
.mg-cart-btn-dark,.mg-cart-btn-outline{
  display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:9px !important;
  border-radius:100px !important;font-family:var(--mgcart-font-body) !important;font-weight:600 !important;
  font-size:13.5px !important;line-height:1 !important;cursor:pointer !important;text-decoration:none !important;
  position:relative !important;overflow:hidden !important;padding:13px 24px !important;margin:0 !important;
  transition:transform .25s var(--mgcart-ease), box-shadow .25s var(--mgcart-ease), background .2s ease !important;
}
.mg-cart-btn-dark::before,.mg-cart-btn-outline::before{
  content:'';position:absolute;top:0;left:-80%;width:45%;height:100%;
  background:linear-gradient(115deg, transparent, rgba(255,255,255,.5), transparent);
  transform:skewX(-18deg);transition:left .6s var(--mgcart-ease);pointer-events:none;
}
.mg-cart-btn-dark:hover::before,.mg-cart-btn-outline:hover::before{left:130%;}
.mg-cart-btn-dark{background:var(--mgcart-sage-900) !important;color:var(--mgcart-white) !important;border:none !important;box-shadow:0 6px 18px rgba(35,43,32,.16) !important;}
.mg-cart-btn-dark:hover{background:var(--mgcart-sage-600) !important;transform:translateY(-3px) !important;box-shadow:0 16px 30px rgba(35,43,32,.28) !important;}
.mg-cart-btn-outline{background:var(--mgcart-white) !important;color:var(--mgcart-sage-900) !important;border:1.5px solid var(--mgcart-line) !important;}
.mg-cart-btn-outline:hover{border-color:var(--mgcart-sage-500) !important;background:var(--mgcart-sage-50) !important;transform:translateY(-2px) !important;}
.mg-cart-btn-dark svg{width:16px !important;height:16px !important;}

/* ============ UKŁAD 2-KOLUMNOWY (wymuszony !important — priorytet nad motywem) ============ */
.mg-cart-grid{display:grid !important;grid-template-columns:1fr 380px !important;gap:48px !important;align-items:start !important;width:100% !important;}
@media (max-width:900px){.mg-cart-grid{grid-template-columns:1fr !important;}}
.mg-cart-main{min-width:0 !important;}
.mg-cart-side{min-width:0 !important;position:sticky !important;top:24px !important;}

/* ============ TABELA → KARTY (bez ruszania JS/AJAX WooCommerce) ============ */
.mg-cart-table{width:100% !important;border-collapse:collapse !important;}
.mg-cart-table thead{display:none !important;}
.mg-cart-table,.mg-cart-table tbody{display:block !important;width:100% !important;}
.mg-cart-table tr.woocommerce-cart-form__cart-item{
  display:grid !important;grid-template-columns:34px 90px 1fr auto auto !important;gap:18px !important;align-items:center !important;
  padding:22px 4px !important;border-bottom:1px solid var(--mgcart-line) !important;width:100% !important;float:none !important;
}
@media (max-width:700px){
  .mg-cart-table tr.woocommerce-cart-form__cart-item{grid-template-columns:26px 64px 1fr auto !important;row-gap:6px !important;}
}
.mg-cart-table td{padding:0 !important;border:none !important;float:none !important;width:auto !important;}
.mg-cart-table td.product-remove{order:1 !important;grid-column:1 !important;}
.mg-cart-table td.product-thumbnail{order:2 !important;grid-column:2 !important;}
.mg-cart-table td.product-name{order:3 !important;grid-column:3 !important;min-width:0 !important;}
.mg-cart-table td.product-price{order:4 !important;grid-column:4 !important;white-space:nowrap !important;}
.mg-cart-table td.product-quantity{order:5 !important;grid-column:5 !important;}
.mg-cart-table td.product-subtotal{display:none !important;} /* suma dubluje cenę×ilość — czyścimy widok */
@media (max-width:700px){
  .mg-cart-table td.product-remove{grid-row:1 / span 2 !important;}
  .mg-cart-table td.product-thumbnail{grid-row:1 / span 2 !important;}
  .mg-cart-table td.product-name{grid-column:3 !important;grid-row:1 !important;}
  .mg-cart-table td.product-price{grid-column:3 !important;grid-row:2 !important;justify-self:start !important;}
  .mg-cart-table td.product-quantity{grid-column:4 !important;grid-row:1 / span 2 !important;}
}

.product-remove a.remove{
  display:flex !important;align-items:center !important;justify-content:center !important;
  width:30px !important;height:30px !important;border-radius:50% !important;
  background:var(--mgcart-sage-50) !important;color:var(--mgcart-sage-700) !important;font-size:18px !important;
  text-decoration:none !important;line-height:1 !important;transition:background .2s ease, color .2s ease;
}
.product-remove a.remove:hover{background:#FBEAE6 !important;color:#D9633F !important;}

.product-thumbnail img{width:80px !important;height:80px !important;object-fit:cover !important;border-radius:var(--mgcart-radius-sm) !important;display:block !important;background:var(--mgcart-sage-50);max-width:none !important;}
@media (max-width:700px){.product-thumbnail img{width:64px !important;height:64px !important;}}

.product-name{font-size:14.5px !important;font-weight:600 !important;line-height:1.4 !important;}
.product-name a{color:var(--mgcart-sage-900) !important;text-decoration:none !important;}
.product-name a:hover{color:var(--mgcart-sage-700) !important;}
.product-name dl.variation{font-size:12.5px !important;color:var(--mgcart-sage-700) !important;font-weight:400 !important;margin:8px 0 0 !important;}
.product-name dl.variation dt,.product-name dl.variation dd{display:inline !important;margin:0 !important;}
.product-name dl.variation dt::after{content:': ';}
.product-name dl.variation p{margin:0 !important;}
.product-name .mg-cart-item-price{display:block !important;margin-top:6px !important;font-size:13px !important;font-weight:500 !important;color:var(--mgcart-sage-700) !important;}

.product-price{font-size:14px !important;font-weight:600 !important;color:var(--mgcart-sage-900) !important;}
.product-price ins{text-decoration:none !important;}
.product-price del{opacity:.5 !important;font-size:12px !important;}

.product-quantity input.qty{
  width:60px !important;height:40px !important;border:1px solid var(--mgcart-line) !important;border-radius:var(--mgcart-radius-sm) !important;
  text-align:center !important;font-size:14px !important;font-weight:600 !important;color:var(--mgcart-sage-900) !important;
  font-family:var(--mgcart-font-body) !important;padding:0 !important;
}
.product-quantity input.qty:focus{outline:none !important;border-color:var(--mgcart-sage-500) !important;}

/* wiersz akcji: kupon + aktualizuj koszyk */
.mg-cart-table tr td.actions{
  display:flex !important;flex-wrap:wrap !important;gap:14px !important;align-items:center !important;
  justify-content:space-between !important;padding-top:28px !important;width:100% !important;
}
.mg-cart-table .coupon{display:flex !important;gap:10px !important;flex-wrap:wrap !important;align-items:center !important;}
.mg-cart-table .coupon label{font-size:12.5px !important;font-weight:600 !important;color:var(--mgcart-sage-700) !important;margin-right:4px !important;}
.mg-cart-table .coupon input#coupon_code{
  height:44px !important;padding:0 16px !important;border:1px solid var(--mgcart-line) !important;border-radius:100px !important;
  font-size:13.5px !important;font-family:var(--mgcart-font-body) !important;min-width:180px !important;margin:0 !important;
}
.mg-cart-table .coupon input#coupon_code:focus{outline:none !important;border-color:var(--mgcart-sage-500) !important;}

/* ============ PODSUMOWANIE (SIDEBAR) ============ */
.mg-cart-totals{
  background:var(--mgcart-sage-50) !important;border:1px solid var(--mgcart-line) !important;border-radius:var(--mgcart-radius) !important;
  padding:28px 26px !important;display:block !important;width:100% !important;
}
.mg-cart-totals h2{font-family:var(--mgcart-font-display) !important;font-weight:500 !important;font-size:20px !important;margin:0 0 20px !important;color:var(--mgcart-sage-900) !important;}
.mg-cart-totals table{width:100% !important;border-collapse:collapse !important;display:table !important;}
.mg-cart-totals table tr{display:flex !important;justify-content:space-between !important;align-items:baseline !important;padding:11px 0 !important;border-bottom:1px solid var(--mgcart-line) !important;}
.mg-cart-totals table tr th{font-size:13.5px !important;font-weight:500 !important;color:var(--mgcart-sage-700) !important;text-align:left !important;}
.mg-cart-totals table tr td{font-size:14px !important;font-weight:600 !important;color:var(--mgcart-sage-900) !important;text-align:right !important;}
.mg-cart-totals table tr.order-total{border-bottom:none !important;padding-top:16px !important;}
.mg-cart-totals table tr.order-total th{font-size:15px !important;font-weight:700 !important;color:var(--mgcart-sage-900) !important;}
.mg-cart-totals table tr.order-total td{font-family:var(--mgcart-font-display) !important;font-size:22px !important;font-weight:500 !important;color:var(--mgcart-sage-900) !important;}
.mg-cart-totals table tr.order-total td .includes_tax{display:none !important;}
.mg-cart-totals .woocommerce-shipping-calculator{margin-top:8px !important;width:100% !important;}
.mg-cart-totals .woocommerce-shipping-calculator a.shipping-calculator-button{font-size:12.5px !important;color:var(--mgcart-sage-700) !important;text-decoration:underline !important;}

/* metody wysyłki — ikony przewoźników + grupy (Kurier / Do punktu odbioru) */
.mg-cart-totals ul#shipping_method{list-style:none !important;margin:0 !important;padding:0 !important;display:grid !important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr)) !important;gap:8px !important;width:100% !important;}
.mg-cart-totals ul#shipping_method .mg-shipping-group-label{grid-column:1 / -1 !important;}
.mg-cart-totals ul#shipping_method li{
  display:flex !important;align-items:center !important;gap:9px !important;padding:10px 12px !important;
  background:var(--mgcart-white) !important;border:1px solid var(--mgcart-line) !important;border-radius:var(--mgcart-radius-sm) !important;
  font-size:12.5px !important;font-weight:500 !important;width:100% !important;
}
.mg-cart-totals ul#shipping_method input{margin:0 !important;flex:none !important;}
.mg-cart-totals .mg-carrier-logo{
  height:18px !important;width:44px !important;max-width:44px !important;object-fit:contain !important;
  object-position:left center !important;flex:none !important;
}
.mg-cart-totals .mg-carrier-icon{
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  width:44px !important;height:22px !important;border-radius:6px !important;flex:none !important;color:var(--mgcart-white) !important;
}
.mg-cart-totals .mg-carrier-icon svg{width:13px !important;height:13px !important;}
.mg-cart-totals .mg-carrier-default{background:var(--mgcart-sage-600) !important;}
.mg-cart-totals .mg-carrier-label{flex:1 !important;margin-left:4px !important;}
.mg-cart-totals .mg-shipping-group-label{
  font-size:10.5px !important;text-transform:uppercase !important;letter-spacing:.1em !important;font-weight:700 !important;
  color:var(--mgcart-brass-dark) !important;margin:10px 0 0 !important;
}
.mg-cart-totals .mg-shipping-group-label:first-child{margin-top:0 !important;}
.mg-cart-totals .shipping-calculator-form select,
.mg-cart-totals .shipping-calculator-form input{
  width:100% !important;margin-top:8px !important;padding:10px 12px !important;border:1px solid var(--mgcart-line) !important;
  border-radius:var(--mgcart-radius-sm) !important;font-family:var(--mgcart-font-body) !important;font-size:13px !important;
}

.mg-cart-trust{display:flex !important;align-items:center !important;gap:9px !important;margin-top:20px !important;font-size:12px !important;color:var(--mgcart-sage-700) !important;}
.mg-cart-trust svg{width:18px !important;height:18px !important;color:var(--mgcart-sage-500) !important;flex:none !important;}

.wc-proceed-to-checkout{margin-top:22px !important;display:block !important;width:100% !important;}
.wc-proceed-to-checkout a.checkout-button{
  display:flex !important;flex-wrap:nowrap !important;align-items:center !important;justify-content:center !important;text-align:center !important;gap:7px !important;
  width:100% !important;background:var(--mgcart-sage-900) !important;color:var(--mgcart-white) !important;
  border-radius:100px !important;padding:11px 18px !important;font-weight:600 !important;font-size:13px !important;
  text-decoration:none !important;border:none !important;transition:background .2s ease, transform .2s var(--mgcart-ease), box-shadow .2s ease !important;
  box-shadow:0 4px 12px rgba(35,43,32,.14) !important;margin:0 !important;position:relative !important;overflow:hidden !important;
  letter-spacing:.01em !important;box-sizing:border-box !important;white-space:nowrap !important;line-height:1 !important;
}
.wc-proceed-to-checkout a.checkout-button::before{
  content:'';position:absolute;top:0;left:-80%;width:45%;height:100%;
  background:linear-gradient(115deg, transparent, rgba(255,255,255,.5), transparent);
  transform:skewX(-18deg);transition:left .6s var(--mgcart-ease);pointer-events:none;
}
.wc-proceed-to-checkout a.checkout-button:hover::before{left:130%;}
.wc-proceed-to-checkout a.checkout-button::after{
  content:'';width:12px;height:12px;flex:none;display:inline-block;vertical-align:middle;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size:contain;background-repeat:no-repeat;transition:transform .25s var(--mgcart-ease);
}
.wc-proceed-to-checkout a.checkout-button:hover{background:var(--mgcart-sage-600) !important;transform:translateY(-3px) !important;box-shadow:0 14px 26px rgba(35,43,32,.25) !important;}
.wc-proceed-to-checkout a.checkout-button:hover::after{transform:translateX(4px);}


/* ============ PASEK "DARMOWA WYSYŁKA OD..." motywu — dopasowanie do naszej szerokości ============ */
.mg-cart-page .woocommerce-message,
.mg-cart-page .wc-block-cart{max-width:100% !important;}

/* ============ PASEK "DARMOWA WYSYŁKA" wtyczki (wfspb) — restyle ============ */
.woocommerce-free-shipping-bar-order{
  background:var(--mgcart-sage-50) !important;border:1px solid var(--mgcart-line) !important;
  border-radius:var(--mgcart-radius) !important;padding:20px 26px !important;margin:0 0 32px !important;
  max-width:1320px !important;margin-left:auto !important;margin-right:auto !important;
}
.woocommerce-free-shipping-bar-order *{box-sizing:border-box !important;}
.woocommerce-free-shipping-bar-order-content{
  width:100% !important;display:flex !important;flex-direction:column !important;gap:10px !important;
}
.woocommerce-free-shipping-bar-message{
  font-family:var(--mgcart-font-body) !important;font-size:14px !important;font-weight:700 !important;
  color:var(--mgcart-sage-900) !important;text-align:center !important;margin:0 !important;order:1 !important;
}
.woocommerce-free-shipping-bar-message p{margin:0 !important;}

/* pasek postępu wtyczki, niezależnie jaki dokładnie element go renderuje */
.woocommerce-free-shipping-bar-order progress,
.woocommerce-free-shipping-bar-order [class*="progress"],
.woocommerce-free-shipping-bar-order [class*="-bar"]:not(.woocommerce-free-shipping-bar-order){
  width:100% !important;height:8px !important;border-radius:100px !important;border:none !important;
  background:var(--mgcart-line) !important;overflow:hidden !important;order:2 !important;display:block !important;
  appearance:none !important;-webkit-appearance:none !important;
}
.woocommerce-free-shipping-bar-order progress::-webkit-progress-bar{background:var(--mgcart-line) !important;border-radius:100px !important;}
.woocommerce-free-shipping-bar-order progress::-webkit-progress-value{background:var(--mgcart-brass) !important;border-radius:100px !important;}
.woocommerce-free-shipping-bar-order progress::-moz-progress-bar{background:var(--mgcart-brass) !important;border-radius:100px !important;}

/* kwoty min/max (np. "0,00 zł" i "400,00 zł") — dowolne dwa elementy tekstowe
   poza komunikatem i paskiem postępu ustawiamy jako parę: lewo/prawo pod paskiem */
.woocommerce-free-shipping-bar-order-content > *:not(.woocommerce-free-shipping-bar-message):not(progress):not(p){
  order:3 !important;font-size:11.5px !important;font-weight:600 !important;color:var(--mgcart-sage-700) !important;
}
.woocommerce-free-shipping-bar-order-content{flex-wrap:wrap !important;}
.woocommerce-free-shipping-bar-order-content > *:nth-of-type(3){margin-right:auto !important;}
.woocommerce-free-shipping-bar-order-content > *:nth-of-type(4){margin-left:auto !important;}


/* ============ CROSS-SELLS ============ */
.mg-cart-page .cross-sells{margin-top:70px !important;}
.mg-cart-page .cross-sells > h2{font-family:var(--mgcart-font-display) !important;font-weight:400 !important;font-size:26px !important;margin:0 0 26px !important;}
.mg-cart-page .cross-sells ul.products{
  display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:24px !important;
  list-style:none !important;padding:0 !important;margin:0 !important;
}
@media (max-width:900px){.mg-cart-page .cross-sells ul.products{grid-template-columns:repeat(2,1fr) !important;}}
.mg-cart-page .cross-sells ul.products li.product img{border-radius:var(--mgcart-radius-sm) !important;aspect-ratio:1/1;object-fit:cover !important;max-width:100% !important;}
