/* ============================================================
   Slabhaus - warstwa wizualna

   Kierunek: jasno, prosto, duzo powietrza (wzor: deichcards.de).
   Pomaranczowy z logo i z szablonu aukcji zostaje, ale jako akcent -
   na przyciskach, podkresleniach i plakietkach, a nie jako tlo calych
   sekcji. Naglowek i stopka sa ciemne, bo logo Slabhaus jest neonowe
   i na bieli gasnie.

   Kolory siedza w zmiennych nizej. Zmiana palety to zmiana tych kilku
   linijek, nie szukanie po calym pliku.
   ============================================================ */
:root{
  /* marka */
  --sh-orange:#ff6a00;
  --sh-orange-dark:#e65100;
  --sh-orange-soft:#fff4ec;

  /* tekst i tla */
  --sh-ink:#16181d;
  --sh-ink-2:#454b57;
  --sh-muted:#7c8493;
  --sh-bg:#ffffff;
  --sh-bg-soft:#f7f7f8;
  --sh-tile:#f4f4f5;
  --sh-line:#e6e7ea;

  /* ciemne elementy */
  --sh-dark:#14100d;
  --sh-dark-2:#1e1813;

  --sh-radius:8px;
  --sh-radius-sm:4px;
  --sh-shadow-lift:0 10px 30px rgba(16,18,25,.10);
}

/* ------------------------------------------------------------
   Podstawy
   ------------------------------------------------------------ */
