/* ============================================================================
   Sewofworld — Modern 2026 design layer
   ----------------------------------------------------------------------------
   Warstwa nakładkowa ładowana PO global.css (CCC bundle) i header-flow.css.
   Zawiera: fonty lokalne (Inter + EB Garamond), tokeny, typografię, przyciski,
   formularze, header, karty produktów, stronę produktu, kategorię, koszyk,
   checkout, stopkę i drobne komponenty.
   Rewert: usunąć <link> w header.tpl (i opcjonalnie ten plik).
   ========================================================================== */

/* ----------------------------------------------------------------------------
   1. FONTY (self-hosted, woff2, zmienne; podzbiory latin / latin-ext / greek
      — pokrywa przyszłe języki: PL, IT, ES, PT, DE, EL, RO, LT, HR, SL, HU,
      CS, SK, IE)
   -------------------------------------------------------------------------- */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/inter-greek.woff2) format('woff2'); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/inter-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/inter-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'EB Garamond'; font-style: normal; font-weight: 400 800; font-display: swap; src: url(../fonts/ebgaramond-greek.woff2) format('woff2'); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: 'EB Garamond'; font-style: normal; font-weight: 400 800; font-display: swap; src: url(../fonts/ebgaramond-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'EB Garamond'; font-style: normal; font-weight: 400 800; font-display: swap; src: url(../fonts/ebgaramond-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ----------------------------------------------------------------------------
   2. TOKENY
   -------------------------------------------------------------------------- */
:root {
  --sw-ink: #1a1611;
  --sw-ink-2: #241f18;
  --sw-ink-3: #3a332a;
  --sw-paper: #f6f2ea;
  --sw-surface: #fffdf8;
  --sw-surface-2: #faf7f0;
  --sw-line: #e6decd;
  --sw-line-2: #d9cfba;
  --sw-gold: #b3872e;
  --sw-gold-2: #936c1d;
  --sw-gold-soft: #f5ecd7;
  --sw-text: #2b251d;
  --sw-muted: #6e6555;
  --sw-muted-2: #948a77;
  --sw-danger: #a03a2e;
  --sw-green: #2f6b46;
  --sw-radius: 10px;
  --sw-radius-lg: 16px;
  --sw-pill: 999px;
  --sw-shadow-1: 0 1px 2px rgba(26, 22, 17, .05), 0 4px 14px -8px rgba(26, 22, 17, .12);
  --sw-shadow-2: 0 2px 4px rgba(26, 22, 17, .06), 0 18px 40px -18px rgba(26, 22, 17, .28);
  --sw-font-serif: 'EB Garamond', 'Times New Roman', Georgia, serif;
  --sw-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* ----------------------------------------------------------------------------
   3. BAZA / TYPOGRAFIA
   -------------------------------------------------------------------------- */
body {
  font-family: var(--sw-font-sans);
  font-size: 16px;
  line-height: 1.65;
  color: var(--sw-text);
  background: var(--sw-paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--sw-font-serif);
  font-weight: 600;
  color: var(--sw-ink);
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.22;
}

h1 { font-size: 38px; }
h2 { font-size: 30px; }
h3 { font-size: 24px; }
h4 { font-size: 20px; }
h5 { font-size: 17px; }

p { margin: 0 0 14px; }

a { color: var(--sw-ink-3); transition: color .18s ease; }
a:hover, a:focus { color: var(--sw-gold-2); text-decoration: none; }

::selection { background: var(--sw-gold-soft); color: var(--sw-ink); }

:focus-visible { outline: 2px solid var(--sw-gold); outline-offset: 2px; }

hr { border: 0; border-top: 1px solid var(--sw-line); margin: 28px 0; }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }

/* Treści redakcyjne (opisy, CMS, FAQ) */
.rte { color: var(--sw-text); font-size: 16px; line-height: 1.75; }
.rte p { margin: 0 0 14px; }
.rte h1, .rte h2 { font-size: 28px; margin: 34px 0 14px; }
.rte h3 { font-size: 22px; margin: 28px 0 12px; }
.rte h4 { font-size: 18px; margin: 24px 0 10px; }
.rte ul, .rte ol { margin: 0 0 16px; padding-left: 22px; }
.rte li { margin-bottom: 6px; }
.rte img { max-width: 100%; height: auto; }
.rte table,
.sdsarticle-des table {
  width: 100%;
  margin: 18px 0 26px;
  border-collapse: collapse;
  font-size: 15px;
  background: var(--sw-surface);
  border: 1px solid var(--sw-line);
}
.rte table th,
.sdsarticle-des table th {
  font: 700 12px/1.4 var(--sw-font-sans);
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--sw-ink);
  background: var(--sw-surface-2);
  border: 1px solid var(--sw-line);
  padding: 11px 14px;
  text-align: left;
}
.rte table td,
.sdsarticle-des table td {
  border: 1px solid var(--sw-line);
  padding: 10px 14px;
  vertical-align: top;
}
.rte table tr:nth-child(even) td,
.sdsarticle-des table tr:nth-child(even) td { background: #fbf9f4; }

/* ----------------------------------------------------------------------------
   4. PRZYCISKI
   -------------------------------------------------------------------------- */
.btn,
button.btn {
  font-family: var(--sw-font-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  line-height: 1;
  padding: 14px 24px;
  border-radius: 8px;
  border: 1px solid var(--sw-line-2);
  background: transparent;
  color: var(--sw-ink);
  transition: background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
  box-shadow: none;
  text-shadow: none;
}
.btn:hover, .btn:focus, .btn:active,
.btn:active:focus, .btn:focus-visible {
  background: var(--sw-ink);
  border-color: var(--sw-ink);
  color: #fff;
  box-shadow: none;
}
.btn[disabled], .btn.disabled, .btn[disabled]:hover {
  background: transparent;
  border-color: var(--sw-line);
  color: var(--sw-muted-2);
  cursor: not-allowed;
  opacity: .8;
}

/* Złoty CTA */
.btn.exclusive,
#add_to_cart button.btn,
#button_order_cart,
.btn.sw-btn-gold {
  background: var(--sw-gold);
  border-color: var(--sw-gold);
  color: #1a1611;
}
.btn.exclusive:hover, .btn.exclusive:focus,
#add_to_cart button.btn:hover, #add_to_cart button.btn:focus,
#button_order_cart:hover, #button_order_cart:focus,
.btn.sw-btn-gold:hover, .btn.sw-btn-gold:focus {
  background: var(--sw-gold-2);
  border-color: var(--sw-gold-2);
  color: #fff;
}

/* Ikonowe przyciski w listach produktów (theme: mały kwadrat 30×26 z glifem
   FontAwesome, tekst ukryty). Wypełnienie złotem + turkusowy glif wyglądało źle —
   wracamy do wersji ikonowej w nowej palecie: ikona atramentowa, hover złoty. */
.btn.ajax_add_to_cart_button {
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
}
.btn.ajax_add_to_cart_button:before { color: var(--sw-ink-3); font-size: 20px; }
.btn.ajax_add_to_cart_button:hover, .btn.ajax_add_to_cart_button:focus {
  background: var(--sw-gold-soft);
  color: var(--sw-ink);
}
.btn.ajax_add_to_cart_button:hover:before, .btn.ajax_add_to_cart_button:focus:before { color: var(--sw-gold-2); }
.btn.ajax_add_to_cart_button.disabled { background: transparent; opacity: .45; }
.btn.ajax_add_to_cart_button.disabled:before { color: var(--sw-muted-2); }

/* Ikony „Add to Compare" / wishlist obok koszyka (theme: glify FontAwesome w teal
   #0c8a83, tekst linku ukryty). Pełna specyficzność, bo theme używa
   „ul.product_list.grid > li .product-container .functional-buttons > div.compare a:before". */
ul.product_list .functional-buttons > div.compare a:before,
ul.product_list.grid > li .product-container .functional-buttons > div.compare a:before,
ul.product_list .functional-buttons > div.wishlist a:before,
ul.product_list.grid > li .product-container .functional-buttons > div.wishlist a:before {
  color: var(--sw-ink-3);
  font-size: 19px;
}
ul.product_list .functional-buttons > div.compare a:hover:before,
ul.product_list.grid > li .product-container .functional-buttons > div.compare a:hover:before,
ul.product_list .functional-buttons > div.wishlist a:hover:before,
ul.product_list.grid > li .product-container .functional-buttons > div.wishlist a:hover:before {
  color: var(--sw-gold-2);
}

.btn-sm { padding: 10px 16px; font-size: 11px; }
.btn-lg { padding: 17px 32px; font-size: 13px; }

/* Ikonowe przyciski (ilość, karuzela, social) — bez uppercase/paddingu */
#quantity_wanted_p .btn,
.product_quantity_down, .product_quantity_up,
.bx-prev, .bx-next, .bx-pager-link,
#toTop, .btn.icon-only {
  text-transform: none;
  letter-spacing: 0;
}

/* ----------------------------------------------------------------------------
   5. FORMULARZE
   -------------------------------------------------------------------------- */
input[type="text"], input[type="password"], input[type="email"], input[type="tel"],
input[type="search"], input[type="number"], input[type="url"], input[type="date"],
textarea, select, .form-control {
  font-family: var(--sw-font-sans);
  font-size: 15px;
  color: var(--sw-ink);
  background: var(--sw-surface);
  border: 1px solid var(--sw-line-2);
  border-radius: 8px;
  padding: 11px 14px;
  height: auto;
  box-shadow: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus,
input[type="tel"]:focus, input[type="search"]:focus, input[type="number"]:focus,
textarea:focus, select:focus, .form-control:focus {
  border-color: var(--sw-gold);
  box-shadow: 0 0 0 3px rgba(179, 135, 46, .14);
  outline: none;
}
input::placeholder, textarea::placeholder { color: var(--sw-muted-2); }

label { font-size: 13px; font-weight: 600; color: var(--sw-ink-3); }
.form-group { margin-bottom: 16px; }
.required sup { color: var(--sw-danger); }

input[type="checkbox"], input[type="radio"] { accent-color: var(--sw-gold); }

select.form-control, .selector span { border-radius: 8px; }

/* Komunikaty */
.alert { border-radius: 10px; border: 1px solid var(--sw-line-2); font-size: 14.5px; padding: 14px 18px; }
.alert-info { background: var(--sw-gold-soft); border-color: #e4d5ae; color: #5c4a1c; }
.alert-success { background: #eef5ee; border-color: #cde0cd; color: var(--sw-green); }
.alert-warning { background: #fbf3e2; border-color: #ecd9ae; color: #7a5b12; }
.alert-danger { background: #f9ecea; border-color: #e8c6c1; color: var(--sw-danger); }

/* ----------------------------------------------------------------------------
   6. HEADER
   -------------------------------------------------------------------------- */
.header-container {
  background: var(--sw-paper);
  background: linear-gradient(180deg, #faf7f1 0%, var(--sw-paper) 100%);
}

/* 6a. Górny pasek (displayNav) */
#header .nav {
  background: var(--sw-ink);
  border-bottom: 1px solid #0e0c09;
  color: #b9ae95;
  font-size: 13px;
}
#header .nav .current, #header .nav .back { color: #b9ae95; }
#header .nav a { color: #cfc4a9; }
#header .nav a:hover, #header .nav .current:hover { color: #fff; }
#header .nav .shop-phone { color: #b9ae95; }
#header .nav .shop-phone strong { color: #e8dcc0; font-weight: 600; }

@media (min-width: 768px) {
  #header .nav nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 26px;
    min-height: 42px;
  }
  #header .nav nav > * { float: none; }
  #contact-link { display: none; }
  #currencies-block-top { order: 1; }
  #languages-block-top { order: 2; }
  #header-login { order: 3; }
  #search-wrapper { order: 4; }
  #header .nav nav .current { padding: 12px 2px; }
  #currencies-block-top div.current, #languages-block-top div.current { color: #cfc4a9; padding: 12px 2px; }
  #currencies-block-top div.current:hover, #currencies-block-top div.current.active,
  #languages-block-top div.current:hover, #languages-block-top div.current.active { color: #fff; }
  #currencies-block-top div.current:after { color: #8d8267; }
}

/* Dropdowny w górnym pasku (języki / waluty / konto) */
#languages-block-top ul,
#currencies-block-top ul,
#header-login ul.toogle_content {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  left: auto;
  margin-top: 10px;
  width: auto;
  min-width: 170px;
  max-height: 420px;
  overflow-y: auto;
  background: var(--sw-surface);
  border: 1px solid var(--sw-line);
  border-radius: 12px;
  box-shadow: var(--sw-shadow-2);
  padding: 10px;
  z-index: 999999;
}
#languages-block-top ul li,
#currencies-block-top ul li,
#header-login ul.toogle_content li { display: block; padding: 0; }
#languages-block-top ul li a, #languages-block-top ul li > span,
#currencies-block-top ul li a, #currencies-block-top ul li > span,
#header-login ul.toogle_content li a {
  display: block;
  padding: 9px 12px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  color: var(--sw-ink-3);
}
#languages-block-top ul li a:hover,
#currencies-block-top ul li a:hover,
#header-login ul.toogle_content li a:hover { background: var(--sw-gold-soft); color: var(--sw-ink); }
#languages-block-top ul li.selected span, #currencies-block-top ul li.selected a { color: var(--sw-gold-2); font-weight: 700; }

/* Search — pill */
#tmsearchbox { position: relative; }
#tmsearchbox .tm_search_query {
  width: 250px;
  padding: 9px 40px 9px 16px;
  border-radius: var(--sw-pill);
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .16);
  color: #fff;
  font-size: 13.5px;
}
#tmsearchbox .tm_search_query::placeholder { color: #9c917a; }
#tmsearchbox .tm_search_query:focus {
  background: rgba(255, 255, 255, .12);
  border-color: rgba(255, 255, 255, .35);
  box-shadow: none;
}
#tmsearchbox .btn.button-search {
  position: absolute;
  right: 3px;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #cfc4a9;
  font-size: 0;
  min-width: 0;
}
#tmsearchbox .btn.button-search:before {
  content: "\f002";
  font-family: FontAwesome;
  font-size: 15px;
  color: inherit;
}
#tmsearchbox .btn.button-search:hover { background: rgba(255, 255, 255, .12); color: #fff; }

