/* ════════════════════════════════════════════════════════════════════
   PILLAC ADDONS CSS — ZASADY EDYCJI (po refaktorze 2026-07)
   1. EDYTUJ istniejącą regułę zamiast dopisywać nową warstwę niżej.
      Warstwy v2→v5 z !important były źródłem regresji (duchy starych reguł).
   2. Motyw XStore używa !important na table.shop_table td — selektory
      koszyka wymagają `body .woocommerce-cart-form table.shop_table ...`.
   3. Motyw ma DRUGI markup mobilny (<768px): duplikaty .product-price /
      .product-subtotal wewnątrz td.product-details. Desktopowy fix ich
      nie dotyka — każdą zmianę koszyka weryfikuj też w ~390px.
   4. Stripe Express Checkout to jeden iframe: układ przycisków łamie się
      poniżej ~520px szerokości elementu; stały transform:scale, bez JS.
   ════════════════════════════════════════════════════════════════════ */
/* Pillac Add-Ons Configurator v2.0 — WP-native integration */

:root {
  --pillac-navy: #2C363F;
  --pillac-nl:   rgba(44,54,63,.07);
  --pillac-nm:   rgba(44,54,63,.14);
  --pillac-cyan: #43DEFC;
  --pillac-off:  #F7F8FB;
  --pillac-muted:#7B8494;
  --pillac-fd:   'Cormorant Garamond', Georgia, serif;
  --pillac-ease: cubic-bezier(.25,.46,.45,.94);
}

/* ─── Preview overlay w galerii WooCommerce ─────────────────────────────── */
/* ─── Gallery overlay — przezroczysty, tylko warstwy personalizacji ─── */
/* Wyłącz animację „swipe" galerii na produktach z personalizacją — nakładka stoi w miejscu,
   więc jadące zdjęcie wyglądało nienaturalnie. Zmiana slajdu = natychmiastowa. */
.single-product .main-slider-on .swiper-wrapper,
.single-product .main-slider-on .swiper-slide,
.single-product .gallery-slider-on .swiper-wrapper,
.single-product .gallery-slider-on .swiper-slide { transition-duration: 0ms !important; }

.pillac-gallery-preview {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1 / 1;   /* kadr = kwadratowe zdjęcie produktu, wyrównane do góry kontenera */
  height: auto;
  background: transparent;
  z-index: 20;           /* nad slajdami coverflow-3d Swipera */
  pointer-events: none;
}

/* Mix PNG overlay — dolna połowa zdjęcia drugiego koloru */
.pillac-mix-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 3;
}

/* Badge "Personalized" */
.pillac-gallery-preview .pbadge {
  position: absolute;
  top: 14px; right: 14px;
  background: var(--pillac-navy);
  color: #fff;
  font-size: 8px;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 4px 9px;
  border-radius: 2px;
  transition: opacity .3s;
  z-index: 6;
}

/* Text/icon overlay na zdjęciu */
.pillac-text-overlay {
  position: absolute;
  bottom: 18%;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--pillac-fd);
  font-size: 20px;
  color: rgba(44,54,63,.55);
  letter-spacing: .2em;
  white-space: pre;
  pointer-events: none;
  font-style: italic;
  text-align: center;
  z-index: 5;
  line-height: 1.2;
  /* Bez transition — animowanie color/opacity/text-shadow gubiło per-kolorowe ustawienia (utykały na wartości pośredniej). Zmiany stosują się natychmiast. */
  transition: none;
}
.pillac-text-overlay.on {
  color: rgba(44,54,63,.7);
}

/* ─── Configurator block (nad form.cart) ────────────────────────────────── */
#pillac-addons-configurator {
  margin: 0 0 20px;
  font-family: inherit;
  color: var(--pillac-navy);
}
#pillac-addons-configurator .cs {
  margin-bottom: 22px;
}
#pillac-addons-configurator .lbl {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--pillac-muted);
  margin-bottom: 10px;
  font-weight: 400;
  display: flex;
  gap: 6px;
  align-items: center;
}
#pillac-addons-configurator .lbl b {
  color: var(--pillac-navy);
  font-weight: 500;
}

/* Swatches */
#pillac-addons-configurator .swatches {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
#pillac-addons-configurator .sw {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  cursor: pointer;
  border: 2px solid transparent;
  transition: all .15s;
  position: relative;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
}
#pillac-addons-configurator .sw:hover {
  transform: scale(1.08);
}
#pillac-addons-configurator .sw.active {
  border-color: var(--pillac-navy);
  box-shadow: inset 0 0 0 2px #fff, 0 0 0 1px rgba(44,54,63,.08);
}
#pillac-addons-configurator .sw.na {
  cursor: not-allowed;
  opacity: .4;
}

/* Mix button */
#pillac-addons-configurator .mx-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  border: 1px solid var(--pillac-nm);
  border-radius: 999px;
  padding: 10px 18px;
  font-size: 12px;
  letter-spacing: .04em;
  color: var(--pillac-navy);
  cursor: pointer;
  transition: all .2s;
}
#pillac-addons-configurator .mx-btn:hover {
  border-color: var(--pillac-navy);
}
#pillac-addons-configurator .mx-btn.on {
  background: var(--pillac-navy);
  color: #fff;
  border-color: var(--pillac-navy);
}
#pillac-addons-configurator .mx-icon {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: linear-gradient(90deg, #c0c0c0 50%, #f4a8c0 50%);
}
#pillac-addons-configurator .mx-price {
  font-size: 11px;
  opacity: .7;
}

/* Make it yours */
#pillac-addons-configurator .miy-title {
  font-family: var(--pillac-fd);
  font-size: 22px;
  font-weight: 400;
  margin-bottom: 4px;
}
#pillac-addons-configurator .miy-sub {
  font-size: 12px;
  color: var(--pillac-muted);
  margin-bottom: 14px;
}
#pillac-addons-configurator .po-wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  gap: 10px;
}
#pillac-addons-configurator .po {
  background: #fff;
  border: 1.5px solid var(--pillac-nl);
  border-radius: 8px;
  padding: 12px 8px;
  cursor: pointer;
  text-align: center;
  transition: all .15s;
}
#pillac-addons-configurator .po:hover {
  border-color: var(--pillac-nm);
}
#pillac-addons-configurator .po.active {
  border-color: var(--pillac-navy);
  background: var(--pillac-off);
}
#pillac-addons-configurator .po-badge {
  position: absolute;
  top: -8px;
  right: 8px;
  background: var(--pillac-cyan);
  color: var(--pillac-navy);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .05em;
  padding: 2px 7px;
  border-radius: 3px;
  text-transform: uppercase;
}
#pillac-addons-configurator .po-vis {
  height: 42px;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#pillac-addons-configurator .po-case {
  width: 54px;
  height: 32px;
  background: var(--pillac-off);
  border: 1px solid var(--pillac-nl);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--pillac-fd);
  font-size: 10px;
  letter-spacing: .1em;
  color: var(--pillac-muted);
  font-style: italic;
}
#pillac-addons-configurator .po-ico {
  font-size: 14px;
  color: var(--pillac-navy);
  font-style: normal;
}
#pillac-addons-configurator .po-n {
  font-size: 11px;
  font-weight: 500;
  margin-bottom: 2px;
}
#pillac-addons-configurator .po-p {
  display: none;
}

/* Sub-panels (icon / line1 / line2) */
#pillac-addons-configurator .sub {
  margin-top: 14px;
  padding: 14px;
  background: var(--pillac-off);
  border-radius: 8px;
}
#pillac-addons-configurator .icon-swatches {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
#pillac-addons-configurator .isw {
  width: 44px;
  height: 44px;
  border: 1.5px solid var(--pillac-nl);
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  overflow: hidden;
  transition: all .15s;
}
#pillac-addons-configurator .isw:hover {
  border-color: var(--pillac-nm);
}
#pillac-addons-configurator .isw.active {
  border-color: var(--pillac-navy);
}
#pillac-addons-configurator .isw img {
  max-width: 60%;
  max-height: 60%;
  object-fit: contain;
}
#pillac-addons-configurator .pfw {
  position: relative;
}
#pillac-addons-configurator .pf {
  width: 100%;
  border: 1px solid var(--pillac-nm);
  border-radius: 6px;
  padding: 10px 48px 10px 12px;
  font-size: 14px;
  font-family: inherit;
  background: #fff;
  color: var(--pillac-navy);
  outline: none;
  transition: border-color .15s;
}
#pillac-addons-configurator .pf:focus {
  border-color: var(--pillac-navy);
}
#pillac-addons-configurator .pcnt {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 10px;
  color: var(--pillac-muted);
}
#pillac-addons-configurator .sz {
  display: flex;
  gap: 6px;
}
#pillac-addons-configurator .sb {
  flex: 1;
  padding: 8px;
  background: #fff;
  border: 1px solid var(--pillac-nm);
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
  color: var(--pillac-navy);
  transition: all .15s;
}
#pillac-addons-configurator .sb:hover {
  border-color: var(--pillac-navy);
}
#pillac-addons-configurator .sb.active {
  background: var(--pillac-navy);
  color: #fff;
  border-color: var(--pillac-navy);
}
#pillac-addons-configurator .phint {
  margin-top: 10px;
  font-size: 10px;
  color: var(--pillac-muted);
}

