/*
Theme Name: Sunlu Checkout (child)
Theme URI: https://sunlu.pl
Description: Cart & Checkout restyle — port of Checkout sunlu.html design system.
Author: 313 Sp. z o.o.
Template: sunlu-filament
Version: 3.1.0
Text Domain: sunlu-checkout
*/

/* ============================================================
   DESIGN SYSTEM TOKENS — 1:1 z Checkout sunlu.html
   ============================================================ */

/* Cart/checkout use standard site width (1280px) — same as product pages */

/* Constrain .woocommerce wrapper — prevents overflow */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: clip !important;
  overflow-y: visible !important;
}

/* box-sizing reset for cart/checkout — from design file */
.woocommerce-cart *,
.woocommerce-checkout * {
  box-sizing: border-box !important;
}

/* Prevent horizontal scroll on cart/checkout */
.woocommerce-cart,
.woocommerce-checkout {
  overflow-x: clip !important;
}
html, body {
  max-width: 100% !important;
  overflow-x: clip !important;
}

/* Override parent theme #main-content white background */
.woocommerce-cart #main-content,
.woocommerce-checkout #main-content,
body.woocommerce-cart,
body.woocommerce-checkout {
  background: var(--bg) !important;
}

.woocommerce-cart,
.woocommerce-checkout {
  --accent:      #14B8A6;
  --accent-600:  #0F9F8E;
  --accent-50:   #E6FAF7;
  --bg:          #F4F6F8;
  --card:        #FFFFFF;
  --ink:         #0F172A;
  --ink-2:       #334155;
  --muted:       #64748B;
  --meta:        #94A3B8;
  --line:        #E2E8F0;
  --line-2:      #EEF2F6;
  --danger:      #DC2626;
  --radius-card: 12px;
  --radius-btn:  8px;
  --shadow-sm:   0 1px 2px rgba(15,23,42,.04);
  --shadow-md:   0 4px 18px rgba(15,23,42,.06);

  /* also set sunlu- prefixed vars for legacy rules */
  --sunlu-accent:      #14B8A6;
  --sunlu-accent-600:  #0F9F8E;
  --sunlu-accent-50:   #E6FAF7;
  --sunlu-bg:          #F4F6F8;
  --sunlu-card:        #FFFFFF;
  --sunlu-ink:         #0F172A;
  --sunlu-ink-2:       #334155;
  --sunlu-muted:       #64748B;
  --sunlu-meta:        #94A3B8;
  --sunlu-line:        #E2E8F0;
  --sunlu-line-2:      #EEF2F6;
  --sunlu-danger:      #DC2626;
  --sunlu-radius-card: 12px;
  --sunlu-radius-btn:  8px;
  --sunlu-shadow-sm:   0 1px 2px rgba(15,23,42,.04);
  --sunlu-shadow-md:   0 4px 18px rgba(15,23,42,.06);
}


/* =============================================================
   Breadcrumbs + page heading — 1:1 z design
   ============================================================= */
.sunlu-crumbs {
  color: var(--meta) !important;
  font-size: 13px !important;
  margin-bottom: 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: 'Inter', sans-serif !important;
}
.sunlu-crumbs a {
  color: var(--meta) !important;
  text-decoration: none !important;
}
.sunlu-crumbs a:hover { color: var(--accent-600) !important; }
.sunlu-crumbs__sep { color: var(--line) !important; }

.sunlu-pagehead {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  margin-bottom: 24px !important;
  gap: 16px !important;
}
.sunlu-pagehead h1 {
  font-size: 32px !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  margin: 0 !important;
  color: var(--ink) !important;
  font-family: 'Inter', sans-serif !important;
}
.sunlu-btn-link {
  background: transparent !important;
  color: var(--accent-600) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  padding: 8px 0 !important;
  white-space: nowrap !important;
  font-family: 'Inter', sans-serif !important;
  border: none !important;
}
.sunlu-btn-link:hover { color: var(--accent) !important; }

/* Hide WP page title since our cart.php renders its own h1 */
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header { display: none !important; }

/* ============================================================
   FONT — Inter (beat parent DM Sans !important)
   ============================================================ */
.woocommerce-cart,
.woocommerce-cart *,
.woocommerce-checkout,
.woocommerce-checkout * {
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif !important;
  -webkit-font-smoothing: antialiased !important;
}


/* Force Inter on all checkout form elements — beat WC + parent theme */
.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-checkout label,
.woocommerce-checkout button,
.woocommerce-checkout p,
.woocommerce-checkout span,
.woocommerce-checkout a,
.woocommerce-checkout h1,
.woocommerce-checkout h2,
.woocommerce-checkout h3,
.woocommerce-checkout h4,
.woocommerce-checkout th,
.woocommerce-checkout td,
.woocommerce-cart input,
.woocommerce-cart select,
.woocommerce-cart textarea,
.woocommerce-cart label,
.woocommerce-cart button,
.woocommerce-cart p,
.woocommerce-cart span,
.woocommerce-cart a,
.woocommerce-cart th,
.woocommerce-cart td {
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif !important;
}

/* ============================================================
   PAGE
   ============================================================ */
.woocommerce-cart,
.woocommerce-checkout {
  background: var(--bg) !important;
  color: var(--ink) !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}
#main-content:has(.woocommerce-cart-form),
#main-content:has(.woocommerce-checkout),
#main-content:has(.woocommerce-MyAccount-content),
#main-content:has(.woocommerce-lost-password) {
  max-width: 1280px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 32px 24px !important;
  box-sizing: border-box !important;
  overflow-x: clip !important;
  overflow-y: visible !important;
}
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-cart article,
.woocommerce-checkout article,
.woocommerce-cart .hentry,
.woocommerce-checkout .hentry {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
}
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header { display: none !important; }

/* ============================================================
   NOTICES
   ============================================================ */
.woocommerce-cart .woocommerce-message,
.woocommerce-checkout .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-checkout .woocommerce-info {
  background: var(--card) !important;
  border: 1px solid var(--line) !important;
  border-left: 3px solid var(--accent) !important;
  border-radius: var(--radius-card) !important;
  padding: 14px 18px !important;
  color: var(--ink-2) !important;
  box-shadow: var(--shadow-sm) !important;
  font-family: 'Inter', sans-serif !important;
}
/* Error notice — rozciąga się przez obie kolumny gridu formularza */
.woocommerce-NoticeGroup-checkout,
.woocommerce-NoticeGroup-updateOrderReview {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;           /* zawsze pierwszy wiersz w gridzie */
  margin-bottom: 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}