/* 6b. Pasek logo + telefon + koszyk */
.header-middle-content { background: transparent; }
.header-cont {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 18px 0 0;
}
#header_logo { order: 1; float: none; padding: 0; margin: 0; }
#header_logo img { max-height: 74px; width: auto; }
#header_logo a { display: inline-block; }

.shop-phone {
  order: 2;
  margin-left: auto;
  float: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 26px 0 0;
  color: var(--sw-muted);
  font-size: 13px;
}
.shop-phone:before {
  content: "\f095";
  font-family: FontAwesome;
  font-size: 15px;
  color: var(--sw-gold);
}
.shop-phone strong { color: var(--sw-ink); font-size: 15.5px; font-weight: 700; letter-spacing: .01em; }
.shop-phone:hover strong { color: var(--sw-gold-2); }

.compareBox { order: 3; }
.shopping_cart_wrap { order: 4; float: none; margin: 0 0 0 22px; }

.shopping_cart > a, .shopping_cart > a:first-child {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 20px;
  border: 1px solid var(--sw-line-2);
  border-radius: var(--sw-pill);
  background: var(--sw-surface);
  color: var(--sw-ink);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: border-color .18s ease, background .18s ease;
  margin: 0;
}
.shopping_cart > a:hover { border-color: var(--sw-gold); background: var(--sw-gold-soft); color: var(--sw-ink); }

