/* fixwoodsystem — LOOK (Swiss Modernism 2.0) — nadbudowa nad tokens.css */

/* ========== CUSTOM HEADER 1:1 (mockup fixwoodsystem.html) ========== */
/* ukryj header Astry — używamy własnego (astra_header_before) */
#masthead.site-header{ display:none !important; }

/* topbar (linia zaufania) */
.fws-topbar .fws-wrap{ max-width:var(--maxw) !important; }

/* główny sticky header w kontenerze */
.fwsm-hdr{ position:sticky; top:0; z-index:100; background:rgba(23,25,28,.94); backdrop-filter:blur(10px); border-bottom:1px solid var(--steel-line); color:var(--bone); }
.fwsm-hdr .wrap{ max-width:var(--maxw); margin:0 auto; padding-inline:var(--pad); }
.fwsm-nav{ display:flex; align-items:center; gap:22px; height:80px; transition:height .24s ease; }
.fwsm-brand{ display:inline-flex; align-items:baseline; flex-shrink:0; white-space:nowrap; font-family:var(--display); font-weight:900; font-size:30px; letter-spacing:-.02em; line-height:1; transition:font-size .24s ease; }
/* sticky/scroll: stała WYSOKOŚĆ headera (zero reflow/skoku), kurczy się tylko logo */
.fwsm-hdr.fwsm-scrolled .fwsm-brand{ font-size:24px; }
.fwsm-brand b{ color:var(--bone); } .fwsm-brand i{ color:var(--signal); font-style:normal; }
.fwsm-hdr .fwsm-nav{ gap:20px; }
/* nav podstron — premium: font display (Archivo), wyższy kontrast bazowy,
   animowane podkreślenie + aktywna pozycja (template: a.active = bone + signal) */