.woocommerce-error {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  background: #FEF2F2 !important;
  border: 1px solid #FECACA !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}
.woocommerce-error li {
  padding: 10px 16px !important;
  font-size: 14px !important;
  color: #991B1B !important;
  border-bottom: 1px solid #FECACA !important;
  font-family: 'Inter', sans-serif !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  line-height: 1.5 !important;
}
.woocommerce-error li:last-child { border-bottom: none !important; }
.woocommerce-error li::before {
  content: '!';
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px; height: 16px;
  border-radius: 50%;
  background: #DC2626 !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
}
/* Linki w błędach — kolor błędu, bez dziwnego niebieskiego */
.woocommerce-error li a {
  color: #991B1B !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}
.woocommerce-error li a:hover { color: #7F1D1D !important; }
/* Błędy przy polach */
.woocommerce-checkout .woocommerce-invalid .required,
.woocommerce-checkout .form-row.woocommerce-invalid label {
  color: #DC2626 !important;
}
.woocommerce-checkout .woocommerce-invalid input,
.woocommerce-checkout .woocommerce-invalid select {
  border-color: #DC2626 !important;
  box-shadow: 0 0 0 3px rgba(220,38,38,.1) !important;
}
/* Inline field errors */
.woocommerce-checkout .woocommerce-invalid-required-field .validate-required,
.checkout-inline-error-message {
  font-size: 12px !important;
  color: #DC2626 !important;
  margin-top: 3px !important;
}

/* ============================================================
   FREE SHIPPING BAR
   ============================================================ */
.sunlu-ship-bar {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-card) !important;
  padding: 16px 20px !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-bottom: 20px !important;
}
.sunlu-ship-bar__icon {
  width: 36px; height: 36px; border-radius: 8px;
  background: var(--accent-50); color: var(--accent-600);
  display: grid; place-items: center; flex-shrink: 0;
}
.sunlu-ship-bar__text { font-size: 14px !important; color: var(--ink-2) !important; flex: 1; }
.sunlu-ship-bar__text strong { color: var(--ink) !important; font-weight: 600 !important; }
.sunlu-ship-bar__progress {
  width: 240px; height: 6px; background: var(--line);
  border-radius: 999px; overflow: hidden; flex-shrink: 0;
}
.sunlu-ship-bar__fill {
  height: 100%; background: var(--accent); border-radius: 999px;
  transition: width .4s cubic-bezier(.2,.8,.2,1);
}
.sunlu-ship-bar__amount { font-weight: 600 !important; color: var(--ink) !important; font-size: 14px !important; min-width: 64px; text-align: right; }

/* ============================================================
   LAYOUT — 2 columns
   ============================================================ */
.sunlu-layout,
.sunlu-onepage-form,
.sunlu-ms-form {
  display: grid !important;
  grid-template-columns: 1fr 450px !important;
  gap: 24px !important;
  align-items: stretch !important;
}
.sunlu-onepage-aside,
.sunlu-ms-aside { align-self: stretch !important; }
.sunlu-onepage-left { display: flex; flex-direction: column; gap: 16px; }

/* ============================================================
   CARD — 1:1 z .card w designie
   ============================================================ */
.sunlu-card {
  background: var(--card) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-card) !important;
  box-shadow: var(--shadow-sm) !important;
  overflow: visible;
}
.sunlu-card + .sunlu-card { margin-top: 16px; }
.sunlu-card--sticky { position: sticky !important; top: 80px !important; overflow: visible !important; }

.sunlu-card-head {
  padding: 18px 24px !important;
  border-bottom: 1px solid var(--line-2) !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
.sunlu-card-head h2,
.sunlu-card-head h3 {
  font-size: 16px !important;
  font-weight: 600 !important;
  margin: 0 !important;
  color: var(--ink) !important;
  letter-spacing: -0.005em !important;
  font-family: 'Inter', sans-serif !important;
}
.sunlu-card-head .step-num,
.sunlu-card-head span.step-num {
  width: 26px !important; height: 26px !important;
  border-radius: 999px !important;
  background: var(--ink) !important;
  color: #fff !important;
  display: grid !important; place-items: center !important;
  font-size: 13px !important; font-weight: 600 !important;
  flex-shrink: 0 !important;
  font-family: 'Inter', sans-serif !important;
}
.sunlu-card-body { padding: 22px 24px !important; }
.sunlu-card__title {
  font-size: 16px !important; font-weight: 600 !important;
  color: var(--ink) !important; margin: 0 0 18px !important;
  padding: 0 0 14px !important; border-bottom: 1px solid var(--line-2) !important;
  font-family: 'Inter', sans-serif !important;
}

/* ============================================================
   CART LINE — grid: 84px 1fr auto auto auto
   ============================================================ */
.sunlu-cart-list { padding: 4px 0; }
.sunlu-cart-line {
  display: grid !important;
  grid-template-columns: 84px 1fr auto auto auto !important;
  gap: 18px !important;
  align-items: center !important;
  padding: 18px 24px !important;
  border-bottom: 1px solid var(--line-2) !important;
}
.sunlu-cart-line:last-child { border-bottom: none !important; }

.sunlu-thumb {
  width: 84px !important; height: 84px !important; min-width: 84px !important;
  border-radius: 10px !important;
  background: var(--line-2) !important;
  overflow: hidden !important; display: grid !important; place-items: center !important;
  flex-shrink: 0 !important;
}
.sunlu-thumb img,
.sunlu-thumb picture img {
  width: 84px !important; height: 84px !important; max-width: 84px !important;
  object-fit: cover !important; display: block !important; border-radius: 10px !important;
}
.sunlu-thumb a { display: block; }

.sunlu-brand-tiny {
  font-size: 12px !important; color: var(--meta) !important;
  letter-spacing: .04em !important; text-transform: uppercase !important;
  font-family: 'Inter', sans-serif !important;
}
.sunlu-line-name {
  font-weight: 600 !important; color: var(--ink) !important;
  margin: 2px 0 4px !important; font-family: 'Inter', sans-serif !important;
}
.sunlu-line-name a { color: inherit !important; text-decoration: none !important; }
.sunlu-line-name a:hover { color: var(--accent-600) !important; }
.sunlu-line-specs {
  font-size: 13px !important; color: var(--muted) !important;
  display: flex !important; align-items: center !important; gap: 6px !important; flex-wrap: wrap !important;
  font-family: 'Inter', sans-serif !important;
}
.sunlu-sale-badge { color: var(--accent-600) !important; font-weight: 600 !important; font-size: 13px !important; }
.sunlu-line-specs .sunlu-stock-badge {
  display: inline-block !important; font-size: 12px !important; font-weight: 600 !important;
  padding: 1px 7px !important; border-radius: 4px !important; line-height: 1.6 !important;
}
.sunlu-line-specs .sunlu-stock-badge--out      { background-color: #FEE2E2 !important; color: #B91C1C !important; }
.sunlu-line-specs .sunlu-stock-badge--backorder { background-color: #FEF3C7 !important; color: #92400E !important; }
.sunlu-line-specs .sunlu-stock-badge--low      { background-color: #FEF3C7 !important; color: #92400E !important; }

.sunlu-omnibus {
  font-size: 12px !important; color: #6B7280 !important; margin: 4px 0 0 !important; line-height: 1.4 !important;
}
.sunlu-omnibus strong { color: #374151 !important; font-weight: 600 !important; }

.sunlu-backorder-notice {
  background: #FEF3C7; border: 1px solid #F59E0B; border-radius: 8px;
  padding: 14px 18px; margin-bottom: 24px; font-size: 14px; color: #78350F; line-height: 1.5;
}
.sunlu-backorder-notice strong { display: block; margin-bottom: 4px; font-size: 15px; }

/* QTY STEPPER */
.sunlu-qty-wrap {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-btn) !important;
  overflow: hidden !important;
  background: #fff !important;
  height: auto !important; margin: 0 !important; padding: 0 !important;
}
.sunlu-qty-btn {
  background: transparent !important; border: 0 !important;
  width: 32px !important; height: 36px !important;
  color: var(--ink-2) !important; font-size: 16px !important; font-weight: 500 !important;
  cursor: pointer !important; display: grid !important; place-items: center !important;
  font-family: 'Inter', sans-serif !important; flex-shrink: 0 !important; padding: 0 !important;
  transition: background .12s;
}
.sunlu-qty-btn:hover { background: var(--bg) !important; }
.sunlu-qty-wrap .quantity { display: contents !important; }
.sunlu-qty-wrap .quantity::before,
.sunlu-qty-wrap .quantity::after { display: none !important; }
.sunlu-qty-wrap .qty {
  width: 36px !important; height: 36px !important; border: 0 !important;
  border-left: 1px solid var(--line) !important;
  border-right: 1px solid var(--line) !important;
  text-align: center !important; background: transparent !important;
  font-weight: 500 !important; outline: none !important; font-size: 15px !important;
  padding: 0 !important; -moz-appearance: textfield !important;
  color: var(--ink) !important; border-radius: 0 !important; box-shadow: none !important;
  font-family: 'Inter', sans-serif !important;
}
.sunlu-qty-wrap .qty::-webkit-outer-spin-button,
.sunlu-qty-wrap .qty::-webkit-inner-spin-button { -webkit-appearance: none !important; }

.sunlu-line-price { font-weight: 600 !important; color: var(--ink) !important; white-space: nowrap !important; text-align: right !important; }
.sunlu-price-old { font-size: 12px !important; color: var(--meta) !important; text-decoration: line-through !important; display: block !important; font-weight: 400 !important; }

.sunlu-line-remove a.remove {
  display: grid !important; place-items: center !important;
  width: 32px !important; height: 32px !important; border-radius: 8px !important;
  color: var(--muted) !important; font-size: 18px !important; font-weight: 400 !important;
  background: transparent !important; text-decoration: none !important; line-height: 1 !important;
  border: 1px solid transparent !important;
  transition: background .15s, color .15s;
}
.sunlu-line-remove a.remove:hover { color: var(--danger) !important; background: #FEF2F2 !important; }

/* ============================================================
   UPSELL — Klienci kupili też
   ============================================================ */
.sunlu-upsell-label {
  padding: 14px 24px 0 !important;
  font-size: 13px !important; font-weight: 600 !important;
  color: var(--ink-2) !important; letter-spacing: .01em !important;
  font-family: 'Inter', sans-serif !important;
}
.sunlu-upsell-grid {
  display: grid !important; grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important; padding: 12px 24px 20px !important;
}
.sunlu-upsell-card {
  border: 1px solid var(--line) !important; border-radius: 10px !important;
  padding: 12px !important; display: flex !important; gap: 10px !important;
  align-items: center !important; flex-wrap: nowrap !important;
  background: #fff !important; color: var(--ink) !important;
  transition: border-color .15s, transform .15s;
  min-width: 0 !important;
}
.sunlu-upsell-card:hover { border-color: var(--accent) !important; transform: translateY(-1px) !important; }
.sunlu-upsell-card__img { display: block !important; flex-shrink: 0 !important; }

/* Przycisk + w upsell */
.sunlu-upsell-add {
  width: 28px !important; height: 28px !important;
  border-radius: 999px !important;
  border: 1px solid var(--line) !important;
  background: #fff !important;
  display: grid !important; place-items: center !important;
  color: var(--ink-2) !important;
  margin-left: auto !important; flex-shrink: 0 !important;
  text-decoration: none !important;
  transition: background .15s, border-color .15s, color .15s;
  cursor: pointer !important;
}
.sunlu-upsell-add:hover {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: #fff !important;
}
/* Spinner podczas dodawania */
.sunlu-upsell-add.loading {
  opacity: .6 !important;
  pointer-events: none !important;
}
.sunlu-upsell-thumb {
  width: 52px !important; height: 52px !important; border-radius: 8px !important;
  flex-shrink: 0 !important; min-width: 52px !important; overflow: hidden !important;
  background: var(--line-2) !important;
  display: grid !important; place-items: center !important;
}
.sunlu-upsell-thumb img { width: 52px !important; height: 52px !important; object-fit: cover !important; }
.sunlu-upsell-name { font-size: 13px !important; font-weight: 600 !important; color: var(--ink) !important; line-height: 1.3 !important; font-family: 'Inter', sans-serif !important; overflow: hidden !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; }
.sunlu-upsell-price { font-size: 13px !important; color: var(--accent-600) !important; font-weight: 600 !important; margin-top: 2px !important; }

/* ============================================================
   COUPON
   ============================================================ */
.sunlu-coupon {
  display: flex !important; gap: 8px !important; padding: 18px 24px !important;
  border-top: 1px solid var(--line-2) !important;
  background: #FAFBFC !important;
  border-bottom-left-radius: var(--radius-card) !important;
  border-bottom-right-radius: var(--radius-card) !important;
}
.sunlu-coupon-form { display: flex !important; gap: 8px !important; flex: 1 !important; }
.sunlu-input {
  flex: 1 !important; padding: 10px 14px !important; border: 1px solid var(--line) !important;
  border-radius: var(--radius-btn) !important; background: #fff !important; outline: none !important;
  font-family: 'Inter', sans-serif !important; font-size: 15px !important; color: var(--ink) !important;
  transition: border-color .15s, box-shadow .15s;
}
.sunlu-input:focus { border-color: var(--accent) !important; box-shadow: 0 0 0 3px var(--accent-50) !important; }

/* ============================================================
   SUMMARY (right sticky panel — cart page)
   ============================================================ */
.sunlu-summary-wrap { align-self: stretch !important; position: relative !important; }
.sunlu-summary-wrap .sunlu-card--sticky { overflow: visible !important; }
.sunlu-sum-row {
  display: flex !important; justify-content: space-between !important;
  padding: 10px 0 !important; color: var(--ink-2) !important; font-size: 14px !important;
  align-items: baseline !important; font-family: 'Inter', sans-serif !important;
}
.sunlu-sum-total {
  border-top: 1px solid var(--line) !important; margin-top: 8px !important;
  padding-top: 16px !important; font-size: 18px !important;
  font-weight: 700 !important; color: var(--ink) !important;
}
.sunlu-secure {
  display: flex !important; align-items: center !important; justify-content: center !important;
  gap: 6px !important; font-size: 12px !important; color: var(--meta) !important; margin-top: 12px !important;
}

/* ============================================================
   TRUST STRIP
   ============================================================ */
.sunlu-trust {
  display: grid !important; grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important; padding: 16px 20px !important;
  border-top: 1px solid var(--line-2) !important; background: #FAFBFC !important;
}
.sunlu-trust-item { display: flex !important; gap: 8px !important; align-items: center !important; font-size: 12px !important; color: var(--ink-2) !important; font-family: 'Inter', sans-serif !important; }
.sunlu-trust-item svg { color: var(--accent-600) !important; flex-shrink: 0 !important; }

/* ============================================================
   BUTTONS
   ============================================================ */
.sunlu-btn,
.woocommerce-cart a.button, .woocommerce-cart button.button,
.woocommerce-cart input.button,
.woocommerce-checkout a.button, .woocommerce-checkout button.button,
.woocommerce-checkout input.button,
.woocommerce #respond input#submit,
#place_order {
  display: inline-flex !important; align-items: center !important;
  justify-content: center !important; gap: 8px !important;
  padding: 12px 20px !important; border-radius: var(--radius-btn) !important;
  font-weight: 600 !important; font-size: 15px !important;
  font-family: 'Inter', sans-serif !important;
  cursor: pointer !important; text-decoration: none !important;
  transition: background .15s, border-color .15s, color .15s;
  text-shadow: none !important; box-shadow: none !important;
}
.sunlu-btn--primary,
.woocommerce-cart a.button.alt, .woocommerce-cart .checkout-button,
.woocommerce-checkout a.button.alt,
#place_order {
  background: var(--accent) !important; color: #fff !important;
  border: 1px solid var(--accent) !important;
}
.sunlu-btn--primary:hover,
.woocommerce-cart .checkout-button:hover,
#place_order:hover {
  background: var(--accent-600) !important; border-color: var(--accent-600) !important; color: #fff !important;
}
.sunlu-btn--ghost {
  background: transparent !important; color: var(--ink-2) !important;
  border: 1px solid var(--line) !important;
}
.sunlu-btn--ghost:hover { border-color: var(--ink-2) !important; color: var(--ink) !important; }
.sunlu-btn--block { width: 100% !important; }
.sunlu-btn--lg, body.woocommerce-checkout #place_order {
  padding: 13px 16px !important; font-size: 14px !important;
  display: block !important; width: 100% !important; margin-top: 12px !important;
  white-space: nowrap !important; text-align: center !important;
}
.woocommerce-cart .actions .button {
  background: transparent !important; color: var(--ink-2) !important;
  border: 1px solid var(--line) !important;
}

/* ============================================================
   CHECKOUT — form fields
   ============================================================ */
.woocommerce-checkout form .form-row label,
.woocommerce-checkout .form-row label {
  font-size: 13px !important; font-weight: 500 !important;
  color: var(--ink-2) !important; margin-bottom: 6px !important; display: block !important;
  font-family: 'Inter', sans-serif !important;
}
.woocommerce-checkout .form-row .required { color: var(--danger) !important; text-decoration: none !important; }
.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single {
  width: 100% !important; padding: 11px 14px !important;
  border: 1px solid var(--line) !important; border-radius: var(--radius-btn) !important;
  background: #fff !important; outline: none !important;
  font-size: 15px !important; color: var(--ink) !important; height: auto !important;
  font-family: 'Inter', sans-serif !important;
  transition: border-color .15s, box-shadow .15s; box-shadow: none !important;
}
.woocommerce-checkout form .form-row input.input-text:focus,
.woocommerce-checkout form .form-row textarea:focus,
.woocommerce-checkout form .form-row select:focus {
  border-color: var(--accent) !important; box-shadow: 0 0 0 3px var(--accent-50) !important;
}
.woocommerce-checkout .select2-container .select2-selection--single { height: 42px !important; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
  line-height: 42px !important; color: var(--ink) !important;
  font-family: 'Inter', sans-serif !important;
}
.woocommerce-checkout .select2-dropdown { border: 1px solid var(--line) !important; border-radius: var(--radius-btn) !important; }
.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: var(--accent) !important; color: #fff !important;
}
.woocommerce-checkout form .form-row.form-row-first { float: left !important; width: calc(50% - 6px) !important; }
.woocommerce-checkout form .form-row.form-row-last  { float: right !important; width: calc(50% - 6px) !important; }
.woocommerce-checkout form .form-row.form-row-wide  { width: 100% !important; clear: both !important; }
.woocommerce-checkout form .form-row { margin-bottom: 14px !important; }
/* Clearfix — floatowane form-row-first/last nie zwijają kontenera */
#customer_details::after,
.woocommerce-billing-fields__field-wrapper::after,
.woocommerce-shipping-fields__field-wrapper::after { content: '' !important; display: table !important; clear: both !important; }

/* Billing/shipping card sections */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
  background: #FAFBFC !important; border: 1px solid var(--line-2) !important;
  border-radius: 10px !important; padding: 18px !important; margin-bottom: 16px !important;
}
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
  font-size: 14px !important; font-weight: 600 !important; color: var(--ink) !important;
  margin: 0 0 14px !important; padding: 0 !important; border: none !important;
  font-family: 'Inter', sans-serif !important;
}