/* Zawartość pigułki koszyka. blockcart.css pozycjonuje ikonę i licznik
   absolutnie i ukrywa <b>Cart</b>, przez co pigułka zapadała się do 42x26px
   i była słabo widoczna — tu wszystko wraca do przepływu (flex). */
.shopping_cart > a:first-child:before {
  content: "\f07a";
  font-family: FontAwesome;
  position: static;
  top: auto;
  left: auto;
  padding: 0;
  font-size: 16px;
  line-height: 1;
  color: var(--sw-gold-2);
}
.shopping_cart > a:first-child b { display: inline-block; }
.shopping_cart > a:first-child span.ajax_cart_quantity {
  position: static;
  box-sizing: border-box;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  line-height: 20px;
  font-size: 11px;
  font-weight: 700;
  text-align: center;
  color: #fff;
  background: var(--sw-gold);
  border-radius: var(--sw-pill);
  box-shadow: none;
}
.shopping_cart > a:first-child:hover span.ajax_cart_quantity {
  background: var(--sw-gold-2);
  color: #fff;
  transform: none;
  box-shadow: none;
}
.shopping_cart > a:first-child span.ajax_cart_no_product {
  position: static;
  top: auto;
  right: auto;
  font-size: 12.5px;
  line-height: 1;
  color: var(--sw-muted);
}

/* Rozwijany koszyk */
/* pozycjonowanie z ID, żeby nadpisać blockcart.css (#header .cart_block top:40px) */
#header .cart_block { top: 100%; right: 0; margin-top: 6px; }
.cart_block {
  position: absolute;
  right: 0;
  top: 100%;
  margin-top: 12px;
  width: 340px;
  background: var(--sw-surface);
  border: 1px solid var(--sw-line);
  border-radius: 14px;
  box-shadow: var(--sw-shadow-2);
  padding: 18px;
  z-index: 99999;
}
.cart_block .cart-prices-line { display: flex; justify-content: space-between; padding: 6px 0; font-size: 14px; }
.cart_block .cart-prices-line.last-line { border-top: 1px solid var(--sw-line); margin-top: 8px; padding-top: 12px; }
.cart_block .cart_block_total { font-size: 18px; font-weight: 700; color: var(--sw-ink); }
.cart_block .cart-buttons { display: flex; gap: 10px; margin-top: 14px; }
.cart_block .cart-buttons .btn { flex: 1; text-align: center; }
.cart_block .cart_block_no_products { color: var(--sw-muted); font-size: 14px; }

/* 6c. Menu kategorii — poziomy pasek (desktop) */
@media (min-width: 768px) {
  .top_menu {
    order: 5;
    flex-basis: 100%;
    width: 100%;
    float: none;
    clear: both;
    margin: 18px 0 0;
    padding: 0;
    position: static;
    background: var(--sw-surface);
    border-top: 1px solid var(--sw-line);
    border-bottom: 1px solid var(--sw-line);
  }
  .top_menu .menu-title { display: none; }
  .top_menu > ul.menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    position: static;
  }
  .top_menu > ul > li {
    float: none;
    margin: 0 !important;
    position: relative;
  }
  .top_menu > ul > li > a {
    display: inline-block;
    padding: 14px 13px;
    font-family: var(--sw-font-sans);
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--sw-ink-3);
    border: 0;
    background: transparent;
  }
  .top_menu > ul > li > a:hover,
  .top_menu > ul > li.sfHover > a,
  .top_menu > ul > li.sfHoverForce > a { color: var(--sw-gold-2); background: transparent; }
  .top_menu > ul > li > a:after {
    content: "";
    display: block;
    height: 2px;
    margin-top: 4px;
    background: var(--sw-gold);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .2s ease;
  }
  .top_menu > ul > li:hover > a:after,
  .top_menu > ul > li.sfHover > a:after { transform: scaleX(1); }
  .top_menu > ul > li .sf-with-ul:after { content: "\f0d7"; font-size: 11px; padding-left: 5px; }
  .top_menu > ul > li .sf-with-ul:hover:after { transform: none; }

  /* Podmenu (simple) i megamenu */
  .top_menu > ul > li ul.is-simplemenu,
  .top_menu > ul > li ul.is-simplemenu ul {
    border: 1px solid var(--sw-line);
    border-radius: 12px;
    background: var(--sw-surface);
    box-shadow: var(--sw-shadow-2);
    padding: 10px 0;
    margin: 0;
    width: 220px;
  }
  .top_menu > ul > li > ul.is-simplemenu { left: 0; right: auto; top: 100%; margin-left: 0; }
  .top_menu > ul > li ul.is-simplemenu li a { padding: 8px 16px; font-size: 14px; font-weight: 500; color: var(--sw-ink-3); }
  .top_menu > ul > li ul.is-simplemenu li a:hover { color: var(--sw-gold-2); background: var(--sw-gold-soft); }
  .top_menu .is-megamenu {
    border: 1px solid var(--sw-line);
    border-radius: 0 0 14px 14px;
    background: var(--sw-surface);
    box-shadow: var(--sw-shadow-2);
    padding: 6px 22px 16px;
    top: 100%;
  }
  .top_menu .is-megamenu ul.content > li > a { font-family: var(--sw-font-sans); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--sw-ink); }
  .top_menu .is-megamenu li li a { color: var(--sw-ink-3); font-size: 14px; }
  .top_menu .is-megamenu li li a:hover { color: var(--sw-gold-2); }
}

/* 6d. Sticky (isStuck) — spójny, nowoczesny pasek */
#header .stickUpTop.isStuck {
  background: rgba(255, 253, 248, .97);
  box-shadow: 0 12px 30px -18px rgba(26, 22, 17, .35);
  border-bottom: 1px solid var(--sw-line);
  padding-top: 0;
}
#header .stickUpTop.isStuck .header-cont { padding: 10px 0; }
#header .stickUpTop.isStuck #header_logo img { max-height: 52px; }
#header .stickUpTop.isStuck .shopping_cart_wrap { margin-top: 0; }
#header .stickUpTop.isStuck .shop-phone { display: none; }
#header .stickUpTop.isStuck .top_menu {
  position: static;
  width: auto;
  margin: 0 0 0 26px;
  padding: 0;
  order: 2;
  flex-basis: auto;
  border: 0;
  background: transparent;
}
#header .stickUpTop.isStuck .top_menu .menu-title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px 10px 40px;
  border: 1px solid var(--sw-line-2);
  border-radius: var(--sw-pill);
  background: var(--sw-surface);
  color: var(--sw-ink);
  font: 700 12px/1 var(--sw-font-sans);
  letter-spacing: .09em;
  text-transform: uppercase;
  margin: 0;
}
#header .stickUpTop.isStuck .top_menu .menu-title:before {
  content: "\f0c9";
  font-family: FontAwesome;
  font-size: 15px;
  color: var(--sw-gold-2);
  top: 50%;
  left: 16px;
  margin-top: -8px;
  position: absolute;
}
#header .stickUpTop.isStuck .top_menu .menu-title:hover,
#header .stickUpTop.isStuck .top_menu .menu-title.active { color: var(--sw-gold-2); border-color: var(--sw-gold); }
#header .stickUpTop.isStuck .top_menu .menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 300px;
  margin: 12px 0 0;
  padding: 12px;
  background: var(--sw-surface);
  border: 1px solid var(--sw-line);
  border-radius: 14px;
  box-shadow: var(--sw-shadow-2);
  max-height: 70vh;
  overflow-y: auto;
}
#header .stickUpTop.isStuck .top_menu .menu.show { display: block; }
#header .stickUpTop.isStuck .top_menu .menu > li { padding: 0; margin: 0; }
#header .stickUpTop.isStuck .top_menu .menu > li + li { margin-top: 2px; }
#header .stickUpTop.isStuck .top_menu .menu > li > a {
  display: block;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--sw-ink-3);
  text-transform: none;
  letter-spacing: 0;
}
#header .stickUpTop.isStuck .top_menu .menu > li:hover, #header .stickUpTop.isStuck .top_menu .menu > li.sfHover { background: transparent; }
#header .stickUpTop.isStuck .top_menu .menu > li:hover > a,
#header .stickUpTop.isStuck .top_menu .menu > li.sfHover > a { color: var(--sw-gold-2); background: var(--sw-gold-soft); }

