/* =================== TUTOKUPISZ – CART SKIN v5.3 ===================
   - CENA + OPIS (jedna linia) – opis z Store API
   - "Usuń" obok –/+
   - brak atrybutów pod nazwą produktu
   - pastylka "wysyłka: ..." pod nazwą produktu
   - dopracowane PODSUMOWANIE + sekcja "Dodaj kupony"
*/

:root{
  --c-ink:#0f172a;
  --c-muted:#64748b;
  --c-line:#e5e7eb;
  --c-bg-soft:#f8fafc;
  --c-surface:#ffffff;
  --c-accent:#1e40af;
  --c-danger:#dc2626;

  --c-total-col-w:140px;
  --c-qty:32px;
  --c-qty-font:15px;
  --c-remove-w:48px;

  --c-row-pad-y:12px;
  --c-divider:#e9eef5;
  --c-thumb:96px;
}

/* ======================= TABELA PRODUKTÓW KOSZYKA ======================= */

body.tuto-cart-v3 table.wc-block-cart-items{
  display:table !important;
  table-layout:fixed;
  width:100%;
  border-spacing:0;
  background:transparent;
}
body.tuto-cart-v3 table.wc-block-cart-items > thead{
  display:table-header-group !important;
}
body.tuto-cart-v3 table.wc-block-cart-items > tbody{
  display:table-row-group !important;
}
body.tuto-cart-v3 .wc-block-cart-items__row{
  display:table-row !important;
}
body.tuto-cart-v3 .wc-block-cart-items__row > td{
  display:table-cell !important;
  padding-top:var(--c-row-pad-y) !important;
  padding-bottom:var(--c-row-pad-y) !important;
  border:0 !important;
  background:transparent !important;
}
body.tuto-cart-v3 .wc-block-cart-items__header th{
  font-weight:800;
  color:var(--c-ink);
}
body.tuto-cart-v3 .wc-block-cart-items__header th:last-child{
  width:var(--c-total-col-w) !important;
  text-align:right;
}

/* Separator między produktami */
body.tuto-cart-v3 .wc-block-cart-items__row td{
  border-bottom:1px solid var(--c-divider) !important;
}
body.tuto-cart-v3 .wc-block-cart-items__row:last-child td{
  border-bottom:0 !important;
}

/* Prawa kolumna „Łącznie” */
body.tuto-cart-v3 td.wc-block-cart-item__total,
body.tuto-cart-v3 td.wc-block-cart-item__total-price{
  width:var(--c-total-col-w) !important;
  text-align:right !important;
  vertical-align:top !important;
  color:var(--c-accent) !important;
  font-weight:900 !important;
  font-variant-numeric:tabular-nums;
}
body.tuto-cart-v3 td.wc-block-cart-item__product .wc-block-cart-item__total,
body.tuto-cart-v3 td.wc-block-cart-item__product .wc-block-cart-item__total-price{
  display:none !important;
}

/* Miniatura */
body.tuto-cart-v3 .wc-block-cart-item__image{
  width:var(--c-thumb);
  aspect-ratio:1/1;
  border-radius:12px;
  overflow:hidden;
  background:var(--c-bg-soft);
  border:1px solid var(--c-divider);
}
body.tuto-cart-v3 .wc-block-cart-item__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Tytuł */
body.tuto-cart-v3 .wc-block-components-product-name{
  margin:0 0 4px;
  color:var(--c-ink);
  font-weight:800;
  line-height:1.28;
  overflow-wrap:anywhere;
  hyphens:auto;
}
body.tuto-cart-v3 .wc-block-components-product-name a{
  color:inherit;
  text-decoration:none;
}
body.tuto-cart-v3 .wc-block-components-product-name a:hover{
  text-decoration:underline;
}