/* ============================================================
   SHIPPING & PAYMENT option rows
   ============================================================ */
#shipping_method,
.wc_payment_methods {
  list-style: none !important; padding: 0 !important; margin: 0 !important;
  display: flex !important; flex-direction: column !important; gap: 10px !important;
}
#shipping_method li,
.wc_payment_methods li.wc_payment_method {
  display: flex !important; align-items: stretch !important; flex-direction: column !important; gap: 0 !important;
  padding: 0 !important; border: 1.5px solid var(--line) !important;
  border-radius: 10px !important; background: #fff !important; cursor: pointer !important;
  transition: border-color .15s, background .15s; margin: 0 !important;
  overflow: hidden !important;
}
#shipping_method li:hover,
.wc_payment_methods li.wc_payment_method:hover { border-color: var(--ink-2) !important; }
#shipping_method li.is-selected,
.wc_payment_methods li.wc_payment_method.is-selected,
#shipping_method li:has(input:checked),
.wc_payment_methods li.wc_payment_method:has(input:checked) {
  border-color: var(--accent) !important; background: var(--accent-50) !important;
}
#shipping_method li input[type="radio"],
.wc_payment_methods li input[type="radio"] {
  accent-color: var(--accent) !important; flex-shrink: 0 !important;
  cursor: pointer !important; position: relative !important; z-index: 2 !important;
  width: 18px !important; height: 18px !important;
}
/* WC original label + radio — hidden, replaced by .sunlu-tile-row */
#shipping_method li > label,
#shipping_method li > input[type="radio"],
.wc_payment_methods li.wc_payment_method > label,
.wc_payment_methods li.wc_payment_method > input[type="radio"] {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  pointer-events: none !important;
  width: 0 !important; height: 0 !important;
  opacity: 0 !important;
}
/* Tile row — injected by JS, replaces WC label */
.sunlu-tile-row {
  display: flex !important; align-items: center !important; gap: 12px !important;
  padding: 14px 16px !important; width: 100% !important; box-sizing: border-box !important;
}
.sunlu-tile-label {
  flex: 1 !important; font-size: 14px !important; color: var(--ink) !important;
  font-weight: 500 !important; font-family: 'Inter', sans-serif !important;
  line-height: 1.4 !important; cursor: pointer !important;
}
.sunlu-tile-label img { max-height: 22px !important; vertical-align: middle !important; margin-left: 6px !important; }
/* Shipping tile: name + price jako osobne spany */
.sunlu-tile-name {
  flex: 1 !important; font-size: 14px !important; font-weight: 500 !important;
  color: var(--ink) !important; font-family: 'Inter', sans-serif !important;
  line-height: 1.4 !important; cursor: pointer !important;
}
.sunlu-tile-price {
  font-size: 14px !important; font-weight: 600 !important; color: var(--ink) !important;
  white-space: nowrap !important; font-family: 'Inter', sans-serif !important;
  flex-shrink: 0 !important;
}
.is-selected .sunlu-tile-name { color: var(--accent-600) !important; }
/* Colored carrier icon block — LEFT of tile name (replaces old badge) */
.sunlu-opt-icon {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  width: 44px !important; height: 36px !important; border-radius: 8px !important;
  font-family: 'Inter', Arial, sans-serif !important; font-size: 11px !important;
  font-weight: 800 !important; letter-spacing: 0.02em !important;
  flex-shrink: 0 !important; line-height: 1 !important;
}
.sunlu-opt-icon--gls    { background: #FFD100 !important; color: #003D7C !important; }
.sunlu-opt-icon--dpd    { background: #DC0032 !important; color: #fff !important; }
.sunlu-opt-icon--inpost { background: #FFCB04 !important; color: #1A1A1A !important; }
.sunlu-opt-icon--poczta { background: #CC0000 !important; color: #fff !important; }
.sunlu-opt-icon--pickup { background: #E6FAF7 !important; color: var(--accent-600) !important; }
.is-selected .sunlu-opt-icon--pickup { background: #fff !important; border: 1px solid var(--accent-300) !important; }
/* Selected tile label color */
.is-selected .sunlu-tile-label { color: var(--accent-600) !important; }
/* <li> jako całość klikalny — obsługa przez JS */
#shipping_method li,
.wc_payment_methods li.wc_payment_method { position: relative !important; cursor: pointer !important; }
/* WC blockUI overlay jest przyklejony do pierwszego position:relative przodka.
   Ustawiamy go na .woocommerce-checkout-payment żeby overlay był wewnątrz sekcji płatności. */
.woocommerce-checkout-payment {
  position: relative;
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
}
/* Payment method — ukryj oryginalne elementy, zostawiamy je dla WC ale renderujemy własny widok */
/* Ukryj oryginalne label/input shipping i payment — mamy własne visual */
.wc_payment_method label.sunlu-pay-orig-label,
#shipping_method li label.sunlu-pay-orig-label { display: none !important; }
/* Ukryj oryginalne inputy shipping — zastępujemy je visual .sunlu-pay-radio */
body #shipping_method li input[type="radio"],
body .wc_payment_method > input[type="radio"] {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important; height: 0 !important;
  position: absolute !important;
  pointer-events: none !important;
  opacity: 0 !important;
}
/* Ukryj oryginalny input WC (niewidoczny, ale aktywny) */
.wc_payment_method > input[type="radio"] { display: none !important; }
/* Visual radio placeholder */
.sunlu-pay-radio {
  width: 18px; height: 18px; border-radius: 50%;
  border: 2px solid #d1d5db; flex-shrink: 0;
  transition: border-color .15s, background .15s;
  position: relative; display: flex; align-items: center; justify-content: center;
}
.sunlu-pay-radio.is-checked {
  border-color: var(--accent) !important; background: var(--accent) !important;
}
.sunlu-pay-radio.is-checked::after {
  content: ''; width: 6px; height: 6px; border-radius: 50%; background: #fff;
}
.payment_box {
  background: transparent !important; border-radius: 0 !important;
  border-top: none !important;
  padding: 8px 16px 4px !important; margin: 0 !important;
  font-size: 13.5px !important; color: var(--ink-2) !important;
  font-family: 'Inter', sans-serif !important;
}
.payment_box::before { display: none !important; }
.wc_payment_methods img:not(.sunlu-payment-icons) { max-height: 28px !important; vertical-align: middle !important; margin-left: 8px !important; }
.sunlu-payment-icons { display:block !important; width:100% !important; max-width:460px !important; height:auto !important; max-height:none !important; opacity:.85; margin:4px 0 8px !important; vertical-align:top !important; }
/* Ukryj WC domyślny przycisk place-order, linki i teksty z sekcji payment — mamy własne w aside */
.woocommerce-checkout-payment .form-row.place-order { display: none !important; }
.woocommerce-checkout-payment .about_paypal { display: none !important; }
.woocommerce-checkout-payment p.payment-terms { display: none !important; }
.woocommerce-checkout-payment .wc-terms-and-conditions { display: none !important; }

/* ============================================================
   ORDER REVIEW TABLE (sticky right panel on checkout)
   ============================================================ */
.woocommerce-checkout #order_review {
  background: var(--card) !important; border: 1px solid var(--line) !important;
  border-radius: var(--radius-card) !important; box-shadow: var(--shadow-sm) !important;
  padding: 22px 24px !important; position: sticky !important; top: 80px !important;
}
#order_review_heading {
  font-size: 16px !important; font-weight: 600 !important; color: var(--ink) !important;
  margin: 0 0 12px !important; padding: 0 0 12px !important;
  border-bottom: 1px solid var(--line-2) !important; font-family: 'Inter', sans-serif !important;
}
.woocommerce-checkout #order_review table.shop_table { margin: 0 !important; background: transparent !important; }
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
  padding: 10px 0 !important; font-size: 14px !important;
  border: none !important; border-bottom: 1px solid var(--line-2) !important;
  font-family: 'Inter', sans-serif !important;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr:last-child th,
.woocommerce-checkout #order_review table.shop_table tfoot tr:last-child td {
  border-top: 1px solid var(--line) !important; padding-top: 14px !important;
  font-size: 18px !important; font-weight: 700 !important; color: var(--ink) !important;
}

/* ============================================================
   CHECKBOXES (terms, RODO, newsletter)
   ============================================================ */
.woocommerce-checkout .woocommerce-form__label-for-checkbox,
.sunlu-checkout-consents .form-row label,
.sunlu-consents .form-row label,
.sunlu-consents label {
  display: flex !important; gap: 10px !important; padding: 0 !important;
  align-items: flex-start !important; font-size: 14px !important;
  color: var(--ink-2) !important; line-height: 1.5 !important; cursor: pointer !important;
  font-family: 'Inter', sans-serif !important;
}
/* Newsletter field — ujednolicony z checkboxami regulaminów */
#order_newsletter_consent_field {
  margin: 0 !important;
  padding-left: 3px !important;  /* wyrównaj z form-row validate-required */
}
#order_newsletter_consent_field label {
  padding: 0 !important;
  margin: 0 !important;
}
/* Ujednolicony rozmiar i pozycja wszystkich checkboxów w Zgody i finalizacja */
.sunlu-card-body .form-row input[type="checkbox"],
.sunlu-card-body input[type="checkbox"],
.woocommerce-checkout .woocommerce-form__input-checkbox,
.woocommerce-checkout input.input-checkbox {
  accent-color: var(--accent) !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  margin: 2px 0 0 0 !important;
  flex-shrink: 0 !important;
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  display: inline-block !important;
  cursor: pointer !important;
}
.woocommerce-terms-and-conditions {
  background: #FAFBFC !important; border: 1px solid var(--line) !important;
  border-radius: 10px !important; padding: 14px !important;
  font-size: 13px !important; color: var(--ink-2) !important;
  font-family: 'Inter', sans-serif !important;
}
/* Linki w sekcji zgód i newslettera — wyraźne, teal */
.woocommerce-checkout .woocommerce-form__label-for-checkbox a,
#order_newsletter_consent_field label a,
.sunlu-newsletter-field label a,
.woocommerce-checkout-review-order .form-row label a {
  color: var(--accent) !important; text-decoration: underline !important;
  font-weight: 500 !important;
}
.woocommerce-checkout .woocommerce-form__label-for-checkbox a:hover,
#order_newsletter_consent_field label a:hover,
.sunlu-newsletter-field label a:hover {
  color: var(--accent-600) !important;
}
/* Newsletter field — mniejszy tekst dla długiego opisu */
.sunlu-newsletter-field label,
#order_newsletter_consent_field label {
  font-size: 13px !important;
}

