/* fixwoodsystem — Shop (archiwum/kategoria) Industrial Premium.
   Ładowane na stronach WooCommerce. Karta z realnym zdjęciem. */

/* eyebrow w banerze kategorii/sklepu */
.fws-cat-banner .fws-cat-eyebrow{ font-family:var(--mono); font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--signal); display:block; margin-bottom:10px; }

/* kafelki kategorii (strona Shop) */
.fws-cat-tiles{ margin:8px 0 40px; }
.fws-tiles-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px; }
.fws-tile{ position:relative; display:block; border:1px solid #e2ddd3; border-radius:var(--r); overflow:hidden; background:var(--paper); transition:transform .16s,box-shadow .16s,border-color .16s; }
.fws-tile:hover{ transform:translateY(-4px); box-shadow:0 14px 30px -18px rgba(20,22,26,.45); border-color:var(--steel-line); }
.fws-tile-img{ display:block; height:160px; background:var(--graphite) center/cover no-repeat; }
.fws-tile-img.ph{ background:var(--graphite) repeating-linear-gradient(66deg,var(--steel-line) 0 2px,transparent 2px 10px); }
.fws-tile-body{ display:flex; flex-direction:column; gap:5px; padding:16px 18px; border-top:1px solid #efeae1; }
.fws-tile-name{ font-family:var(--display); font-weight:700; font-size:17px; color:var(--ink); letter-spacing:-.01em; }
.fws-tile-meta{ font-family:var(--mono); font-size:11px; color:#7a7e83; display:flex; align-items:center; gap:6px; }
.fws-tile-arr{ color:var(--signal); transition:transform .18s; }
.fws-tile:hover .fws-tile-arr{ transform:translateX(3px); }

/* nagłówek archiwum */
.woocommerce .fws-cat-banner h1,
.woocommerce-products-header__title,
.woocommerce .page-title{ font-family:var(--display); font-weight:800; letter-spacing:-.015em; color:var(--ink); }
.woocommerce .woocommerce-result-count{ font-size:14px; color:#55585d; }
.woocommerce .woocommerce-ordering select{ font-family:var(--body); border:1px solid #d8d2c7; border-radius:var(--r); padding:8px 10px; background:#fff; color:var(--ink); }

/* siatka kart */
.woocommerce ul.products{ display:grid !important; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:18px; margin:0 !important; }
.woocommerce ul.products::before,.woocommerce ul.products::after{ content:none !important; }

/* KARTA */
.woocommerce ul.products li.product.fwsm-card{
  background:var(--paper); border:1px solid #e2ddd3; border-radius:var(--r);
  padding:0 !important; margin:0 !important; overflow:hidden; width:auto !important;
  display:flex; flex-direction:column; float:none !important;
  transition:transform .16s, box-shadow .16s, border-color .16s;
}
.fwsm-card:hover{ transform:translateY(-4px); box-shadow:0 14px 30px -18px rgba(20,22,26,.45); border-color:var(--steel-line); }
/* RÓWNE karty — pełna wysokość, foot (cena+Zobacz) zawsze na dole/jednym poziomie */
.woocommerce ul.products{ align-items:stretch; }
.woocommerce ul.products li.product.fwsm-card{ height:100%; }
/* miniatura = TYLKO zdjęcie, wycentrowane, stały box (równe karty, photo-first) */
.fwsm-card-top{ position:relative; display:flex; align-items:center; justify-content:center; background:#fff; padding:16px; border-bottom:1px solid #efeae1; }
.fwsm-card-top .pic{ display:block; width:100%; }
.fwsm-card-top .pic img{ width:100%; height:185px; object-fit:contain; display:block; margin:0 auto; }
.fwsm-card-body{ padding:16px 18px 20px; display:flex; flex-direction:column; flex:1; }
/* SKU + ETA przeniesione POD zdjęcie (czysta miniatura, info zostaje dla B2B) */
.fwsm-card-meta{ display:flex; align-items:center; gap:8px; margin-bottom:8px; min-height:16px; }
.fwsm-card-meta .art{ font-family:var(--mono); font-size:10px; color:#9a9388; letter-spacing:.04em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fwsm-card-meta .eta{ font-family:var(--mono); font-size:10px; font-weight:600; letter-spacing:.06em; background:var(--signal); color:#fff; padding:2px 7px; border-radius:3px; flex:none; }
.fwsm-card-title{ font-family:var(--display); font-weight:700; font-size:16px; letter-spacing:-.01em; line-height:1.22; margin:0 0 4px; min-height:2.6em; }
.fwsm-card-title a{ color:var(--ink) !important; }
.fwsm-card-title a:hover{ color:var(--signal) !important; }
.fwsm-card-desc{ font-size:13px; color:#54585d; margin:0 0 12px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.fwsm-card-chips{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px; }
.fwsm-card-chips .chip{ font-family:var(--mono); font-size:11px; color:#3b3e43; background:#efeae1; border:1px solid #e0dacf; border-radius:3px; padding:3px 7px; }
.fwsm-card-foot{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.fwsm-card-price{ font-family:var(--display); font-weight:700; font-size:15px; color:var(--ink); }
.fwsm-card-price .lbl{ font-family:var(--mono); font-weight:400; font-size:11px; color:#7a7e83; }
.fwsm-card-price .amount{ font-family:var(--display); }
.fwsm-card-lnk{ font-family:var(--display); font-weight:700; font-size:13px; color:var(--signal); display:inline-flex; gap:5px; align-items:center; white-space:nowrap; }
.fwsm-card-lnk .arr{ transition:transform .18s; }
.fwsm-card:hover .fwsm-card-lnk .arr{ transform:translateX(3px); }

/* sidebar filtrów (Woo widgets) — dopasowanie do palety */
.woocommerce .widget-area .widget,
.wc-block-product-categories,
.woocommerce .widget{ font-family:var(--body); }
.woocommerce .widget-area .widget-title,
.woocommerce .widget .widget-title{ font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#6b6f74; }

/* ===== PDP (single product) — 1:1 wg mockupu produkt.html ===== */
.fws-pdp{ display:grid; grid-template-columns:1.05fr 1fr; column-gap:48px; row-gap:14px; align-items:start;
	grid-template-areas:"media buy" "downloads buy"; }
.fws-pdp .pdp-media{ grid-area:media; border:1px solid #e2ddd3; border-radius:var(--r); background:#fff; overflow:hidden; padding:24px; position:relative; }
.fws-pdp .pdp-media .woocommerce-product-gallery{ float:none !important; width:auto !important; margin:0 !important; }
.fws-pdp .pdp-media img{ border-radius:2px; }
.fws-pdp .fws-pdp-buy{ grid-area:buy; }
.fws-pdp .downloads{ grid-area:downloads; display:grid; gap:8px; align-self:start; }
/* ETA-flaga na zdjęciu (mockup: prawy/lewy górny róg) — tylko mobile */
.fws-pdp .fws-eta-flag{ display:none; }
/* mobilny breadcrumb w kolumnie kupna — desktop ma globalny pasek */
.fws-pdp .fws-pdp-crumb{ display:none; }
/* ocena (gwiazdki) — styl wg mockupu; gdy brak opinii WC nic nie renderuje */
.fws-pdp .woocommerce-product-rating{ display:flex; align-items:center; gap:8px; margin:2px 0 4px; }
.fws-pdp .woocommerce-product-rating .star-rating{ margin:0; font-size:14px; }
.fws-pdp .woocommerce-product-rating .woocommerce-review-link{ font-size:12px; color:#8a8d92; }
.fws-pdp .dl{ display:flex; align-items:center; gap:12px; border:1px solid #e2ddd3; border-radius:var(--r); padding:12px 14px; background:var(--paper); transition:border-color .15s, background .15s; }
.fws-pdp .dl:hover{ border-color:var(--steel-line); background:#fff; }
.fws-pdp .dl .ext{ font-family:var(--mono); font-size:10px; font-weight:600; background:var(--graphite); color:#fff; padding:4px 7px; border-radius:3px; flex-shrink:0; }
.fws-pdp .dl-tx{ display:flex; flex-direction:column; min-width:0; }
.fws-pdp .dl .dt{ font-size:14px; font-weight:600; color:var(--ink); }
.fws-pdp .dl .ds{ font-size:12px; color:#7a7e83; }
.fws-pdp .dl .arr{ margin-left:auto; color:var(--signal); }
.fws-pdp-buy .art{ font-family:var(--mono); font-size:12px; color:#7a7e83; letter-spacing:.05em; }
.fws-pdp-buy .product_title{ font-family:var(--display); font-weight:800; font-size:clamp(26px,3vw,38px); letter-spacing:-.015em; line-height:1.05; margin:6px 0 14px; color:var(--ink); }
.fws-pdp .badges{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.fws-pdp .badge{ font-family:var(--mono); font-size:11px; color:#3a3d42; border:1px solid #d8d2c7; border-radius:20px; padding:5px 12px; display:flex; align-items:center; gap:6px; }
.fws-pdp .badge::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--signal); }
.fws-pdp .buybox{ border:1px solid #e2ddd3; border-radius:var(--r); padding:22px; background:var(--paper); }
.fws-pdp .buybox .price{ font-family:var(--display) !important; font-weight:800; font-size:30px; color:var(--ink) !important; margin:0 0 2px; }
.fws-pdp .buybox .price .amount{ font-family:var(--display); }
.fws-pdp .fws-stock{ font-size:13px; color:var(--ok); display:flex; align-items:center; gap:7px; margin:10px 0 18px; }
.fws-pdp .fws-stock::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--ok); }
/* PDP: kluczowe dane pod buyboxem (desktop) — zwięzła „Technische Daten", martwe miejsce w kolumnie */
.fws-keyspecs{ margin:18px 0 0; border-top:1px solid #e2ddd3; padding-top:14px; }
.fws-keyspecs-h{ font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#7a7e83; margin-bottom:8px; }
.fws-keyspecs .kd-row{ display:flex; justify-content:space-between; gap:14px; padding:7px 0; border-bottom:1px solid #efeae1; }
.fws-keyspecs .kd-row:last-child{ border-bottom:0; }
.fws-keyspecs dt{ font-size:13px; color:#7a7e83; margin:0; }
.fws-keyspecs dd{ font-family:var(--display); font-weight:700; font-size:13.5px; color:var(--ink); margin:0; text-align:right; }
@media(max-width:768px){ .fws-keyspecs{ display:none; } }
.fws-pdp table.variations{ margin:0 0 14px; border:0; background:none; }
.fws-pdp table.variations tr, .fws-pdp table.variations td, .fws-pdp table.variations th{ border:0; padding:0; display:block; background:none; }
.fws-pdp table.variations th.label{ font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#6b6f74; margin-bottom:8px; }
.fws-pdp .fws-var-pills{ display:none; flex-wrap:wrap; gap:7px; }  /* desktop = natywny select; pigułki tylko mobile */
/* wybór rozmiaru jako pole + bottom-sheet (tylko mobile; desktop = natywny select) */
.fws-size-field, .fws-size-sheet, .fws-size-scrim{ display:none; }
.fws-pdp .fws-var-pills .pill{ font-family:var(--mono); font-size:12px; border:1px solid #d8d2c7; border-radius:var(--r); padding:6px 10px; color:#3a3d42; background:#fff; cursor:pointer; transition:.15s; }
.fws-pdp .fws-var-pills .pill:hover{ border-color:var(--ink); }
.fws-pdp .fws-var-pills .pill.on{ background:var(--ink); color:#fff; border-color:var(--ink); }
.fws-pdp .woocommerce-variation-add-to-cart, .fws-pdp form.cart:not(.variations_form){ display:flex; gap:12px; align-items:stretch; margin-top:6px; flex-wrap:wrap; }
.fws-pdp .quantity{ display:flex; align-items:center; border:1px solid #d8d2c7; border-radius:var(--r); overflow:hidden; }
.fws-pdp .quantity input.qty{ width:54px; text-align:center; border:none; font-family:var(--mono); background:#fff; }
.fws-pdp .single_add_to_cart_button{ flex:1; font-family:var(--display) !important; font-weight:700 !important; padding:14px 22px !important; }
.fws-pdp .woocommerce-variation-price .price{ font-size:24px; }
.fws-pdp .vpe{ font-size:12px; color:#7a7e83; margin-top:12px; }
.fws-spec{ width:100%; border-collapse:collapse; max-width:680px; }
.fws-spec tr{ border-bottom:1px solid #ece7dd; }
.fws-spec th{ text-align:left; font-weight:500; color:#6b6f74; font-size:14px; padding:11px 0; width:45%; }
.fws-spec td{ font-family:var(--mono); font-size:13.5px; color:var(--ink); padding:11px 0; }
.single-product .woocommerce-tabs ul.tabs{ padding:0; border-bottom:1px solid #e2ddd3; }
.single-product .woocommerce-tabs ul.tabs::before{ border:0 !important; }
.single-product .woocommerce-tabs ul.tabs li{ background:none !important; border:none !important; margin:0 2px -1px 0 !important; }
.single-product .woocommerce-tabs ul.tabs li a{ font-family:var(--display); font-weight:700; color:#7a7e83; padding:14px 18px; }
.single-product .woocommerce-tabs ul.tabs li.active a{ color:var(--ink); border-bottom:2px solid var(--signal); }
.single-product .related.products h2{ font-family:var(--display); font-weight:800; letter-spacing:-.01em; color:var(--ink); }
@media(max-width:980px){ .fws-pdp{ grid-template-columns:1fr; gap:28px; } }

/* taby PDP — wymuszenie poziomu (Astra/WC potrafi je stackować) */
.single-product .woocommerce-tabs ul.tabs{ display:flex !important; flex-wrap:wrap; gap:2px; list-style:none; margin:0; }
.single-product .woocommerce-tabs ul.tabs li{ display:inline-block !important; float:none !important; margin:0 !important; }
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after{ display:none !important; content:none !important; }

/* rozmiar jako lista rozwijana (premium) */
.fws-pdp table.variations select{ width:100%; max-width:340px; border:1px solid #d8d2c7; border-radius:var(--r); padding:11px 12px; background:#fff; font-family:var(--body); font-size:14px; color:var(--ink); }
.fws-pdp .reset_variations{ font-size:12px; color:var(--signal); margin-left:8px; }

/* odstęp taby -> podobne produkty (nachodziły) */
.single-product .woocommerce-tabs{ margin-top:48px; margin-bottom:0; }
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel{ padding-block:28px 40px; margin-bottom:0; }
.single-product .related.products,
.single-product .upsells.products{ margin-top:56px; padding-top:44px; border-top:1px solid #e2ddd3; clear:both; }
.single-product .related.products > h2{ margin-bottom:20px; }

/* PDP: więcej powietrza wokół tabów + spójna powierzchnia (paper, bez białego boxa Astry) */
.single-product, .single-product #primary, .single-product #content,
.single-product .ast-container, .single-product .ast-article-single{ background:transparent !important; }
.single-product .woocommerce-tabs{ margin-top:64px !important; padding-top:8px; }
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel{ padding:34px 0 60px !important; background:transparent !important; }
.single-product .related.products{ margin-top:64px !important; padding-top:48px !important; }

/* ===== KATALOG: sidebar filtrów + toolbar (wg mockupu) ===== */
.woocommerce .widget-area.secondary{ border:1px solid #e2ddd3; border-radius:var(--r); background:var(--paper); position:sticky; top:90px; padding:0; overflow:hidden; }
.woocommerce .widget-area .ast-woo-sidebar-widget,
.woocommerce .widget-area .widget{ padding:18px; margin:0; border-bottom:1px solid #ece7dd; }
.woocommerce .widget-area .widget:last-child{ border-bottom:none; }
.woocommerce .widget-area .widget_shopping_cart{ display:none !important; }
.woocommerce .widget-area .widget-title,
.woocommerce .widget-area .widgettitle{ font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#6b6f74; margin:0 0 12px; padding:0; border:0; }
.woocommerce .widget_product_categories ul{ list-style:none; margin:0; padding:0; }
.woocommerce .widget_product_categories li{ padding:5px 0; border:0; }
.woocommerce .widget_product_categories li a{ font-size:14px; color:#3a3d42 !important; }
.woocommerce .widget_product_categories li a:hover{ color:var(--signal) !important; }
.woocommerce .widget_product_categories .count{ float:right; font-family:var(--mono); font-size:11px; color:#9a9388; }
.woocommerce .widget_price_filter .ui-widget-content{ background:#e2ddd3; }
.woocommerce .widget_price_filter .ui-slider .ui-slider-range{ background:var(--signal); }
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle{ background:var(--signal); border:none; }
.woocommerce .widget_price_filter .button{ background:var(--ink) !important; border:none !important; color:#fff !important; font-family:var(--display); font-weight:700; border-radius:var(--r); }
.woocommerce .widget_price_filter .price_label{ font-family:var(--mono); font-size:12px; color:var(--ink); }
/* toolbar count + sort */
.woocommerce .woocommerce-result-count{ font-size:14px; color:#55585d; margin:0 0 0; }
.woocommerce .woocommerce-result-count b, .woocommerce .woocommerce-result-count strong{ color:var(--ink); }
.woocommerce .woocommerce-ordering{ margin:0 0 18px; }
.woocommerce .woocommerce-ordering select{ font-family:var(--body); font-size:13px; border:1px solid #d8d2c7; border-radius:var(--r); padding:9px 12px; background:#fff; color:var(--ink); }

/* ===== Filtry atrybutowe (WC Layered Nav) — 1:1 wg makiety .fgroup/.check/.pills ===== */
/* lista jako wiersze typu checkbox + licznik po prawej */
.woocommerce .widget_layered_nav ul.woocommerce-widget-layered-nav-list{ list-style:none; margin:0; padding:0; }
.woocommerce .widget_layered_nav li.woocommerce-widget-layered-nav-list__item{
  display:flex; align-items:center; padding:7px 8px; margin:0 -8px; border:0;
}
.woocommerce .widget_layered_nav li.woocommerce-widget-layered-nav-list__item a{
  display:inline-flex; align-items:center; gap:10px; font-size:14px; color:#3a3d42 !important; text-decoration:none;
}
.woocommerce .widget_layered_nav li.woocommerce-widget-layered-nav-list__item a:hover{ color:var(--signal) !important; }
/* faux-checkbox */
.woocommerce .widget_layered_nav li.woocommerce-widget-layered-nav-list__item a::before{
  content:""; width:15px; height:15px; flex:none; border:1px solid #c9c3b7; border-radius:3px; background:#fff; transition:.15s;
}
.woocommerce .widget_layered_nav li.wc-layered-nav-term--chosen a::before,
.woocommerce .widget_layered_nav li.fws-chosen a::before{
  background:var(--signal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 6'/%3E%3C/svg%3E") center/11px no-repeat;
  border-color:var(--signal); box-shadow:none;
}
.woocommerce .widget_layered_nav li.wc-layered-nav-term--chosen a,
.woocommerce .widget_layered_nav li.fws-chosen a{ color:var(--ink) !important; font-weight:600; }
.woocommerce .widget_layered_nav li.woocommerce-widget-layered-nav-list__item{ border-radius:var(--r); transition:background .12s; }
.woocommerce .widget_layered_nav li.woocommerce-widget-layered-nav-list__item:hover{ background:var(--bone); }
.woocommerce .widget_layered_nav li.woocommerce-widget-layered-nav-list__item:hover a{ color:var(--signal) !important; }
.woocommerce .widget_layered_nav li.woocommerce-widget-layered-nav-list__item .count{
  margin-left:auto; float:none; font-family:var(--mono); font-size:11px; color:#9a9388;
}

/* ===== ACCORDION — zwijane grupy filtrów (premium UX, desktop + mobile) ===== */
.ast-woo-sidebar-widget .widget-title{ display:flex !important; align-items:center; justify-content:space-between; cursor:pointer; user-select:none; gap:8px; }
.ast-woo-sidebar-widget .widget-title:hover{ color:var(--ink); }
.ast-woo-sidebar-widget .widget-title .fws-acc-chev{ display:inline-flex; color:#9a9388; transition:transform .2s ease; }
.ast-woo-sidebar-widget .widget-title .fws-acc-chev svg{ width:14px; height:14px; }
.ast-woo-sidebar-widget.fws-acc-collapsed .widget-title{ margin-bottom:0 !important; }
.ast-woo-sidebar-widget.fws-acc-collapsed .widget-title .fws-acc-chev{ transform:rotate(-90deg); }
.ast-woo-sidebar-widget.fws-acc-collapsed .woocommerce-widget-layered-nav-list{ display:none !important; }

/* NAPĘD = pigułki: NIE dziedziczą stylu wierszy-checkboxów (równe, z gapem) */
#woocommerce_layered_nav-1 ul.woocommerce-widget-layered-nav-list{ display:flex; flex-wrap:wrap; gap:8px; }
#woocommerce_layered_nav-1 li.woocommerce-widget-layered-nav-list__item{ padding:0 !important; margin:0 !important; display:inline-flex; border-radius:0; }
#woocommerce_layered_nav-1 li.woocommerce-widget-layered-nav-list__item:hover{ background:none !important; }
#woocommerce_layered_nav-1 li.woocommerce-widget-layered-nav-list__item a{
  display:inline-flex; align-items:center; justify-content:center; min-width:52px; gap:0;
  font-family:var(--mono); font-size:12.5px; line-height:1; color:#3a3d42 !important;
  border:1px solid #d8d2c7; border-radius:var(--r); padding:9px 12px; background:#fff; transition:.15s;
}
#woocommerce_layered_nav-1 li.woocommerce-widget-layered-nav-list__item a::before{ display:none !important; }
#woocommerce_layered_nav-1 li.woocommerce-widget-layered-nav-list__item a:hover{ border-color:var(--ink); color:var(--ink) !important; }
#woocommerce_layered_nav-1 li.woocommerce-widget-layered-nav-list__item .count{ display:none !important; }

/* ANTRIEB (pierwszy widget) jako pigułki — bez checkboxa i licznika */
#woocommerce_layered_nav-1 ul.woocommerce-widget-layered-nav-list{ display:flex; flex-wrap:wrap; gap:7px; }
#woocommerce_layered_nav-1 li.woocommerce-widget-layered-nav-list__item{ display:inline-flex; padding:0; }
#woocommerce_layered_nav-1 li.woocommerce-widget-layered-nav-list__item a{
  font-family:var(--mono); font-size:12px; border:1px solid #d8d2c7; border-radius:var(--r);
  padding:6px 10px; color:#3a3d42 !important;
}
#woocommerce_layered_nav-1 li.woocommerce-widget-layered-nav-list__item a::before{ display:none; }
#woocommerce_layered_nav-1 li.woocommerce-widget-layered-nav-list__item .count{ display:none; }
#woocommerce_layered_nav-1 li.woocommerce-widget-layered-nav-list__item a:hover{ border-color:var(--ink); }
#woocommerce_layered_nav-1 li.wc-layered-nav-term--chosen a,
#woocommerce_layered_nav-1 li.fws-chosen a{ background:var(--ink); color:#fff !important; border-color:var(--ink); font-weight:400; }

/* kompaktowy, węższy sidebar filtrów na desktopie — JEDEN panel z grupami (wg katalog.html: 248px) */
@media(min-width:769px){
  body.woocommerce.ast-left-sidebar .ast-container{ display:flex !important; gap:36px; align-items:flex-start; }
  body.woocommerce.ast-left-sidebar #secondary.widget-area{ width:260px !important; min-width:260px; max-width:260px; flex:0 0 260px; margin:0 !important; padding:0 !important; position:sticky; top:96px; }
  body.woocommerce.ast-left-sidebar #primary{ width:auto !important; flex:1 1 auto; min-width:0; margin:0 !important; padding:0 !important; max-width:none !important; }
  /* OVERRIDE Astry: panel filtrów wypełnia całą kolumnę, produkty całą resztę (bez wewn. paddingów) */
  #secondary .sidebar-main{ width:100% !important; padding:0 !important; margin:0 !important; }
  #secondary .ast-filter-wrap{ width:100% !important; }
  body.woocommerce.ast-left-sidebar #primary > .site-main,
  body.woocommerce.ast-left-sidebar #primary .ast-woocommerce-container,
  body.woocommerce.ast-left-sidebar #primary > article{ padding:0 !important; margin:0 !important; width:100% !important; max-width:none !important; }
  body.woocommerce.ast-left-sidebar #primary ul.products{ margin:0 !important; padding:0 !important; width:100% !important; }
  /* jeden bordowany panel (.filters) */
  #secondary .ast-filter-wrap{ border:1px solid #e2ddd3; border-radius:var(--r); background:var(--paper); overflow:hidden; }
  /* grupy = .fgroup: padding + separator między nimi, bez osobnych boxów */
  #secondary .ast-woo-sidebar-widget{ border:0 !important; border-radius:0 !important; background:none !important; padding:18px !important; margin:0 !important; }
  #secondary .ast-woo-sidebar-widget + .ast-woo-sidebar-widget{ border-top:1px solid #ece7dd !important; }
  #secondary .ast-woo-sidebar-widget .widget-title{ font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#6b6f74; margin:0 0 12px; }
  /* stopka Wyczyść/Pokaż pod panelem */
  #secondary .fws-sheet-foot{ margin-top:14px; padding-top:0; border-top:0; }
}

/* aktywne filtry (chips) nad listą, jeśli się pojawią */
.woocommerce .widget_layered_nav_filters ul{ list-style:none; margin:0 0 4px; padding:0; display:flex; flex-wrap:wrap; gap:6px; }
.woocommerce .widget_layered_nav_filters li a{ font-family:var(--mono); font-size:11px; color:#3a3d42 !important; border:1px solid #e0dacf; background:#efeae1; border-radius:3px; padding:3px 8px 3px 22px; position:relative; }
.woocommerce .widget_layered_nav_filters li a::before{ content:"✕"; position:absolute; left:8px; color:var(--signal); }

/* ===== Strona "Sklep" = przegląd kategorii (nawigacja): tylko kafelki =====
   Bez listy produktów, toolbara i paginacji (te są dopiero w katalogu kategorii). */
body.woocommerce-shop ul.products,
body.woocommerce-shop nav.woocommerce-pagination,
body.woocommerce-shop .woocommerce-result-count,
body.woocommerce-shop .woocommerce-ordering,
body.woocommerce-shop .woocommerce-notices-wrapper:empty{ display:none !important; }
/* kafelki kategorii = główna treść: pełna szerokość, oddech jak w reszcie sklepu */
body.woocommerce-shop .fws-cat-tiles{ margin-top:4px; }
body.woocommerce-shop .fws-tiles-grid{ grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:20px; }

/* ============================================================
   LOGIN / AUTH — form-login.php (1:1 mockup login.html)
   Full-bleed split: ciemny aside | auth-card z tabami
   ============================================================ */
/* wyłamanie z kontenera Astra na stronie logowania (gość) */
body.woocommerce-account:not(.logged-in) #content > .ast-container,
body.woocommerce-account:not(.logged-in) #primary,
body.woocommerce-account:not(.logged-in) #primary > .ast-article-single,
body.woocommerce-account:not(.logged-in) .entry-content,
body.woocommerce-account:not(.logged-in) .woocommerce{
  display:block !important; width:100% !important; max-width:none !important;
  margin:0 !important; padding:0 !important; border:0 !important;
}
body.woocommerce-account:not(.logged-in) .entry-header,
body.woocommerce-account:not(.logged-in) .ast-archive-description,
body.woocommerce-account:not(.logged-in) .entry-title,
body.woocommerce-account:not(.logged-in) .page-title{ display:none !important; }
body.woocommerce-account:not(.logged-in) .woocommerce-notices-wrapper:not(:empty){
  max-width:var(--maxw); margin:18px auto 0; padding-inline:var(--pad);
}

/* form utilities (współdzielone: auth, checkout, kontakt) */
.field{ margin-bottom:14px; } .field.full{ grid-column:1/-1; }
.field label{ display:block; font-size:12px; font-weight:600; color:#55585d; margin-bottom:6px; }
.field input, .field select, .field textarea{
  width:100%; font-family:var(--body); font-size:14px; border:1px solid #d8d2c7;
  border-radius:var(--r); padding:11px 12px; background:#fff; color:var(--ink);
  outline:none; transition:border-color .15s; box-shadow:none;
}
.field textarea{ min-height:128px; resize:vertical; }
.field input:focus, .field select:focus, .field textarea:focus{ border-color:var(--signal); }
.check{ display:flex; align-items:center; gap:10px; font-size:13px; padding:5px 0; color:#3a3d42; }
.check input{ accent-color:var(--signal); width:15px; height:15px; }
.toggle-row{ display:flex; gap:8px; margin-bottom:18px; }
.seg{ flex:1; border:1px solid #d8d2c7; border-radius:var(--r); padding:10px; text-align:center; font-size:13px; font-weight:600; color:#55585d; cursor:pointer; user-select:none; }
.seg.on{ border-color:var(--signal); color:var(--ink); background:#fff; }
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:9px; font-family:var(--display); font-weight:700; font-size:14px; background:var(--signal); color:#fff !important; padding:12px 20px; border-radius:var(--r); border:none; cursor:pointer; transition:background .18s, transform .1s; text-decoration:none; }
.btn:hover{ background:var(--signal-deep); color:#fff !important; }
.btn:active{ transform:translateY(1px); }
.btn .arr{ transition:transform .18s; }
.btn:hover .arr{ transform:translateX(3px); }
.btn-block{ width:100%; }

/* auth layout */
.auth{ display:grid; grid-template-columns:1fr 1fr; min-height:calc(100vh - 72px); }
.auth-aside{ background:var(--graphite); color:var(--bone); padding:clamp(36px,5vw,72px); display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; }
.auth-aside .thread{ position:absolute; inset:0; background-image:repeating-linear-gradient(66deg,var(--steel-line) 0 2px,transparent 2px 13px); opacity:.25; }
.auth-aside .inner{ position:relative; max-width:420px; }
.auth-aside .eyebrow{ font-family:var(--mono); font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--signal); }
.auth-aside h2{ font-family:var(--display); font-weight:900; font-size:clamp(28px,3vw,44px); line-height:1.02; letter-spacing:-.02em; margin:18px 0 16px; color:var(--bone); }
.auth-aside p{ color:var(--zinc); font-size:15px; max-width:38ch; }
.auth-aside ul{ list-style:none; margin:28px 0 0; padding:0; display:grid; gap:12px; }
.auth-aside li{ font-family:var(--mono); font-size:13px; color:var(--zinc); display:flex; gap:10px; align-items:center; }
.auth-aside li::before{ content:""; width:7px; height:7px; background:var(--signal); border-radius:50%; flex:none; }
.auth-main{ display:flex; align-items:center; justify-content:center; padding:clamp(28px,4vw,56px); background:var(--paper); }
.auth-card{ width:100%; max-width:420px; }
.authtabs{ display:flex; border:1px solid #d8d2c7; border-radius:var(--r); overflow:hidden; margin-bottom:24px; }
.authtabs button{ flex:1; background:#fff; border:none; font-family:var(--display); font-weight:700; font-size:14px; color:#7a7e83; padding:12px; cursor:pointer; }
.authtabs button + button{ border-left:1px solid #d8d2c7; }
.authtabs button.on{ background:var(--ink); color:#fff; }
.authpane{ display:none; } .authpane.on{ display:block; }
/* oczko pokaż/ukryj hasło (wg makiety) — natywne WC (.show-password-input, ciemne) ukryte, zostaje nasze */
.auth .show-password-input{ display:none !important; }
.fws-pw-wrap{ position:relative; display:block; }
.fws-pw-wrap input{ width:100%; padding-right:44px; }
.fws-eye{ position:absolute; right:10px; top:50%; transform:translateY(-50%); background:none; border:0; color:#9a9388; padding:4px; cursor:pointer; display:inline-flex; line-height:0; }
.fws-eye svg{ width:18px; height:18px; }
.fws-eye:hover, .fws-eye.on{ color:var(--ink); }
.auth-row{ display:flex; justify-content:space-between; align-items:center; margin:6px 0 18px; }
.forgot{ font-size:13px; color:var(--signal); } .forgot:hover{ text-decoration:underline; }
.authmeta{ font-size:13px; color:#7a7e83; margin-top:18px; text-align:center; }
/* B2Bking User Type dropdown — sterowany przez segmentowany toggle, ukryty */
.auth .b2bking_registration_roles_dropdown_section{ display:none !important; }
/* czerwona gwiazdka pola obowiązkowego + linki w zgodzie */
.req{ color:#d22; font-weight:700; }
.check-terms{ align-items:flex-start; line-height:1.4; }
.check-terms a{ color:var(--signal); text-decoration:underline; }
.check-terms a:hover{ color:var(--signal-deep); }
/* status walidacji VIES */
.vies-status{ font-family:var(--mono); font-size:12px; margin-top:6px; min-height:1em; color:#7a7e83; }
.vies-status.is-ok{ color:var(--ok); }
.vies-status.is-bad{ color:#c0392b; }
.vies-status.is-warn{ color:var(--timber); }
.vies-status.is-ok::before{ content:"✓ "; }
.vies-status.is-bad::before{ content:"✕ "; }

@media(max-width:900px){
  .auth{ grid-template-columns:1fr; min-height:0; }
  /* wg mockup/Mobile/mobile-anmelden: ciemny hero „Geschäftskonto" NA GÓRZE (nie ukryty), nad formularzem */
  .auth-aside{ display:flex; padding:46px 22px 28px; }
  .auth-aside .inner{ max-width:none; }
  .auth-aside h2{ font-size:30px; line-height:1.0; margin:10px 0 12px; }
  .auth-aside p{ font-size:13.5px; line-height:1.5; }
  .auth-aside ul{ margin-top:18px; gap:9px; }
  .auth-aside li{ font-size:12px; }
  .auth-main{ padding:20px 22px 32px; }
}

/* ============================================================
   STANDARD KONTENERA podstron sklepu (TRZYMAĆ SIĘ GO ZAWSZE):
   szerokość treści = header/footer. Lewa krawędź = logo, prawa = ostatnia
   ikona w headerze. Mechanizm: wyłamujemy cały łańcuch Astra do pełnej
   szerokości, a treść + tytuł centrujemy do --maxw + --pad.
   ============================================================ */
/* 1) Wyłamujemy łańcuch treści Astra do pełnej szerokości (bez paska tytułu) */
body.woocommerce-cart #content > .ast-container,
body.woocommerce-cart #primary,
body.woocommerce-cart .site-main,
body.woocommerce-cart .ast-article-single,
body.woocommerce-cart .entry-content,
body.woocommerce-checkout #content > .ast-container,
body.woocommerce-checkout #primary,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout .ast-article-single,
body.woocommerce-checkout .entry-content {
	max-width: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding-inline: 0 !important;
}
/* 2) Treść WC wyrównana do standardu (--maxw + --pad) */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
	max-width: var(--maxw) !important;
	margin-inline: auto !important;
	padding-inline: var(--pad) !important;
	box-sizing: border-box;
}
/* 3) Tytuł Astra (Warenkorb/Kasse) w .entry-header — wyrównany do standardu + oddech nad tytułem */
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header {
	max-width: var(--maxw) !important;
	margin-inline: auto !important;
	padding-inline: var(--pad) !important;
	padding-top: 64px !important;
	box-sizing: border-box;
}

/* 4) KATALOG (archiwum sklepu, kategorie, tagi) + PDP (karta produktu):
   sidebar + treść siedzą w .ast-container (#secondary + #primary). Centrujemy
   CAŁY kontener do standardu (--maxw + --pad) — wyrównanie do header/footer,
   identycznie jak .wrap catalog w makiecie katalog.html. */
body.post-type-archive-product #content > .ast-container,
body.tax-product_cat #content > .ast-container,
body.tax-product_tag #content > .ast-container,
body.single-product #content > .ast-container {
	max-width: var(--maxw) !important;
	margin-inline: auto !important;
	padding-inline: var(--pad) !important;
	box-sizing: border-box;
}

/* ============================================================
   WARENKORB / KOSZYK — cart (premium wg mockup koszyk.html)
   shop.css ładuje się na is_cart() — styling istniejącego WC
   ============================================================ */
.woocommerce-cart .woocommerce{ display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:28px; align-items:start; }
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper{ grid-column:1 / -1; }
.woocommerce-cart form.woocommerce-cart-form{ grid-column:1; min-width:0; }
.woocommerce-cart .cart-collaterals{ grid-column:2; width:100% !important; float:none !important; }
.woocommerce-cart .cart-collaterals .cross-sells{ display:none; }

/* lista pozycji — czytelne wiersze (override cart.php, zamiast surowej tabeli) */
.fws-cart-list{ border:1px solid #e2ddd3; border-radius:var(--r); background:var(--paper); overflow:hidden; }
.fws-cart-item{ display:grid; grid-template-columns:88px minmax(0,1fr) 90px auto 100px 24px; align-items:center; gap:20px; padding:20px 22px; border-top:1px solid #efeae1; }
.fws-cart-item:first-child{ border-top:0; }
.fws-cart-item .ci-thumb img{ width:88px; height:88px; object-fit:contain; background:#fff; border:1px solid #efeae1; border-radius:var(--r); display:block; }
.fws-cart-item .ci-info{ min-width:0; }
.fws-cart-item .ci-name{ font-family:var(--display); font-weight:700; font-size:16px; line-height:1.25; color:var(--ink) !important; text-decoration:none; display:block; }
.fws-cart-item .ci-name:hover{ color:var(--signal) !important; }
.fws-cart-item .ci-meta{ font-family:var(--body); font-size:12.5px; color:#7a7e83; margin-top:5px; }
.fws-cart-item .ci-meta dl, .fws-cart-item .ci-meta p{ margin:2px 0 0; }
.fws-cart-item .ci-meta dt, .fws-cart-item .ci-meta dd{ display:inline; margin:0; font-weight:400; }
.fws-cart-item .ci-meta .wc-gzd-additional-info, .fws-cart-item .ci-meta .delivery-time-info, .fws-cart-item .ci-meta .price-unit{ display:block; margin-top:3px; }
.fws-cart-item .ci-price{ font-family:var(--display); font-weight:600; font-size:14px; color:#7a7e83; white-space:nowrap; text-align:right; }
.fws-cart-item .ci-subtotal{ font-family:var(--display); font-weight:800; font-size:17px; color:var(--ink); white-space:nowrap; text-align:right; }
.fws-cart-item .ci-subtotal .amount{ font-family:var(--display); }
.fws-cart-item .ci-qty{ justify-self:center; }
.fws-cart-item .ci-qty .quantity{ margin:0; }
.fws-cart-item .ci-qty input.qty{ font-family:var(--body); border:1px solid #d8d2c7; border-radius:var(--r); padding:9px 6px; width:60px; text-align:center; background:#fff; color:var(--ink); }
.fws-cart-item .ci-remove{ justify-self:center; }
.fws-cart-item .ci-remove a.remove{ color:#b9b2a6 !important; font-size:20px; font-weight:400; line-height:1; text-decoration:none; display:inline-block; }
.fws-cart-item .ci-remove a.remove:hover{ color:var(--signal) !important; background:none !important; }

/* pasek akcji (kupon + nawigacja) */
.fws-cart-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:18px 22px; border-top:1px solid #efeae1; }
.fws-cart-actions .coupon{ display:flex; gap:8px; flex:1; min-width:240px; }
.fws-cart-actions .coupon input#coupon_code{ font-family:var(--body); border:1px solid #d8d2c7; border-radius:var(--r); padding:11px 12px; background:#fff; flex:1; min-width:0; }

/* domyślnie ukryte — pojawiają się tylko na mobile (desktop koszyk bez zmian) */
.fws-cart-item .ci-remove a.remove .rm-label{ display:none; }
.fws-cart-item .ci-qty .fws-step{ display:none; }
.woocommerce-cart .wc-proceed-to-checkout a.fws-summary-continue{ display:none; }
.woocommerce-cart .fws-cart-head{ display:none; }

@media(max-width:768px){
  /* nagłówek sekcji „ARTIKEL · N" (mono caps, spójny z etykietami marki) */
  .woocommerce-cart .fws-cart-head{ display:block; font-family:var(--mono); font-size:11px; letter-spacing:.12em;
    text-transform:uppercase; color:#6b6f74; margin:2px 0 2px; }
  /* mockup mobile: bez karty z ramką — wiersze rozdzielone linią, w obrębie paddingu treści */
  .fws-cart-list{ border:0 !important; border-radius:0 !important; background:none !important; overflow:visible; }
  /* pozycja wg mockup/Mobile/mobile-koszyk.html: miniatura + info + (✕ Entfernen) → wiersz ilość + suma */
  .fws-cart-item{ grid-template-columns:56px minmax(0,1fr) auto;
    grid-template-areas:"thumb info info" "thumb remove remove" "thumb qty subtotal";
    gap:6px 12px; padding:16px 0; align-items:center; border-top:1px solid #ece7dd; }
  .fws-cart-item:first-child{ border-top:0; padding-top:4px; }
  .fws-cart-item .ci-thumb{ grid-area:thumb; align-self:start; }
  .fws-cart-item .ci-thumb img{ width:56px; height:56px; }
  .fws-cart-item .ci-info{ grid-area:info; align-self:start; min-width:0; }
  .fws-cart-item .ci-name{ font-size:14.5px; }
  .fws-cart-item .ci-price{ display:none; }            /* mockup mobile pokazuje tylko sumę pozycji */
  .fws-cart-item .ci-remove{ grid-area:remove; justify-self:start; align-self:center; }
  /* skasuj „kuleczko" (okrągłą obwódkę × z motywu) — czysty tekst „✕ Entfernen" */
  .fws-cart-item .ci-remove a.remove{ width:auto !important; height:auto !important; min-width:0 !important;
    border:0 !important; background:none !important; border-radius:0 !important; box-shadow:none !important;
    text-indent:0 !important; line-height:1 !important; font-size:12px !important; color:#9a9388 !important;
    display:inline-flex; align-items:center; gap:6px; }
  .fws-cart-item .ci-remove a.remove::before, .fws-cart-item .ci-remove a.remove::after{ content:none !important; }
  .fws-cart-item .ci-remove a.remove .rm-label{ display:inline; font-family:var(--body); }
  .fws-cart-item .ci-qty{ grid-area:qty; justify-self:start; align-self:center; }
  .fws-cart-item .ci-subtotal{ grid-area:subtotal; align-self:center; justify-self:end; font-size:16px; white-space:nowrap; padding-left:8px; }

  /* stepper ilości (− [input] +) */
  .fws-cart-item .ci-qty .quantity{ display:inline-flex; align-items:center; border:1px solid #d8d2c7; border-radius:var(--r); overflow:hidden; }
  .fws-cart-item .ci-qty input.qty{ width:42px; height:34px; border:none; border-inline:1px solid #d8d2c7; border-radius:0;
    padding:0; text-align:center; font-family:var(--mono); font-size:14px; background:#fff; -moz-appearance:textfield; }
  .fws-cart-item .ci-qty input.qty::-webkit-outer-spin-button,
  .fws-cart-item .ci-qty input.qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
  .fws-cart-item .ci-qty .fws-step{ width:34px; height:34px; border:none; background:#fff; color:var(--ink);
    font-size:17px; line-height:1; display:inline-flex; align-items:center; justify-content:center; }
  .fws-cart-item .ci-qty .fws-step:active{ background:#f0ece3; }

  /* pasek akcji (kupon/aktualizuj/weiter) zbędny na mobile — auto-update + przyciski w podsumowaniu */
  .woocommerce-cart .fws-cart-actions{ display:none; }
  /* „Weiter einkaufen" w podsumowaniu (ghost), pod „Zur Kasse" — nadpisanie pomarańczowego .button */
  .woocommerce-cart .wc-proceed-to-checkout a.fws-summary-continue{ display:flex; align-items:center; justify-content:center; width:100%; margin-top:9px;
    font-family:var(--display); font-weight:700; font-size:14px; border-radius:var(--r); padding:13px 18px;
    background:transparent !important; color:var(--ink) !important; border:1px solid #d8d2c7 !important; }
  .woocommerce-cart .wc-proceed-to-checkout a.fws-summary-continue:hover{ background:transparent !important; color:var(--ink) !important; border-color:var(--ink) !important; }
}

/* podsumowanie (cart_totals) = .summary z mockupu */
.woocommerce-cart .cart_totals{ width:100% !important; max-width:none !important; float:none !important; background:var(--paper); border:1px solid #e2ddd3; border-radius:var(--r); padding:24px 24px 26px; position:sticky; top:96px; box-sizing:border-box; }
.woocommerce-cart .cart_totals h2{ font-family:var(--display); font-weight:800; font-size:20px; letter-spacing:-.01em; margin:0 0 16px; padding-bottom:14px; border-bottom:1px solid #e2ddd3; }
.woocommerce-cart .cart_totals table{ border:0 !important; margin:0; }
.woocommerce-cart .cart_totals table{ table-layout:auto !important; width:100% !important; }
.woocommerce-cart .cart_totals table th, .woocommerce-cart .cart_totals table td{ border:0 !important; border-top:1px solid #efeae1 !important; padding:11px 0 !important; font-size:14px; color:#54585d; background:transparent; white-space:nowrap; }
.woocommerce-cart .cart_totals table th{ text-align:left; font-weight:600; width:auto; }
.woocommerce-cart .cart_totals table td{ text-align:right; width:1%; padding-left:14px !important; }
.woocommerce-cart .cart_totals table .includes_tax, .woocommerce-cart .cart_totals small{ font-weight:400; color:#7a7e83; }
.woocommerce-cart .cart_totals table tr:first-child th, .woocommerce-cart .cart_totals table tr:first-child td{ border-top:0 !important; }
.woocommerce-cart .cart_totals .order-total th{ font-family:var(--display); font-weight:800; color:var(--ink); font-size:15px; }
.woocommerce-cart .cart_totals .order-total .amount{ font-family:var(--display); font-weight:800; font-size:20px; color:var(--ink); }
.woocommerce-cart .cart_totals tr.fws-shipping-pending td{ color:#9a9388; font-size:13px; }
.woocommerce-cart .fws-cart-note{ font-size:12px; color:#7a7e83; line-height:1.5; margin:14px 0 0; }
.woocommerce-cart .wc-proceed-to-checkout{ padding:18px 0 0 !important; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{ display:flex !important; align-items:center; justify-content:center; width:100%; font-family:var(--display); font-weight:700; font-size:15px; background:var(--signal); color:#fff; padding:14px 20px; border-radius:var(--r); }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{ background:var(--signal-deep); }

@media(max-width:900px){
  .woocommerce-cart .woocommerce{ grid-template-columns:1fr; }
  .woocommerce-cart form.woocommerce-cart-form, .woocommerce-cart .cart-collaterals{ grid-column:1; }
  .woocommerce-cart .cart_totals{ position:static; }
}

/* ============================================================
   KASSE / KASA — checkout (premium wg mockup kasa.html)
   UWAGA: Germanized/B2Bking/gateway kontrolują logikę — tylko styl
   ============================================================ */
/* siatka 2-kол: LEWO (billing+płatność) | PRAWO (sticky podsumowanie) */
.woocommerce-checkout .fws-co-grid{ display:grid; grid-template-columns:minmax(0,1fr) 400px; gap:40px; align-items:start; }
.woocommerce-checkout .fws-co-main{ min-width:0; }
.woocommerce-checkout #customer_details.col2-set{ display:block; width:100% !important; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2{ width:100% !important; max-width:none !important; float:none !important; margin:0; }
.woocommerce-checkout #customer_details .col-2:empty{ display:none; }
.woocommerce-checkout .fws-co-payment{ margin-top:30px; }
.woocommerce-checkout .fws-co-side{ position:sticky; top:96px; }
.woocommerce-checkout #order_review{ width:100% !important; max-width:none !important; float:none !important; background:var(--paper); border:1px solid #e2ddd3; border-radius:var(--r); padding:22px 24px; box-sizing:border-box; }

/* nagłówki sekcji */
.woocommerce-checkout .fws-co-main h3,
.woocommerce-checkout .fws-co-payment h3,
.woocommerce-checkout #order_review_heading{ font-family:var(--display); font-weight:800; font-size:18px; letter-spacing:-.01em; margin:0 0 16px; color:var(--ink); }

/* pola formularza = .field z mockupu */
.woocommerce-checkout .form-row{ padding:0; margin:0 0 14px; }
.woocommerce-checkout .form-row label{ display:block; font-size:12px; font-weight:600; color:#55585d; margin-bottom:6px; }
.woocommerce-checkout .form-row .required{ color:#d22; border:0; }
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single{
  width:100%; font-family:var(--body); font-size:14px; border:1px solid #d8d2c7; border-radius:var(--r);
  padding:11px 12px; background:#fff; color:var(--ink); outline:none; transition:border-color .15s; height:auto; box-shadow:none;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus{ border-color:var(--signal); }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{ line-height:1.4; padding:0; color:var(--ink); }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{ top:8px; }
.woocommerce-checkout .woocommerce-input-wrapper{ width:100%; }
/* układ 2-kolumnowy pól (wykorzystuje szerokość) */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{ display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row{ grid-column:1 / -1; margin-bottom:14px; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row.form-row-first{ grid-column:1 / 2; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row.form-row-last{ grid-column:2 / 3; }
.woocommerce-checkout .woocommerce-additional-fields{ margin-top:6px; }

/* metody płatności = radio-cards z mockupu */
.woocommerce-checkout #payment{ background:transparent; border-radius:0; }
/* płatność + przycisk wewnątrz prawego boxu — oddzielone od pozycji */
.woocommerce-checkout #order_review #payment{ margin-top:18px; padding-top:18px; border-top:1px solid #e2ddd3; }
.woocommerce-checkout #order_review #payment .place-order{ padding:0; margin-top:6px; }
.woocommerce-checkout #payment ul.payment_methods{ border:0; background:transparent; padding:0; margin:0 0 14px; }
.woocommerce-checkout #payment ul.payment_methods li{ border:1px solid #d8d2c7; border-radius:var(--r); background:#fff; padding:14px 16px; margin:0 0 10px; list-style:none; }
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked){ border-color:var(--signal); box-shadow:inset 0 0 0 1px var(--signal); }
.woocommerce-checkout #payment ul.payment_methods li label{ font-family:var(--display); font-weight:700; font-size:14px; color:var(--ink); display:inline; }
.woocommerce-checkout #payment ul.payment_methods li .payment_box{ background:transparent; font-size:13px; color:#54585d; margin-top:8px; }
.woocommerce-checkout #payment ul.payment_methods li .payment_box::before{ display:none; }
.woocommerce-checkout #payment input[type=radio]{ accent-color:var(--signal); }

/* podsumowanie — pozycje (czyste wiersze) + sumy */
.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table{ width:100% !important; max-width:100%; border:0 !important; border-collapse:collapse; margin:0; }
.woocommerce-checkout #order_review td, .woocommerce-checkout #order_review th{ border:0 !important; background:transparent; overflow-wrap:anywhere; }
.woocommerce-checkout #order_review td.product-total, .woocommerce-checkout #order_review tfoot td{ width:84px; }
.woocommerce-checkout .fws-or-item td{ padding:12px 0; border-bottom:1px solid #efeae1 !important; vertical-align:top; }
.woocommerce-checkout .fws-or-item td.product-total{ text-align:right; font-family:var(--display); font-weight:700; color:var(--ink); white-space:nowrap; }
.woocommerce-checkout .fws-or-item .product-name{ display:flex; gap:12px; min-width:0; }
.woocommerce-checkout .or-thumb{ flex:0 0 auto; }
.woocommerce-checkout .or-thumb img{ width:46px; height:46px; object-fit:contain; background:#fff; border:1px solid #efeae1; border-radius:var(--r); display:block; max-width:none; }
.woocommerce-checkout .or-info{ min-width:0; flex:1 1 auto; display:block; }
.woocommerce-checkout .or-name{ font-family:var(--display); font-weight:700; font-size:13.5px; color:var(--ink); line-height:1.25; overflow-wrap:anywhere; }
.woocommerce-checkout .or-qty{ font-family:var(--mono); font-size:12px; color:#7a7e83; margin-left:4px; }
.woocommerce-checkout .or-meta{ font-size:12px; color:#7a7e83; margin-top:4px; }
.woocommerce-checkout .or-meta dl.variation{ display:flex; flex-wrap:wrap; gap:3px 6px; margin:0; }
.woocommerce-checkout .or-meta dl.variation dt{ font-weight:600; margin:0; }
.woocommerce-checkout .or-meta dl.variation dd{ margin:0; }
.woocommerce-checkout .or-meta dl.variation dd p{ margin:0; display:inline; }
.woocommerce-checkout .or-meta, .woocommerce-checkout .or-meta *{ font-size:12px; color:#7a7e83; }
.woocommerce-checkout #order_review tfoot th{ text-align:left; font-weight:600; font-size:13.5px; color:#54585d; padding:10px 0; border-top:1px solid #efeae1 !important; white-space:nowrap; vertical-align:top; }
.woocommerce-checkout #order_review tfoot td{ text-align:right; font-size:13.5px; color:#54585d; padding:10px 0; border-top:1px solid #efeae1 !important; white-space:normal; vertical-align:top; }
/* sama kwota w jednej linii, ale notka podatkowa „(inkl. MwSt.)" (DE) i nazwy wysyłki ZAWIJAJĄ — nigdy poza ramkę (1 standard dla DE/EN/PL) */
.woocommerce-checkout #order_review tfoot td .woocommerce-Price-amount{ white-space:nowrap; }
.woocommerce-checkout #order_review tfoot td small,
.woocommerce-checkout #order_review tfoot td .includes_tax,
.woocommerce-checkout #order_review tfoot td .tax_label{ display:block; font-size:11px; font-weight:400; color:#7a7e83; white-space:normal; margin-top:2px; }
.woocommerce-checkout #order_review tfoot tr:first-child th, .woocommerce-checkout #order_review tfoot tr:first-child td{ border-top:0 !important; }
.woocommerce-checkout #order_review tfoot .order-total th{ font-family:var(--display); font-weight:800; color:var(--ink); font-size:15px; }
.woocommerce-checkout #order_review tfoot .order-total td{ font-family:var(--display); font-weight:800; font-size:19px; color:var(--ink); }
.woocommerce-checkout #order_review .fws-shipping-pending td{ color:#9a9388; }

/* przycisk zamówienia */
.woocommerce-checkout #place_order, .woocommerce-checkout .wc-block-components-checkout-place-order-button{ width:100%; font-family:var(--display); font-weight:700; font-size:15px; background:var(--signal) !important; color:#fff !important; padding:14px 20px; border-radius:var(--r); border:0; margin-top:8px; }
.woocommerce-checkout #place_order:hover{ background:var(--signal-deep) !important; }

/* checkboxy prawne (Germanized AGB itd.) */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper, .woocommerce-checkout .wc-gzd-checkbox-placeholder{ font-size:13px; color:#54585d; }

@media(max-width:900px){
  .woocommerce-checkout .fws-co-grid{ grid-template-columns:1fr; gap:28px; }  /* (martwa klasa) */
  .woocommerce-checkout .fws-co-side{ position:static; }
}

/* ===== Koszyk/Checkout — auto-update, nawigacja, drobny polish ===== */
/* auto-update → ukrywamy ręczny przycisk */
.woocommerce-cart button[name="update_cart"]{ display:none !important; }
/* „Weiter einkaufen" jako ghost button w akcjach koszyka */
.woocommerce-cart a.fws-continue-shopping{ display:inline-flex; align-items:center; justify-content:center; font-family:var(--display); font-weight:700; font-size:14px; color:#fff !important; background:var(--signal); border:0; border-radius:var(--r); padding:12px 20px; text-decoration:none; }
.woocommerce-cart a.fws-continue-shopping:hover{ background:var(--signal-deep); color:#fff !important; }
/* „Zurück zum Warenkorb" na checkout */
.woocommerce-checkout .fws-back-to-cart{ display:inline-flex; align-items:center; gap:6px; font-family:var(--display); font-weight:700; font-size:13px; color:var(--signal) !important; text-decoration:none; margin-bottom:14px; }
.woocommerce-checkout .fws-back-to-cart:hover{ color:var(--signal-deep) !important; }
/* pasek kroków (wg mockup kasa.html) */
.woocommerce-checkout .fws-steps{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:0 0 28px; }
.woocommerce-checkout .fws-step{ font-family:var(--mono); font-size:12px; color:#9a9388; display:flex; align-items:center; gap:8px; }
.woocommerce-checkout .fws-step b{ width:22px; height:22px; border-radius:50%; border:1px solid #d8d2c7; display:flex; align-items:center; justify-content:center; font-weight:600; }
.woocommerce-checkout .fws-step.on{ color:var(--ink); }
.woocommerce-checkout .fws-step.on b{ background:var(--signal); border-color:var(--signal); color:#fff; }
.woocommerce-checkout .fws-sep{ width:24px; height:1px; background:#d8d2c7; }
/* nagłówek podsumowania w order_review */
.woocommerce-checkout #order_review_heading{ white-space:normal; font-size:18px; }

/* ============================================================
   CHECKOUT v2 — 1:1 mockup kasa.html (blok nadpisujący)
   LEWO: fieldsety (Rechnungsadresse + Zahlungsart) | PRAWO: .summary
   ============================================================ */
/* fieldset karty */
.woocommerce-checkout fieldset.fws-fs{ border:1px solid #e2ddd3; border-radius:var(--r); padding:22px; margin:0 0 20px; background:var(--paper); }
.woocommerce-checkout fieldset.fws-fs > legend{ font-family:var(--display); font-weight:800; font-size:16px; padding:0 8px; margin-left:-8px; width:auto; color:var(--ink); }
.woocommerce-checkout fieldset.fws-fs #customer_details{ margin:0; }
.woocommerce-checkout .fws-pay-note{ font-size:12.5px; color:#7a7e83; margin:14px 0 0; }

/* prawa kolumna = jeden box .summary (pozycje + sumy + przycisk) */
.woocommerce-checkout #order_review{ background:transparent !important; border:0 !important; padding:0 !important; margin:0 !important; }
.woocommerce-checkout .fws-summary{ background:var(--paper); border:1px solid #e2ddd3; border-radius:var(--r); padding:22px 24px; box-sizing:border-box; }
.woocommerce-checkout .fws-summary > h3#order_review_heading{ font-family:var(--display); font-weight:800; font-size:18px; letter-spacing:-.01em; margin:0 0 14px; color:var(--ink); }

/* metody płatności jako radio-cards (mockup .radio-card) */
.woocommerce-checkout #payment ul.payment_methods{ list-style:none; margin:0; padding:0; display:grid; gap:10px; border:0; background:transparent; }
.woocommerce-checkout #payment ul.payment_methods > li{ border:1px solid #d8d2c7; border-radius:var(--r); background:#fff; padding:14px 16px; margin:0; display:flex; flex-wrap:wrap; align-items:flex-start; gap:10px; }
.woocommerce-checkout #payment ul.payment_methods > li:has(input:checked){ border-color:var(--signal); }
.woocommerce-checkout #payment ul.payment_methods > li > input[type=radio]{ margin:3px 0 0; accent-color:var(--signal); flex:0 0 auto; width:16px; height:16px; }
.woocommerce-checkout #payment ul.payment_methods > li > label{ font-family:var(--display); font-weight:700; font-size:14px; color:var(--ink); margin:0; flex:1 1 auto; display:inline-flex; align-items:center; gap:8px; cursor:pointer; }
.woocommerce-checkout #payment ul.payment_methods > li > label img{ max-height:22px; width:auto; margin-left:auto; }
.woocommerce-checkout #payment ul.payment_methods > li .payment_box{ flex-basis:100%; font-size:12.5px; color:#7a7e83; background:transparent; margin:4px 0 0; padding:0; }
.woocommerce-checkout #payment ul.payment_methods > li .payment_box::before{ display:none !important; }
.woocommerce-checkout #payment .wc_payment_method > label::after{ content:none; }

/* zgody prawne + przycisk w summary */
.woocommerce-checkout .fws-summary .place-order{ padding:0; margin:16px 0 0; width:auto; }
.woocommerce-checkout .fws-summary .woocommerce-terms-and-conditions-wrapper,
.woocommerce-checkout .fws-summary .wc-gzd-checkbox-placeholder,
.woocommerce-checkout .fws-summary .woocommerce-additional-fields__field-wrapper{ font-size:13px; color:#54585d; margin-bottom:14px; }
.woocommerce-checkout .fws-summary #place_order{ width:100%; font-family:var(--display); font-weight:700; font-size:15px; background:var(--signal) !important; color:#fff !important; padding:14px 20px; border-radius:var(--r); border:0; float:none; }
.woocommerce-checkout .fws-summary #place_order:hover{ background:var(--signal-deep) !important; }

/* ============================================================
   CHECKOUT v3 — natywna struktura WC/Germanized (przycisk działa)
   2-кол: LEWO dane | PRAWO jeden czysty BIAŁY panel zamówienia (sticky).
   Kolejność wymuszona prawnie (Germanized): płatność → zgody → podsumowanie → przycisk.
   ============================================================ */
.woocommerce-checkout form.checkout{ display:grid !important; grid-template-columns:minmax(0,1fr) 400px; gap:40px; align-items:start; }
.woocommerce-checkout #customer_details{ grid-column:1 !important; min-width:0; width:100% !important; max-width:none !important; float:none !important; }
.woocommerce-checkout #customer_details.col2-set{ display:block !important; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2{ width:100% !important; max-width:none !important; float:none !important; margin:0; }
.woocommerce-checkout #order_review_heading{ display:none !important; }

/* prawa kolumna = jeden biały panel (flex → kontrola kolejności sekcji) */
.woocommerce-checkout #order_review{ grid-column:2 !important; width:100% !important; max-width:none !important; float:none !important; background:#fff !important; border:1px solid #e2ddd3 !important; border-radius:var(--r); padding:22px 24px !important; margin:0 !important; position:sticky; top:96px; box-sizing:border-box; display:flex; flex-direction:column; }
/* kolejność: płatność → nagłówek → tabela → zgody → przycisk */
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table{ order:1; }
.woocommerce-checkout #order_review .wc-gzd-checkbox-placeholder{ order:2; }
.woocommerce-checkout #order_review .wc-gzd-order-submit, .woocommerce-checkout #order_review .place-order{ order:3; }
/* nagłówek panelu */
.woocommerce-checkout #order_review > h3:first-child{ font-family:var(--display) !important; font-weight:800; font-size:18px; letter-spacing:-.01em; color:var(--ink); margin:0 0 16px !important; }

/* sekcja płatności — bez własnej ramki; radia jako delikatne karty na paper */
.woocommerce-checkout #order_review #payment{ background:transparent !important; border:0 !important; padding:0 !important; margin:0 !important; }
.woocommerce-checkout #order_review #payment ul.payment_methods > li{ background:#fff; border-color:#d8d2c7; }

/* nagłówek podsumowania = natywny Germanized (pełna szerokość, sama górna linia) */
.woocommerce-checkout #order_review h3.wc-gzd-heading-moved{ display:block !important; width:100% !important; max-width:none !important; float:none !important; box-sizing:border-box; text-align:left; font-family:var(--display); font-weight:800; font-size:15px; letter-spacing:-.01em; color:var(--ink); background:transparent !important; border:0 !important; border-top:1px solid #e2ddd3 !important; border-radius:0 !important; margin:18px 0 12px !important; padding:18px 0 0 !important; }
/* tabela podsumowania — przezroczyste tło (koniec szarości), bez ramki */
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table{ margin:0 !important; padding:0 !important; border:0 !important; background:transparent !important; }
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tbody,
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot,
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tr,
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table td,
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table th{ background:transparent !important; }

/* przycisk */
.woocommerce-checkout #order_review .place-order,
.woocommerce-checkout #order_review .wc-gzd-order-submit{ padding:0 !important; margin:16px 0 0 !important; width:auto; }
.woocommerce-checkout #order_review .wc-gzd-order-submit{ border-top:1px solid #e2ddd3; padding-top:16px !important; }

/* CHECKOUT mobile (≤900) — MUSI być PO bloku v3, by nadpisać `form.checkout{display:grid}`.
   Siatka 1fr+400px na wąskim ekranie zwijała kolumnę danych do 0 i panel 400px rozpychał stronę. */
@media(max-width:900px){
  .woocommerce-checkout form.checkout{ display:block !important; }
  /* trzy czytelne bloki: ADRES (karta) → PŁATNOŚĆ+PODSUMOWANIE (biały panel) */
  .woocommerce-checkout #customer_details{ width:100% !important; max-width:100% !important;
    background:var(--paper); border:1px solid #e2ddd3; border-radius:var(--r); padding:20px 18px; box-sizing:border-box; }
  .woocommerce-checkout #customer_details > .woocommerce-billing-fields > h3,
  .woocommerce-checkout #customer_details h3#billing_heading,
  .woocommerce-checkout .woocommerce-billing-fields > h3{ font-family:var(--display); font-weight:800; font-size:17px; letter-spacing:-.01em; color:var(--ink); margin:0 0 14px; }
  .woocommerce-checkout #order_review{ position:static !important; width:100% !important; max-width:100% !important; margin-top:20px !important; }
  /* wszystkie pola rozliczeniowe pełna szerokość — Vorname/Nachname równe i dłuższe (nie ciasne 2-kол) */
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper{ grid-template-columns:1fr !important; gap:0 !important; }
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row.form-row-first,
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row.form-row-last{ grid-column:1 / -1 !important; width:100% !important; max-width:100% !important; float:none !important; margin:0 0 14px !important; }
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row input.input-text,
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row .woocommerce-input-wrapper{ width:100% !important; }

  /* podsumowanie zamówienia: czyste wiersze „nazwa × ilość … cena" (jak mockup — bez miniatur) */
  .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tbody tr.fws-or-item{
    display:flex !important; justify-content:space-between; align-items:flex-start; gap:12px; padding:11px 0; border-bottom:1px solid #efeae1; }
  .woocommerce-checkout #order_review .fws-or-item .or-thumb{ display:none !important; }
  .woocommerce-checkout #order_review .fws-or-item td.product-name{ flex:1 1 auto; min-width:0; padding:0 !important; border:0 !important; }
  .woocommerce-checkout #order_review .fws-or-item .product-name{ display:block; }
  /* NIE łam słów w środku (było „Konstruktionsschr/aube") — zawijaj po spacji/myślniku */
  .woocommerce-checkout #order_review .fws-or-item .or-name,
  .woocommerce-checkout #order_review .fws-or-item .or-name *{ overflow-wrap:normal !important; word-break:normal !important; hyphens:none !important; font-size:13.5px; line-height:1.3; }
  .woocommerce-checkout #order_review .fws-or-item td.product-total{ flex:0 0 auto; padding:0 !important; border:0 !important; white-space:nowrap; align-self:flex-start; font-family:var(--display); font-weight:700; }

  /* KROKI w JEDNEJ linii we wszystkich językach (PL „Podsumowanie" zawijało do 2 linii) */
  .woocommerce-checkout .fws-steps{ flex-wrap:nowrap !important; gap:6px; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .woocommerce-checkout .fws-steps::-webkit-scrollbar{ height:0; }
  .woocommerce-checkout .fws-step{ flex:0 0 auto; font-size:11px; gap:6px; white-space:nowrap; }
  .woocommerce-checkout .fws-step b{ width:19px; height:19px; }
  .woocommerce-checkout .fws-sep{ flex:0 0 12px; width:12px; }

  /* PODSUMOWANIE: kwoty/€ zawsze w ramce — w DE wartości są długie („121,03 € (inkl. 22,63 € MwSt.)").
     Etykiety th w 1 linii (jak DE/EN), notka podatkowa zawija się pod kwotą, panel ciaśniejszy. */
  .woocommerce-checkout #order_review{ padding:20px 16px !important; }
  .woocommerce-checkout #order_review .woocommerce-checkout-review-order-table{ width:100% !important; max-width:100% !important; }
  .woocommerce-checkout #order_review tfoot th{ padding-right:8px !important; }
  .woocommerce-checkout #order_review tfoot td{ padding-left:8px !important; }
  .woocommerce-checkout #order_review tfoot .order-total td{ font-size:17px; }
}

/* ============================================================
   MOBILE KATALOG (≤768) — wg mockup/Mobile/mobile-katalog.html
   karty poziome 1-kol + pasek Filtr/Sort + sidebar jako bottom-sheet
   ============================================================ */
.fws-mtoolbar{ display:none; }
.fws-filterscrim{ display:none; }
/* nagłówek sheeta (tytuł+X) tylko na mobile; stopka apply/reset także na desktopie */
.fws-sheet-head{ display:none; }
.fws-sheet-foot{ display:flex; gap:10px; margin-top:18px; padding-top:16px; border-top:1px solid #e2ddd3; }
.fws-sheet-reset{ flex:none; display:inline-flex; align-items:center; justify-content:center; padding:11px 16px; border:1px solid #d8d2c7; border-radius:var(--r); font-family:var(--body); font-weight:600; font-size:14px; color:var(--ink); background:#fff; cursor:pointer; }
.fws-sheet-apply{ flex:1; display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:11px 18px; border:none; border-radius:var(--r); background:var(--signal); color:#fff; font-family:var(--display); font-weight:700; font-size:14px; cursor:pointer; transition:background .15s; }
.fws-sheet-apply:hover{ background:var(--signal-deep); }
/* (stan zaznaczenia .fws-chosen używa tych samych reguł co .wc-layered-nav-term--chosen powyżej) */
/* badge liczby wybranych na przycisku Filtry (mobile) */
.fws-mtoolbar .fc{ font-family:var(--mono); font-size:10px; font-weight:600; background:var(--signal); color:#fff; border-radius:9px; padding:1px 6px; }
@media(max-width:768px){
  /* 1) karty produktów: 1 kolumna, układ poziomy (obrazek z lewej) */
  .woocommerce ul.products{ grid-template-columns:1fr !important; gap:12px !important; }
  .woocommerce ul.products li.product.fwsm-card{ flex-direction:row; align-items:stretch; }
  .fwsm-card-top{ width:108px; flex:none; border-bottom:0; border-right:1px solid #efeae1; display:flex; align-items:center; justify-content:center; padding:12px; }
  .fwsm-card-top .pic img{ height:104px; width:100%; object-fit:contain; }
  .fwsm-card-body{ padding:12px 14px; min-width:0; }
  .fwsm-card-title{ font-size:15px; min-height:0; margin-bottom:6px; }
  .fwsm-card-desc{ display:none; }
  .fwsm-card-chips{ margin-bottom:10px; }
  .fwsm-card-foot{ flex-wrap:wrap; gap:6px 10px; }

  /* 2) pasek mobilny: dwa przyciski Filtry + Sortuj (oba otwierają sheet), sticky pod headerem */
  .woocommerce .woocommerce-ordering{ display:none !important; }      /* natywny select ukryty — sort jest w sheet */
  .woocommerce .woocommerce-result-count{ display:none !important; }  /* licznik Woo ukryty na mobile (mockup ma własny sub) */
  .fws-mtoolbar{ display:flex; gap:10px; position:sticky; top:58px; z-index:200; margin:0 calc(-1 * var(--pad)) 16px; padding:11px var(--pad); background:rgba(251,250,247,.96); backdrop-filter:blur(6px); border-bottom:1px solid #ece7dd; }
  .fws-mtoolbar button{ flex:1 1 0; min-width:0; display:flex; align-items:center; justify-content:center; gap:7px; font-family:var(--body); font-size:13px; font-weight:600; color:#3a3d42; background:#fff; border:1px solid #d8d2c7; border-radius:var(--r); padding:10px; cursor:pointer; }
  .fws-mtoolbar button:active{ border-color:var(--ink); }
  .fws-mtoolbar button svg{ width:15px; height:15px; flex:none; }

  /* 3) wspólny wygląd bottom-sheetów (filtry = sidebar, sort = lista) */
  #secondary.widget-area,
  .fws-sortsheet{ position:fixed !important; left:0 !important; right:0 !important; top:auto !important; bottom:0 !important; z-index:1300; width:auto !important; max-width:none !important; max-height:84vh; overflow-y:auto; margin:0 !important; padding:8px 16px calc(18px + env(safe-area-inset-bottom)) !important; background:var(--paper); border-radius:18px 18px 0 0; transform:translateY(110%); transition:transform .26s cubic-bezier(.4,0,.2,1); box-shadow:0 -20px 50px -20px rgba(0,0,0,.45); }
  body.fws-filters-open #secondary.widget-area{ transform:translateY(0) !important; }
  body.fws-sort-open .fws-sortsheet{ transform:translateY(0) !important; }
  .fws-sheet-head{ display:flex; align-items:center; justify-content:space-between; padding:6px 0 12px; margin-bottom:8px; border-bottom:1px solid #ece7dd; position:sticky; top:0; background:var(--paper); }
  .fws-sheet-head h3{ font-family:var(--display); font-weight:800; font-size:17px; }
  .fws-sheet-head button{ background:none; border:none; color:#8a8d92; font-size:22px; line-height:1; cursor:pointer; padding:0 4px; }
  /* stopka sheeta: Wyczyść + Pokaż wyniki (wg mockupu) */
  .fws-sheet-foot{ position:sticky; bottom:0; display:flex; gap:10px; padding:14px 0 calc(4px + env(safe-area-inset-bottom)); margin-top:10px; border-top:1px solid #ece7dd; background:var(--paper); }
  .fws-sheet-reset{ display:inline-flex; align-items:center; justify-content:center; padding:12px 16px; border:1px solid #d8d2c7; border-radius:var(--r); font-weight:600; font-size:14px; color:var(--ink); }
  .fws-sheet-apply{ flex:1; display:inline-flex; align-items:center; justify-content:center; padding:12px 18px; border:none; border-radius:var(--r); background:var(--signal); color:#fff; font-family:var(--display); font-weight:700; font-size:14px; cursor:pointer; }
  .fws-sheet-apply:active{ background:var(--signal-deep); }
  /* lista sortowania */
  .fws-sortlist{ display:flex; flex-direction:column; }
  .fws-sortopt{ display:flex; align-items:center; justify-content:space-between; padding:14px 4px; font-size:15px; color:var(--ink); border-bottom:1px solid #ece7dd; }
  .fws-sortopt:last-child{ border-bottom:0; }
  .fws-sortopt.on{ color:var(--signal); font-weight:600; }
  .fws-sortopt.on::after{ content:"\2713"; color:var(--signal); }
  /* scrim wspólny dla obu sheetów */
  .fws-filterscrim{ display:block; position:fixed; inset:0; background:rgba(12,13,15,.5); z-index:1290; opacity:0; pointer-events:none; transition:opacity .22s; }
  body.fws-filters-open .fws-filterscrim,
  body.fws-sort-open .fws-filterscrim{ opacity:1; pointer-events:auto; }
  body.fws-filters-open, body.fws-sort-open{ overflow:hidden; }
}
.fws-sortsheet{ display:none; }
@media(max-width:768px){ .fws-sortsheet{ display:block; } }

/* ============================================================
   MOBILE PDP (≤768) — 1:1 wg mockup/Mobile/mobile-produkt.html
   stage zdjęcia (full-bleed) → crumb → tytuł → ocena → badge →
   pigułki wariantu → stan → pobrania → taby (scroll) → podobne (karuzela)
   cena + „Do koszyka" żyją w przyklejonym buybarze; tab-bar zostaje.
   ============================================================ */
.fws-pdp-buybar{ display:none; }
@media(max-width:768px){
  /* układ: jedna kolumna w kolejności mockupu (zdjęcie → kupno → pobrania) */
  .fws-pdp{ grid-template-columns:1fr; grid-template-areas:"media" "buy" "downloads"; row-gap:0; }

  /* 1) STAGE zdjęcia — full-bleed do krawędzi ekranu (zdjęcia są na białym tle, więc jasny stage) */
  .fws-pdp .pdp-media{ border:0; border-radius:0; padding:18px var(--pad); margin:0 calc(-1 * var(--pad)) 0;
    background:#fff; min-height:260px; display:flex; align-items:center; justify-content:center; }
  .fws-pdp .pdp-media .woocommerce-product-gallery{ width:100% !important; }
  .fws-pdp .pdp-media img{ max-height:236px; width:auto !important; margin:0 auto; object-fit:contain; }
  /* ETA-flaga w rogu stage (mockup .etabig) */
  .fws-pdp .fws-eta-flag{ display:inline-block; position:absolute; top:14px; left:var(--pad); z-index:3;
    font-family:var(--mono); font-size:10px; font-weight:600; letter-spacing:.04em;
    background:var(--signal); color:#fff; padding:4px 9px; border-radius:3px; }
  /* miniaturki galerii — pasek pod zdjęciem (mockup .thumbs); ukryj gdy jedno zdjęcie */
  .fws-pdp .pdp-media .flex-control-thumbs{ display:flex; gap:8px; margin:14px 0 0; padding:0; list-style:none; }
  .fws-pdp .pdp-media .flex-control-thumbs li{ width:52px; height:52px; margin:0; }
  .fws-pdp .pdp-media .flex-control-thumbs img{ width:52px; height:52px; object-fit:contain; border:1px solid #e2ddd3; border-radius:var(--r); background:#fff; padding:4px; opacity:.7; }
  .fws-pdp .pdp-media .flex-control-thumbs img.flex-active{ border-color:var(--signal); opacity:1; }

  /* 2) treść kupna — kolejność mockupu */
  .fws-pdp .fws-pdp-buy{ padding-top:16px; display:flex; flex-direction:column; }
  .fws-pdp .fws-pdp-crumb{ display:block; order:-3; font-family:var(--mono); font-size:11px; color:#8a8d92; margin-bottom:6px; }
  .fws-pdp .fws-pdp-buy .art{ order:-2; }
  .fws-pdp .fws-pdp-buy .product_title{ order:-1; font-size:24px; margin:4px 0 0; }
  .fws-pdp .fws-pdp-buy .woocommerce-product-rating{ order:0; }
  .fws-pdp .fws-pdp-buy .badges{ order:1; margin:12px 0; }
  .fws-pdp .fws-pdp-buy .buybox{ order:2; }

  /* 3) buybox bez ramki; cena + ilość + przycisk schowane (są w buybarze), pigułki przed stanem */
  .fws-pdp .buybox{ border:0; border-radius:0; padding:0; background:none; display:flex; flex-direction:column; }
  .fws-pdp .buybox > .price{ display:none; }
  .fws-pdp .buybox > .fws-stock{ order:2; margin:14px 0 0; }
  .fws-pdp form.cart{ order:1; margin:0; }
  .fws-pdp .vpe{ display:none; }
  /* warianty: natywny select + pigułki schowane; sterujemy polem + bottom-sheetem */
  .fws-pdp table.variations select,
  .fws-pdp .reset_variations,
  .fws-pdp .fws-var-pills{ display:none !important; }
  .fws-pdp table.variations th.label{ font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:#6b6f74; margin-bottom:8px; }
  /* pole-wyzwalacz (pokazuje wybrany rozmiar + szewron) */
  .fws-size-field{ display:flex; width:100%; align-items:center; justify-content:space-between; gap:10px;
    border:1px solid #d8d2c7; border-radius:var(--r); padding:13px; background:#fff;
    font-family:var(--body); font-size:14px; color:var(--ink); cursor:pointer; text-align:left; transition:border-color .15s; }
  .fws-size-field:active{ border-color:var(--ink); }
  .fws-size-field.empty .v{ color:#8a8d92; }
  .fws-size-field:not(.empty){ border-color:var(--ink); }
  .fws-size-field:not(.empty) .v{ color:var(--ink); font-weight:600; }
  .fws-size-field .v{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .fws-size-field .cx{ flex:none; color:var(--signal); font-size:12px; }

  /* bottom-sheet z listą rozmiarów (wzorzec Filtry/Sortuj) */
  .fws-size-scrim{ display:block; position:fixed; inset:0; background:rgba(12,13,15,.5); z-index:1290; opacity:0; pointer-events:none; transition:opacity .22s; }
  .fws-size-scrim.on{ opacity:1; pointer-events:auto; }
  .fws-size-sheet{ display:block; position:fixed; left:0; right:0; bottom:0; z-index:1300; max-height:76vh; overflow-y:auto; -webkit-overflow-scrolling:touch;
    background:var(--paper); border-radius:18px 18px 0 0; padding:0 16px calc(14px + env(safe-area-inset-bottom));
    transform:translateY(110%); transition:transform .26s cubic-bezier(.4,0,.2,1); box-shadow:0 -20px 50px -20px rgba(0,0,0,.45); }
  .fws-size-sheet.on{ transform:translateY(0); }
  body.fws-size-open{ overflow:hidden; }
  /* nagłówek przyklejony — pełne, nieprzezroczyste tło + cień, żeby pozycje NIE nachodziły przy scrollu */
  .fws-size-sheet-head{ display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:5;
    background:var(--paper); padding:18px 0 12px; margin:0 0 4px; box-shadow:0 1px 0 #ece7dd; }
  .fws-size-sheet-head::before{ content:""; position:absolute; top:8px; left:50%; transform:translateX(-50%); width:38px; height:4px; border-radius:3px; background:#d8d2c7; }
  .fws-size-sheet-head h3{ font-family:var(--display); font-weight:800; font-size:17px; color:var(--ink); }
  .fws-size-sheet-head .x{ background:none; border:none; color:#8a8d92; font-size:24px; line-height:1; cursor:pointer; padding:0 4px; }
  .fws-size-list{ display:flex; flex-direction:column; }
  /* pozycja z checkboxem (jak filtry) */
  .fws-size-opt{ display:flex; align-items:center; gap:12px; width:100%; text-align:left;
    background:none; border:none; border-bottom:1px solid #ece7dd; padding:14px 2px; font-size:15px; color:var(--ink); cursor:pointer; }
  .fws-size-opt:last-child{ border-bottom:0; }
  .fws-size-opt .cb{ flex:none; width:20px; height:20px; border:1.5px solid #c9c3b8; border-radius:5px; background:#fff;
    display:inline-flex; align-items:center; justify-content:center; transition:.15s; }
  .fws-size-opt .t{ flex:1; min-width:0; }
  .fws-size-opt.on .cb{ background:var(--signal); border-color:var(--signal); }
  .fws-size-opt.on .cb::after{ content:"\2713"; color:#fff; font-size:13px; font-weight:700; line-height:1; }
  .fws-size-opt.on{ color:var(--ink); font-weight:600; }
  .fws-size-opt:active{ background:rgba(226,84,28,.05); }

  /* WC: inline blok wariantu (cena/dostępność/opis) zbędny na mobile — cena w buybarze, stan własny */
  .fws-pdp .woocommerce-variation{ display:none !important; }
  /* ilość + inline „dodaj do koszyka" schowane — akcja w buybarze (przycisk zostaje w DOM dla proxy) */
  .fws-pdp .quantity,
  .fws-pdp .woocommerce-variation-add-to-cart .single_add_to_cart_button,
  .fws-pdp form.cart:not(.variations_form) .single_add_to_cart_button,
  .fws-pdp .woocommerce-variation-price{ display:none !important; }
  .fws-pdp .single_variation_wrap{ margin:0; }

  /* 4) pobrania — pełna szerokość; etykieta zawija się, długa nazwa pliku skraca się (…) */
  .fws-pdp .downloads{ margin-top:18px; grid-template-columns:minmax(0,1fr); }
  .fws-pdp .dl{ min-width:0; }                 /* pozwól elementowi gridu kurczyć się poniżej min-content */
  .fws-pdp .dl-tx{ flex:1 1 0; min-width:0; }
  .fws-pdp .dl .dt{ overflow-wrap:anywhere; }
  .fws-pdp .dl .ds{ min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

  /* 5) taby — poziomy scroll zamiast zawijania (mockup .tablist) */
  .single-product .woocommerce-tabs{ margin-top:24px; }
  .single-product .woocommerce-tabs ul.tabs{ flex-wrap:nowrap !important; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .single-product .woocommerce-tabs ul.tabs::-webkit-scrollbar{ height:0; }
  .single-product .woocommerce-tabs ul.tabs li{ flex:none !important; }
  .single-product .woocommerce-tabs ul.tabs li a{ white-space:nowrap; font-size:13.5px; padding:13px 14px; }
  .fws-spec th{ font-size:13px; padding:9px 0; }
  .fws-spec td{ font-size:12.5px; padding:9px 0; }

  /* 6) podobne produkty — pozioma karuzela (mockup .rel) zamiast siatki */
  .single-product .related.products,
  .single-product .upsells.products{ margin-top:40px; padding-top:32px; }
  .single-product .related.products > h2{ font-size:18px; margin-bottom:14px; }
  .single-product .related.products ul.products,
  .single-product .upsells.products ul.products{ display:flex !important; flex-wrap:nowrap !important; align-items:stretch !important; gap:12px !important;
    overflow-x:auto; -webkit-overflow-scrolling:touch; margin:0 calc(-1 * var(--pad)); padding:0 var(--pad) 6px; }
  .single-product .related.products ul.products::-webkit-scrollbar,
  .single-product .upsells.products ul.products::-webkit-scrollbar{ height:0; }
  /* karty w karuzeli: stała szerokość, układ pionowy (nadpisuje poziomy wariant katalogu) */
  .single-product .related.products ul.products li.product.fwsm-card,
  .single-product .upsells.products ul.products li.product.fwsm-card{ flex:0 0 200px; width:200px; flex-direction:column; }
  .single-product .related.products .fwsm-card-top,
  .single-product .upsells.products .fwsm-card-top{ width:auto; border-right:0; border-bottom:1px solid #efeae1; }
  .single-product .related.products .fwsm-card-top .pic img,
  .single-product .upsells.products .fwsm-card-top .pic img{ height:120px; }
  .single-product .related.products .fwsm-card-desc,
  .single-product .upsells.products .fwsm-card-desc{ display:none; }

  /* 7) globalny pasek breadcrumb ukryty na PDP — crumb jest w kolumnie kupna (kolejność mockupu) */
  body.single-product .fws-crumb-bar{ display:none; }

  /* 8) STICKY BUYBAR (cena + Do koszyka) nad tab-barem */
  body.single-product .fws-pdp-buybar{
    display:flex; position:fixed; left:0; right:0; bottom:60px; z-index:1000;
    align-items:center; gap:12px; padding:9px var(--pad); background:rgba(251,250,247,.97);
    backdrop-filter:blur(8px); border-top:1px solid #e2ddd3;
  }
  .fws-pdp-buybar-price{ display:flex; flex-direction:column; line-height:1.05; }
  .fws-pdp-buybar-price .fws-bb-amt{ font-family:var(--display); font-weight:800; font-size:18px; color:var(--ink); white-space:nowrap; }
  .fws-pdp-buybar-price .fws-bb-amt del{ display:none; }
  .fws-pdp-buybar-price .fws-bb-amt ins{ text-decoration:none; }
  .fws-pdp-buybar-price .fws-bb-amt .amount{ font-family:var(--display); }
  .fws-pdp-buybar-price .fws-bb-net{ font-family:var(--mono); font-size:10px; color:#8a8d92; margin-top:1px; }
  .fws-buybar-add{ flex:1; display:inline-flex; align-items:center; justify-content:center; gap:8px;
    font-family:var(--display); font-weight:700; font-size:15px; background:var(--signal); color:#fff;
    border:none; border-radius:var(--r); padding:13px 16px; cursor:pointer; }
  .fws-buybar-add:active{ background:var(--signal-deep); }
  /* miejsce na buybar (~58px) + tab-bar (60px), by treść/podobne nie chowały się pod paskami */
  body.single-product{ padding-bottom:calc(58px + 60px + env(safe-area-inset-bottom)); }
}

/* ============================================================
   404 — ciemna strona błędu (wg mockup) z hero-wkrętem.
   shop.css ładowany na is_404() (enqueue w functions.php).
   ============================================================ */
.fws-404{ position:relative; background:var(--graphite); color:var(--bone); overflow:hidden;
  margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); width:100vw; max-width:100vw;
  padding:clamp(40px,7vw,90px) var(--pad); }
.fws-404-gl{ position:absolute; inset:0; pointer-events:none; opacity:.1;
  background-image:linear-gradient(#33383E 1px,transparent 1px),linear-gradient(90deg,#33383E 1px,transparent 1px);
  background-size:clamp(60px,8vw,120px) clamp(60px,8vw,120px); }
.fws-404-inner{ position:relative; max-width:var(--maxw); margin:0 auto; display:grid;
  grid-template-columns:1.2fr .8fr; gap:40px; align-items:center; }
.fws-404-kicker{ font-family:var(--mono); font-size:13px; letter-spacing:.26em; text-transform:uppercase; color:var(--signal); display:flex; align-items:center; gap:14px; margin-bottom:22px; }
.fws-404-kicker::before{ content:""; width:44px; height:2px; background:var(--signal); }
.fws-404-big{ font-family:var(--display); font-weight:900; font-size:clamp(104px,18vw,250px); line-height:.82; letter-spacing:-.05em; display:flex; gap:.02em; }
.fws-404-big .z{ color:transparent; -webkit-text-stroke:3px var(--zinc); }
.fws-404 h1{ font-family:var(--display); font-weight:800; font-size:clamp(26px,3.4vw,44px); letter-spacing:-.02em; line-height:1.02; margin:18px 0 16px; color:var(--bone); }
.fws-404-lead{ color:var(--zinc); font-size:clamp(15px,1.3vw,17px); line-height:1.55; max-width:46ch; margin-bottom:28px; }
.fws-404-search{ display:flex; gap:10px; max-width:440px; margin-bottom:22px; }
.fws-404-search input{ flex:1; min-width:0; font-family:var(--body); font-size:15px; background:var(--steel); border:1px solid var(--steel-line); border-radius:var(--r); padding:14px 16px; color:var(--bone); outline:none; }
.fws-404-search input::placeholder{ color:#6b7177; }
.fws-404-search input:focus{ border-color:var(--signal); }
.fws-404-search button{ flex:none; background:var(--signal); border:none; border-radius:var(--r); padding:0 18px; color:#fff; display:flex; align-items:center; cursor:pointer; }
.fws-404-search button svg{ width:20px; height:20px; }
.fws-404-actions{ display:flex; gap:14px; flex-wrap:wrap; }
.fws-404-btn{ display:inline-flex; align-items:center; gap:10px; font-family:var(--display); font-weight:700; font-size:15px; background:var(--signal); color:#fff !important; padding:15px 24px; border-radius:var(--r); transition:.18s; }
.fws-404-btn:hover{ background:var(--signal-deep); transform:translateY(-2px); }
.fws-404-btn-line{ background:transparent; border:1px solid var(--steel-line); color:var(--bone) !important; }
.fws-404-btn-line:hover{ border-color:var(--bone); background:transparent; }
.fws-404-links{ margin-top:28px; display:flex; gap:8px 24px; flex-wrap:wrap; font-family:var(--mono); font-size:13px; }
.fws-404-links a{ color:var(--zinc) !important; }
.fws-404-links a:hover{ color:var(--signal) !important; }
.fws-404-fig{ display:flex; justify-content:center; }
.fws-404-fig svg{ width:100%; max-width:420px; height:auto; overflow:visible; filter:drop-shadow(0 30px 60px rgba(0,0,0,.5)); }
/* hero-wkręt (style z home.css — bo home.css nie ładuje się na 404) */
.fws-404 .screw-body{ fill:var(--zinc); } .fws-404 .screw-shade{ fill:#7c838a; }
.fws-404 .screw-line{ stroke:var(--graphite); stroke-width:1.4; } .fws-404 .torx{ fill:var(--signal); }
.fws-404 .callout-line{ stroke:var(--zinc); stroke-width:1; stroke-dasharray:2 3; } .fws-404 .callout-dot{ fill:var(--signal); }
.fws-404 .callout-txt{ font-family:var(--mono); font-size:13px; fill:var(--bone); }
.fws-404 .callout-sub{ font-family:var(--mono); font-size:10.5px; fill:var(--zinc); letter-spacing:.05em; }
.fws-404 .anim-line{ stroke-dasharray:120; stroke-dashoffset:120; animation:fwsm-draw .9s ease forwards; }
.fws-404 .anim-fade{ opacity:0; animation:fwsm-fade .6s ease forwards; }
@keyframes fwsm-draw{ to{ stroke-dashoffset:0; } }
@keyframes fwsm-fade{ to{ opacity:1; } }
@media(prefers-reduced-motion:reduce){ .fws-404 .anim-line, .fws-404 .anim-fade{ animation:none; opacity:1; stroke-dashoffset:0; } }
@media(max-width:900px){
  .fws-404-inner{ grid-template-columns:1fr; gap:16px; text-align:center; }
  .fws-404-fig{ order:-1; } .fws-404-fig svg{ max-width:150px; }
  .fws-404-fig .anim-fade{ display:none; }   /* na mobile bez callout-ów (ciasne) — sam wkręt */
  .fws-404-big{ justify-content:center; }
  .fws-404-kicker{ justify-content:center; }
  .fws-404-lead{ margin-inline:auto; }
  .fws-404-search{ margin-inline:auto; }
  .fws-404-actions{ justify-content:center; }
  .fws-404-links{ justify-content:center; }
}

/* ============================================================
   POTWIERDZENIE ZAMÓWIENIA (order-received) — wg mockup.
   Desktop: główna kolumna + sticky podsumowanie; mobile: stack.
   ============================================================ */
.fws-conf{ max-width:1100px; margin:0 auto; }
.fws-conf-hero{ text-align:center; padding-block:clamp(28px,5vw,56px) 24px; }
.fws-conf-mark{ width:74px; height:74px; border-radius:50%; background:var(--ok); display:flex; align-items:center; justify-content:center; margin:0 auto 18px; animation:fws-pop .5s cubic-bezier(.2,1.3,.4,1) both; }
.fws-conf-mark svg{ width:36px; height:36px; }
@keyframes fws-pop{ from{ transform:scale(.5); opacity:0; } to{ transform:scale(1); opacity:1; } }
.fws-conf-hero h1{ font-family:var(--display); font-weight:800; font-size:clamp(24px,3.4vw,40px); letter-spacing:-.02em; margin:0 0 10px; color:var(--ink); }
.fws-conf-hero p{ color:#55585d; font-size:15px; line-height:1.55; max-width:54ch; margin:0 auto; }
.fws-conf-ordernum{ font-family:var(--mono); font-size:13.5px; background:var(--bone); border:1px solid #e2ddd3; border-radius:var(--r); padding:9px 15px; display:inline-block; margin-top:16px; }
.fws-conf-grid{ display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:32px; align-items:start; padding-bottom:64px; }
.fws-conf-main{ min-width:0; }
.fws-conf-card{ border:1px solid #e2ddd3; border-radius:var(--r); background:var(--paper); overflow:hidden; margin-bottom:18px; }
.fws-conf-card-h{ display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1px solid #ece7dd; }
.fws-conf-card-h h3{ font-family:var(--display); font-weight:700; font-size:15.5px; color:var(--ink); }
.fws-conf-card-b{ padding:18px; }
/* oś statusu */
.fws-conf-track{ display:flex; align-items:flex-start; padding:22px 18px 6px; }
.fws-conf-tstep{ flex:1; text-align:center; position:relative; }
.fws-conf-tstep .dot{ width:30px; height:30px; border-radius:50%; border:2px solid #d8d2c7; background:#fff; display:flex; align-items:center; justify-content:center; margin:0 auto 8px; color:#bdb8ad; position:relative; z-index:2; }
.fws-conf-tstep .dot svg{ width:14px; height:14px; }
.fws-conf-tstep.done .dot, .fws-conf-tstep.act .dot{ color:#fff; }
.fws-conf-tstep.done .dot{ background:var(--ok); border-color:var(--ok); }
.fws-conf-tstep.act .dot{ background:var(--signal); border-color:var(--signal); }
.fws-conf-tstep::before{ content:""; position:absolute; top:15px; left:-50%; width:100%; height:2px; background:#e2ddd3; z-index:1; }
.fws-conf-tstep:first-child::before{ display:none; }
.fws-conf-tstep.done::before, .fws-conf-tstep.act::before{ background:var(--ok); }
.fws-conf-tstep .lb{ font-size:12.5px; color:#6b6f74; line-height:1.2; }
.fws-conf-tstep.act .lb, .fws-conf-tstep.done .lb{ color:var(--ink); font-weight:600; }
.fws-conf-eta{ text-align:center; font-size:13.5px; color:#55585d; padding:6px 12px 18px; }
.fws-conf-eta b{ color:var(--ink); }
/* artykuły */
.fws-conf-irow{ display:grid; grid-template-columns:56px minmax(0,1fr) auto auto; gap:14px; align-items:center; padding:13px 0; border-bottom:1px solid #f0ebe1; }
.fws-conf-irow:last-child{ border-bottom:none; }
.fws-conf-ithumb img{ width:56px; height:56px; object-fit:contain; background:#fff; border:1px solid #efeae1; border-radius:var(--r); display:block; max-width:none; }
.fws-conf-iinfo{ min-width:0; }
.fws-conf-iinfo h4{ font-family:var(--display); font-weight:700; font-size:14.5px; color:var(--ink); line-height:1.25; }
.fws-conf-iinfo .art{ font-family:var(--mono); font-size:11px; color:#8a8d92; margin-top:2px; }
.fws-conf-iqty{ font-family:var(--mono); font-size:13px; color:#6b6f74; white-space:nowrap; }
.fws-conf-iprice{ font-family:var(--display); font-weight:700; font-size:14.5px; text-align:right; white-space:nowrap; }
/* adres */
.fws-conf-two{ display:grid; grid-template-columns:1fr 1fr; gap:0; }
.fws-conf-two > div{ padding:18px; }
.fws-conf-two > div:first-child{ border-right:1px solid #ece7dd; }
.fws-conf-lbl{ font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--signal); display:block; margin-bottom:8px; }
.fws-conf .val{ font-size:14px; line-height:1.7; color:#3a3d42; }
.fws-conf .val-muted{ color:#6b6f74; font-size:13.5px; line-height:1.55; }
.fws-conf address{ font-style:normal; }
/* podsumowanie (sidebar) */
.fws-conf-summary{ border:1px solid #e2ddd3; border-radius:var(--r); background:var(--paper); padding:22px; position:sticky; top:96px; }
.fws-conf-summary h3{ font-family:var(--display); font-weight:800; font-size:18px; margin-bottom:14px; color:var(--ink); }
.fws-conf-summary .srow{ display:flex; justify-content:space-between; gap:12px; font-size:14px; padding:7px 0; color:#4a4d52; }
.fws-conf-summary .srow.total{ border-top:1px solid #e2ddd3; margin-top:8px; padding-top:13px; font-family:var(--display); font-weight:800; font-size:19px; color:var(--ink); }
.fws-conf-summary .srow .amount{ font-family:var(--display); }
.fws-conf-btn{ display:flex; align-items:center; justify-content:center; gap:9px; font-family:var(--display); font-weight:700; font-size:14px; background:var(--signal); color:#fff !important; padding:13px 18px; border:none; border-radius:var(--r); width:100%; margin-top:18px; transition:.15s; }
.fws-conf-btn:hover{ background:var(--signal-deep); color:#fff !important; }
.fws-conf-btn-ghost{ background:transparent; color:var(--ink) !important; border:1px solid #d8d2c7; margin-top:10px; }
.fws-conf-btn-ghost:hover{ border-color:var(--ink); background:#fff; color:var(--ink) !important; }
.fws-conf-help{ font-size:12.5px; color:#8a8d92; margin-top:16px; line-height:1.5; text-align:center; }
.fws-conf-help a{ color:var(--signal); }
@media(max-width:900px){
  .fws-conf-grid{ grid-template-columns:1fr; gap:0; }
  .fws-conf-summary{ position:static; }
}
@media(max-width:560px){
  .fws-conf-two{ grid-template-columns:1fr; }
  .fws-conf-two > div:first-child{ border-right:none; border-bottom:1px solid #ece7dd; }
  .fws-conf-track{ padding-inline:6px; }
  .fws-conf-tstep .lb{ font-size:11px; }
}

/* order-received: ukryj DOMYŚLNĄ tabelę WC (mamy własny .fws-conf) + redundantny tytuł „Kasse" */
.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details{ display:none !important; }
.woocommerce-order-received .entry-title,
.woocommerce-order-received .ast-archive-title,
.woocommerce-order-received .woocommerce-order > h2{ display:none !important; }