/* 6e. Pasek menu na mobile — spójny przycisk + panel */
@media (max-width: 767px) {
  .top_menu { float: none; width: 100%; margin: 6px 0 0; padding: 0; background: transparent; }
  .top_menu .menu-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 16px;
    background: var(--sw-surface);
    border: 1px solid var(--sw-line-2);
    border-radius: 10px;
    font: 700 12.5px/1 var(--sw-font-sans);
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--sw-ink);
  }
  .top_menu .menu-title:after { top: 12px; right: 12px; font-size: 20px; color: var(--sw-gold-2); }
  .top_menu .menu-title:hover, .top_menu .menu-title.active { background: var(--sw-surface); color: var(--sw-gold-2); border-bottom-color: var(--sw-line-2); }
  .top_menu .menu {
    background: var(--sw-surface);
    border: 1px solid var(--sw-line);
    border-radius: 10px;
    margin-top: 8px;
    padding: 8px;
    border-bottom: 1px solid var(--sw-line);
  }
  .top_menu > ul > li + li { margin-top: 0; }
  .top_menu > ul > li > a { padding: 10px 12px; font-size: 14px; font-weight: 600; color: var(--sw-ink-3); border: 0; }
  .top_menu > ul > li > a:hover, .top_menu > ul > li.sfHover > a { color: var(--sw-gold-2); background: var(--sw-gold-soft); border-radius: 8px; }
}

/* 6f. Promo box tmhtmlcontent w headerze — na stronie głównej zastąpiony nowym hero */
body#index #tmhtmlcontent_top { display: none !important; }

/* 6g. Strony wewnętrzne: pasek menu poziomy także tam (theme ukrywa go w #header-content-alter)
   UWAGA (2026-10-21): selektory mają :not(:has(.stickUpTop.isStuck)) — bez tego reguły 6g
   (2 ID) wygrywały z regułami stanu przyklejonego 6d (1 ID), przez co po przewinięciu
   pełne menu zostawało widoczne i nachodziło na treść zamiast schować się pod przyciskiem
   „Categories" (menu-title). :has() jest już używane w tym pliku (atrybuty na stronie produktu). */
@media (min-width: 768px) {
  #header #header-content-alter:not(:has(.stickUpTop.isStuck)) .top_menu {
    position: static;
    top: auto;
    left: auto;
    margin: 18px 0 0;
    padding: 0;
    width: 100%;
    order: 5;
    flex-basis: 100%;
    background: var(--sw-surface);
    border-top: 1px solid var(--sw-line);
    border-bottom: 1px solid var(--sw-line);
  }
  #header #header-content-alter:not(:has(.stickUpTop.isStuck)) .top_menu .menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
    width: auto;
    background: transparent;
    border: 0;
  }
  #header #header-content-alter:not(:has(.stickUpTop.isStuck)) .top_menu .menu-title { display: none; }
  /* Telefon także na stronach wewnętrznych (theme ukrywał) */
  #header #header-content-alter .shop-phone { display: inline-flex; }
}

/* 6g-bis. Stan przyklejony na stronach wewnętrznych: theme (css/modules/tmmegamenu.css)
   ma selektor o 2 ID `#header #header-content-alter .top_menu`, który w isStuck
   ustawia position:absolute; top:-10px (menu wystawało nad logo). Przywracamy układ
   z 6d (przycisk „Categories" w pasku, menu schowane pod nim). */
#header #header-content-alter .stickUpTop.isStuck .top_menu {
  position: static;
  top: auto;
  left: auto;
  width: auto;
  margin: 0 0 0 26px;
  padding: 0;
  order: 2;
  flex-basis: auto;
  border: 0;
  background: transparent;
}
/* …oraz wygląd przycisku „Categories": theme (2 ID) wymuszał padding-left:30px
   i ikonę ::before absolutnie w top:0/left:0 (22px, #211f1f) — hamburger
   nachodził na krawędź pigułki. Przywracamy styl z 6d (ikona wyśrodkowana). */
#header #header-content-alter .stickUpTop.isStuck .top_menu .menu-title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px 10px 40px;
  border: 1px solid var(--sw-line-2);
  border-radius: var(--sw-pill);
  background: var(--sw-surface);
  color: var(--sw-ink);
  font: 700 12px/1 var(--sw-font-sans);
  letter-spacing: .09em;
  text-transform: uppercase;
  margin: 0;
}
#header #header-content-alter .stickUpTop.isStuck .top_menu .menu-title:before {
  content: "\f0c9";
  font: 400 15px/1 FontAwesome;
  color: var(--sw-gold-2);
  top: 50%;
  left: 16px;
  margin-top: -7px;
  position: absolute;
}
#header #header-content-alter .stickUpTop.isStuck .top_menu .menu-title:hover,
#header #header-content-alter .stickUpTop.isStuck .top_menu .menu-title.active { color: var(--sw-gold-2); border-color: var(--sw-gold); }
/* …oraz wygląd rozwijanego menu: theme (2 ID) wymuszał szare tło #efeff2,
   3px obramowanie #ccc i stare odstępy; przywracamy styl nowoczesny z 6d. */
#header #header-content-alter .stickUpTop.isStuck .top_menu .menu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 300px;
  margin: 12px 0 0;
  padding: 12px;
  background: var(--sw-surface);
  border: 1px solid var(--sw-line);
  border-radius: 14px;
  box-shadow: var(--sw-shadow-2);
  max-height: 70vh;
  overflow-y: auto;
}
#header #header-content-alter .stickUpTop.isStuck .top_menu .menu > li { padding: 0; margin: 0; }
#header #header-content-alter .stickUpTop.isStuck .top_menu .menu > li + li { margin-top: 2px; border-top: 0; }
#header #header-content-alter .stickUpTop.isStuck .top_menu .menu > li > a { padding: 10px 12px; }
#header #header-content-alter .stickUpTop.isStuck .top_menu .menu > li:hover,
#header #header-content-alter .stickUpTop.isStuck .top_menu .menu > li.sfHover { background: transparent; }
#header #header-content-alter .stickUpTop.isStuck .top_menu .menu > li:hover > a,
#header #header-content-alter .stickUpTop.isStuck .top_menu .menu > li.sfHover > a { color: var(--sw-gold-2); background: var(--sw-gold-soft); }

/* ----------------------------------------------------------------------------
   7. BREADCRUMB
   -------------------------------------------------------------------------- */
.breadcrumb {
  background: transparent;
  padding: 14px 0 6px;
  margin: 0 0 10px;
  font-size: 13px;
  color: var(--sw-muted);
  border-radius: 0;
}
.breadcrumb li > a, .breadcrumb a { background: transparent; color: var(--sw-muted); padding: 0; }
.breadcrumb li > a:hover, .breadcrumb a:hover { color: var(--sw-gold-2) !important; background: transparent; }
.breadcrumb li > a.home { color: var(--sw-muted-2); }
.breadcrumb > li + li:before { color: var(--sw-muted-2); content: "/\00a0"; padding: 0 4px 0 0; }
.breadcrumb > li.active, .breadcrumb > .active { color: var(--sw-ink-3); font-weight: 600; }