/* ============================================================
   INVOICE TOGGLE FIELDS
   ============================================================ */
.sunlu-invoice-field { display: none; }

/* ============================================================
   1-STEP CHECKOUT ASIDE
   ============================================================ */
.sunlu-onepage-aside { position: relative; align-self: stretch !important; }
.sunlu-onepage-aside .sunlu-card--sticky { position: sticky !important; top: 80px !important; overflow: visible !important; }
.sunlu-ms-aside { position: relative; align-self: stretch !important; }
.sunlu-ms-aside .sunlu-card--sticky { position: sticky !important; top: 80px !important; overflow: visible !important; }

/* ============================================================
   STEP 4 MINI-REVIEW
   ============================================================ */
.sunlu-step4-review {
  background: var(--bg) !important; border: 1px solid var(--line-2) !important;
  border-radius: 10px !important; padding: 14px 16px !important;
  display: flex !important; flex-direction: column !important; gap: 10px !important;
}
.sunlu-review-row { display: flex !important; justify-content: space-between !important; align-items: baseline !important; gap: 12px !important; font-size: 14px !important; }
.sunlu-review-label { color: var(--muted) !important; font-weight: 500 !important; flex-shrink: 0 !important; font-family: 'Inter', sans-serif !important; }
.sunlu-review-value { color: var(--ink) !important; font-weight: 500 !important; text-align: right !important; font-family: 'Inter', sans-serif !important; }

