
/* ===================================================
   SYN CART – LIGHT / CLEAN / FINAL / PREMIUM
=================================================== */

:root{
  --syn-cart-plum:#4B3153;
  --syn-cart-plum-dark:#392240;
  --syn-cart-plum-soft:#F6EFF8;
  --syn-cart-bg:#FFFFFF;
  --syn-cart-bg-soft:#FCF9FD;
  --syn-cart-text:#1F1B24;
  --syn-cart-muted:#6B6372;
  --syn-cart-line:rgba(75,49,83,.12);
  --syn-cart-line-strong:rgba(75,49,83,.16);
  --syn-cart-shadow:0 28px 70px rgba(31,27,36,.16);
  --syn-cart-shadow-soft:0 16px 36px rgba(31,27,36,.08);
  --syn-cart-radius-xl:26px;
  --syn-cart-radius-lg:20px;
  --syn-cart-radius-md:16px;
  --syn-cart-radius-sm:12px;
  --syn-cart-font:"Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* Scrollbar dla głównego okna koszyka (żeby pozbyć się szarej szyny) */
#synFullCartModal .syn-fullcart__body::-webkit-scrollbar { width: 6px; }
#synFullCartModal .syn-fullcart__body::-webkit-scrollbar-track { background: transparent; }
#synFullCartModal .syn-fullcart__body::-webkit-scrollbar-thumb { background: rgba(75,49,83,.2); border-radius: 10px; }

/* =========================
   TRIGGER
========================= */
button.syn-cart-trigger.syn-nav__cart{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:48px !important;
  min-width:48px !important;
  max-width:48px !important;
  height:48px !important;
  min-height:48px !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:999px !important;
  background:linear-gradient(180deg, rgba(58,36,63,.96) 0%, rgba(34,21,38,.98) 100%) !important;
  border:1px solid rgba(255,255,255,.11) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 12px 28px rgba(18,10,22,.26) !important;
  color:#fff !important;
  overflow:visible !important;
  transform:none !important;
  transition:
    background .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    transform .18s ease !important;
}

button.syn-cart-trigger.syn-nav__cart:hover,
button.syn-cart-trigger.syn-nav__cart:focus-visible,
button.syn-cart-trigger.syn-nav__cart:active{
  background:linear-gradient(180deg, rgba(48,29,53,.98) 0%, rgba(24,14,27,.98) 100%) !important;
  border-color:rgba(255,255,255,.15) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 16px 32px rgba(12,6,14,.30) !important;
  color:#fff !important;
  transform:translateY(-1px) !important;
  outline:none !important;
}

button.syn-cart-trigger.syn-nav__cart::before,
button.syn-cart-trigger.syn-nav__cart::after{ content:none !important; display:none !important; }
button.syn-cart-trigger.syn-nav__cart .syn-nav__cartText{ display:none !important; }

button.syn-cart-trigger.syn-nav__cart .syn-nav__cartIcon{
  width:24px !important; height:24px !important; flex:0 0 24px !important; display:inline-block !important; margin:0 !important; color:#fff !important; background-color:currentColor !important; font-size:0 !important; line-height:0 !important;
  -webkit-mask-repeat:no-repeat !important; mask-repeat:no-repeat !important; -webkit-mask-position:center !important; mask-position:center !important; -webkit-mask-size:contain !important; mask-size:contain !important;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M7 18a2 2 0 1 0 2 2 2 2 0 0 0-2-2Zm10 0a2 2 0 1 0 2 2 2 2 0 0 0-2-2ZM7.17 14h9.92a2 2 0 0 0 1.78-1.1l3.03-5.9A1 1 0 0 0 21 5H6.21L5.27 3.73A2 2 0 0 0 3.66 3H2v2h1.66l3.2 4.27-1.2 2.2A2 2 0 0 0 7.17 14Z'/></svg>") !important;
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M7 18a2 2 0 1 0 2 2 2 2 0 0 0-2-2Zm10 0a2 2 0 1 0 2 2 2 2 0 0 0-2-2ZM7.17 14h9.92a2 2 0 0 0 1.78-1.1l3.03-5.9A1 1 0 0 0 21 5H6.21L5.27 3.73A2 2 0 0 0 3.66 3H2v2h1.66l3.2 4.27-1.2 2.2A2 2 0 0 0 7.17 14Z'/></svg>") !important;
}

.syn-cart-trigger__count.syn-nav__cartCount{
  position:absolute !important; top:-4px !important; right:-5px !important; min-width:18px !important; height:18px !important; padding:0 5px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; border-radius:999px !important; background:#fff !important; color:#4B3153 !important; font-size:9px !important; line-height:18px !important; font-weight:700 !important; box-shadow:0 4px 10px rgba(0,0,0,.18) !important;
}

@media (max-width: 767px){
  button.syn-cart-trigger.syn-nav__cart{ width:44px !important; min-width:44px !important; max-width:44px !important; height:44px !important; min-height:44px !important; }
  button.syn-cart-trigger.syn-nav__cart .syn-nav__cartIcon{ width:22px !important; height:22px !important; flex:0 0 22px !important; }
}

/* =========================
   OVERLAY & MODALS
========================= */
.syn-cart-overlay{ position:fixed; inset:0; background:rgba(31,27,36,.28); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); opacity:0; pointer-events:none; transition:opacity .2s ease; z-index:200000; }
.syn-cart-overlay.is-open{ opacity:1; pointer-events:auto; }