/* ----------------------------------------------------------------------------
   8. KARTY PRODUKTÓW (siatki, homepage, powiązane)
   -------------------------------------------------------------------------- */
ul.product_list { margin: 0 -10px; }
ul.product_list > li { padding: 0 10px 20px; }
/* Grid kart: flex z zawijaniem — równe wysokości w rzędzie, brak schodkowania floatów */
ul.product_list.grid { display: flex; flex-wrap: wrap; align-items: stretch; }

ul.product_list li .product-container {
  position: relative;
  height: 100%;
  background: var(--sw-surface);
  border: 1px solid var(--sw-line);
  border-radius: var(--sw-radius-lg);
  overflow: hidden;
  transition: box-shadow .22s ease, transform .22s ease, border-color .22s ease;
}
ul.product_list li .product-container:hover {
  box-shadow: var(--sw-shadow-2);
  transform: translateY(-3px);
  border-color: var(--sw-line-2);
}
ul.product_list li .product-inner { display: block; }

ul.product_list li .left-block { position: relative; }
ul.product_list li .product-image-container {
  position: relative;
  background: #fbf9f4;
  padding: 10px;
  overflow: hidden;
}
ul.product_list li .product-image-container img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: contain;
  transition: transform .35s ease;
}
ul.product_list li .product-container:hover .product-image-container img { transform: scale(1.035); }

ul.product_list li .right-block { padding: 14px 16px 16px; }
ul.product_list li .right-block h5 { margin: 0 0 6px; font-family: var(--sw-font-sans); }
ul.product_list li .product-name {
  display: block;
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--sw-ink);
  min-height: 42px;
}
ul.product_list li .product-name:hover { color: var(--sw-gold-2); }
ul.product_list li .product-desc { display: none; }

ul.product_list li .content_price { margin: 6px 0 2px; }
ul.product_list li .content_price .product-price {
  font-size: 17px;
  font-weight: 700;
  color: var(--sw-ink);
  letter-spacing: .01em;
}
ul.product_list li .content_price .old-price {
  font-size: 13.5px;
  color: var(--sw-muted-2);
  text-decoration: line-through;
  margin-left: 8px;
  font-weight: 400;
}
ul.product_list li .price-percent-reduction {
  display: inline-block;
  margin-left: 8px;
  padding: 3px 8px;
  border-radius: var(--sw-pill);
  background: var(--sw-danger);
  color: #fff;
  font-size: 11.5px;
  font-weight: 700;
}

ul.product_list li .button-container { margin-top: 12px; display: flex; gap: 8px; }
ul.product_list li .button-container .lnk_view { flex: 1; text-align: center; padding: 12px 10px; }
ul.product_list li .button-container .ajax_add_to_cart_button { flex: 1; text-align: center; padding: 12px 10px; }
ul.product_list li .functional-buttons { display: flex; gap: 8px; flex: 1; }
ul.product_list li .functional-buttons .compare { display: none; }

ul.product_list li .quick-view {
  position: absolute;
  left: 50%;
  bottom: 14px;
  transform: translate(-50%, 8px);
  opacity: 0;
  padding: 9px 18px;
  border-radius: var(--sw-pill);
  background: rgba(26, 22, 17, .92);
  color: #fff;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: opacity .2s ease, transform .2s ease;
  z-index: 3;
}
ul.product_list li .product-container:hover .quick-view { opacity: 1; transform: translate(-50%, 0); }

ul.product_list li .sale-box, ul.product_list li .new-box { position: absolute; top: 12px; left: 12px; right: auto; z-index: 2; }
ul.product_list li .sale-box .sale-label, ul.product_list li .new-box .new-label {
  display: inline-block;
  padding: 5px 12px;
  border-radius: var(--sw-pill);
  font: 700 10.5px/1 var(--sw-font-sans);
  letter-spacing: .1em;
  text-transform: uppercase;
}
ul.product_list li .sale-label { background: var(--sw-danger); color: #fff; }
ul.product_list li .new-label { background: var(--sw-ink); color: #fff; }

/* Lista (widok list) — zachowuje się poprawnie */
ul.product_list.list > li .product-container { display: flex; }
ul.product_list.list > li .left-block { width: 30%; min-width: 220px; }
ul.product_list.list > li .right-block { flex: 1; }
ul.product_list.list li .product-desc { display: block; font-size: 14.5px; color: var(--sw-muted); }

/* Produkty w karuzeli „in the same category" */
#productscategory_list li.product-box { padding: 0 10px; }
#productscategory_list li.product-box .product-image { display: block; background: #fbf9f4; border: 1px solid var(--sw-line); border-radius: 12px; padding: 8px; }
#productscategory_list li.product-box .product-image img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: contain; }
#productscategory_list li.product-box h5.product-name { margin: 10px 0 0; font-family: var(--sw-font-sans); }
#productscategory_list li.product-box h5.product-name a { font-size: 13.5px; font-weight: 600; color: var(--sw-ink-3); }
#productscategory_list li.product-box h5.product-name a:hover { color: var(--sw-gold-2); }

/* ----------------------------------------------------------------------------
   9. STRONA PRODUKTU
   -------------------------------------------------------------------------- */
#primary_block, .primary_block { margin-bottom: 30px; }

.pb-left-column #image-block {
  background: var(--sw-surface);
  border: 1px solid var(--sw-line);
  border-radius: var(--sw-radius-lg);
  padding: 22px;
  text-align: center;
}
.pb-left-column #image-block #bigpic { border: 0; box-shadow: none; }
.pb-left-column .view_full_size, .pb-left-column #views_block { margin-top: 14px; }
.pb-left-column #thumbs_list li a { border: 1px solid var(--sw-line); border-radius: 10px; overflow: hidden; background: #fbf9f4; }
.pb-left-column #thumbs_list li a:hover, .pb-left-column #thumbs_list li a.zoomThumbActive { border-color: var(--sw-gold); }

.pb-right-column h1 {
  font-family: var(--sw-font-serif);
  font-size: 33px;
  font-weight: 600;
  line-height: 1.18;
  text-transform: none;
  letter-spacing: 0;
  margin: 4px 0 14px;
  padding: 0;
  color: var(--sw-ink);
}
.product-info-line { border: 0; height: 0; margin: 0 0 6px; }

#buy_block .box-info-product {
  background: var(--sw-surface);
  border: 1px solid var(--sw-line);
  border-radius: var(--sw-radius-lg);
  padding: 22px 24px 24px;
}
.content_prices { border: 0; margin: 0 0 6px; }
.our_price_display { margin: 0 0 10px; }
#our_price_display {
  font-family: var(--sw-font-serif);
  font-size: 38px;
  font-weight: 600;
  color: var(--sw-ink);
  line-height: 1;
}
.old-price-info, #old_price { color: var(--sw-muted-2); }
#old_price_display .price { font-size: 16px; text-decoration: line-through; color: var(--sw-muted-2); }

#attributes .attribute_fieldset { margin-bottom: 16px; }
#attributes .attribute_label {
  display: block;
  margin-bottom: 8px;
  font: 700 11.5px/1 var(--sw-font-sans);
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--sw-muted);
}
#attributes .attribute_list ul { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; }
#attributes .attribute_list ul li { list-style: none; position: relative; margin: 0; }
#attributes .attribute_list .attribute_radio {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
/* uniform.js opakowuje radio w div.radio > span — chowamy grafikę, stylujemy tekst obok */
#attributes .attribute_list div.radio { display: none; }
#attributes .attribute_list .attribute_radio + span,
#attributes .attribute_list li > span {
  display: inline-block;
  padding: 9px 16px;
  border: 1px solid var(--sw-line-2);
  border-radius: var(--sw-pill);
  background: var(--sw-surface);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--sw-ink-3);
  cursor: pointer;
  transition: all .15s ease;
}
#attributes .attribute_list li:hover > span { border-color: var(--sw-gold); }
#attributes .attribute_list .attribute_radio:checked + span,
#attributes .attribute_list li:has(div.radio span.checked) > span {
  background: var(--sw-ink);
  border-color: var(--sw-ink);
  color: #fff;
}