/* ============================================================
   VALIDATION
   ============================================================ */
.sunlu-invalid, input.sunlu-invalid, select.sunlu-invalid, textarea.sunlu-invalid {
  border-color: var(--danger) !important;
  box-shadow: 0 0 0 3px rgba(220,38,38,.12) !important;
}


/* Force Inter on all checkout form elements — beat WC + parent theme */
.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-checkout label,
.woocommerce-checkout button,
.woocommerce-checkout p,
.woocommerce-checkout span,
.woocommerce-checkout a,
.woocommerce-checkout h1,
.woocommerce-checkout h2,
.woocommerce-checkout h3,
.woocommerce-checkout h4,
.woocommerce-checkout th,
.woocommerce-checkout td,
.woocommerce-cart input,
.woocommerce-cart select,
.woocommerce-cart textarea,
.woocommerce-cart label,
.woocommerce-cart button,
.woocommerce-cart p,
.woocommerce-cart span,
.woocommerce-cart a,
.woocommerce-cart th,
.woocommerce-cart td {
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif !important;
}

/* ============================================================
   PAGE TITLE — Koszyk / Zamówienie
   ============================================================ */
.woocommerce-cart h1.page-title,
.woocommerce-checkout h1.page-title,
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title {
  font-size: 32px !important; font-weight: 700 !important;
  letter-spacing: -0.02em !important; color: var(--ink) !important;
  margin-bottom: 24px !important; font-family: 'Inter', sans-serif !important;
}