.syn-cart-modal, .syn-fullcart-modal{ position:fixed; z-index:200001; }
.syn-cart-modal{ opacity:0; pointer-events:none; transition:opacity .18s ease, transform .18s ease; }
.syn-cart-modal.is-open{ opacity:1; pointer-events:auto; }
.syn-cart-modal.is-desktop{ transform:translateY(8px); }
.syn-cart-modal.is-open.is-desktop{ transform:translateY(0); }

.syn-fullcart-modal{ inset:0; display:none; align-items:center; justify-content:center; z-index:210000; }
.syn-fullcart-modal.active{ display:flex; }
.syn-fullcart__overlay{ position:absolute; inset:0; background:rgba(31,27,36,.34); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }

/* KONTENERY KOSZYKA */
#synCartModal .syn-cart-modal__box, #synFullCartModal .syn-fullcart__box {
  border-radius:var(--syn-cart-radius-xl) !important; background:linear-gradient(180deg, var(--syn-cart-bg) 0%, var(--syn-cart-bg-soft) 100%) !important; border:1px solid var(--syn-cart-line) !important; box-shadow:var(--syn-cart-shadow) !important; overflow:hidden; display:flex; flex-direction:column; font-family:var(--syn-cart-font); color:var(--syn-cart-text);
}
#synCartModal .syn-cart-modal__box { width:min(540px, calc(100vw - 24px)); max-height:min(82vh, 760px); }
#synFullCartModal .syn-fullcart__box { position: relative !important; width:min(1120px, calc(100vw - 36px)); max-height:calc(100vh - 32px); }

/* NAGŁÓWKI */
#synCartModal .syn-cart-modal__head, #synFullCartModal .syn-cart-modal__head { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:12px !important; padding:18px 18px 16px !important; background:rgba(255,255,255,.92) !important; border-bottom:1px solid var(--syn-cart-line) !important; flex:0 0 auto !important; }
#synFullCartModal .syn-cart-modal__head { padding-right: 74px !important; }
#synCartModal .syn-cart-modal__title, #synFullCartModal .syn-cart-modal__title { color:var(--syn-cart-text) !important; font-size:14px !important; line-height:1 !important; font-weight:700 !important; letter-spacing:.10em !important; text-transform:uppercase !important; margin: 0 !important; }

/* KRZYŻYK ZAMYKANIA */
#synCartModal .syn-cart-close, #synFullCartModal .syn-cart-close {
  width:40px !important; height:40px !important; padding:0 !important; border:1px solid rgba(75,49,83,.18) !important; background:transparent !important; box-shadow:none !important; border-radius:14px !important; color:var(--syn-cart-plum) !important; font-size:22px !important; line-height:1 !important; font-weight:700 !important; display:flex !important; align-items:center !important; justify-content:center !important; cursor:pointer !important; outline:none !important; appearance:none !important; -webkit-appearance:none !important; transition: color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}
#synFullCartModal .syn-cart-close { position: absolute !important; top: 14px !important; right: 18px !important; z-index: 10 !important; }
#synCartModal .syn-cart-close:hover, #synCartModal .syn-cart-close:focus-visible, #synFullCartModal .syn-cart-close:hover, #synFullCartModal .syn-cart-close:focus-visible { background:transparent !important; color:var(--syn-cart-plum-dark) !important; border-color:rgba(75,49,83,.28) !important; transform:translateY(-1px) rotate(90deg) scale(1.04) !important; box-shadow:0 8px 18px rgba(75,49,83,.08) !important; }
#synCartModal .syn-cart-close::before, #synCartModal .syn-cart-close::after, #synFullCartModal .syn-cart-close::before, #synFullCartModal .syn-cart-close::after { content:none !important; display:none !important; }

