

/* ---------- 1. typografia i naglowki sklepu ---------- */
.woocommerce h1,.woocommerce h2,.woocommerce h3,
.woocommerce-page h1,.woocommerce-page h2,.woocommerce-page h3{color:var(--t1)}
.woocommerce .woocommerce-breadcrumb{
  margin:0 0 24px;font-size:13px;color:var(--t3);
}
.woocommerce .woocommerce-breadcrumb a{color:var(--t3)}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--cyan)}
.woocommerce-result-count{color:var(--t3);font-size:14px}
.woocommerce .woocommerce-Price-amount{color:inherit}

/* ---------- 2. formularze: pola, selecty, checkboxy ----------
   WooCommerce 10 maluje pola wlasnymi zmiennymi i selektorem
   ".woocommerce form .form-row .input-text", ktory jest mocniejszy od
   naszego. Zamiast licytowac sie na wage, podmieniamy zrodlo kolorow. */
:root{
  --wc-form-color-background:#0f0f0f;
  --wc-form-color-text:#ffffff;
  --wc-form-color-border:rgba(255,255,255,.10);
  --wc-form-color-placeholder:#8f949c;
  --wc-form-border-color:rgba(255,255,255,.10);
}
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea{
  background-color:#0f0f0f;
  border:1px solid var(--line);
  border-radius:6px;
  color:var(--t1);
}
.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus{border-color:var(--cyan)}