/* ============================================================
   MOBILE — tablet ≤1100px
   ============================================================ */
@media (max-width: 1100px) {
  .sunlu-layout,
  .sunlu-onepage-form,
  .sunlu-ms-form { grid-template-columns: 1fr !important; }
  .sunlu-ms-aside, .sunlu-onepage-aside { order: 2; }
  .sunlu-ms-left, .sunlu-onepage-left  { order: 1; }
  .sunlu-card--sticky { position: static !important; }

  .sunlu-cart-line {
    grid-template-columns: 72px 1fr auto !important;
    grid-template-rows: auto auto !important;
    column-gap: 14px !important; row-gap: 10px !important;
    padding: 16px 20px !important;
  }
  .sunlu-thumb { width: 72px !important; height: 72px !important; grid-row: 1 / span 2 !important; }
  .sunlu-thumb img, .sunlu-thumb picture img { width: 72px !important; height: 72px !important; max-width: 72px !important; }
  .sunlu-line-info  { grid-column: 2 !important; grid-row: 1 !important; min-width: 0 !important; }
  .sunlu-line-qty   { grid-column: 2 !important; grid-row: 2 !important; justify-self: start !important; }
  .sunlu-line-price { grid-column: 3 !important; grid-row: 1 !important; align-self: start !important; text-align: right !important; }
  .sunlu-line-remove { grid-column: 3 !important; grid-row: 2 !important; justify-self: end !important; }

  .sunlu-upsell-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ============================================================
   MOBILE — ≤720px
   ============================================================ */
@media (max-width: 720px) {
  .woocommerce-cart #main-content,
  .woocommerce-checkout #main-content { padding: 16px !important; }

  .sunlu-ship-bar { flex-wrap: wrap !important; }
  .sunlu-ship-bar__progress { width: 100% !important; order: 3 !important; }
  .sunlu-ship-bar__amount { display: none !important; }

  .sunlu-cart-line {
    grid-template-columns: 64px 1fr auto !important;
    grid-template-rows: auto auto !important;
    gap: 12px !important; padding: 14px 16px !important;
  }
  .sunlu-thumb { width: 64px !important; height: 64px !important; }
  .sunlu-thumb img, .sunlu-thumb picture img { width: 64px !important; height: 64px !important; max-width: 64px !important; }
  .sunlu-line-qty    { grid-column: 2 !important; grid-row: 2 !important; }
  .sunlu-line-price  { grid-column: 3 !important; grid-row: 1 !important; }
  .sunlu-line-remove { grid-column: 3 !important; grid-row: 2 !important; justify-self: end !important; }

  .sunlu-upsell-grid { grid-template-columns: 1fr !important; }

  .sunlu-card-head,
  .sunlu-card-body { padding-left: 16px !important; padding-right: 16px !important; }
  .sunlu-coupon { padding-left: 16px !important; padding-right: 16px !important; }
  .sunlu-trust { grid-template-columns: 1fr !important; }

  .woocommerce-checkout form .form-row.form-row-first,
  .woocommerce-checkout form .form-row.form-row-last {
    width: 100% !important; float: none !important;
  }
}
/* cart_totals wrapper — WC AJAX target, invisible container */
.woocommerce-cart .cart_totals,
.woocommerce-cart .cart_totals.calculated_shipping {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  width: 100% !important;
}
/* Proceed to checkout button inside cart_totals */
.woocommerce-cart .cart_totals .wc-proceed-to-checkout { padding: 0 !important; }
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button {
  display: flex !important;
  width: 100% !important;
  justify-content: center !important;
  padding: 14px 24px !important;
  font-size: 16px !important;
  margin-top: 16px !important;
  background: var(--accent) !important;
  color: #fff !important;
  border-radius: var(--radius-btn) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border: none !important;
}
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--accent-600) !important;
}



/* Hidden order_review — WC needs it in DOM for AJAX but we show our own summary */
.sunlu-order-review-hidden {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}
/* =============================================================
   Checkout coupon — in summary panel
   ============================================================= */

/* Ukryj domyslny WC coupon toggle na gorze checkout */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-form-coupon-toggle,
.woocommerce-form-login-toggle { display: none !important; }

/* Kupon w summary */
.sunlu-coupon-inline {
  border-top: 1px solid var(--line-2) !important;
  padding-top: 14px !important;
  margin-top: 14px !important;
}
.sunlu-coupon-toggle {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  font-size: 13.5px !important;
  color: var(--muted) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'Inter', sans-serif !important;
  width: 100% !important;
  text-align: left !important;
}
.sunlu-coupon-toggle:hover { color: var(--ink-2) !important; }
.sunlu-coupon-toggle svg { color: var(--accent-600) !important; flex-shrink: 0 !important; }

.sunlu-checkout-coupon-form {
  display: none;
  gap: 8px !important;
  margin-top: 10px !important;
}
.sunlu-checkout-coupon-form.sunlu-coupon-open {
  display: flex !important;
}
.sunlu-coupon-input {
  flex: 1 !important;
  padding: 10px 14px !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-btn) !important;
  background: #fff !important;
  outline: none !important;
  font-size: 14px !important;
  color: var(--ink) !important;
  font-family: 'Inter', sans-serif !important;
  transition: border-color .15s, box-shadow .15s;
}
.sunlu-coupon-input:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px var(--accent-50) !important;
}
.sunlu-btn--sm {
  padding: 10px 16px !important;
  font-size: 14px !important;
  white-space: nowrap !important;
}