/* Linia: CENA • OPIS (tworzy JS) */
body.tuto-cart-v3 td.wc-block-cart-item__product .tuto-price-line{
  display:flex;
  align-items:baseline;
  gap:10px;
  min-height:1.35em;
  flex-wrap:wrap;
  margin-top:4px;
}
body.tuto-cart-v3 .tuto-price-line .tuto-price{
  color:var(--c-muted);
  font-weight:700;
  white-space:nowrap;
}
body.tuto-cart-v3 .tuto-price-line .tuto-desc{
  flex:1 1 auto;
  min-width:0;
  margin:0;
  color:#1f2937;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Ilość + „Usuń” */
body.tuto-cart-v3 .wc-block-cart-item__quantity{
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
  padding:0;
  background:transparent;
  box-shadow:none;
  border-radius:0;
  min-height:var(--c-qty);
}
body.tuto-cart-v3 .wc-block-cart-item__quantity::after{
  content:"";
  flex:0 0 var(--c-remove-w);
  height:1px;
}
body.tuto-cart-v3 .wc-block-components-quantity-selector{
  display:inline-flex;
  align-items:center;
  gap:0;
  background:#fff;
  border-radius:10px;
  box-shadow:inset 0 0 0 1px var(--c-line);
}
body.tuto-cart-v3 .wc-block-components-quantity-selector__button{
  width:var(--c-qty)!important;
  height:var(--c-qty)!important;
  line-height:var(--c-qty)!important;
  border-radius:10px!important;
  font-size:var(--c-qty-font);
}
body.tuto-cart-v3 .wc-block-components-quantity-selector__input{
  height:var(--c-qty)!important;
  min-width:44px;
  padding:0 8px!important;
  border-radius:10px!important;
  font-size:var(--c-qty-font);
}

/* „Usuń” – proxy */
body.tuto-cart-v3 .tuto-hidden-original-remove{
  display:none !important;
}
body.tuto-cart-v3 .tuto-remove-proxy{
  flex:0 0 var(--c-remove-w);
  background:transparent;
  border:0;
  padding:0 0 0 4px;
  color:var(--c-danger);
  font-weight:800;
  text-decoration:underline;
  cursor:pointer;
  height:var(--c-qty);
  display:inline-flex;
  align-items:center;
  border-radius:4px;
  font-size:.94rem;
  line-height:1;
}
body.tuto-cart-v3 .tuto-remove-proxy:focus-visible{
  outline:2px solid color-mix(in srgb, var(--c-danger) 55%, transparent);
  outline-offset:2px;
}

/* ================== PODSUMOWANIE KOSZYKA – KARTA + HIERARCHIA ================== */

body.tuto-cart-v3 .wc-block-cart__totals{
  background:var(--c-surface);
  border-radius:12px;
  padding:16px 18px 18px;
  border:1px solid rgba(148,163,184,.35);
  box-shadow:0 12px 30px rgba(15,23,42,.08);
}

/* Nagłówek „PODSUMOWANIE KOSZYKA” */
body.tuto-cart-v3 .wc-block-cart__totals h2,
body.tuto-cart-v3 .wc-block-cart__totals-title{
  margin:0 0 10px;
  font-size:1rem;
  line-height:1.25;
  font-weight:800;
  letter-spacing:0.02em;
  text-transform:uppercase;
  color:var(--c-ink);
}

/* Wrapper listy totals */
body.tuto-cart-v3 .wc-block-cart__totals .wc-block-components-totals-wrapper{
  margin-top:4px;
}

/* Wiersze totals (label + value) – baza */
body.tuto-cart-v3 .wc-block-components-totals-item{
  background:transparent;
  border:0;
  box-shadow:none;
  display:flex;
  align-items:center;
  padding:12px 0;
  border-radius:0;
}
body.tuto-cart-v3 .wc-block-components-totals-item__label{
  flex:1 1 auto;
  color:var(--c-muted);     /* etykiety (Kwota, rabaty itd.) przygaszone */
  font-weight:600;
}
body.tuto-cart-v3 .wc-block-components-totals-item__value{
  margin-left:auto;
  font-weight:700;
  color:var(--c-ink);
  font-variant-numeric:tabular-nums;
}

/* Wiersz „Kwota” – pierwszy w totals: mocniejszy kolor sumy */
body.tuto-cart-v3 .wc-block-cart__totals .wc-block-components-totals-wrapper
  .wc-block-components-totals-item:first-of-type
  .wc-block-components-totals-item__value{
  color:var(--c-accent);
  font-weight:800;
}

/* Divider */
body.tuto-cart-v3 .wc-block-components-totals-divider{
  margin:10px 0;
  border-top:1px solid var(--c-divider);
}

/* Wiersz „Szacowana łączna kwota” */
body.tuto-cart-v3 .wc-block-components-totals-footer-item{
  margin-top:6px;
  padding-top:10px;
  border-top:1px solid var(--c-line);
}
body.tuto-cart-v3 .wc-block-components-totals-footer-item
  .wc-block-components-totals-item__label{
  font-size:0.98rem;
  font-weight:800;
  color:var(--c-ink);
}
body.tuto-cart-v3 .wc-block-components-totals-footer-item
  .wc-block-components-totals-item__value{
  font-size:1.15rem;
  font-weight:900;
  color:var(--c-accent);
  font-variant-numeric:tabular-nums;
}

/* Wiersz wysyłki – zielona pastylka */
body.tuto-cart-v3 .wc-block-components-totals-shipping
  .wc-block-components-totals-item__value{
  background:#ecfdf5;
  color:#065f46;
  padding:6px 12px;
  border-radius:999px;
  font-weight:800;
  font-size:.86rem;
  box-shadow:inset 0 0 0 1px rgba(4,120,87,.15);
}

body.tuto-cart-v3 .wc-block-cart__submit-container{
  margin-top:14px;
}

/* Ewentualna notka pod przyciskiem */
body.tuto-cart-v3 .wc-block-cart__submit-container + p,
body.tuto-cart-v3 .tuto-cart-summary-note{
  margin-top:8px;
  font-size:0.8rem;
  color:var(--c-muted);
}

/* ==================== PRZYCISKI / POLA / FOCUS ==================== */

body.tuto-cart-v3 :is(.wc-block-cart__submit-button, .wc-block-components-button--primary){
  height:40px !important;
  min-height:40px !important;
  width:100%;
  padding:0 14px !important;
  border-radius:12px !important;
  font-weight:800 !important;
  font-size:.95rem !important;
  line-height:1 !important;
  background:linear-gradient(180deg, #1e40af, #2563eb) !important;
  border:1px solid #1e40af !important;
  color:#fff !important;
}

/* Ogólne przyciski w totals (np. ZASTOSUJ) */
body.tuto-cart-v3 .wc-block-components-button{
  height:36px !important;
  min-height:36px !important;
  padding:0 12px !important;
  border-radius:12px !important;
  font-weight:800 !important;
  font-size:.92rem !important;
}

body.tuto-cart-v3 .wc-block-components-text-input__input{
  height:36px !important;
  padding:0 10px !important;
  font-size:.95rem !important;
  border-radius:10px !important;
}

/* Focus – spójny outline */
body.tuto-cart-v3 :where(a,button,input,select,textarea):focus-visible{
  outline:2px solid color-mix(in srgb, #2563eb 60%, transparent);
  outline-offset:2px;
  border-radius:8px;
}

/* =================== SEKCJA „DODAJ KUPONY” =================== */

body.tuto-cart-v3 .wc-block-components-totals-coupon{
  padding:4px 0 10px;
  margin-bottom:8px;
  border-bottom:1px solid var(--c-divider);
}

/* Nagłówek akordeonu – DODAJ KUPONY (panel button Woo) */
body.tuto-cart-v3 .wc-block-components-totals-coupon
  .wc-block-components-panel__button{
  width:100%;
  padding:4px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  background:transparent;
  border:0;
  color:var(--c-ink);
  font-size:0.9rem;
  font-weight:700;
  cursor:pointer;
  text-align:left;
}
body.tuto-cart-v3 .wc-block-components-totals-coupon
  .wc-block-components-panel__button:hover{
  color:var(--c-accent);
}
body.tuto-cart-v3 .wc-block-components-totals-coupon
  .wc-block-components-panel__button:focus-visible{
  outline:2px solid color-mix(in srgb, #2563eb 50%, transparent);
  outline-offset:2px;
  border-radius:6px;
}

/* Treść kuponu */
body.tuto-cart-v3 .wc-block-components-totals-coupon__content{
  margin-top:8px;
}

/* Formularz kuponu – jedna linia, pionowo wyśrodkowane */
body.tuto-cart-v3 .wc-block-components-totals-coupon__form{
  margin-top:4px;
  display:flex;
  align-items:center;
  gap:8px;
}

/* Wrapper inputu */
body.tuto-cart-v3 .wc-block-components-totals-coupon__form
  .wc-block-components-totals-coupon__input{
  flex:1 1 auto;
}
body.tuto-cart-v3 .wc-block-components-totals-coupon__form
  .wc-block-components-text-input{
  margin:0;
}
body.tuto-cart-v3 .wc-block-components-totals-coupon__form
  .wc-block-components-text-input__input{
  background:var(--c-bg-soft);
  border-color:var(--c-divider);
  display:block;
}

/* Przycisk „Zastosuj” – wyrównany do inputu */
body.tuto-cart-v3 .wc-block-components-totals-coupon__form
  .wc-block-components-totals-coupon__button{
  flex:0 0 auto;
  height:36px !important;
  min-height:36px !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* Komunikaty o błędzie kuponu */
body.tuto-cart-v3 .wc-block-components-notice-banner{
  margin-top:6px;
}

/* -------------------------- Pastylka profilu wysyłki -------------------------- */

body.tuto-cart-v3 .tuto-ship-pill{
  display:inline-block;
  margin-top:4px;
  margin-bottom:6px;
  padding:2px 10px;
  border-radius:999px;
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.04em;
  text-transform:uppercase;
  white-space:nowrap;
  border:1px solid transparent;
  line-height:1.3;
}

/* Standard */
body.tuto-cart-v3 .tuto-ship-pill--standard{
  background:rgba(34,197,94,0.10);
  color:#15803d;
  border-color:rgba(22,163,74,0.45);
}

/* Mała paczka / niska marża – 'niska_marza' */
body.tuto-cart-v3 .tuto-ship-pill--niska_marza{
  background:rgba(59,130,246,0.10);
  color:#1d4ed8;
  border-color:rgba(37,99,235,0.45);
}

/* Ciężkie – 'ciezkie' */
body.tuto-cart-v3 .tuto-ship-pill--ciezkie{
  background:rgba(248,113,113,0.12);
  color:#b91c1c;
  border-color:rgba(220,38,38,0.50);
}

/* Gabaryt – 'gabaryt' */
body.tuto-cart-v3 .tuto-ship-pill--gabaryt{
  background:rgba(249,115,22,0.14);
  color:#b45309;
  border-color:rgba(234,88,12,0.55);
}

/* ============================== MOBILE ============================== */

@media (max-width:640px){
  body.tuto-cart-v3 .tuto-ship-pill{
    margin-top:6px;
    margin-bottom:8px;
  }

  body.tuto-cart-v3 .wc-block-cart__totals{
    margin-top:18px;
    padding:14px 14px 16px;
    box-shadow:0 8px 20px rgba(15,23,42,.06);
  }
  body.tuto-cart-v3 .wc-block-cart__totals h2,
  body.tuto-cart-v3 .wc-block-cart__totals-title{
    font-size:0.9rem;
  }

  body.tuto-cart-v3 .wc-block-components-totals-coupon{
    margin-bottom:10px;
  }
}