.woocommerce input[type=text],
.woocommerce input[type=email],
.woocommerce input[type=tel],
.woocommerce input[type=password],
.woocommerce input[type=number],
.woocommerce input[type=search],
.woocommerce textarea,
.woocommerce select,
.woocommerce-page input[type=text],
.woocommerce-page input[type=email],
.woocommerce-page input[type=tel],
.woocommerce-page input[type=password],
.woocommerce-page input[type=number],
.woocommerce-page textarea,
.woocommerce-page select,
.select2-container .select2-selection--single,
input.input-text,textarea.input-text{
  width:100%;
  padding:13px 15px;
  background:#0f0f0f;
  border:1px solid var(--line);
  border-radius:6px;
  color:var(--t1);
  font-family:inherit;
  font-size:15px;
  line-height:1.4;
  transition:border-color .2s var(--ease);
}
.woocommerce select,.woocommerce-page select,
.woocommerce-ordering select{
  -webkit-appearance:none;appearance:none;
  padding-right:40px;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2300ddff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat:no-repeat;
  background-position:right 12px center;
  background-size:16px;
  cursor:pointer;
}
.woocommerce input:focus,.woocommerce textarea:focus,.woocommerce select:focus,
.woocommerce-page input:focus,.woocommerce-page textarea:focus,.woocommerce-page select:focus,
input.input-text:focus,textarea.input-text:focus{
  border-color:var(--cyan);outline:none;
}
.woocommerce input::placeholder,.woocommerce textarea::placeholder,
input.input-text::placeholder{color:var(--t3)}
.woocommerce form .form-row label,
.woocommerce-page form .form-row label,
.woocommerce-form-row label{
  display:block;margin-bottom:7px;
  font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--t2);
}
.woocommerce form .form-row{margin-bottom:18px;padding:0}
.required{color:var(--amber);border:0}
.woocommerce-form__label-for-checkbox{
  display:flex;align-items:flex-start;gap:10px;
  text-transform:none;letter-spacing:0;font-weight:400;font-size:14px;color:var(--t3);
}
.woocommerce-form__input-checkbox{
  flex:0 0 auto;width:17px;height:17px;margin-top:2px;accent-color:var(--cyan);
}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--t1);line-height:1.4}
.select2-dropdown{background:#0f0f0f;border-color:var(--line);color:var(--t2)}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--cyan);color:#04141a}

/* ---------- 3. przyciski ---------- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce-page a.button,.woocommerce-page button.button,.woocommerce-page input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 26px;
  background:transparent;
  border:1px solid var(--line);
  border-radius:6px;
  color:var(--t2);
  font-family:inherit;
  font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  line-height:1.2;
  cursor:pointer;
  transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce-page a.button:hover,.woocommerce-page button.button:hover,.woocommerce-page input.button:hover{
  background:var(--cyan);border-color:var(--cyan);color:#04141a;
}
/* akcje glowne: do koszyka, przejdz do platnosci, kup i zaplac */
.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce input.button.alt,
.woocommerce .checkout-button,.woocommerce #place_order,
.woocommerce button.single_add_to_cart_button{
  background:var(--cyan);border-color:var(--cyan);color:#04141a;
}
.woocommerce button.button.alt:hover,.woocommerce a.button.alt:hover,
.woocommerce .checkout-button:hover,.woocommerce #place_order:hover,
.woocommerce button.single_add_to_cart_button:hover{
  background:#5ae9ff;border-color:#5ae9ff;color:#04141a;
}
.woocommerce button.button:disabled,.woocommerce button.button.disabled{
  opacity:.45;cursor:not-allowed;
}
.woocommerce .quantity input.qty{
  width:70px;text-align:center;padding:13px 6px;
}

/* ---------- 4. komunikaty ---------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error,
.woocommerce-notice,.wc-block-components-notice-banner{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  margin:0 0 24px;padding:15px 20px;
  background:#0d0d0d;
  border:1px solid var(--line-soft);
  border-left:4px solid var(--cyan);
  border-radius:6px;
  color:var(--t2);
  font-size:14px;
  list-style:none;
}
.woocommerce-error{border-left-color:var(--red)}
.woocommerce-info{border-left-color:var(--amber)}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none}
.woocommerce-message .button,.woocommerce-info .button{margin-left:auto}

/* ---------- 5. koszyk ---------- */
.woocommerce table.shop_table{
  width:100%;
  margin:0 0 28px;
  border:1px solid var(--line-soft);
  border-radius:10px;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  background:#0d0d0d;
}
.woocommerce table.shop_table th{
  padding:16px 18px;
  background:#111;
  border-bottom:1px solid var(--line-soft);
  color:var(--t2);
  font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  text-align:left;
}
.woocommerce table.shop_table td{
  padding:16px 18px;
  border-top:1px solid var(--line-soft);
  color:var(--t2);
  vertical-align:middle;
}
.woocommerce table.shop_table tr:first-child td{border-top:0}
.woocommerce table.shop_table img{width:64px;height:auto;border-radius:6px;border:1px solid var(--line-soft)}
.woocommerce table.cart td.product-name a{color:var(--t1);font-weight:600}
.woocommerce table.cart td.product-name a:hover{color:var(--cyan)}
.woocommerce table.cart td.product-price,
.woocommerce table.cart td.product-subtotal{color:var(--amber);font-weight:700;white-space:nowrap}
.woocommerce a.remove{
  display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;border-radius:50%;
  background:rgba(255,77,94,.12);color:var(--red) !important;
  font-size:16px;line-height:1;text-decoration:none;
}
.woocommerce a.remove:hover{background:var(--red);color:#fff !important}
.woocommerce .cart .coupon{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.woocommerce .cart .coupon label{display:none}
.woocommerce .cart .coupon input#coupon_code{width:auto;min-width:190px}
.woocommerce .actions{padding:16px 18px !important;background:#0b0b0b}
.cart-collaterals,.cart_totals{margin-top:8px}
.cart_totals h2,.woocommerce-checkout-review-order h3{
  font-size:14px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:#fff;margin:0 0 14px;
}
.woocommerce .cart_totals table.shop_table td,
.woocommerce .cart_totals table.shop_table th{border-top:1px solid var(--line-soft)}
.woocommerce .cart_totals .order-total td,
.woocommerce .cart_totals .order-total th{
  font-size:16px;color:#fff;
}
.woocommerce .cart_totals .order-total td .amount{color:var(--amber);font-weight:800}
.woocommerce ul#shipping_method{list-style:none;margin:0;padding:0}
.woocommerce ul#shipping_method li{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.woocommerce ul#shipping_method input[type=radio]{width:auto;accent-color:var(--cyan)}
.woocommerce .wc-proceed-to-checkout{padding:0}
.woocommerce .wc-proceed-to-checkout a.checkout-button{width:100%;padding:16px 24px;font-size:13px}

/* ---------- 6. zamowienie (checkout) ---------- */
.woocommerce-checkout h3{
  font-size:15px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:#fff;margin:0 0 18px;padding-bottom:10px;
  border-bottom:1px solid var(--line-soft);
}
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr;gap:0}
#customer_details{margin-bottom:34px}
#order_review_heading{margin-top:8px}
.woocommerce-checkout-review-order{
  padding:22px;
  background:#0d0d0d;
  border:1px solid var(--line-soft);
  border-radius:10px;
}
.woocommerce-checkout-review-order table.shop_table{border:0;background:transparent;margin-bottom:18px}
.woocommerce-checkout-review-order table.shop_table th,
.woocommerce-checkout-review-order table.shop_table td{padding:12px 0;background:transparent}
.woocommerce-checkout-payment,#payment{
  background:#0b0b0b !important;
  border:1px solid var(--line-soft);
  border-radius:10px;
  padding:18px;
}
#payment ul.payment_methods{list-style:none;margin:0 0 16px;padding:0;border:0}
#payment ul.payment_methods li{margin-bottom:10px}
#payment ul.payment_methods label{
  display:inline-flex;align-items:center;gap:9px;
  text-transform:none;letter-spacing:0;font-size:14px;font-weight:600;color:var(--t2);
}
#payment ul.payment_methods input[type=radio]{width:auto;accent-color:var(--cyan)}
#payment div.payment_box{
  background:#111 !important;
  border:1px solid var(--line-soft);
  border-radius:6px;
  color:var(--t3);font-size:13px;
  padding:14px;margin:8px 0 0;
}
#payment div.payment_box::before{display:none}
#payment .place-order{padding:0;margin-top:16px}
#place_order{width:100%;padding:17px 24px;font-size:13px}
/* miniaturka produktu przy nazwie (funkcja raw_checkout_product_image) */
.raw-product-wrapper{display:flex;align-items:center;gap:12px}
.raw-product-link{flex:0 0 auto;line-height:0}
.checkout-product-img{width:56px;height:56px;object-fit:contain;
  border:1px solid var(--line-soft);border-radius:6px;background:#111;padding:4px}
.raw-product-info{flex:1;min-width:0;font-size:14px;color:var(--t2)}

/* ---------- 7. konto klienta ---------- */
/* Siatka "nawigacja + tresc" tylko dla zalogowanych. Na stronie logowania
   nie ma nawigacji, a wymuszona kolumna 240 px sciskala oba formularze. */
.woocommerce-account.logged-in .woocommerce{
  display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:34px;
}
/* logowanie i rejestracja obok siebie, w rownych kolumnach */
.woocommerce-account:not(.logged-in) .woocommerce .u-columns{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;
}
.woocommerce-account:not(.logged-in) .woocommerce .u-column1,
.woocommerce-account:not(.logged-in) .woocommerce .u-column2{width:auto;float:none;margin:0}
.woocommerce-account .woocommerce h2{
  font-size:15px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:#fff;margin:0 0 16px;
}
.woocommerce-account .woocommerce form .form-row{width:auto;float:none}
.woocommerce-account .woocommerce input.woocommerce-Input,
.woocommerce-account .woocommerce input.input-text,
.woocommerce-account .woocommerce input[type=password],
.woocommerce-account .woocommerce input[type=text],
.woocommerce-account .woocommerce input[type=email]{
  width:100% !important;
  background-color:#0f0f0f !important;
  border:1px solid var(--line) !important;
  border-radius:6px !important;
  color:var(--t1) !important;
  padding:13px 15px !important;
}
.woocommerce-account .woocommerce .password-input{display:block;width:100%}
.woocommerce-account .woocommerce .show-password-input{color:var(--t3)}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
.woocommerce-MyAccount-navigation li{margin-bottom:6px}
.woocommerce-MyAccount-navigation li a{
  display:block;padding:13px 16px;
  background:#0d0d0d;
  border:1px solid var(--line-soft);
  border-radius:6px;
  color:var(--t2);
  font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  transition:border-color .2s var(--ease),color .2s var(--ease);
}
.woocommerce-MyAccount-navigation li a:hover{border-color:var(--cyan);color:#fff}
.woocommerce-MyAccount-navigation li.is-active a{
  border-color:var(--cyan);color:#fff;background:rgba(0,221,255,.08);
}
.woocommerce-MyAccount-content{min-width:0}
.woocommerce-MyAccount-content p{color:var(--t2)}
.woocommerce-form-login,.woocommerce-form-register,
.woocommerce form.login,.woocommerce form.register,
.woocommerce form.checkout_coupon,.woocommerce form.lost_reset_password{
  background:#0d0d0d;
  border:1px solid var(--line-soft);
  border-radius:10px;
  padding:26px;
}
@media (max-width:860px){
  .woocommerce-account .woocommerce{grid-template-columns:1fr;gap:22px}
}

/* ---------- 8. karta produktu ---------- */
.single-product div.product .product_title{color:#fff}
.single-product div.product p.price,
.single-product div.product span.price{color:var(--amber);font-size:26px;font-weight:700}
.single-product div.product p.price del{color:var(--t3);font-size:17px;font-weight:400}
.single-product .woocommerce-product-details__short-description{color:var(--t2)}
.woocommerce div.product .woocommerce-tabs ul.tabs{
  display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px;padding:0;list-style:none;border:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  margin:0;padding:0;background:transparent;border:0;border-radius:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display:block;padding:12px 20px;
  background:#0d0d0d;border:1px solid var(--line-soft);border-radius:6px;
  color:var(--t3);
  font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{
  border-color:var(--cyan);color:#fff;
}
.woocommerce div.product .woocommerce-tabs .panel{
  background:#0d0d0d;border:1px solid var(--line-soft);border-radius:10px;
  padding:24px;color:var(--t2);
}
.woocommerce div.product form.cart{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:26px}
.woocommerce div.product form.cart .variations{width:100%}
.woocommerce div.product form.cart .variations td{padding:6px 0}
.woocommerce div.product .stock{color:var(--green);font-weight:700}
.woocommerce div.product .stock.out-of-stock{color:var(--red)}
.woocommerce div.product .woocommerce-product-gallery__image img{border-radius:10px}

/* ---------- 9b. MOST NA CZAS ZYCIA ELEMENTORA ----------
   Koszyk, zamowienie i konto renderuja widgety Elementor Pro, ktore
   stylizuja pola wlasnymi selektorami o wysokiej wadze
   (np. .elementor-widget-woocommerce-checkout-page .woocommerce
   #customer_details .form-row .input-text -> tlo #f9fafa).
   Ten blok istnieje wylacznie po to, zeby je pokonac.
   USUNAC W CALOSCI razem z Elementorem. */
.elementor-widget-woocommerce-checkout-page input.input-text,
.elementor-widget-woocommerce-checkout-page textarea.input-text,
.elementor-widget-woocommerce-checkout-page select,
.elementor-widget-woocommerce-checkout-page .select2-selection--single,
.elementor-widget-woocommerce-cart input.input-text,
.elementor-widget-woocommerce-cart select,
.elementor-widget-woocommerce-my-account input.input-text,
.elementor-widget-woocommerce-my-account input.woocommerce-Input,
.elementor-widget-woocommerce-my-account select{
  background-color:#0f0f0f !important;
  border:1px solid var(--line) !important;
  border-radius:6px !important;
  color:var(--t1) !important;
  box-shadow:none !important;
}
.elementor-widget-woocommerce-checkout-page input.input-text:focus,
.elementor-widget-woocommerce-checkout-page textarea.input-text:focus,
.elementor-widget-woocommerce-checkout-page select:focus{
  border-color:var(--cyan) !important;
}
.elementor-widget-woocommerce-checkout-page input.input-text::placeholder,
.elementor-widget-woocommerce-checkout-page textarea.input-text::placeholder{color:var(--t3) !important}
.elementor-widget-woocommerce-checkout-page label,
.elementor-widget-woocommerce-cart label,
.elementor-widget-woocommerce-my-account label{color:var(--t2) !important}
.elementor-widget-woocommerce-checkout-page h3,
.elementor-widget-woocommerce-checkout-page h4,
.elementor-widget-woocommerce-cart h2,
.elementor-widget-woocommerce-cart h3,
.elementor-widget-woocommerce-my-account h2,
.elementor-widget-woocommerce-my-account h3{color:#fff !important}
.elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order table,
.elementor-widget-woocommerce-checkout-page #payment,
.elementor-widget-woocommerce-cart table.shop_table{color:var(--t2) !important}
.elementor-widget-woocommerce-checkout-page .woocommerce-info,
.elementor-widget-woocommerce-checkout-page .woocommerce-form-login{
  background:#0d0d0d !important;color:var(--t2) !important;
}


/* reset struktury tabelowej wtyczki */
/* KLUCZOWE: miniatura 60x60, pseudo-elementy wygaszone */

/* ---------- 10. uklad archiwum sklepu ----------
   Wlasny szablon woocommerce/archive-product.php: filtr po lewej,
   produkty po prawej. Na telefonie filtr chowa sie w szufladzie. */
.ri-sklep{padding:0 0 80px}
.ri-sklep-opis{max-width:80ch;font-size:15px;line-height:1.7}
.ri-sklep-uklad{display:grid;grid-template-columns:262px minmax(0,1fr);gap:34px;align-items:start}
.ri-sklep-tresc{min-width:0}

/* pasek nad siatka: przycisk filtrow, licznik, sortowanie */
.ri-sklep-pasek{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  padding:0 0 20px;margin-bottom:26px;
  border-bottom:1px solid var(--line-soft);
}
.ri-sklep-pasek .woocommerce-result-count{margin:0;color:var(--t3);font-size:13px}
.ri-sklep-pasek .woocommerce-ordering{margin:0 0 0 auto}
.ri-sklep-pasek select.orderby{
  height:42px;padding:0 38px 0 14px;
  background-color:#0f0f0f;border:1px solid var(--line);border-radius:8px;
  color:var(--t2);font-family:inherit;font-size:13px;cursor:pointer;
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%238f949c' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
}
.ri-sklep-pasek select.orderby:focus{border-color:var(--cyan);outline:none}
.ri-filtr-otworz{
  display:none;align-items:center;gap:9px;
  height:42px;padding:0 16px;border-radius:8px;
  border:1px solid var(--line);background-color:transparent;color:var(--t2);
  font-family:inherit;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  cursor:pointer;
}
.ri-filtr-otworz svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round}
.ri-filtr-otworz:hover{border-color:var(--cyan);color:var(--cyan)}

/* kolumna filtrow */
.ri-filtr{
  position:sticky;top:calc(var(--hd-min) + 16px);
  padding:20px;border:1px solid var(--line-soft);border-radius:12px;
  background:rgba(255,255,255,.02);
}
.ri-filtr-head{display:none;align-items:center;justify-content:space-between;margin-bottom:16px}
.ri-filtr-head span{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--t1)}
.ri-filtr-zamknij{
  width:36px;height:36px;border:1px solid var(--line) !important;border-radius:8px !important;
  background-color:transparent;color:var(--t2);font-size:20px;line-height:1;cursor:pointer;padding:0 !important;
}
/* wtyczka filtra rysuje wlasne listy - sprowadzamy je do naszej szaty */
.ri-filtr h3,.ri-filtr .plugincy-filter-title,.ri-filtr .filter-title{
  margin:0 0 12px;padding-bottom:10px;
  border-bottom:1px solid var(--line-soft);
  color:var(--t1);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
}
.ri-filtr ul{list-style:none;margin:0 0 22px;padding:0}
.ri-filtr li{margin-bottom:9px;font-size:14px;color:var(--t2)}
.ri-filtr li a{color:var(--t2)}
.ri-filtr li a:hover{color:var(--cyan)}
.ri-filtr label{display:flex;align-items:center;gap:9px;cursor:pointer;font-size:14px;color:var(--t2)}
.ri-filtr label:hover{color:var(--t1)}
.ri-filtr input[type=checkbox],.ri-filtr input[type=radio]{flex:0 0 auto;accent-color:var(--cyan)}
.ri-filtr .count,.ri-filtr .filter-count{color:var(--t3);font-size:12px}

@media (max-width:1024px){
  .ri-sklep-uklad{grid-template-columns:1fr}
  .ri-filtr-otworz{display:inline-flex}
  .ri-filtr-head{display:flex}
  .ri-filtr{
    position:fixed;top:0;bottom:0;left:0;z-index:950;
    width:min(340px,86vw);max-height:100vh;overflow-y:auto;
    border-radius:0;border:0;border-right:1px solid var(--line);
    background:#0b0b0b;
    transform:translateX(-102%);
    transition:transform .3s var(--ease);
  }
  .ri-filtr.is-open{transform:none;box-shadow:0 0 60px rgba(0,0,0,.8)}
  .ri-sklep-pasek .woocommerce-ordering{margin-left:auto}
}
@media (max-width:600px){
  .ri-sklep-pasek{gap:10px}
  .ri-sklep-pasek .woocommerce-result-count{width:100%;order:3}
}

/* ---------- 11. wlasny filtr produktow ---------- */
.ri-f-grupa{margin-bottom:26px}
.ri-f-grupa:last-of-type{margin-bottom:20px}
.ri-f-grupa h3{
  margin:0 0 12px;padding-bottom:10px;
  border-bottom:1px solid var(--line-soft);
  color:var(--t1);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
}
.ri-f-grupa ul{list-style:none;margin:0;padding:0}
.ri-f-grupa li{margin:0}
.ri-f-grupa label{
  display:flex;align-items:center;gap:10px;
  padding:7px 0;cursor:pointer;
  color:var(--t2);font-size:14px;
}
.ri-f-grupa label:hover{color:var(--t1)}
.ri-f-grupa label span{flex:1;min-width:0}
.ri-f-grupa label i{font-style:normal;color:var(--t3);font-size:12px}
.ri-f input[type=checkbox]{
  flex:0 0 auto;width:16px;height:16px;margin:0;
  accent-color:var(--cyan);cursor:pointer;
}
.ri-f-cena{display:flex;align-items:center;gap:8px}
.ri-f-cena input{
  width:100%;min-width:0;height:38px;padding:0 10px;
  background-color:#0f0f0f;border:1px solid var(--line);border-radius:6px;
  color:var(--t1);font-family:inherit;font-size:14px;
}
.ri-f-cena input:focus{border-color:var(--cyan);outline:none}
.ri-f-cena span{color:var(--t3)}
.ri-f-cena em{font-style:normal;color:var(--t3);font-size:13px}
.ri-f-przelacznik{padding-top:2px !important}
.ri-f-dol{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.ri-f-ok{width:100%;justify-content:center;padding:13px 18px}
.ri-f-wyczysc{
  font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);
}
.ri-f-wyczysc:hover{color:var(--cyan)}
/* Przycisk zostaje takze przy wlaczonym JavaScripcie: pola cenowe wysylaja
   sie z opoznieniem, wiec klient musi miec czym potwierdzic od razu. */

/* ---------- 12. karta produktu ----------
   Szablon jest standardowy (WooCommerce), wiec wszystkie wtyczki i snippety
   Karola dzialaja jak wczesniej. Tutaj tylko szata. */
.woocommerce-breadcrumb{
  display:flex;align-items:center;flex-wrap:wrap;gap:7px;
  margin:0 0 26px;
  font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--t3);
}
.woocommerce-breadcrumb a{color:var(--t3)}
.woocommerce-breadcrumb a:hover{color:var(--cyan)}

div.product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:52px;align-items:start;padding:8px 0 0}
div.product .woocommerce-product-gallery{position:sticky;top:calc(var(--hd-min) + 20px);float:none !important;width:auto !important;margin:0 !important}
div.product .woocommerce-product-gallery__wrapper{margin:0}
/* Czarne podkladki na czarnym tle byly praktycznie niewidoczne - pod zdjecie
   idzie wiec to samo swiatlo studyjne, ktore maja kafelki produktow. */
div.product .woocommerce-product-gallery__image,
div.product .flex-viewport{
  border-radius:14px;overflow:hidden;
  background:
    radial-gradient(62% 58% at 50% 45%,rgba(255,255,255,.10),rgba(255,255,255,.03) 52%,transparent 76%),
    linear-gradient(180deg,#141414,#0a0a0a);
}
div.product .woocommerce-product-gallery__image{border:1px solid var(--line-soft)}
div.product .flex-viewport{border:1px solid var(--line-soft)}
div.product .flex-viewport .woocommerce-product-gallery__image{border:0}
div.product .flex-control-thumbs{display:flex;gap:10px;margin:14px 0 0;padding:0;list-style:none}
div.product .flex-control-thumbs li{width:auto !important;margin:0 !important;float:none !important}
div.product .flex-control-thumbs img{
  width:74px;height:74px;object-fit:cover;border-radius:8px;
  border:1px solid var(--line-soft);opacity:.65;cursor:pointer;transition:opacity .2s,border-color .2s;
}
div.product .flex-control-thumbs img:hover,div.product .flex-control-thumbs img.flex-active{opacity:1;border-color:var(--cyan)}

div.product .summary{float:none !important;width:auto !important;margin:0 !important}
div.product .summary .product_title{
  margin:0 0 14px;color:var(--t1);
  font-size:clamp(24px,3vw,32px);font-weight:600;letter-spacing:-.01em;line-height:1.2;
}
div.product .summary .price{
  display:block;margin:0 0 20px;
  color:var(--amber);font-size:28px;font-weight:700;line-height:1.1;
}
div.product .summary .price del{color:var(--t3);font-size:18px;font-weight:400;margin-right:10px;opacity:.8}
div.product .summary .price ins{text-decoration:none;color:var(--amber)}
div.product .woocommerce-product-details__short-description{
  color:var(--t2);font-size:15px;line-height:1.7;
  padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--line-soft);
}
div.product .woocommerce-product-details__short-description p:last-child{margin-bottom:0}

/* warianty i twardosc */
div.product table.variations{width:100%;margin:0 0 18px;border:0}
div.product table.variations tr{display:flex;flex-wrap:wrap;align-items:center;gap:14px;border:0}
div.product table.variations th,div.product table.variations td{padding:0;border:0;background:none}
div.product table.variations th.label label{
  margin:0;color:var(--t3);
  font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
}
div.product .reset_variations{
  font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);
}
div.product .reset_variations:hover{color:var(--cyan)}
.ri-swatches,.ri-swatches-wrapper{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 6px}
.ri-swatch{
  display:block;width:74px;height:74px;border-radius:10px;overflow:hidden;
  border:1px solid var(--line);background:#0c0c0c;
  transition:border-color .2s var(--ease);
}
.ri-swatch img{width:100%;height:100%;object-fit:cover;display:block}
.ri-swatch:hover{border-color:rgba(255,255,255,.35)}
.ri-swatch.active{border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan) inset}
.ri-swatch-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:64px;height:42px;padding:0 16px;border-radius:8px;
  border:1px solid var(--line);background:transparent;color:var(--t2);
  font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  cursor:pointer;transition:border-color .2s var(--ease),color .2s var(--ease),background-color .2s var(--ease);
}
.ri-swatch-btn:hover{border-color:rgba(255,255,255,.4);color:var(--t1)}
.ri-swatch-btn.active,.ri-swatch-btn.selected{background-color:var(--cyan);border-color:var(--cyan);color:#04141a}
.ri-swatch-btn.disabled,.ri-swatch-btn[disabled]{opacity:.35;cursor:not-allowed}

/* dodanie do koszyka */
div.product form.cart{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0 0}
div.product form.cart .quantity{display:flex;align-items:center}
div.product form.cart .quantity input.qty{
  width:74px;height:52px;padding:0 10px;text-align:center;
  background-color:#0f0f0f;border:1px solid var(--line);border-radius:8px;
  color:var(--t1);font-family:inherit;font-size:15px;font-weight:700;
}
div.product form.cart button.single_add_to_cart_button,
div.product form.cart .single_add_to_cart_button.button{
  flex:1;min-width:220px;height:52px;padding:0 28px;
  display:inline-flex;align-items:center;justify-content:center;
  border:0 !important;border-radius:8px !important;
  background-color:var(--cyan) !important;color:#04141a !important;
  font-family:inherit;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  cursor:pointer;transition:filter .2s var(--ease),box-shadow .25s var(--ease);
}
div.product form.cart button.single_add_to_cart_button:hover{filter:brightness(1.08);box-shadow:0 10px 30px rgba(0,221,255,.2)}
div.product form.cart button.disabled,div.product form.cart button[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}
div.product .woocommerce-variation-price{width:100%;margin:0 0 12px}
div.product .woocommerce-variation-price .price{font-size:24px;margin:0}
div.product .stock{margin:14px 0 0;font-size:13px;font-weight:700;letter-spacing:.06em}
div.product .stock.in-stock{color:var(--green)}
div.product .stock.out-of-stock{color:var(--red)}
div.product .product_meta{
  margin-top:24px;padding-top:18px;border-top:1px solid var(--line-soft);
  font-size:12px;color:var(--t3);
}
div.product .product_meta a{color:var(--t2)}
div.product .product_meta a:hover{color:var(--cyan)}

/* zakladki pod produktem */
.woocommerce-tabs{grid-column:1/-1;margin-top:60px}
.woocommerce-tabs ul.tabs{
  display:flex;gap:4px;flex-wrap:wrap;margin:0;padding:0 !important;list-style:none;
  border-bottom:1px solid var(--line);
}
.woocommerce-tabs ul.tabs::before,.woocommerce-tabs ul.tabs::after{display:none !important}
.woocommerce-tabs ul.tabs li{
  margin:0 !important;padding:0 !important;border:0 !important;background:none !important;border-radius:0 !important;
}
.woocommerce-tabs ul.tabs li::before,.woocommerce-tabs ul.tabs li::after{display:none !important}
.woocommerce-tabs ul.tabs li a{
  display:block;padding:14px 20px !important;
  color:var(--t3) !important;
  font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  border-bottom:2px solid transparent;margin-bottom:-1px;
}
.woocommerce-tabs ul.tabs li a:hover{color:var(--t1) !important}
.woocommerce-tabs ul.tabs li.active a{color:var(--t1) !important;border-bottom-color:var(--cyan)}
.woocommerce-tabs .panel{padding:30px 0 0;max-width:78ch;color:var(--t2);font-size:15.5px;line-height:1.75}
.woocommerce-tabs .panel h2{
  margin:0 0 16px;color:var(--t1);font-size:20px;font-weight:600;
  padding-bottom:10px;border-bottom:1px solid var(--line-soft);
}
.woocommerce-tabs .panel table{width:100%;border-collapse:collapse;font-size:15px}
.woocommerce-tabs .panel th,.woocommerce-tabs .panel td{padding:11px 14px;border-bottom:1px solid var(--line-soft);text-align:left}
.woocommerce-tabs .panel th{color:var(--t1);width:34%;font-weight:600}

/* podobne produkty */
section.related,section.up-sells{grid-column:1/-1;margin-top:70px;padding-top:44px;border-top:1px solid var(--line-soft)}
section.related > h2,section.up-sells > h2{
  display:inline-block;margin:0 0 26px;padding-bottom:10px;
  color:#fff;font-size:20px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  border-bottom:2px solid var(--cyan);
}

@media (max-width:900px){
  div.product{grid-template-columns:1fr;gap:30px}
  div.product .woocommerce-product-gallery{position:static}
  div.product form.cart button.single_add_to_cart_button{min-width:0}
}

/* wybor wariantu: lista rozwijana schowana, zostaja przyciski */
.variations select{display:none !important}
/* Nazwa cechy jest juz w linijce ".ri-wybrano", wiec etykieta z tabeli
   WooCommerce powtarzalaby to samo slowo obok siebie. */
div.product table.variations tr.ri-ma-przyciski th.label{display:none}
div.product table.variations tr.ri-ma-przyciski{display:block}
.ri-wybrano{
  display:block;margin:0 0 9px;
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--t3);
}
.ri-wybrano b{color:var(--t1);font-weight:800}
.ri-wybrano.is-pusty b{color:var(--cyan)}
.ri-color-switcher{margin:0 0 20px}
.ri-color-switcher .ri-label{
  display:block;margin-bottom:10px;
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--t3);
}