html, body, .site, .site-content,
.ast-separate-container, .ast-plain-container{
  background: var(--sh-bg) !important;
}
body{ color: var(--sh-ink); }
.entry-content a:not(.button):not(.sh-btn){ color: var(--sh-orange-dark); }
::selection{ background:#ffd7b8; color:#111; }
::-moz-selection{ background:#ffd7b8; color:#111; }

/* ------------------------------------------------------------
   Pasek kontaktowy - ciemny, cienki, nad naglowkiem
   ------------------------------------------------------------ */
.sh-topbar{
  background: var(--sh-dark) !important;
  color:rgba(255,255,255,.72);
  font-size:12.5px; line-height:1;
  padding:11px 0; position:relative; z-index:5;
}
/* wnetrze ma klase .ast-container - pilnujemy, zeby nie dostalo jasnego tla */
.sh-topbar .ast-container, .sh-topbar .sh-topbar-inner{ background:transparent !important; }
.sh-topbar-inner{
  display:flex; align-items:center; justify-content:center;
  flex-wrap:wrap; gap:8px 18px;
}
.sh-topbar-label{ color:var(--sh-orange); font-weight:700; letter-spacing:.3px; }
.sh-topbar-link{
  display:inline-flex; align-items:center; gap:7px;
  color:rgba(255,255,255,.86) !important; text-decoration:none;
}
.sh-topbar-link:hover{ color:var(--sh-orange) !important; }
.sh-topbar-sep{ color:rgba(255,255,255,.25); }
.sh-topbar-claim{ color:rgba(255,255,255,.55); }
@media (max-width:700px){ .sh-topbar-claim, .sh-topbar-sep{ display:none; } }

/* ------------------------------------------------------------
   Naglowek
   ------------------------------------------------------------ */
.site-header, .ast-main-header-wrap, .main-header-bar,
.ast-primary-header-bar, .site-primary-header-wrap,
.ast-builder-grid-row, #ast-desktop-header, .ast-mobile-header-wrap{
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
.site-header{
  background: var(--sh-dark) !important;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.ast-theme-transparent-header .site-header,
.ast-transparent-header .site-header{
  background: var(--sh-dark) !important;
  position: static !important;
}
.ast-primary-header-bar{
  border-bottom:0 !important;
  padding-top:10px !important; padding-bottom:10px !important;
}
.site-header a:not(.button), .site-header .menu-link,
.site-header .ast-builder-menu a{ color:rgba(255,255,255,.88) !important; }
.site-header a:hover, .site-header .menu-link:hover{ color:var(--sh-orange) !important; }

/* menu: male wersaliki z rozstrzeleniem - lekkie, jak we wzorze */
.main-header-menu > li > a, .main-header-menu > li > .menu-link{
  font-size:12.5px !important; font-weight:600;
  letter-spacing:1.2px; text-transform:uppercase;
}
.main-header-menu > li.current-menu-item > a{ color:var(--sh-orange) !important; }
.ast-desktop .main-header-menu .sub-menu{
  background: var(--sh-dark-2) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.35) !important;
}
.ast-desktop .main-header-menu .sub-menu a{
  color:rgba(255,255,255,.82) !important;
  font-size:13px; letter-spacing:.2px; text-transform:none;
}

/* logo - neon potrzebuje miejsca */

/* ikony w menu */
.sh-home-icon a, .sh-nav-icon a{
  display:inline-flex !important; align-items:center; justify-content:center;
  padding:6px 9px !important; position:relative;
}
.sh-home-icon svg, .sh-nav-icon svg{ width:20px; height:20px; }
.sh-cart-count{
  position:absolute; top:-1px; right:0;
  min-width:16px; height:16px; padding:0 4px;
  border-radius:99px; background:var(--sh-orange); color:#fff;
  font-size:10.5px; font-weight:800; line-height:16px; text-align:center;
}
.ast-mobile-menu-buttons-minimal.menu-toggle{ color:var(--sh-orange) !important; }
#ast-mobile-header .main-header-menu{ background:var(--sh-dark-2) !important; }
#ast-mobile-header .main-header-menu a{ color:rgba(255,255,255,.88) !important; }

/* ------------------------------------------------------------
   Wyszukiwarka pod naglowkiem
   ------------------------------------------------------------ */
.sh-searchbar{
  background: var(--sh-bg-soft);
  border-bottom:1px solid var(--sh-line);
  padding:12px 0;
}
.sh-searchbar-inner{ max-width:640px; margin:0 auto; padding:0 16px; }
.sh-searchbar form.woocommerce-product-search{ display:flex; gap:8px; }
.sh-searchbar input[type="search"]{
  flex:1; border:1px solid var(--sh-line); border-radius:var(--sh-radius-sm);
  padding:11px 15px; background:#fff; font-size:14.5px; color:var(--sh-ink);
}
.sh-searchbar input[type="search"]:focus{
  outline:none; border-color:var(--sh-orange);
  box-shadow:0 0 0 3px rgba(255,106,0,.12);
}
.sh-searchbar button[type="submit"]{
  border:0; border-radius:var(--sh-radius-sm); padding:11px 22px;
  background:var(--sh-ink); color:#fff; cursor:pointer;
  font-size:12.5px; font-weight:700; letter-spacing:1px; text-transform:uppercase;
}
.sh-searchbar button[type="submit"]:hover{ background:var(--sh-orange); }

/* ------------------------------------------------------------
   Przyciski
   ------------------------------------------------------------ */
.sh-btn{
  display:inline-block; padding:14px 30px; border-radius:var(--sh-radius-sm);
  font-size:12.5px; font-weight:700; letter-spacing:1.1px; text-transform:uppercase;
  text-decoration:none !important; transition:background .15s ease, color .15s ease;
}
.sh-btn--primary{ background:var(--sh-orange); color:#fff !important; }
.sh-btn--primary:hover{ background:var(--sh-orange-dark); color:#fff !important; }
.sh-btn--ghost{ background:transparent; color:var(--sh-ink) !important; border:1px solid var(--sh-line); }
.sh-btn--ghost:hover{ border-color:var(--sh-ink); }

.woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt{
  background:var(--sh-ink) !important; color:#fff !important;
  border:0 !important; border-radius:var(--sh-radius-sm) !important;
  padding:12px 22px !important;
  font-size:12.5px !important; font-weight:700 !important;
  letter-spacing:1px; text-transform:uppercase;
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover{
  background:var(--sh-orange) !important; color:#fff !important;
}
.woocommerce div.product form.cart .button{ padding:15px 34px !important; }

/* ------------------------------------------------------------
   Naglowki sekcji: maly kicker + tytul, wyrownane do lewej
   ------------------------------------------------------------ */
.sh-section{ padding:60px 0 8px; }
.sh-section-head{ margin:0 0 26px; max-width:720px; }
.sh-kicker{
  display:block; margin:0 0 8px;
  font-size:11.5px; font-weight:800; letter-spacing:2.2px; text-transform:uppercase;
  color:var(--sh-orange);
}
.sh-section-title{
  margin:0 0 8px; font-size:clamp(24px,3.2vw,34px);
  font-weight:800; letter-spacing:-.4px; color:var(--sh-ink);
}
.sh-section-sub{ margin:0; color:var(--sh-muted); font-size:15px; line-height:1.6; }

/* ------------------------------------------------------------
   Hero - jasny i spokojny
   ------------------------------------------------------------ */
.sh-full{
  width:100vw; max-width:100vw;
  margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
}
.sh-hero{
  background:var(--sh-bg-soft);
  border-bottom:1px solid var(--sh-line);
  padding:60px 24px 64px;
}
.sh-hero-inner{
  max-width:1180px; margin:0 auto;
  display:grid; grid-template-columns:1.15fr .85fr; gap:40px; align-items:center;
}
@media (max-width:900px){
  .sh-hero{ padding:44px 20px 48px; }
  .sh-hero-inner{ grid-template-columns:1fr; gap:26px; }
}
.sh-hero-kicker{
  margin:0 0 12px; font-size:11.5px; font-weight:800;
  letter-spacing:2.2px; text-transform:uppercase; color:var(--sh-orange);
}
.sh-hero-title{
  margin:0 0 16px; font-size:clamp(30px,4.4vw,46px); line-height:1.12;
  font-weight:800; letter-spacing:-1px; color:var(--sh-ink);
}
.sh-hero-lead{
  margin:0 0 26px; max-width:520px;
  font-size:16.5px; line-height:1.65; color:var(--sh-ink-2);
}
.sh-hero-actions{ display:flex; gap:10px; flex-wrap:wrap; }
.sh-hero-media{
  display:flex; align-items:center; justify-content:center;
  background:var(--sh-dark); border-radius:var(--sh-radius);
  padding:34px 24px; min-height:230px;
}
.sh-hero-media img{ max-width:260px; width:100%; height:auto; }
@media (max-width:900px){ .sh-hero-media{ min-height:170px; padding:26px 20px; } }

/* pasek zaufania - ciemny i cienki, jak we wzorze */
.sh-trust{
  background:var(--sh-dark);
  display:flex; flex-wrap:wrap; align-items:baseline; justify-content:center;
  gap:10px 34px; padding:14px 20px;
}
.sh-trust-item{ display:inline-flex; align-items:baseline; gap:8px; font-size:13px; }
.sh-trust-title{ color:#fff; font-weight:700; }
.sh-trust-text{ color:rgba(255,255,255,.55); }
@media (max-width:860px){
  .sh-trust{ flex-direction:column; align-items:flex-start; gap:9px; }
  .sh-trust-item{ flex-direction:column; gap:2px; }
}

/* ------------------------------------------------------------
   Kafelki kategorii
   ------------------------------------------------------------ */
.sh-cats{
  display:grid; gap:12px;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
}
.sh-cat{
  display:flex; flex-direction:column; gap:4px; justify-content:center;
  padding:20px 18px; min-height:92px;
  background:#fff; border:1px solid var(--sh-line); border-radius:var(--sh-radius);
  text-decoration:none !important;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.sh-cat:hover{ border-color:var(--sh-ink); box-shadow:var(--sh-shadow-lift); }
.sh-cat-img img{ width:44px; height:44px; object-fit:contain; margin-bottom:6px; }
.sh-cat-name{ font-weight:700; font-size:15px; color:var(--sh-ink); }
.sh-cat-count{ font-size:12.5px; color:var(--sh-muted); }

/* ------------------------------------------------------------
   Dlaczego my
   ------------------------------------------------------------ */
.sh-why{
  display:grid; gap:14px;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
}
.sh-why-item{
  padding:26px 24px; background:var(--sh-bg-soft);
  border:1px solid var(--sh-line); border-radius:var(--sh-radius);
}
.sh-why-num{
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:30px; margin-bottom:14px; border-radius:var(--sh-radius-sm);
  background:var(--sh-orange); color:#fff; font-weight:800; font-size:14px;
}
.sh-why-title{ margin:0 0 6px; font-size:17px; font-weight:700; color:var(--sh-ink); }
.sh-why-text{ margin:0; font-size:14.5px; line-height:1.62; color:var(--sh-ink-2); }

/* ------------------------------------------------------------
   Zamkniecie strony
   ------------------------------------------------------------ */
.sh-cta{
  margin:64px 0 0; padding:56px 24px; text-align:center;
  background:var(--sh-dark); color:#fff;
}
.sh-cta-title{ margin:0 0 10px; font-size:clamp(22px,3vw,30px); font-weight:800; color:#fff; }
.sh-cta-text{ margin:0 auto 24px; max-width:520px; color:rgba(255,255,255,.66); font-size:15px; }

/* strona glowna nie potrzebuje tytulu strony nad hero */
.home .entry-header, .home .ast-archive-description{ display:none; }

/* ------------------------------------------------------------
   Pasek kategorii nad lista produktow
   ------------------------------------------------------------ */
.sh-catbar{ margin:0 0 20px; }
.sh-catbar-list{ display:flex; flex-wrap:wrap; gap:7px; list-style:none; margin:0; padding:0; }
.sh-catbar-item{ margin:0; }
.sh-catbar-link{
  display:inline-block; padding:8px 15px; border-radius:var(--sh-radius-sm);
  background:#fff; border:1px solid var(--sh-line);
  color:var(--sh-ink-2) !important; text-decoration:none;
  font-size:12.5px; font-weight:600; letter-spacing:.4px; white-space:nowrap;
  transition:all .14s ease;
}
.sh-catbar-link:hover{ border-color:var(--sh-ink); color:var(--sh-ink) !important; }
.sh-catbar-link.is-active{ background:var(--sh-ink); border-color:var(--sh-ink); color:#fff !important; }

/* ------------------------------------------------------------
   Lista produktow
   ------------------------------------------------------------ */
.woocommerce ul.products li.product{
  background:#fff; border:1px solid var(--sh-line);
  border-radius:var(--sh-radius); padding:0 !important;
  box-shadow:none; position:relative; overflow:hidden;
  display:flex !important; flex-direction:column;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.woocommerce ul.products li.product:hover{
  border-color:#d3d5da; box-shadow:var(--sh-shadow-lift);
}
.woocommerce ul.products li.product .astra-shop-summary-wrap{
  order:2 !important; display:flex; flex-direction:column;
  padding:14px 16px 16px;
}
.astra-shop-summary-wrap > *{ order:10; }
.astra-shop-summary-wrap .ast-woo-product-category{
  order:1 !important;
  font-size:11px !important; font-weight:700; letter-spacing:1.1px;
  text-transform:uppercase; color:var(--sh-muted) !important; margin:0 0 5px !important;
}
.astra-shop-summary-wrap .woocommerce-loop-product__title,
.astra-shop-summary-wrap h2{
  order:2 !important;
  font-size:14.5px !important; font-weight:600 !important; line-height:1.4;
  color:var(--sh-ink) !important; margin:0 0 8px !important; padding:0 !important;
}
.astra-shop-summary-wrap .price{
  order:3 !important;
  font-size:17px !important; font-weight:800 !important;
  color:var(--sh-ink) !important; margin:0 0 2px !important;
}
.astra-shop-summary-wrap .wc-gzd-additional-info,
.astra-shop-summary-wrap .wc-gzd-additional-info-loop,
.astra-shop-summary-wrap .shipping-costs-info,
.astra-shop-summary-wrap .woocommerce-de_price_taxrate{
  order:4 !important;
  font-size:11px !important; line-height:1.45; color:var(--sh-muted) !important;
  margin:0 !important;
}
.astra-shop-summary-wrap .wc-gzd-additional-info a,
.astra-shop-summary-wrap .shipping-costs-info a{
  color:var(--sh-muted) !important; text-decoration:underline;
}
.astra-shop-summary-wrap .button,
.astra-shop-summary-wrap .add_to_cart_button,
.astra-shop-summary-wrap .added_to_cart,
.astra-shop-summary-wrap .ast-shop-product-out-of-stock{ order:20 !important; margin-top:12px !important; }

/* plakietka gradingu na zdjeciu */
.sh-tile-grade{
  position:absolute; top:12px; left:12px; z-index:3;
  background:var(--sh-ink); color:#fff;
  font-size:11px; font-weight:800; letter-spacing:.6px;
  padding:5px 9px; border-radius:var(--sh-radius-sm);
}

/* ------------------------------------------------------------
   Strona produktu
   ------------------------------------------------------------ */
.woocommerce div.product .product_title{
  font-size:clamp(22px,2.8vw,30px); font-weight:800; letter-spacing:-.4px; color:var(--sh-ink);
}
.woocommerce div.product p.price, .woocommerce div.product span.price{
  color:var(--sh-ink) !important; font-weight:800; font-size:26px;
}
.woocommerce div.product .woocommerce-product-gallery img{
  border-radius:var(--sh-radius); background:var(--sh-tile);
}
.woocommerce div.product .wc-gzd-additional-info,
.woocommerce div.product .woocommerce-de_price_taxrate{ font-size:12.5px; color:var(--sh-muted); }

/* plakietki nad tytulem */
.sh-badges{ display:flex; flex-wrap:wrap; gap:6px; margin:0 0 14px; }
.sh-badge{
  display:inline-block; padding:5px 11px; border-radius:var(--sh-radius-sm);
  font-size:11.5px; font-weight:700; letter-spacing:.5px; text-transform:uppercase;
  background:var(--sh-bg-soft); color:var(--sh-ink-2); border:1px solid var(--sh-line);
}
.sh-badge--grade{ background:var(--sh-ink); color:#fff; border-color:var(--sh-ink); }
.sh-badge--rookie{ background:var(--sh-orange); color:#fff; border-color:var(--sh-orange); }
.sh-badge--autograph,
.sh-badge--patch{ background:var(--sh-orange-soft); color:var(--sh-orange-dark); border-color:#ffd9bf; }

/* tabela danych karty */
.sh-cardspecs{
  margin:36px 0 0; padding:24px 24px 20px;
  background:#fff; border:1px solid var(--sh-line); border-radius:var(--sh-radius);
}
.sh-cardspecs-title{
  margin:0 0 14px; font-size:13px; font-weight:800;
  letter-spacing:1.6px; text-transform:uppercase; color:var(--sh-orange);
}
.sh-cardspecs-table{ width:100%; border-collapse:collapse; font-size:14.5px; }
.sh-cardspecs-table th, .sh-cardspecs-table td{
  text-align:left; padding:11px 4px; border-bottom:1px solid var(--sh-line);
}
.sh-cardspecs-table th{ color:var(--sh-muted); font-weight:500; width:42%; }
.sh-cardspecs-table td{ color:var(--sh-ink); font-weight:600; }
.sh-cardspecs-table tr:last-child th, .sh-cardspecs-table tr:last-child td{ border-bottom:0; }
.sh-cardspecs-note{ margin:14px 0 0; font-size:12.5px; color:var(--sh-muted); }

.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ background:#fff; border-bottom-color:#fff; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ color:var(--sh-orange-dark); }

/* ------------------------------------------------------------
   Panel filtrow (style bazowe sa we wtyczce slabhaus-cards)
   ------------------------------------------------------------ */
.sh-filters{ border-radius:var(--sh-radius) !important; border-color:var(--sh-line) !important; }
.sh-filters-toggle{
  background:var(--sh-ink) !important;
  font-size:12.5px !important; letter-spacing:1px; text-transform:uppercase;
}
.sh-filter-chip{
  border-radius:var(--sh-radius-sm) !important;
  background:#fff !important; border-color:var(--sh-line) !important;
  color:var(--sh-ink-2) !important; font-size:12.5px !important;
}
.sh-filter-chip:hover{ border-color:var(--sh-ink) !important; color:var(--sh-ink) !important; }
.sh-filter-chip.is-on{
  background:var(--sh-ink) !important; border-color:var(--sh-ink) !important; color:#fff !important;
}
.sh-filter-label{ color:var(--sh-muted) !important; }
.sh-filter-reset{ color:var(--sh-orange-dark) !important; }

/* ------------------------------------------------------------
   Komunikaty, koszyk, kasa
   ------------------------------------------------------------ */
.woocommerce-message, .woocommerce-info, .woocommerce-error{
  border-top-color:var(--sh-orange) !important;
  background:var(--sh-bg-soft); border-radius:var(--sh-radius-sm);
}
.woocommerce-message::before, .woocommerce-info::before{ color:var(--sh-orange) !important; }
.woocommerce table.shop_table{ border-radius:var(--sh-radius); border-color:var(--sh-line); }
.woocommerce-checkout #payment{ background:var(--sh-bg-soft); border-radius:var(--sh-radius); }

/* ------------------------------------------------------------
   Stopka
   ------------------------------------------------------------ */
.site-footer, .ast-small-footer,
.site-primary-footer-wrap, .site-below-footer-wrap{
  background: var(--sh-dark) !important;
  color:rgba(255,255,255,.6) !important;
  border-top:1px solid rgba(255,255,255,.08);
}
.site-footer a, .ast-small-footer a,
.site-primary-footer-wrap a, .site-below-footer-wrap a{ color:rgba(255,255,255,.72) !important; }
.site-footer a:hover, .ast-small-footer a:hover,
.site-primary-footer-wrap a:hover, .site-below-footer-wrap a:hover{ color:var(--sh-orange) !important; }
.site-footer .widget-title, .site-primary-footer-wrap .widget-title{ color:#fff !important; }

/* ------------------------------------------------------------
   Kolejnosc w czesci tekstowej kafelka - poprawka.
   Tytul siedzi w <a class="ast-loop-product__link">, wiec kolejnosc
   trzeba nadac temu linkowi, a nie samemu naglowkowi h2 (order dziala
   tylko na bezposrednich dzieciach kontenera flex).
   ------------------------------------------------------------ */
.astra-shop-summary-wrap .ast-loop-product__link{ order:2 !important; }
.astra-shop-summary-wrap .ast-loop-product__link .woocommerce-loop-product__title{
  font-size:14.5px !important; font-weight:600 !important; line-height:1.4;
  color:var(--sh-ink) !important; margin:0 0 8px !important; padding:0 !important;
}
.astra-shop-summary-wrap .screen-reader-text{ order:1; }

/* przycisk Astry na zdjeciu chowamy - wystarczy jeden pod cena */
.astra-shop-thumbnail-wrap .ast-on-card-button{ display:none !important; }

/* ------------------------------------------------------------
   Zabezpieczenie: gdyby informacje Germanized mimo przepiecia hooka
   zostaly przy zdjeciu, maja przynajmniej wygladac jak czesc opisu,
   a nie jak napis wrzucony na szare pole ze zdjeciem.
   ------------------------------------------------------------ */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{
  background:#fff !important; padding:0 !important;
  display:flex; flex-direction:column;
}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap
  > a.woocommerce-LoopProduct-link{
  order:1; background:var(--sh-tile);
}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap .wc-gzd-additional-info,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap .shipping-costs-info{
  order:2; margin:8px 16px 0 !important;
  font-size:11px !important; line-height:1.45; color:var(--sh-muted) !important;
}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap .wc-gzd-additional-info a,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap .shipping-costs-info a{
  color:var(--sh-muted) !important; text-decoration:underline;
}
/* czesc tekstowa nie potrzebuje wtedy gornego odstepu */
.woocommerce ul.products li.product .astra-shop-summary-wrap{ padding-top:10px; }

/* ------------------------------------------------------------
   Informacje Germanized w kafelku.
   Germanized wstawia notke o VAT do wnetrza linku produktu, przez co
   dziedziczyla kolor odnosnika (niebieski) i tlo pola ze zdjeciem.
   Dlatego szare tlo dostaje samo zdjecie, a nie caly link.
   ------------------------------------------------------------ */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{
  background:#fff !important; padding:0 !important;
}
.woocommerce ul.products li.product .wc-gzd-additional-info,
.woocommerce ul.products li.product .wc-gzd-additional-info a,
.woocommerce ul.products li.product .shipping-costs-info,
.woocommerce ul.products li.product .shipping-costs-info a{
  color:var(--sh-muted) !important;
  font-size:11px !important; line-height:1.45 !important;
  font-weight:400 !important;
}
.woocommerce ul.products li.product .wc-gzd-additional-info{
  padding:0 16px !important; margin:9px 0 0 !important;
}
.woocommerce ul.products li.product .wc-gzd-additional-info a{ text-decoration:underline; }
.woocommerce ul.products li.product .astra-shop-summary-wrap{ padding-top:10px; }

/* ============================================================
   PRZEBUDOWA: strona ma byc gesta, a nie pusta
   ============================================================ */

/* --- naglowek kompaktowy: logo blizej menu, mniej powietrza --- */
.ast-primary-header-bar{ padding-top:6px !important; padding-bottom:6px !important; }
.site-header .ast-builder-grid-row{ align-items:center; }
.main-header-menu > li > a, .main-header-menu > li > .menu-link{
  padding-left:14px !important; padding-right:14px !important;
}

/* --- wyszukiwarka: cienki pasek, nie osobna sekcja --- */
.sh-searchbar{ padding:9px 0; }
.sh-searchbar-inner{ max-width:560px; }
.sh-searchbar input[type="search"]{ padding:9px 14px; font-size:14px; }
.sh-searchbar button[type="submit"]{ padding:9px 18px; font-size:11.5px; }

/* --- naglowki stron sklepu: bez wielkiego napisu i okruszkow --- */
.woocommerce-page .ast-breadcrumbs-wrapper,
.woocommerce-page .ast-breadcrumbs,
.woocommerce-page nav.woocommerce-breadcrumb,
.tax-product_cat .ast-breadcrumbs-wrapper{ display:none !important; }

.woocommerce-page .entry-header .entry-title,
.woocommerce-page .ast-archive-description .ast-archive-title,
.tax-product_cat .ast-archive-description .ast-archive-title{
  font-size:22px !important; font-weight:700 !important;
  letter-spacing:-.2px; margin:0 0 4px !important;
}
.woocommerce-page .entry-header,
.woocommerce-page .ast-archive-description{ margin-bottom:14px !important; padding:0 !important; }

/* --- siatka produktow: 3 kolumny, wieksze kafelki --- */
.woocommerce ul.products.columns-4{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(250px, 1fr)) !important;
  gap:18px !important;
}
.woocommerce ul.products.columns-4 li.product{
  width:auto !important; margin:0 !important; float:none !important; clear:none !important;
}

/* licznik wynikow i sortowanie - drobne, w jednej linii */
.woocommerce .woocommerce-result-count{ font-size:13px; color:var(--sh-muted); margin-bottom:10px; }
.woocommerce .woocommerce-ordering select{
  font-size:13px; border:1px solid var(--sh-line); border-radius:var(--sh-radius-sm); padding:7px 10px;
}

/* --- kafelki kategorii: bez powtarzanego "bald verfugbar" --- */
.sh-cat{ min-height:78px; padding:16px 18px; position:relative; }
.sh-cat:before{
  content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--sh-orange); opacity:0; transition:opacity .15s ease;
  border-radius:var(--sh-radius) 0 0 var(--sh-radius);
}
.sh-cat:hover:before{ opacity:1; }
.sh-cat-count{ font-size:12px; color:var(--sh-muted); }
.sh-cat-count.is-empty{ color:#b6bcc7; }

/* --- hero na nowo: pelny ciemny baner, neon dostaje przestrzen --- */
.sh-hero{
  background:
    radial-gradient(900px 420px at 50% -6%, rgba(255,106,0,.20), transparent 68%),
    linear-gradient(180deg,#1b1510,#14100d);
  border-bottom:0;
  padding:52px 24px 56px;
  text-align:center;
}
.sh-hero-inner{ display:block !important; max-width:760px; margin:0 auto; }
.sh-hero-logo{ display:block; margin:0 auto 20px; max-width:190px; height:auto; }
.sh-hero-kicker{ color:var(--sh-orange); }
.sh-hero-title{ color:#fff !important; margin-bottom:14px; }
.sh-hero-lead{
  color:rgba(255,255,255,.68) !important;
  margin-left:auto; margin-right:auto; max-width:560px;
}
.sh-hero-actions{ justify-content:center; }
.sh-hero .sh-btn--ghost{
  color:#fff !important; border-color:rgba(255,255,255,.28);
}
.sh-hero .sh-btn--ghost:hover{ border-color:var(--sh-orange); color:var(--sh-orange) !important; }
@media (max-width:900px){
  .sh-hero{ padding:38px 20px 42px; }
  .sh-hero-logo{ max-width:150px; margin-bottom:16px; }
}

/* --- wyszukiwarka: bez wlasnego szarego pasa, ma sie wtapiac --- */
.sh-searchbar{ background:#fff; border-bottom:1px solid var(--sh-line); padding:10px 0; }
.sh-searchbar input[type="search"]{ background:var(--sh-bg-soft); border-color:transparent; }
.sh-searchbar input[type="search"]:focus{ background:#fff; border-color:var(--sh-orange); }

/* --- siatka: kafelki od lewej, bez rozciagania jednego na pol ekranu --- */
.woocommerce ul.products.columns-4{ justify-content:start; }


/* --- naglowek: tylko tyle, ile trzeba ---
   Proba ukladania naglowka wlasnym gridem/flexem konczyla sie tym, ze logo
   wychodzilo poza pasek. Zostawiamy uklad Astry, zwezamy kontener i dajemy
   logu wiecej wysokosci, zeby neon byl czytelny. */
.site-primary-header-wrap.ast-container{
  max-width:1160px !important; margin-left:auto !important; margin-right:auto !important;
}
.main-header-menu > li > a, .main-header-menu > li > .menu-link{
  padding-left:13px !important; padding-right:13px !important;
}

/* ============================================================
   WERSJA JASNA
   Sklep ma byc jasny - zadnych czarnych plach. Ciemne zostaly tylko
   litery. Pomaranczowy przejmuje role, ktora wczesniej mial czarny:
   przyciski, plakietki, aktywne filtry.
   ============================================================ */


/* pasek kontaktowy */
.sh-topbar{
  background:var(--sh-bg-soft) !important;
  color:var(--sh-ink-2);
  border-bottom:1px solid var(--sh-line);
}
.sh-topbar-label{ color:var(--sh-orange-dark); }
.sh-topbar-link{ color:var(--sh-ink-2) !important; }
.sh-topbar-link:hover{ color:var(--sh-orange-dark) !important; }
.sh-topbar-sep{ color:var(--sh-line); }
.sh-topbar-claim{ color:var(--sh-muted); }

/* naglowek */
.site-header,
.ast-theme-transparent-header .site-header,
.ast-transparent-header .site-header{
  background:#fff !important;
  border-bottom:1px solid var(--sh-line) !important;
}
.site-header a:not(.button), .site-header .menu-link,
.site-header .ast-builder-menu a{ color:var(--sh-ink) !important; }
.site-header a:hover, .site-header .menu-link:hover,
.main-header-menu > li.current-menu-item > a{ color:var(--sh-orange-dark) !important; }
.sh-home-icon svg, .sh-nav-icon svg{ color:var(--sh-ink); }
.ast-desktop .main-header-menu .sub-menu{
  background:#fff !important;
  border:1px solid var(--sh-line) !important;
  box-shadow:0 12px 30px rgba(16,18,25,.10) !important;
}
.ast-desktop .main-header-menu .sub-menu a{ color:var(--sh-ink-2) !important; }
#ast-mobile-header .main-header-menu{ background:#fff !important; }
#ast-mobile-header .main-header-menu a{ color:var(--sh-ink) !important; }

/* hero */
.sh-hero{
  background:
    radial-gradient(820px 380px at 50% -10%, rgba(255,106,0,.10), transparent 70%),
    var(--sh-bg-soft) !important;
  border-bottom:1px solid var(--sh-line);
}
.sh-hero-title{ color:var(--sh-ink) !important; }
.sh-hero-lead{ color:var(--sh-ink-2) !important; }
.sh-hero .sh-btn--ghost{ color:var(--sh-ink) !important; border-color:#d8dade; }
.sh-hero .sh-btn--ghost:hover{ border-color:var(--sh-orange); color:var(--sh-orange-dark) !important; }

/* pasek zaufania */
.sh-trust{
  background:#fff !important;
  border-top:1px solid var(--sh-line); border-bottom:1px solid var(--sh-line);
}
.sh-trust-title{ color:var(--sh-ink) !important; }
.sh-trust-text{ color:var(--sh-muted) !important; }

/* zamkniecie strony */
.sh-cta{ background:var(--sh-bg-soft) !important; color:var(--sh-ink); }
.sh-cta-title{ color:var(--sh-ink) !important; }
.sh-cta-text{ color:var(--sh-ink-2) !important; }

/* stopka */
.site-footer, .ast-small-footer,
.site-primary-footer-wrap, .site-below-footer-wrap{
  background:var(--sh-bg-soft) !important;
  color:var(--sh-muted) !important;
  border-top:1px solid var(--sh-line) !important;
}
.site-footer a, .ast-small-footer a,
.site-primary-footer-wrap a, .site-below-footer-wrap a{ color:var(--sh-ink-2) !important; }
.site-footer .widget-title{ color:var(--sh-ink) !important; }

/* to, co bylo czarne, jest teraz pomaranczowe */
.woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt{
  background:var(--sh-orange) !important; color:#fff !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover{
  background:var(--sh-orange-dark) !important;
}
.sh-searchbar button[type="submit"]{ background:var(--sh-orange); }
.sh-searchbar button[type="submit"]:hover{ background:var(--sh-orange-dark); }
.sh-tile-grade{ background:var(--sh-orange) !important; color:#fff !important; }
.sh-badge--grade{ background:var(--sh-orange) !important; border-color:var(--sh-orange) !important; color:#fff !important; }
.sh-badge--rookie{ background:var(--sh-orange-soft) !important; color:var(--sh-orange-dark) !important; border-color:#ffd9bf !important; }
.sh-catbar-link.is-active{ background:var(--sh-orange) !important; border-color:var(--sh-orange) !important; }
.sh-filters-toggle{ background:var(--sh-orange) !important; }
.sh-filter-chip.is-on{ background:var(--sh-orange) !important; border-color:var(--sh-orange) !important; }
.sh-cardspecs-title{ color:var(--sh-orange-dark); }

/* logo moze byc wieksze - w jasnym naglowku jest na to miejsce */
.site-logo-img img, .custom-logo-link img{ max-height:72px !important; }
@media (max-width:782px){ .site-logo-img img, .custom-logo-link img{ max-height:48px !important; } }

/* ikony spolecznosciowe Astry prowadzily donikad i na bieli byly ledwo widoczne */
.site-header .ast-builder-social-element,
.site-header .ast-social-stack-desktop,
.site-header [class*="ast-builder-social"]{ display:none !important; }
/* ikony spolecznosciowe Astry - dokladniejsze selektory */
.site-header [data-section*="social"],
.site-header .ast-header-social-1-wrap,
.site-header .ast-header-social-wrap,
.site-header .ast-social-color-type-custom,
.ast-builder-layout-element[data-section="section-hb-social-icons-1"]{ display:none !important; }

/* karty surowe (bez gradingu): plakietka stanu ma byc widoczna,
   ale nie udawac oceny gradingowej */
.sh-tile-grade--raw{
  background:#fff !important; color:var(--sh-ink) !important;
  border:1px solid var(--sh-line);
}
.sh-badge--raw{
  background:#fff; color:var(--sh-ink-2); border:1px solid var(--sh-line);
}

/* ============================================================
   PROPORCJE ZDJEC KARTY
   Karta kolekcjonerska ma format pionowy (mniej wiecej 5:7), a slab
   jest jeszcze smuklejszy. Kwadratowe kafelki zostawialy puste pasy
   nad i pod zdjeciem.
   ============================================================ */

/* Strona karty: zdjecie mniej wiecej o polowe mniejsze, opis dostaje
   wiecej miejsca. Zdjecie i tak da sie powiekszyc kliknieciem. */
.woocommerce div.product .woocommerce-product-gallery{
  max-width:320px !important;
  width:100% !important;
  margin-right:34px;
}
.woocommerce div.product .woocommerce-product-gallery img{
  aspect-ratio:5/7; object-fit:contain; background:var(--sh-tile);
}
.woocommerce div.product div.summary{
  max-width:none;
}
@media (max-width:780px){
  .woocommerce div.product .woocommerce-product-gallery{
    max-width:260px !important; margin:0 auto 20px;
  }
}

/* miniatury pod zdjeciem tez pionowe */
.woocommerce div.product .flex-control-thumbs li img{
  aspect-ratio:5/7; object-fit:contain; background:var(--sh-tile);
}

/* ------------------------------------------------------------
   Strona karty - poprawka ukladu.
   Poprzednie reguly celowaly w ".woocommerce div.product", ale Astra
   nie owija produktu w kontener .woocommerce, wiec nie dzialaly.
   Body ma klase .single-product i to jest pewny punkt zaczepienia.
   ------------------------------------------------------------ */
.single-product div.product{
  display:flex !important;
  gap:36px;
  align-items:flex-start;
}
.single-product div.product .woocommerce-product-gallery{
  flex:0 0 320px !important;
  width:320px !important;
  max-width:320px !important;
  margin:0 !important;
  float:none !important;
}
.single-product div.product .summary,
.single-product div.product .entry-summary{
  flex:1 1 auto !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  float:none !important;
}
/* zakladki i reszta pod spodem, na calej szerokosci */
.single-product div.product .woocommerce-tabs,
.single-product div.product .sh-cardspecs,
.single-product div.product .related,
.single-product div.product .upsells{
  flex:0 0 100%; width:100%; margin-top:36px;
}
.single-product div.product{ flex-wrap:wrap; }

.single-product .woocommerce-product-gallery img{
  aspect-ratio:5/7; object-fit:contain; background:var(--sh-tile);
  border-radius:var(--sh-radius);
}
@media (max-width:780px){
  .single-product div.product{ flex-direction:column; gap:20px; }
  .single-product div.product .woocommerce-product-gallery{
    flex:0 0 auto !important; width:100% !important; max-width:280px !important;
  }
}

/* ------------------------------------------------------------
   Kadr zdjecia na kafelku - jeden dla wszystkich kart.

   Wczesniej proporcje ustawialy sie na samym obrazku, przez co karta ze
   zdjeciem miala kadr wysoki na ~220 px, a karta bez zdjecia (placeholder)
   ~410 px. Siatka rozjezdzala sie i kafelki wygladaly na rozne.

   Teraz stala wysokosc ma KADR, a zdjecie wpisuje sie w niego zachowujac
   wlasne proporcje. Kazdy kafelek jest identyczny niezaleznie od tego,
   czy karta ma juz zdjecie.
   ------------------------------------------------------------ */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap > a.woocommerce-LoopProduct-link{
  display:flex !important;
  align-items:center;
  justify-content:center;
  /* Kadr w proporcji karty (5:7), a nie stala wysokosc w pikselach.
     Dzieki temu skaluje sie razem z szerokoscia kolumny i wyglada
     tak samo przy trzech i przy czterech kafelkach w rzedzie.
     Karta pionowa wypelnia wysokosc, pozioma szerokosc - w obu
     przypadkach widac cala, bo nizej jest object-fit:contain. */
  aspect-ratio:5 / 7;
  height:auto;
  background:var(--sh-tile);
  padding:14px;
  overflow:hidden;
}
/* przegladarki bez aspect-ratio dostaja stara, stala wysokosc */
@supports not (aspect-ratio: 1) {
  .woocommerce ul.products li.product .astra-shop-thumbnail-wrap > a.woocommerce-LoopProduct-link{
    height:330px;
  }
}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img.wp-post-image,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img{
  /* pelny kadr + contain = zdjecie widoczne w calosci, bez przycinania.
     width:auto z max-height nie wystarczalo - obrazek i tak wychodzil poza
     kadr i slab tracil gore z numerem PSA. */
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
}
@media (max-width:600px){
  .woocommerce ul.products li.product .astra-shop-thumbnail-wrap > a.woocommerce-LoopProduct-link{
    padding:10px;
  }
}

/* kontener zdjecia jest bialy - kadr i tlo robi link wewnatrz */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{
  order:1 !important; background:#fff !important; padding:0 !important; margin:0;
}

/* ============================================================
   STRONA KARTY - uklad na nowo

   Bylo tak: male zdjecie w rogu, pusta polowa ekranu obok, a tabela
   z danymi karty dopiero na samym dole, pod opisem, ktory powtarzal
   to samo. Teraz zdjecie jest duze, a dane karty stoja obok niego -
   klient widzi wszystko bez przewijania.
   ============================================================ */
.single-product .site-content .ast-container{
  max-width:1280px !important;
}
.single-product div.product{
  display:flex !important;
  flex-wrap:wrap;
  gap:44px;
  align-items:flex-start;
}
.single-product div.product .woocommerce-product-gallery{
  flex:0 1 460px !important;
  width:460px !important;
  max-width:460px !important;
  min-width:280px;
  margin:0 !important;
}
.single-product div.product .summary,
.single-product div.product .entry-summary{
  flex:1 1 420px !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
}
/* zakladki, podobne produkty - pod spodem, na calej szerokosci */
.single-product div.product .woocommerce-tabs,
.single-product div.product .related,
.single-product div.product .upsells{
  flex:0 0 100%; width:100%; margin-top:40px;
}
/* tabela danych karty siedzi teraz w kolumnie obok zdjecia */
.single-product .summary .sh-cardspecs{
  margin:22px 0 0; padding:18px 20px 14px;
}
.single-product .summary .sh-cardspecs-table th,
.single-product .summary .sh-cardspecs-table td{ padding:9px 4px; font-size:14px; }

/* miniatury pod zdjeciem - wieksze i rowne */
.single-product .flex-control-thumbs{
  display:flex !important; gap:10px; margin-top:12px !important; padding:0 !important;
}
.single-product .flex-control-thumbs li{
  width:84px !important; margin:0 !important; float:none !important;
}
.single-product .flex-control-thumbs li img{
  width:100%; height:104px; object-fit:contain;
  background:var(--sh-tile); border-radius:var(--sh-radius-sm);
  border:1px solid var(--sh-line); opacity:1;
}

/* linki na stronie karty w kolorach motywu, nie domyslne niebieskie */
.single-product .summary a,
.single-product .product_meta a,
.single-product .posted_in a,
.single-product .single-product-category a{
  color:var(--sh-orange-dark) !important;
}
.single-product .summary a:hover{ color:var(--sh-orange) !important; }
.single-product .single-product-category a{
  color:var(--sh-muted) !important;
  font-size:12px; letter-spacing:1px; text-transform:uppercase;
}

@media (max-width:900px){
  .single-product div.product{ gap:24px; }
  .single-product div.product .woocommerce-product-gallery{
    flex:1 1 100% !important; width:100% !important; max-width:360px !important;
  }
}

/* ------------------------------------------------------------
   Miniatury pod zdjeciem karty.
   Byly male i przyciete do kwadratu. Teraz maja format karty,
   pelna zawartosc i wyrazny znacznik wybranej.
   ------------------------------------------------------------ */
.single-product .flex-control-thumbs{
  display:flex !important; flex-wrap:wrap; gap:10px;
  margin:14px 0 0 !important; padding:0 !important; list-style:none;
}
.single-product .flex-control-thumbs li{
  width:74px !important; margin:0 !important; float:none !important; list-style:none;
}
.single-product .flex-control-thumbs li img{
  display:block; width:100% !important; height:100px !important;
  object-fit:contain !important;
  background:var(--sh-tile);
  border:1px solid var(--sh-line); border-radius:var(--sh-radius-sm);
  padding:4px; opacity:1 !important; cursor:pointer;
  transition:border-color .15s ease;
}
.single-product .flex-control-thumbs li img:hover{ border-color:var(--sh-ink); }
.single-product .flex-control-thumbs li img.flex-active{
  border-color:var(--sh-orange) !important;
  box-shadow:0 0 0 2px rgba(255,106,0,.18);
}

/* miniatury wysrodkowane pod duzym zdjeciem, a nie dosuniete do lewej.
   Sam justify-content nie wystarczyl - lista nie zajmowala pelnej
   szerokosci galerii, wiec nie bylo czego centrowac. */
.single-product .woocommerce-product-gallery .flex-control-thumbs,
.single-product .flex-control-thumbs{
  display:flex !important;
  width:100% !important;
  box-sizing:border-box;
  justify-content:center !important;
  align-items:flex-start;
  position:static !important;
}

/* ============================================================
   PASEK GORNY - jedno zrodlo prawdy
   Wczesniej reguly naglowka lezaly w czterech miejscach pliku
   i nadpisywaly sie nawzajem (logo mialo cztery rozne wysokosci).
   Caly gorny pasek jest teraz opisany tutaj i nigdzie indziej.
   ============================================================ */

/* --- logo -------------------------------------------------- */
/* Plik logo ma jasnoszare tlo (render slabu). multiply wtapia je
   w bialy naglowek, wiec nie widac prostokata wokol grafiki. */
.site-logo-img img, .custom-logo-link img,
.site-branding img, .astra-logo-svg{
  width:auto !important;
  height:auto !important;
  max-height:96px !important;
  max-width:none !important;
  object-fit:contain !important;
  mix-blend-mode:multiply;
}
@media (max-width:1024px){
  .site-logo-img img, .custom-logo-link img{ max-height:70px !important; }
}
@media (max-width:782px){
  .site-logo-img img, .custom-logo-link img{ max-height:50px !important; }
}

/* naglowek dostaje troche powietrza, zeby wieksze logo nie dotykalo krawedzi */
.ast-primary-header-bar, .main-header-bar{
  padding-top:10px !important;
  padding-bottom:10px !important;
}

/* --- menu -------------------------------------------------- */
/* Menu ma pieć pozycji, wiec moze oddychac. Wczesniej byla tam
   jedna pozycja i pasek wygladal na pusty. */
.ast-desktop .main-header-menu > li > a,
.ast-desktop .main-header-menu > li > .menu-link{
  font-size:13.5px !important;
  font-weight:700 !important;
  letter-spacing:.6px;
  text-transform:uppercase;
  padding-left:16px !important;
  padding-right:16px !important;
}
/* podkreslenie zamiast samej zmiany koloru - lepiej widac, gdzie sie jest */
.ast-desktop .main-header-menu > li > a::after{
  content:"";
  display:block;
  height:2px;
  margin-top:6px;
  background:var(--sh-orange);
  transform:scaleX(0);
  transition:transform .16s ease;
}
.ast-desktop .main-header-menu > li:hover > a::after,
.ast-desktop .main-header-menu > li.current-menu-item > a::after,
.ast-desktop .main-header-menu > li.current-menu-parent > a::after{
  transform:scaleX(1);
}
.ast-desktop .main-header-menu .sub-menu a{
  font-size:13px !important;
  text-transform:none;
  letter-spacing:0;
  font-weight:600 !important;
}

/* ikona domu ma byc tej samej wielkosci co napisy obok */
.sh-home-icon > a{ display:flex !important; align-items:center; padding:0 14px !important; }
.sh-home-icon svg{ width:19px; height:19px; }
.sh-home-icon > a::after{ display:none !important; }

/* --- koszyk i konto ---------------------------------------- */
/* Astra rysowala wokol koszyka kwadratowa ramke z licznikiem w rogu -
   wygladalo to jak pole formularza. Teraz sama ikona z kropka. */
.site-header .ast-addon-cart-wrap{ padding:0 !important; border:0 !important; }
.site-header .ast-cart-menu-wrap{ border:0 !important; background:transparent !important; }
.site-header .ast-header-account-wrap svg,
.site-header .ast-addon-cart-wrap svg,
.site-header .ast-cart-menu-wrap svg{ width:18px !important; height:18px !important; }
/* ikona koszyka to font-icon Astry - skaluje sie rozmiarem czcionki */
.site-header .ast-site-header-cart i.astra-icon{ font-size:19px !important; }

/* Koszyk: styl ikony przelaczony w ustawieniach Astry z "outline" na
   zwykly, wiec nie ma juz ramki ani liczby na srodku ikony. Tutaj tylko
   kolor kropki z liczba, zeby zgadzala sie z paleta sklepu. */
/* UWAGA: nie zerowac ramki na .count - to nie jest obwodka, tylko korpus
   ikony koszyka. Astra rysuje torbe obrysem elementu z liczba w srodku,
   wiec border:0 kasuje polowe ikony. Zostaje sam kolor. */
.site-header .ast-site-header-cart .ast-cart-menu-wrap .count{
  color:var(--sh-ink) !important;
  border-color:var(--sh-ink) !important;
  font-weight:700 !important;
}
.site-header .ast-site-header-cart i.astra-icon:after{
  background:var(--sh-orange) !important;
  color:#fff !important;
  font-weight:700;
}
.site-header .ast-header-account-wrap{ margin-left:18px !important; }

/* --- wyszukiwarka ------------------------------------------ */
/* Zajmowala caly osobny pasek. Teraz jest wezsza i nizsza, wiec
   nad trescia strony nie ma juz trzech pasow jeden na drugim. */
.sh-searchbar{ padding:8px 0 !important; }
.sh-searchbar-inner{ max-width:520px !important; }
.sh-searchbar input[type="search"]{
  padding:8px 14px !important;
  font-size:13.5px !important;
  border-radius:999px !important;
}
.sh-searchbar button[type="submit"]{
  padding:8px 20px !important;
  font-size:11px !important;
  border-radius:999px !important;
}

/* ============================================================
   UKLAD NAGLOWKA - dwa wiersze
   Duze logo i drobne menu w jednej linii gryzly sie ze soba.
   Teraz: gorny wiersz to logo, wyszukiwarka i ikony, a menu ma
   wlasny, wezszy pasek pod spodem - jak w zwyklym sklepie.
   ============================================================ */

/* gorny wiersz */
.ast-primary-header-bar{ padding-top:14px !important; padding-bottom:14px !important; }
.site-header-primary-section-center{ flex:1 1 auto; justify-content:center; }

/* wyszukiwarka obok logo, w tym samym wierszu */
.site-header-primary-section-left{ flex:1 1 auto !important; align-items:center !important; }
.sh-searchbar--inline{
  flex:0 1 460px;
  min-width:220px;
  margin-left:clamp(24px, 4vw, 64px) !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
}
.sh-searchbar--inline .sh-searchbar-inner{ max-width:none !important; padding:0 !important; }

/* dolny wiersz z menu */
.ast-below-header-bar{
  background:#fff !important;
  border-top:1px solid var(--sh-line) !important;
  border-bottom:1px solid var(--sh-line) !important;
  min-height:0 !important;
  padding:0 !important;
}
.ast-below-header-bar .main-header-menu{ justify-content:center; }
.ast-desktop .ast-below-header-bar .main-header-menu > li > a,
.ast-desktop .ast-below-header-bar .main-header-menu > li > .menu-link{
  font-size:12.5px !important;
  font-weight:700 !important;
  letter-spacing:.7px;
  text-transform:uppercase;
  padding:13px 17px !important;
  line-height:1.2 !important;
  white-space:nowrap;
}
/* podkreslenie aktywnej pozycji siedzi na dolnej krawedzi paska */
.ast-desktop .ast-below-header-bar .main-header-menu > li > a::after{
  margin-top:9px;
  margin-bottom:-13px;
}

/* ============================================================
   Pasy na pelna szerokosc (.sh-full) licza sie z 100vw, a 100vw
   nie uwzglednia pionowego paska przewijania - przez to strona
   dawala sie przesuwac w bok, zwlaszcza na telefonie.
   clip przycina to bez psucia elementow przyklejonych.
   ============================================================ */
html, body{ max-width:100%; }
#page, .site{ overflow-x:clip; }

/* naglowek na telefonie: logo z lewej, koszyk i hamburger z prawej */
@media (max-width:921px){
  .ast-mobile-header-wrap .ast-site-header-cart{ margin-right:6px; }
  .sh-searchbar{ padding:8px 12px !important; }
  .sh-searchbar-inner{ padding:0 !important; }
}

/* ============================================================
   Pasy na pelna szerokosc - poprawka
   Wersja na ujemnych marginesach nie dzialala: Astra zeruje
   margin-left na dzieciach .entry-content, wiec pas wychodzil
   przesuniety w prawo. left+translate liczy sie od srodka
   rodzica i nie da sie tego nadpisac marginesem.
   ============================================================ */
.sh-full{
  position:relative !important;
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  width:100vw !important;
  max-width:100vw !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* ============================================================
   Hamburger na telefonie byl bialy - zostal tak z czasow, gdy
   naglowek byl ciemny. Na bialym tle byl po prostu niewidoczny.
   ============================================================ */
.site-header .menu-toggle,
.site-header .menu-toggle .mobile-menu-toggle-icon,
.site-header .menu-toggle svg,
#ast-mobile-header .menu-toggle,
#ast-mobile-header .menu-toggle svg{
  color:var(--sh-ink) !important;
  fill:currentColor !important;
  background:transparent !important;
}
.site-header .menu-toggle:hover,
.site-header .menu-toggle:hover svg{ color:var(--sh-orange-dark) !important; }

/* rozwijane menu na telefonie: jasne tlo, ciemne litery */
#ast-mobile-header .main-header-menu,
#ast-mobile-header .ast-mobile-popup-drawer .main-header-menu{
  background:#fff !important;
}
#ast-mobile-header .main-header-menu a,
.ast-mobile-popup-drawer .main-header-menu a{
  color:var(--sh-ink) !important;
  border-bottom:1px solid var(--sh-line);
}
.ast-mobile-popup-drawer .ast-mobile-popup-inner{ background:#fff !important; }
.ast-mobile-popup-drawer .menu-toggle-close{ color:var(--sh-ink) !important; }

/* ============================================================
   Ikony social media
   W naglowku stoja przed koszykiem, oddzielone cienka kreska.
   Kolka wypelniaja sie pomaranczowym dopiero po najechaniu -
   w spoczynku maja byc ciche, zeby nie konkurowaly z koszykiem.
   ============================================================ */
.sh-social{
  display:flex;
  align-items:center;
  gap:6px;
}
.sh-social-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px; height:32px;
  border-radius:999px;
  color:var(--sh-ink) !important;
  background:transparent;
  transition:background-color .16s ease, color .16s ease, transform .16s ease;
}
.sh-social-link svg{ width:17px; height:17px; display:block; }
.sh-social-link:hover,
.sh-social-link:focus-visible{
  background:var(--sh-orange);
  color:#fff !important;
  transform:translateY(-1px);
}
.sh-social-link:focus-visible{ outline:2px solid var(--sh-orange-dark); outline-offset:2px; }

/* w naglowku: kreska oddzielajaca od koszyka */
.sh-social--header{
  margin-right:16px;
  padding-right:16px;
  border-right:1px solid var(--sh-line);
}

/* na telefonie: wyśrodkowane pod wyszukiwarka */
.sh-social--under{
  justify-content:center;
  padding:6px 0 10px;
  background:#fff;
  border-bottom:1px solid var(--sh-line);
}

/* ============================================================
   Kolumna z filtrami (sklep)
   Panel byl wczesniej rozwijanym paskiem nad produktami. W kolumnie
   ma byc od razu otwarty - klikanie w rozwijacz przy kazdym wejsciu
   na sklep nie ma sensu, skoro miejsca jest az nadto.
   ============================================================ */
.woocommerce-page #secondary,
.archive.post-type-archive-product #secondary{ padding-right:28px; }

.sh-sidebar-filters .sh-filters{
  border:1px solid var(--sh-line);
  border-radius:12px;
  margin:0 0 20px;
  background:#fff;
}
/* w kolumnie panel jest zawsze rozwiniety */
.sh-sidebar-filters .sh-filters-body{ display:block !important; padding:4px 14px 14px; }
.sh-sidebar-filters .sh-filters-toggle{
  display:flex;
  background:none !important;
  color:var(--sh-ink) !important;
  border-bottom:1px solid var(--sh-line);
  padding:12px 14px;
  font-size:12px;
  letter-spacing:.8px;
  text-transform:uppercase;
  cursor:default;
}
.sh-sidebar-filters .sh-filters-caret{ display:none; }

.sh-sidebar-filters .sh-filter-group{ padding:10px 0; border-bottom:1px solid var(--sh-line); }
.sh-sidebar-filters .sh-filter-group:last-of-type{ border-bottom:0; }
.sh-sidebar-filters .sh-filter-summary{
  display:flex; align-items:center; gap:8px;
  padding:4px 0;
  cursor:pointer;
  list-style:none;
}
.sh-sidebar-filters .sh-filter-summary::-webkit-details-marker{ display:none; }
.sh-sidebar-filters .sh-filter-summary:hover .sh-filter-label{ color:var(--sh-ink); }
.sh-sidebar-filters .sh-filter-label{
  margin:0;
  font-size:11px;
  font-weight:800;
  letter-spacing:.7px;
  text-transform:uppercase;
  color:var(--sh-muted);
}
.sh-sidebar-filters .sh-filter-badge{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:18px; height:18px; padding:0 5px;
  border-radius:999px;
  background:var(--sh-orange); color:#fff;
  font-size:11px; font-weight:800;
}
.sh-sidebar-filters .sh-filter-arrow{
  margin-left:auto;
  width:7px; height:7px;
  border-right:2px solid #b6bac2;
  border-bottom:2px solid #b6bac2;
  transform:rotate(45deg);
  transition:transform .16s ease;
}
.sh-sidebar-filters .sh-filter-group[open] .sh-filter-arrow{ transform:rotate(-135deg); }
.sh-sidebar-filters .sh-filter-search{
  width:100%;
  margin:9px 0 2px;
  padding:7px 11px;
  border:1px solid var(--sh-line);
  border-radius:8px;
  font-size:13px;
  background:#fff;
  color:var(--sh-ink);
}
.sh-sidebar-filters .sh-filter-search:focus{
  outline:none;
  border-color:var(--sh-orange);
  box-shadow:0 0 0 3px rgba(255,106,0,.14);
}
/* schowane nadmiarowe wartosci - lista rusza dopiero po "Alle anzeigen" */
.sh-sidebar-filters .sh-filter-values.is-clipped li.is-extra{ display:none; }
.sh-sidebar-filters .sh-filter-values li.is-hidden{ display:none; }
.sh-sidebar-filters .sh-filter-more{
  margin-top:9px; padding:0;
  border:0; background:none;
  color:var(--sh-orange-dark);
  font-size:12px; font-weight:700;
  cursor:pointer; text-decoration:underline;
}
.sh-sidebar-filters .sh-filter-empty{
  margin:8px 0 0; font-size:12.5px; color:var(--sh-muted);
}
.sh-sidebar-filters .sh-filter-values{
  display:flex; flex-wrap:wrap; gap:6px;
  margin:8px 0 0; padding:0; list-style:none;
}
.sh-sidebar-filters .sh-filter-chip{
  display:inline-flex; align-items:center; gap:5px;
  padding:5px 10px;
  border:1px solid var(--sh-line);
  border-radius:999px;
  background:#fff;
  font-size:12.5px;
  line-height:1.2;
  color:var(--sh-ink) !important;
  text-decoration:none;
}
.sh-sidebar-filters .sh-filter-chip:hover{ border-color:var(--sh-orange); }
.sh-sidebar-filters .sh-filter-chip.is-on{
  background:var(--sh-orange);
  border-color:var(--sh-orange);
  color:#fff !important;
}
.sh-sidebar-filters .sh-filter-count{ font-size:11px; opacity:.6; }
.sh-sidebar-filters .sh-filter-chip.is-on .sh-filter-count{ opacity:.85; }
.sh-sidebar-filters .sh-filter-reset{
  display:inline-block;
  margin-top:12px;
  font-size:12.5px;
  font-weight:700;
  color:var(--sh-orange-dark) !important;
}

/* na telefonie kolumna schodzi pod produkty - filtry maja byc nad nimi */
@media (max-width:921px){
  /* Astra ustawia kolejnosc kolumn wlasna regula, wiec bez !important
     filtry ladowaly na samym dole strony, pod wszystkimi produktami. */
  .woocommerce-page .ast-container,
  .tax-product_cat .ast-container{
    display:flex !important;
    flex-direction:column !important;
  }
  .woocommerce-page #secondary,
  .tax-product_cat #secondary{
    order:-1 !important;
    width:100% !important;
    padding-right:0 !important;
    margin:0 0 18px !important;
  }
  .woocommerce-page #primary,
  .tax-product_cat #primary{
    order:1 !important;
    width:100% !important;
    /* Astra daje tu 66 px marginesu z gory i z dolu; nad filtrami
       robila sie z tego pusta plama na pol ekranu telefonu */
    margin-top:0 !important;
  }
  .sh-sidebar-filters .sh-filters-body{ display:none !important; }
  .sh-sidebar-filters .sh-filters.is-open .sh-filters-body{ display:block !important; }
  .sh-sidebar-filters .sh-filters-toggle{ cursor:pointer; }
  .sh-sidebar-filters .sh-filters-caret{ display:inline; }
}

/* ============================================================
   Szarfa "Verkauft" / "Reserviert"
   Sprzedane karty zostaja w katalogu, zeby bylo widac, ze sklep zyje.
   Zdjecie idzie w szarosc, zeby nikt nie pomylil ich z dostepnymi.
   ============================================================ */
.astra-shop-thumbnail-wrap,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.single-product .woocommerce-product-gallery{ position:relative; }

.sh-ribbon{
  position:absolute;
  top:18px; right:-52px;
  z-index:4;
  width:190px;
  padding:6px 0;
  transform:rotate(45deg);
  background:var(--sh-ink);
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:1.8px;
  text-transform:uppercase;
  text-align:center;
  pointer-events:none;
  box-shadow:0 2px 8px rgba(0,0,0,.18);
}
.sh-ribbon--reserviert{ background:var(--sh-orange); }

/* kafelek musi przycinac szarfe, inaczej wystaje poza kwadrat zdjecia */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{ overflow:hidden; }

/* sprzedana karta ma byc widoczna, ale wyraznie mniej zywa */
.sh-is-verkauft .astra-shop-thumbnail-wrap img{
  filter:grayscale(.7) opacity(.62);
}
.sh-is-verkauft .price{ opacity:.5; text-decoration:line-through; }
.sh-is-reserviert .astra-shop-thumbnail-wrap img{ filter:grayscale(.25) opacity(.85); }

/* komunikat na stronie karty */
.sh-state-note{
  margin:14px 0 0;
  padding:12px 15px;
  border-radius:10px;
  font-size:14.5px;
  line-height:1.5;
  border:1px solid var(--sh-line);
  background:var(--sh-bg-soft);
  color:var(--sh-ink-2);
}
.sh-state-note b{ color:var(--sh-ink); }
.sh-state-note--verkauft{ border-left:3px solid var(--sh-ink); }
.sh-state-note--reserviert{ border-left:3px solid var(--sh-orange); }

/* na stronie karty szarfa siedzi na galerii */
.single-product .woocommerce-product-gallery{ overflow:hidden; }
.single-product .sh-ribbon{ top:24px; right:-54px; width:200px; font-size:12px; }
.single-product .sh-is-verkauft .woocommerce-product-gallery__image img{
  filter:grayscale(.55) opacity(.78);
}

/* Astra dokleja na kafelku wlasny napis "Nicht vorrätig" na srodku zdjecia.
   Mamy szarfe, wiec ten drugi komunikat tylko zaslania karte. */
.ast-shop-product-out-of-stock{ display:none !important; }

/* ------------------------------------------------------------
   Szarfa na stronie karty
   Astra rysuje galerie wlasnym szablonem i nie wola filtra
   WooCommerce od pojedynczego zdjecia, wiec szarfa powstaje
   z CSS na kontenerze. Klase sh-is-* dokleja post_class.
   ------------------------------------------------------------ */
.single-product .sh-is-verkauft .woocommerce-product-gallery,
.single-product .sh-is-reserviert .woocommerce-product-gallery{
  position:relative;
  overflow:hidden;
}
.single-product .sh-is-verkauft .woocommerce-product-gallery::after,
.single-product .sh-is-reserviert .woocommerce-product-gallery::after{
  position:absolute;
  top:26px; right:-58px;
  z-index:6;
  width:210px;
  padding:7px 0;
  transform:rotate(45deg);
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:1.8px;
  text-transform:uppercase;
  text-align:center;
  pointer-events:none;
  box-shadow:0 2px 10px rgba(0,0,0,.2);
}
.single-product .sh-is-verkauft .woocommerce-product-gallery::after{
  content:"Verkauft";
  background:var(--sh-ink);
}
.single-product .sh-is-reserviert .woocommerce-product-gallery::after{
  content:"Reserviert";
  background:var(--sh-orange);
}

/* Lupa do powiekszania siedziala dokladnie na szarfie i przecinala napis.
   Przy karcie ze stanem przenosi sie na lewa strone. */
.single-product .sh-is-verkauft .woocommerce-product-gallery__trigger,
.single-product .sh-is-reserviert .woocommerce-product-gallery__trigger{
  left:14px !important;
  right:auto !important;
  z-index:5;
}
/* szarfa nieco wieksza i cofnieta od rogu, zeby caly napis byl widoczny */
.single-product .sh-is-verkauft .woocommerce-product-gallery::after,
.single-product .sh-is-reserviert .woocommerce-product-gallery::after{
  top:34px;
  right:-64px;
  width:230px;
  font-size:12.5px;
}

/* ============================================================
   PRZEGLAD CALOSCI — dopasowanie proporcji
   Uwagi po obejrzeniu wszystkich widokow po kolei. Kolejnosc
   od najbardziej rzucajacych sie w oczy.
   ============================================================ */

/* --- 1. Notka o VAT przestaje dominowac nad nazwa i cena -----
   Germanized wstawia dwie linie tekstu prawnego do kafelka. Zajmowaly
   wiecej miejsca niz nazwa karty i cena razem, a wzrok szedl najpierw
   na paragraf ustawy. Tekst zostaje (jest wymagany), ale schodzi na
   drugi plan. */
.woocommerce ul.products li.product .wc-gzd-additional-info,
.woocommerce ul.products li.product .shipping-costs-info,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap .wc-gzd-additional-info,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap .shipping-costs-info{
  font-size:9.5px !important;
  line-height:1.35 !important;
  color:#b3b7be !important;
  margin:6px 14px 0 !important;
}
.woocommerce ul.products li.product .wc-gzd-additional-info a,
.woocommerce ul.products li.product .shipping-costs-info a{
  color:#b3b7be !important;
  text-decoration:underline;
}

/* --- 2. Kafelek: czytelna hierarchia ------------------------- */
.woocommerce ul.products li.product .astra-shop-summary-wrap{ padding:10px 14px 14px !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:15px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  margin:2px 0 6px !important;
}
.woocommerce ul.products li.product .price{
  font-size:17px !important;
  font-weight:800 !important;
  margin:0 0 10px !important;
}
/* przycisk mniej krzykliwy, ale nadal pierwszy w kolejce do klikniecia */
.woocommerce ul.products li.product .button{
  width:100%;
  padding:10px 14px !important;
  font-size:11.5px !important;
  letter-spacing:.8px;
  border-radius:8px !important;
}

/* --- 3. Pasek kategorii nad lista: jeden rzad, nie dwa ------- */
.sh-catbar-list{ gap:6px !important; }
.sh-catbar-link{
  padding:6px 12px !important;
  font-size:12.5px !important;
  border-radius:999px !important;
}

/* --- 4. Naglowki sekcji: mniej krzyku ----------------------- */
.related.products > h2,
.upsells.products > h2,
.woocommerce .related h2,
.cross-sells > h2{
  font-size:22px !important;
  font-weight:700 !important;
  margin:0 0 18px !important;
  letter-spacing:-.2px;
}
/* pusta przestrzen miedzy opisem a podobnymi kartami byla ogromna */
.single-product .related.products{ margin-top:46px !important; padding-top:26px; border-top:1px solid var(--sh-line); }

/* --- 5. Strona karty: zdjecie ma byc glownym bohaterem ------
   Zdjecie zajmowalo niecala trzecia czesc szerokosci, a obok stala
   pusta kolumna. Przy karcie kolekcjonerskiej zdjecie jest towarem. */
@media (min-width:922px){
  .single-product div.product .woocommerce-product-gallery{
    width:44% !important;
    float:left !important;
    margin-right:4% !important;
  }
  .single-product div.product .summary.entry-summary{
    width:52% !important;
    float:right !important;
    margin-bottom:0 !important;
  }
  .single-product div.product::after{ content:""; display:table; clear:both; }
}

/* --- 6. Kafelki kategorii na stronie glownej ----------------
   Byly niskimi paskami z drobnym napisem i wygladaly jak lista.
   Teraz maja wysokosc, wyrazna nazwe i licznik pod nia. */
.sh-cats{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(190px, 1fr)) !important;
  gap:14px !important;
}
.sh-cat{
  display:flex !important;
  flex-direction:column;
  justify-content:flex-end;
  min-height:112px;
  padding:16px !important;
  border:1px solid var(--sh-line) !important;
  border-radius:12px !important;
  background:#fff !important;
  text-decoration:none !important;
  transition:border-color .16s ease, transform .16s ease, box-shadow .16s ease;
}
.sh-cat:hover{
  border-color:var(--sh-orange) !important;
  transform:translateY(-2px);
  box-shadow:0 6px 18px rgba(22,24,29,.07);
}
.sh-cat-name{
  display:block;
  font-size:15.5px !important;
  font-weight:800 !important;
  color:var(--sh-ink) !important;
  line-height:1.3;
}
.sh-cat-count{
  display:block;
  margin-top:4px;
  font-size:12px !important;
  color:var(--sh-muted) !important;
}
.sh-cat-img{ display:none; }   /* kategorie nie maja zdjec, pusty span psul uklad */

/* Naglowek strony sklepu ma klase woocommerce-products-header__title,
   nie entry-title - poprzednia regula go nie lapala i napis "Shop"
   zostawal wielki na pol ekranu. */
.woocommerce-products-header__title,
h1.woocommerce-products-header__title,
.woocommerce-products-header .page-title{
  font-size:26px !important;
  font-weight:700 !important;
  letter-spacing:-.3px;
  margin:0 0 6px !important;
}
.woocommerce-products-header{ margin:0 0 16px !important; padding:0 !important; }
/* okruszki nad naglowkiem sklepu - w sklepie z jednym poziomem kategorii
   nic nie wnosza, a dodaja jeszcze jeden wiersz nad produktami */
.woocommerce-breadcrumb{ display:none !important; }

/* ============================================================
   Strona "Versand & Zahlung"
   ============================================================ */
.sh-versand{ max-width:840px; margin:0 auto; }
.sh-versand-lead{
  font-size:16.5px; line-height:1.6; color:#43474f;
  margin:0 0 26px; max-width:64ch;
}
.sh-versand h2{
  font-size:20px !important; font-weight:700 !important;
  margin:34px 0 12px !important; letter-spacing:-.2px;
}
.sh-versand-table{
  width:100%; border-collapse:collapse;
  background:#fff; border:1px solid var(--sh-line);
  border-radius:12px; overflow:hidden;
  font-size:15px; margin:0 0 12px;
}
.sh-versand-table th{
  background:var(--sh-bg-soft); text-align:left; padding:11px 14px;
  font-size:11.5px; letter-spacing:.7px; text-transform:uppercase;
  color:var(--sh-muted); font-weight:800;
}
.sh-versand-table td{ padding:12px 14px; border-top:1px solid var(--sh-line); }
.sh-versand-table .sh-yes{ color:#1c6b32; font-weight:700; }
.sh-versand-table .sh-no{ color:#94271c; font-weight:700; }
.sh-versand-note{
  font-size:14px; line-height:1.55; color:var(--sh-muted);
  background:var(--sh-bg-soft);
  border-left:3px solid var(--sh-orange);
  border-radius:0 8px 8px 0;
  padding:12px 15px; margin:0 0 8px;
}
.sh-versand-list{ margin:0; padding-left:20px; }
.sh-versand-list li{ margin-bottom:8px; line-height:1.55; font-size:15px; }
@media (max-width:600px){
  /* tabela nie miesci sie na telefonie, ma sie przewijac w swoim pudelku */
  .sh-versand-table{ display:block; overflow-x:auto; white-space:nowrap; }
}

/* ============================================================
   Kompletne sety
   Plakietka pojawia sie tylko wtedy, gdy wszystkie karty z setu
   sa naprawde dostepne. Sprzedaz jednej gasi ja automatycznie.
   ============================================================ */
.sh-setbadge{
  display:inline-block;
  margin:0 0 6px;
  padding:3px 9px;
  border-radius:999px;
  background:rgba(255,106,0,.1);
  border:1px solid rgba(255,106,0,.35);
  color:var(--sh-orange-dark);
  font-size:11px;
  font-weight:800;
  letter-spacing:.4px;
}

.sh-setbox{
  margin:16px 0 0;
  padding:14px 16px;
  border-radius:10px;
  font-size:14.5px;
  line-height:1.55;
}
.sh-setbox a{ color:var(--sh-orange-dark) !important; text-decoration:underline; }

.sh-setbox--voll{
  background:var(--sh-bg-soft);
  border:1px solid rgba(255,106,0,.35);
  border-left:3px solid var(--sh-orange);
}
.sh-setbox--teil{
  background:#fff;
  border:1px solid var(--sh-line);
  color:var(--sh-ink-2);
}
.sh-setbox-head b{ color:var(--sh-ink); }
.sh-setbox-row{
  display:flex; flex-wrap:wrap; align-items:center; gap:12px;
  margin-top:12px;
}
.sh-setbox-sum{ font-size:15px; color:var(--sh-ink-2); }
.sh-setbox-sum b{ font-size:17px; color:var(--sh-ink); }
.sh-setbox-btn{
  display:inline-block;
  margin-left:auto;
  padding:10px 18px;
  border-radius:8px;
  background:var(--sh-orange);
  color:#fff !important;
  font-size:12px;
  font-weight:800;
  letter-spacing:.8px;
  text-transform:uppercase;
  text-decoration:none !important;
}
.sh-setbox-btn:hover{ background:var(--sh-orange-dark); }
.sh-setbox-note{
  margin:10px 0 0;
  font-size:12.5px;
  color:var(--sh-muted);
}
@media (max-width:600px){
  .sh-setbox-btn{ margin-left:0; width:100%; text-align:center; }
}

/* Game-Worn to najmocniejszy argument przy kartach z materialem,
   wiec ta plakietka jest ciemna, a nie szara jak zwykly patch. */
.sh-badge--patch-worn{
  background:var(--sh-ink) !important;
  border-color:var(--sh-ink) !important;
  color:#fff !important;
}

/* ------------------------------------------------------------
   Stopka: linki prawne, „Vertrag widerrufen" i copyright
   Układ jak na kraftsy.de: pod płatnościami jeden rząd linków,
   pod nim mały copyright. Drukuje functions.php (hak
   astra_footer_content_bottom). „Vertrag widerrufen" stoi w tym samym
   rzędzie bez ramki, ale jest pogrubiony i podkreślony na pomarańczowo:
   § 356a BGB wymaga, żeby funkcja odstąpienia była wyraźnie widoczna.
   ------------------------------------------------------------ */
.sh-foot-bottom{
  background:var(--sh-bg-soft);
  border-top:1px solid var(--sh-line);
  padding:20px 20px 24px;
  text-align:center;
}
.sh-legal ul{
  list-style:none; margin:0 auto; padding:0; max-width:1200px;
  display:flex; flex-wrap:wrap; justify-content:center; gap:8px 22px;
}
.sh-legal li{ margin:0; font-size:14px; line-height:1.5; }
/* !important, bo ogólna reguła „.site-footer a" wyżej też go ma. */
.sh-legal a{ color:var(--sh-ink-2) !important; text-decoration:none; }
.sh-legal a:hover, .sh-legal a:focus{ color:var(--sh-orange-dark) !important; text-decoration:underline; }
.sh-legal .sh-legal__widerruf a{
  color:var(--sh-ink) !important; font-weight:600;
  text-decoration:underline; text-decoration-color:var(--sh-orange);
  text-decoration-thickness:2px; text-underline-offset:4px;
}
.sh-legal .sh-legal__widerruf a:hover, .sh-legal .sh-legal__widerruf a:focus{ color:var(--sh-orange-dark) !important; }
.sh-foot-copy{ margin:10px 0 0; font-size:13px; line-height:1.5; color:var(--sh-muted); }
/* Na szerokim ekranie wszystko mieści się w jednej linii, więc między
   linkami cienkie kreski jak na kraftsy. Na węższych linki się zawijają
   i kreska stałaby na początku drugiej linii, dlatego tam same odstępy. */
@media (min-width:1024px){
  .sh-legal ul{ gap:0; }
  .sh-legal li{ padding:0 14px; }
  .sh-legal li + li{ border-left:1px solid #d5d7dc; }
}
/* Pływający koszyk i strzałka w górę nie mogą zasłaniać linków
   na samym dole ekranu (ten błąd był na kraftsy). */
@media (max-width:921px){
  .sh-foot-bottom{ padding-bottom:96px; }
}

/* ============================================================
   TYPOGRAFIA · wrzesień 2026
   Jedno miejsce na kroje, wielkości i grubości. Stoi na końcu pliku
   i celowo nadpisuje starsze reguły wyżej (rozmiary 11-12 px, grubości
   800, wersaliki z rozstrzeleniem, tekst 18 px).
   · „SH Display" (--sh-font-display, dziś Kanit): nagłówki, menu, ceny,
     przyciski, plakietki, etykiety.
   · „SH Text" (--sh-font-text, dziś Inter): tekst, pola formularzy,
     tabele, stopka.
   Nazwy oznaczają rolę, nie krój. Krój zmienia tools/czcionki.py
   (podmienia pliki i assets/css/fonts.css), tu nic nie trzeba ruszać.
   Grubości: tekst 400-700, nagłówki 500-700 (800 i 900 przeglądarka by udawała).
   Cofnięcie wszystkiego:
   python3 tools/kopia.py --przywroc-wyglad backups/2026-09-17_0840_przed-czcionkami
   ============================================================ */
:root{
  --sh-font-text:"SH Text", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --sh-font-display:"SH Display", "SH Text", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}

/* Podstawa */
body{ font-family:var(--sh-font-text); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
h1,h2,h3,h4,h5,h6{ font-family:var(--sh-font-display); font-weight:700; letter-spacing:0; }
.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4{ line-height:1.15; }
.entry-title, .page-title,
.woocommerce-page .entry-header .entry-title,
.woocommerce-page .ast-archive-description .ast-archive-title,
.tax-product_cat .ast-archive-description .ast-archive-title{
  font-family:var(--sh-font-display) !important; font-size:36px !important; font-weight:700 !important; letter-spacing:0 !important; line-height:1.1 !important;
}
.woocommerce-products-header__title, h1.woocommerce-products-header__title, .woocommerce-products-header .page-title{
  font-family:var(--sh-font-display) !important; font-size:38px !important; font-weight:700 !important; letter-spacing:0 !important;
}
.related.products > h2, .upsells.products > h2, .woocommerce .related h2, .cross-sells > h2{
  font-family:var(--sh-font-display) !important; font-size:30px !important; font-weight:700 !important; letter-spacing:0 !important;
}

/* Pasek kontaktowy i wyszukiwarka */
.sh-topbar{ font-size:13px; }
.sh-topbar-label{ font-weight:600; letter-spacing:0; }
.sh-searchbar input[type="search"]{ font-family:var(--sh-font-text) !important; font-size:15px !important; }
.sh-searchbar button[type="submit"]{ font-family:var(--sh-font-display) !important; font-size:15px !important; font-weight:600 !important; letter-spacing:.6px !important; text-transform:uppercase; }

/* Menu */
.ast-desktop .main-header-menu > li > a,
.ast-desktop .main-header-menu > li > .menu-link,
.ast-desktop .ast-below-header-bar .main-header-menu > li > a,
.ast-desktop .ast-below-header-bar .main-header-menu > li > .menu-link{
  font-family:var(--sh-font-display) !important; font-size:16px !important; font-weight:600 !important; letter-spacing:.8px !important; text-transform:uppercase;
}
.ast-desktop .main-header-menu .sub-menu a{
  font-family:var(--sh-font-text) !important; font-size:14px !important; font-weight:500 !important; letter-spacing:0 !important; text-transform:none !important;
}
.ast-header-break-point .main-header-menu .menu-link,
.ast-mobile-header-content .main-header-menu .menu-link{
  font-family:var(--sh-font-display) !important; font-size:18px !important; font-weight:600 !important; letter-spacing:.4px !important; text-transform:uppercase;
}
.ast-header-break-point .main-header-menu .sub-menu .menu-link,
.ast-mobile-header-content .main-header-menu .sub-menu .menu-link{
  font-family:var(--sh-font-text) !important; font-size:15px !important; font-weight:500 !important; letter-spacing:0 !important; text-transform:none;
}
.sh-cart-count, .site-header .ast-site-header-cart .ast-cart-menu-wrap .count{ font-family:var(--sh-font-text); font-weight:700 !important; }

/* Przyciski */
.sh-btn,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce ul.products li.product .button,
.sh-setbox-btn, .sh-offer-send, .sh-offer-toggle,
.eu-owb-order-withdraw-from-contract-button a.button{
  font-family:var(--sh-font-display) !important; font-weight:600 !important; letter-spacing:.6px !important; text-transform:uppercase !important;
}
.sh-btn,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.sh-offer-send, .sh-offer-toggle{ font-size:16px !important; line-height:1.2 !important; }
.woocommerce ul.products li.product .button{ font-size:15px !important; }
.sh-setbox-btn, .eu-owb-order-withdraw-from-contract-button a.button{ font-size:15px !important; }
.wc-block-components-button:not(.is-link) .wc-block-components-button__text{
  font-family:var(--sh-font-display); font-size:18px; font-weight:600; letter-spacing:.6px; text-transform:uppercase;
}

/* Strona główna */
.sh-kicker, .sh-hero-kicker, .sh-cons-kicker{
  font-family:var(--sh-font-display) !important; font-size:15px !important; font-weight:600 !important; letter-spacing:1.8px !important; text-transform:uppercase;
}
.sh-hero-title{ font-family:var(--sh-font-display); font-size:clamp(38px,5.4vw,62px); font-weight:700; line-height:1.02; letter-spacing:-.2px; }
.sh-hero-lead{ font-size:18px; line-height:1.6; }
.sh-section-title, .sh-cta-title{ font-family:var(--sh-font-display); font-size:clamp(30px,3.6vw,42px); font-weight:700; line-height:1.06; letter-spacing:-.1px; }
.sh-section-sub, .sh-cta-text{ font-size:16px; line-height:1.6; }
.sh-trust-item{ font-size:14px; }
.sh-trust-title{ font-weight:600; }
.sh-why-num{ font-family:var(--sh-font-display); font-size:18px; font-weight:700; }
.sh-why-title{ font-family:var(--sh-font-display); font-size:23px; font-weight:700; line-height:1.15; }
.sh-why-text{ font-size:15px; line-height:1.6; }
.sh-cat-name{ font-family:var(--sh-font-display) !important; font-size:21px !important; font-weight:700 !important; line-height:1.15 !important; }
.sh-cat-count{ font-size:13px !important; }

/* Kafelki kart */
.astra-shop-summary-wrap .ast-woo-product-category{
  font-family:var(--sh-font-display) !important; font-size:13.5px !important; font-weight:600 !important; letter-spacing:.8px !important; text-transform:uppercase;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.astra-shop-summary-wrap .ast-loop-product__link .woocommerce-loop-product__title,
.astra-shop-summary-wrap .woocommerce-loop-product__title,
.astra-shop-summary-wrap h2{
  font-family:var(--sh-font-display) !important; font-size:20px !important; font-weight:600 !important; line-height:1.18 !important; letter-spacing:0 !important;
}
.woocommerce ul.products li.product .price,
.astra-shop-summary-wrap .price{
  font-family:var(--sh-font-display) !important; font-size:23px !important; font-weight:700 !important; letter-spacing:0 !important;
}
.woocommerce ul.products li.product .wc-gzd-additional-info,
.woocommerce ul.products li.product .shipping-costs-info,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap .wc-gzd-additional-info,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap .shipping-costs-info{
  font-family:var(--sh-font-text) !important; font-size:12px !important; line-height:1.4 !important; color:var(--sh-muted) !important;
}
.woocommerce ul.products li.product .wc-gzd-additional-info a,
.woocommerce ul.products li.product .shipping-costs-info a{ font-size:12px !important; }
.sh-tile-grade{ font-family:var(--sh-font-display); font-size:13.5px; font-weight:700; letter-spacing:.4px; }
.sh-catbar-link{ font-size:14px !important; font-weight:500; letter-spacing:0; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering select{ font-size:14px; }

/* Strona karty */
.woocommerce div.product .product_title{
  font-family:var(--sh-font-display) !important; font-size:clamp(32px,3.6vw,44px) !important; font-weight:700 !important; line-height:1.06 !important; letter-spacing:-.1px !important;
}
.woocommerce div.product p.price, .woocommerce div.product span.price{
  font-family:var(--sh-font-display) !important; font-size:36px !important; font-weight:700 !important; letter-spacing:0 !important;
}
.woocommerce div.product .wc-gzd-additional-info, .woocommerce div.product .woocommerce-de_price_taxrate{ font-size:13px; }
.single-product .single-product-category a{ font-family:var(--sh-font-display); font-size:14px; font-weight:600; letter-spacing:.9px; }
.sh-badge, .sh-setbadge{
  font-family:var(--sh-font-display) !important; font-size:14px !important; font-weight:700 !important; letter-spacing:.4px !important; text-transform:uppercase;
}
.sh-ribbon, .single-product .sh-ribbon,
.single-product .sh-is-verkauft .woocommerce-product-gallery::after,
.single-product .sh-is-reserviert .woocommerce-product-gallery::after{
  font-family:var(--sh-font-display) !important; font-weight:700 !important; letter-spacing:1.6px !important; font-size:14px !important;
}
.sh-cardspecs-title{ font-family:var(--sh-font-display); font-size:19px; font-weight:700; letter-spacing:.6px; }
.sh-cardspecs-table,
.single-product .summary .sh-cardspecs-table th,
.single-product .summary .sh-cardspecs-table td{ font-size:15px; }
.sh-cardspecs-table th{ font-weight:400; }
.sh-cardspecs-table td{ font-weight:600; }
.sh-cardspecs-note, .sh-state-note{ font-size:14px; }

/* Filtry */
.sh-filters-toggle, .sh-sidebar-filters .sh-filters-toggle{
  font-family:var(--sh-font-display) !important; font-size:18px !important; font-weight:700 !important; letter-spacing:.6px !important; text-transform:uppercase;
}
.sh-filter-label, .sh-sidebar-filters .sh-filter-label{
  font-family:var(--sh-font-display) !important; font-size:15.5px !important; font-weight:600 !important; letter-spacing:.5px !important; text-transform:uppercase;
}
.sh-filter-chip, .sh-sidebar-filters .sh-filter-chip{ font-size:13.5px !important; font-weight:500; }
.sh-sidebar-filters .sh-filter-count{ font-size:12px; }
.sh-filter-badge, .sh-sidebar-filters .sh-filter-badge{ font-weight:700 !important; }
.sh-sidebar-filters .sh-filter-more, .sh-sidebar-filters .sh-filter-reset{ font-size:13px; font-weight:600; }

/* Versand & Zahlung, komplety setów */
.sh-versand-lead{ font-size:17px; }
.sh-versand h2{ font-family:var(--sh-font-display) !important; font-size:28px !important; font-weight:700 !important; letter-spacing:0 !important; }
.sh-versand-table th{ font-family:var(--sh-font-display); font-size:14.5px; font-weight:600; letter-spacing:.6px; }
.sh-setbox-sum b{ font-family:var(--sh-font-display); font-size:21px; font-weight:700; }

/* Formularze wtyczek: komis i propozycja ceny */
.sh-cons-field span, .sh-cons-form label span, .sh-cons-table th{
  font-family:var(--sh-font-display) !important; font-size:14.5px !important; font-weight:600 !important; letter-spacing:.5px !important;
}
.sh-cons-form label.sh-cons-check span{
  font-family:var(--sh-font-text) !important; font-size:15px !important; font-weight:400 !important; letter-spacing:0 !important; text-transform:none !important;
}
.sh-cons-step-no{ font-family:var(--sh-font-display); font-size:17px !important; font-weight:700 !important; }
.sh-cons-rules dt{ font-family:var(--sh-font-display); font-size:19px !important; font-weight:700 !important; letter-spacing:.2px !important; }
.sh-offer-form label{ font-family:var(--sh-font-display) !important; font-size:14.5px !important; font-weight:600 !important; letter-spacing:.5px !important; }
.sh-offer-form label em{ font-family:var(--sh-font-text); font-weight:500 !important; }
.sh-offer-form input, .sh-offer-form textarea, .sh-cons-form input, .sh-cons-form textarea{ font-family:var(--sh-font-text) !important; }

/* Stopka */
.slabhaus-payments__title{
  font-family:var(--sh-font-display) !important; font-size:13.5px !important; font-weight:600 !important; letter-spacing:1.4px !important;
}
.sh-foot-bottom{ font-family:var(--sh-font-text); }

/* ============================================================
   BLOG · wrzesień 2026
   Lista wpisów (/blog/ i /blog/thema/...) i pojedynczy wpis.
   Karty wpisów jak kafelki sklepu: cienka ramka zamiast cienia,
   zdjęcie w całości na jasnym tle. Slaby są pionowe: przycięte
   do 16:9 byłyby nieczytelne, a Astra jeszcze je rozciągała.
   Wpis w wąskiej kolumnie (Astra: narrow container), tekst 17 px,
   zdjęcia w tekście najwyżej 560 px wysokości.
   Stoi po bloku TYPOGRAFIA i celowo go nadpisuje.
   ============================================================ */

/* Nagłówek listy wpisów i stron kategorii */
.blog .ast-archive-description,
.category .ast-archive-description{
  padding:0 0 28px !important; margin:0 !important; background:transparent !important;
}
.blog .ast-archive-description .ast-archive-title,
.category .ast-archive-description .ast-archive-title{
  font-size:38px !important; line-height:1.1 !important; margin:0 0 8px !important;
}
.blog .ast-archive-description p,
.category .ast-archive-description p{
  margin:0; font-size:17px; line-height:1.55; color:var(--sh-ink-2);
}

/* Karty wpisów: własna siatka zamiast marginesów Astry, które na różnych
   szerokościach przesuwały karty względem nagłówka. 3 kolumny, tablet 2, telefon 1. */
.blog .site-main > .ast-row,
.category .site-main > .ast-row{
  display:grid !important; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:26px 24px; margin:0 !important;
}
.blog .site-main > .ast-row > .ast-article-post,
.category .site-main > .ast-row > .ast-article-post{
  width:auto !important; margin:0 !important; padding:0 !important; border:0 !important;
}
.blog .ast-article-post .ast-article-inner,
.category .ast-article-post .ast-article-inner{ height:100%; }
@media (max-width:921px){
  .blog .site-main > .ast-row,
  .category .site-main > .ast-row{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:20px 18px; }
}
@media (max-width:544px){
  .blog .site-main > .ast-row,
  .category .site-main > .ast-row{ grid-template-columns:minmax(0, 1fr); }
}
.blog .ast-article-post .ast-article-inner,
.category .ast-article-post .ast-article-inner{
  background:#fff; border:1px solid var(--sh-line); border-radius:var(--sh-radius);
  box-shadow:none; padding:0 0 22px; transition:box-shadow .2s ease, border-color .2s ease;
}
.blog .ast-article-post .ast-article-inner:hover,
.category .ast-article-post .ast-article-inner:hover{
  border-color:#d5d7dc; box-shadow:var(--sh-shadow-lift);
}
.blog .ast-article-post .post-content > *:not(.ast-blog-featured-section),
.category .ast-article-post .post-content > *:not(.ast-blog-featured-section){
  padding-left:22px; padding-right:22px;
}
.blog .ast-article-post .ast-blog-featured-section,
.category .ast-article-post .ast-blog-featured-section{ margin:0 0 18px !important; }
.blog .ast-article-post .post-thumb-img-content,
.category .ast-article-post .post-thumb-img-content{ margin:0 !important; }
.blog .ast-article-post .post-thumb img,
.category .ast-article-post .post-thumb img{
  display:block; width:100% !important; height:auto; aspect-ratio:4/3 !important;
  object-fit:contain !important; background:var(--sh-tile); padding:14px; box-sizing:border-box;
  border-radius:0 !important; transform:none !important;
}
.blog .ast-article-post .cat-links,
.category .ast-article-post .cat-links{ display:block; margin:0 0 8px; }
.blog .ast-article-post .cat-links a,
.category .ast-article-post .cat-links a,
.single-post .entry-header .cat-links a{
  font-family:var(--sh-font-display); font-size:13px; font-weight:600; letter-spacing:.6px;
  text-transform:uppercase; color:var(--sh-orange-dark) !important; text-decoration:none;
}
.blog .ast-article-post .entry-title,
.category .ast-article-post .entry-title{
  font-size:22px !important; line-height:1.22 !important; margin:0 0 8px !important;
}
.blog .ast-article-post .entry-title a,
.category .ast-article-post .entry-title a{ color:var(--sh-ink) !important; text-decoration:none; }
.blog .ast-article-post .entry-title a:hover,
.category .ast-article-post .entry-title a:hover{ color:var(--sh-orange-dark) !important; }
.blog .ast-article-post .entry-meta, .blog .ast-article-post .entry-meta *,
.category .ast-article-post .entry-meta, .category .ast-article-post .entry-meta *{
  color:var(--sh-muted) !important; font-size:13.5px; font-weight:500;
}
.blog .ast-article-post .ast-excerpt-container,
.category .ast-article-post .ast-excerpt-container{
  margin-top:10px; font-size:15px; line-height:1.55; color:var(--sh-ink-2);
}
.blog .ast-article-post .ast-excerpt-container p,
.category .ast-article-post .ast-excerpt-container p{ margin:0; }

/* Pojedynczy wpis */
.single-post .entry-header{ margin-bottom:26px; }
.single-post .entry-header .entry-title{
  font-size:40px !important; line-height:1.12 !important; margin:0 0 10px !important;
}
.single-post .entry-header .entry-meta,
.single-post .entry-header .entry-meta *{ color:var(--sh-muted); font-size:14px; font-weight:500; }
.single-post .entry-header .post-thumb-img-content{
  margin:22px 0 0; padding:18px; background:var(--sh-tile); border-radius:var(--sh-radius); text-align:center;
}
/* Astra rozciąga zdjęcie główne do 16:9 (width i height 100%) i dodaje cień zdjęciom we wpisie. */
.single-post .entry-header .post-thumb-img-content img{
  display:block; width:auto !important; max-width:100%; height:auto !important; max-height:560px;
  aspect-ratio:auto !important; object-fit:contain; margin:0 auto; border-radius:0; box-shadow:none !important;
}
.single-post .ast-article-single figure,
.single-post .ast-article-single img{ box-shadow:none !important; }
.single-post .entry-content p,
.single-post .entry-content li{ font-size:17px; line-height:1.7; }
.single-post .entry-content h2{ font-size:28px !important; line-height:1.2 !important; margin:1.6em 0 .5em; }
.single-post .entry-content h3{ font-size:22px !important; line-height:1.25 !important; margin:1.4em 0 .4em; }
.single-post .entry-content .wp-block-image{ margin:30px 0; }
.single-post .entry-content .wp-block-image img{
  display:block; width:auto; max-width:100%; height:auto; max-height:560px; margin:0 auto; border-radius:var(--sh-radius);
}
.single-post .entry-content .wp-block-image figcaption{
  margin:8px 0 0; text-align:center; font-size:14px; line-height:1.5; color:var(--sh-muted);
}
.single-post .entry-content .wp-block-quote{
  margin:30px 0; padding:2px 0 2px 20px; border-left:3px solid var(--sh-orange); font-style:normal;
}
.single-post .entry-content .wp-block-quote p{ font-size:19px; line-height:1.55; color:var(--sh-ink); font-style:normal; }
.single-post .entry-content hr.wp-block-separator{
  width:100%; max-width:none; margin:34px 0; border:0; border-top:1px solid var(--sh-line); opacity:1;
}

/* Kasten pod wpisem: sklep i komis (functions.php, the_content) */
.sh-post-cta{
  margin:42px 0 6px; padding:24px 26px; background:var(--sh-bg-soft);
  border:1px solid var(--sh-line); border-radius:var(--sh-radius);
}
.single-post .entry-content .sh-post-cta__title{
  margin:0 0 6px; font-family:var(--sh-font-display); font-size:22px; font-weight:700; line-height:1.25; color:var(--sh-ink);
}
.single-post .entry-content .sh-post-cta__text{ margin:0 0 16px; font-size:16px; line-height:1.6; color:var(--sh-ink-2); }
.single-post .entry-content .sh-post-cta__links{ display:flex; flex-wrap:wrap; gap:10px; margin:0; }
.sh-post-cta .sh-btn{ padding:12px 22px; font-family:var(--sh-font-display); font-size:15px; font-weight:600; letter-spacing:.6px; }
.sh-post-cta .sh-btn--ghost{ background:#fff; }

@media (max-width:921px){
  .blog .ast-archive-description .ast-archive-title,
  .category .ast-archive-description .ast-archive-title{ font-size:32px !important; }
  .single-post .entry-header .entry-title{ font-size:30px !important; }
  .single-post .entry-content h2{ font-size:24px !important; }
  .single-post .entry-content h3{ font-size:20px !important; }
  .single-post .entry-content .wp-block-image img,
  .single-post .entry-header .post-thumb-img-content img{ max-height:440px; }
}