/* Kupon w cart-totals — ostyluj link Usun */
.woocommerce-cart .cart_totals .woocommerce-remove-coupon,
.woocommerce-checkout .woocommerce-remove-coupon {
  color: var(--danger) !important;
  font-size: 12px !important;
  text-decoration: none !important;
  font-family: 'Inter', sans-serif !important;
  margin-left: 6px !important;
  border: 1px solid var(--danger) !important;
  border-radius: 4px !important;
  padding: 1px 6px !important;
  opacity: 0.7 !important;
}
.woocommerce-cart .cart_totals .woocommerce-remove-coupon:hover,
.woocommerce-checkout .woocommerce-remove-coupon:hover { opacity: 1 !important; }

/* Checkout coupon input + button font fix */
.sunlu-coupon-input,
.sunlu-coupon-toggle,
#sunlu-apply-coupon {
  font-family: 'Inter', system-ui, sans-serif !important;
  -webkit-font-smoothing: antialiased !important;
}
#sunlu-apply-coupon {
  background: transparent !important;
  border: 1px solid var(--line) !important;
  color: var(--ink-2) !important;
  padding: 10px 16px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border-radius: var(--radius-btn) !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}
#sunlu-apply-coupon:hover {
  border-color: var(--ink-2) !important;
  color: var(--ink) !important;
}



/* Hide "z VAT" suffix in cart upsell prices */
.woocommerce-cart .sunlu-upsell-price .woocommerce-price-suffix,
.woocommerce-cart .sunlu-upsell-card .woocommerce-price-suffix {
  display: none !important;
}

/* Critical: form.checkout must not have overflow set — kills sticky */
.woocommerce-checkout form.checkout,
.woocommerce-checkout form.woocommerce-checkout {
  overflow: visible !important;
  position: relative; /* WC blockUI overlay musi być przyczepiony do formularza, nie do kart */
}
/* =============================================================
   Checkout form — sekcje billing/shipping jako karty z paddingiem
   ============================================================= */

/* Karta z polami formularza — padding wewnatrz */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
  padding: 0 !important;
}

/* Usun szare tlo z sekcji billing/shipping — card-body juz daje wygląd */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
}

/* Naglowki sekcji billing/shipping ukryj — mamy wlasne w card-head */
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3 {
  display: none !important;
}

/* card-body padding */
.sunlu-onepage-left .sunlu-card-body {
  padding: 22px 24px !important;
}

/* Adres dostawy — info "taki sam jak dane kontaktowe" */
.sunlu-ship-same {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 12px 14px !important;
  background: #F0FDF4 !important;
  border: 1px solid #BBF7D0 !important;
  border-radius: 10px !important;
  gap: 12px !important;
}
.sunlu-ship-same__info {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  font-family: 'Inter', sans-serif !important;
}
.sunlu-ship-same__info svg { color: var(--accent-600) !important; flex-shrink: 0 !important; }
.sunlu-ship-same--hidden { display: none !important; }
.sunlu-ship-change {
  font-size: 13px !important;
  color: var(--accent-600) !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.sunlu-ship-same-btn {
  color: var(--ink-2) !important;
}
#sunlu-shipping-fields { margin-top: 16px !important; }

/* Pola — row-first/last jako grid 50/50 */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 12px !important;
}
.woocommerce-checkout form .form-row.form-row-first,
.woocommerce-checkout form .form-row.form-row-last {
  width: 100% !important;
  float: none !important;
  display: block !important;
  margin-right: 0 !important;
}
.woocommerce-checkout form .form-row.form-row-wide,
.woocommerce-checkout form .form-row.form-row-wide.notes {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}

/* Label font */
.woocommerce-checkout form .form-row label {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--ink-2) !important;
  margin-bottom: 6px !important;
  display: block !important;
  font-family: 'Inter', sans-serif !important;
}

/* Input styling — czysty, jak w designie */
.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row select,
.woocommerce-checkout form .form-row textarea {
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-btn) !important;
  padding: 11px 14px !important;
  font-size: 15px !important;
  font-family: 'Inter', sans-serif !important;
  color: var(--ink) !important;
  background: #fff !important;
  width: 100% !important;
  box-shadow: none !important;
  outline: none !important;
  transition: border-color .15s, box-shadow .15s !important;
  height: auto !important;
}
.woocommerce-checkout form .form-row input.input-text:focus,
.woocommerce-checkout form .form-row select:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px var(--accent-50) !important;
}

/* Placeholder kolor */
.woocommerce-checkout form .form-row input.input-text::placeholder {
  color: var(--meta) !important;
  font-family: 'Inter', sans-serif !important;
}

/* Checkboxy — turkusowe accent */
.woocommerce-checkout input[type="checkbox"] {
  accent-color: var(--accent) !important;
  width: 16px !important;
  height: 16px !important;
  margin-top: 2px !important;
  flex-shrink: 0 !important;
}

/* Checkbox label row — flex align */
.woocommerce-checkout .form-row label.checkbox,
.woocommerce-checkout .woocommerce-form-row label,
.woocommerce-checkout p.form-row label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  font-size: 14px !important;
  color: var(--ink-2) !important;
  cursor: pointer !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
}

/* Margines miedzy polami */
.woocommerce-checkout form .form-row {
  margin-bottom: 14px !important;
}
.woocommerce-checkout form .form-row:last-child {
  margin-bottom: 0 !important;
}

/* Kraj select — Select2 */
.woocommerce-checkout .select2-container .select2-selection--single {
  height: 44px !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-btn) !important;
  background: #fff !important;
}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
  line-height: 44px !important;
  padding-left: 14px !important;
  font-size: 15px !important;
  font-family: 'Inter', sans-serif !important;
  color: var(--ink) !important;
}
.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px var(--accent-50) !important;
}

/* Trzy kolumny: kod, miasto, kraj */
.woocommerce-checkout .form-row-first.address-field ~ .form-row + .form-row {
  width: calc(33% - 8px) !important;
}


/* =============================================================
   Checkout form — dodatkowe poprawki
   ============================================================= */

/* Ukryj naglowek "Dane rozliczeniowe" — mamy wlasny w card-head */
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-billing-fields h3:first-child {
  display: none !important;
}

/* Ukryj domyslnie pola faktury — ID selector bije form-row-first !important */
#billing_nip_field,
#billing_company_field,
.woocommerce-checkout .sunlu-invoice-field,
.woocommerce-checkout p.sunlu-invoice-field,
.woocommerce-checkout .form-row.sunlu-invoice-field {
  display: none !important;
}
#billing_nip_field.sunlu-invoice-visible,
#billing_company_field.sunlu-invoice-visible,
.woocommerce-checkout .sunlu-invoice-field.sunlu-invoice-visible,
.woocommerce-checkout p.sunlu-invoice-field.sunlu-invoice-visible,
.woocommerce-checkout .form-row.sunlu-invoice-field.sunlu-invoice-visible {
  display: inline-block !important;
}

/* Ukryj notyfikacje WC add-to-cart na stronie checkout */
.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-message {
  display: none !important;
}

/* Label "optional" — zmniejsz i wyszarz */
.woocommerce-checkout .optional {
  color: var(--meta) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  margin-left: 4px !important;
}

/* Ukryj "Dane rozliczeniowe" heading */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > h3,
.woocommerce-checkout h3[id*="billing"] {
  display: none !important;
}

/* Separator miedzy kartami */
.sunlu-onepage-left .sunlu-card + .sunlu-card {
  margin-top: 16px !important;
}

/* Karta body — upewnij ze padding jest */
.sunlu-onepage-left .sunlu-card .sunlu-card-body {
  padding: 22px 24px !important;
}