/* ---------- 13. uklad koszyka i zamowienia ---------- */
.woocommerce-cart .ri-tresc,
.woocommerce-checkout .ri-tresc{max-width:none}
.woocommerce-cart form.woocommerce-cart-form{margin:0}
.woocommerce-cart .woocommerce{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:38px;align-items:start}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-cart .cart-collaterals{width:auto !important;float:none !important;margin:0}
.woocommerce-cart .cart-collaterals .cart_totals{width:auto !important;float:none !important}
.woocommerce-cart .cart_totals > h2,
.woocommerce-checkout #order_review_heading{
  margin:0 0 16px;color:var(--t1);
  font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
}
.woocommerce-cart .cart_totals table.shop_table{margin:0}
.woocommerce-cart .cart_totals .order-total .amount{color:var(--amber);font-size:20px}
.woocommerce-cart .wc-proceed-to-checkout{padding:18px 0 0}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{width:100%;justify-content:center;padding:16px 24px;font-size:13px}
.woocommerce-cart .coupon{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.woocommerce-cart .coupon input#coupon_code{width:auto;min-width:190px}
.woocommerce-cart table.cart td.actions{padding:16px 18px}

/* zamowienie */
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:44px;align-items:start}
.woocommerce-checkout form.checkout #customer_details{min-width:0}
.woocommerce-checkout form.checkout #order_review_heading,
.woocommerce-checkout form.checkout #order_review{
  grid-column:2;
}
.woocommerce-checkout form.checkout #customer_details{grid-column:1;grid-row:1/3}
.woocommerce-checkout #order_review{
  padding:24px;border:1px solid var(--line-soft);border-radius:12px;
  background:rgba(255,255,255,.02);
}
.woocommerce-checkout #order_review table.shop_table{background:transparent;border:0;margin:0 0 18px}
.woocommerce-checkout #order_review table.shop_table th{background:transparent;padding:10px 0}
.woocommerce-checkout #order_review table.shop_table td{padding:10px 0;text-align:right}
.woocommerce-checkout #order_review .order-total .amount{color:var(--amber);font-size:20px}
.woocommerce-checkout #payment{background:transparent !important;border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{
  padding:0 !important;margin:0 0 18px;list-style:none;border:0 !important;
}
.woocommerce-checkout #payment ul.payment_methods li{
  margin:0 0 10px;padding:14px 16px;
  border:1px solid var(--line);border-radius:8px;
  background:rgba(255,255,255,.02);
}
.woocommerce-checkout #payment ul.payment_methods li label{
  display:inline-flex;align-items:center;gap:10px;margin:0;
  text-transform:none;letter-spacing:0;font-size:14px;font-weight:600;color:var(--t2);
}
.woocommerce-checkout #payment div.payment_box{
  background:transparent !important;color:var(--t3);font-size:13px;margin:10px 0 0;padding:0;
}
.woocommerce-checkout #payment div.payment_box::before{display:none !important}
.woocommerce-checkout #place_order{width:100%;padding:17px 24px;font-size:13px}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{margin:14px 0}
.woocommerce-checkout h3{
  margin:0 0 18px;color:var(--t1);
  font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
}
/* miniaturka produktu w podsumowaniu (funkcja raw_checkout_product_image) */
.raw-product-wrapper{display:flex;align-items:center;gap:12px;text-align:left}
.raw-product-link{flex:0 0 auto;display:block}
.raw-product-link img{width:48px;height:48px;object-fit:contain;border-radius:6px;border:1px solid var(--line-soft);background:#0d0d0d}
.raw-product-info{min-width:0;font-size:14px;color:var(--t2)}

@media (max-width:900px){
  .woocommerce-cart .woocommerce{grid-template-columns:1fr;gap:28px}
  .woocommerce-checkout form.checkout{grid-template-columns:1fr;gap:30px}
  .woocommerce-checkout form.checkout #customer_details,
  .woocommerce-checkout form.checkout #order_review_heading,
  .woocommerce-checkout form.checkout #order_review{grid-column:1;grid-row:auto}
}

/* nawigacja w filtrze: prawdziwe odnosniki do kategorii i marek */
.ri-f-linki{list-style:none;margin:0;padding:0}
.ri-f-linki li{margin:0}
.ri-f-linki a{
  display:flex;align-items:center;gap:10px;
  padding:8px 10px;margin:0 -10px;border-radius:6px;
  color:var(--t2);font-size:14px;
  transition:background-color .15s var(--ease),color .15s var(--ease);
}
.ri-f-linki a span{flex:1;min-width:0}
.ri-f-linki a i{font-style:normal;color:var(--t3);font-size:12px}
.ri-f-linki a:hover{background-color:rgba(255,255,255,.05);color:var(--t1)}
.ri-f-linki a.is-tu{background-color:rgba(0,221,255,.10);color:var(--cyan)}
.ri-f-linki a.is-tu i{color:var(--cyan);opacity:.8}
.ri-f-wyzej a{color:var(--t3);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ri-f-wyzej a:hover{color:var(--cyan);background-color:transparent}

/* ---------- 14. konto klienta: nic nie wychodzi poza ramke ---------- */
.woocommerce-MyAccount-content,
.woocommerce-MyAccount-content p,
.woocommerce-MyAccount-content td,
.woocommerce-MyAccount-content address{
  overflow-wrap:anywhere;word-break:break-word;
}
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3{margin:0 0 16px}
.woocommerce-MyAccount-content > p:first-child{margin-top:0}

/* dlugie tabele zamowien przewijaja sie w poziomie zamiast rozpychac strone */
.woocommerce-MyAccount-content table.shop_table,
.woocommerce-MyAccount-content table.woocommerce-orders-table,
.woocommerce-MyAccount-content table.woocommerce-table--order-details{
  display:block;width:100%;overflow-x:auto;
  border-collapse:collapse;
}
.woocommerce-MyAccount-content table.shop_table thead,
.woocommerce-MyAccount-content table.shop_table tbody,
.woocommerce-MyAccount-content table.shop_table tfoot{display:table;width:100%;min-width:520px}
.woocommerce-MyAccount-content table.shop_table td,
.woocommerce-MyAccount-content table.shop_table th{white-space:normal}
.woocommerce-MyAccount-content table.shop_table td.woocommerce-orders-table__cell-order-actions{white-space:nowrap}
.woocommerce-MyAccount-content .woocommerce-button{padding:9px 14px;font-size:11px}

/* adresy: dwie rowne karty, tekst zawijany */
.woocommerce-Addresses{
  display:grid !important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;
}
.woocommerce-Address{width:auto !important;float:none !important;margin:0 !important}
.woocommerce-Address-title{
  display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  margin-bottom:12px;
}
.woocommerce-Address address{
  display:block;padding:18px;
  border:1px solid var(--line-soft);border-radius:10px;
  background:rgba(255,255,255,.02);
  font-style:normal;line-height:1.7;color:var(--t2);
}

/* podglad zamowienia */
.woocommerce-order-details,.woocommerce-customer-details{margin-top:34px}
.woocommerce-order-overview{
  display:grid !important;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;
  margin:0 0 30px !important;padding:0 !important;list-style:none;border:0 !important;
}
.woocommerce-order-overview li{
  margin:0 !important;padding:16px 18px !important;border:1px solid var(--line-soft) !important;
  border-radius:10px;background:rgba(255,255,255,.02);
  float:none !important;width:auto !important;
  font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);
}
.woocommerce-order-overview li strong{
  display:block;margin-top:6px;
  color:var(--t1);font-size:15px;font-weight:600;letter-spacing:0;text-transform:none;
  overflow-wrap:anywhere;
}

/* ---------- 15. bezpiecznik na ucinanie tekstu ---------- */
.ri-main{overflow-wrap:break-word}
/* Tabele w tresci przewijaja sie w poziomie zamiast rozpychac strone.
   Tabele WooCommerce (koszyk, zamowienie) sa wylaczone, bo maja wlasny
   uklad na telefonie - inaczej min-width narzucalo im 440 px. */
.ri-tresc table:not(.shop_table):not(.woocommerce-table),
.woocommerce-tabs .panel table{display:block;overflow-x:auto;max-width:100%}
.ri-tresc table:not(.shop_table):not(.woocommerce-table) tbody,
.ri-tresc table:not(.shop_table):not(.woocommerce-table) thead,
.woocommerce-tabs .panel table tbody,.woocommerce-tabs .panel table thead{display:table;width:100%;min-width:440px}
.ri-tresc pre{overflow-x:auto;max-width:100%}

/* ---------- 16. poradnik pod siatka produktow ---------- */
.ri-poradnik{margin-top:66px;padding-top:44px;border-top:1px solid var(--line-soft)}
.ri-poradnik-lead{margin:0 0 26px;max-width:70ch;color:var(--t3);font-size:15.5px;line-height:1.7}
.ri-poradnik-siatka{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.ri-poradnik-karta{
  display:flex;flex-direction:column;
  padding:26px;
  border:1px solid var(--line-soft);border-radius:12px;
  background:rgba(255,255,255,.022);
}
.ri-poradnik-kod{
  display:inline-flex;align-items:center;align-self:flex-start;
  height:30px;padding:0 14px;margin-bottom:14px;border-radius:6px;
  border:1px solid rgba(0,221,255,.35);background:rgba(0,221,255,.08);
  color:var(--cyan);font-size:11px;font-weight:800;letter-spacing:.16em;
}
.ri-poradnik-karta p{margin:0 0 18px;color:var(--t3);font-size:14.5px;line-height:1.7}
.ri-poradnik-dla{
  margin-top:auto;padding-top:14px;border-top:1px solid var(--line-soft);
  color:var(--t3);font-size:12px;
}
.ri-poradnik-dla b{color:var(--t2);font-weight:600}
.ri-poradnik-stopka{margin:26px 0 0;color:var(--t3);font-size:14.5px}
.ri-poradnik-stopka a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}

/* ---------- 17. wysuwany koszyk: licznik sztuk ----------
   Pole ilosci mialo 30 px szerokosci i zero obramowania, wiec cyfra po
   kliknieciu w plus nie miala sie gdzie zmiescic. Stad wrazenie, ze
   przyciski nie dzialaja. */

/* ---------- 18. opinie o produkcie ---------- */
.woocommerce-Reviews{max-width:78ch}
.woocommerce-Reviews-title{
  margin:0 0 24px !important;
  color:var(--t1);font-size:18px;font-weight:600;
}
.woocommerce-Reviews-title span{color:var(--t2)}
.woocommerce #reviews ol.commentlist{margin:0 0 34px;padding:0;list-style:none;background:none}
.woocommerce #reviews ol.commentlist li{
  margin:0 0 14px;padding:0;background:none;border:0;
}
.woocommerce #reviews ol.commentlist li .comment_container{
  display:flex;gap:18px;align-items:flex-start;
  padding:22px;
  border:1px solid var(--line-soft);border-radius:12px;
  background:rgba(255,255,255,.022);
}
.woocommerce #reviews ol.commentlist li img.avatar{
  position:static !important;
  width:46px !important;height:46px !important;
  margin:0 !important;padding:0 !important;
  border:1px solid var(--line) !important;border-radius:50% !important;
  background:none !important;flex:0 0 auto;
}
.woocommerce #reviews ol.commentlist li .comment-text{
  margin:0 !important;padding:0 !important;border:0 !important;border-radius:0 !important;
  min-width:0;flex:1;
}
.woocommerce #reviews .comment-text p.meta{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  margin:8px 0 12px !important;
  font-size:13px;color:var(--t3);
}
.woocommerce #reviews .comment-text p.meta strong.woocommerce-review__author{
  color:var(--t1);font-size:15px;font-weight:600;
}
.woocommerce #reviews .comment-text p.meta em.woocommerce-review__verified{
  display:inline-flex;align-items:center;gap:5px;
  padding:4px 10px;border-radius:4px;
  border:1px solid rgba(79,212,138,.4);background:rgba(79,212,138,.1);
  color:var(--green);
  font-style:normal;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
}
/* Plakietka "zweryfikowany" ma wlasny, maly ptaszek. Ten z motywu rodzica
   potrafil urosnac do rozmiaru pol ekranu, wiec go zerujemy i rysujemy sami. */
