.elementor-kit-1707{--e-global-color-primary:#DFBA5E;--e-global-color-secondary:#271508;--e-global-color-text:#FFFFFF;--e-global-color-accent:#DFBA5E;--e-global-color-5a1c56d:#9F9F9C;--e-global-color-355b47e:#FF6900;--e-global-color-5fcf2b0:#27272A;--e-global-color-384a985:#3F3F46;--e-global-typography-primary-font-family:"Open Sans";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Open Sans";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Open Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Open Sans";--e-global-typography-accent-font-weight:500;--e-global-typography-c9ec1c1-font-family:"Open Sans";--e-global-typography-c9ec1c1-font-size:2.25rem;--e-global-typography-c9ec1c1-font-weight:700;--e-global-typography-c435c8b-font-family:"Open Sans";--e-global-typography-c435c8b-font-size:1.25rem;--e-global-typography-6f368e8-font-family:"Open Sans";--e-global-typography-6f368e8-font-size:16px;}.elementor-kit-1707 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ==========================================================================
   KOR-TECH — sklep: karta produktu, koszyk, zamówienie, podziękowanie.
   JEDNO źródło stylu sklepu. Miejsce: Elementor → Ustawienia witryny → Custom CSS.

   Język wizualny ze strony głównej: tło #271508, karty #3F3F46 z ramką,
   CTA pomarańcz → hover biały z ciemnym tekstem, obrys biały → hover pomarańcz,
   akcent złoty #DFBA5E. Odstępy wyłącznie ze skali --kt-s1..--kt-s7.

   Reguły są zawężone klasami szablonu (.kt-*) albo klasami body koszyka
   i zamówienia — na pozostałych stronach nic nie zmieniają.
   Wyjątki: komunikaty WooCommerce (każda strona sklepu) i strona 404.
   ========================================================================== */

/* === 1. TOKENY — jedno miejsce na kolory, odstępy, promienie ============== */
:root{
  --kt-brown:#271508;
  --kt-card:#3F3F46;
  --kt-line:rgba(255,255,255,.14);
  --kt-line-2:rgba(255,255,255,.28);
  --kt-field:rgba(255,255,255,.10);
  --kt-gold:#DFBA5E;
  --kt-orange:#FF6900;
  --kt-dark:#27272A;
  --kt-muted:#9F9F9C;
  --kt-red:#FF8A8D;   /* błędy — jasny, bo ciemna czerwień ginie na karcie */

  /* skala odstępów — jedyne dozwolone wartości */
  --kt-s1:8px; --kt-s2:12px; --kt-s3:16px; --kt-s4:24px; --kt-s5:32px; --kt-s6:48px; --kt-s7:64px;

  --kt-r:20px; --kt-r-sm:10px;
  --kt-ease:.25s cubic-bezier(.4,0,.2,1);
}

/* === 2. KARTA PRODUKTU — szablon Theme Builder (klasy kt-*) =============== */

/* --- baza -------------------------------------------------------------- */
.kt-product, .kt-product p, .kt-product li, .kt-product td, .kt-product th,
.kt-product h1, .kt-product h2, .kt-product h3, .kt-product h4{ color:#fff; }
.kt-product a{ color:var(--kt-gold); text-decoration:none; transition:color var(--kt-ease); }
.kt-product a:hover{ color:var(--kt-orange); }
.kt-product :focus-visible{ outline:2px solid var(--kt-gold); outline-offset:3px; border-radius:4px; }

/* zerujemy losowe marginesy WooCommerce — odstepy robia kontenery i skala */
.kt-product .product_title,
.kt-product .price,
.kt-product .woocommerce-product-details__short-description,
.kt-product form.cart,
.kt-product .product_meta,
.kt-product .woocommerce-product-gallery,
.kt-product .woocommerce-tabs,
.kt-product ul.products{ margin:0; }
/* rytm robia kontenery, nie domyslne marginesy widgetow */
.kt-product .elementor-widget{ margin-bottom:0; }

/* --- galeria ----------------------------------------------------------- */
.kt-gallery .woocommerce-product-gallery{ position:relative; }
.kt-gallery .woocommerce-product-gallery__wrapper{
  margin:0; border-radius:var(--kt-r); overflow:hidden; background:#fff;
}
.kt-gallery .woocommerce-product-gallery__image img{
  width:100%; aspect-ratio:4/3; object-fit:contain;
  background:#fff; padding:var(--kt-s4);
}
/* lupka podgladu */
.kt-gallery .woocommerce-product-gallery__trigger{
  top:var(--kt-s3); right:var(--kt-s3);
  width:44px; height:44px; text-align:center;
  background:var(--kt-orange); border-radius:50%; font-size:0;
  transition:background var(--kt-ease), transform var(--kt-ease);
}
.kt-gallery .woocommerce-product-gallery__trigger img{ display:none; }
.kt-gallery .woocommerce-product-gallery__trigger::before{
  content:"+"; font-size:26px; line-height:44px; color:#fff;
}
.kt-gallery .woocommerce-product-gallery__trigger:hover{ background:#fff; transform:scale(1.06); }
.kt-gallery .woocommerce-product-gallery__trigger:hover::before{ color:var(--kt-dark); }

/* znaczek promocji — Woo rysuje oliwkowe kolko wystajace za rog zdjecia */
.kt-product span.onsale{
  position:absolute; top:var(--kt-s3) !important; left:var(--kt-s3) !important; right:auto !important; width:auto !important;
  z-index:5; min-width:0 !important; min-height:0 !important; margin:0 !important;
  padding:var(--kt-s1) var(--kt-s2) !important;
  background:var(--kt-orange) !important; color:#fff !important;
  border-radius:999px !important; line-height:1 !important;
  font-size:13px; font-weight:700; letter-spacing:.02em;
}

/* miniatury: rowna siatka, aktywna w pomaranczowej ramce */
.kt-gallery .flex-control-thumbs{
  display:grid; grid-template-columns:repeat(5,1fr); gap:var(--kt-s3);
  margin:var(--kt-s3) 0 0 !important; padding:0; list-style:none;
}
.kt-gallery .flex-control-thumbs li{ width:auto !important; margin:0; padding:0; float:none; }
.kt-gallery .flex-control-thumbs img{
  width:100%; aspect-ratio:1; object-fit:cover; background:#fff;
  border-radius:var(--kt-r-sm); border:2px solid transparent; opacity:.5; cursor:pointer;
  transition:opacity var(--kt-ease), border-color var(--kt-ease);
}
.kt-gallery .flex-control-thumbs img:hover{ opacity:1; border-color:var(--kt-line-2); }
.kt-gallery .flex-control-thumbs img.flex-active{ opacity:1; border-color:var(--kt-orange); }
/* strzalki slidera — pasek ma ten sam format 4:3 co zdjecie glowne,
   wiec wypelnia dokladnie jego wysokosc na kazdej szerokosci ekranu */
.kt-gallery .flex-direction-nav{
  position:absolute; top:0; left:0; right:0; z-index:4;
  aspect-ratio:4/3; margin:0; padding:0 var(--kt-s3); list-style:none;
  display:flex; align-items:center; justify-content:space-between;
  pointer-events:none;
}
.kt-gallery .flex-direction-nav li{ margin:0; padding:0; }
.kt-gallery .flex-direction-nav a{
  pointer-events:auto;
  display:flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:50%;
  background:rgba(39,21,8,.72); border:2px solid var(--kt-line-2);
  font-size:0; color:#fff; text-decoration:none;
  transition:background var(--kt-ease), border-color var(--kt-ease), transform var(--kt-ease), opacity var(--kt-ease);
}
.kt-gallery .flex-direction-nav a::before{
  content:""; width:10px; height:10px;
  border-top:2px solid currentColor; border-right:2px solid currentColor;
}
.kt-gallery .flex-direction-nav .flex-prev::before{ transform:translateX(2px) rotate(-135deg); }
.kt-gallery .flex-direction-nav .flex-next::before{ transform:translateX(-2px) rotate(45deg); }
.kt-gallery .flex-direction-nav a:hover{
  background:var(--kt-orange); border-color:var(--kt-orange); transform:scale(1.06);
}
/* slider nie zapetla sie — na pierwszym/ostatnim zdjeciu strzalka znika zamiast wisiec martwa */
.kt-gallery .flex-direction-nav a.flex-disabled{ opacity:0 !important; pointer-events:none; }

/* --- karta zakupowa ---------------------------------------------------- */
.kt-buybox{
  background:var(--kt-card); border:2px solid var(--kt-line);
  border-radius:var(--kt-r); padding:var(--kt-s5);
}
.kt-product .product_title{ font-size:44px; line-height:1.15; font-weight:600; letter-spacing:-.01em; }
.kt-product .price, .kt-product .price .amount, .kt-product .price bdi{
  color:var(--kt-orange) !important; font-size:40px; font-weight:700; line-height:1;
}
.kt-product .price del, .kt-product .price del .amount, .kt-product .price del bdi{
  color:var(--kt-muted) !important; font-size:24px; font-weight:400;
}
.kt-product .price ins{ text-decoration:none; }

.kt-product .woocommerce-product-details__short-description{
  color:rgba(255,255,255,.85); font-size:16px; line-height:1.7;
}
.kt-product .woocommerce-product-details__short-description p{ margin:0 0 var(--kt-s2); }
.kt-product .woocommerce-product-details__short-description p:last-child{ margin:0; }

/* stan magazynowy jako plakietka */
.kt-product .stock{
  display:inline-flex; align-items:center; gap:var(--kt-s1);
  margin:0 0 var(--kt-s4); padding:var(--kt-s1) var(--kt-s3); border-radius:999px;
  font-size:14px; font-weight:600;
}
.kt-product .stock::before{ content:""; width:8px; height:8px; border-radius:50%; background:currentColor; }
/* WooCommerce ma .woocommerce:where(...) div.product .stock z wyzsza specyficznoscia - stad !important */
.kt-product .stock.in-stock{ background:rgba(223,186,94,.16); color:var(--kt-gold) !important; }
.kt-product .stock.out-of-stock{ background:rgba(255,105,0,.16); color:var(--kt-orange) !important; }

/* warianty (kolor, rozmiar...) — motyw Hello paskuje wiersze tabeli, a Woo daje czarny select */
.kt-product table.variations,
.kt-product table.variations tbody{ display:block; width:100%; border:0; margin:0; }
.kt-product table.variations{ margin:0 0 var(--kt-s4) !important; }
.kt-product table.variations tr{
  display:flex; flex-direction:column; gap:var(--kt-s1); margin:0 0 var(--kt-s3);
}
.kt-product table.variations tr:last-child{ margin:0; }
.kt-product table.variations :is(th, td){
  display:block; padding:0 !important; background:transparent !important;
  border:0 !important; text-align:left;
}
.kt-product table.variations label{ color:var(--kt-muted); font-size:14px; font-weight:600; margin:0; }
.kt-product table.variations select{
  width:100%; height:52px; padding:0 var(--kt-s6) 0 var(--kt-s3) !important;
  background:var(--kt-field) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DFBA5E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right var(--kt-s3) center / 16px 16px !important;
  border:1px solid var(--kt-line-2) !important; border-radius:var(--kt-r-sm) !important;
  color:#fff !important; font-size:16px; appearance:none; cursor:pointer;
  transition:border-color var(--kt-ease), background-color var(--kt-ease);
}
.kt-product table.variations select:hover{ background-color:rgba(255,255,255,.16) !important; }
.kt-product table.variations select:focus{ border-color:var(--kt-gold) !important; outline:none; }
/* lista rozwijana — bez tego Chrome potrafi dac bialy tekst na bialej liscie */
.kt-product table.variations select option{ background:var(--kt-card); color:#fff; }
.kt-product .reset_variations{ display:inline-block; margin-top:var(--kt-s2); font-size:14px; color:var(--kt-gold); }
.kt-product .reset_variations:hover{ color:var(--kt-orange); }
/* cena wybranego wariantu — mniejsza niz glowna, zeby nie dublowac 40px */
.kt-product .single_variation:not(:empty){ margin:0 0 var(--kt-s4); }
.kt-product .woocommerce-variation-price .price,
.kt-product .woocommerce-variation-price .price :is(.amount, bdi){ font-size:28px; }
.kt-product .woocommerce-variation-description p{ margin:0 0 var(--kt-s2); color:rgba(255,255,255,.85); }

/* ilosc + koszyk w jednej linii, ta sama wysokosc */
.kt-product form.cart{ display:flex; flex-wrap:wrap; align-items:stretch; gap:var(--kt-s2); }
/* widget „Dodaj do koszyka" Elementora ustawia form.cart{flex-wrap:nowrap} z wyższą specyficznością —
   na telefonie przycisk nie schodził pod ilość, wyjeżdżał za ekran i poszerzał całą stronę */
.kt-product :is(form.cart, .woocommerce-variation-add-to-cart){ display:flex !important; flex-wrap:wrap !important; gap:var(--kt-s2); }
/* clearfix Woo (::before/::after) jako element flex dawał polu ilości wcięcie o szerokość odstępu */
.kt-product form.cart::before,
.kt-product form.cart::after{ content:none !important; }
.kt-product form.cart .quantity{ margin:0 !important; }
/* odstęp robi gap — widget dokleja jeszcze margines przyciskowi (--button-spacing) */
.kt-product form.cart .single_add_to_cart_button{ margin:0 !important; }
/* widget Elementora daje .qty{height:100%} — gdy przycisk zszedł pod ilość (telefon), pole spadało do 26px */
.kt-product .quantity input.qty{
  height:60px !important; width:92px; padding:0 var(--kt-s2); text-align:center;
  background:rgba(255,255,255,.10); border:1px solid var(--kt-line-2);
  color:#fff; border-radius:var(--kt-r-sm); font-size:18px; font-weight:600;
  transition:border-color var(--kt-ease), background var(--kt-ease);
}
.kt-product .quantity input.qty:hover{ background:rgba(255,255,255,.16); }
.kt-product .quantity input.qty:focus{ border-color:var(--kt-gold); outline:none; }

/* CTA — hover 1:1 ze strony glownej: pomarancz -> bialy + ciemny tekst */
.kt-product .single_add_to_cart_button,
.kt-product button.button.alt{
  flex:1 1 240px; min-height:60px;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--kt-orange) !important; color:#fff !important;
  border:0 !important; border-radius:var(--kt-r-sm);
  font-family:"Open Sans",sans-serif; font-size:20px; font-weight:600; line-height:1;
  padding:0 var(--kt-s5); text-transform:none;
  transition:background var(--kt-ease), color var(--kt-ease), transform var(--kt-ease), box-shadow var(--kt-ease);
}
.kt-product .single_add_to_cart_button:not(.loading)::after{
  content:"\2192"; margin-left:var(--kt-s2); display:inline-block; transition:transform var(--kt-ease);
}
.kt-product .single_add_to_cart_button:not(.disabled):hover{
  background:#fff !important; color:var(--kt-dark) !important;
  transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.35);
}
.kt-product .single_add_to_cart_button:not(.disabled):hover:not(.loading)::after{ transform:translateX(5px); }
/* bez wybranego wariantu Woo blokuje przycisk — nie udajemy, ze da sie kliknac */
.kt-product .single_add_to_cart_button.disabled{
  opacity:.45 !important; cursor:not-allowed !important; transform:none !important; box-shadow:none !important;
}

/* SKU / kategorie */
.kt-product .product_meta{
  display:flex; flex-direction:column; gap:var(--kt-s1);
  margin-top:var(--kt-s5); padding-top:var(--kt-s4);
  border-top:1px solid var(--kt-line);
  font-size:13px; color:var(--kt-muted); line-height:1.6;
}
.kt-product .product_meta > span{ display:block; word-break:break-word; }
.kt-product .product_meta a{ color:#fff; }
.kt-product .product_meta a:hover{ color:var(--kt-orange); }

/* --- pasek zaufania (shortcode [kt_trust]) ------------------------------ */
/* auto-fit: przy usludze wysylka znika i dwa kafelki rozkladaja sie na cala szerokosc */
.kt-product .kt-trust{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:var(--kt-s3);
}
.kt-product .kt-trust__item{
  display:flex; flex-direction:column; gap:var(--kt-s1);
  background:rgba(255,255,255,.18); border:2px solid transparent;
  border-radius:var(--kt-r); padding:var(--kt-s4);
  transition:background var(--kt-ease), border-color var(--kt-ease);
}
.kt-product .kt-trust__item:hover{ background:rgba(255,255,255,.36); border-color:var(--kt-orange); }
.kt-product .kt-trust__icon{
  width:32px; height:32px; color:var(--kt-gold);
  margin-bottom:var(--kt-s1); transition:color var(--kt-ease);
}
.kt-product .kt-trust__item:hover .kt-trust__icon{ color:var(--kt-orange); }
.kt-product .kt-trust__title{ color:#fff; font-size:18px; font-weight:600; }
.kt-product .kt-trust__desc{ color:var(--kt-muted); font-size:14px; line-height:1.6; }

/* --- zakladki ---------------------------------------------------------- */
.kt-product .woocommerce-tabs ul.tabs{
  display:flex; flex-wrap:wrap; gap:var(--kt-s2);
  margin:0 0 var(--kt-s4) !important; padding:0 !important; border:0 !important; list-style:none;
}
.kt-product .woocommerce-tabs ul.tabs::before,
.kt-product .woocommerce-tabs ul.tabs::after{ display:none !important; }
.kt-product .woocommerce-tabs ul.tabs li{
  background:rgba(255,255,255,.10) !important; border:1px solid var(--kt-line) !important;
  border-radius:999px !important; margin:0 !important; padding:0 !important;
  box-shadow:none !important; transition:background var(--kt-ease), border-color var(--kt-ease);
}
.kt-product .woocommerce-tabs ul.tabs li::before,
.kt-product .woocommerce-tabs ul.tabs li::after{ display:none !important; }
.kt-product .woocommerce-tabs ul.tabs li:hover{ background:rgba(255,255,255,.20) !important; }
.kt-product .woocommerce-tabs ul.tabs li a{
  display:block; padding:12px var(--kt-s4); color:#fff !important;
  font-size:15px; font-weight:600; text-shadow:none;
}
.kt-product .woocommerce-tabs ul.tabs li.active{
  background:var(--kt-orange) !important; border-color:var(--kt-orange) !important;
}
.kt-product .woocommerce-tabs .panel{
  background:var(--kt-card) !important; border:2px solid var(--kt-line);
  border-radius:var(--kt-r) !important; padding:var(--kt-s6) !important;
  color:rgba(255,255,255,.88); font-size:16px; line-height:1.75;
}
.kt-product .woocommerce-tabs .panel > h2{
  font-size:28px; font-weight:600; margin:0 0 var(--kt-s4); color:#fff;
}
.kt-product .woocommerce-tabs .panel p{ margin:0 0 var(--kt-s3); max-width:80ch; }
.kt-product .woocommerce-tabs .panel p:last-child{ margin:0; }
.kt-product .woocommerce-tabs .panel ul{ margin:0 0 var(--kt-s3) var(--kt-s4); }
.kt-product .woocommerce-tabs .panel li::marker{ color:var(--kt-orange); }

/* --- zakladka "Pasuje do" (snippet kor-tech-pasuje-do.php) -------------- */
.kt-product .woocommerce-tabs .panel ul.kt-fitment{
  display:flex; flex-wrap:wrap; gap:var(--kt-s2);
  margin:0; padding:0; list-style:none;
}
.kt-product .kt-fitment li{ margin:0; }
.kt-product .kt-fitment a,
.kt-product .kt-fitment span{
  display:inline-block; padding:var(--kt-s1) var(--kt-s3);
  background:rgba(255,255,255,.10); border:1px solid var(--kt-line);
  border-radius:999px; color:#fff !important; font-size:15px; font-weight:600;
  transition:background var(--kt-ease), border-color var(--kt-ease);
}
.kt-product .kt-fitment a:hover{
  background:var(--kt-orange); border-color:var(--kt-orange);
}

/* --- zakladka "Wysylka i platnosc" (snippet sklepu, sekcja 7) --- */
.kt-product .woocommerce-tabs .panel .kt-shipping__group{
  font-size:18px; font-weight:600; color:#fff; margin:var(--kt-s5) 0 var(--kt-s2);
}
.kt-product .woocommerce-tabs .panel ul.kt-shipping{
  list-style:none; margin:0; padding:0; max-width:560px;
}
.kt-product .kt-shipping li{
  display:flex; align-items:baseline; justify-content:space-between; gap:var(--kt-s3);
  margin:0; padding:var(--kt-s2) 0; border-bottom:1px solid var(--kt-line);
}
.kt-product .kt-shipping__name small{ display:block; color:var(--kt-muted); font-size:13px; }
.kt-product .kt-shipping__price,
.kt-product .kt-shipping__price :is(.amount, bdi){ color:var(--kt-orange); font-weight:700; white-space:nowrap; }

/* tabela atrybutow — Woo 10 rysuje ja wlasnym CSS-em o wyzszej specyficznosci */
.kt-product .shop_attributes{ width:100%; border-collapse:collapse; }
.kt-product .shop_attributes tr th,
.kt-product .shop_attributes tr td,
.kt-product .woocommerce-product-attributes-item__label,
.kt-product .woocommerce-product-attributes-item__value{
  background:transparent !important;
  border-bottom:1px solid var(--kt-line) !important;
  padding:var(--kt-s2) 0 !important; text-align:left;
}
.kt-product .shop_attributes th,
.kt-product .woocommerce-product-attributes-item__label{
  width:220px !important; color:var(--kt-muted) !important; font-weight:600;
}
.kt-product .shop_attributes td,
.kt-product .woocommerce-product-attributes-item__value{ color:#fff !important; }
.kt-product .shop_attributes p{ margin:0 !important; padding:0 !important; }

/* opinie */
.kt-product #review_form input[type=text],
.kt-product #review_form input[type=email],
.kt-product #review_form textarea{
  width:100%; background:rgba(255,255,255,.10); border:1px solid var(--kt-line-2);
  color:#fff; border-radius:var(--kt-r-sm); padding:var(--kt-s2) var(--kt-s3); margin-bottom:var(--kt-s3);
}
.kt-product #review_form label{ display:block; margin-bottom:var(--kt-s1); color:var(--kt-muted); font-size:14px; }
.kt-product .star-rating, .kt-product .stars a{ color:var(--kt-gold); }

/* --- "Zobacz tez" — kafelki 1:1 jak na stronie glownej ------------------ */
.kt-more .elementor-heading-title{ font-size:36px; font-weight:600; margin:0; }
.kt-product ul.products{
  display:grid; grid-template-columns:repeat(4,1fr); gap:40px var(--kt-s5);
  padding:0; list-style:none;
}
/* karta = siatka dwoch wierszy: tresc (1fr) i przycisk (auto). Przyciski w rzedzie stoja
   na jednej wysokosci, a cena nigdy nie wchodzi pod przycisk (flex z margin-top:auto to robil).
   Widget Elementora zeruje padding kart i daje im display:block — stad !important */
.kt-product ul.products li.product{
  display:grid !important; grid-template-rows:1fr auto;
  background:var(--kt-card); border:2px solid #333; border-radius:var(--kt-r);
  padding:0 0 var(--kt-s4) !important; margin:0; text-align:center; width:auto !important;
  transition:border-color var(--kt-ease), transform var(--kt-ease);
}
.kt-product ul.products li.product:hover{ border-color:var(--kt-orange); transform:translateY(-4px); }
.kt-product ul.products li.product img{
  width:100%; aspect-ratio:1; object-fit:cover; background:#fff;
  border-radius:18px 18px 0 0; margin:0 0 var(--kt-s2);
}
/* widgety produktow Elementora wymuszaja kolor glowny kitu (zloty) - tytuly maja byc biale jak na stronie glownej */
.kt-product ul.products li.product .woocommerce-loop-product__title{
  color:#fff !important; font-size:20px; font-weight:600; padding:0 var(--kt-s3); margin:0 0 var(--kt-s1);
}
.kt-product ul.products li.product .price,
.kt-product ul.products li.product .price .amount,
.kt-product ul.products li.product .price bdi{
  color:var(--kt-orange) !important; font-size:20px !important; font-weight:600;
}
/* blok tylko na calej cenie — na pojedynczych kwotach zakres "18,00 zl – 45,00 zl" lamal sie na 3 linie */
.kt-product ul.products li.product .price{ display:block; margin:0 0 var(--kt-s3); }
.kt-product ul.products li.product .button{
  display:inline-block; min-height:0; flex:none; justify-self:center; margin-top:var(--kt-s2) !important;
  background:rgba(255,105,0,.78) !important; color:#fff !important;
  border-radius:var(--kt-r-sm); font-size:16px; font-weight:600; padding:var(--kt-s2) var(--kt-s5) !important;
  transition:background var(--kt-ease);
}
.kt-product ul.products li.product .button::after{ content:none !important; }
.kt-product ul.products li.product .button:hover{
  background:var(--kt-orange) !important; color:#fff !important; transform:none; box-shadow:none;
}
/* po dodaniu AJAX-em Woo dokleja pod przyciskiem link „Zobacz koszyk" — kafelek rósł i rząd się rozjeżdżał.
   Link wchodzi w miejsce przycisku: obrys biały → hover pomarańcz */
.kt-product ul.products li.product .button.added{ display:none !important; }
.kt-product ul.products li.product .added_to_cart{
  display:inline-block; justify-self:center; margin-top:var(--kt-s2);
  padding:calc(var(--kt-s2) - 2px) calc(var(--kt-s5) - 2px);
  border:2px solid #fff; border-radius:var(--kt-r-sm);
  color:#fff; font-size:16px; font-weight:600; line-height:1; /* 40px jak przycisk, który zastępuje */
  transition:background var(--kt-ease), border-color var(--kt-ease);
}
.kt-product ul.products li.product .added_to_cart:hover{ background:var(--kt-orange); border-color:var(--kt-orange); color:#fff; }

/* --- responsywnosc ----------------------------------------------------- */
@media(max-width:1024px){
  .kt-product .product_title{ font-size:34px; }
  .kt-product .price, .kt-product .price .amount, .kt-product .price bdi{ font-size:32px; }
  .kt-product ul.products{ grid-template-columns:repeat(2,1fr); }
  .kt-product .woocommerce-tabs .panel{ padding:var(--kt-s5) !important; }
}
@media(max-width:767px){
  .kt-buybox{ padding:var(--kt-s4); }
  .kt-product .product_title{ font-size:28px; }
  .kt-product .price, .kt-product .price .amount, .kt-product .price bdi{ font-size:28px; }
  .kt-gallery .flex-control-thumbs{ grid-template-columns:repeat(4,1fr); }
  .kt-product ul.products{ grid-template-columns:1fr; gap:var(--kt-s4); }
  /* min-width:0 i węższy padding: tekst z strzałką był szerszy niż karta na telefonie 320px.
     form.cart w selektorze: bez niego wygrywało .kt-product button.button.alt (flex 240px) z reguły bazowej */
  .kt-product form.cart .single_add_to_cart_button{
    flex:1 1 100%; min-width:0; padding-left:var(--kt-s3) !important; padding-right:var(--kt-s3) !important;
  }
  .kt-more .elementor-heading-title{ font-size:26px; }
}
@media(prefers-reduced-motion:reduce){
  .kt-product *{ transition:none !important; }
  .kt-product .single_add_to_cart_button:hover,
  .kt-product ul.products li.product:hover{ transform:none; }
}

/* === 3. KOSZYK, ZAMÓWIENIE, PODZIĘKOWANIE — widgety Elementora Pro ======== */

:is(body.woocommerce-cart, body.woocommerce-checkout){
  background:var(--kt-brown);
  color:#fff;
}

/* --- zmienne widgetów Elementora --------------------------------------- */
:is(body.woocommerce-cart, body.woocommerce-checkout)
:is(.elementor-widget-woocommerce-cart, .elementor-widget-woocommerce-checkout-page){
  /* sekcje (karty) */
  --sections-background-color:var(--kt-card);
  --sections-border-type:solid;
  --sections-border-color:var(--kt-line);
  --sections-border-radius:var(--kt-r);
  --sections-padding:var(--kt-s5);
  --sections-title-color:#fff;
  --sections-title-spacing:var(--kt-s4);
  --sections-secondary-title-color:#fff;
  --sections-descriptions-color:var(--kt-muted);
  --sections-messages-color:var(--kt-muted);
  --sections-radio-buttons-color:var(--kt-orange);
  --sections-checkboxes-color:var(--kt-orange);

  /* pola formularza */
  --forms-labels-color:var(--kt-muted);
  --forms-label-spacing:var(--kt-s1);
  --forms-fields-normal-color:#fff;
  --forms-fields-focus-color:#fff;
  --forms-fields-focus-border-color:var(--kt-gold);
  --forms-fields-border-radius:var(--kt-r-sm);
  --forms-fields-padding:var(--kt-s2) var(--kt-s3);
  --forms-fields-focus-transition-duration:250ms;

  /* przyciski drugorzędne (kupon, aktualizuj koszyk) — jak „Przeglądaj pojazdy" */
  --forms-buttons-normal-text-color:#fff;
  --forms-buttons-border-type:solid;
  --forms-buttons-border-color:#fff;
  --forms-buttons-border-radius:var(--kt-r-sm);
  --forms-buttons-hover-text-color:#fff;
  --forms-buttons-hover-background-color:var(--kt-orange);
  --forms-buttons-hover-border-color:var(--kt-orange);
  --forms-buttons-hover-transition-duration:250ms;

  /* CTA koszyka i zamówienia — jak „Nasze usługi" */
  --checkout-button-normal-text-color:#fff;
  --checkout-button-hover-text-color:var(--kt-dark);
  --checkout-button-hover-border-color:#fff;
  --checkout-button-border-radius:var(--kt-r-sm);
  --checkout-button-padding:var(--kt-s3) var(--kt-s4);
  --checkout-button-hover-transition-duration:250ms;
  --purchase-button-normal-text-color:#fff;
  --purchase-button-hover-text-color:var(--kt-dark);
  --purchase-button-hover-border-color:#fff;
  --purchase-button-border-radius:var(--kt-r-sm);
  --purchase-button-padding:var(--kt-s3) var(--kt-s4);
  --purchase-button-hover-transition-duration:250ms;

  /* linki, lista produktów, podsumowanie */
  --links-normal-color:var(--kt-gold);
  --links-hover-color:var(--kt-orange);
  --product-link-normal-color:#fff;
  --product-link-hover-color:var(--kt-orange);
  --order-summary-color:#fff;
  --order-summary-title-color:var(--kt-muted);
  --order-summary-items-divider-color:var(--kt-line);
  --order-summary-quantity-border-color:var(--kt-line-2);
  --order-summary-variations-color:var(--kt-muted);
  --order-summary-remove-icon-normal-color:var(--kt-muted);
  --order-summary-remove-icon-hover-color:var(--kt-orange);
  --totals-color:#fff;
  --totals-divider-color:var(--kt-line);

  padding:var(--kt-s6) 0 var(--kt-s7);
  color:#fff;
}

/* --- nagłówki sekcji --------------------------------------------------- */
/* widget koszyka ma własne 14px na nagłówku podsumowania, o wyższej specyficzności */
:is(body.woocommerce-cart, body.woocommerce-checkout) .elementor-widget-container :is(h2, h3){
  color:#fff !important; font-size:22px !important; font-weight:600; letter-spacing:-.01em;
}
/* tabela „Twoje zamówienie" nie czyta zmiennych --order-summary-* (to zmienne koszyka)
   i domyślnie ma czarny tekst — stąd !important na kolorze */
:is(body.woocommerce-cart, body.woocommerce-checkout) .shop_table :is(th, td){
  color:#fff !important; border-color:var(--kt-line) !important;
}
:is(body.woocommerce-cart, body.woocommerce-checkout) .shop_table thead th{
  color:var(--kt-muted) !important; font-size:13px; font-weight:600;
}

/* --- pola -------------------------------------------------------------- */
:is(body.woocommerce-cart, body.woocommerce-checkout) :is(input.input-text, textarea, select, input.qty){
  background:var(--kt-field) !important;
  border:1px solid var(--kt-line-2) !important;
  border-radius:var(--kt-r-sm) !important;
  color:#fff !important;
  transition:border-color var(--kt-ease), background var(--kt-ease);
}
:is(body.woocommerce-cart, body.woocommerce-checkout) :is(input.input-text, textarea, select, input.qty):hover{
  background:rgba(255,255,255,.16) !important;
}
:is(body.woocommerce-cart, body.woocommerce-checkout) :is(input.input-text, textarea, select, input.qty):focus{
  border-color:var(--kt-gold) !important; outline:none;
}
:is(body.woocommerce-cart, body.woocommerce-checkout) ::placeholder{ color:rgba(255,255,255,.45); }
/* gwiazdka pola wymaganego: domyślny ciemnoczerwony #A00 ginie na ciemnej karcie */
:is(body.woocommerce-cart, body.woocommerce-checkout) .required{ color:var(--kt-orange) !important; text-decoration:none; }
/* jeden kraj sprzedaży — Woo pokazuje go tekstem zamiast pola wyboru */
body.woocommerce-checkout :is(#billing_country_field, #shipping_country_field) strong{ color:#fff; }
:is(body.woocommerce-cart, body.woocommerce-checkout) input[type=checkbox],
:is(body.woocommerce-cart, body.woocommerce-checkout) input[type=radio]{ accent-color:var(--kt-orange); }

/* autouzupełnianie Chrome maluje pola na biało-żółto — na ciemnym formularzu wygląda jak błąd */
:is(body.woocommerce-cart, body.woocommerce-checkout) input:-webkit-autofill{
  -webkit-box-shadow:0 0 0 1000px #4A4A51 inset !important;
  -webkit-text-fill-color:#fff !important;
  caret-color:#fff;
}

/* ilość w koszyku */
/* widget koszyka blokuje pole na 28px przez min-height i max-height */
body.woocommerce-cart input.qty{
  width:72px !important; height:44px !important; min-height:44px !important; max-height:none !important;
  padding:0 var(--kt-s1) !important;
  text-align:center; font-weight:600;
}
/* miniatura w koszyku: widget Elementora wymusza 55px, a na telefonie WooCommerce
   chowa ja calkiem (woocommerce-smallscreen.css) — pokazujemy 80px obok nazwy */
body.woocommerce-cart table.cart td.product-thumbnail img{
  width:80px !important; height:80px !important; max-width:none !important; object-fit:contain;
  background:#fff; border-radius:var(--kt-r-sm); padding:4px;
}
@media (max-width:768px){
  body.woocommerce-cart table.cart tr.cart_item{
    position:relative; display:grid !important; grid-template-columns:80px 1fr;
    column-gap:var(--kt-s3); align-items:center;
  }
  body.woocommerce-cart table.cart tr.cart_item > td{ grid-column:1 / -1; }
  /* usun (x) w prawym gornym rogu zamiast pustego wiersza nad zdjeciem */
  body.woocommerce-cart table.cart tr.cart_item > td.product-remove{
    position:absolute; top:var(--kt-s2); right:var(--kt-s2); padding:0 !important; border:0 !important;
  }
  body.woocommerce-cart table.cart tr.cart_item > td.product-thumbnail{
    display:block !important; grid-column:1; grid-row:1; padding:0 !important; border:0 !important;
  }
  body.woocommerce-cart table.cart tr.cart_item > td.product-name{
    grid-column:2; grid-row:1; text-align:left !important; padding-right:var(--kt-s5) !important;
  }
  body.woocommerce-cart table.cart tr.cart_item > td:is(.product-remove, .product-thumbnail, .product-name)::before{
    content:none !important;
  }
  /* WooCommerce daje wierszowi 28px wcięcia z lewej, a komórkom po 20px góra/dół — dziury między Cena/Ilość/Kwota */
  body.woocommerce-cart table.cart tr.cart_item{ padding:var(--kt-s3) 0 !important; row-gap:var(--kt-s1); }
  body.woocommerce-cart table.cart tr.cart_item > td.product-name{ padding-top:0 !important; padding-bottom:0 !important; }
  /* etykieta i wartość w jednej linii, wyśrodkowane w pionie (etykieta pływała u góry obok pola ilości) */
  body.woocommerce-cart table.cart tr.cart_item > td:is(.product-price, .product-quantity, .product-subtotal){
    display:flex !important; align-items:center; justify-content:space-between; gap:var(--kt-s3);
    padding:var(--kt-s1) 0 !important;
  }
  body.woocommerce-cart table.cart tr.cart_item > td:is(.product-price, .product-quantity, .product-subtotal)::before{
    float:none !important; margin:0 !important;
  }
  /* „Przejdź do realizacji zamówienia →": strzałka spadała do osobnej linii — flex trzyma ją obok tekstu */
  body.woocommerce-cart .checkout-button{
    display:flex !important; align-items:center; justify-content:center; text-align:center;
    font-size:16px !important; padding-left:var(--kt-s2) !important; padding-right:var(--kt-s2) !important;
  }
}
body.woocommerce-cart .product-price,
body.woocommerce-cart .product-subtotal{ color:#fff; font-weight:600; }

/* --- CTA: pomarańcz → hover biały + ciemny tekst ----------------------- */
:is(body.woocommerce-cart, body.woocommerce-checkout) :is(.checkout-button, #place_order, .return-to-shop .button){
  background:var(--kt-orange) !important;
  color:#fff !important;
  border:0 !important;
  font-size:18px; font-weight:600; line-height:1.2;
  transition:background var(--kt-ease), color var(--kt-ease), transform var(--kt-ease), box-shadow var(--kt-ease);
}
:is(body.woocommerce-cart, body.woocommerce-checkout) :is(.checkout-button, #place_order, .return-to-shop .button):hover{
  background:#fff !important;
  color:var(--kt-dark) !important;
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(0,0,0,.35);
}
body.woocommerce-checkout #place_order::after,
body.woocommerce-cart .checkout-button::after{
  content:"\2192"; margin-left:var(--kt-s2); display:inline-block; transition:transform var(--kt-ease);
}
body.woocommerce-checkout #place_order:hover::after,
body.woocommerce-cart .checkout-button:hover::after{ transform:translateX(5px); }

/* kupon w zamówieniu: po kliknięciu „wpisz kod" widget powtarzał to samo zdanie nad polem — nagłówek wystarczy */
body.woocommerce-checkout .e-coupon-anchor-description{ display:none !important; }

/* przyciski drugorzędne — tło przezroczyste (zmiennej na tło widget nie ma) */
:is(body.woocommerce-cart, body.woocommerce-checkout) :is(.e-apply-coupon, button[name="update_cart"]){
  background:transparent !important;
  font-weight:600;
}
:is(body.woocommerce-cart, body.woocommerce-checkout) :is(.e-apply-coupon, button[name="update_cart"]):hover{
  background:var(--kt-orange) !important;
}

/* --- sumy -------------------------------------------------------------- */
:is(body.woocommerce-cart, body.woocommerce-checkout) .order-total :is(.amount, bdi){
  color:var(--kt-orange); font-size:26px; font-weight:700;
}
:is(body.woocommerce-cart, body.woocommerce-checkout) .order-total .includes_tax,
:is(body.woocommerce-cart, body.woocommerce-checkout) .order-total .includes_tax :is(.amount, bdi){
  color:var(--kt-muted); font-size:13px; font-weight:400;
}
:is(body.woocommerce-cart, body.woocommerce-checkout) .woocommerce-shipping-methods label,
:is(body.woocommerce-cart, body.woocommerce-checkout) .woocommerce-shipping-destination{ color:#fff; }

/* --- płatność: każda metoda jako pole wyboru jak kurierzy, opis metody w tej samej ramce --- */
body.woocommerce-checkout #payment{ background:transparent !important; border-radius:0; }
body.woocommerce-checkout #payment ul.payment_methods{
  display:grid; gap:var(--kt-s2); list-style:none;
  margin:0 0 var(--kt-s4) !important; padding:0 !important; border:0 !important;
}
/* clearfix Woo (::before/::after z display:table) na liście i na metodzie zajmował w siatce komórkę —
   etykieta lądowała w kolumnie przełącznika */
body.woocommerce-checkout #payment ul.payment_methods::before,
body.woocommerce-checkout #payment ul.payment_methods::after,
body.woocommerce-checkout #payment ul.payment_methods li::before,
body.woocommerce-checkout #payment ul.payment_methods li::after{ content:none !important; }
body.woocommerce-checkout #payment ul.payment_methods li{
  display:grid !important; grid-template-columns:var(--kt-s6) 1fr; align-items:center;
  margin:0 !important; padding:0 !important; line-height:1.35; text-align:left;
  border:1px solid var(--kt-line-2); border-radius:var(--kt-r-sm); background:var(--kt-field);
  transition:border-color var(--kt-ease), background var(--kt-ease);
}
body.woocommerce-checkout #payment ul.payment_methods li:hover{ background:rgba(255,255,255,.16); }
body.woocommerce-checkout #payment ul.payment_methods li:has(> input:checked){
  border-color:var(--kt-orange); background:rgba(255,105,0,.14);
}
body.woocommerce-checkout #payment ul.payment_methods li > input{ justify-self:center; margin:0 !important; }
body.woocommerce-checkout #payment ul.payment_methods li > label{
  display:block !important; margin:0 !important; padding:var(--kt-s2) var(--kt-s3) var(--kt-s2) 0 !important;
  color:#fff; font-weight:600; cursor:pointer;
}
/* jedna dostępna płatność (np. przy kurierze za pobraniem): Woo chowa przełącznik */
body.woocommerce-checkout #payment ul.payment_methods li:has(> input[style*="none"]){ grid-template-columns:var(--kt-s3) 1fr; }
body.woocommerce-checkout #payment div.payment_box{
  grid-column:2; margin:0 !important; padding:0 var(--kt-s3) var(--kt-s2) 0 !important;
  background:transparent !important; color:rgba(255,255,255,.75) !important; font-size:14px; border-radius:0;
}
body.woocommerce-checkout #payment div.payment_box p{ margin:0; }
body.woocommerce-checkout #payment div.payment_box::before{ display:none !important; }
body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{ color:var(--kt-muted); font-size:13px; }

/* --- komunikaty Woo — na każdej stronie sklepu ------------------------ */
/* „Dodano do koszyka", „Koszyk zaktualizowany", „Usunięto… Cofnij?", pusty koszyk, błędy.
   Ikona z fontu Woo po lewej, tekst za nią, przycisk po prawej */
/* karta produktu: Woo wypisuje komunikat poza szablonem, na całą szerokość okna —
   wokół niego widać tło body, a to na karcie produktu było białe */
body.single-product{ background:var(--kt-brown); }
body > .woocommerce-notices-wrapper:not(:empty){
  width:min(1140px, 100% - 2 * var(--kt-s3)); margin:var(--kt-s4) auto 0;
}
:is(body.woocommerce, body.woocommerce-page) :is(.woocommerce-message, .woocommerce-info, .woocommerce-error){
  /* row: komunikat nad kartą produktu dostawał odwrócony kierunek — przycisk stał przed tekstem */
  display:flex !important; flex-direction:row !important; flex-wrap:wrap; align-items:center; gap:var(--kt-s2) var(--kt-s3);
  position:relative; list-style:none; text-align:left;
  background:var(--kt-card) !important; color:#fff !important;
  border:0 !important; border-left:4px solid var(--kt-gold) !important; border-radius:var(--kt-r-sm);
  padding:var(--kt-s3) var(--kt-s4) var(--kt-s3) var(--kt-s6) !important; margin:0 0 var(--kt-s4) !important;
  font-size:15px; line-height:1.5;
}
/* Woo daje komunikatowi fokus (dla czytników ekranu) — złota obwódka wyglądała jak druga ramka */
:is(body.woocommerce, body.woocommerce-page) :is(.woocommerce-message, .woocommerce-info, .woocommerce-error):focus,
:is(body.woocommerce, body.woocommerce-page) :is(.woocommerce-message, .woocommerce-info, .woocommerce-error):focus-visible{ outline:none !important; }
:is(body.woocommerce, body.woocommerce-page) :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before{
  position:absolute !important; left:var(--kt-s3) !important; top:50% !important; transform:translateY(-50%);
  font-size:18px; line-height:1; color:var(--kt-gold) !important;
}
:is(body.woocommerce, body.woocommerce-page) :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::after{ display:none !important; }
/* ikona info z Woo (e028) wygląda jak okienko — ta sama co przy błędzie, w złocie */
:is(body.woocommerce, body.woocommerce-page) .woocommerce-info::before{ content:"\e016" !important; }
/* lista błędów: każdy w osobnej linii */
:is(body.woocommerce, body.woocommerce-page) .woocommerce-error{ display:block !important; border-left-color:var(--kt-red) !important; }
:is(body.woocommerce, body.woocommerce-page) .woocommerce-error::before{ color:var(--kt-red) !important; }
:is(body.woocommerce, body.woocommerce-page) .woocommerce-error li{ margin:0; padding:0; }
:is(body.woocommerce, body.woocommerce-page) .woocommerce-error li + li{ margin-top:var(--kt-s1); }
:is(body.woocommerce, body.woocommerce-page) :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a:not(.button, .restore-item){
  color:var(--kt-gold) !important; font-weight:600; text-decoration:none;
}
:is(body.woocommerce, body.woocommerce-page) :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a:not(.button, .restore-item):hover{
  color:var(--kt-orange) !important;
}
/* „Zobacz koszyk", „Cofnij?" — przycisk drugorzędny: obrys biały → hover pomarańcz */
:is(body.woocommerce, body.woocommerce-page) :is(.woocommerce-message, .woocommerce-info) :is(.button, .restore-item){
  order:2; float:none !important; margin:0 0 0 auto !important;
  background:transparent !important; color:#fff !important;
  border:2px solid #fff !important; border-radius:var(--kt-r-sm);
  padding:var(--kt-s1) var(--kt-s3) !important; font-size:15px; font-weight:600; line-height:1.4; text-decoration:none;
  transition:background var(--kt-ease), border-color var(--kt-ease);
}
:is(body.woocommerce, body.woocommerce-page) :is(.woocommerce-message, .woocommerce-info) :is(.button, .restore-item):hover{
  background:var(--kt-orange) !important; border-color:var(--kt-orange) !important;
}

/* --- zaznaczenia w zamówieniu (inny adres dostawy, regulamin) — jak metody płatności --- */
body.woocommerce-checkout #ship-to-different-address{ margin:0 0 var(--kt-s3) !important; }
body.woocommerce-checkout :is(#ship-to-different-address, .woocommerce-terms-and-conditions-wrapper, .kt-invoice-toggle) label.checkbox{
  display:flex !important; align-items:center; gap:var(--kt-s2); width:100%; margin:0 !important;
  padding:var(--kt-s2) var(--kt-s3) !important;
  border:1px solid var(--kt-line-2); border-radius:var(--kt-r-sm); background:var(--kt-field);
  color:#fff !important; font-size:16px; font-weight:600; line-height:1.35; cursor:pointer;
  transition:border-color var(--kt-ease), background var(--kt-ease);
}
body.woocommerce-checkout :is(#ship-to-different-address, .woocommerce-terms-and-conditions-wrapper, .kt-invoice-toggle) label.checkbox:hover{
  background:rgba(255,255,255,.16);
}
body.woocommerce-checkout :is(#ship-to-different-address, .woocommerce-terms-and-conditions-wrapper, .kt-invoice-toggle) label.checkbox:has(input:checked){
  border-color:var(--kt-orange); background:rgba(255,105,0,.14);
}
body.woocommerce-checkout :is(#ship-to-different-address, .woocommerce-terms-and-conditions-wrapper, .kt-invoice-toggle) label.checkbox input{
  flex:none; margin:0 !important;
}
/* widget zamówienia maluje tekst obok zaznaczenia kolorem akcentu */
body.woocommerce-checkout :is(#ship-to-different-address, .woocommerce-terms-and-conditions-wrapper, .kt-invoice-toggle) label.checkbox span{
  color:inherit !important;
}

/* --- faktura na firmę (snippet sklepu, sekcja 12): nazwa firmy i NIP widoczne tylko po zaznaczeniu --- */
body.woocommerce-checkout form.checkout:not(:has(#billing_invoice:checked)) .kt-invoice-field{ display:none !important; }
/* pola są wymagane przy fakturze (gwiazdka w etykiecie) — dopisek „(opcjonalne)" by temu przeczył */
body.woocommerce-checkout :is(.kt-invoice-toggle, .kt-invoice-field) .optional{ display:none; }

/* --- błędne pole: nasza ramka (z !important) przykrywała czerwień Woo, a jej #A00 i tak ginie na ciemnym --- */
body.woocommerce-checkout .woocommerce-invalid :is(input.input-text, select, textarea, label.checkbox){
  border-color:var(--kt-red) !important;
}
body.woocommerce-checkout .checkout-inline-error-message{ margin:var(--kt-s1) 0 0; color:var(--kt-red); font-size:13px; }

/* --- przeładowanie koszyka i zamówienia: Woo przykrywa sekcję białą mgłą (styl w atrybucie — stąd !important) --- */
.blockUI.blockOverlay{ background:var(--kt-brown) !important; }

/* --- strona podziękowania (to też body.woocommerce-checkout) ------------ */
body.woocommerce-order-received .woocommerce-order{ color:#fff; }
body.woocommerce-order-received .woocommerce-thankyou-order-received{
  font-size:22px; font-weight:600; color:#fff; margin:0 0 var(--kt-s4);
}
body.woocommerce-order-received ul.order_details{
  display:flex; flex-wrap:wrap; gap:var(--kt-s2); padding:0; margin:0 0 var(--kt-s5); list-style:none;
}
body.woocommerce-order-received ul.order_details li{
  background:var(--kt-card); border:0 !important; border-radius:var(--kt-r-sm);
  padding:var(--kt-s2) var(--kt-s3) !important; margin:0 !important;
  color:var(--kt-muted); font-size:12px; text-transform:uppercase; letter-spacing:.04em;
}
body.woocommerce-order-received ul.order_details li strong{
  display:block; color:#fff; font-size:16px; text-transform:none; letter-spacing:0; margin-top:4px;
}
body.woocommerce-order-received :is(.woocommerce-order-details, .woocommerce-customer-details, .woocommerce-bacs-bank-details){
  background:var(--kt-card); border:2px solid var(--kt-line); border-radius:var(--kt-r);
  padding:var(--kt-s5); margin:0 0 var(--kt-s4);
}
body.woocommerce-order-received address{
  border:0 !important; padding:0 !important; color:rgba(255,255,255,.85); font-style:normal;
}

/* --- dostępność i responsywność ---------------------------------------- */
:is(body.woocommerce-cart, body.woocommerce-checkout) :focus-visible{
  outline:2px solid var(--kt-gold); outline-offset:3px;
}
@media(max-width:767px){
  :is(body.woocommerce-cart, body.woocommerce-checkout)
  :is(.elementor-widget-woocommerce-cart, .elementor-widget-woocommerce-checkout-page){
    --sections-padding:var(--kt-s4);
    padding:var(--kt-s5) 0 var(--kt-s6);
  }
}
@media(prefers-reduced-motion:reduce){
  :is(body.woocommerce-cart, body.woocommerce-checkout) *{ transition:none !important; }
  :is(body.woocommerce-cart, body.woocommerce-checkout) :is(.checkout-button, #place_order):hover{ transform:none; }
}


/* === 4. ARCHIWUM — sklep i kategorie (szablon Theme Builder, klasy kt-*) === */

/* body.woocommerce.archive lapie tez archiwa atrybutow (/pasuje-do/romet-komar/) */
:is(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag, body.woocommerce.archive){
  background:var(--kt-brown);
}

/* Woo dokleja do listy produktow puste ::before i ::after (clearfix pod floaty) —
   w siatce CSS zajmuja komorki jak niewidzialne produkty */
.kt-product ul.products::before,
.kt-product ul.products::after{ content:none !important; display:none !important; }

.kt-archive .kt-archive-title{
  margin:0; color:#fff; font-size:44px; line-height:1.15; font-weight:600; letter-spacing:-.01em;
}

/* --- wyszukiwarka [kt_search] --- */
.kt-archive .kt-search{ position:relative; margin:0; }
.kt-archive .kt-search__input{
  width:100%; height:52px; padding:0 var(--kt-s6) 0 var(--kt-s3) !important;
  background:var(--kt-field) !important; border:1px solid var(--kt-line-2) !important;
  border-radius:var(--kt-r-sm) !important; color:#fff !important; font-size:15px;
  transition:border-color var(--kt-ease), background var(--kt-ease);
}
.kt-archive .kt-search__input::placeholder{ color:rgba(255,255,255,.45); }
.kt-archive .kt-search__input:hover{ background:rgba(255,255,255,.16) !important; }
.kt-archive .kt-search__input:focus{ border-color:var(--kt-gold) !important; outline:none; }
/* WebKit dokleja wlasny krzyzyk do pola typu search */
.kt-archive .kt-search__input::-webkit-search-cancel-button{ -webkit-appearance:none; }
.kt-archive .kt-search__btn{
  position:absolute; top:6px; right:6px; width:40px; height:40px;
  display:flex; align-items:center; justify-content:center;
  background:var(--kt-orange) !important; color:#fff !important; border:0 !important;
  border-radius:8px; padding:0 !important; cursor:pointer;
  transition:background var(--kt-ease), color var(--kt-ease);
}
.kt-archive .kt-search__btn:hover{ background:#fff !important; color:var(--kt-dark) !important; }
.kt-archive .kt-search__btn svg{ width:18px; height:18px; }

/* --- naglowek archiwum: tytul po lewej, wyszukiwarka po prawej; na telefonie pod tytulem ---
   Kontener Elementora sam ustawia kierunek i szerokosci widgetow — stad !important */
.kt-archive .kt-head-row{
  display:flex !important; flex-direction:row !important; flex-wrap:wrap !important;
  align-items:center; justify-content:space-between; gap:var(--kt-s3) var(--kt-s5);
}
.kt-archive .kt-head-row > .elementor-widget:not(:has(.kt-search)){ flex:1 1 auto !important; width:auto !important; min-width:0; }
.kt-archive .kt-head-row > .elementor-widget:has(.kt-search){ flex:0 1 420px !important; width:auto !important; margin:0; }
@media(max-width:767px){
  .kt-archive .kt-head-row > .elementor-widget:has(.kt-search){ flex:1 1 100% !important; }
}

/* --- panel kategorii [kt_categories] --- */
.kt-archive .kt-side{
  align-self:flex-start;
  background:var(--kt-card); border:2px solid var(--kt-line);
  border-radius:var(--kt-r); padding:var(--kt-s4);
}
/* shortcode nic nie zwrocil (brak kategorii) — bez pustej karty */
.kt-archive .kt-side:not(:has(.kt-cats, .kt-search)){ display:none; }
.kt-archive .kt-cats__title{ margin:0; color:#fff; font-size:20px; font-weight:600; }

/* --- przełącznik kategorii: na telefonie lista chowa się pod przyciskiem (bez JS) --- */
/* pole wyboru zostaje w układzie (a nie display:none), żeby dało się je złapać klawiaturą */
.kt-archive .kt-cats__switch{ position:absolute; width:1px; height:1px; opacity:0; }
.kt-archive .kt-cats__btn{
  display:flex; align-items:center; justify-content:space-between; gap:var(--kt-s2);
  margin:0 0 var(--kt-s2);
}
.kt-archive .kt-cats__btn::after{ content:none; }   /* strzałka tylko na telefonie */
.kt-archive .kt-cats__now{ display:none; }          /* bieżąca kategoria widoczna tylko na zwiniętym przycisku */
.kt-archive .kt-cats__back{
  display:inline-flex; align-items:center; gap:var(--kt-s1);
  margin:0 0 var(--kt-s3); font-size:14px; color:var(--kt-muted); transition:color var(--kt-ease);
}
.kt-archive .kt-cats__back::before{
  content:""; width:7px; height:7px;
  border-left:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg);
}
.kt-archive .kt-cats__back span{ color:var(--kt-gold); transition:color var(--kt-ease); }
.kt-archive .kt-cats__back:hover,
.kt-archive .kt-cats__back:hover span{ color:var(--kt-orange); }
.kt-archive .kt-cats__list{ list-style:none; margin:0; padding:0; }
.kt-archive .kt-cats__list li{ margin:0; padding:0; }
.kt-archive .kt-cats__link{
  display:flex; align-items:center; justify-content:space-between; gap:var(--kt-s2);
  padding:var(--kt-s1) var(--kt-s2); border-radius:var(--kt-r-sm);
  color:#fff; font-size:15px; line-height:1.4;
  transition:background var(--kt-ease), color var(--kt-ease);
}
.kt-archive .kt-cats__link:hover{ background:rgba(255,255,255,.08); color:var(--kt-orange); }
.kt-archive .kt-cats__count{
  flex:none; min-width:28px; padding:0 var(--kt-s1); line-height:22px; border-radius:999px;
  background:rgba(255,255,255,.10); color:var(--kt-muted);
  font-size:12px; font-weight:600; text-align:center;
  transition:background var(--kt-ease), color var(--kt-ease);
}
.kt-archive .kt-cats__link.is-current{ background:rgba(255,105,0,.16); color:var(--kt-orange); font-weight:600; }
.kt-archive .kt-cats__link.is-current .kt-cats__count{ background:var(--kt-orange); color:#fff; }

/* --- pasek nad lista: liczba wynikow + sortowanie --- */
.kt-archive .woocommerce-result-count{
  margin:0 0 var(--kt-s4) !important; color:var(--kt-muted); font-size:14px; line-height:44px;
}
.kt-archive .woocommerce-ordering{ margin:0 0 var(--kt-s4) !important; }
.kt-archive .woocommerce-ordering select{
  height:44px; min-width:240px; padding:0 var(--kt-s6) 0 var(--kt-s3) !important;
  background:var(--kt-field) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DFBA5E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right var(--kt-s3) center / 16px 16px !important;
  border:1px solid var(--kt-line-2) !important; border-radius:var(--kt-r-sm) !important;
  color:#fff !important; font-size:14px; appearance:none; cursor:pointer;
  transition:border-color var(--kt-ease), background-color var(--kt-ease);
}
.kt-archive .woocommerce-ordering select:hover{ background-color:rgba(255,255,255,.16) !important; }
.kt-archive .woocommerce-ordering select:focus{ border-color:var(--kt-gold) !important; outline:none; }
.kt-archive .woocommerce-ordering select option{ background:var(--kt-card); color:#fff; }

.kt-archive ul.products{ grid-template-columns:repeat(3,1fr); clear:both; }

/* --- paginacja --- */
.kt-archive .woocommerce-pagination{ margin:var(--kt-s6) 0 0; text-align:center; }
.kt-archive .woocommerce-pagination ul.page-numbers{
  display:inline-flex !important; flex-wrap:wrap; justify-content:center; gap:var(--kt-s1);
  margin:0; padding:0; border:0 !important;
}
.kt-archive .woocommerce-pagination ul.page-numbers li{ float:none; margin:0; border:0 !important; overflow:visible; }
.kt-archive .woocommerce-pagination ul.page-numbers li > :is(a, span){
  display:flex !important; align-items:center; justify-content:center;
  min-width:44px !important; height:44px; padding:0 var(--kt-s2) !important;
  border:1px solid var(--kt-line-2) !important; border-radius:var(--kt-r-sm);
  background:transparent !important; color:#fff !important;
  font-weight:600; line-height:1; transition:background var(--kt-ease), border-color var(--kt-ease);
}
.kt-archive .woocommerce-pagination ul.page-numbers li > a:hover,
.kt-archive .woocommerce-pagination ul.page-numbers li > span.current{
  background:var(--kt-orange) !important; border-color:var(--kt-orange) !important; color:#fff !important;
}

/* --- brak wynikow (tekst ustawiony w widgecie Archive Products) --- */
.kt-archive .elementor-products-nothing-found{
  background:var(--kt-card); border-left:4px solid var(--kt-gold); border-radius:var(--kt-r-sm);
  padding:var(--kt-s4); color:#fff; font-size:16px; line-height:1.6;
}

@media(max-width:1024px){
  .kt-archive ul.products{ grid-template-columns:repeat(2,1fr); }
  .kt-archive .kt-archive-title{ font-size:34px; }
  .kt-archive .kt-side{ align-self:stretch; padding:var(--kt-s3); }

  /* przycisk „Kategorie" z nazwą bieżącej kategorii i strzałką */
  .kt-archive .kt-cats__btn{
    margin:0; padding:var(--kt-s2) var(--kt-s3);
    border:1px solid var(--kt-line-2); border-radius:var(--kt-r-sm); background:var(--kt-field);
    cursor:pointer; transition:background var(--kt-ease), border-color var(--kt-ease);
  }
  .kt-archive .kt-cats__btn:hover{ background:rgba(255,255,255,.16); }
  .kt-archive .kt-cats__title{ font-size:17px; }
  .kt-archive .kt-cats__now{
    display:block; margin-left:auto; color:var(--kt-gold); font-size:14px; font-weight:600;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:55%;
  }
  .kt-archive .kt-cats__btn::after{
    content:""; flex:none; width:9px; height:9px; margin-left:var(--kt-s1);
    border-right:2px solid var(--kt-gold); border-bottom:2px solid var(--kt-gold);
    transform:translateY(-3px) rotate(45deg); transition:transform var(--kt-ease);
  }
  .kt-archive .kt-cats__switch:checked + .kt-cats__btn{ border-color:var(--kt-orange); background:rgba(255,105,0,.14); }
  .kt-archive .kt-cats__switch:checked + .kt-cats__btn::after{ transform:translateY(2px) rotate(-135deg); }
  .kt-archive .kt-cats__switch:focus-visible + .kt-cats__btn{ outline:2px solid var(--kt-gold); outline-offset:2px; }
  .kt-archive .kt-cats__panel{ display:none; margin-top:var(--kt-s3); }
  .kt-archive .kt-cats__switch:checked ~ .kt-cats__panel{ display:block; }
  /* w rozwiniętej liście wygodniejsze cele dotykowe */
  .kt-archive .kt-cats__link{ padding:var(--kt-s2); }
}
@media(max-width:767px){
  .kt-archive ul.products{ grid-template-columns:1fr; }
  .kt-archive .kt-archive-title{ font-size:28px; }
  .kt-archive :is(.woocommerce-result-count, .woocommerce-ordering){ float:none !important; }
  .kt-archive .woocommerce-ordering select{ width:100%; min-width:0; }
}

/* === 5. WYBÓR KURIERA I PODSUMOWANIE — koszyk i zamówienie ================ */

/* podsumowanie jako lista: WooCommerce trzyma wysyłkę w wąskiej komórce tabeli obok "Paczka 1",
   a widget zamówienia Elementora dodatkowo ogranicza ją do 70px (.woocommerce-shipping-totals td{max-width:70px}) */
:is(body.woocommerce-cart .cart_totals table.shop_table, body.woocommerce-checkout table.woocommerce-checkout-review-order-table),
:is(body.woocommerce-cart .cart_totals table.shop_table, body.woocommerce-checkout table.woocommerce-checkout-review-order-table) :is(thead, tbody, tfoot){ display:block !important; width:100% !important; }
:is(body.woocommerce-cart .cart_totals table.shop_table, body.woocommerce-checkout table.woocommerce-checkout-review-order-table) tr{
  display:flex !important; flex-wrap:wrap; justify-content:space-between; align-items:baseline;
  gap:var(--kt-s1) var(--kt-s3); padding:var(--kt-s2) 0; border-top:1px solid var(--kt-line);
}
:is(body.woocommerce-cart .cart_totals table.shop_table, body.woocommerce-checkout table.woocommerce-checkout-review-order-table) tr > :is(th, td){
  display:block !important; padding:0 !important; border:0 !important;
  background:transparent !important; width:auto !important;
}
:is(body.woocommerce-cart .cart_totals table.shop_table, body.woocommerce-checkout table.woocommerce-checkout-review-order-table) tr > :first-child{ flex:1 1 auto; text-align:left !important; }
:is(body.woocommerce-cart .cart_totals table.shop_table, body.woocommerce-checkout table.woocommerce-checkout-review-order-table) tr > :last-child{ text-align:right !important; }
:is(body.woocommerce-cart .cart_totals table.shop_table, body.woocommerce-checkout table.woocommerce-checkout-review-order-table) tr > td::before{ content:none !important; }
:is(body.woocommerce-cart .cart_totals table.shop_table, body.woocommerce-checkout table.woocommerce-checkout-review-order-table) tr.woocommerce-shipping-totals{ flex-direction:column; align-items:stretch; }
:is(body.woocommerce-cart .cart_totals table.shop_table, body.woocommerce-checkout table.woocommerce-checkout-review-order-table) tr.woocommerce-shipping-totals > td{ text-align:left !important; width:100% !important; max-width:none !important; }

/* kurierzy jako pola wyboru: nazwa po lewej, cena po prawej, wybrany w pomarańczowej ramce
   (nazwę i cenę rozdziela snippet sklepu, sekcja 10) */
:is(body.woocommerce-cart, body.woocommerce-checkout) ul#shipping_method{
  list-style:none !important; margin:0 !important; padding:0 !important;
  display:grid; gap:var(--kt-s2); text-align:left;
}
:is(body.woocommerce-cart, body.woocommerce-checkout) ul#shipping_method li{ position:relative; margin:0 !important; padding:0 !important; text-indent:0 !important; }
:is(body.woocommerce-cart, body.woocommerce-checkout) ul#shipping_method li input.shipping_method{
  position:absolute; left:var(--kt-s3); top:50%; transform:translateY(-50%);
  margin:0 !important; accent-color:var(--kt-orange);
}
:is(body.woocommerce-cart, body.woocommerce-checkout) ul#shipping_method li label{
  display:flex !important; align-items:center; justify-content:space-between; gap:var(--kt-s3);
  margin:0 !important; padding:var(--kt-s2) var(--kt-s3) var(--kt-s2) var(--kt-s6) !important;
  border:1px solid var(--kt-line-2); border-radius:var(--kt-r-sm); background:var(--kt-field);
  color:#fff !important; font-weight:400; line-height:1.35; cursor:pointer;
  transition:border-color var(--kt-ease), background var(--kt-ease);
}
/* jedna dostępna metoda: WooCommerce nie pokazuje wtedy przełącznika */
:is(body.woocommerce-cart, body.woocommerce-checkout) ul#shipping_method li input[type=hidden] + label{ padding-left:var(--kt-s3) !important; cursor:default; }
:is(body.woocommerce-cart, body.woocommerce-checkout) ul#shipping_method li label:hover{ background:rgba(255,255,255,.16); }
:is(body.woocommerce-cart, body.woocommerce-checkout) ul#shipping_method li input:checked + label{ border-color:var(--kt-orange); background:rgba(255,105,0,.14); }
:is(body.woocommerce-cart, body.woocommerce-checkout) ul#shipping_method li input:focus-visible + label{ outline:2px solid var(--kt-gold); outline-offset:2px; }
:is(body.woocommerce-cart, body.woocommerce-checkout) ul#shipping_method :is(.kt-ship__price, .kt-ship__price .amount, .kt-ship__price bdi){
  color:#fff !important; font-weight:700; white-space:nowrap;
}
:is(body.woocommerce-cart, body.woocommerce-checkout) ul#shipping_method li input:checked + label :is(.kt-ship__price, .kt-ship__price .amount, .kt-ship__price bdi){
  color:var(--kt-orange) !important;
}
:is(body.woocommerce-cart, body.woocommerce-checkout) .woocommerce-shipping-destination{ font-size:13px; color:var(--kt-muted) !important; margin:var(--kt-s2) 0 0; }

/* === 6. STRONA 404 — motyw Hello: białe tło i ciemny tekst ================ */
body.error404{ background:var(--kt-brown); }
body.error404 :is(.page-header .entry-title, .page-content, .page-content p){ color:#fff; }/* End custom CSS */