/* BODY KOSZYKÓW */
#synCartModal .syn-cart-modal__body { padding:16px; flex:1 1 auto; overflow:auto; min-height:160px; background:transparent; }
#synFullCartModal .syn-fullcart__body { flex:1 1 auto; overflow:auto; padding:24px !important; background:transparent !important; }

/* =========================
   WSZYSTKIE PRZYCISKI – ZAWSZE ŚLIWKOWE TŁO
========================= */
#synCartModal .syn-cart-btn, #synFullCartModal .woocommerce .actions .button, #synFullCartModal .woocommerce a.button, #synFullCartModal .woocommerce button.button, #synFullCartModal .woocommerce input.button, #synFullCartModal .woocommerce .checkout-button, #synFullCartModal .wc-proceed-to-checkout a.checkout-button, #synFullCartModal .woocommerce a.button.alt {
  min-height:48px !important; height:48px !important; padding:0 18px !important; border-radius:999px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; font-family:var(--syn-cart-font) !important; font-size:11px !important; line-height:1 !important; font-weight:700 !important; letter-spacing:.08em !important; text-transform:uppercase !important; text-decoration:none !important; cursor:pointer !important; box-shadow:none !important; background:var(--syn-cart-plum) !important; color:#fff !important; border:1px solid transparent !important; transition:transform .18s ease, background .18s ease, border-color .18s ease !important;
}
#synCartModal .syn-cart-btn:hover, #synCartModal .syn-cart-btn:focus-visible, #synFullCartModal .woocommerce .actions .button:hover, #synFullCartModal .woocommerce a.button:hover, #synFullCartModal .woocommerce button.button:hover, #synFullCartModal .woocommerce input.button:hover, #synFullCartModal .woocommerce .checkout-button:hover, #synFullCartModal .wc-proceed-to-checkout a.checkout-button:hover, #synFullCartModal .woocommerce a.button.alt:hover, #synFullCartModal .woocommerce .actions .button:focus-visible, #synFullCartModal .woocommerce a.button:focus-visible, #synFullCartModal .woocommerce button.button:focus-visible, #synFullCartModal .woocommerce input.button:focus-visible, #synFullCartModal .woocommerce .checkout-button:focus-visible, #synFullCartModal .wc-proceed-to-checkout a.checkout-button:focus-visible, #synFullCartModal .woocommerce a.button.alt:focus-visible {
  background:var(--syn-cart-plum-dark) !important; color:#fff !important; transform:translateY(-1px) !important;
}

/* BEZWZGLĘDNE UKRYCIE PRZYCISKU ZAKTUALIZUJ KOSZYK (BROŃ ATOMOWA CSS) */
#synFullCartModal button[name="update_cart"],
#synFullCartModal input[name="update_cart"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    pointer-events: none !important;
}