.woocommerce #reviews .comment-text p.meta em.woocommerce-review__verified::after{content:none !important}
.woocommerce #reviews .comment-text p.meta em.woocommerce-review__verified::before{
  content:'';flex:0 0 auto;width:11px;height:11px;
  background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  font-size:0;
}
.woocommerce #reviews .comment-text .description,
.woocommerce #reviews .comment-text .desc{color:var(--t2);font-size:15px;line-height:1.7}
.woocommerce #reviews .comment-text .description p:last-child{margin-bottom:0}
.woocommerce #reviews .woocommerce-review__dash{color:var(--t3)}

/* gwiazdki
   UWAGA na letter-spacing: WooCommerce daje kontenerowi sztywne
   `width:5.4em` i `overflow:hidden`, a wypelnienie liczy procentem tej
   szerokosci. Kazdy dodatkowy odstep miedzy znakami rozpycha zawartosc
   poza kontener i ostatnia gwiazdka zostaje przycieta w polowie
   (piatka wygladala jak 4,5). Odstep musi zostac zerowy. */
.woocommerce .star-rating{color:var(--amber);font-size:14px;letter-spacing:normal}
.woocommerce #reviews .comment-text .star-rating{margin:0 0 4px;float:none}
.woocommerce .woocommerce-product-rating{display:flex;align-items:center;gap:12px;margin:0 0 16px}
.woocommerce .woocommerce-product-rating .woocommerce-review-link{color:var(--t3);font-size:13px}
.woocommerce .woocommerce-product-rating .woocommerce-review-link:hover{color:var(--cyan)}

/* formularz opinii */
#review_form_wrapper{
  padding:26px;border:1px solid var(--line-soft);border-radius:12px;
  background:rgba(255,255,255,.022);
}
#review_form_wrapper .comment-reply-title{
  display:block;margin:0 0 18px;
  color:var(--t1);font-size:15px;font-weight:600;
}
#review_form_wrapper .comment-form-rating label{margin-bottom:8px}
#review_form_wrapper p.stars a{color:var(--amber)}
#review_form_wrapper textarea{min-height:130px}
#review_form_wrapper .form-submit input[type=submit]{
  padding:15px 30px;
  background-color:var(--cyan) !important;border:0 !important;border-radius:6px !important;
  color:#04141a !important;
  font-family:inherit;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  cursor:pointer;
}
.woocommerce-noreviews{color:var(--t3)}

/* ---------- 19. elementy plywajace nad trescia ----------
   Plakietka "DROP ARTISAN" i przycisk zgody na ciasteczka lezaly
   doslownie jedno na drugim w lewym dolnym rogu. */
/* Ustawiamy je jedno NAD drugim w lewym dolnym rogu, zamiast jedno NA drugim. */
.cky-btn-revisit-wrapper{bottom:16px !important;left:16px !important;right:auto !important}
#ri-drop-fab{bottom:76px !important;left:16px !important}
@media (min-width:861px){
  .cky-btn-revisit-wrapper{bottom:22px !important;left:22px !important}
  #ri-drop-fab{bottom:84px !important;left:22px !important}
}

/* ---------- 20. karta produktu: kontener i proporcje ----------
   Szablon pojedynczego produktu jest jedynym, ktory nie przechodzi
   przez nasz .ri-wrap - WooCommerce rysuje go wprost w .site-main.
   Bez tego zdjecie mialo 681 px, a na wiekszym monitorze rosloby dalej. */
.single-product #primary,
.single-product .content-area{
  width:100%;
  max-width:var(--wrap);
  margin:0 auto;
  padding:0 20px;
}

/* Zdjecie ma byc towarem, a nie plakatem: kolumna z galeria wezsza od opisu. */
.single-product div.product{
  grid-template-columns:minmax(0,440px) minmax(0,1fr);
  gap:48px;
}
.single-product div.product .woocommerce-product-gallery{max-width:440px}
.single-product div.product .flex-control-thumbs img{width:62px;height:62px}

/* Opis produktu nie moze byc jedna dluga linia przez cala szerokosc. */
.single-product div.product .summary{max-width:640px}