#quantity_wanted_p { display: flex; align-items: center; gap: 8px; margin: 18px 0 6px; }
#quantity_wanted_p label {
  font: 700 11.5px/1 var(--sw-font-sans);
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--sw-muted);
  margin: 0 6px 0 0;
}
#quantity_wanted {
  width: 64px;
  text-align: center;
  padding: 10px 8px;
}
#quantity_wanted_p .btn {
  width: 40px;
  height: 40px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
}

#add_to_cart { margin: 14px 0 0; }
#add_to_cart button.btn {
  width: 100%;
  padding: 17px 24px;
  font-size: 13px;
  border-radius: 10px;
}
/* Theme (css/product.css) wymusza ciemny przycisk o specyficzności (2,3,1) —
   nadpisanie pełnym selektorem, spójnie ze złotym CTA sklepu */
#add_to_cart_product_page_button #add_to_cart { float: none; }
#add_to_cart_product_page_button #add_to_cart .btn.btn-default.ajax_add_to_cart_product_button {
  width: 100%;
  height: auto;
  padding: 17px 24px;
  border: 1px solid var(--sw-gold);
  border-radius: 10px;
  background: var(--sw-gold);
  color: #1a1611;
  font-family: var(--sw-font-sans);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}
#add_to_cart_product_page_button #add_to_cart .btn.btn-default.ajax_add_to_cart_product_button:hover,
#add_to_cart_product_page_button #add_to_cart .btn.btn-default.ajax_add_to_cart_product_button:focus {
  background: var(--sw-gold-2);
  border-color: var(--sw-gold-2);
  color: #fff;
}

.box-cart-bottom { margin-top: 16px; }
#product_payment_logos .box-security {
  border: 1px dashed var(--sw-line-2);
  border-radius: 10px;
  padding: 12px 14px;
  background: var(--sw-surface-2);
}
#product_payment_logos img { max-height: 34px; }

.extra-right { margin-top: 16px; }
#product_comments_block_extra { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
.comments_note { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--sw-muted); }
.star_content .star { color: var(--sw-line-2); }
.star_content .star.star_on, .star_content .star.star_hover { color: var(--sw-gold); }
div.star:after { color: var(--sw-line-2); }
div.star.star_on:after { color: var(--sw-gold); }
div.star.star_hover:after { color: var(--sw-gold-2); }
.comments_advices { display: flex; gap: 18px; padding: 0; margin: 0; list-style: none; }
.comments_advices a { font-size: 13.5px; font-weight: 600; }

/* Zakładki informacyjne (nadpisania z pełną specyficznością — theme używa
   .product-information .product-info-tabs > li a z akcentem #0c8a83) */
.product-information { margin-top: 34px; border-top: 0; border-bottom: 0; }
.product-information .product-info-tabs {
  padding: 0;
  border: 0;
  border-right: 0;
}
.product-information .product-info-tabs > li {
  border-bottom: 0;
  overflow: visible;
}
.product-information .product-info-tabs > li > a {
  display: block;
  padding: 14px 18px;
  border: 1px solid var(--sw-line);
  border-radius: 10px 0 0 10px;
  background: var(--sw-surface-2);
  color: var(--sw-ink-3);
  font: 700 12px/1 var(--sw-font-sans);
  letter-spacing: .09em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.product-information .product-info-tabs > li > a:before { display: none; }
.product-information .product-info-tabs > li.active > a,
.product-information .product-info-tabs > li > a:hover {
  background: var(--sw-ink);
  border-color: var(--sw-ink);
  color: #fff;
}
.tab-content {
  background: var(--sw-surface);
  border: 1px solid var(--sw-line);
  border-radius: 0 var(--sw-radius-lg) var(--sw-radius-lg) var(--sw-radius-lg);
  padding: 26px 30px;
}
.page-product-heading, .productscategory_h3 {
  font-family: var(--sw-font-serif);
  font-size: 24px;
  font-weight: 600;
  color: var(--sw-ink);
  text-transform: none;
  letter-spacing: 0;
  margin: 26px 0 18px;
  padding: 0;
  border: 0;
  background: transparent;
}
.page-product-heading:after { display: none; }

#product_comments_block_tab { margin-top: 10px; }
#product_comments_block_tab .comment { border: 1px solid var(--sw-line); border-radius: 12px; padding: 18px 20px; margin-bottom: 14px; background: var(--sw-surface); }
#product_comments_block_tab .comment_author { font-weight: 700; color: var(--sw-ink); }
#product_comments_block_tab .comment_author_infos em { color: var(--sw-muted); font-style: normal; font-size: 13px; }

/* ----------------------------------------------------------------------------
   10. STRONA KATEGORII / LISTINGI
   -------------------------------------------------------------------------- */
.content_scene_cat {
  background: var(--sw-surface);
  border: 1px solid var(--sw-line);
  border-radius: var(--sw-radius-lg);
  padding: 22px;
  margin-bottom: 24px;
}
.content_scene_cat_bg { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.content_scene_cat .category-image { padding: 0; flex: 0 0 32%; max-width: 32%; }
.content_scene_cat .category-image img { border-radius: 12px; }
.content_scene_cat .cat_desc { padding: 0; flex: 1 1 58%; }
.content_scene_cat h1.category-name {
  font-size: 36px;
  margin: 0 0 10px;
  color: var(--sw-ink);
}
#category_description_full { font-size: 15.5px; line-height: 1.7; color: var(--sw-muted); max-width: 74ch; }
#category_description_full p { margin-bottom: 12px; }

/* Toolbar / sortowanie / paginacja */
.content_sortPagiBar, .top-pagination-content, .bottom-pagination-content { clear: both; }
.content_sortPagiBar { margin-bottom: 14px; }
.product-count { color: var(--sw-muted); font-size: 13.5px; padding: 10px 0; }
.content_sortPagiBar select, .nbrProduct select { min-width: 80px; }
.compare-form .bt_compare { border-style: dashed; }
#pagination ul, ul.pagination { display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 8px 0 18px; }
#pagination li, ul.pagination li { list-style: none; }
#pagination li a, #pagination li span, ul.pagination li a, ul.pagination li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 10px;
  border: 1px solid var(--sw-line-2);
  border-radius: 8px;
  background: var(--sw-surface);
  color: var(--sw-ink-3);
  font-size: 13.5px;
  font-weight: 600;
}
#pagination li a:hover { border-color: var(--sw-gold); color: var(--sw-gold-2); }
#pagination li.active span, #pagination li.active a { background: var(--sw-ink); border-color: var(--sw-ink); color: #fff; }

/* Kolumna lewa — bloki */
#left_column .block, #right_column .block {
  background: var(--sw-surface);
  border: 1px solid var(--sw-line);
  border-radius: var(--sw-radius-lg);
  padding: 18px 18px 20px;
  margin-bottom: 20px;
}
#left_column .block .title_block, #right_column .block .title_block,
#left_column .block h4, #right_column .block h4 {
  font-family: var(--sw-font-sans);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--sw-ink);
  margin: 0 0 14px;
  padding: 0 0 10px;
  border-bottom: 1px solid var(--sw-line);
  background: transparent;
}
#left_column .block_content ul, #right_column .block_content ul { padding-left: 0; }
#left_column .block_content li, #right_column .block_content li { list-style: none; }
#left_column .block_content li a, #right_column .block_content li a { font-size: 14px; color: var(--sw-ink-3); display: block; padding: 5px 0; }
#left_column .block_content li a:hover, #right_column .block_content li a:hover { color: var(--sw-gold-2); }