.fwsm-mainnav ul{ display:flex; gap:30px; list-style:none; margin:0 0 0 12px; padding:0; }
.fwsm-mainnav a{ position:relative; display:inline-flex; align-items:center; gap:6px; font-family:var(--display); font-size:14.5px; font-weight:600; letter-spacing:.005em; color:#C6CACE; padding:7px 1px; transition:color .2s ease; }
.fwsm-mainnav a::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--signal); border-radius:2px; transform:scaleX(0); transform-origin:left center; transition:transform .26s cubic-bezier(.4,0,.2,1); }
.fwsm-mainnav a:hover, .fwsm-mainnav a.active{ color:var(--bone); }
.fwsm-mainnav a:hover::after, .fwsm-mainnav a.active::after{ transform:scaleX(1); }
.fwsm-mainnav a:hover .fwsm-caret, .fwsm-mainnav a.active .fwsm-caret{ color:var(--signal); }
.fwsm-mainnav a:focus-visible{ outline:2px solid var(--signal); outline-offset:4px; border-radius:2px; }
.fwsm-spacer{ flex:1; }
.fwsm-search{ display:flex; align-items:center; gap:7px; background:var(--steel); border:1px solid var(--steel-line); border-radius:var(--r); padding:3px 11px; height:30px; color:var(--zinc); min-width:160px; max-width:210px; }
.fwsm-search:focus-within{ border-color:var(--steel-line); }   /* bez kolorowej ramki */
.fwsm-search svg{ width:13px; height:13px; flex-shrink:0; }
.fwsm-search input{ background:transparent !important; border:none; outline:none !important; box-shadow:none !important; color:#fff !important; -webkit-text-fill-color:#fff !important; caret-color:#fff; font-family:var(--body); font-size:13px; width:100%; }
.fwsm-search input::placeholder{ -webkit-text-fill-color:var(--zinc); color:var(--zinc); opacity:1; }
.fwsm-search input:focus, .fwsm-search input:focus-visible{ outline:none !important; box-shadow:none !important; background:transparent !important; }
/* autofill: nie biel tylko ciemne tło + białe litery */
.fwsm-search input:-webkit-autofill,
.fwsm-search input:-webkit-autofill:hover,
.fwsm-search input:-webkit-autofill:focus{ -webkit-text-fill-color:#fff; caret-color:#fff; -webkit-box-shadow:0 0 0 1000px var(--steel) inset !important; transition:background-color 9999s ease-in-out 0s; }
.fwsm-search input::placeholder{ color:var(--zinc); }
.fwsm-langs,.fwsm-curr{ display:flex; border:1px solid var(--steel-line); border-radius:var(--r); overflow:hidden; flex-shrink:0; }
.fwsm-langs a,.fwsm-curr a{ font-family:var(--mono); font-size:12px; font-weight:600; letter-spacing:.04em; color:var(--zinc); padding:7px 9px; transition:background .15s,color .15s; }
.fwsm-langs a+a,.fwsm-curr a+a{ border-left:1px solid var(--steel-line); }
.fwsm-langs a.active,.fwsm-curr a.active{ background:var(--signal); color:#fff; }
.fwsm-langs a:hover,.fwsm-curr a:hover{ color:var(--bone); }

/* currency — dopracowany dropdown (styl pill) */
.fwsm-currdd{ position:relative; flex-shrink:0; }
.fwsm-currdd .fws-sw-toggle{ display:inline-flex; align-items:center; gap:6px; height:30px; font-family:var(--mono); font-size:12px; font-weight:600; letter-spacing:.04em; color:var(--bone); background:transparent; border:1px solid var(--steel-line); border-radius:var(--r); padding:0 11px; cursor:pointer; transition:color .15s,border-color .15s,background .15s; }
.fwsm-currdd .fws-sw-toggle:hover, .fwsm-currdd.is-open .fws-sw-toggle{ border-color:var(--signal); background:var(--steel); }
.fwsm-currdd .fwsm-cur-sym{ color:var(--signal); font-size:1.05em; line-height:1; }
.fwsm-currdd .fws-sw-caret{ font-style:normal; font-size:.66em; color:var(--zinc); transition:transform .2s ease; }
.fwsm-currdd.is-open .fws-sw-caret{ transform:rotate(180deg); color:var(--signal); }
.fwsm-currdd .fws-sw-menu{ position:absolute; top:calc(100% + 8px); left:0; right:auto; min-width:140px; background:var(--steel); border:1px solid var(--steel-line); border-radius:var(--r); padding:5px; display:flex; flex-direction:column; gap:2px; z-index:70; box-shadow:0 18px 38px -16px rgba(0,0,0,.6); opacity:0; visibility:hidden; transform:translateY(-6px) scale(.98); transform-origin:top left; transition:opacity .18s ease, transform .18s ease, visibility .18s; }
.fwsm-currdd.is-open .fws-sw-menu{ opacity:1; visibility:visible; transform:none; }
.fwsm-currdd .fws-sw-menu::before{ content:""; position:absolute; top:-5px; left:16px; width:9px; height:9px; background:var(--steel); border-left:1px solid var(--steel-line); border-top:1px solid var(--steel-line); transform:rotate(45deg); }
.fwsm-currdd .fws-sw-menu a{ display:flex; align-items:center; gap:9px; font-family:var(--mono); font-size:13px; color:var(--zinc); padding:9px 12px; border-radius:4px; white-space:nowrap; transition:background .14s,color .14s; }
.fwsm-currdd .fws-sw-menu a:hover{ background:var(--graphite); color:var(--bone); }
.fwsm-currdd .fws-sw-menu a.active{ color:var(--bone); }
.fwsm-currdd .fws-sw-menu a.active::after{ content:"\2713"; margin-left:auto; color:var(--signal); font-size:.95em; }
@media(max-width:600px){ .fwsm-currdd{ display:none; } }
.fwsm-icon{ position:relative; color:var(--zinc); padding:8px; display:inline-flex; border-radius:var(--r); transition:color .15s,background .15s; flex-shrink:0; }
.fwsm-icon:hover{ color:var(--bone); background:var(--steel); }
.fwsm-cartcount{ position:absolute; top:0; right:0; background:var(--signal); color:#fff; font-family:var(--mono); font-size:10px; font-weight:600; min-width:16px; height:16px; border-radius:8px; display:flex; align-items:center; justify-content:center; padding:0 4px; }
.fwsm-navtoggle{ display:none; background:none; border:1px solid var(--steel-line); border-radius:var(--r); color:var(--bone); padding:7px 11px; font-size:16px; cursor:pointer; }
.fwsm-searchtoggle{ display:none; align-items:center; justify-content:center; background:none; border:none; color:var(--zinc); padding:7px; cursor:pointer; border-radius:50%; transition:color .15s, background .15s; }
.fwsm-searchtoggle:hover{ color:var(--bone); background:var(--steel); }
.fwsm-searchtoggle:active{ color:var(--signal); background:var(--steel); }
.fwsm-searchtoggle[aria-expanded="true"]{ color:var(--signal); background:rgba(226,84,28,.12); }
.fwsm-searchbar{ display:none; }
.fwsm-mobnav{ display:none; }

/* mega-menu Shop (kategorie + miniatury) */
.fwsm-caret{ font-size:.8em; color:var(--zinc); transition:transform .22s ease, color .18s ease; }
.fwsm-has-mega:hover .fwsm-caret, .fwsm-has-mega:focus-within .fwsm-caret{ transform:rotate(180deg); color:var(--signal); }
.fwsm-has-mega{ position:relative; }
.fwsm-mega{ position:absolute; top:calc(100% + 6px); left:0; min-width:480px; background:var(--steel); border:1px solid var(--steel-line); border-radius:var(--r); padding:14px; opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .18s, transform .18s, visibility .18s; z-index:70; box-shadow:0 22px 44px -18px rgba(0,0,0,.55); }
.fwsm-has-mega:hover .fwsm-mega, .fwsm-has-mega:focus-within .fwsm-mega{ opacity:1; visibility:visible; transform:none; }
.fwsm-mega-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.fwsm-mega-item{ display:flex; align-items:center; gap:12px; padding:9px; border-radius:var(--r); border:1px solid transparent; transition:background .15s, border-color .15s; }
.fwsm-mega-item:hover{ background:var(--graphite); border-color:var(--steel-line); }
.fwsm-mega-img{ width:58px; height:44px; border-radius:3px; background:var(--graphite) center/cover no-repeat; flex-shrink:0; }
.fwsm-mega-img--ph{ background:var(--graphite) repeating-linear-gradient(66deg,var(--steel-line) 0 2px,transparent 2px 9px); }
.fwsm-mega-tx{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.fwsm-mega-name{ font-family:var(--display); font-weight:700; font-size:14px; color:var(--bone); line-height:1.15; }
.fwsm-mega-count{ font-family:var(--mono); font-size:10.5px; color:var(--zinc); letter-spacing:.04em; }
.fwsm-mega-all{ display:inline-block; margin-top:10px; padding-top:10px; border-top:1px solid var(--steel-line); width:100%; font-family:var(--display); font-weight:700; font-size:13px; color:var(--signal) !important; }
/* mobile: mega rozwinięte statycznie w off-canvas */
@media(max-width:980px){
  .fwsm-mobnav .fwsm-mega{ position:static; opacity:1; visibility:visible; transform:none; min-width:0; background:transparent; border:0; box-shadow:none; padding:6px 0 10px; }
  .fwsm-mobnav .fwsm-mega-grid{ grid-template-columns:1fr 1fr; }
  .fwsm-mobnav .fwsm-caret{ display:none; }
}
@media(max-width:600px){
  .fwsm-brand{ font-size:21px; }
  .fwsm-nav{ gap:10px; }
  .fwsm-curr, .fwsm-icon:not(.fwsm-cart){ display:none; }  /* zmieść się na 390px */
  .fwsm-langs a{ padding:6px 7px; }
}
@media(max-width:980px){
  .fwsm-mainnav,.fwsm-search{ display:none; }
  .fwsm-navtoggle{ display:inline-flex; }
  .fwsm-mobnav.open{ display:block; border-top:1px solid var(--steel-line); }
  .fwsm-mobnav ul{ list-style:none; margin:0; padding:6px 0; }
  .fwsm-mobnav a{ display:block; padding:12px var(--pad); color:var(--bone); border-bottom:1px solid var(--steel-line); font-size:15px; }
}

.site-title{ font-family:var(--font-ui) !important; }
.site-title a{
  font-weight:800 !important; letter-spacing:-0.02em; color:var(--c-text) !important;
  text-transform:none; font-size:1.5rem; display:inline-flex; align-items:center; gap:.5rem;
}
/* akcent: środkowy człon "Wood" w kolorze marki — opcjonalnie przez .fws-wood */
.site-title a .fws-wood{ color:var(--c-cta) !important; }
/* pomarańczowy znacznik = akcent marki (Swiss) */
.site-title a::before{
  content:""; width:1.1rem; height:1.1rem; background:var(--c-cta);
  border-radius:2px; display:inline-block; transform:rotate(0deg);
}
/* .at usunięty na razie */
.site-title a::after{ content:none; }

/* tagline pod logo */
.site-description{ color:var(--c-muted); font-size:.72rem; letter-spacing:.02em; }

/* nawigacja */
.main-header-menu .menu-link,
.ast-builder-menu .menu-link{
  font-weight:600 !important; color:var(--c-body) !important; letter-spacing:-0.01em;
  transition:color .2s ease;
}
.main-header-menu .menu-link:hover{ color:var(--c-cta) !important; }

/* przełącznik języka w menu */
.fws-lang{ display:inline-flex; gap:.4rem; align-items:center; }
.fws-lang a{ color:var(--c-muted) !important; font-weight:600; font-size:.85rem; }
.fws-lang a.active{ color:var(--c-text) !important; }
.fws-lang .sep{ color:var(--c-border); }

/* ---------- HERO ---------- */
.fws-hero{ background:var(--c-text); color:#fff; padding:5rem 0; }
.fws-hero .wp-block-heading{ color:#fff !important; font-size:clamp(2rem,5vw,3.25rem); line-height:1.05; letter-spacing:-0.03em; max-width:20ch; }
.fws-hero p{ color:#cbd5e1; font-size:1.15rem; max-width:48ch; }
.fws-hero .wp-block-button__link{ background:var(--c-cta) !important; color:#fff !important; font-weight:700; padding:.9rem 1.6rem; border-radius:var(--radius); }
.fws-hero .fws-eyebrow{ color:var(--c-cta); font-family:var(--font-mono); font-size:.8rem; letter-spacing:.15em; text-transform:uppercase; }

/* ---------- TRUST BAR ---------- */
.fws-trust{ background:var(--c-surface); border-bottom:1px solid var(--c-border); padding:1.25rem 0; }
.fws-trust .wp-block-column{ text-align:center; color:var(--c-body); font-weight:600; font-size:.9rem; }
.fws-trust strong{ color:var(--c-text); }

/* ---------- Sekcje ---------- */
.fws-section{ padding:3.5rem 0; }
.fws-section h2.wp-block-heading{ font-size:1.75rem; letter-spacing:-0.02em; margin-bottom:.25rem; }
.fws-section .fws-sub{ color:var(--c-muted); margin-bottom:2rem; }

/* ---------- Karta produktu ---------- */
.woocommerce ul.products li.product{ transition:border-color .2s ease, box-shadow .2s ease; }
.woocommerce ul.products li.product:hover{ border-color:var(--c-cta); box-shadow:0 6px 24px -12px rgba(15,23,42,.25); }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-weight:700; color:var(--c-text); font-size:1rem; letter-spacing:-0.01em;
}
.woocommerce ul.products li.product .price{ font-family:var(--font-mono); color:var(--c-text) !important; font-weight:600; }
.woocommerce ul.products li.product .price .amount{ color:var(--c-text); }
.woocommerce ul.products li.product img{ background:#fff; border-radius:4px; }

/* ---------- Single product ---------- */
.single-product .product_title{ font-size:2rem; letter-spacing:-0.02em; }
.single-product .price{ font-family:var(--font-mono); }
.single-product .variations label{ font-weight:700; color:var(--c-text); }
.single-product table.variations select{ border:1px solid var(--c-border); border-radius:var(--radius); padding:.5rem; }
.single-product .sku_wrapper .sku{ font-family:var(--font-mono); color:var(--c-muted); }
.single-product .woocommerce-tabs .tabs li a{ font-weight:700; }

/* ---------- Homepage (custom HTML) ---------- */
.fws-wrap{ max-width:var(--maxw); margin:0 auto; padding-inline:var(--pad); }
.fws-hero,.fws-trust{ width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
/* homepage: ukryj tytuł strony "Startseite" */
.home .entry-title,
.home .ast-single-entry-banner,
.page-id-143 .entry-title{ display:none !important; }
.fws-hero{
  color:#fff; padding:5.5rem 0; position:relative; overflow:hidden;
  background:
    radial-gradient(130% 150% at 100% 110%, rgba(180,83,9,.40) 0%, rgba(180,83,9,0) 48%),
    linear-gradient(135deg, #1C1917 0%, #292524 60%, #1C1917 100%);
}
/* subtelna tekstura (linie warsztatowe) */
.fws-hero::after{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:repeating-linear-gradient(45deg, rgba(255,255,255,.018) 0 1px, transparent 1px 24px);
}
/* jeśli wrzucisz assets/img/hero.jpg — odkomentuj/aktywuje klasa .has-photo */
.fws-hero.has-photo{ background:#1C1917; }
.fws-hero.has-photo::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:url(../img/hero.jpg) center/cover no-repeat;
}
.fws-hero.has-photo::after{
  background:linear-gradient(90deg, rgba(28,25,23,.92) 0%, rgba(28,25,23,.55) 45%, rgba(180,83,9,.25) 100%);
}
.fws-hero .fws-wrap{ position:relative; z-index:1; }
.fws-hero h1{ color:#fff; font-size:clamp(2rem,5vw,3.25rem); line-height:1.05; letter-spacing:-0.03em; max-width:18ch; margin:.5rem 0 1rem; }
.fws-hero p{ color:#cbd5e1; font-size:1.15rem; max-width:46ch; margin:0; }
.fws-eyebrow{ color:var(--c-cta) !important; font-family:var(--font-mono); font-size:.8rem; letter-spacing:.15em; text-transform:uppercase; margin:0 0 .25rem; }
.fws-btn{ display:inline-block; margin-top:1.5rem; background:var(--c-cta); color:#fff !important; font-weight:700; padding:.9rem 1.6rem; border-radius:var(--radius); text-decoration:none; transition:background-color .2s; }
.fws-btn:hover{ background:var(--c-cta-hover); }
.fws-trust{ background:var(--c-surface); border-block:1px solid var(--c-border); padding:1.1rem 0; }
.fws-trust-row{ display:flex; flex-wrap:wrap; gap:.6rem 2.2rem; justify-content:center; color:var(--c-body); font-weight:600; font-size:.88rem; }
.fws-trust-row span::before{ content:"✓ "; color:var(--c-ok); }
.fws-h2{ max-width:var(--maxw); margin:3rem auto 1.25rem; padding:0 1.5rem; font-size:1.75rem; letter-spacing:-0.02em; }

/* ---------- Równe karty — ZAWSZE, niezależnie od treści ---------- */
.woocommerce ul.products{ display:grid !important; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:1.25rem; margin:0 !important; align-items:stretch !important; }
.woocommerce ul.products::before,.woocommerce ul.products::after{ content:none !important; display:none !important; }
.woocommerce ul.products li.product{ float:none !important; width:auto !important; margin:0 !important; display:flex !important; flex-direction:column; height:100%; }
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{ margin-bottom:.75rem; }
.woocommerce ul.products li.product img{ aspect-ratio:1/1; object-fit:contain; width:100%; }
/* wrapper treści wypełnia kartę → przycisk na dole */
.woocommerce ul.products li.product .astra-shop-summary-wrap{ display:flex; flex-direction:column; flex:1 1 auto; }
/* tytuł zawsze 2 linie (równa wysokość) */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .ast-woo-shop-product-title{
  min-height:3.75em; line-height:1.25; font-size:1rem; font-weight:700; color:var(--c-text) !important;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
/* przycisk "Wybierz opcje" zawsze w jednej linii */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .ast-on-card-button,
.woocommerce ul.products li.product .add_to_cart_button{ white-space:nowrap; }
.woocommerce ul.products li.product .price{ margin:.4rem 0 .8rem; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .ast-on-card-button,
.woocommerce ul.products li.product .add_to_cart_button{ margin-top:auto !important; }

/* ---------- Wszystkie przyciski Woo = pomarańcz (spójny brand) ---------- */
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button,
.woocommerce .single_add_to_cart_button,
.wc-block-components-button{
  background:var(--c-cta) !important; border-color:var(--c-cta) !important; color:#fff !important;
}
.woocommerce .button:hover,.woocommerce a.button:hover,.woocommerce .single_add_to_cart_button:hover{ background:var(--c-cta-hover) !important; }

/* ---------- Storytelling ---------- */
.fws-story{ padding:4.5rem 0; border-top:1px solid var(--c-border); }
.fws-story .fws-wrap{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }
.fws-story h2{ font-size:2rem; letter-spacing:-0.02em; margin:.25rem 0 1rem; }
.fws-story p{ color:var(--c-body); font-size:1.05rem; line-height:1.6; }
.fws-features{ display:grid; gap:1.25rem; }
.fws-feature{ border-left:3px solid var(--c-cta); padding-left:1rem; }
.fws-feature h3{ font-size:1.05rem; margin:0 0 .25rem; color:var(--c-text); }
.fws-feature p{ font-size:.95rem; color:var(--c-muted); margin:0; }
@media(max-width:782px){ .fws-story .fws-wrap{ grid-template-columns:1fr; } }

/* ---------- Footer ---------- */
.site-footer, .ast-small-footer{ background:var(--c-text); color:#cbd5e1; }
.site-footer a{ color:#e2e8f0; }

/* cały dolny footer ciemny — pełna szerokość strony (tło edge-to-edge) */
.site-footer, #colophon, .site-primary-footer-wrap, .site-footer-primary-section-1,
.ast-footer-overlay, .footer-adv, .footer-adv-overlay{ background:var(--graphite) !important; }
/* kontenery footera Astry full-width — tło sięga krawędzi, treść centrowana przez .fws-wrap */
#colophon .ast-container,
.site-primary-footer-wrap .ast-container,
.ast-footer-overlay .ast-container,
.site-primary-footer-wrap .ast-builder-grid-row-container-inner{ max-width:100% !important; padding-inline:0 !important; }
/* copyright Astry ukryty — własny foot-bar (fws-footbar) go zastępuje */
.site-below-footer-wrap, .ast-below-footer-wrap{ display:none !important; }

/* foot-bar 1:1 wg mockupu */
.fws-footbar{ background:var(--graphite); border-top:1px solid var(--steel-line); padding-block:20px; }
.fws-footbar-row{ display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-family:var(--mono); font-size:12px; color:#6b7177; }

/* ===== Scroll-to-top z pierścieniem postępu ===== */
#ast-scroll-top, .ast-scroll-top-icon, .ast-scroll-to-top-wrapper{ display:none !important; }
.fws-totop{ position:fixed; right:26px; bottom:26px; width:56px; height:56px; padding:0; border:none; border-radius:50%; background:transparent; cursor:pointer; z-index:95; opacity:0; visibility:hidden; transform:translateY(12px); transition:opacity .25s ease, transform .25s ease, visibility .25s; }
.fws-totop.show{ opacity:1; visibility:visible; transform:none; }
.fws-totop:focus, .fws-totop:focus-visible{ outline:none !important; box-shadow:none !important; }  /* bez pomarańczowego kwadratu */
.fws-totop svg{ position:absolute; inset:0; transform:rotate(-90deg); }
.fws-totop-track{ fill:var(--graphite); stroke:var(--steel-line); stroke-width:3; transition:stroke .15s; }
.fws-totop-prog{ fill:none; stroke:var(--signal); stroke-width:3; stroke-linecap:round; transition:stroke-dashoffset .12s linear; }
.fws-totop-arr{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--bone); font-size:20px; line-height:1; transition:color .15s; }
.fws-totop:hover .fws-totop-arr{ color:var(--signal); }   /* strzałka pomarańczowa na hover */
.fws-totop:hover .fws-totop-track{ stroke:var(--zinc); }

/* Footer: 4-kolumnowy blok marki + linki (wg mockupu) */
.fws-foot-cols{ background:var(--graphite); padding-block:clamp(40px,5vw,64px) 8px; }
/* kolumny rozłożone na całą szerokość (brand lewo, kolumny do prawej krawędzi) */
.fws-foot-cols-grid{ display:flex; justify-content:space-between; align-items:flex-start; gap:32px 48px; flex-wrap:wrap; }
.fws-foot-brand{ flex:1 1 300px; max-width:400px; }
.fws-foot-cols-grid .fws-foot-col{ flex:0 1 auto; }
.fws-foot-brand .fwsm-brand{ font-size:19px; margin-bottom:14px; }
.fws-foot-brand p{ color:var(--zinc); max-width:34ch; font-size:14px; line-height:1.6; }
.fws-foot-col h5{ font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#6b7177; margin-bottom:16px; }
.fws-foot-col ul{ list-style:none; display:flex; flex-direction:column; gap:10px; margin:0; padding:0; }
.fws-foot-col a{ color:var(--zinc) !important; font-size:14px; transition:color .15s; }
.fws-foot-col a:hover{ color:var(--bone) !important; }
@media(max-width:880px){ .fws-foot-cols-grid{ grid-template-columns:1fr 1fr; gap:28px; } }
@media(max-width:520px){ .fws-foot-cols-grid{ grid-template-columns:1fr; } }

/* Footer trust bar (linki prawne + metody płatności) */
.fws-foot-trust{ background:var(--c-text); border-top:1px solid rgba(255,255,255,.08); padding:1.15rem 0; }
.fws-foot-trust-row{ display:flex; flex-wrap:wrap; gap:1rem 1.5rem; align-items:center; justify-content:space-between; }
.fws-foot-legal{ display:flex; flex-wrap:wrap; gap:.45rem .95rem; }
.fws-foot-legal a{ font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.55) !important; text-decoration:none; transition:color .2s ease; }
.fws-foot-legal a:hover{ color:#fff !important; }
.fws-foot-pay{ display:flex; align-items:center; gap:.5rem; color:rgba(255,255,255,.45); }
.fws-foot-pay .fws-pay-ic{ color:var(--c-cta); flex-shrink:0; }
.fws-foot-pay-label{ font-size:.72rem; letter-spacing:.04em; }
.fws-foot-pay-marks{ display:flex; gap:.4rem; flex-wrap:wrap; }
.fws-pay-chip{ font-family:'IBM Plex Mono',monospace; font-size:.62rem; font-weight:500; letter-spacing:.05em; text-transform:uppercase; color:rgba(255,255,255,.8); border:1px solid rgba(255,255,255,.18); border-radius:3px; padding:.2rem .42rem; line-height:1; white-space:nowrap; }
@media(max-width:782px){ .fws-foot-trust-row{ flex-direction:column; align-items:flex-start; gap:.9rem; } }

/* Logo: używamy obrazkowego custom logo — chowamy tekstowy tytuł witryny
   (logo jest w osobnym .site-logo-img, więc zostaje widoczne). */
.ast-site-title-wrap{ display:none !important; }

/* ---------- Górny pasek (announcement) ---------- */
.fws-topbar{ background:var(--c-text); color:#cbd5e1; font-size:.78rem; }
.fws-topbar-row{ display:flex; gap:.9rem; justify-content:center; align-items:center; padding:.5rem 0; flex-wrap:wrap; letter-spacing:.01em; }
.fws-topbar-sep{ color:var(--c-cta); }
@media(max-width:600px){ .fws-topbar-left{ font-size:.72rem; } }

/* ---------- Dropdown walut w menu (obok języków) ---------- */
.fws-curr-item{ display:flex; align-items:center; }
.fws-curr{ position:relative; display:inline-block; }
.fws-curr-toggle{ cursor:pointer; font-weight:600; color:var(--c-body); font-size:.85rem; display:inline-flex; gap:.25rem; align-items:center; transition:color .2s ease; }
.fws-curr:hover .fws-curr-toggle{ color:var(--c-cta); }
.fws-curr-toggle i{ font-style:normal; font-size:.6em; color:var(--c-muted); }
.fws-curr-menu{ position:absolute; top:100%; right:0; min-width:96px; background:#fff; border:1px solid var(--c-border); border-radius:var(--radius); box-shadow:0 10px 28px -12px rgba(15,23,42,.28); padding:.25rem; display:none; flex-direction:column; z-index:60; }
.fws-curr:hover .fws-curr-menu{ display:flex; }
.fws-curr-menu a{ padding:.35rem .65rem; color:var(--c-body) !important; font-size:.85rem; border-radius:4px; white-space:nowrap; text-decoration:none; }
.fws-curr-menu a:hover{ background:var(--c-bg); color:var(--c-cta) !important; }
.fws-curr-menu a.active{ color:var(--c-text) !important; font-weight:700; }

/* ---------- Banner kategorii (w kolumnie treści, nie full-bleed) ---------- */
.fws-cat-banner{ background:var(--c-text); color:#fff; padding:2.5rem; border-radius:var(--radius); margin-bottom:1.5rem; position:relative; overflow:hidden; }
.fws-cat-banner .fws-wrap{ max-width:none; padding:0; }
.fws-cat-banner.has-img::before{ content:""; position:absolute; inset:0; background:var(--cat-img) center/cover no-repeat; opacity:.55; }
.fws-cat-banner.has-img::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(28,25,23,.92),rgba(28,25,23,.45) 70%,rgba(180,83,9,.2)); }
.fws-cat-banner .fws-wrap{ position:relative; z-index:1; }
.fws-cat-banner h1{ color:#fff !important; font-size:2.1rem; letter-spacing:-0.02em; margin:0; }
.fws-cat-banner p{ color:#e2e8f0; max-width:60ch; margin:.5rem 0 0; }
.tax-product_cat .ast-archive-description, .tax-product_cat .woocommerce-products-header{ display:none !important; }

/* ---------- Sidebar filtrów ---------- */
.widget-area .widget-title, .widget .widgettitle{ font-size:.95rem; font-weight:700; color:var(--c-text); border-bottom:1px solid var(--c-border); padding-bottom:.4rem; margin-bottom:.8rem; letter-spacing:-0.01em; }
.widget_product_categories ul, .widget_layered_nav ul{ list-style:none; margin:0; padding:0; }
.widget_product_categories li, .widget_layered_nav li{ padding:.25rem 0; }
.woocommerce .widget_price_filter .ui-slider-range, .woocommerce .widget_price_filter .ui-slider .ui-slider-handle{ background:var(--c-cta) !important; }
.woocommerce .widget_price_filter .price_slider_amount .button{ font-size:.8rem; padding:.4rem .8rem; }

/* Scroll-to-top: kolor marki (amber #B45309) zamiast domyślnego */
#ast-scroll-top{ background-color:var(--c-cta) !important; color:#fff !important; }
#ast-scroll-top:hover{ background-color:var(--c-cta-hover) !important; }

/* ============================================================
   UTILITY / PREMIUM POLISH (z analizy UX — P0/P1)
   ============================================================ */

/* Amber hover na pozycjach menu głównego */
.main-header-menu .menu-link:hover,
.ast-header-navigation-area .menu-link:hover,
.ast-builder-menu a:hover,
.main-navigation a:hover{ color:var(--c-cta) !important; }

/* Koszyk: licznik mono + amber koło, biała cyfra (zapobiega layout-shift) */
.ast-cart-menu-wrap .count,
.ast-addon-cart-wrap .ast-cart-menu-wrap .count,
.ast-site-header-cart .count{
  font-family:var(--font-mono) !important;
  background:var(--c-cta) !important;
  color:#fff !important;
  border:none !important;
  font-variant-numeric:tabular-nums;
}

/* Konto: amber kropka-wskaźnik gdy zalogowany */
body.logged-in .ast-header-account-wrap .ahfb-svg-iconset,
body.logged-in .ast-header-account-type-icon{ position:relative; }
body.logged-in .ast-header-account-wrap .ahfb-svg-iconset::after,
body.logged-in .ast-header-account-type-icon::after{
  content:""; position:absolute; top:-2px; right:-2px;
  width:7px; height:7px; border-radius:50%;
  background:var(--c-cta); border:1.5px solid var(--c-surface);
}

/* Ikony nagłówka: czytelny touch target (mobile a11y >=44px) */
.ast-header-account-wrap a, .ast-cart-menu-wrap a, .ast-search-icon{
  min-width:44px; min-height:44px; display:inline-flex;
  align-items:center; justify-content:center;
}

/* Stepper ilości: monospace + czyste obrysy (inżynierskie premium) */
.woocommerce .quantity input.qty{
  font-family:var(--font-mono) !important;
  font-variant-numeric:tabular-nums;
  border:1px solid var(--c-text); border-radius:0;
  color:var(--c-text); text-align:center;
}
.woocommerce .quantity{ border-radius:0; }

/* SKU / dane techniczne monospaced (jeśli pokazywane) */
.woocommerce .product_meta .sku,
.woocommerce span.sku{ font-family:var(--font-mono) !important; color:var(--c-muted); }

/* ============================================================
   HEADER v2 — spójny nagłówek: ikony w palecie, switchery dropdown
   ============================================================ */

/* --- Ikony nagłówka: charcoal, amber na hover (jeden akcent) --- */
.ast-header-search .ahfb-svg-iconset svg,
.ast-header-account .ahfb-svg-iconset svg,
.ast-site-header-cart .ahfb-svg-iconset svg,
.ast-header-account .account-icon{
  fill:var(--c-text) !important; color:var(--c-text) !important;
  width:21px !important; height:21px !important;
}
.ast-header-search:hover .ahfb-svg-iconset svg,
.ast-header-account:hover .ahfb-svg-iconset svg,
.ast-site-header-cart:hover .ahfb-svg-iconset svg,
.ast-header-account:hover .account-icon{
  fill:var(--c-cta) !important; color:var(--c-cta) !important;
}

/* --- Koszyk: precz z niebieskim boxem Astry; spójnie z lupą/kontem --- */
.ast-site-header-cart .ast-cart-menu-wrap,
.ast-site-header-cart.ast-menu-cart-with-border .ast-cart-menu-wrap,
.ast-site-header-cart.ast-menu-cart-outline .ast-cart-menu-wrap{
  border:0 !important; padding:0 6px !important; display:flex; align-items:center; line-height:1;
}
.ast-site-header-cart .ast-cart-menu-wrap .count,
.ast-addon-cart-wrap .ast-cart-menu-wrap .count,
.ast-site-header-cart .count{
  background:var(--c-cta) !important; color:#fff !important; border-color:var(--c-cta) !important;
  font-family:var(--font-mono) !important; font-variant-numeric:tabular-nums;
}

/* --- Wyrównanie ikon w pionie (koszyk był wyżej niż lupa/konto) --- */
.main-header-bar .site-header-focus-item,
.ast-header-search, .ast-header-account, .ast-site-header-cart{
  display:flex !important; align-items:center !important;
}

/* --- Switchery: język + waluta jako spójne, eleganckie dropdowny --- */
.fws-lang, .fws-curr{ position:relative; display:inline-flex; align-items:center; }
.fws-lang-item, .fws-curr-item{ display:flex !important; align-items:center; }
.fws-lang-toggle, .fws-curr-toggle{
  display:inline-flex; align-items:center; gap:5px; cursor:pointer;
  font-family:var(--font-ui); font-size:13px; font-weight:600; letter-spacing:.02em;
  color:var(--c-text); padding:6px 9px; border-radius:5px; line-height:1; white-space:nowrap;
}
.fws-lang-toggle i, .fws-curr-toggle i{ font-style:normal; font-size:9px; color:var(--c-muted); transition:transform .15s ease; }
.fws-lang:hover .fws-lang-toggle, .fws-curr:hover .fws-curr-toggle{ color:var(--c-cta); }
.fws-lang:hover .fws-lang-toggle i, .fws-curr:hover .fws-curr-toggle i{ transform:rotate(180deg); color:var(--c-cta); }
.fws-lang-menu, .fws-curr-menu{
  position:absolute; top:calc(100% + 6px); right:0; min-width:124px; z-index:120;
  display:none; flex-direction:column; padding:6px;
  background:var(--c-surface); border:1px solid var(--c-border); border-radius:8px;
  box-shadow:0 10px 28px rgba(15,23,42,.12);
}
.fws-lang:hover .fws-lang-menu, .fws-lang:focus-within .fws-lang-menu,
.fws-curr:hover .fws-curr-menu, .fws-curr:focus-within .fws-curr-menu{ display:flex; }
.fws-lang-menu a, .fws-curr-menu a{
  padding:8px 11px; border-radius:5px; font-family:var(--font-ui); font-size:13px;
  color:var(--c-body); text-decoration:none; white-space:nowrap; line-height:1.2;
}
.fws-lang-menu a:hover, .fws-curr-menu a:hover{ background:var(--c-bg); color:var(--c-cta); }
.fws-lang-menu a.active, .fws-curr-menu a.active{ color:var(--c-cta); font-weight:600; }

/* --- Separacja: nawigacja | switchery | ikony --- */
.fws-lang-item{ margin-left:6px; }
.fws-lang-item::before{
  content:""; display:inline-block; width:1px; height:18px;
  background:var(--c-border); margin-right:12px;
}
.fws-curr-item{ margin-right:10px; }

/* dropdowny nie mogą być przycinane przez nagłówek */
.ast-header-navigation-area, .main-header-bar-navigation,
.main-header-menu, .ast-builder-menu-1 .main-header-menu{ overflow:visible !important; }

/* --- Topbar mobile: czysty, bez brzydkiego łamania pojedynczego słowa --- */
@media (max-width:768px){
  .fws-topbar .fws-topbar-row{ justify-content:center; }
  .fws-topbar .fws-topbar-left{ font-size:11px; letter-spacing:0; line-height:1.45; text-align:center; }
}

/* ============================================================
   HEADER v3 — utility topbar (lang/waluta) + dobicie kolorów ikon
   ============================================================ */

/* Topbar: trust po lewej, switchery po prawej */
.fws-topbar .fws-topbar-row{
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:2px 16px;
}
.fws-topbar-right{ display:inline-flex; align-items:center; gap:2px; }

/* Switcher = WYRAŹNA kontrolka dropdown (chevron, globus, hover-pill) */
.fws-topbar .fws-sw{ position:relative; display:inline-flex; align-items:center; }
.fws-topbar .fws-sw-toggle{
  display:inline-flex; align-items:center; gap:5px; cursor:pointer;
  background:transparent; border:1px solid rgba(255,255,255,.16); border-radius:6px;
  font-family:var(--font-ui); font-size:12px; font-weight:600; letter-spacing:.03em;
  color:#E7E5E4; padding:4px 9px; line-height:1; appearance:none;
  transition:background .15s,color .15s,border-color .15s;
}
.fws-topbar .fws-sw-ic{ opacity:.85; }
.fws-topbar .fws-sw-caret{ font-style:normal; font-size:9px; opacity:.8; transition:transform .15s ease; }
.fws-topbar .fws-sw-toggle:hover,
.fws-topbar .fws-sw:focus-within .fws-sw-toggle{
  background:rgba(255,255,255,.10); border-color:rgba(255,255,255,.30); color:#fff;
}
.fws-topbar .fws-sw:hover .fws-sw-caret,
.fws-topbar .fws-sw:focus-within .fws-sw-caret{ transform:rotate(180deg); color:var(--c-cta); }
.fws-topbar .fws-sw-menu{
  position:absolute; top:calc(100% + 7px); right:0; min-width:132px; z-index:300;
  display:none; flex-direction:column; padding:6px;
  background:var(--c-surface); border:1px solid var(--c-border); border-radius:8px;
  box-shadow:0 12px 30px rgba(15,23,42,.20);
}
.fws-topbar .fws-sw:hover .fws-sw-menu,
.fws-topbar .fws-sw:focus-within .fws-sw-menu{ display:flex; }
.fws-topbar .fws-sw-menu a{
  padding:8px 11px; border-radius:5px; font-size:13px; color:var(--c-body);
  text-decoration:none; white-space:nowrap; line-height:1.2;
}
.fws-topbar .fws-sw-menu a:hover{ background:var(--c-bg); color:var(--c-cta); }
.fws-topbar .fws-sw-menu a.active{ color:var(--c-cta); font-weight:600; }

/* --- DOBICIE kolorów ikon u źródła (Astra link-color = niebieski) --- */
.ast-header-search a, .ast-header-search .ast-icon, .ast-search-menu-icon .ast-icon,
.ast-header-search svg, .ast-search-menu-icon svg, .ast-search-menu-icon path,
.ast-site-header-cart .ast-cart-menu-wrap a, .ast-site-header-cart a,
.ast-site-header-cart svg, .ast-site-header-cart path, .ast-site-header-cart .ast-icon{
  color:var(--c-text) !important; fill:var(--c-text) !important;
}
.ast-site-header-cart.ast-menu-cart-with-border .ast-cart-menu-wrap,
.ast-site-header-cart.ast-menu-cart-outline .ast-cart-menu-wrap{ border-color:transparent !important; }
.ast-header-search:hover svg, .ast-header-search:hover path, .ast-search-menu-icon:hover svg,
.ast-site-header-cart:hover svg, .ast-site-header-cart:hover path, .ast-site-header-cart:hover a{
  color:var(--c-cta) !important; fill:var(--c-cta) !important;
}
.ast-site-header-cart .count, .ast-cart-menu-wrap .count{
  background:var(--c-cta) !important; color:#fff !important; border-color:var(--c-cta) !important;
}

/* Topbar mobile: trust nad switcherami, wyśrodkowane, bez brzydkiego łamania */
@media (max-width:768px){
  .fws-topbar .fws-topbar-row{ justify-content:center; }
  .fws-topbar .fws-topbar-left{ flex:1 1 100%; text-align:center; font-size:11px; letter-spacing:0; line-height:1.45; }
  .fws-topbar-right{ flex:0 0 auto; }
}

/* ============================================================
   HEADER v4 — dobicie niebieskiego (koszyk box/badge, hamburger) + dropdown na klik
   ============================================================ */

/* Koszyk: zero niebieskiego boxu na KAŻDYM wrapperze Astry */
.ast-addon-cart-wrap,
.ast-site-header-cart .ast-cart-menu-wrap,
.ast-site-header-cart.ast-menu-cart-with-border .ast-cart-menu-wrap,
.ast-site-header-cart.ast-menu-cart-outline .ast-cart-menu-wrap{
  border-color:transparent !important; box-shadow:none !important;
}
/* Badge liczby: amber wszędzie (background + background-color) */
.ast-addon-cart-wrap .count,
.ast-site-header-cart .ast-cart-menu-wrap .count,
.ast-cart-menu-wrap .count,
.ast-site-header-cart .count{
  background:var(--c-cta) !important; background-color:var(--c-cta) !important;
  color:#fff !important; border-color:var(--c-cta) !important;
}

/* Hamburger mobile: charcoal zamiast niebieskiego */
.ast-mobile-svg, .ast-mobile-menu-trigger-fill .ast-mobile-svg,
.ast-mobile-menu-trigger-minimal .ast-mobile-svg,
.menu-toggle .ast-mobile-svg, button.menu-toggle svg{
  fill:var(--c-text) !important; color:var(--c-text) !important;
}

/* Aktywna pozycja dropdownu -> amber (wzmocnione !important) */
.fws-topbar .fws-sw-menu a.active{ color:var(--c-cta) !important; font-weight:600; }

/* Dropdown otwierany KLIKIEM (JS dodaje .is-open) — działa na mobile/touch */
.fws-topbar .fws-sw.is-open .fws-sw-menu{ display:flex; }
.fws-topbar .fws-sw.is-open .fws-sw-caret{ transform:rotate(180deg); color:var(--c-cta); }
.fws-topbar .fws-sw.is-open .fws-sw-toggle{ background:rgba(255,255,255,.10); border-color:rgba(255,255,255,.30); color:#fff; }

/* ============================================================
   HEADER v5 — zabij globalny niebieski Astry (color dziedziczony na ikony/linki)
   ============================================================ */
.site-header .ast-header-account-wrap, .site-header .ast-header-account-link,
.site-header .ast-site-header-cart, .site-header .ast-site-header-cart a, .site-header .ast-addon-cart-wrap,
.site-header .ast-search-menu-icon, .site-header .ast-search-menu-icon a,
.site-header .ahfb-svg-iconset, .site-header .ast-icon, .site-header i.astra-icon,
.main-header-menu .menu-link, .ast-header-navigation-area .menu-link, button.menu-toggle{
  color:var(--c-text) !important;
}
/* pole szukania: ramka w palecie, nie niebieska */
.site-header .search-form, .ast-search-menu-icon .search-form{ border-color:var(--c-border) !important; }
/* hover: amber (jeden akcent) */
.site-header .ast-header-account-wrap:hover, .site-header .ast-header-account-wrap:hover a,
.site-header .ast-site-header-cart:hover, .site-header .ast-site-header-cart:hover a,
.site-header .ast-search-menu-icon:hover, .site-header .ast-search-menu-icon:hover a,
.main-header-menu .menu-link:hover, .ast-header-navigation-area .menu-link:hover{
  color:var(--c-cta) !important;
}
/* focus-ring: amber zamiast niebieskiego */
.site-header a:focus-visible, .site-header button:focus-visible,
.fws-topbar .fws-sw-toggle:focus-visible{ outline:2px solid var(--c-cta) !important; outline-offset:2px; }

/* HEADER v6 — badge koszyka amber: wygrana specyficznością z paletą Astry (--ast-global-color-0) */
.site-header .ast-site-header-cart .ast-cart-menu-wrap .count.count,
.ast-header-woo-cart-wrap .ast-cart-menu-wrap .count.count,
.ast-addon-cart-wrap .count.count,
.ast-cart-menu-wrap .count.count{
  background:var(--c-cta) !important; background-color:var(--c-cta) !important;
  color:#fff !important; border-color:var(--c-cta) !important;
}

/* HEADER v7 — badge koszyka: przedefiniuj zmienną Astry lokalnie na koszyku (bulletproof) */
.ast-cart-menu-wrap, .ast-site-header-cart, .ast-addon-cart-wrap, .ast-header-woo-cart-wrap{
  --ast-global-color-0: var(--c-cta);
}
.ast-cart-menu-wrap .count, .ast-cart-menu-wrap .count.count{
  background:var(--c-cta) !important; background-color:var(--c-cta) !important;
  color:#fff !important; border:none !important; box-shadow:none !important;
}

/* HEADER v8 — PRAWDZIWY badge: pseudo-element i.astra-icon::after (nie .count!) */
.ast-site-header-cart i.astra-icon::after,
.ast-site-header-cart .ast-addon-cart-wrap i.astra-icon::after,
.ast-site-header-cart i.astra-icon:after{
  background:var(--c-cta) !important; background-color:var(--c-cta) !important;
  color:#fff !important; box-shadow:none !important;
}
/* outline box koszyka (też z var-0) -> bez ramki, spójnie z lupą/kontem */
.ast-menu-cart-outline .ast-addon-cart-wrap,
.ast-menu-cart-outline .ast-cart-menu-wrap .count,
.ast-menu-cart-outline .ast-cart-menu-wrap{ border-color:transparent !important; }

/* HEADER v9 — usuń wskaźnik-kropki przy koncie (renderowały się DWIE, myliły) */
body.logged-in .ast-header-account-wrap .ahfb-svg-iconset::after,
body.logged-in .ast-header-account-type-icon::after{ content:none !important; display:none !important; }

/* HEADER v10 — konto jako dropdown (Anmelden / Konto erstellen) */
.ast-header-account-wrap{ position:relative; }
/* caret sygnalizujący rozwijane menu przy ikonie konta */
.ast-header-account-wrap .ast-header-account-link::after{
  content:"\25BE"; font-size:9px; margin-left:3px; color:var(--c-muted);
  vertical-align:middle; transition:transform .15s ease,color .15s ease;
}
.ast-header-account-wrap.is-open .ast-header-account-link::after{ transform:rotate(180deg); color:var(--c-cta); }
.ast-header-account-wrap:hover .ast-header-account-link::after{ color:var(--c-cta); }
/* menu */
.fws-acc-menu{
  position:absolute; top:calc(100% + 8px); right:0; min-width:184px; z-index:300;
  display:none; flex-direction:column; padding:6px;
  background:var(--c-surface); border:1px solid var(--c-border); border-radius:8px;
  box-shadow:0 12px 30px rgba(15,23,42,.14);
}
.ast-header-account-wrap.is-open .fws-acc-menu{ display:flex; }
.fws-acc-menu a{
  padding:9px 12px; border-radius:5px; font-family:var(--font-ui); font-size:13px;
  color:var(--c-body); text-decoration:none; white-space:nowrap; line-height:1.3;
}
.fws-acc-menu a:hover{ background:var(--c-bg); color:var(--c-cta); }
.fws-acc-menu a.fws-acc-primary{ color:var(--c-text); font-weight:600; }
.fws-acc-menu a.fws-acc-primary:hover{ color:var(--c-cta); }

/* ============================================================
   APP-SHELL MOBILNY — dolny pasek nawigacji (wg mockup/Mobile)
   Widoczny tylko na mobile. Tokeny z motywu, ikony z makiety.
   ============================================================ */
.fws-tabbar{ display:none; }
@media(max-width:768px){
  .fws-tabbar{
    position:fixed; left:0; right:0; bottom:0; z-index:1000;
    display:flex; height:60px;
    background:rgba(251,250,247,.97); backdrop-filter:blur(8px);
    border-top:1px solid #e2ddd3;
    padding-bottom:env(safe-area-inset-bottom);
  }
  .fws-tabbar a{
    flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
    color:#9a9388; font-family:var(--display); font-size:10px; font-weight:600;
    position:relative; text-decoration:none;
  }
  .fws-tabbar a svg{ width:21px; height:21px; }
  .fws-tabbar a.on{ color:var(--signal); }
  .fws-tabbar a:active{ background:rgba(226,84,28,.06); }
  .fws-tabbar .tbadge{
    position:absolute; top:6px; right:calc(50% - 20px);
    background:var(--signal); color:#fff; font-family:var(--mono); font-size:8px; font-weight:600;
    min-width:14px; height:14px; border-radius:7px; display:flex; align-items:center; justify-content:center; padding:0 3px;
  }
  /* miejsce na pasek, żeby stopka/treść nie chowały się pod nim */
  body{ padding-bottom:calc(60px + env(safe-area-inset-bottom)); }
}

/* ============================================================
   NAGŁÓWEK MOBILNY (app-bar wg makiety): marka + koszyk + burger.
   Tylko te 3 elementy — reszta (nav/search/język/waluta) do menu.
   ============================================================ */
@media(max-width:768px){
  /* nagłówek twardo na szerokość viewportu (koniec rozjazdu centrowania) */
  .fwsm-hdr{ width:100%; max-width:100%; }
  .fwsm-hdr .wrap{ max-width:100% !important; padding-inline:16px !important; }
  .fwsm-nav{ width:100%; max-width:100%; gap:8px; height:58px; flex-wrap:nowrap; justify-content:flex-end; }
  .fwsm-brand{ font-size:20px; margin-right:auto; min-width:0; }  /* pcha koszyk+burger w prawo */
  .fwsm-spacer{ display:none; }
  .fwsm-nav > .fwsm-langs,
  .fwsm-nav > .fwsm-curr,
  .fwsm-nav > .fwsm-currdd,
  .fwsm-nav > .fwsm-search,
  .fwsm-nav > .fwsm-mainnav{ display:none !important; }  /* tylko marka+koszyk+burger */
  .fwsm-icon.fwsm-cart{ display:none !important; }   /* koszyk jest w dolnym pasku — w app-barze zbędny */
  .fwsm-searchtoggle{ display:inline-flex !important; flex:none; align-items:center; }
  .fwsm-navtoggle{ display:inline-flex !important; flex:none; }
  /* rozwijany pasek wyszukiwania pod app-barem */
  .fwsm-searchbar.open{ display:block; padding:10px 16px 12px; border-top:1px solid var(--steel-line); background:var(--graphite); }
  .fwsm-searchbar .fwsm-search{ display:flex; width:100%; max-width:none; min-width:0; }
}
/* ============================================================
   DRAWER mobilny — wysuwa z PRAWEJ + scrim (1:1 wg .drawer z mockup/Mobile)
   ============================================================ */
.fwsm-mobnav-langs{ display:none; }
.fwsm-scrim{ position:fixed; inset:0; background:rgba(12,13,15,.5); z-index:1150; opacity:0; pointer-events:none; transition:opacity .22s; }
.fwsm-scrim.open{ opacity:1; pointer-events:auto; }
body.fws-noscroll{ overflow:hidden; }

@media(max-width:768px){
  .fwsm-mobnav{
    display:flex !important; flex-direction:column;
    position:fixed; top:0; right:0; bottom:0; width:82%; max-width:330px;
    background:var(--graphite); color:var(--bone); z-index:1200;
    transform:translateX(100%); transition:transform .26s cubic-bezier(.4,0,.2,1);
    overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain;
    box-shadow:-22px 0 50px -22px rgba(0,0,0,.6); border:0;
  }
  .fwsm-mobnav.open{ transform:translateX(0); border-top:0; }
  .fwsm-mobnav-head{ display:flex; align-items:center; justify-content:space-between; padding:16px 20px 14px; border-bottom:1px solid var(--steel-line); }
  .fwsm-mobnav-close{ margin-right:-6px; }  /* X optycznie przy krawędzi, logo równo z linkami (20px) */
  .fwsm-mobnav-head .fwsm-brand{ font-size:17px !important; margin:0 !important; }
  .fwsm-mobnav-close{ background:none; border:none; color:var(--zinc); padding:6px; cursor:pointer; display:inline-flex; }
  .fwsm-mobnav-close:active{ color:var(--bone); }
  .fwsm-drawer-nav{ padding:8px 0; }
  .fwsm-drawer-nav a{ display:flex; align-items:center; justify-content:space-between; padding:15px 20px; font-family:var(--display); font-weight:700; font-size:17px; color:var(--bone); border-bottom:1px solid rgba(51,56,62,.5); text-decoration:none; }
  .fwsm-drawer-nav a:active{ background:var(--steel); }
  .fwsm-drawer-nav a .arr{ color:var(--signal); }
  /* stopka drawera: dwa rzędy ustawień (podpis z lewej, segment z prawej) */
  .fwsm-mobnav-langs{ display:flex; flex-direction:column; gap:12px; margin-top:6px; padding:16px 20px calc(16px + env(safe-area-inset-bottom)); border-top:1px solid var(--steel-line); }
  .fwsm-mobnav-row{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 14px; }
  .fwsm-mobnav-lbl{ font-family:var(--mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--zinc); }
  .fwsm-mobnav-langs .fwsm-langs,
  .fwsm-mobnav-langs .fwsm-curr{ display:inline-flex; }   /* override ukrycia .fwsm-curr na ≤600px (header) */
  .fwsm-mobnav-langs .fwsm-langs a,
  .fwsm-mobnav-langs .fwsm-curr a{ padding:8px 13px; font-size:12px; }
  /* mega-menu z desktopu nie wjeżdża do drawera */
  .fwsm-mobnav .fwsm-mega, .fwsm-mobnav .fwsm-caret{ display:none !important; }
}

/* ============================================================
   MOBILE: spójny padding (logo = treść), scroll-to-top, footer UX/UI
   ============================================================ */
@media(max-width:768px){
  :root{ --pad:16px; }                       /* logo równo z treścią podstron i stopką */
  .fws-totop{ display:none !important; }      /* dolny bar zasłaniał — chowamy na mobile */

  /* Footer: marka pełna szerokość, linki w 2 kolumnach (było display:flex → grid nie działał) */
  .fws-foot-cols-grid{ display:grid !important; grid-template-columns:1fr 1fr; gap:30px 24px; }
  .fws-foot-brand{ grid-column:1 / -1; max-width:none; }

  /* Pasek płatności: wyśrodkowany, znaki zawijają się równo (nie jeden pod drugim) */
  .fws-foot-trust{ padding:1rem 0; }
  .fws-foot-trust-row{ flex-direction:column; align-items:center; gap:.7rem; }
  .fws-foot-pay{ flex-wrap:wrap; justify-content:center; gap:.5rem .6rem; text-align:center; }
  .fws-foot-pay-marks{ flex-wrap:wrap; justify-content:center; gap:.4rem; }

  /* Copyright: dwie linie pod sobą, wyśrodkowane, nad dolnym barem */
  .fws-footbar{ padding-bottom:18px; }
  .fws-footbar-row{ flex-direction:column; align-items:center; gap:6px; text-align:center; }
}
@media(max-width:380px){
  .fws-foot-cols-grid{ grid-template-columns:1fr !important; }
}

/* ============================================================
   GLOBALNY breadcrumb — ten sam styl (Home / sep / cur) na każdej stronie
   wymagającej tego w e-commerce; pełna szerokość nad treścią, wyrównany do
   --maxw + --pad (jak header/footer). Spójny z .crumb w szablonach.
   ============================================================ */
.fws-crumb-bar{ padding:18px 0 0; }
.fws-crumb-bar .fws-wrap{ display:flex; flex-wrap:wrap; align-items:center; font-family:var(--mono); font-size:12px; color:#7c7f84; }
.fws-crumb-bar a{ color:#7c7f84; text-decoration:none; }
.fws-crumb-bar a:hover{ color:var(--signal); }
.fws-crumb-bar .sep{ color:#bdb8ad; margin:0 7px; }
.fws-crumb-bar .cur{ color:var(--ink); }
.woocommerce-breadcrumb{ display:none !important; }