/* Polecane i zakladki trzymaja sie tej samej siatki co sklep. */
.single-product section.related ul.products,
.single-product section.up-sells ul.products{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

@media (max-width:1100px){
  .single-product div.product{grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:36px}
  .single-product div.product .woocommerce-product-gallery{max-width:380px}
}
@media (max-width:900px){
  .single-product div.product{grid-template-columns:minmax(0,1fr);gap:28px}
  /* min() zamiast sztywnych 460 px - inaczej na telefonie galeria byla
     szersza od ekranu i strona dostawala poziomy pasek przewijania. */
  .single-product div.product .woocommerce-product-gallery{
    max-width:min(460px,100%) !important;margin:0 auto !important;
  }
  .single-product div.product .summary{max-width:100%}
  .single-product div.product .flex-viewport,
  .single-product div.product .woocommerce-product-gallery__image{max-width:100%}
  .single-product div.product form.cart{width:100%}
  .single-product div.product form.cart button.single_add_to_cart_button{min-width:0;flex:1 1 auto}
}
@media (max-width:820px){
  .single-product section.related ul.products,
  .single-product section.up-sells ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Miniatury galerii: WooCommerce ma na nie selektor o piec klas dlugi
   (.woocommerce div.product div.images .flex-control-thumbs li img),
   wiec musimy byc rownie konkretni, inaczej rosna do 102 px. */
.woocommerce div.product div.images .flex-control-thumbs{
  display:flex !important;flex-wrap:wrap;gap:10px;margin:14px 0 0 !important;padding:0;
}
.woocommerce div.product div.images .flex-control-thumbs li{
  width:auto !important;margin:0 !important;padding:0 !important;float:none !important;list-style:none;
}
.woocommerce div.product div.images .flex-control-thumbs li img{
  width:66px !important;height:66px !important;
  object-fit:cover;border-radius:8px;
  border:1px solid var(--line-soft);
  opacity:.6;cursor:pointer;
  transition:opacity .2s var(--ease),border-color .2s var(--ease);
}
.woocommerce div.product div.images .flex-control-thumbs li img:hover,
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active{
  opacity:1 !important;border-color:var(--cyan);
}

/* ---------- 21. finalizacja: szersze podsumowanie i pole NIP ---------- */
.woocommerce-checkout form.checkout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
.woocommerce-checkout #order_review{padding:26px 28px}
.woocommerce-checkout #order_review table.shop_table th{width:auto;white-space:nowrap}
.woocommerce-checkout #order_review .product-name{padding-right:16px;line-height:1.45}
.woocommerce-checkout #payment ul.payment_methods li{padding:16px 18px}
.woocommerce-checkout #payment ul.payment_methods li img{max-height:26px;width:auto;margin-left:8px}
.woocommerce-checkout #payment .payment_box{padding:14px 0 0 !important}
.woocommerce-checkout #payment .payment_box select,
.woocommerce-checkout #payment .payment_box input{max-width:100%}

/* "Potrzebuję faktury" + NIP */
.ri-faktura-przelacznik label{
  display:flex !important;align-items:center;gap:10px;
  text-transform:none !important;letter-spacing:0 !important;
  font-size:14px !important;font-weight:600 !important;color:var(--t2) !important;
  cursor:pointer;margin:0 !important;
}
.ri-faktura-przelacznik input[type=checkbox]{
  width:17px;height:17px;margin:0;accent-color:var(--cyan);flex:0 0 auto;
}
.ri-nip-pole{display:none}
.ri-nip-pole.is-widoczne{display:block}
.ri-nip-pole input{max-width:280px}

/* Bez JavaScriptu pole jest po prostu zawsze widoczne, zeby nikt
   nie zostal bez mozliwosci podania NIP-u. */
html:not(.ri-js) .ri-nip-pole{display:block}

/* ---------- 22. glowna strona sklepu: marki i kategorie ---------- */
.ri-marki{
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  padding:0 0 26px;margin-bottom:30px;
  border-bottom:1px solid var(--line-soft);
}
.ri-marki-etykieta{
  flex:0 0 auto;
  font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--t3);
}
.ri-marki-lista{display:flex;gap:10px;flex-wrap:wrap}
.ri-marka{
  display:inline-flex;align-items:center;gap:10px;
  height:44px;padding:0 16px;border-radius:8px;
  border:1px solid var(--line);background:rgba(255,255,255,.02);
  color:var(--t2);
  transition:border-color .2s var(--ease),color .2s var(--ease),background-color .2s var(--ease);
}
.ri-marka span{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.ri-marka img{height:18px;width:auto;display:block;opacity:.9}
.ri-marka i{font-style:normal;font-size:11px;color:var(--t3)}
.ri-marka:hover{border-color:var(--cyan);color:var(--t1);background-color:rgba(0,221,255,.06)}
.ri-marka:hover img{opacity:1}
.ri-marka:hover i{color:var(--cyan)}

.ri-kafelki-sklep{margin:0 0 38px}
.ri-kafelki-sklep .ri-h2{font-size:20px;margin-bottom:20px}
/* Kafelki dziela styl ze strona glowna (glowna.css jest tu dogrywany),
   tylko troche nizsze, zeby nie spychaly produktow pod ekran. */
.ri-kafelki-sklep .ri-tile-media{aspect-ratio:16/10}
.ri-kafelki-sklep .ri-tile-body{padding:14px 16px 16px}
.ri-kafelki-sklep .ri-tile-body h3{font-size:17px}
.ri-kafelki-sklep .ri-tile-body p{
  font-size:12.5px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

@media (max-width:860px){
  .ri-marki{gap:12px;padding-bottom:20px;margin-bottom:22px}
  .ri-marki-etykieta{width:100%}
}

/* Snippet #52 wstrzykuje do tresci opinii wlasna plakietke z ikona SVG bez
   podanej szerokosci i wysokosci. Bez CSS-u Elementora ta ikona rozdymala
   sie do rozmiaru calego kontenera - stad ten ogromny ptaszek na srodku
   opinii. Informacje o weryfikacji mamy juz przy nazwisku autora,
   wiec wstawke chowamy w calosci. */
#reviews .description .raw-verified-wrapper,
#reviews .description .raw-verified-badge-final,
#reviews .description .raw-check-icon{display:none !important}
/* Gdyby kiedys mial wrocic: ikona musi miec twardy rozmiar. */
#reviews svg.raw-check-icon{width:14px !important;height:14px !important;flex:0 0 auto}

/* ---------- 23. pozostale produkty tej samej marki ---------- */
.ri-reszta-marki{margin-top:60px;padding-top:44px;border-top:1px solid var(--line-soft)}
.ri-reszta-marki .ri-h2{font-size:20px;margin-bottom:10px}
.ri-reszta-lead{margin:0 0 24px;color:var(--t3);font-size:14.5px}

/* ---------- 24. zapowiedz dostawy ---------- */
.ri-dostawa{position:relative;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.ri-dostawa--pelny{
  padding:64px 0;
  background:
    radial-gradient(70% 120% at 18% 0%,rgba(252,161,0,.10),transparent 60%),
    linear-gradient(180deg,#0c0b09,#080808);
}
.ri-dostawa--waski{
  margin:0 0 34px;padding:28px;
  border:1px solid rgba(252,161,0,.28);border-radius:14px;
  background:
    radial-gradient(80% 140% at 12% 0%,rgba(252,161,0,.10),transparent 62%),
    rgba(255,255,255,.02);
}
.ri-dostawa-in{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  gap:44px;align-items:center;
}
.ri-dostawa--waski .ri-dostawa-in{gap:30px}
.ri-dostawa-kicker{
  display:inline-flex;align-items:center;gap:9px;margin-bottom:16px;
  padding:6px 13px;border-radius:4px;
  border:1px solid rgba(252,161,0,.4);background:rgba(252,161,0,.10);
  color:var(--amber);
  font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
}
.ri-dostawa-kropka{
  width:6px;height:6px;border-radius:50%;background:var(--amber);
  box-shadow:0 0 9px rgba(252,161,0,.9);
  animation:ri-puls 2.2s ease-in-out infinite;
}
.ri-dostawa h2{
  margin:0 0 16px !important;
  color:var(--t1);
  font-size:clamp(26px,3.6vw,40px);font-weight:600;letter-spacing:-.015em;line-height:1.1;
}
.ri-dostawa--waski h2{font-size:clamp(22px,2.6vw,28px)}
.ri-dostawa-txt p{margin:0 0 12px;color:var(--t3);font-size:16px;line-height:1.7;max-width:52ch}
.ri-dostawa--waski .ri-dostawa-txt p{font-size:15px}
.ri-dostawa-termin{color:var(--t2) !important}
.ri-dostawa-termin b{color:var(--amber);font-weight:700}

.ri-dostawa-form{
  padding:26px;border:1px solid var(--line);border-radius:14px;
  background:rgba(0,0,0,.45);
}
.ri-dostawa--waski .ri-dostawa-form{padding:20px;background:rgba(0,0,0,.35)}
.ri-dostawa-form-tytul{
  display:block;margin-bottom:14px;
  color:var(--t1);font-size:14px;font-weight:600;
}
.ri-dostawa-drobne{display:block;margin-top:12px;color:var(--t3);font-size:12px;line-height:1.5}

/* formularz Ninja w tym bloku: pole i przycisk w jednym rzedzie */
.ri-dostawa .nf-form-fields-required{display:none}
.ri-dostawa .nf-field-container{margin-bottom:10px !important}
.ri-dostawa .nf-field-label{display:none}
.ri-dostawa .nf-form-content{padding:0 !important;max-width:none}
.ri-dostawa .nf-form-content input[type=email]{
  width:100% !important;height:48px;
  background-color:#0f0f0f !important;border:1px solid var(--line) !important;border-radius:8px !important;
  color:var(--t1) !important;font-family:inherit !important;font-size:15px !important;padding:0 15px !important;
}
.ri-dostawa .nf-form-content input[type=email]:focus{border-color:var(--amber) !important}
.ri-dostawa .nf-form-content input[type=button]{
  width:100% !important;height:48px;
  background-color:var(--amber) !important;border:0 !important;border-radius:8px !important;
  color:#1a1200 !important;
  font-family:inherit !important;font-size:13px !important;font-weight:800 !important;
  letter-spacing:.12em;text-transform:uppercase;cursor:pointer;
  transition:filter .2s var(--ease);
}
.ri-dostawa .nf-form-content input[type=button]:hover{filter:brightness(1.08)}
.ri-dostawa .nf-response-msg,.ri-dostawa .nf-form-success-msg{
  color:var(--green) !important;font-size:14px;
}

@media (max-width:900px){
  .ri-dostawa-in{grid-template-columns:1fr;gap:26px}
  .ri-dostawa--pelny{padding:44px 0}
  .ri-dostawa--waski{padding:22px}
}

/* ---------- 25. "powiadom o dostepnosci" na karcie produktu ----------
   Wtyczka back-in-stock-notifier przyjechala z wlasnym Bootstrapem
   (panel-primary = niebieski naglowek, jasny przycisk). Sprowadzamy
   ja do naszej szaty. */
.cwginstock-subscribe-form{margin:20px 0 0;width:100%}
.cwginstock-subscribe-form .panel,
.cwginstock-subscribe-form .cwginstock-panel-primary{
  border:1px solid var(--line) !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.02) !important;
  box-shadow:none !important;
  overflow:hidden;
}
.cwginstock-subscribe-form .panel-heading,
.cwginstock-subscribe-form .cwginstock-panel-heading{
  padding:16px 20px !important;
  background:rgba(252,161,0,.10) !important;
  border:0 !important;border-bottom:1px solid rgba(252,161,0,.25) !important;
  border-radius:0 !important;
  color:var(--amber) !important;
}
.cwginstock-subscribe-form .panel-heading h4{
  margin:0 !important;
  color:var(--amber) !important;
  font-family:inherit !important;
  font-size:12px !important;font-weight:800 !important;
  letter-spacing:.14em;text-transform:uppercase;
  text-align:left !important;
}
.cwginstock-subscribe-form .panel-body,
.cwginstock-subscribe-form .cwginstock-panel-body{padding:20px !important;background:transparent !important}
.cwginstock-subscribe-form .row,
.cwginstock-subscribe-form .col-md-12{margin:0 !important;padding:0 !important;width:100% !important;float:none !important}
.cwginstock-subscribe-form .form-group{margin:0 0 10px !important}
.cwginstock-subscribe-form input.cwgstock_name,
.cwginstock-subscribe-form input.cwgstock_email{
  width:100% !important;height:46px !important;
  padding:0 14px !important;margin:0 0 10px !important;
  background-color:#0f0f0f !important;
  border:1px solid var(--line) !important;border-radius:8px !important;
  color:var(--t1) !important;
  font-family:inherit !important;font-size:15px !important;
  text-align:left !important;
  box-shadow:none !important;
}
.cwginstock-subscribe-form input.cwgstock_name::placeholder,
.cwginstock-subscribe-form input.cwgstock_email::placeholder{color:var(--t3) !important}
.cwginstock-subscribe-form input.cwgstock_name:focus,
.cwginstock-subscribe-form input.cwgstock_email:focus{border-color:var(--amber) !important;outline:none !important}
.cwginstock-subscribe-form .cwgstock_button,
.cwginstock-subscribe-form button.cwgstock_button,
.cwginstock-subscribe-form input.cwgstock_button{
  display:flex !important;align-items:center;justify-content:center;
  width:100% !important;height:48px !important;
  margin:4px 0 0 !important;padding:0 20px !important;
  background-color:var(--amber) !important;
  background-image:none !important;
  border:0 !important;border-radius:8px !important;
  color:#1a1200 !important;
  font-family:inherit !important;
  font-size:13px !important;font-weight:800 !important;
  letter-spacing:.12em;text-transform:uppercase;
  cursor:pointer;box-shadow:none !important;
  transition:filter .2s var(--ease);
}
.cwginstock-subscribe-form .cwgstock_button:hover{filter:brightness(1.08)}
.cwginstock-subscribe-form .cwgstock_output{margin-top:12px !important;font-size:14px}
.cwginstock-subscribe-form .cwgstock_output .alert{
  padding:12px 14px !important;border-radius:8px !important;
  background:rgba(79,212,138,.10) !important;border:1px solid rgba(79,212,138,.4) !important;
  color:var(--green) !important;
}
.cwginstock-subscribe-form .cwgstock_output .alert-danger{
  background:rgba(255,77,94,.10) !important;border-color:rgba(255,77,94,.4) !important;color:var(--red) !important;
}
.cwginstock-subscribe-form label{color:var(--t3) !important;font-size:13px !important}
.cwginstock-subscribe-form a{color:var(--amber) !important}

/* Ninja Forms drukuje nazwe techniczna formularza jako <h3>. W banerze
   mamy wlasny naglowek, wiec ta nazwa jest tylko halasem. */
.ri-dostawa .nf-form-title{display:none !important}
.ri-dostawa .nf-form-wrap{margin:0 !important}
.ri-dostawa .nf-field-container{margin-bottom:10px !important}
.ri-dostawa .nf-form-content input.ninja-forms-field[type=button],
.ri-dostawa .nf-form-content button.ninja-forms-field,
.ri-dostawa .nf-form-content .submit-container input{
  width:100% !important;height:48px !important;
  background-color:var(--amber) !important;
  border:0 !important;border-radius:8px !important;
  color:#1a1200 !important;
  font-family:inherit !important;font-size:13px !important;font-weight:800 !important;
  letter-spacing:.12em;text-transform:uppercase;cursor:pointer;
}
.ri-dostawa .nf-form-content .submit-container{margin-top:2px}

/* ---------- 26. drzewo kategorii w filtrze ----------
   Kategorie to nawigacja i wygladaja tak samo z kazdego miejsca sklepu.
   Ponizej, po kresce, zaczynaja sie dopiero zawezenia. */
.ri-drzewo ul{list-style:none;margin:0;padding:0}
.ri-drzewo li{margin:0}
.ri-drzewo a{
  display:flex;align-items:center;gap:10px;
  padding:8px 10px;margin:0 -10px;border-radius:6px;
  color:var(--t2);font-size:14px;
  transition:background-color .15s var(--ease),color .15s var(--ease);
}
.ri-drzewo a span{flex:1;min-width:0}
.ri-drzewo a i{font-style:normal;color:var(--t3);font-size:11px}
.ri-drzewo a:hover{background-color:rgba(255,255,255,.05);color:var(--t1)}
.ri-drzewo a.is-tu{background-color:rgba(0,221,255,.10);color:var(--cyan);font-weight:600}
.ri-drzewo a.is-tu i{color:var(--cyan);opacity:.85}
.ri-drzewo-korzen{
  font-size:11px !important;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--t3) !important;
}
.ri-drzewo-korzen.is-tu{color:var(--cyan) !important}
.ri-drzewo-rodzic{font-weight:600}
.ri-drzewo-dzieci{
  margin:0 0 4px 10px !important;padding-left:12px !important;
  border-left:1px solid var(--line-soft);
}
.ri-drzewo-dzieci a{font-size:13.5px;color:var(--t3)}
.ri-drzewo-dzieci a:hover{color:var(--t1)}
/* Galaz nieodwiedzana zostaje widoczna, tylko lekko przygaszona. */
.ri-drzewo-galaz:not(.is-otwarta) .ri-drzewo-dzieci{opacity:.65}
.ri-drzewo-galaz.is-otwarta > .ri-drzewo-rodzic{color:var(--t1)}

/* kreska oddzielajaca nawigacje od zawezen */
.ri-f-rozdzial{
  margin:26px 0 18px;padding-top:20px;
  border-top:1px solid var(--line);
  font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--t3);
}

/* ---------- 27. plywajace przyciski w naszej szacie ----------
   Koszyk przyjechal bialy i kanciasty, przycisk zgody na ciasteczka
   niebieski. Oba wygladaly jak wklejone z innej strony. */

/* wysuwany koszyk */
/* bez podskakiwania - lista rzeczy, ktore migaja na tej stronie, ma byc pusta */

/* przycisk zgod na ciasteczka */
html body .cky-btn-revisit-wrapper{
  width:44px !important;height:44px !important;
  background-color:rgba(12,12,12,.92) !important;
  border:1px solid var(--line) !important;
  border-radius:14px !important;
  box-shadow:0 10px 30px rgba(0,0,0,.5) !important;
  backdrop-filter:blur(10px);
  transition:border-color .2s var(--ease),transform .2s var(--ease);
}
html body .cky-btn-revisit-wrapper:hover{border-color:var(--cyan) !important;transform:translateY(-2px)}
html body .cky-btn-revisit-wrapper .cky-btn-revisit{
  width:100% !important;height:100% !important;
  display:flex !important;align-items:center;justify-content:center;
  background:none !important;border:0 !important;padding:0 !important;
}
html body .cky-btn-revisit-wrapper img{
  width:19px !important;height:19px !important;
  filter:invert(1) opacity(.75);
  transition:filter .2s var(--ease);
}
html body .cky-btn-revisit-wrapper:hover img{filter:invert(1) opacity(1)}

/* okno zgod w ciemnej szacie */
html body .cky-consent-container .cky-consent-bar,
html body .cky-modal .cky-preference-center{
  background-color:#0c0c0c !important;
  border:1px solid var(--line) !important;
  border-radius:14px !important;
  color:var(--t2) !important;
}
html body .cky-title,html body .cky-preference-title{color:var(--t1) !important}
html body .cky-notice-des *,html body .cky-preference-content-wrapper *{color:var(--t3) !important}
html body .cky-btn-accept{background-color:var(--cyan) !important;border-color:var(--cyan) !important;color:#04141a !important}
html body .cky-btn-reject,html body .cky-btn-customize,html body .cky-btn-preferences{
  background-color:transparent !important;border-color:var(--line) !important;color:var(--t2) !important;
}
html body .cky-btn{border-radius:8px !important;font-family:inherit !important}

/* Plus i minus w wysuwanym koszyku: wtyczka daje im wlasny line-height,
   przez co cyfry i znaki siedzialy na roznych wysokosciach. */

/* pole kraju: schowane, ale nadal wysylane razem z formularzem */
.woocommerce-checkout .ri-ukryte,
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #shipping_country_field{display:none !important}

/* ---------- 28. koszyk na telefonie ----------
   WooCommerce ma wlasny uklad mobilny (klasa shop_table_responsive) i pisze
   go z !important. Probowalem go zastapic swoim i przegrywalem specyficznoscia,
   wiec zostaje jego uklad, a my dajemy tylko szate: kafelek na wiersz,
   czytelne etykiety i wyrownanie nazwy produktu do lewej. */
@media (max-width:600px){
  html body.woocommerce-cart table.shop_table{background:transparent;border:0}
  html body.woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item{
    position:relative;display:block;
    margin:0 0 12px;padding:14px 14px 10px;
    border:1px solid var(--line-soft) !important;border-radius:12px;
    background:#0d0d0d;
  }
  html body.woocommerce-cart table.shop_table tbody tr td{
    padding:7px 0 !important;border:0 !important;
  }
  /* etykieta z data-title (rysuje ja WooCommerce) w naszej typografii */
  html body.woocommerce-cart table.shop_table tr td::before{
    color:var(--t3);
    font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  }
  html body.woocommerce-cart table.shop_table td.product-name{
    text-align:left !important;padding:0 34px 6px 0 !important;
  }
  html body.woocommerce-cart table.shop_table td.product-name a{
    text-decoration:none !important;color:var(--t1);font-weight:600;
  }
  html body.woocommerce-cart table.shop_table td.product-thumbnail{
    display:block !important;text-align:left !important;padding:0 0 12px !important;
  }
  html body.woocommerce-cart table.shop_table td.product-thumbnail::before{display:none !important}
  html body.woocommerce-cart table.shop_table td.product-thumbnail img{
    display:block;width:84px !important;height:84px;object-fit:contain;
    border:1px solid var(--line-soft);border-radius:8px;background:#0d0d0d;
  }
  html body.woocommerce-cart table.shop_table td.product-remove{
    position:absolute;top:12px;right:12px;padding:0 !important;border:0 !important;
  }
  html body.woocommerce-cart table.shop_table td.product-remove::before{display:none !important}
  html body.woocommerce-cart table.shop_table td.actions{padding:14px 0 0 !important}
  html body.woocommerce-cart table.shop_table td.actions::before{display:none !important}
  html body.woocommerce-cart .coupon{flex-direction:column;align-items:stretch;gap:8px}
  html body.woocommerce-cart .coupon input#coupon_code{width:100%;min-width:0}
  html body.woocommerce-cart .coupon button,
  html body.woocommerce-cart td.actions button[name=update_cart]{width:100%}
}

/* Nazwa produktu w koszyku i zamowieniu to zwykly tekst, nie odnosnik
   w tresci artykulu - bez podkreslenia z .ri-tresc. */
html body.woocommerce-cart .ri-tresc a,
html body.woocommerce-checkout .ri-tresc a{text-decoration:none}
html body.woocommerce-cart table.shop_table td.product-name a{color:var(--t1);font-weight:600}
html body.woocommerce-cart table.shop_table td.product-name a:hover{color:var(--cyan)}
@media (max-width:600px){
  /* Nazwa produktu nie potrzebuje etykiety "Produkt:" - widac po niej samej. */
  html body.woocommerce-cart table.shop_table td.product-name::before{display:none !important}
}

/* ---------- 29. finalizacja na telefonie i tablecie ----------
   Sekcja 21 poszerzyla podsumowanie na dwie rowne kolumny, ale zrobila to
   bez zapytania medialnego, wiec nadpisala regule mobilna z sekcji 13
   i formularz zostawal na dwoch kolumnach po 147 px. */
@media (max-width:900px){
  html body.woocommerce-checkout form.checkout{grid-template-columns:minmax(0,1fr) !important;gap:26px}
  html body.woocommerce-checkout form.checkout #customer_details,
  html body.woocommerce-checkout form.checkout #order_review_heading,
  html body.woocommerce-checkout form.checkout #order_review{grid-column:1 !important;grid-row:auto !important}
  html body.woocommerce-checkout #order_review{padding:20px}
  html body.woocommerce-checkout .col2-set .col-1,
  html body.woocommerce-checkout .col2-set .col-2{width:100%;float:none}
  html body.woocommerce-cart .woocommerce{grid-template-columns:minmax(0,1fr) !important}
}
@media (max-width:600px){
  html body.woocommerce-checkout form .form-row{width:100% !important;float:none !important}
  html body.woocommerce-checkout #order_review table.shop_table td,
  html body.woocommerce-checkout #order_review table.shop_table th{font-size:14px}
}

/* Okno zgod na ciasteczka: CookieYes klei u dolu bialy gradient
   (span.cky-footer-shadow), ktory na ciemnym tle wyglada jak plama. */
html body .cky-footer-shadow{
  background-image:linear-gradient(rgba(12,12,12,0) 0%,rgba(12,12,12,.96) 100%) !important;
  background-color:transparent !important;
}
html body .cky-preference-body-wrapper,
html body .cky-accordion,
html body .cky-accordion-item,
html body .cky-footer-wrapper{background-color:transparent !important;border-color:var(--line-soft) !important}
html body .cky-accordion-header-des,html body .cky-accordion-header-des *{color:var(--t3) !important}
html body .cky-accordion-btn{color:var(--t2) !important}
html body .cky-always-active{color:var(--green) !important}
html body .cky-switch input{accent-color:var(--cyan)}

/* Sekcja 30 (dopasowanie wygladu wtyczki fly cart) zniknela razem z ta
   wtyczka 14.08.2026. Wysuwany koszyk rysujemy sami: inc/koszyk.php,
   style w sekcji 36 na koncu pliku. */

/* ---------- 31. czytelnosc koszyka i podsumowania ----------
   Wszystko bylo na miejscu, ale w jednej gestej kolumnie: etykiety,
   kwoty, kupon i VAT zlewaly sie w jeden blok. Teraz kazdy wiersz to
   para "opis po lewej - kwota po prawej", a suma jest wyraznie oddzielona. */

/* --- podsumowanie koszyka i zamowienia --- */
.woocommerce-cart .cart_totals table.shop_table,
.woocommerce-checkout #order_review table.shop_table{
  background:transparent;border:0;margin:0;
}
.woocommerce-cart .cart_totals table.shop_table tr,
.woocommerce-checkout #order_review table.shop_table tbody tr,
.woocommerce-checkout #order_review table.shop_table tfoot tr{
  display:flex;align-items:baseline;justify-content:space-between;gap:18px;
  padding:12px 0;border-bottom:1px solid var(--line-soft);
}
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-checkout #order_review table.shop_table th{
  flex:0 0 auto;padding:0 !important;border:0 !important;background:none !important;
  color:var(--t3) !important;
  font-size:11px !important;font-weight:800 !important;letter-spacing:.12em;text-transform:uppercase;
  text-align:left !important;white-space:nowrap;
}
.woocommerce-cart .cart_totals table.shop_table td,
.woocommerce-checkout #order_review table.shop_table td{
  flex:1 1 auto;padding:0 !important;border:0 !important;
  text-align:right !important;color:var(--t2);
}
/* wiersz sumy: grubsza kreska, wieksza kwota, VAT osobno pod spodem */
.woocommerce-cart .cart_totals tr.order-total,
.woocommerce-checkout #order_review tr.order-total{
  margin-top:6px;padding-top:16px;
  border-top:1px solid var(--line) !important;border-bottom:0 !important;
}
.woocommerce-cart .cart_totals tr.order-total th,
.woocommerce-checkout #order_review tr.order-total th{
  color:var(--t1) !important;font-size:12px !important;
}
.woocommerce-cart .cart_totals tr.order-total td,
.woocommerce-checkout #order_review tr.order-total td{
  color:var(--amber);font-size:22px;font-weight:700;line-height:1.2;
}
.woocommerce-cart .cart_totals tr.order-total small,
.woocommerce-checkout #order_review tr.order-total small,
.woocommerce-cart .cart_totals .includes_tax,
.woocommerce-checkout #order_review .includes_tax{
  display:block;margin-top:4px;
  color:var(--t3) !important;font-size:11px;font-weight:600;letter-spacing:.04em;
}
.woocommerce-cart .cart_totals .includes_tax .amount,
.woocommerce-checkout #order_review .includes_tax .amount{color:var(--t3) !important;font-size:11px !important;font-weight:600 !important}

