/* ==========================================================================
   jkservices - WooCommerce w wersji burgundowej
   Selektory celują w klasy WooCommerce, a nie w klasy Divi, więc motyw
   rodzica można w przyszłości wymienić bez przepisywania tego pliku.
   ========================================================================== */

body.woocommerce-page,
body.woocommerce{ background:var(--jk-bg); color:var(--jk-ink); font-family:var(--jk-font) }

/* ---------- lista produktów ---------- */
.woocommerce ul.products li.product{
  background:var(--jk-card); border:1px solid var(--jk-line); border-radius:var(--jk-radius);
  padding:22px; box-shadow:var(--jk-shadow); overflow:hidden;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:17px; font-weight:700; color:var(--jk-ink); padding:0; margin:0 0 6px;
}
.woocommerce ul.products li.product .price{ color:var(--jk-ink); font-weight:700 }
.woocommerce ul.products li.product .price del{ color:var(--jk-muted); font-weight:400 }
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale{
  background:var(--jk-accent-soft); color:var(--jk-accent); font-weight:700;
  border-radius:var(--jk-radius-pill); min-height:0; min-width:0; padding:5px 12px; line-height:1.2;
}

/* ---------- przyciski ---------- */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt{
  background:var(--jk-accent); color:#fff; border-radius:var(--jk-radius-pill);
  font-weight:700; padding:13px 24px; border:0; text-shadow:none;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover{ background:var(--jk-accent-dark); color:#fff }
.woocommerce a.button.jk-secondary,
.woocommerce button.jk-secondary{
  background:var(--jk-card); color:var(--jk-ink); border:1px solid var(--jk-line);
}

/* ---------- karta produktu ---------- */
.woocommerce div.product .product_title{ font-weight:800; letter-spacing:-.02em }
.woocommerce div.product p.price,
.woocommerce div.product span.price{ color:var(--jk-ink); font-weight:800; font-size:30px }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ color:var(--jk-accent) }
.woocommerce div.product form.cart .variations label{
  font:700 11.6px/1.4 var(--jk-font); letter-spacing:.07em; text-transform:uppercase; color:var(--jk-muted);
}
.woocommerce div.product form.cart .variations select{
  background:var(--jk-card); border:1px solid var(--jk-line); border-radius:var(--jk-radius-sm);
  padding:11px 13px; font:600 14px var(--jk-font); color:var(--jk-ink); width:100%;
}
.woocommerce div.product form.cart .variations select:focus{ outline:none; border-color:var(--jk-accent) }
.woocommerce div.product form.cart .variations,
.woocommerce div.product form.cart .jk-qty-box{
  background:var(--jk-bg); border-radius:var(--jk-radius); padding:16px; margin-bottom:16px;
}

/* pole ilości */
.woocommerce .quantity input.qty{
  background:var(--jk-card); border:1px solid var(--jk-line); border-radius:var(--jk-radius-sm);
  height:46px; font-weight:700; color:var(--jk-ink); text-align:center;
}
.jk-step{
  border:1px solid var(--jk-line); background:var(--jk-card); border-radius:var(--jk-radius-sm);
  width:46px; height:46px; cursor:pointer; color:var(--jk-ink); font:700 18px/1 var(--jk-font);
}
.jk-step:hover{ border-color:var(--jk-accent); color:var(--jk-accent) }
.jk-qty-hint{ font-size:12.6px; color:var(--jk-muted); margin-top:8px }
.jk-qty-sum{ display:block; margin-top:4px; font-size:15px; font-weight:700; color:var(--jk-ink) }

/* pole linku do materiału */
.jk-material{ margin:18px 0 }
.jk-material label{
  display:block; font:700 11.6px/1.4 var(--jk-font); letter-spacing:.07em;
  text-transform:uppercase; color:var(--jk-muted); margin-bottom:8px;
}
.jk-material input[type="url"]{
  width:100%; background:var(--jk-card); border:1px solid var(--jk-line);
  border-radius:var(--jk-radius-sm); padding:13px 15px; font:400 15px var(--jk-font); color:var(--jk-ink);
}
.jk-material input[type="url"]:focus{ outline:none; border-color:var(--jk-accent) }
.jk-material .jk-hint{ font-size:12.6px; color:var(--jk-muted); margin-top:8px }

/* ---------- koszyk ---------- */
.woocommerce table.shop_table{
  background:var(--jk-card); border:1px solid var(--jk-line); border-radius:var(--jk-radius);
  border-collapse:separate; overflow:hidden;
}
.woocommerce table.shop_table th{
  font:700 11.6px/1.4 var(--jk-font); letter-spacing:.07em; text-transform:uppercase; color:var(--jk-muted);
}
.woocommerce-cart .cart-collaterals .cart_totals{
  background:var(--jk-card); border:1px solid var(--jk-line); border-radius:var(--jk-radius); padding:22px;
}
.woocommerce .cart .button, .woocommerce .cart input.button{ border-radius:var(--jk-radius-pill) }

/* ---------- kasa ---------- */
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-billing-fields{
  background:var(--jk-card); border:1px solid var(--jk-line); border-radius:var(--jk-radius); padding:26px;
}
.woocommerce form .form-row{ margin-bottom:20px }
.woocommerce form .form-row label{
  font:700 11.6px/1.4 var(--jk-font); letter-spacing:.07em; text-transform:uppercase;
  color:var(--jk-muted); margin-bottom:9px; display:block;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single{
  background:var(--jk-card); border:1px solid var(--jk-line); border-radius:var(--jk-radius-sm);
  padding:13px 15px; font:400 15px var(--jk-font); color:var(--jk-ink); height:auto;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus{ outline:none; border-color:var(--jk-accent) }

/* zgody */
.jk-consent{
  background:var(--jk-bg); border-radius:12px; padding:14px 16px; margin-bottom:10px;
  display:flex; gap:11px; align-items:flex-start; font-size:14px; line-height:1.55;
}
.jk-consent input[type="checkbox"]{ margin-top:3px; flex:none; accent-color:var(--jk-accent) }
.jk-consent a{ color:var(--jk-accent); text-decoration:underline }
.jk-consent.jk-bad{ outline:2px solid var(--jk-err); outline-offset:2px }

/* metody płatności */
.woocommerce-checkout #payment ul.payment_methods li{
  border:1px solid var(--jk-line); border-radius:var(--jk-radius-sm); padding:14px 16px; margin-bottom:10px;
  background:var(--jk-card); list-style:none;
}
.woocommerce-checkout #payment div.payment_box{
  background:var(--jk-bg); border-radius:var(--jk-radius-sm); color:var(--jk-ink);
}
.woocommerce-checkout #payment div.payment_box::before{ display:none }

/* ---------- podziękowanie i dane do przelewu ---------- */
.jk-bank{
  background:var(--jk-card); border:1px solid var(--jk-line); border-radius:var(--jk-radius);
  padding:22px; margin:22px 0;
}
.jk-bank h3{ margin:0 0 14px }
.jk-bank-row{
  display:grid; grid-template-columns:160px 1fr; gap:6px 18px; padding:9px 0;
  border-top:1px solid var(--jk-line); align-items:baseline;
}
.jk-bank-row:first-of-type{ border-top:0 }
.jk-bank-row span{
  font:700 11.6px/1.4 var(--jk-font); letter-spacing:.07em; text-transform:uppercase; color:var(--jk-muted);
}
.jk-bank-row b{ font-size:14.4px; line-height:1.5; overflow-wrap:anywhere }

/* ---------- panel klienta ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0 }
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block; padding:12px 16px; border-radius:var(--jk-radius-sm); color:var(--jk-ink); font-weight:600;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
  background:var(--jk-accent); color:#fff;
}

/* ---------- komunikaty ---------- */
.woocommerce-message, .woocommerce-info{
  border-top-color:var(--jk-accent); background:var(--jk-card); border-radius:var(--jk-radius-sm);
}
.woocommerce-message::before, .woocommerce-info::before{ color:var(--jk-accent) }
.woocommerce-error{ border-top-color:var(--jk-err); background:var(--jk-card); border-radius:var(--jk-radius-sm) }

/* ---------- telefon ---------- */
@media (max-width:600px){
  .woocommerce ul.products li.product{ padding:18px }
  .jk-bank-row{ grid-template-columns:1fr }
  .woocommerce-checkout .col2-set .col-1,
  .woocommerce-checkout .col2-set .col-2,
  .woocommerce-checkout #order_review{ padding:18px }
}

/* ==========================================================================
   TARCZA NA NADPISANIA DIVI (1.2.1)
   Audyt strony testowej 23.09.2026 wykazał reguły Divi z !important, które
   wygrywały z motywem potomnym:
   - et-divi-customizer-global.min.css (własny CSS w opcjach Divi):
       .single_add_to_cart_button{background-color:#7cfc00!important}
       .checkout-button{background-color:#7cfc00!important}
       .input-text{background-color:rgba(124,252,0,0.9)!important}
     oraz ustawienia przycisków Divi: border-width:3px!important,
     letter-spacing:-2px na hover,
   - ustawienia modułu Sklep na stronie sklepu: kolor ceny #666 !important.
   Poniższe reguły mają wyższą specyficzność (prefiks body albo body.woocommerce
   dla archiwów, gdzie klasa .woocommerce siedzi na samym body), więc wygrywają
   nawet z !important Divi. Docelowo te wpisy w Divi należy usunąć, patrz
   dokumentacja/09-audyt-strony-testowej.md. Tarcza zostaje jako zabezpieczenie.
   ========================================================================== */
body .single_add_to_cart_button,
body .woocommerce .single_add_to_cart_button,
body .checkout-button,
body .woocommerce a.checkout-button{
  background-color:var(--jk-accent)!important; color:#fff!important;
  border-width:0!important; border-radius:var(--jk-radius-pill)!important; letter-spacing:normal!important;
}
body .single_add_to_cart_button:hover,
body .woocommerce .single_add_to_cart_button:hover,
body .checkout-button:hover,
body .woocommerce a.checkout-button:hover{
  background-color:var(--jk-accent-dark)!important; letter-spacing:normal!important;
}
body .woocommerce a.button,
body.woocommerce a.button,
body.woocommerce-page a.button,
body .woocommerce button.button,
body.woocommerce button.button,
body .woocommerce input.button,
body .woocommerce a.button.alt,
body .woocommerce button.button.alt,
body .woocommerce-page a.button,
body .woocommerce-page button.button{
  border-width:0!important; letter-spacing:normal!important;
}
body .woocommerce a.button:hover,
body .woocommerce button.button:hover,
body .woocommerce a.button.alt:hover,
body .woocommerce button.button.alt:hover{
  letter-spacing:normal!important;
}
body .woocommerce ul.products li.product .price,
body.woocommerce ul.products li.product .price,
body.woocommerce-page ul.products li.product .price,
body .woocommerce-page ul.products li.product .price,
body .et_pb_shop ul.products li.product .price{
  color:var(--jk-ink)!important;
}
body .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.woocommerce ul.products li.product .woocommerce-loop-product__title,
body .et_pb_shop ul.products li.product h2{
  font-family:var(--jk-font)!important;
}
body .input-text,
body .woocommerce .input-text,
body .woocommerce .quantity input.qty{
  background-color:var(--jk-card)!important;
}

/* ==========================================================================
   OPISY PRODUKTÓW (1.3.0)
   Parametry usługi i blok wspólny doklejany przez wtyczkę (moduł „opisy”).
   ========================================================================== */
.woocommerce div.product .jk-parametry{ margin:0 0 12px 0; padding:0 0 0 1.2em; }
.woocommerce div.product .jk-parametry li{ margin:0 0 6px; line-height:1.55; }
.woocommerce div.product .jk-parametry-uwaga{ font-size:.9em; color:var(--jk-muted); }
.jk-blok-wspolny{
  margin:28px 0 0; padding:22px 24px; border:1px solid var(--jk-line, rgba(0,0,0,.08));
  border-radius:var(--jk-radius-sm, 12px); background:var(--jk-card, #fff);
}
.jk-blok-wspolny h3{ font:700 17px/1.3 var(--jk-font); color:var(--jk-ink); margin:18px 0 6px; padding:0; }
.jk-blok-wspolny h3:first-child{ margin-top:0; }
.jk-blok-wspolny p{ margin:0 0 6px; padding:0; line-height:1.6; }