/* blocklayered */
#layered_block_left .layered_filter { border-bottom: 1px solid var(--sw-line); padding-bottom: 14px; margin-bottom: 14px; }
#layered_block_left .layered_filter:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
#layered_block_left p.title_block, #layered_block_left .layered_subtitle_heading { font-size: 13px; font-weight: 700; color: var(--sw-ink); margin: 10px 0 8px; }
#layered_block_left #enabled_filters {
  background: var(--sw-surface-2);
  border: 1px solid var(--sw-line);
  border-radius: 10px;
  padding: 10px 12px;
  margin: 0 0 14px;
  font-size: 13px;
  color: var(--sw-muted);
}
#layered_block_left .layered_subtitle { font-weight: 600; color: var(--sw-ink); font-size: 13.5px; }
#layered_block_left ul.layered_filter_ul { padding-left: 0; margin-bottom: 8px; }
#layered_block_left ul.layered_filter_ul li { display: flex; align-items: center; gap: 8px; padding: 3px 0; }
#layered_block_left ul.layered_filter_ul li input.checkbox { margin: 0; width: 16px; height: 16px; }
#layered_block_left ul.layered_filter_ul li label { margin: 0; font-weight: 500; font-size: 14px; color: var(--sw-ink-3); cursor: pointer; }
#layered_block_left ul.layered_filter_ul li label a { color: inherit; }
#layered_block_left ul.layered_filter_ul li label a:hover { color: var(--sw-gold-2); }
#layered_block_left .layered_price #layered_price_slider { margin: 14px 8px; }
#layered_block_left .ui-slider { height: 4px; background: var(--sw-line-2); border: 0; border-radius: 4px; }
#layered_block_left .ui-slider .ui-slider-range { background: var(--sw-gold); }
#layered_block_left .ui-slider .ui-slider-handle {
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--sw-surface);
  border: 2px solid var(--sw-gold);
  top: -7px;
  cursor: grab;
}
#layered_block_left .layered_price_range, #layered_block_left .layered_price label { font-size: 13px; color: var(--sw-muted); }
#layered_block_left input.layered_price_input { width: 70px; }

/* ----------------------------------------------------------------------------
   11. KOSZYK / CHECKOUT / KONTO
   -------------------------------------------------------------------------- */
#cart_summary { background: var(--sw-surface); border: 1px solid var(--sw-line); border-radius: var(--sw-radius-lg); border-collapse: separate; border-spacing: 0; overflow: hidden; }
#cart_summary thead th {
  background: var(--sw-surface-2);
  border-bottom: 1px solid var(--sw-line);
  padding: 13px 14px;
  font: 700 11.5px/1.4 var(--sw-font-sans);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--sw-muted);
  text-align: left;
}
#cart_summary td { border-bottom: 1px solid var(--sw-line); padding: 14px; vertical-align: middle; font-size: 14.5px; }
#cart_summary .cart_product img { border-radius: 10px; border: 1px solid var(--sw-line); background: #fbf9f4; }
#cart_summary .cart_product a { font-weight: 600; color: var(--sw-ink); }
#cart_summary .cart_unit .price, #cart_summary .cart_total .price { font-weight: 700; color: var(--sw-ink); }
#cart_summary .cart_delete a { color: var(--sw-muted-2); }
#cart_summary .cart_delete a:hover { color: var(--sw-danger); }

#total_price_container { background: var(--sw-ink); border-radius: var(--sw-radius-lg); padding: 20px 24px; }
#total_price_container #total_price { color: #fff; font-family: var(--sw-font-serif); font-size: 30px; }
#total_price_container span, #total_price_container p { color: #cfc4a9; }
.cart_navigation { margin: 22px 0; }
.cart_navigation .button-exclusive, .cart_navigation .button { margin: 0 8px 8px 0; }

/* OPC / kroki zamówienia */
#order-opc .page-heading, #order .page-heading, #order-opc-advanced .page-heading { font-family: var(--sw-font-serif); text-transform: none; letter-spacing: 0; font-size: 30px; }
#order-opc .opc-account, #order-opc .opc-delivery, #order-opc .opc-payment,
#order-opc .addresses, #order-opc #opc_account, #order-opc #opc_delivery_methods, #order-opc #opc_payment_methods { }
#order-opc .address, .address_delivery, .address_invoice {
  background: var(--sw-surface);
  border: 1px solid var(--sw-line);
  border-radius: 12px;
  padding: 16px 18px;
}
#order-opc .delivery_option { }
.delivery_option { margin-bottom: 10px; }
.delivery_option .delivery_option_radio + label, .delivery_option label { font-weight: 600; }
#opc_payment_methods, #HOOK_PAYMENT, .payment_module { margin-top: 14px; }
/* Główny CTA zamówienia (WK customizer nadaje teal #2fb5d2) */
.wkcustomizerbtn, .btn-primary, #payment-confirmation button {
  background: var(--sw-gold);
  border: 1px solid var(--sw-gold);
  color: #1a1611;
  font-family: var(--sw-font-sans);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  border-radius: 10px;
}
.wkcustomizerbtn:hover, .wkcustomizerbtn:focus,
.btn-primary:hover, .btn-primary:focus,
#payment-confirmation button:hover, #payment-confirmation button:focus {
  background: var(--sw-gold-2);
  border-color: var(--sw-gold-2);
  color: #fff;
}
.payment_module a, p.payment_module a {
  display: block;
  background: var(--sw-surface);
  border: 1px solid var(--sw-line);
  border-radius: 12px;
  padding: 16px 18px;
  color: var(--sw-ink);
  font-weight: 600;
}
.payment_module a:hover { border-color: var(--sw-gold); }
.payment_module a:after { color: var(--sw-gold-2); }

/* Logowanie / konto */
#authentication .box, #authentication .panel, #identity .box, #addresses .box {
  background: var(--sw-surface);
  border: 1px solid var(--sw-line);
  border-radius: var(--sw-radius-lg);
  padding: 20px 22px;
}
#authentication .page-subheading { font-family: var(--sw-font-serif); font-size: 22px; text-transform: none; letter-spacing: 0; }

/* ----------------------------------------------------------------------------
   12. STOPKA
   -------------------------------------------------------------------------- */
.footer-container {
  background: var(--sw-ink);
  color: #b9ae95;
  margin-top: 40px;
}
.footer-container #footer { padding: 46px 0 30px; }
.footer-container #footer .footer-block { color: #b9ae95; }
.footer-container #footer h4, .footer-container #footer h4 > a {
  font-family: var(--sw-font-sans);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #e8dcc0;
  margin: 0 0 16px;
}
.footer-container #footer h4:after, .footer-container #footer h4 > a:after { background: var(--sw-gold); }
.footer-container #footer a { color: #b9ae95; }
.footer-container #footer a:hover { color: #e8dcc0; }
.footer-container #footer ul li a { font-size: 14px; line-height: 1.6; }
.footer-container #footer ul li + li { margin-top: 7px; }
.footer-container #footer #block_contact_infos > div ul li { font-size: 14px; }
.footer-container #footer #block_contact_infos > div ul li i { color: var(--sw-gold); }
.footer-container #footer .footer-info-heading { font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: #8d8267; margin: 16px 0 6px; font-weight: 700; }
.footer-container #footer .footer-txt { font-size: 13.5px; color: #a99e85; }
.payment_logos { margin-top: 16px; }
.payment_logos ul { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 0; }
.payment_logos li { list-style: none; }
/* Neutralizacja reguł listy stopki, które rozjeżdżały rząd logotypów:
   #footer ul li + li { margin-top } oraz #block_contact_infos ... ul li
   { padding: 0 0 7px 4px; line-height: 30px } przesuwały logotypy 2–5 o 7 px. */
