/* =========================================================================
   TIME-X — motyw sklepu zegarkowego (child Storefront)
   ========================================================================= */
:root{
  --tx-ink:#1f1f1f; --tx-slate:#1f2733; --tx-slate2:#323a4a; --tx-line:#e7e7e9;
  --tx-muted:#7c7f86; --tx-gold:#c8a24b; --tx-soft:#f6f6f7; --tx-red:#d81f2a;
}

/* ---- baza / typografia ---- */
body, button, input, select, textarea,
.site-title, h1,h2,h3,h4,h5,h6,
p, .storefront-primary-navigation, .woocommerce{
  font-family:Nunito,"Helvetica Neue",Helvetica,Arial,sans-serif !important;
}
body{ color:var(--tx-ink); background:#fff; }
a{ color:var(--tx-ink); }
a:hover{ color:var(--tx-gold); }

.tx-container{ max-width:1280px; margin:0 auto; padding:0 20px; }

/* Poszerzenie całego szablonu Storefront */
.col-full{ max-width:1280px !important; }

/* =========================================================================
   PRZYCISKI — czarne, kwadratowe (globalnie, też Woo)
   ========================================================================= */
.button, button, input[type="button"], input[type="submit"], input[type="reset"],
a.button, .woocommerce a.button, .woocommerce button.button,
.woocommerce .button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt,
.added_to_cart{
  background:var(--tx-ink) !important; color:#fff !important;
  border:2px solid var(--tx-ink) !important; border-radius:0 !important;
  font-weight:800 !important; text-transform:uppercase; letter-spacing:.03em;
  text-shadow:none !important; box-shadow:none !important;
  transition:.15s;
}
.button:hover, button:hover, a.button:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.added_to_cart:hover{
  background:var(--tx-gold) !important; color:#1a1a1a !important; border-color:var(--tx-gold) !important;
}

/* =========================================================================
   HEADER
   ========================================================================= */
.tx-promo{ background:var(--tx-slate); color:#fff; font-size:13px; font-weight:700; letter-spacing:.02em; }
.tx-promo__inner{ display:flex; gap:28px; justify-content:center; flex-wrap:wrap; padding:9px 20px; text-transform:uppercase; }
.tx-promo b{ color:var(--tx-gold); }

.site-header{
  background:#fff !important; border-bottom:1px solid var(--tx-line);
  padding-top:18px !important; padding-bottom:14px !important;
}
.site-header .site-branding, .site-header .site-title{ margin-bottom:0 !important; }
.site-title a, .site-title a:hover{ color:var(--tx-ink) !important; font-weight:900; letter-spacing:-.02em; }
.site-header .site-description{ color:var(--tx-muted); letter-spacing:.2em; text-transform:uppercase; font-size:11px; }

/* Układ nagłówka — FLEX; kolejność DOM: logo, wyszukiwarka, narzędzia, menu(100%) */
@media (min-width:769px){
  .site-header .col-full{ display:flex !important; flex-wrap:wrap; align-items:center; column-gap:28px; row-gap:12px; }
  /* KRYTYCZNE: Storefront nadaje .site-branding procentową szerokość (~69%),
     którą flex-basis:auto respektuje → logo rozpycha wiersz i spycha wyszukiwarkę
     do osobnej linii. width:auto zwija branding do faktycznej treści. */
  .site-header .site-branding{ flex:0 0 auto; width:auto !important; float:none !important; margin:0 !important; }
  .site-header .site-search{ flex:0 1 380px; width:380px; max-width:380px; margin:0 !important; float:none !important; }
  .site-header .site-search .widget{ max-width:none; margin:0 !important; }
  .site-header .tx-tools{ flex:0 0 auto; margin-left:auto; align-self:center; }
  .site-header .storefront-primary-navigation{ flex:1 0 100%; width:100%; margin:4px 0 0; }
  .site-header .skip-link{ position:absolute !important; }
}
/* Wyszukiwarka — własny markup .tx-search: pole + czarny przycisk „SZUKAJ" po prawej */
.tx-search-wrap{ width:100%; }
.tx-search{ display:flex !important; width:100%; margin:0 !important; }
.tx-search .tx-search__field{
  -webkit-appearance:none; appearance:none;
  flex:1 1 auto; min-width:0; width:100% !important; height:44px;
  border:2px solid var(--tx-ink) !important; border-right:0 !important; border-radius:0 !important;
  padding:0 16px !important; box-shadow:none !important; outline:0; background:#fff;
  color:var(--tx-ink); font-weight:600; font-size:14px;
}
.tx-search .tx-search__field::placeholder{ color:#9a9da3; font-weight:600; }
.tx-search .tx-search__field::-webkit-search-decoration,
.tx-search .tx-search__field::-webkit-search-cancel-button,
.tx-search .tx-search__field::-webkit-search-results-button{ -webkit-appearance:none; display:none; }
.tx-search .tx-search__btn{
  flex:0 0 auto; height:44px; margin:0 !important;
  border:0 !important; border-radius:0 !important; background:var(--tx-ink) !important; color:#fff !important;
  padding:0 18px !important; cursor:pointer;
  font-weight:900; text-transform:uppercase; letter-spacing:.04em; font-size:12.5px;
  display:inline-flex; align-items:center; justify-content:center; gap:8px; transition:.15s;
}
.tx-search .tx-search__btn svg{ width:17px; height:17px; display:block; }
.tx-search .tx-search__btn:hover{ background:var(--tx-gold) !important; color:#1a1a1a !important; }

/* Logo SVG + tekst partnerski */
.tx-branding{ margin:0 !important; padding:0 !important; display:flex !important; align-items:center; gap:14px; flex-wrap:nowrap; }
.tx-branding::before, .tx-branding::after{ display:none !important; content:none !important; }
.tx-logo{ display:inline-block; line-height:0; flex:0 0 auto; }
.tx-logo__svg{ height:50px; width:auto; display:block; }
.tx-partner{ font-size:10.5px; font-weight:700; line-height:1.35; color:var(--tx-muted); text-transform:uppercase; letter-spacing:.03em; white-space:nowrap; border-left:2px solid var(--tx-line); padding-left:13px; }
.tx-partner b{ display:block; color:var(--tx-gold); font-weight:900; }
@media (max-width:1100px){ .tx-partner{ display:none; } }

/* Narzędzia nagłówka: konto + koszyk (SVG) */
.tx-tools{ display:flex; align-items:center; gap:26px; }
.tx-tool{ display:inline-flex; flex-direction:column; align-items:center; gap:3px; position:relative; color:var(--tx-ink) !important; font-weight:800; font-size:11px; text-transform:uppercase; letter-spacing:.05em; }
.tx-tool:hover{ color:var(--tx-gold) !important; }
.tx-tool svg{ width:26px; height:26px; display:block; }
.tx-tool__ico{ position:relative; display:inline-flex; }
.tx-tool__badge{ position:absolute; top:-7px; right:-10px; min-width:18px; height:18px; padding:0 5px; background:var(--tx-gold); color:#1a1a1a; border-radius:999px; font-size:11px; font-weight:900; line-height:18px; text-align:center; }
@media (max-width:767px){ .tx-tool__lbl{ display:none; } }

/* nawigacja główna — łamana do 2 linii, wyrównana do LEWEJ */
.storefront-primary-navigation{ background:#fff !important; border-top:1px solid var(--tx-line); box-shadow:none; }
/* Storefront zawęża .main-navigation/.primary-navigation (~69% = 873px) → wymuszamy pełną szerokość belki,
   żeby space-between rozłożył pozycje od lewej do prawej krawędzi (szersze, równe odstępy). */
.storefront-primary-navigation .main-navigation,
.storefront-primary-navigation .main-navigation > .primary-navigation,
.storefront-primary-navigation .primary-navigation{
  width:100% !important; max-width:none !important; float:none !important; margin-right:0 !important;
}
.main-navigation ul.menu, .main-navigation ul.nav-menu,
.main-navigation > div > ul, #site-navigation ul{
  display:flex !important; flex-wrap:nowrap; justify-content:space-between; align-items:center;
  float:none !important; margin:0; gap:0; width:100%;
}
.main-navigation ul li{ float:none !important; flex:0 0 auto; }
.main-navigation ul li a{
  color:var(--tx-ink) !important; font-weight:800; text-transform:uppercase;
  font-size:15px; letter-spacing:.01em; padding:10px 4px;
  text-align:left; line-height:1.25; white-space:nowrap;
}
.main-navigation ul li a br{ display:block; }
.main-navigation ul li a:hover, .main-navigation ul li.current-menu-item a{ color:var(--tx-gold) !important; }
.main-navigation ul.menu ul.sub-menu, .main-navigation ul.nav-menu ul.children{ background:#fff; border:1px solid var(--tx-line); }

/* =========================================================================
   HERO
   ========================================================================= */
/* Baner podciągnięty pod nagłówek — źródłem przerwy jest margin-bottom .site-header (Storefront 4.235em) */
.home .site-header{ margin-bottom:0 !important; }
.home #content.site-content,
.home #content .col-full{ padding-top:0 !important; margin-top:0 !important; }
.tx-home, .tx-hero{ margin-top:0 !important; }

.tx-hero{ position:relative; min-height:500px; display:flex; align-items:center; overflow:hidden; background:var(--tx-slate); color:#fff; }
.tx-hero__media{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.tx-hero__media--img{ background-size:cover; background-position:center; }
.tx-hero__overlay{ position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, rgba(15,20,28,.94) 0%, rgba(15,20,28,.80) 42%, rgba(15,20,28,.42) 100%); }
.tx-hero__inner{ position:relative; z-index:2; width:100%; }
.tx-hero__txt{ max-width:600px; padding:64px 0; }
.tx-hero__kick{ color:var(--tx-gold); font-weight:800; letter-spacing:.22em; text-transform:uppercase; font-size:13px; margin:0 0 14px; }
.tx-hero__h{ font-size:48px; line-height:1.05; font-weight:900; margin:0 0 16px; letter-spacing:-.01em; color:#fff; text-shadow:0 2px 20px rgba(0,0,0,.35); }
.tx-hero__p{ color:#dfe3e9; font-size:17px; max-width:460px; margin:0 0 26px; }
.tx-btn{
  display:inline-block; background:#fff; color:var(--tx-ink) !important; font-weight:900;
  text-transform:uppercase; letter-spacing:.04em; padding:15px 30px; border:2px solid #fff;
}
.tx-btn:hover{ background:var(--tx-gold); border-color:var(--tx-gold); color:#1a1a1a !important; }

/* =========================================================================
   KAFLE KATEGORII
   ========================================================================= */
.tx-cats{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:44px 0 10px; }
.tx-cattile{ text-align:center; display:block; }
.tx-cattile__img{ aspect-ratio:1; background:var(--tx-soft); border:1px solid var(--tx-line); display:flex; align-items:center; justify-content:center; padding:14px; transition:.15s; overflow:hidden; }
.tx-cattile:hover .tx-cattile__img{ border-color:var(--tx-ink); transform:translateY(-3px); }
.tx-cattile__img img{ max-height:100%; width:auto; object-fit:contain; mix-blend-mode:multiply; }
.tx-cattile__ph{ font-size:34px; }
.tx-cattile__name{ display:block; margin-top:14px; font-weight:900; font-size:21px; text-transform:uppercase; letter-spacing:.01em; line-height:1.15; color:var(--tx-ink); }

/* =========================================================================
   SEKCJE + SIATKA (strona główna)
   ========================================================================= */
.tx-sec{ padding:34px 0; }
.tx-sec__head{ display:flex; align-items:flex-end; justify-content:space-between; border-bottom:2px solid var(--tx-ink); padding-bottom:12px; margin-bottom:22px; }
.tx-sec__title{ font-size:26px; font-weight:900; margin:0; letter-spacing:-.01em; }
.tx-sec__sub{ margin:2px 0 0; color:var(--tx-muted); font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.04em; }
.tx-sec__all{ font-weight:800; font-size:13px; text-transform:uppercase; letter-spacing:.03em; white-space:nowrap; }
.tx-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }

/* karta produktu (strona główna) */
.tx-card{ position:relative; border:1px solid var(--tx-line); background:#fff; display:flex; flex-direction:column; padding:14px; transition:.15s; }

/* numerek rankingu w kółeczku */
.tx-card__rank{
  position:absolute; top:10px; left:10px; z-index:3;
  width:34px; height:34px; border-radius:999px;
  background:var(--tx-ink); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-weight:900; font-size:15px; line-height:1;
  box-shadow:0 3px 8px rgba(0,0,0,.25); border:2px solid #fff;
}
.tx-card__rank--top{ background:var(--tx-gold); color:#1a1a1a; }
.tx-card:hover{ border-color:var(--tx-ink); box-shadow:0 12px 26px rgba(0,0,0,.08); transform:translateY(-3px); }
.tx-card__img{ height:210px; display:flex; align-items:center; justify-content:center; margin-bottom:12px; padding:6px; }
.tx-card__img img{ max-height:100%; max-width:100%; width:auto; height:auto; object-fit:contain; mix-blend-mode:multiply; }
.tx-card__brand{ font-weight:900; font-size:13px; text-transform:uppercase; letter-spacing:.05em; }
.tx-card__title{ font-size:13px; color:#4a4d54; font-weight:600; min-height:36px; margin:3px 0 10px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.tx-card__price{ font-size:20px; font-weight:900; margin-top:auto; }
.tx-card__price .amount{ font-weight:900; }
.tx-card__price del{ color:var(--tx-muted); font-weight:600; font-size:15px; }
.tx-card__cta{ margin-top:12px; background:var(--tx-ink); color:#fff; text-align:center; font-weight:800; font-size:13px; text-transform:uppercase; letter-spacing:.03em; padding:11px; }
.tx-card:hover .tx-card__cta{ background:var(--tx-gold); color:#1a1a1a; }

/* =========================================================================
   PASEK MAREK / ZAUFANIE
   ========================================================================= */
.tx-brands{ background:var(--tx-soft); border-top:1px solid var(--tx-line); border-bottom:1px solid var(--tx-line); margin-top:20px; }
.tx-brands__inner{ display:flex; gap:14px 30px; justify-content:center; flex-wrap:wrap; padding:24px 20px; }
.tx-brandchip{ font-weight:800; letter-spacing:.04em; color:#5a5f68; font-size:14px; text-transform:uppercase; transition:.15s; }
.tx-brandchip:hover{ color:var(--tx-gold) !important; }

/* Pas promo ECM (gotowy sklep) — elegancki */
.tx-ecm{ background:linear-gradient(180deg,#1c2430 0%, #161d27 100%); border-top:3px solid var(--tx-gold); }
.tx-ecm__inner{ display:flex; align-items:center; justify-content:center; gap:14px 28px; flex-wrap:wrap; padding:34px 20px; text-align:center; }
.tx-ecm__txt{ font-weight:800; font-size:19px; color:#fff; letter-spacing:.005em; }
.tx-ecm__txt b, .tx-ecm__txt .g{ color:var(--tx-gold); }
.tx-ecm a.tx-ecm__btn{
  display:inline-flex; align-items:center; gap:8px;
  background:transparent; color:#fff !important;
  border:2px solid var(--tx-gold); border-radius:0;
  font-weight:900; text-transform:uppercase; letter-spacing:.07em; font-size:13px;
  padding:15px 30px; text-decoration:none !important; transition:.2s ease;
}
.tx-ecm a.tx-ecm__btn:hover{ background:var(--tx-gold) !important; color:#1a1a1a !important; box-shadow:0 10px 28px rgba(200,162,75,.28); transform:translateY(-1px); }

.tx-trust{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:44px 20px; }
.tx-trust__it{ text-align:center; padding:0 12px; }
.tx-trust__ic{ font-size:30px; }
.tx-trust__t{ font-weight:900; margin:10px 0 6px; text-transform:uppercase; letter-spacing:.03em; font-size:15px; }
.tx-trust__d{ color:var(--tx-muted); font-size:14px; font-weight:600; }

/* =========================================================================
   DISCLOSURE / STOPKA
   ========================================================================= */
.storefront-handheld-footer-bar, .site-footer{ background:var(--tx-slate) !important; color:#c3c8d0 !important; }
.site-footer a{ color:#c3c8d0 !important; }
.site-footer a:hover{ color:var(--tx-gold) !important; }
.tx-disclosure{ background:var(--tx-slate); color:#9198a3; font-size:12.5px; line-height:1.6; border-top:1px solid #2c3644; padding:16px 0; }

/* Przycisk „do góry strony" */
.tx-top{
  position:fixed; right:22px; bottom:22px; z-index:999;
  width:50px; height:50px; border:0; border-radius:0;
  background:var(--tx-ink); color:#fff; font-size:22px; font-weight:900; line-height:1; cursor:pointer;
  opacity:0; visibility:hidden; transform:translateY(12px); transition:.2s ease;
  box-shadow:0 6px 20px rgba(0,0,0,.28);
}
.tx-top.is-on{ opacity:1; visibility:visible; transform:none; }
.tx-top:hover{ background:var(--tx-gold); color:#1a1a1a; }

/* =========================================================================
   NADPISANIA STRON SKLEPU (archiwum kategorii / sklep)
   ========================================================================= */

/* --- brak bocznego paska → treść na całą szerokość --- */
.woocommerce-page #secondary,
.woocommerce #secondary{ display:none !important; }
.woocommerce-page #primary,
.woocommerce #primary,
.woocommerce-page .content-area,
.woocommerce .content-area{ width:100% !important; max-width:none !important; float:none !important; margin:0 !important; }

/* --- siatka produktów: równe 4 kolumny (grid nadpisuje floaty Storefront) --- */
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:20px !important;
  margin:0 0 30px !important;
}
/* KRYTYCZNE: clearfix ::before/::after Woo w gridzie zajmują komórki i chowają 1. produkt */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after{ content:none !important; display:none !important; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  width:auto !important; margin:0 !important; float:none !important; clear:none !important;
  border:1px solid var(--tx-line); padding:16px; background:#fff; transition:.15s;
  display:flex; flex-direction:column; text-align:center;
}
.woocommerce ul.products li.product:hover{ border-color:var(--tx-ink); box-shadow:0 12px 26px rgba(0,0,0,.08); transform:translateY(-3px); }
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img{
  height:210px !important; width:auto !important; max-width:100%; object-fit:contain;
  margin:0 auto 12px !important; mix-blend-mode:multiply;
}

/* marka/tytuł — WYRÓWNANE nazwy (2 linie, stała wysokość) */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2{
  font-weight:800 !important; font-size:14px !important; line-height:1.35; color:#2a2d33;
  min-height:2.7em; margin:0 0 8px !important; padding:0 4px !important;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}

/* CENY — wyraźne */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price{
  color:var(--tx-ink) !important; font-weight:900 !important; font-size:22px !important;
  margin:0 0 12px !important;
}
.woocommerce ul.products li.product .price del{ color:var(--tx-muted); font-weight:600; font-size:15px; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }

/* przycisk „Zobacz więcej” zawsze na dole karty */
.woocommerce ul.products li.product .button{
  margin-top:auto !important; width:100%; display:block; padding:12px 10px !important;
}
.woocommerce ul.products li.product .star-rating{ margin:0 auto 8px; }

/* nagłówek/liczniki/sortowanie archiwum */
.page-title, .woocommerce-products-header__title{ font-weight:900; letter-spacing:-.01em; }
.woocommerce .woocommerce-result-count{ font-weight:700; color:var(--tx-muted); }
/* sortowanie usunięte (domyślnie: od najnowszych) */
.woocommerce .woocommerce-ordering{ display:none !important; }

/* ładniejsze stronicowanie — wyśrodkowane kwadratowe kafelki */
.woocommerce nav.woocommerce-pagination{ text-align:center; margin:34px 0 10px; }
.woocommerce nav.woocommerce-pagination ul{ border:0; margin:0; display:inline-flex; gap:8px; }
.woocommerce nav.woocommerce-pagination ul li{ border:0 !important; margin:0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  border:2px solid var(--tx-line) !important; border-radius:0; font-weight:900; font-size:15px;
  min-width:46px; height:46px; line-height:42px; padding:0 !important; display:block; color:var(--tx-ink);
  transition:.15s;
}
.woocommerce nav.woocommerce-pagination ul li a:hover{ border-color:var(--tx-ink) !important; background:var(--tx-ink); color:#fff; }
.woocommerce nav.woocommerce-pagination ul li span.current{ background:var(--tx-ink); color:#fff; border-color:var(--tx-ink) !important; }

/* =========================================================================
   KOSZYK — pusty koszyk pokazuje listing „jak w kategorii"
   ========================================================================= */
.woocommerce-cart .cart-empty.woocommerce-info{
  text-align:center; border:0; background:var(--tx-soft); font-weight:700; color:var(--tx-ink);
  padding:18px; margin:0 0 6px;
}
.woocommerce-cart .cart-empty.woocommerce-info::before{ display:none; }
.woocommerce-cart .return-to-shop{ display:none !important; }
.tx-cart-empty{ margin-top:34px; }
.tx-cart-empty__title{ text-align:center; font-weight:900; font-size:26px; letter-spacing:-.01em; margin:0 0 4px; }
.tx-cart-empty__sub{ text-align:center; color:var(--tx-muted); font-weight:600; margin:0 0 26px; }
.tx-cart-empty .products{ margin-top:0 !important; }

/* --- GALERIA: bez lupki, powiększanie po kliknięciu (własny lightbox) --- */
.woocommerce-product-gallery__trigger{ display:none !important; }
.woocommerce div.product .woocommerce-product-gallery__image a,
.woocommerce-product-gallery__image img{ cursor:zoom-in; }
.post-edit-link, .edit-link{ display:none !important; }

.tx-lb{
  position:fixed; inset:0; z-index:100000; display:flex; align-items:center; justify-content:center;
  background:rgba(12,16,22,.92); padding:28px; cursor:zoom-out; animation:tx-lb-in .15s ease;
}
@keyframes tx-lb-in{ from{ opacity:0 } to{ opacity:1 } }
.tx-lb__img{ max-width:82vw; max-height:88vh; width:auto; height:auto; object-fit:contain; box-shadow:0 20px 60px rgba(0,0,0,.5); background:#fff; }
.tx-lb__x{
  position:absolute; top:18px; right:22px; width:46px; height:46px; border:0; border-radius:0; z-index:2;
  background:#fff; color:#111; font-size:30px; line-height:1; cursor:pointer; font-weight:700; transition:.15s;
}
.tx-lb__x:hover{ background:var(--tx-gold); color:#1a1a1a; }
.tx-lb__nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  width:56px; height:56px; border:0; border-radius:999px; cursor:pointer;
  background:rgba(255,255,255,.14); color:#fff; font-size:34px; line-height:1;
  display:flex; align-items:center; justify-content:center; transition:.15s;
}
.tx-lb__nav:hover{ background:var(--tx-gold); color:#1a1a1a; }
.tx-lb__prev{ left:20px; }
.tx-lb__next{ right:20px; }
.tx-lb__count{
  position:absolute; bottom:22px; left:50%; transform:translateX(-50%); z-index:2;
  color:#fff; font-weight:800; font-size:13px; letter-spacing:.06em;
  background:rgba(0,0,0,.45); padding:6px 14px;
}
@media (max-width:600px){ .tx-lb__nav{ width:44px; height:44px; font-size:26px; } .tx-lb__prev{ left:8px; } .tx-lb__next{ right:8px; } .tx-lb__img{ max-width:90vw; } }

/* --- KARTA PRODUKTU (single) --- */
.woocommerce div.product form.cart .button,
.woocommerce div.product .single_add_to_cart_button{ font-size:16px !important; padding:16px 34px !important; width:100%; max-width:520px; }
/* Tytuł produktu KAPITALIKAMI */
.woocommerce div.product .product_title{ text-transform:uppercase; letter-spacing:.005em; font-weight:900; font-size:30px; line-height:1.15; }
/* Opis (bez zakładek, bez słowa „Opis") — PEŁNA SZEROKOŚĆ */
.tx-desc{ width:100%; max-width:none; margin:26px 0 0; font-size:16px; line-height:1.7; color:#33363c; }
.tx-desc h2, .tx-desc h3{ font-weight:900; margin:22px 0 10px; }
.tx-desc p{ margin:0 0 14px; }

/* ZŁOTY → CZARNY na NAZWACH produktów (NIE na przyciskach!) */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 a,
.related.products ul.products li.product a:not(.button),
.up-sells ul.products li.product a:not(.button){ color:var(--tx-ink) !important; }
/* przyciski w kaflach ZAWSZE biały tekst */
.woocommerce ul.products li.product a.button{ color:#fff !important; }
.woocommerce ul.products li.product a.button:hover{ color:#1a1a1a !important; }

@media (max-width:1000px){ .woocommerce ul.products, .woocommerce-page ul.products{ grid-template-columns:repeat(3,1fr) !important; } }
@media (max-width:680px){ .woocommerce ul.products, .woocommerce-page ul.products{ grid-template-columns:repeat(2,1fr) !important; } }

/* =========================================================================
   KARUZELA „Spodobają Ci się również…" (podobne produkty)
   ========================================================================= */
.related.products{ position:relative; clear:both; }
.related.products > h2{ font-weight:900; letter-spacing:-.01em; margin-bottom:18px; }
.related.products > ul.products{
  display:flex !important; grid-template-columns:none !important; flex-wrap:nowrap !important;
  overflow-x:auto; scroll-behavior:smooth; scroll-snap-type:x mandatory;
  gap:20px !important; margin:0 !important; padding-bottom:6px;
  -ms-overflow-style:none; scrollbar-width:none;
}
.related.products > ul.products::-webkit-scrollbar{ display:none; }
.related.products > ul.products li.product{
  flex:0 0 calc((100% - 60px) / 4) !important; width:calc((100% - 60px) / 4) !important;
  scroll-snap-align:start; margin:0 !important;
}
.tx-carr{
  position:absolute; top:calc(50% + 10px); transform:translateY(-50%); z-index:5;
  width:44px; height:44px; border:0; border-radius:999px; cursor:pointer;
  background:var(--tx-ink); color:#fff; font-size:26px; font-weight:900; line-height:1;
  display:flex; align-items:center; justify-content:center; box-shadow:0 4px 14px rgba(0,0,0,.25); transition:.15s;
}
.tx-carr:hover{ background:var(--tx-gold); color:#1a1a1a; }
.tx-carr--prev{ left:-10px; }
.tx-carr--next{ right:-10px; }
@media (max-width:1000px){ .related.products > ul.products li.product{ flex-basis:calc((100% - 40px)/3) !important; width:calc((100% - 40px)/3) !important; } }
@media (max-width:680px){ .related.products > ul.products li.product{ flex-basis:calc((100% - 20px)/2) !important; width:calc((100% - 20px)/2) !important; } }

/* =========================================================================
   RESPONSYWNOŚĆ
   ========================================================================= */
@media (max-width:1000px){
  .tx-hero__inner{ grid-template-columns:1fr; } .tx-hero__img{ order:-1; min-height:260px; }
  .tx-hero__txt{ padding:40px 0; }
  .tx-cats{ grid-template-columns:repeat(3,1fr); }
  .tx-grid{ grid-template-columns:repeat(3,1fr); }
  .tx-trust{ grid-template-columns:1fr 1fr; }
}
@media (max-width:620px){
  .tx-grid{ grid-template-columns:repeat(2,1fr); }
  .tx-cats{ grid-template-columns:repeat(2,1fr); }
  .tx-cattile__name{ font-size:16px; }
  .tx-hero__h{ font-size:34px; }
  .tx-hero{ min-height:400px; }
  .tx-promo__inner{ gap:14px; font-size:11px; }
}