/* =========================
   MINI CART SPECYFICZNE STYLE
========================= */
#synCartModal .widget_shopping_cart_content{ display:block; }
#synCartModal .syn-mini-cart__list{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
#synCartModal .syn-mini-cart__item{ display:grid; grid-template-columns:72px minmax(0,1fr) 32px; gap:14px; align-items:start; padding:14px; border-radius:18px; background:#fff; border:1px solid var(--syn-cart-line); box-shadow:0 8px 20px rgba(31,27,36,.04); }
#synCartModal .syn-mini-cart__thumb{ display:flex; align-items:flex-start; justify-content:center; width:72px; min-width:72px; max-width:72px; text-decoration:none; }
#synCartModal .syn-mini-cart__thumb img{ width:72px; height:92px; object-fit:cover; border-radius:0 !important; border:1px solid rgba(75,49,83,.10); background:#fff; }
#synCartModal .syn-mini-cart__content{ min-width:0; display:grid; gap:8px; }
#synCartModal .syn-mini-cart__title{ display:block; color:var(--syn-cart-text); text-decoration:none; font-size:15px; line-height:1.45; font-weight:700; white-space:normal; word-break:break-word; overflow-wrap:anywhere; }
#synCartModal .syn-mini-cart__title:hover{ color:var(--syn-cart-plum); }
#synCartModal .syn-mini-cart__meta{ display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; font-size:13px; line-height:1.5; color:var(--syn-cart-muted); }
#synCartModal .syn-mini-cart__qty{ font-weight:600; }
#synCartModal .syn-mini-cart__price{ color:var(--syn-cart-plum); font-weight:700; }
#synCartModal .syn-mini-cart__remove{ width:32px; height:32px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:transparent; border:1px solid transparent; color:rgba(75,49,83,.72); text-decoration:none; font-size:18px; line-height:1; font-weight:700; box-shadow:none; outline:none; transition: color .18s ease, transform .18s ease, opacity .18s ease; }
#synCartModal .syn-mini-cart__remove:hover, #synCartModal .syn-mini-cart__remove:focus-visible{ background:transparent; border-color:transparent; color:var(--syn-cart-plum); transform:translateY(-1px) rotate(90deg) scale(1.06); opacity:1; }
#synCartModal .syn-mini-cart__total{ margin-top:14px; padding:16px 18px; border-radius:18px; background:#fff; border:1px solid var(--syn-cart-line); display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:14px; line-height:1.4; font-weight:700; color:var(--syn-cart-text); }
#synCartModal .syn-mini-cart__total strong{ color:var(--syn-cart-plum); font-size:20px; line-height:1; letter-spacing:-.02em; }
#synCartModal .syn-mini-cart__empty{ margin:0; padding:16px; border-radius:16px; background:#fff; border:1px solid var(--syn-cart-line); color:var(--syn-cart-muted); font-size:14px; line-height:1.6; font-weight:600; }
#synCartModal .syn-cart-modal__foot{ display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:14px 16px 16px; border-top:1px solid var(--syn-cart-line); background:rgba(255,255,255,.84); flex:0 0 auto; }