.footer-container #footer #block_contact_infos .payment_logos ul li { padding: 0; margin: 0; line-height: 0; }
.payment_logos img { display: block; background: #fff; border-radius: 6px; padding: 3px; height: 30px; width: auto; }

/* ----------------------------------------------------------------------------
   13. HOMEPAGE — blog (sekcja poza homepage.css)
   -------------------------------------------------------------------------- */
#homepage-blog.block { background: transparent; border: 0; padding: 0; }
#homepage-blog .title_block { font-family: var(--sw-font-serif); font-size: 28px; text-transform: none; letter-spacing: 0; border: 0; margin: 0 0 20px; }
#homepage-blog .title_block a { color: var(--sw-ink); }
#homepage-blog ul.row { margin: 0 -10px; }
#homepage-blog li { padding: 0 10px 20px; }
#homepage-blog li > div, #homepage-blog li { position: relative; }
#homepage-blog .blog-image img { border-radius: 12px; }
#homepage-blog .date-added { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--sw-muted-2); margin: 10px 0 6px; }
#homepage-blog h5 a.product-name { font-family: var(--sw-font-serif); font-size: 20px; font-weight: 600; color: var(--sw-ink); }
#homepage-blog h5 a.product-name:hover { color: var(--sw-gold-2); }
#homepage-blog .post-descr { font-size: 14px; color: var(--sw-muted); }
#homepage-blog .commentcount a { font-size: 13px; font-weight: 600; color: var(--sw-gold-2); }
#homepage-blog .commentcount .fa { color: var(--sw-gold-2); }

/* ----------------------------------------------------------------------------
   14. DROBIAZGI
   -------------------------------------------------------------------------- */
#toTop {
  background: var(--sw-gold);
  color: #1a1611;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  line-height: 44px;
  font-size: 18px;
  box-shadow: var(--sw-shadow-2);
}
#toTop:hover { background: var(--sw-gold-2); color: #fff; }

/* Warstwa dodania do koszyka (AJAX) */
.layer_cart_overlay { background: rgba(26, 22, 17, .4); }
#layer_cart { border-radius: 14px; box-shadow: var(--sw-shadow-2); border: 1px solid var(--sw-line); background: var(--sw-surface); }
#layer_cart .button-container .btn { margin-right: 8px; }

/* Paginacja/nawigacja stron CMS itd. */
.pagination > .active > a, .pagination > .active > span { background: var(--sw-ink); border-color: var(--sw-ink); color: #fff; }
.pagination > li > a, .pagination > li > span { color: var(--sw-ink-3); border-color: var(--sw-line-2); }

/* Sitemap / CMS */
#sitemap .sitemap_block a, .cms .rte a { color: var(--sw-gold-2); font-weight: 600; }

/* Ukrycie starego paska „Categories" w stopce/lewej, jeśli pusty */
#left_column .block.hidden { display: none; }

/* ----------------------------------------------------------------------------
   15. RESPONSYWNOŚĆ
   -------------------------------------------------------------------------- */
@media (max-width: 991px) {
  .pb-right-column h1 { font-size: 28px; }
  #our_price_display { font-size: 32px; }
  .content_scene_cat h1.category-name { font-size: 30px; }
}

@media (max-width: 767px) {
  body { font-size: 15.5px; }
  h1 { font-size: 30px; }
  h2 { font-size: 25px; }
  h3 { font-size: 21px; }

  #header .nav { font-size: 12px; }
  .header-cont { padding: 12px 0 0; }
  #header_logo img { max-height: 54px; }
  .shop-phone { display: none; }
  .shopping_cart_wrap { margin-left: auto; }
  /* :first-child, bo desktopowa reguła .shopping_cart > a:first-child ma wyższą specyficzność */
  .shopping_cart > a:first-child { padding: 6px 12px; font-size: 11.5px; }
  /* na pasku mobilnym ikona koszyka była biała na białej pigułce (niewidoczna) */
  #header .shopping_cart > a:first-child:before { color: var(--sw-gold-2); }
  /* wyższa pigułka (etykieta + licznik) — wyśrodkowanie w 40px pasku */
  #header .shopping_cart { margin-top: 13px; }

  ul.product_list { margin: 0 -6px; }
  ul.product_list > li { padding: 0 6px 14px; }
  /* 2 produkty w rzędzie na telefonie (nowocześniejszy, gęstszy grid) */
  ul.product_list.grid > li { float: left; display: block; width: 50%; margin: 0; }
  ul.product_list li .right-block { padding: 10px 12px 12px; }
  ul.product_list li .product-name { font-size: 13.5px; min-height: 38px; }
  ul.product_list li .button-container { flex-direction: column; }
  ul.product_list li .quick-view { display: none; }

  .content_scene_cat { padding: 16px; }
  .content_scene_cat_bg { gap: 16px; }
  .content_scene_cat .category-image { flex-basis: 100%; max-width: 100%; }
  .content_scene_cat .cat_desc { flex-basis: 100%; }
  .content_scene_cat h1.category-name { font-size: 26px; }
  .tab-content { padding: 18px; }
  .product-info-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
  .product-info-tabs > li > a { border-radius: 8px; border: 1px solid var(--sw-line); margin: 0; }
  .tab-content { border-radius: var(--sw-radius-lg); }
  .footer-container #footer { padding: 30px 0 20px; }
}

/* ----------------------------------------------------------------------------
   11. POPRAWKI SIATKI KART PRODUKTÓW (2026-10-21)
   Stary motyw (product_list.css, @min-width:1200px) wymuszał na .product-container
   padding-bottom:100% i absolutny .right-block — karta miała sztywną wysokość
   „na kwadrat", pod przyciskami zostawał pusty pas, a karty z opiniami
   (hook-reviews) miały przyciski ~36 px niżej niż sąsiednie w tym samym rzędzie.
   Poniżej: normalny przepływ treści + wyrównanie przycisków do dołu karty,
   dzięki czemu cały rząd jest równy na każdej szerokości.
   -------------------------------------------------------------------------- */
@media (min-width: 1200px) {
  ul.product_list.grid > li .product-container,
  #index ul.product_list.grid > li .product-container { padding: 0; }
  ul.product_list.grid > li .right-block { position: static; }
}
ul.product_list.grid li .product-inner { display: flex; flex-direction: column; height: 100%; }
ul.product_list.grid > li .product-container .right-block { display: flex; flex-direction: column; }
ul.product_list.grid li .right-block { flex: 1; }
ul.product_list.grid > li .product-container .button-container { margin-top: auto; padding-top: 12px; }

/* Druk */
@media print {
  .header-container, .footer-container, #toTop, .breadcrumb { display: none !important; }
}

/* --------------------------------------------------------------------------
   Nasze sklepy partnerskie — przeniesione z naglowka do stopki (2026-10-21).
   Blok bez klas .row/.col (te wychodzily poza kontener stopki), wyrownany
   do srodka, na ciemnym tle stopki.
   -------------------------------------------------------------------------- */
#footer.container { display: flex; flex-direction: column; }
#footer.container .row { order: 1; }
#footer-languages { order: 2; clear: both; text-align: center; padding: 20px 15px 6px; border-top: 1px solid rgba(255,255,255,.08); margin-top: 20px; }
#footer .footer-languages-title { margin: 0 0 10px; color: #cfc4a9; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; }
#footer .footer-languages-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 26px; }
#footer .footer-languages-list li { display: inline-block; }
#footer .footer-languages-list li a { color: #cfc4a9; text-decoration: none; font-size: 13px; letter-spacing: .3px; }
#footer .footer-languages-list li a:hover { color: #fff; text-decoration: underline; }