/* wysylka: metoda i czas dostawy jedna pod druga, bez scisku */
.woocommerce-cart .cart_totals tr.shipping td,
.woocommerce-checkout #order_review tr.shipping td{line-height:1.5}
.woocommerce-cart .cart_totals ul#shipping_method,
.woocommerce-checkout #order_review ul#shipping_method{margin:0;padding:0;list-style:none;text-align:right}
.woocommerce-cart .cart_totals ul#shipping_method li,
.woocommerce-checkout #order_review ul#shipping_method li{margin:0;padding:0}
.woocommerce-cart .woocommerce-shipping-destination,
.woocommerce-checkout .woocommerce-shipping-destination{
  display:block;margin-top:6px;color:var(--t3);font-size:11.5px;
}
.woocommerce-shipping-methods label{
  text-transform:none !important;letter-spacing:0 !important;
  font-size:14px !important;font-weight:600 !important;color:var(--t2) !important;
}

/* kupon w podsumowaniu: nazwa mniej krzykliwa, kwota na zielono */
.woocommerce-cart .cart-discount th,
.woocommerce-checkout .cart-discount th{color:var(--t3) !important}
.woocommerce-cart .cart-discount td,
.woocommerce-checkout .cart-discount td{color:var(--green)}
.woocommerce-cart .cart-discount .woocommerce-remove-coupon,
.woocommerce-checkout .cart-discount .woocommerce-remove-coupon{
  display:inline-block;margin-left:8px;
  color:var(--t3) !important;font-size:11px;text-decoration:none;
}
.woocommerce-cart .cart-discount .woocommerce-remove-coupon:hover{color:var(--red) !important}

/* lista produktow w podsumowaniu zamowienia: ilosc przy nazwie */
.woocommerce-checkout #order_review .product-name{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.woocommerce-checkout #order_review .product-quantity{
  flex:0 0 auto;
  padding:2px 8px;border-radius:100px;
  background:rgba(255,255,255,.07);
  color:var(--t2);font-size:11px;font-weight:800;
}
.woocommerce-checkout #order_review table.shop_table thead tr{border-bottom:1px solid var(--line)}
.woocommerce-checkout #order_review table.shop_table tbody tr.cart_item{padding:14px 0}

/* ---------- 32. punkt odbioru DPD ---------- */
.ri-punkt{
  display:none;
  margin:22px 0 0;padding:22px;
  border:1px solid rgba(252,161,0,.3);border-radius:12px;
  background:rgba(252,161,0,.05);
}
.ri-punkt.is-widoczny{display:block}
.ri-punkt h3{
  margin:0 0 8px !important;
  color:var(--amber) !important;
  font-size:12px !important;font-weight:800 !important;letter-spacing:.14em;text-transform:uppercase;
}
.ri-punkt-opis{margin:0 0 16px;color:var(--t3);font-size:13.5px;line-height:1.6}
.ri-punkt-opis a{color:var(--amber);text-decoration:underline;text-underline-offset:3px}
.ri-punkt .form-row{margin-bottom:12px}
.ri-punkt input.input-text{max-width:340px}

/* ---------- 33. wysuwany koszyk: miniatura i przyciski na twardo ----------
   Wtyczka rysuje miniature na trzy sposoby naraz (obrazek, tlo linku
   i pseudoelement), zaleznie od ustawien i wersji. Zostawiamy wylacznie
   prawdziwy <img>, reszte gasimy, zeby nie bylo dwoch zdjec obok siebie. */
/* gdyby wtyczka wstawila drugi obrazek, pokazujemy tylko pierwszy */

/* Plus i minus: kreski liczone od krawedzi, nie przez transform.
   transform potrafi zostac nadpisany przez animacje wtyczki i wtedy
   znak ucieka ze srodka. */

/* Skoro adres koszyka i tak prowadzi do kasy, dwa przyciski robily to samo.
   Zostaje jeden, na calej szerokosci. */

/* ---------- 34. ilosc sztuk: wlasne minus i plus ----------
   Systemowe strzalki w polu liczbowym sa male, szare i nie da sie
   ich ostylowac. Chowamy je i kladziemy obok dwa wlasne przyciski.
   Kreski rysujemy tlem, nie znakiem z fonta, zeby zawsze byly na srodku. */
.ri-ilosc{
  display:inline-flex !important;align-items:stretch;
  border:1px solid var(--line);border-radius:10px;overflow:hidden;
  background:#0f0f0f;
}
.ri-ilosc input.qty{
  width:52px !important;height:48px !important;padding:0 !important;margin:0 !important;
  border:0 !important;border-radius:0 !important;background:transparent !important;
  color:var(--t1) !important;text-align:center;
  font-family:inherit;font-size:15px;font-weight:700;
  -moz-appearance:textfield;appearance:textfield;
}
.ri-ilosc input.qty::-webkit-outer-spin-button,
.ri-ilosc input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ri-ilosc input.qty:focus{outline:none;box-shadow:none !important}