/* Trust badges pod add-to-cart */
#pillac-after-cart {
  margin-top: 14px;
}
.pillac-trust {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.pillac-ti {
  font-size: 11px;
  color: var(--pillac-muted);
  display: flex;
  align-items: center;
  gap: 4px;
}
.pillac-ti::before {
  content: '•';
  color: var(--pillac-cyan);
  font-size: 14px;
  line-height: 1;
}
.pillac-delivery {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: var(--pillac-muted);
  padding-top: 8px;
  border-top: 1px solid var(--pillac-nl);
}
.pillac-delivery-label {
  font-weight: 500;
  color: var(--pillac-navy);
}
.pillac-delivery-from {
  margin-left: auto;
}

/* ─── Natywne swatche kolorów XStore w Pillac konfigurator ──────────────── */
.pillac-color-section .variable-item.selected,
/* Ukryj domyślny label "Color" i "Wyczyść" z tabeli WC — zostawiamy tylko swatche */
.pillac-color-section .label,
.pillac-color-section .reset_variations,
.pillac-color-section td.label,
/* Linia "COLOR — HANAMI PINK" nad swatchami */

/* ═══════════════════════════════════════════════════════════════
   PILLAC — restyle konfiguratora wg referencji (design, fonty motywu)
   ═══════════════════════════════════════════════════════════════ */
#pillac-addons-configurator, #pillac-total-bar, [id^="pillac-sub-"]{
  --pc-navy:#2C363F; --pc-navy-mid:rgba(44,54,63,.15);
  --pc-off:#F7F8FB; --pc-muted:#8892A4; --pc-cyan:#43DEFC;
}
#pillac-addons-configurator .cs{ margin-bottom:26px; }
#pillac-addons-configurator .lbl{ font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--pc-muted); font-weight:600; margin-bottom:12px; }
#pillac-addons-configurator .lbl b{ color:var(--pc-navy); font-weight:600; }
#pillac-addons-configurator .miy-title{ font-size:26px; font-weight:400; color:var(--pc-navy); margin:0 0 6px; letter-spacing:-.01em; line-height:1.15; }
#pillac-addons-configurator .miy-sub{ font-size:13px; color:var(--pc-muted); line-height:1.7; font-weight:300; max-width:420px; margin-bottom:16px; }
#pillac-addons-configurator .swatches{ display:flex; gap:12px; flex-wrap:wrap; }
#pillac-addons-configurator .sw{ width:34px; height:34px; border-radius:50%; cursor:pointer; border:2px solid transparent; outline:2px solid transparent; outline-offset:2px; transition:transform .15s, outline-color .15s; }
#pillac-addons-configurator .sw:hover{ transform:scale(1.08); }
#pillac-addons-configurator .sw.active{ outline-color:var(--pc-navy); }
#pillac-addons-configurator .sw.na{ opacity:.35; cursor:not-allowed; }
#pillac-addons-configurator .po-wrap{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
#pillac-addons-configurator .po{ position:relative; border:1px solid var(--pc-navy-mid); border-radius:4px; padding:10px 8px 12px; cursor:pointer; text-align:center; background:#fff; transition:border-color .15s, transform .15s, box-shadow .15s; }
#pillac-addons-configurator .po:hover:not(.active){ border-color:rgba(44,54,63,.4); transform:translateY(-2px); box-shadow:0 6px 18px rgba(44,54,63,.08); }
#pillac-addons-configurator .po.active{ border-color:var(--pc-navy); background:rgba(44,54,63,.03); }
#pillac-addons-configurator .po-vis{ width:100%; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; background:#EAF9FF; border-radius:3px; margin-bottom:10px; }
#pillac-addons-configurator .po-case{ width:72%; height:64%; border-radius:12px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#b8dff7,#a9d4f0); box-shadow:0 4px 10px rgba(44,54,63,.12); }
#pillac-addons-configurator .po-ico{ font-size:18px; color:rgba(44,54,63,.5); }
#pillac-addons-configurator .po-txt{ font-size:9px; font-style:italic; letter-spacing:.14em; color:rgba(44,54,63,.5); text-align:center; }
#pillac-addons-configurator .po-n{ font-size:12px; font-weight:500; color:var(--pc-navy); margin-bottom:2px; }
#pillac-addons-configurator .po-p{ font-size:11px; color:var(--pc-muted); }
#pillac-addons-configurator .po-badge{ position:absolute; top:6px; left:6px; background:var(--pc-cyan); color:var(--pc-navy); font-size:9px; text-transform:uppercase; letter-spacing:.04em; padding:3px 8px; border-radius:2px; font-weight:600; }
[id^="pillac-sub-"]{ background:var(--pc-off); border-radius:4px; padding:18px; margin-top:12px; }
[id^="pillac-sub-"] .pfw{ position:relative; margin-bottom:6px; }
[id^="pillac-sub-"] .pf{ width:100%; border:1px solid var(--pc-navy-mid); background:#fff; padding:14px 16px; border-radius:3px; font-size:14px; color:var(--pc-navy); box-sizing:border-box; }
[id^="pillac-sub-"] .pf:focus{ border-color:var(--pc-navy); outline:none; }
[id^="pillac-sub-"] .pcnt{ position:absolute; right:12px; bottom:14px; font-size:10px; color:var(--pc-muted); pointer-events:none; }
[id^="pillac-sub-"] .phint{ font-size:11px; color:var(--pc-muted); margin-top:10px; line-height:1.6; }
[id^="pillac-sub-"] .sz{ display:flex; gap:8px; }
[id^="pillac-sub-"] .sb{ flex:1; padding:10px 16px; border:1px solid var(--pc-navy-mid); background:#fff; border-radius:3px; cursor:pointer; color:var(--pc-navy); font-size:13px; transition:border-color .15s, background .15s; }
[id^="pillac-sub-"] .sb:hover:not(.active){ border-color:rgba(44,54,63,.4); }
[id^="pillac-sub-"] .sb.active{ border-color:var(--pc-navy); background:var(--pc-navy); color:#fff; font-weight:500; }
#pillac-isw{ display:flex; gap:10px; flex-wrap:wrap; }
#pillac-isw .isw{ width:44px; height:44px; border:1px solid var(--pc-navy-mid); border-radius:8px; display:flex; align-items:center; justify-content:center; cursor:pointer; background:#fff; transition:border-color .15s; }
#pillac-isw .isw:hover{ border-color:rgba(44,54,63,.4); }
#pillac-isw .isw.active{ border-color:var(--pc-navy); background:rgba(44,54,63,.04); }
#pillac-isw .isw img{ width:22px; height:22px; object-fit:contain; }
#pillac-addons-configurator .mx-btn{ display:inline-flex; align-items:center; gap:8px; border:1px solid var(--pc-navy-mid); background:#fff; border-radius:3px; padding:10px 14px; cursor:pointer; color:var(--pc-navy); font-size:13px; }
#pillac-addons-configurator .mx-price{ color:var(--pc-muted); }
#pillac-total-bar{ display:flex; justify-content:space-between; align-items:center; background:var(--pc-off); border:none; border-radius:4px; padding:16px 20px; margin:18px 0; }

/* ── restyle: tytuł do lewej, opis, górna cena, model, tagi ── */
#pillac-addons-configurator{ text-align:left; }
#pillac-addons-configurator .miy-title, #pillac-addons-configurator .miy-sub{ text-align:left; }
#pillac-addons-configurator .pillac-desc{ font-size:14px; line-height:1.7; color:#5a6172; margin:0 0 20px; font-weight:300; }
#pillac-addons-configurator .pillac-desc p{ margin:0 0 8px; }
#pillac-addons-configurator .pillac-price-top{ font-size:30px; font-weight:600; color:var(--pc-navy); letter-spacing:-.02em; margin:0 0 22px; }
#pillac-addons-configurator .model-btns{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
#pillac-addons-configurator .model-btn{ text-align:left; border:1px solid var(--pc-navy-mid); background:#fff; border-radius:4px; padding:14px 16px; cursor:pointer; transition:border-color .15s, background .15s; }
#pillac-addons-configurator .model-btn:hover:not(.active){ border-color:rgba(44,54,63,.4); }
#pillac-addons-configurator .model-btn.active{ border-color:var(--pc-navy); background:rgba(44,54,63,.03); }
#pillac-addons-configurator .model-btn-name{ display:block; font-size:14px; font-weight:600; color:var(--pc-navy); margin-bottom:3px; }
#pillac-addons-configurator .model-btn-desc{ display:block; font-size:11px; color:var(--pc-muted); margin-bottom:8px; line-height:1.4; }
#pillac-addons-configurator .model-btn-price{ display:block; font-size:13px; font-weight:500; color:var(--pc-navy); }
#pillac-addons-configurator .po-p{ font-size:11px; color:var(--pc-navy); font-weight:500; }
#pillac-total-bar .pillac-total-tags{ display:flex; flex-wrap:wrap; gap:6px; }
#pillac-total-bar .pillac-tag{ font-size:11px; color:var(--pc-muted); background:#fff; border:1px solid rgba(44,54,63,.12); padding:3px 10px; border-radius:100px; }

/* Ukryj info o stanie gdy JEST w magazynie; pokaż tylko gdy brak */
.single-product p.stock.in-stock,
.single-product .stock.in-stock { display:none !important; }
.single-product .stock.out-of-stock { display:block !important; }

/* ── korekty: swatch pojedyncza obwódka, karty jak referencja, cena widoczna ── */
#pillac-addons-configurator .sw{ border:none !important; outline:none !important; box-shadow:none; transition:transform .15s, box-shadow .15s; }
#pillac-addons-configurator .sw:hover{ transform:scale(1.08); }
#pillac-addons-configurator .sw.active{ box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--pc-navy) !important; }

#pillac-addons-configurator .po-wrap{ gap:12px; }
#pillac-addons-configurator .po{ padding:16px 12px 14px; border-radius:8px; }
#pillac-addons-configurator .po-vis{ aspect-ratio:1/1; background:transparent; margin-bottom:12px; }
#pillac-addons-configurator .po-case{ width:66px; height:66px; border-radius:16px; }
#pillac-addons-configurator .po-n{ font-size:13px; font-weight:500; margin-bottom:5px; }
#pillac-addons-configurator .po-p{ font-size:12px !important; color:var(--pc-muted) !important; font-weight:400 !important; display:block !important; }
#pillac-addons-configurator .miy-title, #pillac-addons-configurator .miy-sub{ display:none; } /* nagłówek daje sekcja (CHOOSE YOUR OPTION) */
#pillac-addons-configurator #pillac-opts::before{ content:"CHOOSE YOUR OPTION"; display:block; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--pc-muted); font-weight:600; margin-bottom:12px; }



/* Tytuł produktu do lewej (Elementor single product title) */
.single-product .product_title,
.single-product h1.product_title,
.single-product .elementor-widget-woocommerce-product-title .product_title,
.single-product .elementor-widget-woocommerce-product-title{ text-align:left !important; }

/* „CHOOSE YOUR OPTION" na własnym wierszu nad kartami (nie w siatce) */
#pillac-addons-configurator #pillac-opts::before{ grid-column:1 / -1; }

/* Badge POPULAR: mały, prawy róg, żółte tło, czarny tekst */
#pillac-addons-configurator .po-badge{
  top:6px; right:6px; left:auto;
  background:#F5C518; color:#111 !important;
  font-size:8px; padding:2px 6px; letter-spacing:.02em; border-radius:3px;
}




/* Bundle & save */
#pillac-addons-configurator .pillac-bundle{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
#pillac-addons-configurator .pbnd{ display:flex; flex-direction:column; align-items:flex-start; gap:3px; border:1px solid var(--pc-navy-mid); background:#fff; border-radius:6px; padding:12px 14px; cursor:pointer; transition:border-color .15s, background .15s; }
#pillac-addons-configurator .pbnd:hover:not(.active){ border-color:rgba(44,54,63,.4); }
#pillac-addons-configurator .pbnd.active{ border-color:var(--pc-navy); background:rgba(44,54,63,.03); }
#pillac-addons-configurator .pbnd-q{ font-size:12px; font-weight:600; color:var(--pc-navy); }
#pillac-addons-configurator .pbnd-t{ font-size:15px; font-weight:700; color:var(--pc-navy); }
#pillac-addons-configurator .pbnd-s{ font-size:10px; color:#1d9e75; font-weight:600; text-transform:uppercase; letter-spacing:.03em; }

/* ── Opinie (etheme testimonials) — karty w stylu referencji ── */
.single-product .etheme-testimonials{
  border:1px solid rgba(44,54,63,.12); border-radius:12px;
  padding:24px 26px; background:#fff; text-align:left; height:100%;
}
.single-product .etheme-testimonials .star-rating-wrapper{ margin-bottom:14px; }
.single-product .etheme-testimonials .name,
.single-product .etheme-testimonials .author-name{ color:#2C363F !important; font-weight:600; }
.single-product .etheme-testimonials img{ border-radius:50%; width:44px; height:44px; object-fit:cover; }
.single-product .etheme-testimonials .content,
.single-product .etheme-testimonials p{ color:#5a6172; line-height:1.7; }

/* ── Sekcje treściowe (crafted / FAQ) — full-width pod produktem ── */
:is(#pillac-sections,#pillac-sections-after){ --pc-navy:#2C363F; --pc-muted:#8892A4; --pc-off:#F7F8FB; }
:is(#pillac-sections,#pillac-sections-after) .pillac-sec{ padding:64px 20px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-sec-in{ max-width:1160px; margin:0 auto; }
:is(#pillac-sections,#pillac-sections-after) .pillac-crafted{ background:var(--pc-off); }
:is(#pillac-sections,#pillac-sections-after) .pillac-eyebrow{ font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--pc-muted); font-weight:600; margin-bottom:12px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-h2{ font-size:34px; font-weight:400; color:var(--pc-navy); line-height:1.15; margin:0 0 12px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-lead{ font-size:15px; color:var(--pc-muted); line-height:1.8; font-weight:300; max-width:440px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-crafted-head{ display:flex; justify-content:space-between; gap:40px; align-items:flex-end; flex-wrap:wrap; margin-bottom:44px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-stat{ border-top:1px solid rgba(44,54,63,.15); padding-top:20px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-stat-n{ font-size:48px; font-weight:300; color:var(--pc-navy); line-height:1; margin-bottom:8px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-stat-t{ font-size:14px; font-weight:600; color:var(--pc-navy); margin-bottom:6px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-stat-d{ font-size:12px; color:var(--pc-muted); line-height:1.6; }
:is(#pillac-sections,#pillac-sections-after) .pillac-faq-list{ max-width:760px; margin-top:20px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-faq-item{ border-bottom:1px solid rgba(44,54,63,.12); }
:is(#pillac-sections,#pillac-sections-after) .pillac-faq-q{ width:100%; text-align:left; background:none; border:none; cursor:pointer; padding:20px 0; font-size:16px; color:var(--pc-navy); font-weight:500; display:flex; justify-content:space-between; align-items:center; gap:20px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-faq-ic{ font-size:22px; color:var(--pc-muted); transition:transform .2s; flex-shrink:0; }
:is(#pillac-sections,#pillac-sections-after) .pillac-faq-item.open .pillac-faq-ic{ transform:rotate(45deg); }
:is(#pillac-sections,#pillac-sections-after) .pillac-faq-a{ max-height:0; overflow:hidden; transition:max-height .25s ease; }
:is(#pillac-sections,#pillac-sections-after) .pillac-faq-item.open .pillac-faq-a{ max-height:320px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-faq-a p{ padding:0 0 20px; margin:0; color:var(--pc-muted); line-height:1.7; font-size:14px; }
@media(max-width:768px){ :is(#pillac-sections,#pillac-sections-after) .pillac-stats{ grid-template-columns:1fr; } :is(#pillac-sections,#pillac-sections-after) .pillac-h2{ font-size:26px; } }

/* FAQ pytania — normalna wielkość liter (motyw wymusza uppercase na buttonach) */
:is(#pillac-sections,#pillac-sections-after) .pillac-faq-q{ text-transform:none !important; letter-spacing:normal !important; }
:is(#pillac-sections,#pillac-sections-after) .pillac-h2, :is(#pillac-sections,#pillac-sections-after) .pillac-stat-t{ text-transform:none !important; }

/* You may also like */
:is(#pillac-sections,#pillac-sections-after) .pillac-upsell-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:24px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-up-card{ display:block; text-decoration:none; border:1px solid rgba(44,54,63,.1); border-radius:10px; overflow:hidden; transition:border-color .15s, transform .15s; background:#fff; }
:is(#pillac-sections,#pillac-sections-after) .pillac-up-card:hover{ border-color:rgba(44,54,63,.35); transform:translateY(-2px); }
:is(#pillac-sections,#pillac-sections-after) .pillac-up-img{ aspect-ratio:1/1; background:#F7F8FB; }
:is(#pillac-sections,#pillac-sections-after) .pillac-up-img img{ width:100%; height:100%; object-fit:cover; }
:is(#pillac-sections,#pillac-sections-after) .pillac-up-name{ font-size:13px; font-weight:500; color:var(--pc-navy); padding:12px 14px 2px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-up-price{ font-size:13px; color:var(--pc-muted); padding:0 14px 14px; }
@media(max-width:768px){ :is(#pillac-sections,#pillac-sections-after) .pillac-upsell-grid{ grid-template-columns:1fr 1fr; } }

/* ── Multi-box bundle (routine) ── */
#pillac-addons-configurator .pbx{ border:1px solid var(--pc-navy-mid); border-radius:12px; padding:18px; margin-bottom:12px; cursor:pointer; transition:box-shadow .15s, border-color .15s; }
#pillac-addons-configurator .pbx:hover{ border-color:var(--pc-navy,#2C363F); }
/* kontrolki wewnątrz zachowują naturalny kursor */
#pillac-addons-configurator .pbx input,#pillac-addons-configurator .pbx textarea{ cursor:text; }
#pillac-addons-configurator .pbx button,#pillac-addons-configurator .pbx .pbx-sw,#pillac-addons-configurator .pbx .pbx-opt,#pillac-addons-configurator .pbx .pbx-ic,#pillac-addons-configurator .pbx select{ cursor:pointer; }
#pillac-addons-configurator .pbx-h{ font-size:14px; font-weight:600; color:var(--pc-navy); margin-bottom:14px; }
#pillac-addons-configurator .pbx-sws{ display:flex; gap:12px; flex-wrap:wrap; }
#pillac-addons-configurator .pbx-sw{ width:30px; height:30px; border-radius:50%; cursor:pointer; display:inline-block; transition:transform .15s, box-shadow .15s; }
#pillac-addons-configurator .pbx-sw:hover{ transform:scale(1.08); }
#pillac-addons-configurator .pbx-sw.active{ box-shadow:0 0 0 2px #fff,0 0 0 4px var(--pc-navy); }
#pillac-addons-configurator .pbx-opts{ display:flex; gap:8px; flex-wrap:wrap; }
#pillac-addons-configurator .pbx-opt{ border:1px solid var(--pc-navy-mid); background:#fff; border-radius:7px; padding:7px 12px; font-size:12px; color:var(--pc-navy); cursor:pointer; }
#pillac-addons-configurator .pbx-opt.active{ border-color:var(--pc-navy); background:rgba(44,54,63,.04); }
#pillac-addons-configurator .pbx-op-p{ color:var(--pc-muted); }
#pillac-addons-configurator .pbx-sub{ margin-top:12px; }
#pillac-addons-configurator .pbx-ic{ width:44px; height:44px; display:flex !important; align-items:center; justify-content:center; border:1px solid var(--pc-navy-mid); border-radius:8px; background:#fff; cursor:pointer; color:var(--pc-navy); }
#pillac-addons-configurator .pbx-ic.active{ border-color:var(--pc-navy); background:rgba(44,54,63,.04); }
#pillac-addons-configurator .pbx-ic img{ width:22px; height:22px; object-fit:contain; }
#pillac-addons-configurator .pbx-txt{ width:100%; box-sizing:border-box; text-transform:uppercase; }
/* Komponent „Twój zestaw — podgląd na żywo": duże aktywne pudełko (lewo) + miniatury per-pudełko (prawo) */
#pillac-set-preview{ margin:0 0 20px; }
#pillac-set-preview .pset-wrap{ display:flex; gap:16px; align-items:flex-start; }
#pillac-set-preview .pset-main{ flex:1 1 auto; min-width:0; cursor:default; }
#pillac-set-preview .pset-main img{ pointer-events:none; }
#pillac-set-preview .pset-thumbs{ flex:0 0 84px; display:flex; flex-direction:column; gap:10px; }
/* wspólny „viewport": kwadrat, wnętrze 460px skalowane transformem (skala ustawiana inline w JS) */
#pillac-set-preview .pset-vp{ position:relative; overflow:hidden; border-radius:14px; background:#f6f6f7; }
#pillac-set-preview .pset-inner{ position:absolute; top:0; left:0; width:460px; height:460px; transform-origin:top left; }
/* duży kadr: pełna szerokość kolumny, kwadrat — wysokość i skala wnętrza ustawiane w JS (sizeMainVp) */
#pillac-set-preview .pset-vp-fluid{ width:100%; }
#pillac-set-preview .pset-vp-fluid .pset-inner{ width:460px; height:460px; transform-origin:top left; }
#pillac-set-preview .pset-main-lbl{ margin-top:10px; font-size:12px; color:var(--pc-navy,#2C363F); font-family:"Oktah Neue Medium","Oktah Neue",Jost,system-ui,sans-serif; text-align:center; }
/* miniatury pudełek — klikalne, aktywne z różową obwódką */
#pillac-set-preview .pset-thumb{ position:relative; padding:0; border:2px solid transparent; border-radius:12px; background:none; cursor:pointer; line-height:0; overflow:visible; transition:border-color .15s, transform .15s; }
#pillac-set-preview .pset-thumb .pset-vp{ width:72px; height:72px; border-radius:10px; }
#pillac-set-preview .pset-thumb:hover{ transform:translateY(-1px); }
#pillac-set-preview .pset-thumb.active{ border-color:var(--pc-pink,#D64F87); box-shadow:0 0 0 3px rgba(214,79,135,.15); }
#pillac-set-preview .pset-thumb-n{ position:absolute; top:-6px; left:-6px; width:18px; height:18px; border-radius:50%; background:var(--pc-navy,#2C363F); color:#fff; font-size:10px; line-height:18px; text-align:center; font-family:"Oktah Neue Medium","Oktah Neue",Jost,system-ui,sans-serif; }
#pillac-set-preview .pset-thumb.active .pset-thumb-n{ background:var(--pc-pink,#D64F87); }
/* podświetlenie panelu edycji odpowiadającego aktywnemu pudełku */
#pillac-boxes .pbx.pbx-active{ box-shadow:0 0 0 2px var(--pc-pink,#D64F87); border-radius:12px; }
@media (max-width:768px){
    #pillac-set-preview .pset-wrap{ gap:10px; }
    #pillac-set-preview .pset-thumbs{ flex-basis:64px; }
    /* rozmiar miniatur (.pset-vp) na mobile ustawia JS inline (tsz=56) */
}
/* ── PŁYWAJĄCA galeria (mobile): dokowana pod nagłówkiem (top ustawia JS), gdy główny podgląd zjedzie z ekranu ── */
#pillac-set-float{ position:fixed; top:0; left:0; right:0; z-index:100000;
    display:flex; align-items:center; gap:12px; padding:8px 10px;
    background:#fff; border:1px solid var(--pc-navy-mid,#e2e8f0); border-radius:0 0 16px 16px; box-shadow:0 10px 26px rgba(29,36,43,.16); }
#pillac-set-float[hidden]{ display:none !important; }          /* nadpisuje display:flex, żeby [hidden] działało */
/* geometria kadru (bazowe reguły .pset-vp/.pset-inner są scope'owane do #pillac-set-preview — powtarzamy dla pływaka) */
#pillac-set-float .pset-vp{ position:relative; overflow:hidden; background:#f6f6f7; border-radius:10px; }
#pillac-set-float .pset-inner{ position:absolute; top:0; left:0; width:460px; height:460px; transform-origin:top left; }
#pillac-set-float .psf-main{ flex:0 0 auto; }
#pillac-set-float .psf-side{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:6px; }
#pillac-set-float .psf-lbl{ font-size:11px; color:var(--pc-navy,#2C363F); font-family:"Oktah Neue Medium","Oktah Neue",Jost,system-ui,sans-serif; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#pillac-set-float .psf-thumbs{ display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; }
#pillac-set-float .psf-thumbs::-webkit-scrollbar{ display:none; }
#pillac-set-float .psf-thumb{ position:relative; flex:0 0 auto; padding:0; border:2px solid transparent; border-radius:9px; background:none; cursor:pointer; line-height:0; }
#pillac-set-float .psf-thumb .pset-vp{ border-radius:7px; }
#pillac-set-float .psf-thumb.active{ border-color:var(--pc-pink,#D64F87); box-shadow:0 0 0 2px rgba(214,79,135,.15); }
#pillac-set-float .pset-thumb-n{ position:absolute; top:-5px; left:-5px; width:15px; height:15px; border-radius:50%; background:var(--pc-navy,#2C363F); color:#fff; font-size:9px; line-height:15px; text-align:center; font-family:"Oktah Neue Medium","Oktah Neue",Jost,system-ui,sans-serif; }
#pillac-set-float .psf-thumb.active .pset-thumb-n{ background:var(--pc-pink,#D64F87); }
/* pojedyncze pudełko: bez miniatur, tylko duży kadr + etykieta */
#pillac-set-float .psf-thumbs:empty{ display:none; }
/* ── Produkty z podglądem zestawu (bundle wielopudełkowy + Build Yours) — porządki MOBILE (desktop bez zmian) ── */
@media (max-width:768px){
    /* ukryj samodzielną cenę (redundantna: jest w wyborze bundla i w podsumowaniu; nie pasuje designem)
       oraz box „Check most popular / Apply" (nie mieści się, psuł layout) */
    body.pillac-setpreview #pillac-addons-configurator .pillac-price-top,
    body.pillac-setpreview #pillac-addons-configurator #pbx-preset{ display:none !important; }
    /* po ukryciu ceny zbij przerwę pod podglądem, żeby BUNDLE & SAVE szło zaraz po etykiecie */
    body.pillac-setpreview #pillac-set-preview{ margin-bottom:8px !important; }
}
/* Wiersz tekstu + stepper rozmiaru (−/+) — klient sam ustawia wielkość każdej linii */
#pillac-addons-configurator .pbx-txtrow{ display:flex; align-items:center; gap:8px; margin-bottom:8px; }
#pillac-addons-configurator .pbx-txtrow:last-child{ margin-bottom:0; }
#pillac-addons-configurator .pbx-txtrow .pbx-txt{ flex:1 1 auto; min-width:0; margin:0; }
#pillac-addons-configurator .pbx-size{ flex:0 0 auto !important; display:inline-flex; align-items:center; gap:0; border:1px solid var(--pc-navy-mid); border-radius:8px; padding:1px; background:#fff; }
/* wąskie przyciski −/+ (motyw XStore nadaje buttonom szerokość/padding → wymuszamy !important, żeby input miał miejsce) */
#pillac-addons-configurator .pbx-size .pbx-sz{ width:30px !important; min-width:30px !important; max-width:30px !important; height:34px !important; padding:0 !important; margin:0 !important; border:none !important; background:transparent !important; border-radius:6px; font-size:18px; line-height:1; color:var(--pc-navy); cursor:pointer; display:flex !important; align-items:center; justify-content:center; flex:0 0 30px !important; }
#pillac-addons-configurator .pbx-size .pbx-sz:hover{ background:rgba(44,54,63,.06) !important; }
#pillac-addons-configurator .pbx-sz-val{ min-width:36px; width:36px; text-align:center; font-size:11px; color:var(--pc-navy); font-variant-numeric:tabular-nums; }
@media (max-width:768px){
  #pillac-addons-configurator .pbx-txtrow{ gap:6px; }
  #pillac-addons-configurator .pbx-size .pbx-sz{ width:28px !important; min-width:28px !important; max-width:28px !important; flex:0 0 28px !important; }
  #pillac-addons-configurator .pbx-sz-val{ min-width:32px; width:32px; }
}
#pillac-addons-configurator .pbx-preset{ width:100%; border:1.5px solid var(--pc-cyan); background:#EAFBFF; border-radius:12px; padding:14px 16px; cursor:pointer; margin-bottom:16px; display:flex; justify-content:space-between; align-items:center; text-align:left; }
#pillac-addons-configurator .pbx-pre-l{ display:flex; align-items:center; gap:10px; }
#pillac-addons-configurator .pbx-pre-ic{ width:34px; height:34px; border-radius:50%; background:var(--pc-cyan); color:var(--pc-navy); display:flex; align-items:center; justify-content:center; font-size:16px; font-style:normal; }
#pillac-addons-configurator .pbx-pre-t{ font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--pc-navy); font-weight:600; }
#pillac-addons-configurator .pbx-pre-s{ font-size:13px; color:var(--pc-navy); }
#pillac-addons-configurator .pbx-pre-apply{ background:var(--pc-navy); color:#fff; font-size:12px; font-weight:600; padding:8px 16px; border-radius:100px; }

/* Ikony w wyborze — filtr grayscale, żeby jasne SVG były widoczne */
#pillac-addons-configurator .pbx-ic img,
#pillac-addons-configurator #pillac-isw .isw img{ filter:brightness(0) saturate(0); opacity:.65; }
#pillac-addons-configurator .pbx-ic.active img,
#pillac-addons-configurator #pillac-isw .isw.active img{ opacity:1; }

/* Multi-box: disclaimer + preset applied */
#pillac-addons-configurator .pbx-note{ font-size:11px; color:var(--pc-muted); line-height:1.6; margin-top:6px; padding:12px 14px; background:var(--pc-off); border-radius:8px; }
#pillac-addons-configurator .pbx-preset.applied{ border-color:var(--pc-navy); background:rgba(44,54,63,.03); }
#pillac-addons-configurator .pbx-preset.applied .pbx-pre-apply{ background:#fff; color:var(--pc-navy); border:1px solid var(--pc-navy); }
#pillac-addons-configurator .pbx-preset.applied .pbx-pre-ic{ background:var(--pc-navy); color:#fff; }

/* ── Order summary (itemizowane) ── */
#pillac-total-bar{ display:block !important; padding:16px 20px; }
#pillac-total-bar .pillac-os-title{ font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--pc-muted); font-weight:600; margin-bottom:10px; }
#pillac-total-bar .pillac-os-item{ display:block; padding:9px 0; font-size:13px; border-bottom:1px solid rgba(44,54,63,.06); }
#pillac-total-bar .pillac-os-item:last-child{ border-bottom:none; }
#pillac-total-bar .pillac-os-head{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
#pillac-total-bar .pillac-os-bx{ font-size:10px; text-transform:uppercase; letter-spacing:.05em; color:var(--pc-muted); }
#pillac-total-bar .pillac-os-ip{ color:var(--pc-navy); white-space:nowrap; font-weight:500; font-variant-numeric:tabular-nums; }
#pillac-total-bar .pillac-os-savebx{ text-align:right; font-size:12px; color:#1A8C4E; font-weight:500; font-variant-numeric:tabular-nums; margin-top:1px; }
#pillac-total-bar .pillac-os-attr{ display:flex; justify-content:space-between; gap:10px; color:var(--pc-navy); word-break:break-word; margin-top:5px; }
#pillac-total-bar .pillac-os-al{ min-width:0; word-break:break-word; }
#pillac-total-bar .pillac-os-attr .pillac-os-sw{ display:inline-block; width:11px; height:11px; border-radius:50%; vertical-align:-1px; margin:0 3px; box-shadow:0 0 0 1px rgba(44,54,63,.14) inset; }
#pillac-total-bar .pillac-os-k{ color:var(--pc-muted); }
#pillac-total-bar .pillac-os-attr b,#pillac-total-bar .pillac-os-pers b{ font-weight:500; color:var(--pc-navy); }
#pillac-total-bar .pillac-os-pers{ display:flex; justify-content:space-between; gap:10px; margin-top:4px; }
#pillac-total-bar .pillac-os-pers .pillac-os-pl{ min-width:0; word-break:break-word; }
#pillac-total-bar .pillac-os-pp{ color:var(--pc-muted); white-space:nowrap; font-variant-numeric:tabular-nums; }
#pillac-total-bar .pillac-os-foot{ border-top:1px solid rgba(44,54,63,.14); margin-top:12px; padding-top:12px; }
#pillac-total-bar .pillac-os-row{ display:flex; justify-content:space-between; font-size:13px; color:var(--pc-muted); padding:4px 0; font-variant-numeric:tabular-nums; }
#pillac-total-bar .pillac-os-disc{ color:#1A8C4E; font-weight:500; }
#pillac-total-bar .pillac-os-total{ display:flex; justify-content:space-between; align-items:baseline; margin-top:10px; padding-top:12px; border-top:1px solid rgba(44,54,63,.14); font-size:15px; color:var(--pc-navy); }
#pillac-total-bar .pillac-os-total b{ font-size:22px; font-weight:600; font-variant-numeric:tabular-nums; }
#pillac-total-bar .pillac-os-total s{ color:var(--pc-muted); font-size:14px; margin-right:6px; font-variant-numeric:tabular-nums; }

/* Info icon w disclaimerze + note layout + personalization note */
#pillac-addons-configurator .pbx-note{ display:flex; gap:8px; align-items:flex-start; }
#pillac-addons-configurator .pbx-note-i{ flex-shrink:0; width:16px; height:16px; border-radius:50%; background:var(--pc-navy); color:#fff; font-size:10px; font-style:italic; display:flex; align-items:center; justify-content:center; font-weight:600; margin-top:1px; }
#pillac-total-bar .pillac-os-row em{ font-style:normal; font-size:11px; opacity:.75; }
.pillac-bundle-qty{ color:var(--pc-muted,#8892A4); }

/* Ikona jako background-image (omija lazyload/sizing img motywu) */
#pillac-addons-configurator .pbx-ic-g{ display:block; width:24px; height:24px; background-size:contain; background-repeat:no-repeat; background-position:center; filter:brightness(0) saturate(0); }

/* Wymuszenie wymiarów kafelków ikon (obejście flex-shrink/overrides motywu) */
#pillac-addons-configurator .pbx-icons{ display:flex !important; gap:10px; flex-wrap:wrap; }
#pillac-addons-configurator .pbx-ic{ flex:0 0 44px !important; width:44px !important; height:44px !important; min-width:44px !important; padding:0 !important; }
#pillac-addons-configurator .pbx-ic-g{ flex:0 0 24px !important; width:24px !important; height:24px !important; min-width:24px !important; }

/* Quantity ukryte (multi-box steruje ilością) */
.single-product form.cart .quantity{ display:none !important; }

/* Taby Opis/Opinie/Info — ukryte (opis renderujemy jako sekcję SEO na dole) */
.single-product .woocommerce-tabs{ display:none !important; }

/* FAQ: dwie kolumny — pytania + formularz */
:is(#pillac-sections,#pillac-sections-after) .pillac-faq-grid{ display:grid; grid-template-columns:1.4fr 1fr; gap:40px; align-items:start; margin-top:20px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-faq-grid .pillac-faq-list{ margin-top:0; }
:is(#pillac-sections,#pillac-sections-after) .pillac-ask{ background:#fff; border:1px solid rgba(44,54,63,.12); border-radius:12px; padding:22px; display:flex; flex-direction:column; gap:10px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-ask-t{ font-size:16px; font-weight:600; color:var(--pc-navy); }
:is(#pillac-sections,#pillac-sections-after) .pillac-ask-s{ font-size:12px; color:var(--pc-muted); line-height:1.6; margin-bottom:4px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-ask input[type="text"], :is(#pillac-sections,#pillac-sections-after) .pillac-ask input[type="email"], :is(#pillac-sections,#pillac-sections-after) .pillac-ask textarea{ width:100%; box-sizing:border-box; border:1px solid rgba(44,54,63,.18); border-radius:7px; padding:10px 12px; font-size:13px; color:var(--pc-navy); background:#fff; }
:is(#pillac-sections,#pillac-sections-after) .pillac-ask textarea{ resize:vertical; }
:is(#pillac-sections,#pillac-sections-after) #pillac-ask-send{ background:var(--pc-navy); color:#fff; border:none; border-radius:100px; padding:12px; font-size:13px; font-weight:600; cursor:pointer; letter-spacing:.03em; }
:is(#pillac-sections,#pillac-sections-after) #pillac-ask-send:disabled{ opacity:.6; }
:is(#pillac-sections,#pillac-sections-after) .pillac-ask-note{ font-size:11px; color:#a3412d; min-height:14px; }

/* Sekcja SEO (opis produktu) */
:is(#pillac-sections,#pillac-sections-after) .pillac-seo{ padding-top:20px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-seo-body{ max-width:760px; font-size:14px; color:#5a6172; line-height:1.8; }

/* Koszyk: ramka wokół bundla + nagłówek + jeden Remove bundle */
.woocommerce-cart-form tr.pillac-bnd-row td{ background:rgba(44,54,63,.03); border-bottom:none !important; }
.woocommerce-cart-form tr.pillac-bnd-first td{ border-top:2px solid #2C363F !important; }
.woocommerce-cart-form tr.pillac-bnd-last td{ border-bottom:2px solid #2C363F !important; }
.woocommerce-cart-form tr.pillac-bnd-row .product-remove a{ visibility:hidden; }
.pillac-bnd-remove{ font-size:12px; color:#a3412d !important; text-decoration:underline; }

/* Mobile — konfigurator */
@media(max-width:768px){
  #pillac-addons-configurator .po-wrap{ grid-template-columns:repeat(2,1fr); }
  #pillac-addons-configurator .pillac-bundle{ grid-template-columns:1fr; }
  #pillac-addons-configurator .model-btns{ grid-template-columns:1fr; }
  #pillac-addons-configurator .pbx-preset{ flex-wrap:wrap; gap:10px; }
  :is(#pillac-sections,#pillac-sections-after) .pillac-faq-grid{ grid-template-columns:1fr; gap:24px; }
  #pillac-total-bar .pillac-os-item{ flex-wrap:wrap; }
}

/* Neutralizacja sticky prawej kolumny (etheme_column_sticky nadal w data-settings)
   + wyłączenie scroll-anchoringu, żeby strona nie „doskakiwała" przy zmianach wysokości */
html.single-product-anchor-off, .single-product html{ overflow-anchor:none; }
html:has(body.single-product){ overflow-anchor:none; }
body.single-product *{ overflow-anchor:none; }
.single-product .elementor-element-2bc5cf05{ position:relative !important; top:auto !important; transform:none !important; margin-top:0 !important; }

/* ── ATC full width + wishlist (styl referencji) ── */
.pillac-atc-row{ display:flex; gap:12px; align-items:stretch; width:100%; margin-top:6px; }
.pillac-atc-row .single_add_to_cart_button{
  flex:1 1 auto; width:100%; background:#43DEFC !important; color:#2C363F !important;
  border:none !important; border-radius:8px !important; text-transform:uppercase;
  letter-spacing:.12em; font-weight:600; font-size:15px; padding:20px 24px !important; height:auto !important;
}
.pillac-atc-row .single_add_to_cart_button:hover{ background:#66E2FF !important; color:#2C363F !important; }
.pillac-wish{ flex:0 0 66px; width:66px; min-height:64px; border:1px solid rgba(44,54,63,.2); border-radius:8px; display:flex; align-items:center; justify-content:center; color:#2C363F; background:#fff; transition:border-color .15s; }
.pillac-wish:hover{ border-color:#2C363F; }
.pillac-wish svg{ width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.6px; transition:fill .15s, stroke .15s; }
.pillac-wish.pillac-wish-on svg{ fill:#43DEFC; stroke:#43DEFC; }
.pillac-wish.processing{ opacity:.5; pointer-events:none; }

/* ── Customer reviews (Elementor) — szare tło jak Crafted ── */
.single-product .pillac-rev-wrap{ background:#F7F8FB; padding-top:56px !important; padding-bottom:56px !important; }

/* ── Sticky galeria: wrap lewej kolumny (etheme sticky zostaje wyłączony) ── */
@media(min-width:993px){
  .single-product .elementor-element-7114e3e1 > .elementor-widget-wrap{
    position:sticky !important; top:110px; align-self:flex-start !important; height:auto !important;
  }
}

/* Sticky FIX: overflow:hidden na przodku zabija sticky — pion visible, poziom clip */
.single-product .template-container{ overflow:visible !important; overflow-x:clip !important; }

/* Wishlist (przycisk Elementora usera) — kwadrat z sercem jak w referencji */
.pillac-atc-row .pillac-wish{ flex:0 0 66px !important; width:66px !important; min-width:66px !important; height:auto !important; min-height:64px; padding:0 !important; background:#fff !important; border:1px solid rgba(44,54,63,.2) !important; border-radius:8px !important; color:#2C363F !important; font-size:0 !important; line-height:0 !important; display:flex !important; align-items:center; justify-content:center; }
.pillac-atc-row .pillac-wish *{ font-size:0 !important; }
.pillac-atc-row .pillac-wish svg, .pillac-atc-row .pillac-wish i{ font-size:22px !important; width:24px; height:24px; line-height:1 !important; }
.pillac-atc-row .pillac-wish:hover{ border-color:#2C363F !important; background:#fff !important; }
.pillac-atc-row .pillac-wish.pillac-wish-on svg, .pillac-atc-row .pillac-wish.pillac-wish-on i{ color:#43DEFC !important; fill:#43DEFC; stroke:#43DEFC; }

/* Wishlist: serce wypełnione (cyan ATC) gdy produkt dodany — XStore toggluje data-action/klasy */
.pillac-atc-row .pillac-wish.added svg, .pillac-atc-row .pillac-wish[data-action="remove"] svg,
.pillac-atc-row .pillac-wish.added i, .pillac-atc-row .pillac-wish[data-action="remove"] i,
.pillac-atc-row .pillac-wish.pillac-wish-on svg{ fill:#43DEFC !important; color:#43DEFC !important; stroke:#43DEFC !important; }
.pillac-atc-row .pillac-wish-ph{ pointer-events:none; opacity:.5; }
.pillac-atc-row .pillac-wish svg path{ stroke:currentColor; }

/* Wishlist font-icon: widoczna, navy outline / cyan wypełniona gdy dodane */
.pillac-atc-row .pillac-wish .et-icon{ font-size:22px !important; line-height:1 !important; color:#2C363F !important; }
.pillac-atc-row .pillac-wish.pillac-wish-on .et-icon,
.pillac-atc-row .pillac-wish[data-action="remove"] .et-icon{ color:#43DEFC !important; }
.pillac-atc-row .pillac-wish .button-text{ display:none !important; }

/* Remove bundle — wyraźny przycisk pod ostatnią pozycją zestawu */

/* SEO opis na dole — dyskretny */
:is(#pillac-sections,#pillac-sections-after) .pillac-seo-body{ font-size:11px !important; color:#b8bdc9 !important; line-height:1.6; max-width:680px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-seo{ padding-top:8px; padding-bottom:28px; }

/* Główne zdjęcie: bez spacera/odstępu pod spodem — czysty kwadrat */
.single-product .woocommerce-product-gallery .empty-space{ display:none !important; }
.single-product .woocommerce-product-gallery .swiper-control-top{ margin-bottom:0 !important; padding-bottom:0 !important; }
.single-product .woocommerce-product-gallery{ margin-bottom:0 !important; }

/* Mini-galeria w sekcji Crafted — kadry z różnych kątów */
:is(#pillac-sections,#pillac-sections-after) .pillac-cg{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:40px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-cg-item{ aspect-ratio:1/1; overflow:hidden; border-radius:10px; background:#fff; }
:is(#pillac-sections,#pillac-sections-after) .pillac-cg-item img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s; }
:is(#pillac-sections,#pillac-sections-after) .pillac-cg-item:hover img{ transform:scale(1.04); }
@media(max-width:768px){ :is(#pillac-sections,#pillac-sections-after) .pillac-cg{ grid-template-columns:repeat(2,1fr); } }
.single-product .woocommerce-product-gallery{ padding-bottom:0 !important; }

/* ── Crafted: lewa tekst+staty, prawa podtytuł + galeria masonry ── */
:is(#pillac-sections,#pillac-sections-after) .pillac-crafted-grid{ display:grid; grid-template-columns:1fr 1.15fr; gap:56px; align-items:start; }
:is(#pillac-sections,#pillac-sections-after) .pillac-crafted-left .pillac-stats{ grid-template-columns:1fr; gap:18px; margin-top:36px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-crafted-left .pillac-stat{ padding-top:16px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-cg-sub{ font-size:14px; color:var(--pc-muted); line-height:1.8; font-weight:300; max-width:460px; margin:6px 0 22px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-cg{ columns:2; column-gap:14px; margin-top:0; display:block; }
:is(#pillac-sections,#pillac-sections-after) .pillac-cg-item{ break-inside:avoid; margin-bottom:14px; border-radius:12px; overflow:hidden; background:#fff; aspect-ratio:auto; }
:is(#pillac-sections,#pillac-sections-after) .pillac-cg-item img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s; }
:is(#pillac-sections,#pillac-sections-after) .pillac-cg-item:hover img{ transform:scale(1.04); }
:is(#pillac-sections,#pillac-sections-after) .pillac-cg-0 img{ aspect-ratio:3/4; }
:is(#pillac-sections,#pillac-sections-after) .pillac-cg-1 img{ aspect-ratio:1/1; }
:is(#pillac-sections,#pillac-sections-after) .pillac-cg-2 img{ aspect-ratio:1/1; }
:is(#pillac-sections,#pillac-sections-after) .pillac-cg-3 img{ aspect-ratio:3/4; }
@media(max-width:900px){
  :is(#pillac-sections,#pillac-sections-after) .pillac-crafted-grid{ grid-template-columns:1fr; gap:28px; }
  :is(#pillac-sections,#pillac-sections-after) .pillac-crafted-left .pillac-h2{ margin-bottom:0; }
  :is(#pillac-sections,#pillac-sections-after) .pillac-crafted-left .pillac-stats{ display:none; }
  :is(#pillac-sections,#pillac-sections-after) .pillac-crafted-grid::after{ content:none; }
}

/* Crafted mobile: tytuł → galeria → statystyki (display:contents + order) */
@media(max-width:900px){
  :is(#pillac-sections,#pillac-sections-after) .pillac-crafted-grid{ display:flex; flex-direction:column; gap:22px; }
  :is(#pillac-sections,#pillac-sections-after) .pillac-crafted-left{ display:contents; }
  :is(#pillac-sections,#pillac-sections-after) .pillac-crafted-left .pillac-eyebrow{ order:1; margin-bottom:0; }
  :is(#pillac-sections,#pillac-sections-after) .pillac-crafted-left .pillac-h2{ order:2; margin:0; }
  :is(#pillac-sections,#pillac-sections-after) .pillac-crafted-right{ order:3; }
  :is(#pillac-sections,#pillac-sections-after) .pillac-crafted-left .pillac-stats{ order:4; display:grid; grid-template-columns:1fr; margin-top:6px; }
}

/* Oddech pod sekcją zakupową i między sekcjami treściowymi */
#pillac-sections{ margin-top:56px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-sec{ padding-top:88px; padding-bottom:88px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-crafted-left .pillac-lead{ margin:14px 0 0; }
:is(#pillac-sections,#pillac-sections-after) .pillac-cg{ margin-top:2px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-cg-item a{ display:block; cursor:zoom-in; }
@media(max-width:768px){ :is(#pillac-sections,#pillac-sections-after) .pillac-sec{ padding-top:56px; padding-bottom:56px; } }

/* Duplikat opisu: motywowy short-description ukryty (nasz jest w konfiguratorze) */
.single-product .elementor-widget-woocommerce-product-short-description{ display:none !important; }
.single-product .elementor-widget-woocommerce-product-short-description + .elementor-widget-spacer{ display:none !important; }

/* Mobile: bez pustki pod galerią produktu */
@media(max-width:992px){
  .single-product .elementor-column:has(.woocommerce-product-gallery) > .elementor-widget-wrap{ padding-bottom:0 !important; }
  .single-product .elementor-column:has(.woocommerce-product-gallery){ margin-bottom:0 !important; }
}

/* Crafted mobile: lead POD tytułem (order), potem galeria, potem staty */
@media(max-width:900px){
  :is(#pillac-sections,#pillac-sections-after) .pillac-crafted-left .pillac-lead{ order:3; margin:0; }
  :is(#pillac-sections,#pillac-sections-after) .pillac-crafted-right{ order:4; }
  :is(#pillac-sections,#pillac-sections-after) .pillac-crafted-left .pillac-stats{ order:5; }
}

/* Statystyki: duża liczba obok tytułu i opisu (grid 2 kolumny) */
:is(#pillac-sections,#pillac-sections-after) .pillac-stat{ display:grid; grid-template-columns:76px 1fr; column-gap:16px; align-items:start; }
:is(#pillac-sections,#pillac-sections-after) .pillac-stat-n{ grid-row:1 / span 2; font-size:46px; line-height:1; margin:0; }
:is(#pillac-sections,#pillac-sections-after) .pillac-stat-t{ align-self:end; margin:0 0 2px; }

/* Customer reviews: mniejszy odstęp nad tytułem na mobile */
@media(max-width:768px){
  .single-product .pillac-rev-wrap{ padding-top:20px !important; padding-bottom:32px !important; }
}

/* SEO: sekcja z tytułem, tekst w kolumnach, dyskretna ale ułożona */
:is(#pillac-sections,#pillac-sections-after) .pillac-seo-t{ font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:#b8bdc9; font-weight:600; margin-bottom:12px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-seo-body{ columns:3; column-gap:36px; max-width:none; text-align:left; }
:is(#pillac-sections,#pillac-sections-after) .pillac-seo-body p{ margin:0 0 10px; }
@media(max-width:900px){ :is(#pillac-sections,#pillac-sections-after) .pillac-seo-body{ columns:1; } }

/* Badge „Best choice" na kafelku 3 cases */
#pillac-addons-configurator .pbnd{ position:relative; overflow:visible; }
#pillac-addons-configurator .pbnd-best{ position:absolute; top:-9px; right:10px; background:#F5C518; color:#111; font-size:9px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:3px 8px; border-radius:3px; }

/* Ikona presetu (gwiazdka) — bez kursywy, wyśrodkowana */
#pillac-addons-configurator .pbx-pre-ic{ font-style:normal; font-size:18px; }
/* Duplikat opisu (widget bez dedykowanej klasy) — ukryj po klasie wewnętrznej Woo */
.single-product .woocommerce-product-details__short-description{ display:none !important; }

/* Mobile: bundle 1/2/3 obok siebie */
@media(max-width:768px){
  #pillac-addons-configurator .pillac-bundle{ grid-template-columns:repeat(3,1fr); gap:8px; }
  #pillac-addons-configurator .pbnd{ padding:10px 10px; }
  #pillac-addons-configurator .pbnd-q{ font-size:11px; }
  #pillac-addons-configurator .pbnd-t{ font-size:13px; }
  #pillac-addons-configurator .pbnd-s{ font-size:9px; }
  #pillac-addons-configurator .pbnd-best{ right:4px; top:-8px; font-size:8px; padding:2px 6px; }
}

/* Mobile: opis pod tytułem = motywowy; nasz (przy cenie) ukryty — bez dubla, bez dziury */
@media(max-width:992px){
  .single-product .woocommerce-product-details__short-description{ display:block !important; }
  .single-product .elementor-widget-woocommerce-product-short-description{ display:block !important; }
  .single-product .elementor-widget-woocommerce-product-short-description + .elementor-widget-spacer{ display:block !important; }
  #pillac-addons-configurator .pillac-desc{ display:none; }
  .single-product .elementor-column:has(form.cart) > .elementor-widget-wrap{ padding-top:8px !important; }
}

/* Link „Preview" w nocie */
#pillac-addons-configurator .pbx-note-link{ color:var(--pc-navy) !important; text-decoration:underline !important; font-weight:600; }

/* ── Preset: gwiazdka outline wyśrodkowana ── */
#pillac-addons-configurator .pbx-pre-l{ display:flex; align-items:center; gap:12px; }
#pillac-addons-configurator .pbx-pre-ic{ flex:0 0 34px; width:34px; height:34px; display:flex; align-items:center; justify-content:center; }
#pillac-addons-configurator .pbx-pre-ic svg{ width:22px; height:22px; }

/* ── „Preview" link: ta sama czcionka/rozmiar, tylko podkreślenie; „i" wyrównane ── */
#pillac-addons-configurator .pbx-note{ align-items:flex-start; }
#pillac-addons-configurator .pbx-note-i{ margin-top:2px; }
#pillac-addons-configurator .pbx-note-link{ font:inherit !important; color:inherit !important; font-weight:inherit !important; text-decoration:underline !important; }

/* ── Best choice badge: więcej odstępu od „3 cases" na mobile ── */
@media(max-width:768px){
  #pillac-addons-configurator .pbnd[data-qty="3"]{ padding-top:20px; }
  #pillac-addons-configurator .pbnd-best{ top:-7px; right:6px; }
}

/* ── Crafted: mniejszy odstęp liczba↔tekst (−50%) ── */
:is(#pillac-sections,#pillac-sections-after) .pillac-stat{ grid-template-columns:58px 1fr; column-gap:8px; }

/* ── You may also like: Shop all ── */
:is(#pillac-sections,#pillac-sections-after) .pillac-up-all{ text-align:center; margin-top:32px; }
:is(#pillac-sections,#pillac-sections-after) .pillac-shop-all{ display:inline-block; border:1.5px solid var(--pc-navy); color:var(--pc-navy) !important; border-radius:100px; padding:13px 40px; font-size:13px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; text-decoration:none !important; transition:all .15s; }
:is(#pillac-sections,#pillac-sections-after) .pillac-shop-all:hover{ background:var(--pc-navy); color:#fff !important; }

/* ── CF7 w sekcji FAQ: styl dopasowany ── */
#pillac-ask .wpcf7 input[type="text"], #pillac-ask .wpcf7 input[type="email"], #pillac-ask .wpcf7 textarea{ width:100%; box-sizing:border-box; border:1px solid rgba(44,54,63,.18); border-radius:7px; padding:10px 12px; font-size:13px; color:var(--pc-navy); background:#fff; margin-bottom:10px; }
#pillac-ask .wpcf7 textarea{ resize:vertical; }
#pillac-ask .wpcf7 input[type="submit"]{ width:100%; background:var(--pc-navy); color:#fff; border:none; border-radius:100px; padding:12px; font-size:13px; font-weight:600; cursor:pointer; letter-spacing:.03em; }
#pillac-ask .wpcf7 .wpcf7-spinner{ margin:8px auto 0; display:block; }
#pillac-ask .wpcf7-response-output{ font-size:12px; border-radius:7px; margin:8px 0 0 !important; }

/* ── Find my Pillac: prawy dół (nie koliduje z popupem „ktoś kupił" po lewej); mobile = tylko ikonka ── */
#pillac-trigger{ right:24px !important; left:auto !important; }
@media(max-width:768px){
  #pillac-trigger{ right:16px !important; left:auto !important; bottom:16px; width:52px; height:52px; padding:0 !important; border-radius:50% !important; display:flex !important; align-items:center; justify-content:center; font-size:20px; }
  #pillac-trigger .fmp-label{ display:none !important; }
}
@media(max-width:768px){ #pillac-ai-widget{ left:8px !important; right:8px !important; width:auto !important; } }

/* ── Ukryj „Ask a question" (Sales Booster Request-a-quote) i scroll-to-top z progresem ── */
.single-product .et-request-quote.et-call-popup,
.single-product #back-top, .single-product .back-top{ display:none !important; }

/* ═══ KOSZYK — redesign wg referencji (karty, badge, strip, breakdown) ═══ */
:root{ --pc-green:#1A8C4E; --pc-green-bg:rgba(26,140,78,.08); }

/* Ukryj kolumny SKU i Subtotal — cena pozycji ma pełne rozbicie */
.woocommerce-cart-form th.product-sku, .woocommerce-cart-form td.product-sku,
.woocommerce-cart-form th.product-subtotal, .woocommerce-cart-form td.product-subtotal{ display:none !important; }

/* Grupa bundle jako karta */
.woocommerce-cart-form tr.pillac-bnd-row td{ background:#fff; }
.woocommerce-cart-form tr.pillac-bnd-first td{ border-top:1px solid rgba(44,54,63,.15) !important; }
.woocommerce-cart-form tr.pillac-bnd-last td{ border-bottom:1px solid rgba(44,54,63,.15) !important; }

/* Topbar grupy: badge navy + Remove all */
.pillac-bnd-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:-4px 0 8px; }
.pillac-bnd-badge{ display:inline-flex; align-items:center; background:#2C363F; color:#fff !important; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; padding:5px 11px; border-radius:4px; }
.pillac-bnd-removeall{ font-size:11px; color:#8892A4 !important; border:1px solid rgba(44,54,63,.15); border-radius:4px; padding:5px 12px; text-decoration:none !important; transition:all .15s; white-space:nowrap; }
.pillac-bnd-removeall:hover{ color:#C0392B !important; border-color:#C0392B; background:rgba(192,57,43,.06); }

/* Zielony pasek oszczędności */
.pillac-bnd-strip{ display:block; background:var(--pc-green-bg); border:1px solid rgba(26,140,78,.15); border-radius:5px; padding:7px 12px; margin-bottom:12px; font-size:11px; color:var(--pc-green); line-height:1.5; }
.pillac-bnd-strip b{ font-weight:700; white-space:nowrap; }

/* Pozycja: Box N + nazwa */
.pillac-bnd-name{ font-weight:500; }

/* Atrybuty: swatch, personalizacja */
.pillac-cart-swatch{ display:inline-block; width:11px; height:11px; border-radius:50%; margin-right:6px; vertical-align:-1px; box-shadow:inset 0 0 0 1px rgba(44,54,63,.18); }
.pillac-cart-pers{ font-style:normal; color:#2C363F; }
.pillac-cart-pers-price{ font-size:10px; color:#8892A4; background:#EEF1F7; padding:2px 6px; border-radius:3px; margin-left:4px; white-space:nowrap; }

/* Rozbicie ceny w kolumnie Price */
.pillac-pc{ display:flex; flex-direction:column; gap:2px; min-width:96px; }
.pillac-pc-row{ display:flex; align-items:center; justify-content:flex-start; gap:6px; white-space:nowrap; }
.pillac-pc-row s{ color:#B2BBCA; font-size:12px; }
.pillac-pc-disc{ color:var(--pc-green); }
.pillac-pc-tag{ font-style:normal; font-size:9px; background:#EEF1F7; color:#8892A4; padding:2px 6px; border-radius:3px; }
.pillac-pc-tag-g{ background:var(--pc-green-bg); color:var(--pc-green); font-weight:600; }
.pillac-pc-pers{ font-size:12px; color:#8892A4; margin-top:3px; }

/* Sidebar: breakdown */
.cart_totals .pillac-bd th, .cart_totals .pillac-bd td{ font-size:12px !important; padding:3px 0 !important; border:none !important; font-weight:400; color:#8892A4; }
.cart_totals .pillac-bd td{ text-align:right; color:#2C363F; font-weight:500; }
.cart_totals .pillac-bd-label th{ font-size:9px !important; text-transform:uppercase; letter-spacing:.1em; color:#B2BBCA; padding:10px 0 4px !important; border-bottom:1px solid rgba(44,54,63,.08) !important; }
.cart_totals .pillac-bd-green th, .cart_totals .pillac-bd-green td{ color:var(--pc-green) !important; }
.cart_totals .pillac-bd-ind th{ padding-left:10px !important; font-size:11px !important; color:#B2BBCA; }
.cart_totals .pillac-bd-ind td{ font-size:11px !important; font-weight:400 !important; color:#8892A4 !important; }
/* schowaj woo subtotal i fee (duplikat breakdownu) */
.cart_totals .cart-subtotal{ display:none !important; }
.cart_totals tr.fee{ display:none !important; }

/* Delivery estimate */
.pillac-delivery-est{ display:flex; gap:8px; align-items:flex-start; background:#F7F8FB; border:1px solid rgba(44,54,63,.10); border-radius:6px; padding:10px 14px; margin-top:12px; font-size:11.5px; color:#8892A4; line-height:1.55; }
.pillac-delivery-est b{ color:#2C363F; }
.pillac-de-ic{ flex-shrink:0; }

/* Upsell pod tabelą */
.pillac-ups-block{ background:#fff; border:1px solid rgba(44,54,63,.10); border-radius:8px; padding:16px 18px; margin:18px 0 6px; }
.pillac-ups-head{ font-size:10px; text-transform:uppercase; letter-spacing:.1em; color:#8892A4; margin-bottom:12px; display:flex; align-items:center; gap:8px; }
.pillac-ups-head::after{ content:''; flex:1; height:1px; background:rgba(44,54,63,.10); }
.pillac-ups-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:12px; }
.pillac-ups-card{ border:1px solid rgba(44,54,63,.10); border-radius:6px; overflow:hidden; transition:border-color .15s, transform .15s; }
.pillac-ups-card:hover{ border-color:rgba(44,54,63,.22); transform:translateY(-1px); }
.pillac-ups-imgwrap{ display:block; aspect-ratio:1/1; overflow:hidden; background:#F7F8FB; }
.pillac-ups-imgwrap img{ width:100%; height:100%; object-fit:cover; display:block; }
.pillac-ups-body{ padding:10px 12px 12px; }
.pillac-ups-name{ display:block; font-size:12.5px; font-weight:500; color:#2C363F !important; text-decoration:none !important; margin-bottom:8px; }
.pillac-ups-foot{ display:flex; align-items:center; justify-content:space-between; }
.pillac-ups-price, .pillac-ups-price *{
  font-family:"Oktah Neue Medium","Oktah Neue",Jost,system-ui,sans-serif !important;
  font-size:17px !important; font-weight:700 !important; color:#2C363F !important;
}
.pillac-ups-price{ margin:0; text-align:left; }
.pillac-ups-add{ background:#F7F8FB; border:1px solid rgba(44,54,63,.12); color:#2C363F !important; font-size:11px; font-weight:600; letter-spacing:.03em; padding:5px 12px; border-radius:4px; text-decoration:none !important; transition:all .15s; }
.pillac-ups-add:hover{ background:rgba(67,222,252,.10); border-color:#43DEFC; }

@media(max-width:768px){
  .pillac-ups-grid{ grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); }
  .pillac-bnd-top{ flex-wrap:wrap; }
  .pillac-pc{ min-width:0; }
}

/* ═══ KOSZYK v2 — oddechy, karty, czysty layout ═══ */

/* Strona: oddech nad/pod całością */
.woocommerce-cart .woocommerce{ padding-top:8px; padding-bottom:64px; }

/* Bez nagłówka tabeli i bez kolumny Quantity (badge/rozbicie mówią wszystko) */
.woocommerce-cart-form thead{ display:none !important; }
.woocommerce-cart-form th.product-quantity, .woocommerce-cart-form td.product-quantity{ display:none !important; }

/* Wiersze jako karty: solidne paddingi, tło, separacja */
.woocommerce-cart-form{ background:transparent; }
.woocommerce-cart-form table.shop_table{ border:none !important; background:transparent; }
.woocommerce-cart-form td{ padding:22px 20px !important; vertical-align:top !important; background:#fff; border:none !important; }
.woocommerce-cart-form tr.cart_item td:first-child{ border-radius:10px 0 0 10px; }
.woocommerce-cart-form tr.cart_item td:last-child{ border-radius:0 10px 10px 0; }
/* przerwa między kartami — spacer wierszy tabeli */
.woocommerce-cart-form table.shop_table{ border-collapse:separate !important; border-spacing:0 14px !important; }


/* Topbar + strip: pełen oddech */
.pillac-bnd-top{ margin:2px 0 10px; }
.pillac-bnd-badge{ font-size:10.5px; padding:6px 12px; letter-spacing:.07em; }
.pillac-bnd-strip{ margin:0 0 16px; padding:9px 13px; }


/* Nazwa + atrybuty w stylu referencji */
.woocommerce-cart-form td.product-name{ font-size:14px; }
.woocommerce-cart-form td.product-name a{ font-weight:500; color:#2C363F !important; }
.woocommerce-cart-form dl.variation dt{ float:none !important; display:inline-block; min-width:56px; font-size:9.5px !important; text-transform:uppercase; letter-spacing:.06em; color:#8892A4 !important; font-weight:500 !important; margin:0 6px 0 0 !important; padding:0 !important; }
.woocommerce-cart-form dl.variation dd{ display:inline !important; margin:0 !important; padding:0 !important; font-size:12px; color:#2C363F; }
.woocommerce-cart-form dl.variation dd p{ display:inline; margin:0; }


/* Kolumna ceny: wyrównanie do prawej */
.woocommerce-cart-form td.product-price{ text-align:right; width:150px; }
.pillac-pc{ align-items:flex-end; }
.pillac-pc-row{ justify-content:flex-end; }

/* Upsell blok: odstęp od tabeli */
.pillac-ups-block{ margin:6px 0 10px; }

/* Coupon + actions pod tabelą — wyrównanie */
.woocommerce-cart-form td.actions{ background:transparent !important; padding:8px 0 0 !important; box-shadow:none !important; }

/* Sidebar: rytm i hierarchia */
.cart_totals{ border:1px solid rgba(44,54,63,.12) !important; border-radius:10px; background:#fff; padding:6px 0 !important; }
.cart_totals table{ margin:0 !important; }
.cart_totals th, .cart_totals td{ padding:5px 20px !important; }
.cart_totals .pillac-bd-label th{ padding:14px 20px 5px !important; }
.cart_totals .order-total th, .cart_totals .order-total td{ padding:14px 20px 6px !important; font-size:15px !important; border-top:1px solid rgba(44,54,63,.12) !important; }
.cart_totals .order-total td{ font-size:20px !important; }
.cart_totals .woocommerce-shipping-totals th, .cart_totals .woocommerce-shipping-totals td{ padding-top:12px !important; }
.pillac-delivery-est{ margin:12px 20px 6px; }
.wc-proceed-to-checkout{ padding:12px 20px 16px !important; }

@media(max-width:768px){
  .woocommerce-cart .woocommerce{ padding-top:12px; padding-bottom:40px; }
  .woocommerce-cart-form td{ padding:16px 14px !important; }
  .woocommerce-cart-form td.product-price{ width:auto; }
}

/* Koszyk v2.1 — detale */
/* Atrybuty: klucz+wartość w jednej linii, do lewej (grid) */
.woocommerce-cart-form td.product-name{ text-align:left !important; }
.woocommerce-cart-form dl.variation{ display:grid !important; grid-template-columns:max-content 1fr; column-gap:8px; row-gap:5px; justify-items:start; align-items:baseline; margin:12px 0 0 !important; }
.woocommerce-cart-form dl.variation dt{ margin:0 !important; }
.woocommerce-cart-form dl.variation dd{ text-align:left !important; justify-self:start; }

.cart_totals table tbody tr:first-child th, .cart_totals table tbody tr:first-child td{ padding-top:12px !important; }

.woocommerce-cart-form table.shop_table{ margin-top:0 !important; }


/* Sticky sidebar na desktopie */
@media(min-width:993px){ .cart-collaterals .cart_totals{ position:sticky; top:100px; } }

/* ═══ KOSZYK v3 — tło z referencji, bez split-gradientu motywu ═══ */
/* Precz z gradientem 60/40 motywu; jednolite tło jak w referencji (#F7F8FB) */
.woocommerce-cart .page-wrapper{ background-image:none !important; background-color:#F7F8FB !important; }
body.woocommerce-cart{ background:#F7F8FB !important; }

/* Karty na tym tle: wyraźniejsze, subtelny cień zamiast samego obrysu */
.woocommerce-cart-form tr.cart_item td{ background:#fff; }
.cart_totals{ box-shadow:0 1px 3px rgba(44,54,63,.06) !important; }

/* Pasek free-shipping: karta na tle */
.elementor-widget-woocommerce-etheme_sales_countdown .et_cart-progress-bar,
.et_cart-progress-wrapper{ border-radius:10px; }

/* Mniejsza pustka nad treścią */
.woocommerce-cart .e-con-inner > .e-con:first-child{ padding-top:0 !important; }
.woocommerce-cart .elementor-element-182a7ed6{ padding-top:10px !important; }

/* Sticky totals — właściwy rodzic (etheme container) */
@media(min-width:993px){
  .etheme-elementor-cart-page-totals-inner .cart_totals{ position:sticky !important; top:96px; }
}

/* CTA: navy jak w referencji; Continue shopping jako subtelny outline */
.cart_totals .checkout-button{ background:#2C363F !important; border-color:#2C363F !important; color:#fff !important; border-radius:6px !important; letter-spacing:.06em; }
.cart_totals .checkout-button:hover{ background:#1a2a50 !important; }
.etheme-elementor-cart-page-totals-inner a.button:not(.checkout-button),
.cart_totals ~ * .button.continue-shopping, a.continue-shopping.button{
  background:#fff !important; color:#2C363F !important; border:1px solid rgba(44,54,63,.2) !important; border-radius:6px !important;
}

/* Sidebar: „Personalization (full price)" bez łamania */
.cart_totals .pillac-bd th{ white-space:nowrap; }
.cart_totals .pillac-bd th, .cart_totals .pillac-bd td{ line-height:1.5; }

/* Delivery estimate — spójne na tle karty */
.pillac-delivery-est{ background:#F7F8FB; }

/* Upsell na szarym tle strony */
.pillac-ups-block{ box-shadow:0 1px 3px rgba(44,54,63,.06), 0 0 0 1px rgba(44,54,63,.08); border:none; }
/* Koszyk v3.1: akcje pod tabelą — spokojne, spójne */
.woocommerce-cart-form .button[name="clear_cart"], .woocommerce-cart-form a.clear-cart,
.woocommerce-cart-form .actions .button:not([name="apply_coupon"]):not(.checkout-button){
  background:#fff !important; color:#8892A4 !important; border:1px solid rgba(44,54,63,.15) !important; border-radius:6px !important;
}
.woocommerce-cart-form .actions .button:hover{ color:#C0392B !important; border-color:#C0392B !important; }
.woocommerce-cart-form .coupon .button, .woocommerce-cart-form .coupon input[type="submit"]{
  background:#2C363F !important; color:#fff !important; border-color:#2C363F !important; border-radius:6px !important;
}
.woocommerce-cart-form .coupon input.input-text{ border-radius:6px !important; border:1px solid rgba(44,54,63,.15) !important; }

/* ═══ KOSZYK 1:1 z referencją v2 ═══ */
/* Etykiety sekcji z linią */
.woocommerce-cart-form tr.pillac-slabel td{ background:transparent !important; box-shadow:none !important; padding:14px 2px 8px !important; border:none !important; }
.woocommerce-cart-form tr.pillac-slabel span{ display:flex; align-items:center; gap:8px; font-size:10px; text-transform:uppercase; letter-spacing:.1em; color:#8892A4; }
.woocommerce-cart-form tr.pillac-slabel span::after{ content:''; flex:1; height:1px; background:rgba(44,54,63,.10); }
.woocommerce-cart-form tr.pillac-slabel{ box-shadow:none !important; }

/* Topbar: badge + zielona pigułka */
.pillac-bnd-pill{ font-size:10px; font-weight:600; color:var(--pc-green); background:var(--pc-green-bg); padding:3px 9px; border-radius:10px; white-space:nowrap; }
.pillac-bnd-top{ justify-content:flex-start; gap:10px; }

/* dlugie nazwy produktow lamia sie do kolejnej linii */
.woocommerce-cart-form td.product-details .product-title,
.woocommerce-cart-form .pillac-bnd-name{ white-space:normal !important; overflow-wrap:break-word; }

/* Nazwa "Your box N: X" */
.pillac-bnd-name b{ font-weight:600; letter-spacing:.04em; }

/* Stopka grupy: strip + pasek remove */
.pillac-bnd-bottom{ margin-top:14px; }
.pillac-bnd-bottom .pillac-bnd-strip{ margin:0; border-radius:5px 5px 0 0; border-bottom:none; }
.pillac-bnd-removebar{ display:flex; justify-content:flex-end; background:#F7F8FB; border:1px solid rgba(44,54,63,.10); border-top:none; border-radius:0 0 5px 5px; padding:8px 12px; }

/* Blank tag */
.pillac-blank-tag{ display:inline-block; font-size:10px; color:#B2BBCA; background:#EEF1F7; padding:3px 8px; border-radius:3px; letter-spacing:.03em; margin-left:8px; }

/* Personalization w meta: dashed top jak w ref */
.woocommerce-cart-form dl.variation{ position:relative; }

/* Price col: persrow */
.pillac-pc-pers span{ font-size:10px; color:#8892A4; margin-right:2px; }
.pillac-pc-disc{ font-size:15px; }

/* Cut-off bar (amber) */
.pillac-cd-bar{ display:flex; align-items:center; gap:8px; background:rgba(180,83,9,.07); border:1px solid rgba(180,83,9,.12); border-radius:8px; padding:9px 14px; margin:0 0 10px; font-size:12px; color:#B45309; }
.pillac-cd-bar b{ font-weight:600; font-variant-numeric:tabular-nums; }
.pillac-cd-ic{ flex-shrink:0; }

/* Trust box w sidebarze */
.pillac-trustbox{ margin:12px 20px 16px; background:#F7F8FB; border:1px solid rgba(44,54,63,.08); border-radius:6px; padding:10px 14px; display:flex; flex-direction:column; gap:7px; }
.pillac-trow{ font-size:11px; color:#8892A4; }

/* Licznik pozycji w h2 */

/* Qty stepper dla akcesoriów (natywny Woo quantity) */
.woocommerce-cart-form td.product-quantity{ display:table-cell !important; }
.woocommerce-cart-form th.product-quantity{ display:none !important; }
.woocommerce-cart-form .quantity{ display:inline-flex; align-items:center; border:1px solid rgba(44,54,63,.12); border-radius:5px; overflow:hidden; }
.woocommerce-cart-form .quantity .qty{ width:34px; height:30px; border:none !important; text-align:center; font-size:12px; font-weight:500; color:#2C363F; background:#fff; }
.woocommerce-cart-form .quantity .minus, .woocommerce-cart-form .quantity .plus{ width:30px; height:30px; border:none !important; background:#fff; color:#2C363F; font-size:15px; cursor:pointer; }
.woocommerce-cart-form .quantity .minus:hover, .woocommerce-cart-form .quantity .plus:hover{ background:#EEF1F7; }
/* pillac_config pozycje: bez steppera (span "1") — zostaje ukryty seryjnie */
.pillac-bundle-qty{ color:#B2BBCA; font-size:12px; }

@media(max-width:768px){
  .pillac-bnd-top{ flex-wrap:wrap; }
  .pillac-cd-bar{ font-size:11px; }
}
.pillac-blank-below{ display:inline-block; margin-top:6px; }

/* ═══ SIDEBAR PODSUMOWANIA — 1:1 z referencją ═══ */
/* Nagłówek: mała uppercase etykieta + licznik; sans motywu w całej karcie */
.cart_totals{ font-family:"Oktah Neue Medium","Oktah Neue",Jost,system-ui,sans-serif !important; }

/* Wiersze breakdown: sans, oddechy, boczny padding, bez linii wierszy */
.cart_totals table.shop_table{ margin:0 !important; border:none !important; }
.cart_totals table.shop_table th, .cart_totals table.shop_table td{
  font-family:inherit !important; border:none !important; background:transparent !important;
}
.cart_totals table.shop_table .pillac-bd th{ font-size:12.5px !important; color:#8892A4 !important; font-weight:400 !important; padding:4px 0 4px 20px !important; text-align:left; }
.cart_totals table.shop_table .pillac-bd td{ font-size:12.5px !important; color:#2C363F !important; font-weight:600 !important; padding:4px 20px 4px 0 !important; text-align:right; }
.cart_totals table.shop_table .pillac-bd-label th{
  font-size:10px !important; letter-spacing:.1em; text-transform:uppercase; color:#B2BBCA !important;
  padding:16px 20px 6px !important; border-bottom:1px solid rgba(44,54,63,.08) !important; font-weight:600 !important;
}
.cart_totals table.shop_table tbody tr.pillac-bd-label:first-child th{ padding-top:10px !important; }
.cart_totals table.shop_table .pillac-bd-green th, .cart_totals table.shop_table .pillac-bd-green td{ color:#1A8C4E !important; }
.cart_totals table.shop_table .pillac-bd-ind th{ padding-left:32px !important; font-size:11.5px !important; color:#B2BBCA !important; }
.cart_totals table.shop_table .pillac-bd-ind td{ font-size:11.5px !important; font-weight:400 !important; color:#8892A4 !important; }
.cart_totals table.shop_table .pillac-bd-ship th, .cart_totals table.shop_table .pillac-bd-ship td{ padding-top:12px !important; }

/* Motywowy blok Shipment/Calculate — precz (mamy własny wiersz) */
.cart_totals .woocommerce-shipping-totals{ display:none !important; }
.cart_totals .woocommerce-shipping-calculator{ display:none !important; }

/* TOTAL: linia nad, duża kwota, VAT note */
.cart_totals .order-total th{ font-family:inherit !important; font-size:15px !important; font-weight:600 !important; color:#2C363F !important; padding:14px 0 4px 20px !important; border-top:1px solid rgba(44,54,63,.12) !important; }
.cart_totals .order-total td{ font-family:inherit !important; font-size:22px !important; font-weight:600 !important; color:#2C363F !important; padding:12px 20px 2px 0 !important; border-top:1px solid rgba(44,54,63,.12) !important; text-align:right; }
.pillac-bdvat{ font-size:10.5px; color:#B2BBCA; font-weight:400; margin-top:3px; }

/* Delivery + trust: boczne wcięcia spójne */
.pillac-delivery-est{ margin:10px 20px 4px; }
.pillac-trustbox{ margin:10px 20px 16px; }
.wc-proceed-to-checkout{ padding:14px 20px 6px !important; }

/* ═══ KOSZYK v4 — grupa jako JEDNA karta, układ 1:1 z referencją ═══ */
/* Zero spacing tabeli; oddechy robią etykiety sekcji i spacery */
.woocommerce-cart-form table.shop_table{ border-spacing:0 0 !important; }
.woocommerce-cart-form tr.pillac-slabel td{ padding:22px 2px 8px !important; }
.woocommerce-cart-form tbody tr.pillac-slabel:first-child td{ padding-top:2px !important; }
.woocommerce-cart-form tr.pillac-gap td{ background:transparent !important; box-shadow:none !important; border:none !important; padding:5px !important; }

/* Sans motywu w pozycjach koszyka (nazwa, meta, cena) */
.woocommerce-cart-form td.product-name, .woocommerce-cart-form td.product-name *,
.woocommerce-cart-form td.product-details, .woocommerce-cart-form td.product-details *,
.woocommerce-cart-form td.product-price, .woocommerce-cart-form td.product-price *{
  font-family:"Oktah Neue Medium","Oktah Neue",Jost,system-ui,sans-serif !important;
}
/* wartość personalizacji tą samą czcionką co pozostałe atrybuty */
.woocommerce-cart-form td.product-details dd em,
.woocommerce-cart-form td.product-name dd em{ font-style:normal; }
.pillac-bnd-name{ font-size:16px; }
.pillac-bnd-name b{ letter-spacing:.05em; }

/* Reset kartowania pojedynczych tr (z v2) i budowa kart od nowa */
.woocommerce-cart-form tr.cart_item{ box-shadow:none; }
.woocommerce-cart-form tr.cart_item td{ border:none !important; }
.woocommerce-cart-form tr.cart_item td:first-child{ border-radius:0 !important; }
.woocommerce-cart-form tr.cart_item td:last-child{ border-radius:0 !important; }

/* — KARTA POJEDYNCZA (standalone/akcesoria) — */
.woocommerce-cart-form tr.cart_item:not(.pillac-grp) td{ background:#fff; border-top:1px solid rgba(44,54,63,.12) !important; border-bottom:1px solid rgba(44,54,63,.12) !important; padding:20px !important; }
.woocommerce-cart-form tr.cart_item:not(.pillac-grp) td:first-child{ border-left:1px solid rgba(44,54,63,.12) !important; border-radius:10px 0 0 10px !important; }
.woocommerce-cart-form tr.cart_item:not(.pillac-grp) td:last-child{ border-right:1px solid rgba(44,54,63,.12) !important; border-radius:0 10px 10px 0 !important; }

/* — KARTA GRUPY: topbar / boxy / stopka sklejone — */
.woocommerce-cart-form tr.pillac-bar-tr td{
  background:#F7F8FB !important; padding:12px 18px !important;
  border:1px solid rgba(44,54,63,.15) !important; border-bottom:1px solid rgba(44,54,63,.10) !important;
  border-radius:10px 10px 0 0 !important; box-shadow:none !important;
}
.woocommerce-cart-form tr.pillac-bnd-row td{
  background:#fff !important; padding:20px !important;
  border-left:1px solid rgba(44,54,63,.15) !important; border-right:none !important; border-top:none !important; border-bottom:none !important;
}
.woocommerce-cart-form tr.pillac-bnd-row td:last-child{ border-right:1px solid rgba(44,54,63,.15) !important; border-left:none !important; }
.woocommerce-cart-form tr.pillac-bnd-row td:not(:first-child):not(:last-child){ border-left:none !important; }
/* separator między boxami: cienka pełna linia */
.woocommerce-cart-form tr.pillac-bnd-row + tr.pillac-bnd-row td{ border-top:1px solid rgba(44,54,63,.08) !important; }
.woocommerce-cart-form tr.pillac-barb-tr td{
  background:#fff !important; padding:0 !important;
  border:1px solid rgba(44,54,63,.15) !important; border-top:none !important;
  border-radius:0 0 10px 10px !important; box-shadow:none !important; overflow:hidden;
}
/* pierwsze/ostatnie flagi już niepotrzebne do ramek */
.woocommerce-cart-form tr.pillac-bnd-first td{ border-top:none !important; }
.woocommerce-cart-form tr.pillac-bnd-last td{ border-bottom:none !important; padding-bottom:20px !important; }

/* Topbar wewnątrz własnego wiersza */
.pillac-bnd-top{ margin:0 !important; }
/* oryginały (w komórkach produktu) ukryte — widoczne są klony w bar-tr/barb-tr */
.woocommerce-cart-form tr.pillac-bnd-row .pillac-bnd-top,
.woocommerce-cart-form tr.pillac-bnd-row .pillac-bnd-bottom{ display:none !important; }
/* Stopka: strip pełna szerokość + pasek remove */
.pillac-bnd-bottom{ margin:0 !important; }
.pillac-bnd-bottom .pillac-bnd-strip{ border:none; border-radius:0; border-bottom:1px solid rgba(26,140,78,.12); padding:10px 18px; }
.pillac-bnd-removebar{ border:none; border-radius:0; background:#fff; padding:12px 18px; }

/* Kolumny: thumb wąska, price przy prawej, quantity znika dla pillac */
.woocommerce-cart-form td.product-price{ width:210px; text-align:right; vertical-align:top !important; }
.woocommerce-cart-form td.product-quantity:has(.pillac-bundle-qty){ display:none !important; }
.woocommerce-cart-form .pillac-bundle-qty{ display:none !important; }
/* stepper akcesoriów przeniesiony nad cenę (JS) */
.pillac-qty-holder{ display:flex; justify-content:flex-end; margin-top:10px; margin-bottom:38px; }
.pillac-qty-holder .quantity{ margin:0 !important; height:36px; }
.woocommerce-cart-form .product-price-quantity .quantity-wrapper,
.pillac-qty-holder .quantity-wrapper{
  display:inline-flex !important; align-items:center !important; height:36px;
  border:1px solid rgba(44,54,63,.10) !important; border-radius:4px !important;
  overflow:hidden; background:#fff !important; padding:0 !important;
}
.woocommerce-cart-form .product-price-quantity .quantity-wrapper .minus, .woocommerce-cart-form .product-price-quantity .quantity-wrapper .plus,
.pillac-qty-holder .quantity-wrapper .minus, .pillac-qty-holder .quantity-wrapper .plus{
  width:32px; height:100% !important; display:flex !important; align-items:center !important; justify-content:center !important;
  color:#2C363F !important; cursor:pointer; border:none !important; background:none !important; margin:0 !important; line-height:1 !important;
}
.woocommerce-cart-form .product-price-quantity .quantity-wrapper .minus:hover, .woocommerce-cart-form .product-price-quantity .quantity-wrapper .plus:hover,
.pillac-qty-holder .quantity-wrapper .minus:hover, .pillac-qty-holder .quantity-wrapper .plus:hover{ background:#F1F2F6 !important; }
.woocommerce-cart-form .product-price-quantity .quantity-wrapper input.qty,
.pillac-qty-holder .quantity-wrapper input.qty{
  width:36px !important; height:100% !important; border:none !important; border-left:1px solid rgba(44,54,63,.10) !important; border-right:1px solid rgba(44,54,63,.10) !important;
  border-radius:0 !important; text-align:center; font-size:12px !important; font-weight:500; color:#2C363F !important;
  background:transparent !important; box-shadow:none !important; margin:0 !important; padding:0 !important;
}

.woocommerce-cart-form .product-price-quantity .quantity-wrapper .minus svg,
.woocommerce-cart-form .product-price-quantity .quantity-wrapper .plus svg,
.pillac-qty-holder .quantity-wrapper .minus svg, .pillac-qty-holder .quantity-wrapper .plus svg{ width:11px !important; height:11px !important; }
.woocommerce-cart-form .product-price-quantity .quantity{ margin:0 !important; }

/* stałe miejsce na cenę + dodatki (personalizacja) — layout nie skacze */
.woocommerce-cart-form td.product-price > .pillac-pc,
.woocommerce-cart-form td.product-price .pillac-pc{ min-height:46px; }

/* Meta: bez dwukropków wizualnego chaosu, pers z dashed linią pełnej szerokości body */
.woocommerce-cart-form dl.variation{ margin-top:12px !important; row-gap:7px; }
.woocommerce-cart-form dl.variation dt{ font-size:10.5px !important; letter-spacing:.08em; min-width:64px; }
.woocommerce-cart-form dl.variation dt[class*="variation-Personal"],
.woocommerce-cart-form dl.variation dd[class*="variation-Personal"]{
  padding-top:6px !important; margin-top:3px !important;
}
.pillac-cart-pers{ font-size:13px; }

/* Rozbicie ceny: rząd zwarty przy prawej */
.pillac-pc-row s{ font-size:13px; }
.pillac-pc-disc, .pillac-pc-disc .amount, .pillac-pc-disc bdi{ font-size:17px; color:#2C363F !important; font-weight:700 !important; }
.pillac-pc-pers{ margin-top:4px; }

/* ── MOBILE: shop_table_responsive robi z td bloki — ramki kart per-td ── */
@media (max-width:768px){
  .woocommerce-cart-form tr.pillac-bnd-row td,
  .woocommerce-cart-form tr.cart_item:not(.pillac-grp) td{
    border-left:1px solid rgba(44,54,63,.15) !important;
    border-right:1px solid rgba(44,54,63,.15) !important;
    border-top:none !important; border-bottom:none !important;
    border-radius:0 !important;
  }
  .woocommerce-cart-form tr.cart_item:not(.pillac-grp) td:first-child{
    border-top:1px solid rgba(44,54,63,.15) !important; border-radius:10px 10px 0 0 !important;
  }
  .woocommerce-cart-form tr.cart_item:not(.pillac-grp) td:last-child{
    border-bottom:1px solid rgba(44,54,63,.15) !important; border-radius:0 0 10px 10px !important;
  }
  .woocommerce-cart-form tr.pillac-bnd-row + tr.pillac-bnd-row td:first-child{
    border-top:1px solid rgba(44,54,63,.08) !important;
  }
  .woocommerce-cart-form td.product-price{ width:auto; text-align:right; }
  .woocommerce-cart-form tr.pillac-bnd-row td{ padding:14px 16px !important; }
  /* stacked layout Woo (smallscreen.css): dopieszczenie labelek i kolumn */
  .woocommerce-cart-form table.shop_table_responsive tr td{ width:auto !important; }
  .woocommerce-cart-form table.shop_table_responsive td::before{
    font-weight:600; letter-spacing:.06em; color:#8B93A7; font-size:11px; text-transform:uppercase;
  }
  .woocommerce-cart-form td.product-name::before,
  .woocommerce-cart-form td.product-details::before{ content:none !important; }
  .woocommerce-cart-form td.product-name,
  .woocommerce-cart-form td.product-details{ text-align:left !important; }
  .woocommerce-cart-form td.product-name img{ float:none; display:block; width:74px !important; height:auto; margin:0 0 8px; border-radius:8px; }
  .woocommerce-cart-form tr.pillac-bnd-row td.product-name{ padding-bottom:0 !important; }
  .woocommerce-cart-form tr.pillac-bnd-row td.product-details{ padding-top:6px !important; }
}

/* ═══ KOSZYK v5 — nav, tytuł, ship-bar, kupon w sidebarze, pay, upsell, stopka ═══ */

/* pionowa kreska przy kolumnie ceny pochodziła z box-shadow motywu/starej wersji */
.woocommerce-cart-form table.shop_table td{ box-shadow:none !important; }

/* nav: logo + secure checkout */
.pillac-cartnav{ background:rgba(255,255,255,.97); border-bottom:1px solid rgba(44,54,63,.10); position:sticky; top:0; z-index:50; }
.pillac-cartnav-in{ max-width:1160px; margin:0 auto; padding:0 28px; height:60px; display:flex; align-items:center; justify-content:space-between; }
.pillac-cartnav-logo img{ height:34px; width:auto; display:block; }
.pillac-cartnav-secure{ display:flex; align-items:center; gap:6px; font-size:12px; color:#6B7280; font-family:"Oktah Neue Medium","Oktah Neue",Jost,system-ui,sans-serif; }
.pillac-cartnav-secure svg{ color:#1A8C4E; }

/* tytuł strony */
.pillac-page-head{ display:flex; align-items:baseline; gap:10px; margin:2px 0 14px; }
/* Order summary nad karta podsumowania — ta sama typografia co Your cart */
.pillac-page-head.pillac-sum-out{ margin:0 0 12px; }
.cart_totals .cart-totals-title, .cart_totals > h3{ display:none !important; }
.pillac-page-title{ font-family:Lora,Georgia,serif; font-size:32px; font-weight:400; color:#2C363F; letter-spacing:-.01em; }
.pillac-page-count{ font-size:14px; color:#9AA1B2; font-weight:300; }

/* mniejszy oddech pod ship-barem (globalnie) */
.woocommerce-cart .elementor-element-fbc56ec,
.woocommerce-cart .elementor-element-fbc56ec .elementor-widget-container{ margin-bottom:6px !important; }
body.woocommerce-cart .woocommerce{ padding-top:0 !important; }

/* ship-bar: mały zielony tekst + cienki pasek w jednym rzędzie (bez ramki motywu) */
.etheme_sales_booster_progress_bar_shortcode .et-cart-progress{
  display:flex; align-items:center; gap:14px; flex-wrap:nowrap !important;
  border:none !important; padding:12px 0 !important; background:transparent !important;
}
.etheme_sales_booster_progress_bar_shortcode .et-cart-progress-success{
  display:flex; align-items:center; gap:6px; white-space:nowrap; width:auto !important; flex:0 0 auto;
  font-family:"Oktah Neue Medium","Oktah Neue",Jost,system-ui,sans-serif;
  font-size:12px; font-weight:500; color:#1A8C4E;
}
.etheme_sales_booster_progress_bar_shortcode .et-cart-progress-success > span:not(.et-icon){ font-size:12px; }
.etheme_sales_booster_progress_bar_shortcode .et-cart-progress-success .et-icon{ font-size:13px; color:#1A8C4E; }
.etheme_sales_booster_progress_bar_shortcode progress.et_cart-progress-bar{
  flex:1; -webkit-appearance:none; appearance:none; height:3px !important; border:none; border-radius:2px; overflow:hidden; background:#ECEEF3; margin:0 !important;
}
.etheme_sales_booster_progress_bar_shortcode progress.et_cart-progress-bar::-webkit-progress-bar{ background:#ECEEF3; border-radius:2px; }
.etheme_sales_booster_progress_bar_shortcode progress.et_cart-progress-bar::-webkit-progress-value{ background:#1A8C4E; border-radius:2px; }
.etheme_sales_booster_progress_bar_shortcode progress.et_cart-progress-bar::-moz-progress-bar{ background:#1A8C4E; border-radius:2px; }

/* kupon w sidebarze */
.coupon.pillac-coupon-orig{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.pillac-coupon{ display:flex; border:1px solid rgba(44,54,63,.10); border-radius:4px; overflow:hidden; background:#fff; margin:0 0 12px; transition:border-color .15s; }
.pillac-coupon:focus-within{ border-color:rgba(44,54,63,.25); }
.pillac-coupon-in{ flex:1; border:none !important; padding:9px 12px !important; font-size:12px; color:#2C363F; background:transparent !important; outline:none; box-shadow:none !important; min-height:0 !important; }
.pillac-coupon-in::placeholder{ color:#9AA1B2; }
.pillac-coupon-btn{ background:none !important; border:none !important; border-left:1px solid rgba(44,54,63,.10) !important; padding:9px 14px !important; font-size:11px; font-weight:500; color:#2C363F !important; letter-spacing:.04em; text-transform:uppercase; cursor:pointer; border-radius:0 !important; min-height:0 !important; }
.pillac-coupon-btn:hover{ background:#F7F8FB !important; }

/* „or pay with" + przyciski express */
.pillac-paylbl{ text-align:center; font-size:10px; color:#9AA1B2; position:relative; padding:0 10px; margin:10px 0 8px; }
.pillac-paylbl::before, .pillac-paylbl::after{ content:''; position:absolute; top:50%; height:1px; width:35%; background:rgba(44,54,63,.10); }
.pillac-paylbl::before{ left:0; } .pillac-paylbl::after{ right:0; }
.wcpay-express-checkout-wrapper{ margin-top:0 !important; }
/* Apple/Google Pay obok siebie także na desktopie: Stripe łamie na 2 wiersze
   poniżej ~510px szerokości elementu, a sidebar ma ~470. Dajemy elementowi 112%
   szerokości i skalujemy w dół — iframe "widzi" ~526px i układa jeden rząd. */
/* Apple/Google Pay w jednym rzędzie (desktop): Stripe łamie na 2 wiersze poniżej
   ~520px szerokości elementu. Stały transform:scale — przewidywalny, bez JS.
   width w px = 524 lokalnych; scale dopasowany do zwężonej kolumny podsumowania. */
@media (min-width:1025px){
  .woocommerce-cart .wcpay-express-checkout-wrapper{
    width:524px; transform:scale(.832); transform-origin:left top; margin-bottom:-8px;
  }
}

/* Order summary: węższa kolumna na desktopie, forma zyskuje przestrzeń */
@media (min-width:1025px){
  .woocommerce-cart .etheme-elementor-cart-checkout-page-column.etheme-elementor-cart-page-totals{
    flex:0 0 480px !important; width:480px !important; max-width:480px !important;
  }
  .woocommerce-cart .etheme-elementor-cart-checkout-page-column:not(.etheme-elementor-cart-page-totals){
    flex:1 1 auto !important; max-width:none !important;
  }
}

/* upsell: opis + stepper + add */
.pillac-ups-desc{ font-size:11px; color:#6B7280; line-height:1.5; margin:2px 0 10px; }
.pillac-ups-qs{ display:inline-flex; align-items:center; border:1px solid rgba(44,54,63,.10); border-radius:4px; overflow:hidden; }
.pillac-ups-qs button{ background:none !important; border:none !important; width:28px; height:28px; display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:15px; color:#2C363F !important; line-height:1; padding:0 !important; min-height:0 !important; border-radius:0 !important; }
.pillac-ups-qs button:hover{ background:#F1F2F6 !important; }
.pillac-ups-num{ width:28px; text-align:center; font-size:12px; font-weight:500; color:#2C363F; border-left:1px solid rgba(44,54,63,.10); border-right:1px solid rgba(44,54,63,.10); line-height:28px; user-select:none; }
button.pillac-ups-add{ background:#2C363F !important; color:#fff !important; border:none !important; border-radius:4px !important; padding:7px 14px !important; font-size:11px; font-weight:500; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; min-height:0 !important; }
button.pillac-ups-add:hover{ background:#1a2a50 !important; }
button.pillac-ups-add.loading{ opacity:.6; pointer-events:none; }
.pillac-ups-foot{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.pillac-ups-foot .pillac-ups-price{ flex-basis:100%; margin-bottom:2px; }
button.pillac-ups-add{ flex:1; }

/* stopka motywu na koszyku: tylko copyright (ikony kart przeniesione do sidebara) */
.woocommerce-cart footer.footer{ background:#fff; border-top:1px solid rgba(44,54,63,.10); padding:14px 0 14px; margin-top:40px; }
.woocommerce-cart footer.footer img{ display:none; }
.woocommerce-cart footer.footer .text-center:not(.copyrights){ display:none; }
.woocommerce-cart footer.footer br{ display:none; }
.woocommerce-cart footer.footer .copyrights{ margin-top:0; font-size:12px; color:#9AA1B2; font-family:"Oktah Neue Medium","Oktah Neue",Jost,system-ui,sans-serif; }

/* ikony metod płatności pod Proceed to checkout */
.pillac-payicons{ display:flex; flex-wrap:wrap; gap:6px; justify-content:center; align-items:center; margin:12px 0 2px; }
.pillac-payicons img{ display:inline-block !important; height:22px; width:auto; border-radius:3px; opacity:.9; border:1px solid rgba(44,54,63,.08); }

/* × usuwania pojedynczej pozycji — prawy dolny róg karty */
.woocommerce-cart-form tr.cart_item td.product-price{ position:relative; }
.pillac-x-wrap{ position:absolute; right:20px; bottom:14px; margin:0; text-align:right; }
a.pillac-x-remove{
  display:inline-flex; align-items:center; justify-content:center;
  width:26px; height:26px; padding:0 !important; line-height:0;
  color:#8892A4 !important; text-decoration:none !important;
  border:1px solid rgba(44,54,63,.15); border-radius:4px; transition:all .15s; background:#fff;
}
a.pillac-x-remove svg{ display:block; }
a.pillac-x-remove:hover{ background:#F1F2F6; color:#2C363F !important; }

/* kupon: rozwijany wiersz + box; wcięcia jak przycisk Proceed to checkout */
.pillac-coupon-toggle{ display:flex; align-items:center; justify-content:space-between; margin:14px 20px 10px; font-size:12px; font-weight:500; color:#2C363F; cursor:pointer; user-select:none; }
.pillac-coupon-toggle .pillac-coupon-arr{ display:inline-flex; align-items:center; color:#2C363F; transition:transform .18s; }
.pillac-coupon-toggle.open .pillac-coupon-arr{ transform:rotate(180deg); }
.pillac-coupon{ margin-left:20px; margin-right:20px; margin-top:0; }

/* ── MOBILE (<768): thumb + treść w jednej linii, cena pod spodem, bez subtotalu ── */
.pillac-x-mob{ display:none !important; }
@media (max-width:767px){
  /* marginesy strony: koszyk nie może kleić się do krawędzi ekranu */
  body.woocommerce-cart .woocommerce{ padding:0 16px !important; }
  /* pasek free shipping też z marginesami, bez wielkiego oddechu pod spodem */
  .woocommerce-cart .etheme_sales_booster_progress_bar_shortcode .et-cart-progress{ margin:0 16px !important; }
  .woocommerce-cart .elementor-element-fbc56ec,
  .woocommerce-cart .elementor-element-fbc56ec .elementor-widget-container{ margin-bottom:6px !important; }
  /* upsell: stepper pełnej szerokości jak przycisk ADD, +/- zawsze kwadratowe */
  .pillac-ups-qs{ display:flex; width:100%; }
  .pillac-ups-qs button{ flex:0 0 28px; }
  .pillac-ups-num{ flex:1; width:auto; }
  button.pillac-ups-add{ flex:1 1 100%; }

  /* miniatura mała, treść zaraz obok — selektory z table.shop_table,
     bo motyw celuje tak samo i z !important (inaczej przegrywamy specyficznością) */
  body .woocommerce-cart-form table.shop_table td.product-name{
    width:90px !important; min-width:90px !important; max-width:90px !important;
    vertical-align:top !important; border-right:none !important;
    padding:16px 0 16px 12px !important;
  }
  /* twarda szerokość img i wrappera — motyw daje .product-thumbnail{width:177px},
     a auto-layout tabeli liczy kolumnę z max-content wnętrza */
  body .woocommerce-cart-form table.shop_table td.product-name .product-thumbnail{ width:70px !important; min-width:0 !important; max-width:70px !important; }
  body .woocommerce-cart-form table.shop_table td.product-name img{ width:70px !important; max-width:70px !important; height:auto; }
  /* goły znak „ × " (separator qty×cena w duplikacie motywu) — zerujemy fontem */
  body .woocommerce-cart-form table.shop_table td.product-details div.product-price .product-price-quantity{ font-size:0 !important; }
  body .woocommerce-cart-form table.shop_table td.product-details div.product-price .pillac-pc{ font-size:14px; }
  body .woocommerce-cart-form table.shop_table td.product-details{ border-left:none !important; padding-left:14px !important; }
  /* prawa krawędź karty przechodzi na details (price td jest ukryta na mobile) */
  body .woocommerce-cart-form table.shop_table tr.cart_item:not(.pillac-grp) td.product-details{ border-right:1px solid rgba(44,54,63,.12) !important; }
  body .woocommerce-cart-form table.shop_table tr.pillac-bnd-row td.product-details{ border-right:1px solid rgba(44,54,63,.15) !important; }
  /* mobilny duplikat subtotalu motywu — zbędny */
  body .woocommerce-cart-form table.shop_table td.product-details div.product-subtotal{ display:none !important; }
  /* jedyna linia w pozycji: jednolita kreska między treścią a ceną */
  body .woocommerce-cart-form table.shop_table td.product-details div.product-price{ border-top:1px solid rgba(44,54,63,.12) !important; padding-top:10px; margin-top:10px; }
  body .woocommerce-cart-form table.shop_table td.product-details dl.variation,
  body .woocommerce-cart-form table.shop_table td.product-details dl.variation dt,
  body .woocommerce-cart-form table.shop_table td.product-details dl.variation dd{ border:none !important; }
  body .woocommerce-cart-form table.shop_table td.product-details div.product-remove{ display:none !important; }
  /* cena wyrównana do lewej, jak reszta treści pozycji */
  body .woocommerce-cart-form table.shop_table td.product-details div.product-price .pillac-pc,
  body .woocommerce-cart-form table.shop_table td.product-details div.product-price .pillac-pc-row,
  body .woocommerce-cart-form table.shop_table td.product-details div.product-price .pillac-pc-pers{ justify-content:flex-start !important; align-items:flex-start !important; text-align:left !important; }
  /* bez etykiet MODEL/COLOR/PERSONALIZATION — wartości jedna pod drugą, do lewej */
  body .woocommerce-cart-form table.shop_table td.product-details dl.variation{ display:block !important; margin-top:4px !important; }
  body .woocommerce-cart-form table.shop_table .cart-item-details > div:first-child{ margin-bottom:0 !important; padding-bottom:0 !important; }
  body .woocommerce-cart-form table.shop_table .cart-item-details .pillac-bnd-name,
  body .woocommerce-cart-form table.shop_table .cart-item-details .product-title{ margin-bottom:0 !important; }
  body .woocommerce-cart-form table.shop_table td.product-details dl.variation dt{ display:none !important; }
  body .woocommerce-cart-form table.shop_table td.product-details dl.variation dd{
    display:block !important; width:100% !important; float:none !important;
    margin:0 0 7px !important; padding-left:0 !important; text-align:left !important;
  }
  /* karta: pełna ramka (etheme dzieli td na "górę" i "dół" — dół to ukryta kolumna ceny) */
  body .woocommerce-cart-form table.shop_table tr.cart_item:not(.pillac-grp) td.product-name{
    border-radius:10px 0 0 10px !important; border:1px solid rgba(44,54,63,.12) !important; border-right:none !important;
  }
  body .woocommerce-cart-form table.shop_table tr.cart_item:not(.pillac-grp) td.product-details{
    border-radius:0 10px 10px 0 !important; border:1px solid rgba(44,54,63,.12) !important; border-left:none !important;
  }
  body .woocommerce-cart-form table.shop_table tr.pillac-bnd-row td.product-name{
    border-radius:0 !important; border:none !important; border-left:1px solid rgba(44,54,63,.15) !important;
  }
  body .woocommerce-cart-form table.shop_table tr.pillac-bnd-row td.product-details{
    border-radius:0 !important; border:none !important; border-right:1px solid rgba(44,54,63,.15) !important;
  }
  body .woocommerce-cart-form table.shop_table tr.pillac-bnd-row + tr.pillac-bnd-row td{ border-top:1px solid rgba(44,54,63,.08) !important; }
  /* stepper i cena w jednym rzędzie: cena pierwsza (od lewej), potem stepper */
  body .woocommerce-cart-form table.shop_table td.product-details .product-price-quantity{
    display:flex !important; align-items:center !important; gap:14px !important; flex-wrap:wrap;
  }
  body .woocommerce-cart-form table.shop_table td.product-details .product-price-quantity .pillac-pc{ order:-1; min-height:0 !important; }
  body .woocommerce-cart-form table.shop_table td.product-details .product-price-quantity .quantity{ order:2; }
  /* cena personalizacji pod tekstem (długie 2 lines nachodziły), bez prefiksu rodzaju */
  .pillac-cart-pers-price{ display:block; width:max-content; margin:5px 0 0 !important; }
  .pillac-pers-kind{ display:none !important; }
  /* × usuwania: prawy górny róg pozycji */
  .woocommerce-cart-form .cart-item-details{ position:relative; }
  .pillac-x-mob{ display:inline-flex !important; position:absolute; top:-2px; right:0; border:1px solid rgba(44,54,63,.15); background:#fff; }
  .pillac-x-mob:hover{ background:#F1F2F6; }
}
footer.footer .copyrights{ visibility:hidden; } /* anty-flash: JS podmienia kredyt 8theme i odsłania */

/* pas .actions (Update cart/kupon Woo) — wizualnie zbedny, inputy zostaja w DOM */
.woocommerce-cart-form .actions{ border:none !important; height:0 !important; min-height:0 !important; padding:0 !important; margin:0 !important; overflow:hidden !important; }

/* Shipping jako pozycja nad TOTAL — etykieta navy jak Total, wartość zielona */
.cart_totals .pillac-bd-ship th{ color:#2C363F !important; font-weight:600; padding-top:16px !important; }
.cart_totals .pillac-bd-ship td{ color:#1A8C4E !important; font-weight:600; padding-top:16px !important; }



/* Proceed: hover bez zmiany wymiarów */
.wc-proceed-to-checkout .checkout-button,
.wc-proceed-to-checkout .checkout-button:hover{ border:1px solid transparent !important; padding:13px 30px !important; letter-spacing:.06em !important; }

/* główne przyciski zakupowe: granat + ten sam hover co Proceed */
.single-product .single_add_to_cart_button{
  background:#2C363F !important; border-color:#2C363F !important; color:#fff !important;
}
.single-product .single_add_to_cart_button:hover{ background:#1a2a50 !important; border-color:#1a2a50 !important; color:#fff !important; }

/* Find my Pillac: róż jak hover w menu głównym (--et_active-color) */
#pillac-trigger{ background:#d64f87 !important; }
#pillac-trigger:hover{ background:#c23e74 !important; }

/* ── SIDEBAR: koniec z kreskami przy każdym wierszu ── */
.cart_totals table.shop_table tr, .cart_totals table.shop_table tr > th, .cart_totals table.shop_table tr > td{
  border:0 !important; box-shadow:none !important; background:transparent !important;
}
.cart_totals table.shop_table .pillac-bd-label th{ border-bottom:none !important; position:relative; }
.cart_totals table.shop_table .pillac-bd-label th::after{
  content:''; position:absolute; left:20px; right:20px; bottom:0; height:1px; background:rgba(44,54,63,.08);
}
.cart_totals table.shop_table tr.pillac-bd-label + tr th,
.cart_totals table.shop_table tr.pillac-bd-label + tr td{ padding-top:11px !important; }
.cart_totals .order-total th, .cart_totals .order-total td{ border-top:1px solid rgba(44,54,63,.12) !important; }


/* ═══════════ BRAND v4.13 — ink-only + róż stanów (Stylebook v4.13, 2026-07-12) ═══════════
   Nagłówki/ceny w graficie robi token --pl-navy→#2C363F (typography.css).
   Zasady: róż = jedyny kolor akcji i stanów; wybór = różowa ramka 2px bez tła;
   focus pól = pojedyncza różowa ramka; wypowiedzi klientów = Lora italic. */

/* 1 ▸ Konfigurator: stany aktywne → róż */
#pillac-addons-configurator .sw.active{ box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--pl-pink,#D64F87) !important; }
#pillac-addons-configurator .po:hover:not(.active){ border-color:var(--pl-pink,#D64F87); }
#pillac-addons-configurator .po.active{ border:2px solid var(--pl-pink,#D64F87); background:#fff; padding:15px 11px 13px; }
[id^="pillac-sub-"] .pf:hover{ border-color:var(--pl-pink,#D64F87); }
[id^="pillac-sub-"] .pf:focus{ border-color:var(--pl-pink,#D64F87); box-shadow:inset 0 0 0 1px var(--pl-pink,#D64F87); }
[id^="pillac-sub-"] .sb:hover:not(.active){ border-color:var(--pl-pink,#D64F87); }
[id^="pillac-sub-"] .sb.active{ border:2px solid var(--pl-pink,#D64F87); background:#fff; color:var(--pl-ink,#2C363F); font-weight:600; }
#pillac-isw .isw:hover{ border-color:var(--pl-pink,#D64F87); }
#pillac-isw .isw.active{ border:2px solid var(--pl-pink,#D64F87) !important; }

/* 2 ▸ Focus formularzy globalnie — koniec pomarańczu XStore, pojedyncza różowa ramka */
body input[type=text]:focus, body input[type=email]:focus, body input[type=tel]:focus,
body input[type=password]:focus, body input[type=number]:focus, body input[type=search]:focus,
body textarea:focus, body select:focus, body .input-text:focus{
  border-color:var(--pl-pink,#D64F87) !important;
  box-shadow:inset 0 0 0 1px var(--pl-pink,#D64F87) !important;
  outline:none !important;
}
a:focus-visible, button:focus-visible{ outline:2px solid var(--pl-pink,#D64F87) !important; outline-offset:2px; }

/* 3 ▸ Doktryna ceny: wartość grafit 700 tabular · stara subtle · rabat zielony */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color:var(--pl-ink,#2C363F) !important; font-weight:700; font-variant-numeric:tabular-nums;
}
.price del, .price del .woocommerce-Price-amount{ color:var(--pl-subtle,#9AA1B2) !important; font-weight:400; }
.price ins{ text-decoration:none; }

/* 4 ▸ Transakcja R8: od widoku produktu w głąb — różowe prostokąty */
.single-product form.cart .single_add_to_cart_button,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-checkout #place_order{
  border-radius:8px !important;
  background:var(--pl-pink,#D64F87) !important;
  border-color:var(--pl-pink,#D64F87) !important;
  color:#fff !important;
}
.single-product form.cart .single_add_to_cart_button:hover,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
.woocommerce-checkout #place_order:hover{
  background:var(--pl-pink-deep,#B93A6C) !important;
  border-color:var(--pl-pink-deep,#B93A6C) !important;
}

/* 5 ▸ Wypowiedzi klientów = Lora italic; podpis autora Oktah */
.testimonial.style-3 .testimonial-content p,
.testimonial.style-3 > p,
.etheme-testimonials .testimonial-content p{
  font-family:var(--pl-fd,'Lora',serif) !important; font-style:italic;
}
.etheme-testimonials .name, .etheme-testimonials .author-name{ font-family:var(--pl-fb,'Oktah Neue',sans-serif); font-style:normal; }

/* 6 ▸ Stopka: navy-deep → pogłębiony grafit (paleta ink-only) */
.elementor-element-plcfootc{ background-color:#1D242B !important; }
.plc-foot{ background:#1D242B !important; }

/* 7 ▸ Oddech pętli produktów (skala 4: cena↓12, CTA z powietrzem) */
.woocommerce ul.products li.product .price{ margin:10px 0 14px !important; display:block; }

/* Szary box ptaszków (szablon produktu 8548, icon-list d2f96b3/d4adee0) — mniejszy, styl Pillac (Oktah/grafit, różowy ptaszek). 2026-09-22 */
.elementor-element-d2f96b3 .etheme-icon-list-item-text,
.elementor-element-d4adee0 .etheme-icon-list-item-text{font-family:'Oktah Neue',system-ui,sans-serif !important;font-size:14px !important;line-height:1.35 !important;color:#2C363F !important;font-weight:500 !important;letter-spacing:0 !important;}
.elementor-element-d2f96b3 .etheme-icon-list-item,
.elementor-element-d4adee0 .etheme-icon-list-item{align-items:center !important;}
.elementor-element-d2f96b3 .etheme-icon-list-icon svg,
.elementor-element-d4adee0 .etheme-icon-list-icon svg,
.elementor-element-d2f96b3 .etheme-icon-list-icon i,
.elementor-element-d4adee0 .etheme-icon-list-icon i{font-size:15px !important;width:15px !important;height:15px !important;color:#D64F87 !important;}