/* =========================
   FULL CART – WOO TABLE (STYL PREMIUM NA DESKTOP)
========================= */
.syn-fullcart__loading{ padding:32px; border-radius:18px; background:#fff; border:1px solid var(--syn-cart-line); color:var(--syn-cart-muted); font-size:14px; line-height:1.6; font-weight:600; text-align:center; }
#synFullCartModal .woocommerce{ color:var(--syn-cart-text) !important; }
#synFullCartModal .woocommerce a{ color:var(--syn-cart-text) !important; }
#synFullCartModal .woocommerce-notices-wrapper{ margin-bottom:16px; }
#synFullCartModal .woocommerce-message, #synFullCartModal .woocommerce-error, #synFullCartModal .woocommerce-info{ background:#fff !important; border:1px solid var(--syn-cart-line) !important; color:var(--syn-cart-text) !important; border-radius:16px !important; box-shadow:none !important; }
#synFullCartModal .woocommerce-message a, #synFullCartModal .woocommerce-error a, #synFullCartModal .woocommerce-info a{ color:var(--syn-cart-plum) !important; text-decoration:underline !important; }
#synFullCartModal form.woocommerce-cart-form{ margin:0 0 22px !important; }

#synFullCartModal .shop_table, #synFullCartModal table.shop_table{ width:100% !important; table-layout:fixed !important; border-collapse:separate !important; border-spacing:0 !important; background:transparent !important; border:0 !important; box-shadow:none !important; }
#synFullCartModal table.shop_table thead th{ background:transparent !important; border:0 !important; padding:0 14px 16px !important; color:rgba(75,49,83,.68) !important; font-size:11px !important; line-height:1.2 !important; font-weight:700 !important; letter-spacing:.12em !important; text-transform:uppercase !important; border-bottom:1px solid var(--syn-cart-line) !important; }

#synFullCartModal table.shop_table tbody tr{ background:transparent !important; border:none !important; border-radius:0 !important; box-shadow:none !important; margin-bottom:0 !important; }
#synFullCartModal table.shop_table tbody td{ background:transparent !important; border:none !important; border-bottom:1px solid rgba(75,49,83,.06) !important; padding:24px 14px !important; vertical-align:middle !important; color:var(--syn-cart-text) !important; }
#synFullCartModal table.shop_table tbody tr:last-child td { border-bottom: none !important; }

#synFullCartModal .product-remove{ width:58px !important; }
#synFullCartModal .product-thumbnail{ width:94px !important; }
#synFullCartModal .product-thumbnail img{ width:72px !important; height:92px !important; object-fit:cover !important; border-radius:12px !important; border:1px solid rgba(75,49,83,.05) !important; background:#fff !important; box-shadow:0 4px 12px rgba(31,27,36,.03) !important; }

#synFullCartModal .product-name{ width:34% !important; }
#synFullCartModal .product-name, #synFullCartModal .product-name *{ min-width:0 !important; }
#synFullCartModal .product-name a{ display:block !important; color:var(--syn-cart-text) !important; text-decoration:none !important; font-size:15px !important; line-height:1.5 !important; font-weight:700 !important; white-space:normal !important; word-break:break-word !important; overflow-wrap:anywhere !important; }
#synFullCartModal .product-name a:hover{ color:var(--syn-cart-plum) !important; }
#synFullCartModal .product-price, #synFullCartModal .product-subtotal{ white-space:nowrap !important; color:var(--syn-cart-text) !important; font-weight:700 !important; }
#synFullCartModal .product-price .amount, #synFullCartModal .product-subtotal .amount{ color:var(--syn-cart-plum) !important; }

#synFullCartModal .product-remove a.remove{ width:34px !important; height:34px !important; border-radius:12px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; background:transparent !important; border:none !important; color:rgba(75,49,83,.4) !important; font-size:20px !important; line-height:1 !important; font-weight:400 !important; box-shadow:none !important; }
#synFullCartModal .product-remove a.remove:hover, #synFullCartModal .product-remove a.remove:focus-visible{ background:transparent !important; color:var(--syn-cart-plum) !important; transform:scale(1.1) !important; outline:none !important; }

#synFullCartModal .quantity .qty, #synFullCartModal input.qty{ min-height:44px !important; height:44px !important; border-radius:12px !important; background:rgba(75,49,83,.03) !important; border:1px solid transparent !important; color:var(--syn-cart-plum) !important; box-shadow:none !important; font-family:var(--syn-cart-font) !important; text-align:center !important; font-weight:600 !important; }
#synFullCartModal .quantity .qty:focus, #synFullCartModal input.qty:focus{ background:#fff !important; border-color:rgba(75,49,83,.15) !important; outline:none !important; }

/* KUPON I PRZYCISK ZAPISANE W JEDNEJ LINII (DESKTOP) */
#synFullCartModal .woocommerce-cart-form .actions{ background:transparent !important; padding: 24px 0 0 0 !important; border: none !important; }
#synFullCartModal .woocommerce-cart-form .coupon { display:flex !important; flex-direction: row !important; flex-wrap: nowrap !important; gap:12px !important; align-items:center !important; width: 100% !important; max-width: 540px !important; }
#synFullCartModal .woocommerce-cart-form .coupon label { display: none !important; }
#synFullCartModal .woocommerce-cart-form .coupon input#coupon_code { flex: 1 !important; min-width: 0 !important; width: auto !important; margin: 0 !important; height:48px !important; padding:0 20px !important; border-radius:999px !important; background:#fff !important; border:1px solid var(--syn-cart-line) !important; color:var(--syn-cart-text) !important; box-sizing:border-box !important; font-family:var(--syn-cart-font) !important; }
#synFullCartModal .woocommerce-cart-form .coupon input#coupon_code::placeholder{ color:rgba(75,49,83,.44) !important; }
#synFullCartModal .woocommerce-cart-form .coupon button.button { flex: 0 0 auto !important; width: auto !important; margin: 0 !important; }

/* PODSUMOWANIE PREMIUM + WYSYŁKA FURGONETKA */
#synFullCartModal .cart-collaterals{ display:grid !important; gap:20px !important; }
#synFullCartModal .cart_totals{ padding:32px 32px 40px !important; border-radius:24px !important; background:var(--syn-cart-bg-soft) !important; border:none !important; color:var(--syn-cart-text) !important; box-shadow:none !important; }
#synFullCartModal .cart_totals h2{ color:var(--syn-cart-text) !important; font-size:18px !important; font-weight:700 !important; line-height:1.2 !important; margin:0 0 24px !important; padding-bottom:16px !important; border-bottom:1px solid rgba(75,49,83,.08) !important; }
#synFullCartModal .cart_totals table, #synFullCartModal .cart_totals .shop_table{ background:transparent !important; border:0 !important; box-shadow:none !important; border-spacing:0 !important; width: 100% !important; }
#synFullCartModal .cart_totals table td, #synFullCartModal .cart_totals table th{ padding:16px 0 !important; color:var(--syn-cart-text) !important; border:none !important; border-bottom:1px dashed rgba(75,49,83,.15) !important; background: transparent !important; }
#synFullCartModal .cart_totals tr:last-child td, #synFullCartModal .cart_totals tr:last-child th { border-bottom: none !important; }

/* WYSYŁKA I PACZKOMATY (Style naprawcze dla widoczności) */
#synFullCartModal ul#shipping_method { list-style: none !important; padding: 0 !important; margin: 0 0 12px 0 !important; }
#synFullCartModal ul#shipping_method li { display: flex !important; align-items: center !important; gap: 8px !important; margin-bottom: 10px !important; }
#synFullCartModal ul#shipping_method input[type="radio"] { margin: 0 !important; }
#synFullCartModal .woocommerce-shipping-destination { font-size: 13px !important; color: var(--syn-cart-muted) !important; margin-bottom: 12px !important; }
#synFullCartModal .shipping-calculator-button { color: var(--syn-cart-plum) !important; font-weight: 600 !important; text-decoration: underline !important; }

#synFullCartModal .cart_totals .order-total th, #synFullCartModal .cart_totals .order-total td { padding-top: 24px !important; font-size: 16px !important; }
#synFullCartModal .cart_totals .amount{ color:var(--syn-cart-plum) !important; font-weight:700 !important; }

/* helper */
header, .elementor-location-header, .elementor-section, .elementor-container, .elementor-widget-wrap, .syn-nav, .syn-nav__inner{ overflow:visible !important; }

/* =========================
   RESPONSIVE (DESKTOP / TABLET)
========================= */
@media (min-width: 980px){
  #synFullCartModal .cart-collaterals{ justify-content:end !important; }
  #synFullCartModal .cart_totals{ width:min(100%, 420px); margin-left:auto !important; }
}

@media (max-width: 860px){
  .syn-cart-modal{ left:50% !important; top:50% !important; right:auto !important; bottom:auto !important; transform:translate(-50%, -50%) scale(.985) !important; width:auto !important; }
  .syn-cart-modal.is-open{ transform:translate(-50%, -50%) scale(1) !important; }
  #synCartModal .syn-cart-modal__box{ width:min(430px, calc(100vw - 24px)) !important; border-radius:20px !important; }
  #synCartModal .syn-cart-modal__foot{ grid-template-columns:1fr !important; }
  #synFullCartModal .syn-fullcart__box{ width:min(94vw, 720px) !important; border-radius:20px !important; background: linear-gradient(180deg, #FFFFFF 0%, #FCF9FD 100%) !important; }
}

/* =========================
   RESPONSIVE MOBILE - PEŁNA PRZEBUDOWA UX
========================= */
@media (max-width: 640px){
  #synCartModal .syn-mini-cart__item{ grid-template-columns:62px minmax(0,1fr) 30px; gap:12px; padding:12px; }
  #synCartModal .syn-mini-cart__thumb, #synCartModal .syn-mini-cart__thumb img{ width:62px !important; min-width:62px !important; max-width:62px !important; height:80px !important; }
  #synCartModal .syn-mini-cart__title{ font-size:14px !important; }
  #synCartModal .syn-mini-cart__meta{ font-size:12px !important; }
  #synFullCartModal .syn-fullcart__body{ padding:16px !important; }
  #synFullCartModal table.shop_table thead{ display:none !important; }
  
  /* Budowa eleganckiej "Karty Produktu" na mobile */
  #synFullCartModal table.shop_table tbody tr.cart_item { 
      display: flex !important; 
      flex-direction: column !important; 
      padding: 24px 16px 16px 16px !important; 
      position: relative !important; 
      margin-bottom: 20px !important; 
      border: 1px solid rgba(75,49,83,.08) !important; 
      border-radius: 20px !important; 
      background: #fff !important; 
  }
  
  /* Krzyżyk wyciągnięty w prawy, górny róg karty na równi z jej krawędzią */
  #synFullCartModal table.shop_table td.product-remove { 
      position: absolute !important; 
      top: 16px !important; 
      right: 16px !important; 
      padding: 0 !important; 
      border: none !important; 
      width: auto !important; 
      display: block !important;
  }
  #synFullCartModal table.shop_table td.product-remove::before { display: none !important; }
  
  /* Nazwa produktu z marginesem pod krzyżyk */
  #synFullCartModal table.shop_table td.product-name { 
      padding: 0 40px 16px 0 !important; 
      border-bottom: 1px solid rgba(75,49,83,.06) !important; 
      width: 100% !important;
      display: block !important;
  }
  #synFullCartModal table.shop_table td.product-name::before { display: none !important; }
  
  /* Wiersze Cena / Ilość / Kwota ustawione w jednej równej linii Flexbox */
  #synFullCartModal table.shop_table td { 
      display: flex !important; 
      justify-content: space-between !important; 
      align-items: center !important; 
      width: 100% !important;
      padding: 12px 0 !important; 
      border-bottom: 1px solid rgba(75,49,83,.04) !important; 
  }
  #synFullCartModal table.shop_table td:last-child { border-bottom: none !important; }
  
  /* Estetyka etykiet wierszy ("CENA", "ILOŚĆ") generowanych przez Woo */
  #synFullCartModal table.shop_table td::before { 
      content: attr(data-title); 
      display: block; 
      margin-bottom: 0 !important; 
      color: rgba(75,49,83,.62); 
      font-size: 11px; 
      font-weight: 700; 
      letter-spacing: .10em; 
      text-transform: uppercase; 
  }
  
  /* Pole z ilością lżejsze na mobile */
  #synFullCartModal .quantity .qty, #synFullCartModal input.qty { 
      width: 80px !important; 
      min-height: 40px !important; 
      height: 40px !important; 
  }
  
  #synFullCartModal table.shop_table td.product-thumbnail { display: none !important; } /* Na małym ekranie nie dublujemy uciętych grafik */

  /* Kupon i przycisk - na 100% szerokości jedno pod drugim, żeby nie było "ścisku" */
  #synFullCartModal .woocommerce-cart-form .coupon { 
      flex-direction:column !important; 
      align-items:stretch !important; 
      max-width: 100% !important;
  }
  #synFullCartModal .woocommerce-cart-form .coupon input#coupon_code { 
      width:100% !important; 
      margin: 0 0 12px 0 !important; /* Lepszy odstęp */
  }
  #synFullCartModal .woocommerce-cart-form .coupon button.button { 
      width:100% !important; 
      margin: 0 !important;
  }
  
  #synFullCartModal .actions .button, #synFullCartModal a.button, #synFullCartModal button.button, #synFullCartModal .checkout-button, #synFullCartModal a.checkout-button{ width:100% !important; }

  /* Poprawki dla podsumowania koszyka (Mobile) */
  #synFullCartModal .cart_totals table td, #synFullCartModal .cart_totals table th {
      display: flex !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 12px 0 !important;
      width: 100% !important;
  }
  /* Specjalnie ułożenie dla Wysyłki / Furgonetki na mobile */
  #synFullCartModal .cart_totals tr.shipping th,
  #synFullCartModal .cart_totals tr.shipping td {
      flex-direction: column !important;
      align-items: flex-start !important;
  }
  #synFullCartModal .cart_totals tr.shipping td { padding-top: 4px !important; }
}
		   #synCartModal .syn-cart-modal__foot{
  grid-template-columns:1fr !important;
}
#synCartModal .syn-cart-inline-note{
  margin-top:12px;
  padding:12px 14px;
  border-radius:14px;
  background:#FFF7F7;
  border:1px solid rgba(180,60,60,.16);
  color:#7B2F2F;
  font-size:13px;
  line-height:1.5;
  font-weight:600;
}
		   #synCartModal .syn-mini-cart__thumb{
  display:block !important;
  width:72px !important;
  min-width:72px !important;
  height:92px !important;
  overflow:visible !important;
  position:relative !important;
  z-index:2 !important;
}

#synCartModal .syn-mini-cart__thumb img,
#synCartModal .syn-mini-cart__img{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:72px !important;
  height:92px !important;
  max-width:none !important;
  object-fit:cover !important;
  position:relative !important;
  z-index:2 !important;
  transform:none !important;
  filter:none !important;
  clip-path:none !important;
}
		   #synCartModal .syn-mini-cart__thumb{ display:flex; align-items:flex-start; justify-content:center; width:72px; min-width:72px; max-width:72px; text-decoration:none; }
#synCartModal .syn-mini-cart__thumb img{ width:72px; height:92px; object-fit:cover; border-radius:0 !important; border:1px solid rgba(75,49,83,.10); background:#fff; }
		   