.ri-ilosc-btn{
  position:relative;flex:0 0 42px;width:42px;height:48px;padding:0;
  border:0;background:transparent;color:var(--t2);
  cursor:pointer;transition:background-color .18s var(--ease),color .18s var(--ease);
}
.ri-ilosc-btn:hover:not(:disabled){background:rgba(255,255,255,.06);color:#fff}
.ri-ilosc-btn:active:not(:disabled){background:rgba(255,255,255,.1)}
.ri-ilosc-btn:disabled{opacity:.3;cursor:not-allowed}
.ri-ilosc-btn::before,.ri-ilosc-btn::after{
  content:'';position:absolute;inset:0;margin:auto;
  background-color:currentColor;border-radius:1px;
}
.ri-ilosc-btn::before{width:13px;height:2px}
.ri-ilosc-minus::after{display:none}
.ri-ilosc-plus::after{width:2px;height:13px}
.ri-ilosc-minus{border-right:1px solid var(--line)}
.ri-ilosc-plus{border-left:1px solid var(--line)}

/* WooCommerce dokleja do formularza clearfix ::before/::after. W ukladzie
   flex robi sie z tego pusty element, ktory razem z odstepem spycha pole
   ilosci o kilkanascie pikseli w prawo i psuje rownanie z przyciskiem. */
div.product form.cart::before,
div.product form.cart::after{content:none !important;display:none !important}

/* karta produktu: pole ilosci i przycisk w jednej linii */
div.product form.cart .quantity.ri-ilosc{height:52px}
div.product form.cart .quantity.ri-ilosc input.qty{height:50px !important;width:56px !important}
div.product form.cart .quantity.ri-ilosc .ri-ilosc-btn{height:50px}

/* w koszyku pole jest wezsze, zeby wiersz sie miescil */
.woocommerce-cart .ri-ilosc input.qty{width:44px !important}
.woocommerce-cart .ri-ilosc .ri-ilosc-btn{flex-basis:36px;width:36px}

/* Na telefonie pole nie rozciaga sie na cala szerokosc: jedna cyfra w
   pasku szerokim na pol ekranu wyglada jak pomylka. Pudelko zostaje
   waskie, a przycisk zakupu i tak schodzi do nastepnego wiersza. */
@media (max-width:600px){
  .ri-ilosc-btn{flex-basis:48px;width:48px}
  div.product form.cart{gap:10px}
  div.product form.cart .quantity.ri-ilosc{width:auto;flex:0 0 auto}
  div.product form.cart .quantity.ri-ilosc input.qty{width:60px !important;flex:0 0 60px}
  div.product form.cart button.single_add_to_cart_button,
  div.product form.cart .single_add_to_cart_button.button{min-width:0;flex:1 1 100%}
}

/* ---------- 35. porownanie modeli Artisan ---------- */
.ri-modele{margin:56px 0 0}
.ri-modele-lista{
  display:grid;gap:16px;margin-top:20px;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}
.ri-model{
  display:flex;flex-direction:column;gap:12px;
  padding:22px;border:1px solid var(--line);border-radius:14px;background:#0c0c0c;
}
.ri-model-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ri-model-head h3{margin:0;font-size:19px;font-weight:700;letter-spacing:-.01em;color:#fff}
.ri-model-typ{
  color:var(--t3);font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
}
.ri-model-skala{display:flex;flex-direction:column;gap:6px}
.ri-model-skala-pas{
  position:relative;display:block;height:3px;border-radius:2px;
  background:linear-gradient(90deg,rgba(255,255,255,.22),rgba(0,221,255,.55));
}
.ri-model-skala-pas i{
  position:absolute;top:50%;width:11px;height:11px;margin-left:-5.5px;
  border-radius:50%;background:#fff;transform:translateY(-50%);
  box-shadow:0 0 0 3px #0c0c0c;
}
.ri-model-skala-opis{display:flex;justify-content:space-between}
.ri-model-skala-opis b{
  color:var(--t3);font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
}
.ri-model p{margin:0;color:var(--t2);font-size:14px;line-height:1.65}
.ri-model-cechy{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.ri-model-cechy li{
  position:relative;padding-left:16px;color:var(--t3);font-size:12.5px;line-height:1.5;
}
.ri-model-cechy li::before{
  content:'';position:absolute;left:0;top:8px;width:5px;height:5px;
  border-radius:50%;background:var(--cyan);opacity:.75;
}
.ri-model-link{
  margin-top:auto;padding-top:12px;border-top:1px solid var(--line-soft);
  color:var(--cyan);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  text-decoration:none;
}
.ri-model-link:hover{text-decoration:underline;text-underline-offset:3px}

@media (max-width:520px){
  .ri-modele-lista{grid-template-columns:1fr}
  .ri-model{padding:18px}
}


.ri-kosz-tlo{
  position:fixed;inset:0;z-index:9998;
  background:rgba(0,0,0,.62);
  opacity:0;transition:opacity .3s var(--ease);
}
body.ri-kosz-otwarty .ri-kosz-tlo{opacity:1}

.ri-kosz{
  position:fixed;top:0;right:0;bottom:0;z-index:9999;
  display:flex;flex-direction:column;
  width:min(420px,100%);
  background:var(--bg);
  border-left:1px solid rgba(0,221,255,.28);
  box-shadow:-18px 0 50px rgba(0,0,0,.75);
  transform:translateX(100%);
  transition:transform .32s var(--ease);
  outline:none;
}
body.ri-kosz-otwarty .ri-kosz{transform:translateX(0)}
.ri-kosz.is-czeka{pointer-events:none}
.ri-kosz.is-czeka .ri-kosz-body{opacity:.55;transition:opacity .15s var(--ease)}

/* pasek u gory */
.ri-kosz-gora{
  flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:20px 22px;border-bottom:1px solid var(--line-soft);
}
.ri-kosz-tytul{
  color:#fff;font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
}
.ri-kosz-x{
  display:grid;place-items:center;width:36px;height:36px;padding:0;
  border:0;border-radius:9px;background:transparent;color:var(--t2);cursor:pointer;
  transition:color .2s var(--ease),background-color .2s var(--ease),transform .25s var(--ease);
}
.ri-kosz-x svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.ri-kosz-x:hover{color:#fff;background:rgba(255,255,255,.07);transform:rotate(90deg)}

/* zawartosc */
.ri-kosz-body{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}
.ri-kosz-lista{
  flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;
  padding:8px 22px;
}
.ri-kosz-lista::-webkit-scrollbar{width:8px}
.ri-kosz-lista::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:8px}

/* pozycja */
.ri-kosz-poz{
  position:relative;display:flex;align-items:flex-start;gap:14px;
  padding:16px 30px 16px 0;border-bottom:1px solid var(--line-soft);
}
.ri-kosz-poz:last-child{border-bottom:0}
.ri-kosz-poz.is-znika{opacity:.4}

.ri-kosz-foto{
  flex:0 0 66px;width:66px;height:66px;
  display:block;border:1px solid var(--line-soft);border-radius:10px;
  background:#0d0d0d;overflow:hidden;
}
.ri-kosz-foto img{width:100%;height:100%;object-fit:contain;display:block}

.ri-kosz-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:6px}
.ri-kosz-nazwa{
  color:var(--t1);font-size:13.5px;font-weight:600;line-height:1.4;text-decoration:none;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
a.ri-kosz-nazwa:hover{color:var(--cyan)}
.ri-kosz-warianty{color:var(--t3);font-size:11.5px;line-height:1.45}
.ri-kosz-warianty p{margin:0}
.ri-kosz-warianty dl,.ri-kosz-warianty dt,.ri-kosz-warianty dd{margin:0;display:inline;font-size:inherit}
.ri-kosz-warianty dt{font-weight:600}
.ri-kosz-warianty dd::after{content:'';display:block}

.ri-kosz-dol{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:4px;flex-wrap:wrap;
}

/* ilosc: kreski rysowane tlem, wiec zawsze na srodku przycisku */
.ri-kosz-ilosc{
  display:inline-flex;align-items:stretch;
  border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#0f0f0f;
}
.ri-kosz-btn{
  position:relative;flex:0 0 32px;width:32px;height:32px;padding:0;
  border:0;background:transparent;color:var(--t2);cursor:pointer;
  transition:background-color .18s var(--ease),color .18s var(--ease);
}
.ri-kosz-btn::before,.ri-kosz-btn::after{
  content:'';position:absolute;inset:0;margin:auto;
  background-color:currentColor;border-radius:1px;
}
.ri-kosz-btn::before{width:11px;height:2px}
.ri-kosz-btn::after{display:none}
.ri-kosz-btn--plus::after{display:block;width:2px;height:11px}
.ri-kosz-btn:hover:not(:disabled){background:rgba(255,255,255,.07);color:#fff}
.ri-kosz-btn:disabled{opacity:.3;cursor:not-allowed}
.ri-kosz-szt{
  display:grid;place-items:center;min-width:34px;padding:0 4px;
  border-left:1px solid var(--line);border-right:1px solid var(--line);
  color:var(--t1);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;
}
.ri-kosz-cena{color:var(--amber);font-size:14px;font-weight:700;white-space:nowrap}
.ri-kosz-cena .amount{color:inherit}

.ri-kosz-usun{
  position:absolute;top:14px;right:0;
  display:grid;place-items:center;width:26px;height:26px;padding:0;
  border:0;border-radius:7px;background:transparent;color:var(--t3);cursor:pointer;
  transition:color .18s var(--ease),background-color .18s var(--ease);
}
.ri-kosz-usun svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.ri-kosz-usun:hover{color:var(--red);background:rgba(255,77,94,.1)}

/* stopka */
.ri-kosz-stopka{
  flex:0 0 auto;padding:18px 22px 22px;
  border-top:1px solid var(--line);background:var(--bg);
}
.ri-kosz-wiersz{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  margin-bottom:8px;color:var(--t3);font-size:12px;
}
.ri-kosz-wiersz b{color:var(--t1);font-size:16px;font-weight:700}
.ri-kosz-wiersz .amount{color:inherit}
.ri-kosz-wiersz--drobne b{color:var(--t2);font-size:12.5px;font-weight:600}

.ri-kosz-kup{
  display:flex;align-items:center;justify-content:center;gap:10px;
  margin-top:14px;padding:16px 22px;border-radius:9px;
  background:var(--cyan);color:#04141a;text-decoration:none;
  font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  transition:filter .2s var(--ease),box-shadow .25s var(--ease);
}
.ri-kosz-kup svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ri-kosz-kup:hover{filter:brightness(1.08);box-shadow:0 10px 30px rgba(0,221,255,.2)}
.ri-kosz-dalej{
  display:block;width:100%;margin-top:10px;padding:10px;
  border:0;background:transparent;color:var(--t3);
  font-family:inherit;font-size:12px;cursor:pointer;
  transition:color .18s var(--ease);
}
.ri-kosz-dalej:hover{color:var(--cyan)}

/* pusty koszyk */
.ri-kosz-pusto{
  flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  padding:40px 22px;text-align:center;
}
.ri-kosz-pusto svg{width:40px;height:40px;fill:none;stroke:var(--t3);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;opacity:.5}
.ri-kosz-pusto p{margin:0;color:var(--t3);font-size:14px}

@media (max-width:520px){
  .ri-kosz{width:100%;border-left:0}
  .ri-kosz-gora{padding:16px 18px}
  .ri-kosz-lista{padding:6px 18px}
  .ri-kosz-stopka{padding:16px 18px 20px}
  .ri-kosz-foto{flex-basis:58px;width:58px;height:58px}
  .ri-kosz-poz{gap:12px;padding-right:28px}
}

/* Gdy szuflada jest otwarta, tlo strony nie przewija sie pod palcem. */
body.ri-kosz-otwarty{overflow:hidden}

/* ---------- 37. plywajacy przycisk koszyka ----------
   Prawy dolny rog, zawsze pod reka. Chowa sie tylko wtedy, gdy szuflada
   jest juz otwarta, zeby nie wisiec nad wlasna trescia. */
.ri-kosz-fab{
  position:fixed;right:24px;bottom:24px;z-index:9990;
  display:grid;place-items:center;
  width:56px;height:56px;padding:0;
  border:1px solid var(--line);border-radius:50%;
  background:rgba(12,12,12,.92);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  color:var(--t1);cursor:pointer;
  box-shadow:0 10px 30px rgba(0,0,0,.55);
  transition:transform .25s var(--ease),border-color .25s var(--ease),
             color .2s var(--ease),opacity .25s var(--ease),box-shadow .25s var(--ease);
}
.ri-kosz-fab svg{
  width:23px;height:23px;fill:none;stroke:currentColor;
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
}
.ri-kosz-fab:hover{
  color:var(--cyan);border-color:rgba(0,221,255,.45);
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(0,0,0,.6),0 0 0 4px rgba(0,221,255,.08);
}
.ri-kosz-fab:active{transform:translateY(0)}

/* licznik przyklejony do prawego gornego rogu przycisku */
.ri-kosz-fab .ri-badge{
  position:absolute;top:-3px;right:-3px;
  min-width:21px;height:21px;padding:0 6px;
  display:grid;place-items:center;
  border-radius:100px;border:2px solid var(--bg);
  background:var(--cyan);color:#04141a;
  font-size:11px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;
}
.ri-kosz-fab .ri-badge[hidden]{display:none}

/* przy otwartej szufladzie przycisk schodzi z drogi */
body.ri-kosz-otwarty .ri-kosz-fab{
  opacity:0;pointer-events:none;transform:translateY(8px) scale(.9);
}

@media (max-width:520px){
  .ri-kosz-fab{right:16px;bottom:16px;width:52px;height:52px}
  .ri-kosz-fab svg{width:21px;height:21px}
}

/* Druk i tryb ograniczonego ruchu: bez fajerwerkow. */
@media (prefers-reduced-motion:reduce){
  .ri-kosz-fab,.ri-kosz,.ri-kosz-tlo{transition:none}
}
@media print{
  .ri-kosz-fab,.ri-kosz,.ri-kosz-tlo{display:none}
}

/* ---------- 38. przelaczanie stron w sklepie ----------
   WooCommerce zostawia tu swoje domyslne kolory (jasnoszare tlo, fioletowy
   tekst) i zero odstepu od siatki produktow. Ubieramy to w te sama szate,
   co przelaczanie stron w tresci, i odsuwamy od kafelkow. */
.woocommerce-pagination{
  margin:44px 0 8px;
  display:flex;justify-content:center;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers{
  display:flex;flex-wrap:wrap;gap:8px;justify-content:center;
  margin:0;padding:0;list-style:none;border:0;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li{margin:0;border:0;overflow:visible}

/* Uwaga: WooCommerce daje klase `page-numbers` ZAROWNO liscie <ul>, jak
   i pojedynczym <a>/<span>. Dlatego celujemy w konkretne znaczniki,
   inaczej reguly laduja takze na calej liscie i uklad sie sypie. */
.woocommerce nav.woocommerce-pagination ul li a.page-numbers,
.woocommerce nav.woocommerce-pagination ul li span.page-numbers{
  display:grid;place-items:center;
  min-width:42px;height:42px;padding:0 12px;
  border:1px solid var(--line);border-radius:10px;
  background-color:transparent;color:var(--t2);
  font-size:14px;font-weight:700;line-height:1;text-decoration:none;
  transition:border-color .18s var(--ease),color .18s var(--ease),background-color .18s var(--ease);
}
.woocommerce nav.woocommerce-pagination ul li a.page-numbers:hover,
.woocommerce nav.woocommerce-pagination ul li a.page-numbers:focus{
  border-color:rgba(0,221,255,.5);color:#fff;background-color:rgba(0,221,255,.07);
}
.woocommerce nav.woocommerce-pagination ul li span.page-numbers.current,
.woocommerce nav.woocommerce-pagination ul li a.page-numbers.current{
  background-color:var(--cyan);border-color:var(--cyan);color:#04141a;
}
.woocommerce nav.woocommerce-pagination ul li span.page-numbers.dots{
  border-color:transparent;background-color:transparent;color:var(--t3);
}
/* strzalki: znak z fonta zastapiony ksztaltem, zeby siedzial na srodku */
.woocommerce nav.woocommerce-pagination ul li a.page-numbers.next,
.woocommerce nav.woocommerce-pagination ul li a.page-numbers.prev{
  position:relative;text-indent:-9999px;overflow:hidden;padding:0;
}
.woocommerce nav.woocommerce-pagination ul li a.page-numbers.next::before,
.woocommerce nav.woocommerce-pagination ul li a.page-numbers.prev::before{
  content:'';position:absolute;inset:0;margin:auto;
  width:9px;height:9px;
  border-top:2px solid currentColor;border-right:2px solid currentColor;
  text-indent:0;
}
.woocommerce nav.woocommerce-pagination ul li a.page-numbers.next::before{transform:translateX(-2px) rotate(45deg)}
.woocommerce nav.woocommerce-pagination ul li a.page-numbers.prev::before{transform:translateX(2px) rotate(-135deg)}

/* informacja "Wyswietlanie 1-12 z 19" nad siatka, gdy jest */
.woocommerce-result-count{color:var(--t3);font-size:12.5px;margin:0 0 16px}

@media (max-width:520px){
  .woocommerce-pagination{margin:32px 0 4px}
  .woocommerce nav.woocommerce-pagination ul li a.page-numbers,
  .woocommerce nav.woocommerce-pagination ul li span.page-numbers{min-width:38px;height:38px;font-size:13px}
}

/* ---------- 39. os modeli Artisan na karcie produktu ---------- */
.ri-os{
  max-width:var(--wrap);margin:56px auto 0;padding:30px 26px 26px;
  border:1px solid var(--line);border-radius:16px;background:#0c0c0c;
}
.ri-os-head h2{margin:0 0 8px;font-size:21px;font-weight:700;letter-spacing:-.01em;color:#fff}
.ri-os-head p{margin:0 0 34px;color:var(--t3);font-size:13.5px;line-height:1.6;max-width:62ch}

/* pasek */
.ri-os-pas{display:flex;align-items:flex-start;gap:14px;margin-bottom:30px}
.ri-os-etykieta{
  flex:0 0 auto;padding-top:16px;
  color:var(--t3);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
}
.ri-os-tor{position:relative;flex:1 1 auto;height:76px;margin:0 6px}
.ri-os-linia{
  position:absolute;left:0;right:0;top:22px;height:3px;border-radius:2px;
  background:linear-gradient(90deg,rgba(255,255,255,.22),rgba(0,221,255,.55));
}

/* punkt na osi */
.ri-os-punkt{
  position:absolute;top:0;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:14px 4px 0;border:0;background:transparent;cursor:pointer;
  color:var(--t3);font-family:inherit;
}
.ri-os-kropka{
  width:15px;height:15px;border-radius:50%;
  background:#3a3a3a;box-shadow:0 0 0 4px #0c0c0c;
  transition:background-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease);
}
.ri-os-nazwa{
  font-size:11.5px;font-weight:700;line-height:1.2;white-space:nowrap;
  transition:color .2s var(--ease);
}
.ri-os-punkt:hover .ri-os-kropka{background:var(--t2);transform:scale(1.15)}
.ri-os-punkt:hover .ri-os-nazwa{color:#fff}
.ri-os-punkt[aria-pressed="true"] .ri-os-kropka{background:var(--cyan);transform:scale(1.25)}
.ri-os-punkt[aria-pressed="true"] .ri-os-nazwa{color:#fff}
.ri-os-punkt.is-tu .ri-os-kropka{background:#fff;box-shadow:0 0 0 4px #0c0c0c,0 0 0 6px rgba(255,255,255,.25)}
.ri-os-punkt.is-tu .ri-os-nazwa{color:#fff}
.ri-os-tu{
  padding:2px 7px;border-radius:100px;background:rgba(255,255,255,.1);
  color:#fff;font-size:8.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;
}

/* karta porownawcza */
.ri-os-karta{
  padding:22px;border:1px solid var(--line-soft);border-radius:13px;
  background:rgba(255,255,255,.02);
}
.ri-os-karta[hidden]{display:none}
.ri-os-karta-gora{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.ri-os-znacznik{
  align-self:flex-start;padding:4px 10px;border-radius:100px;
  border:1px solid rgba(0,221,255,.35);background:rgba(0,221,255,.08);
  color:var(--cyan);font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
}
.ri-os-znacznik.is-tu{
  border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:var(--t2);
}
.ri-os-karta h3{
  margin:0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  font-size:19px;font-weight:700;color:#fff;
}
.ri-os-karta h3 span{
  color:var(--t3);font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
}
.ri-os-opis{margin:0 0 16px;color:var(--t2);font-size:14px;line-height:1.65}

.ri-os-dane{display:flex;flex-wrap:wrap;gap:10px 32px;margin:0}
.ri-os-dane > div{display:flex;flex-direction:column;gap:3px}
.ri-os-dane dt{
  color:var(--t3);font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
}
.ri-os-dane dd{margin:0;color:var(--t2);font-size:13px}

.ri-os-roznica{
  margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line-soft);
  color:var(--t3);font-size:12.5px;
}
.ri-os-cta{
  display:inline-flex;align-items:center;gap:9px;margin-top:14px;
  padding:12px 20px;border-radius:9px;
  background:var(--cyan);color:#04141a;text-decoration:none;
  font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  transition:filter .2s var(--ease),box-shadow .25s var(--ease);
}
.ri-os-cta svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ri-os-cta:hover{filter:brightness(1.08);box-shadow:0 10px 26px rgba(0,221,255,.2)}

/* Na waskim ekranie pasek robi sie pionowy: podpisy przy 5 punktach
   nie zmieszcza sie obok siebie na 375 px. */
@media (max-width:700px){
  .ri-os{padding:22px 18px;margin-top:40px;border-radius:14px}
  .ri-os-pas{flex-direction:column;gap:0}
  .ri-os-etykieta{padding-top:0;align-self:flex-start}
  .ri-os-etykieta--p{align-self:flex-end}
  .ri-os-tor{
    width:100%;height:auto;margin:10px 0;
    display:flex;flex-direction:column;gap:2px;
  }
  .ri-os-linia{
    left:7px;right:auto;top:0;bottom:0;width:3px;height:auto;
    background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(0,221,255,.55));
  }
  .ri-os-punkt{
    position:static;transform:none;
    flex-direction:row;align-items:center;gap:12px;
    width:100%;padding:9px 0;
  }
  .ri-os-kropka{flex:0 0 15px}
  .ri-os-nazwa{font-size:13px}
  .ri-os-karta{padding:18px}
  .ri-os-dane{gap:12px 24px}
}

/* ---------- 40. sygnal dodania do koszyka ----------
   Zamiast lecacego zdjecia (odrzucone jako zbyt nachalne) krotkie
   pulsniecie ikon koszyka: plywajacej i tej w naglowku. */
.ri-kosz-fab.is-puls,
.ri-hd .ri-ico.is-puls{
  animation:ri-puls .7s var(--ease);
}
@keyframes ri-puls{
  0%   {transform:scale(1)}
  30%  {transform:scale(1.16)}
  55%  {transform:scale(.96)}
  100% {transform:scale(1)}
}
.ri-kosz-fab.is-puls{border-color:rgba(0,221,255,.55)}
.ri-hd .ri-ico.is-puls{color:var(--cyan)}

@media (prefers-reduced-motion:reduce){
  .ri-kosz-fab.is-puls,.ri-hd .ri-ico.is-puls{animation:none}
}

/* ---------- 41. podpowiedz o slizgaczach na karcie podkladki ----------
   Ma wygladac jak notatka na marginesie, nie jak reklama: bez ramki
   w kolorze marki, bez wykrzyknikow, cena bez wyroznienia. */
.ri-slizg{
  /* `div.product` na karcie produktu jest siatka (galeria + opis), wiec bez
     tego blok wpadlby do jednej kolumny i mial szerokosc miniatury. */
  grid-column:1 / -1;
  max-width:var(--wrap);margin:46px auto 0;padding:24px;
  display:flex;align-items:center;gap:26px;flex-wrap:wrap;
  border:1px solid var(--line-soft);border-radius:14px;background:rgba(255,255,255,.02);
}
.ri-slizg-txt{flex:1 1 320px;min-width:0}
.ri-slizg-kicker{
  display:block;margin-bottom:8px;
  color:var(--t3);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
}
.ri-slizg-txt p{margin:0;color:var(--t2);font-size:14.5px;line-height:1.65}
.ri-slizg-txt b{color:var(--t1);font-weight:600}
.ri-slizg-info{margin-top:10px !important;color:var(--t3) !important;font-size:13.5px !important}
.ri-slizg-info a{color:var(--cyan);text-decoration:underline;text-underline-offset:2px}

.ri-slizg-karta{
  flex:0 0 auto;display:flex;align-items:center;gap:14px;
  padding:12px 16px 12px 12px;border:1px solid var(--line);border-radius:11px;
  background:#0d0d0d;text-decoration:none;
  transition:border-color .2s var(--ease),background-color .2s var(--ease);
}
.ri-slizg-karta:hover{border-color:rgba(0,221,255,.4);background:#101010}
.ri-slizg-foto{flex:0 0 58px;width:58px;height:58px;border-radius:8px;overflow:hidden;background:#111}
.ri-slizg-foto img{width:100%;height:100%;object-fit:contain;display:block}
.ri-slizg-dane{display:flex;flex-direction:column;gap:3px;min-width:0}
.ri-slizg-nazwa{
  color:var(--t1);font-size:13px;font-weight:600;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:210px;
}
.ri-slizg-cena{color:var(--t2);font-size:13px}
.ri-slizg-cena .amount{color:inherit}
.ri-slizg-cta{
  margin-top:2px;color:var(--cyan);
  font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
}

@media (max-width:760px){
  .ri-slizg{margin-top:34px;padding:20px;gap:18px}
  .ri-slizg-karta{width:100%}
  .ri-slizg-nazwa{max-width:none}
}

/* ---------- 42. podpowiedz o slizgaczach w koszyku ----------
   Dwa warianty tej samej mysli: waski w wysuwanej szufladzie i szeroki
   na stronie /koszyk/. Oba maja byc dopiskiem, nie banerem: bez tla
   w kolorze marki, bez ramki, ktora krzyczy. */

/* --- szuflada --- */
.ri-kosz-sug{
  margin:4px 0 18px;padding:16px 0 0;
  border-top:1px solid var(--line-soft);
}
.ri-kosz-sug-txt{margin:0 0 12px;color:var(--t3);font-size:13px;line-height:1.6}
.ri-kosz-sug-txt b{color:var(--t2);font-weight:600}

.ri-kosz-sug-poz{
  display:flex;align-items:center;gap:12px;
  padding:10px;border:1px solid var(--line-soft);border-radius:10px;background:rgba(255,255,255,.02);
}
.ri-kosz-sug-foto{flex:0 0 46px;width:46px;height:46px;border-radius:7px;overflow:hidden;background:#111}
.ri-kosz-sug-foto img{width:100%;height:100%;object-fit:contain;display:block}
.ri-kosz-sug-dane{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}
.ri-kosz-sug-nazwa{
  color:var(--t2);font-size:12.5px;font-weight:600;line-height:1.35;text-decoration:none;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  transition:color .18s var(--ease);
}
.ri-kosz-sug-nazwa:hover{color:#fff}
.ri-kosz-sug-cena{color:var(--t3);font-size:12px}
.ri-kosz-sug-cena .amount{color:inherit}

.ri-kosz-sug-btn{
  flex:0 0 auto;padding:9px 14px;
  border:1px solid rgba(0,221,255,.35);border-radius:8px;
  background:transparent;color:var(--cyan);
  font-family:inherit;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  cursor:pointer;
  transition:background-color .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease);
}
.ri-kosz-sug-btn:hover{background:var(--cyan);color:#04141a;border-color:var(--cyan)}
.ri-kosz-sug-btn[disabled]{opacity:.55;cursor:default}

.ri-kosz-sug-link{
  display:inline-block;margin-top:10px;
  color:var(--t3);font-size:12px;text-decoration:underline;text-underline-offset:2px;
  transition:color .18s var(--ease);
}
.ri-kosz-sug-link:hover{color:var(--cyan)}

/* --- strona koszyka --- */
.ri-slizg--koszyk{margin:28px 0 0;max-width:100%}

/* Wersja karty bez odnosnika na calosci: klikalne sa nazwa, zdjecie
   i przycisk, wiec sama ramka nie udaje przycisku. */
.ri-slizg-karta--stat{cursor:default}
.ri-slizg-karta--stat:hover{border-color:var(--line);background:#0d0d0d}
.ri-slizg-karta--stat .ri-slizg-nazwa{text-decoration:none;transition:color .18s var(--ease)}
.ri-slizg-karta--stat .ri-slizg-nazwa:hover{color:#fff}
.ri-slizg-karta--stat .ri-slizg-foto{display:block}

.ri-slizg-dodaj{
  margin-top:8px;align-self:flex-start;
  padding:9px 15px;border:1px solid rgba(0,221,255,.35);border-radius:8px;
  color:var(--cyan);text-decoration:none;
  font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  transition:background-color .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease);
}
.ri-slizg-dodaj:hover{background:var(--cyan);color:#04141a;border-color:var(--cyan)}

@media (max-width:760px){
  .ri-slizg--koszyk{margin-top:22px;padding:18px}
}