/* Ukryj wbudowany checkbox WC terms jezeli duplikujemy consent */
.woocommerce-checkout .woocommerce-privacy-policy-text {
  font-size: 13px !important;
  color: var(--meta) !important;
  margin-bottom: 12px !important;
  font-family: 'Inter', sans-serif !important;
}



/* Ukryj EU VAT number field — osobny plugin, nie uzywamy */
.woocommerce-checkout #billing_eu_vat_number_field {
  display: none !important;
}

/* ============================================================
   SHIP TO DIFFERENT ADDRESS checkbox
   ============================================================ */
.woocommerce-checkout .woocommerce-shipping-fields h3 {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--ink-2) !important;
  margin: 16px 0 0 !important;
  padding: 16px 0 0 !important;
  border-top: 1px solid var(--line-2) !important;
  cursor: pointer !important;
}
.woocommerce-checkout .woocommerce-shipping-fields h3 label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  cursor: pointer !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-checkout #ship-to-different-address-checkbox {
  accent-color: var(--accent) !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
}

/* ============================================================
   CREATE ACCOUNT section on checkout
   ============================================================ */
.woocommerce-checkout .woocommerce-account-fields {
  margin-top: 12px !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--line-2) !important;
}
.woocommerce-checkout .woocommerce-account-fields #createaccount {
  accent-color: var(--accent) !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
}
.woocommerce-checkout .woocommerce-account-fields .create-account {
  margin-top: 10px !important;
}
.woocommerce-checkout #account_password_field,
.woocommerce-checkout #account_username_field {
  clear: both !important;
}

/* ============================================================
   FONT OVERRIDE — Inter beats parent Space Grotesk / DM Sans
   #main-content h2/h3 → Space Grotesk !important w parent;
   #main-content.woocommerce-checkout ma wyższą specyficzność
   ============================================================ */
body.woocommerce-checkout #main-content h1,
body.woocommerce-checkout #main-content h2,
body.woocommerce-checkout #main-content h3,
body.woocommerce-checkout #main-content h4,
body.woocommerce-checkout #main-content label,
body.woocommerce-checkout #main-content input,
body.woocommerce-checkout #main-content select,
body.woocommerce-checkout #main-content textarea,
body.woocommerce-checkout #main-content button,
body.woocommerce-checkout #main-content p,
body.woocommerce-checkout #main-content span,
body.woocommerce-checkout #main-content a,
body.woocommerce-cart #main-content h1,
body.woocommerce-cart #main-content h2,
body.woocommerce-cart #main-content h3,
body.woocommerce-cart #main-content label,
body.woocommerce-cart #main-content input,
body.woocommerce-cart #main-content button,
body.woocommerce-cart #main-content span,
body.woocommerce-cart #main-content a {
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
}

/* ── Ukryj WC "Koszyk zaktualizowany" notice po update ───────────────── */
.woocommerce-cart .woocommerce-message {
  display: none !important;
}

/* ── Toast notification ───────────────────────────────────────────────── */
.sunlu-toast {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  background: #0F172A !important;
  color: #fff !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 12px 20px !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 18px rgba(15,23,42,.18) !important;
  z-index: 99999 !important;
  opacity: 0 !important;
  transform: translateY(12px) !important;
  transition: opacity .3s, transform .3s !important;
  pointer-events: none !important;
}
.sunlu-toast--show {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* ── Shadcn/Radix toast (React add-to-cart) — match sunlu-toast style ── */
[data-radix-toast-viewport] {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  top: auto !important;
  left: auto !important;
  max-width: 360px !important;
  z-index: 99998 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
}
[data-radix-toast-viewport] li[data-radix-collection-item] {
  background: #0F172A !important;
  color: #fff !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 12px 20px !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 18px rgba(15,23,42,.18) !important;
  border: none !important;
  list-style: none !important;
}
[data-radix-toast-viewport] li[data-radix-collection-item] [data-title] {
  font-weight: 600 !important; font-size: 14px !important; color: #fff !important;
}
[data-radix-toast-viewport] li[data-radix-collection-item] [data-description] {
  font-size: 13px !important; color: rgba(255,255,255,.75) !important; margin-top: 2px !important;
}
[data-radix-toast-viewport] li[data-radix-collection-item] button[data-radix-toast-close] {
  color: rgba(255,255,255,.6) !important; background: none !important; border: none !important;
}
[data-radix-toast-viewport] li[data-radix-collection-item] button[data-radix-toast-close]:hover {
  color: #fff !important;
}

/* ============================================================
   SINGLE PRODUCT PAGE — dopasowanie kolorystyki do React
   ============================================================ */

/* Tło strony produktu */
.single-product #main-content {
  background: #F4F6F8 !important;
  min-height: 100vh !important;
}

/* Kontener produktu — karta jak w React */
.single-product .woocommerce div.product {
  background: #fff !important;
  border-radius: 16px !important;
  border: 1px solid #E2E8F0 !important;
  padding: 32px !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.06) !important;
}

/* Przycisk Dodaj do koszyka — turkus jak w React */
.single-product .woocommerce form.cart .single_add_to_cart_button {
  background: #2bb6a8 !important;
  color: #fff !important;
  border-radius: 10px !important;
  height: 46px !important;
  padding: 0 28px !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 8px rgba(43,182,168,.25) !important;
}
.single-product .woocommerce form.cart .single_add_to_cart_button:hover {
  background: #259e92 !important;
  opacity: 1 !important;
}

/* Tytuł */
.single-product .woocommerce div.product .product_title {
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  color: #0F172A !important;
  letter-spacing: -.02em !important;
}

/* Cena */
.single-product .woocommerce div.product p.price ins,
.single-product .woocommerce div.product span.price ins {
  text-decoration: none !important;
  font-style: normal !important;
}
.single-product .woocommerce div.product p.price del,
.single-product .woocommerce div.product span.price del {
  color: #94A3B8 !important;
}

/* Omnibus pod ceną */
.single-product .sunlu-omnibus {
  font-size: 13px !important;
  color: #64748B !important;
  margin: 2px 0 12px !important;
}
.single-product .sunlu-omnibus strong { color: #0F172A !important; }

/* Badge'y */
.single-product .sunlu-badges { margin-bottom: 12px !important; }
.single-product .badge-material {
  background: #EFF6FF !important;
  color: #1D4ED8 !important;
  border-radius: 6px !important;
}

/* Stan magazynowy */
.single-product .woocommerce div.product p.stock.in-stock {
  background: #DCFCE7 !important; color: #166534 !important;
}
.single-product .woocommerce div.product p.stock.out-of-stock {
  background: #FEE2E2 !important; color: #991B1B !important;
}

/* Specs grid */
.single-product .sunlu-specs-grid {
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 12px !important;
  padding: 4px !important;
  gap: 4px !important;
}
.single-product .spec-item {
  background: #fff !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
}
.single-product .spec-label {
  color: #64748B !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}
.single-product .spec-value {
  color: #0F172A !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  margin-top: 2px !important;
}

/* Stepper */
.single-product .woocommerce .quantity {
  border-color: #E2E8F0 !important;
  border-radius: 10px !important;
  height: 46px !important;
}
.single-product .woocommerce .quantity input.qty {
  border-color: #E2E8F0 !important;
}

/* Galeria */
.single-product .woocommerce-product-gallery figure.woocommerce-product-gallery__image img {
  border-color: #E2E8F0 !important;
  border-radius: 12px !important;
  background: #F8FAFC !important;
}
