/* ============================================================
   UniRacers Shop
   Produkt / koszyk / checkout / potwierdzenie zamowienia
   ============================================================ */

:root{
  --ur-gold:#ad9a1d;
  --ur-gold-hi:#c9b426;
  --ur-black:#000;
  --ur-panel:#0d0d0d;
  --ur-panel-2:#141414;
  --ur-line:rgba(255,255,255,.10);
  --ur-line-gold:rgba(173,154,29,.40);
  --ur-white:#fff;
  --ur-muted:rgba(255,255,255,.55);
  --ur-err:#c0392b;
}

.urs-hidden{display:none !important;}

/* ---------- wspolne: naglowki sekcji ---------- */
.woocommerce h2,
.woocommerce h3,
.woocommerce-order-details__title,
.woocommerce-column__title,
.woocommerce-billing-fields h3,
#order_review_heading{
  font-size:14px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ur-gold);
  margin:0 0 18px;
}

/* ---------- wspolne: przyciski ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
#place_order{
  border-radius:0 !important;
  padding:15px 32px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  line-height:1;
  background:var(--ur-gold);
  color:var(--ur-black);
  border:2px solid var(--ur-gold);
  text-shadow:none;
  transition:background .2s,border-color .2s,color .2s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .button.alt:hover,
#place_order:hover{
  background:var(--ur-gold-hi);
  border-color:var(--ur-gold-hi);
  color:var(--ur-black);
}
.woocommerce a.button.wc-backward,
.woocommerce button[name="update_cart"]{
  background:transparent;
  color:var(--ur-white);
  border-color:var(--ur-line);
}
.woocommerce a.button.wc-backward:hover,
.woocommerce button[name="update_cart"]:hover{
  background:transparent;
  border-color:var(--ur-gold);
  color:var(--ur-gold);
}
.woocommerce button.button:disabled,
.woocommerce button.button[disabled]{
  background:var(--ur-panel-2);
  border-color:var(--ur-line);
  color:var(--ur-muted);
  opacity:1;
}

/* ---------- wspolne: pola formularzy ---------- */
.woocommerce form .form-row label,
.woocommerce-cart label,
.woocommerce div.product form.cart label{
  display:block;
  margin-bottom:8px;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ur-muted);
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce div.product form.cart select,
.woocommerce div.product form.cart input.input-text,
.woocommerce .quantity input.qty,
.select2-container .select2-selection--single{
  width:100%;
  height:auto;
  padding:13px 15px;
  background:var(--ur-panel);
  border:1px solid var(--ur-line);
  border-radius:0;
  color:var(--ur-white);
  font-size:15px;
  line-height:1.4;
  transition:border-color .2s;
  box-shadow:none;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce div.product form.cart select:focus,
.woocommerce div.product form.cart input.input-text:focus{
  outline:none;
  border-color:var(--ur-gold);
}
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select{
  border-color:var(--ur-err);
}
.woocommerce form .form-row .required{color:var(--ur-gold);border:0;}
.select2-container--default .select2-selection--single .select2-selection__rendered{
  color:var(--ur-white);line-height:1.4;padding:0;
}
.select2-dropdown{background:var(--ur-panel);border:1px solid var(--ur-line);border-radius:0;}
.select2-container--default .select2-results__option--highlighted[aria-selected]{
  background:var(--ur-gold);color:var(--ur-black);
}

/* ============================================================
   STRONA PRODUKTU (Ligowy Numer)
   ============================================================ */
.woocommerce div.product .product_title{
  font-size:clamp(26px,3.6vw,40px);
  font-weight:800;
  letter-spacing:.01em;
  text-transform:uppercase;
  color:var(--ur-white);
  margin:0 0 24px;
  padding-bottom:16px;
  border-bottom:2px solid var(--ur-gold);
}

/* karta zakupu */
.woocommerce div.product form.cart{
  display:block;
  max-width:520px;
  margin:0;
  padding:30px 32px 32px;
  background:var(--ur-panel);
  border:1px solid var(--ur-line);
  border-top:3px solid var(--ur-gold);
}

/* wybor numeru */
.woocommerce div.product form.cart table.variations{
  width:100%;border:0;margin:0 0 24px;border-collapse:collapse;
}
.woocommerce div.product form.cart table.variations tr,
.woocommerce div.product form.cart table.variations td,
.woocommerce div.product form.cart table.variations th{
  display:block;width:100%;padding:0;border:0;text-align:left;background:transparent;
}
.woocommerce div.product form.cart table.variations th.label label{
  display:block;
  margin:0 0 10px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ur-muted);
}
.woocommerce div.product form.cart table.variations td.value select{
  width:100% !important;
  box-sizing:border-box;
  padding:16px 44px 16px 16px;
  background:var(--ur-black) !important;
  border:1px solid var(--ur-line) !important;
  border-radius:0 !important;
  color:var(--ur-white) !important;
  font-size:17px;
  font-weight:600;
  line-height:1.3;
  appearance:none;
  -webkit-appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--ur-gold) 50%),
                   linear-gradient(135deg,var(--ur-gold) 50%,transparent 50%) !important;
  background-position:calc(100% - 22px) 50%,calc(100% - 15px) 50% !important;
  background-size:7px 7px,7px 7px !important;
  background-repeat:no-repeat !important;
  cursor:pointer;
  transition:border-color .2s;
}
.woocommerce div.product form.cart table.variations td.value select:focus{
  outline:none;border-color:var(--ur-gold) !important;
}
.woocommerce div.product form.cart table.variations td.value select option{
  background:var(--ur-black);color:var(--ur-white);
}
.woocommerce div.product form.cart .reset_variations{
  display:inline-block;
  margin-top:12px;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ur-muted);
  text-decoration:none;
  border-bottom:1px solid var(--ur-line);
}
.woocommerce div.product form.cart .reset_variations:hover{color:var(--ur-gold);border-color:var(--ur-gold);}

/* kwota wsparcia - wlasny wiersz, nie sciesniony obok przycisku */
.woocommerce div.product form.cart .nyp,
.woocommerce div.product .nyp{
  display:block;
  margin:0 0 24px;
  padding:0;
  background:transparent;
  border:0;
}
.woocommerce div.product .nyp label,
.woocommerce div.product form.cart .nyp label{
  display:block;
  float:none;
  width:auto;
  margin:0 0 10px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ur-muted);
}
.woocommerce div.product .nyp input.nyp-input,
.woocommerce div.product form.cart input.nyp-input,
.woocommerce div.product form.cart .nyp input[type="text"]{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box;
  padding:16px 18px;
  background:var(--ur-black) !important;
  border:1px solid var(--ur-line) !important;
  border-radius:0 !important;
  color:var(--ur-gold) !important;
  font-size:24px;
  font-weight:800;
  line-height:1.2;
  text-align:left;
}
.woocommerce div.product .nyp input.nyp-input:focus{outline:none;border-color:var(--ur-gold) !important;}
.woocommerce div.product .nyp .nyp-suggested-price,
.woocommerce div.product .nyp .nyp-minimum-price,
.woocommerce div.product .nyp small{
  display:block;margin-top:10px;font-size:12px;line-height:1.5;color:var(--ur-muted);
}

/* ilosc - ukryta, produkt kupowany po jednej sztuce */
.woocommerce div.product form.cart .quantity{
  display:block;
  margin:0 0 22px;
}
.woocommerce div.product form.cart .quantity input.qty{
  width:100px !important;
  padding:14px;
  text-align:center;
  background:var(--ur-black) !important;
  border:1px solid var(--ur-line) !important;
  border-radius:0 !important;
  color:var(--ur-white) !important;
  font-size:16px;
}

/* przycisk do koszyka */
.woocommerce div.product form.cart button.button,
.woocommerce div.product form.cart button.single_add_to_cart_button{
  display:block;
  float:none;
  width:100%;
  padding:18px 24px;
  background:var(--ur-gold) !important;
  border:2px solid var(--ur-gold) !important;
  border-radius:0 !important;
  color:var(--ur-black) !important;
  font-size:13px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  line-height:1.2;
  cursor:pointer;
  transition:background .2s,border-color .2s;
}
.woocommerce div.product form.cart button.button:hover{
  background:var(--ur-gold-hi) !important;border-color:var(--ur-gold-hi) !important;
}
.woocommerce div.product form.cart button.button.disabled,
.woocommerce div.product form.cart button.button:disabled{
  background:var(--ur-panel-2) !important;
  border-color:var(--ur-line) !important;
  color:var(--ur-muted) !important;
  cursor:not-allowed;
  opacity:1;
}
.woocommerce div.product .stock.out-of-stock{color:var(--ur-err);}
.woocommerce div.product .woocommerce-variation-price{
  margin:0 0 18px;font-size:20px;font-weight:800;color:var(--ur-gold);
}

@media (max-width:640px){
  .woocommerce div.product form.cart{max-width:100%;padding:22px 20px 24px;}
  .woocommerce div.product .nyp input.nyp-input{font-size:21px;}
}

/* ============================================================
   KOSZYK
   ============================================================ */
.woocommerce-cart table.shop_table{
  border:0;border-collapse:collapse;width:100%;background:transparent;
}
.woocommerce-cart table.shop_table th{
  padding:0 0 12px;
  border:0;
  border-bottom:2px solid var(--ur-gold);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--ur-muted);
  text-align:left;
}
.woocommerce-cart table.shop_table td{
  padding:18px 0;
  border:0;
  border-bottom:1px solid var(--ur-line);
  color:var(--ur-white);
  background:transparent;
}
.woocommerce-cart table.shop_table td.product-name a{
  color:var(--ur-white);text-decoration:none;
  border-bottom:1px solid var(--ur-line-gold);
}
.woocommerce-cart table.shop_table td.product-name a:hover{color:var(--ur-gold);}
.woocommerce-cart table.shop_table td.actions{border-bottom:0;padding-top:24px;}
.woocommerce-cart a.remove{
  color:var(--ur-muted) !important;
  font-size:22px;line-height:1;
  background:transparent !important;
}
.woocommerce-cart a.remove:hover{color:var(--ur-gold) !important;background:transparent !important;}
.woocommerce-cart .cart-collaterals .cart_totals{
  background:var(--ur-panel);
  border:1px solid var(--ur-line);
  border-top:3px solid var(--ur-gold);
  padding:26px 28px;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td{
  border:0;border-bottom:1px solid var(--ur-line);padding:14px 0;
}
.woocommerce-cart .cart_totals tr.order-total th,
.woocommerce-cart .cart_totals tr.order-total td{
  border-bottom:0;border-top:2px solid var(--ur-gold);
  font-size:18px;font-weight:800;
}
.woocommerce-cart .cart_totals tr.order-total .amount{color:var(--ur-gold);}
.woocommerce-cart .wc-proceed-to-checkout a.button{width:100%;text-align:center;}
.woocommerce-cart .cart-empty{
  font-size:18px;color:var(--ur-muted);
  padding:32px 0;border-bottom:1px solid var(--ur-line);
}

/* kupon */
.woocommerce-cart .coupon{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch;}
.woocommerce-cart .coupon input#coupon_code{max-width:220px;}

/* ============================================================
   CHECKOUT - jedna kolumna, ta sama na PC i mobile
   Kolejnosc: pole profilu -> podsumowanie -> platnosc -> przycisk
   ============================================================ */
.woocommerce-checkout form.checkout{
  display:flex;
  flex-direction:column;
  max-width:560px;
  margin:0 auto;
  gap:0;
}
.woocommerce-checkout form.checkout #customer_details{order:1;margin:0 0 40px;}
.woocommerce-checkout form.checkout #order_review_heading{order:2;}
.woocommerce-checkout form.checkout #order_review{order:3;}

.woocommerce-checkout #customer_details .col2-set,
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{
  width:100% !important;float:none !important;margin:0;padding:0;
}
.woocommerce-checkout #customer_details .col-2:empty{display:none;}

/* naglowki */
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout #order_review_heading{
  font-size:12px;
  font-weight:800;
  letter-spacing:.20em;
  text-transform:uppercase;
  color:var(--ur-gold);
  margin:0 0 20px;
  padding-bottom:12px;
  border-bottom:1px solid var(--ur-line);
}

/* pola */
.woocommerce-checkout form .form-row{
  width:100% !important;float:none !important;
  margin:0 0 20px;padding:0;display:block;
}
.woocommerce-checkout form .form-row-first,
.woocommerce-checkout form .form-row-last{width:100% !important;}
.woocommerce-checkout form .form-row label,
.woocommerce-checkout .woocommerce-billing-fields label{
  display:block;
  margin:0 0 8px;
  font-size:13px;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
  line-height:1.45;
  color:var(--ur-white);
  white-space:normal;
}
.woocommerce-checkout form .form-row label .required{
  color:var(--ur-gold);text-decoration:none;margin-left:2px;
}
.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box;
  padding:15px 16px;
  background:var(--ur-black) !important;
  border:1px solid var(--ur-line) !important;
  border-radius:0 !important;
  color:var(--ur-white) !important;
  font-size:16px;
  line-height:1.4;
}
.woocommerce-checkout form .form-row input.input-text:focus,
.woocommerce-checkout form .form-row select:focus{
  outline:none;border-color:var(--ur-gold) !important;
}
.woocommerce-checkout form .form-row input.input-text::placeholder{color:rgba(255,255,255,.32);}
.woocommerce-checkout form .form-row.woocommerce-invalid input.input-text{border-color:var(--ur-err) !important;}

/* podsumowanie */
.woocommerce-checkout #order_review{
  background:var(--ur-panel);
  border:1px solid var(--ur-line);
  border-top:3px solid var(--ur-gold);
  padding:26px 26px 28px;
}
.woocommerce-checkout #order_review table.shop_table{
  border:0;width:100%;border-collapse:collapse;background:transparent;margin:0;
}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td{
  border:0;
  border-bottom:1px solid var(--ur-line);
  padding:15px 0;
  color:var(--ur-white) !important;
  background:transparent;
  font-size:15px;
  text-align:left;
}
.woocommerce-checkout #order_review table.shop_table td{text-align:right;}
.woocommerce-checkout #order_review table.shop_table thead th{
  border-bottom:2px solid var(--ur-gold);
  padding-bottom:10px;
  font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ur-muted) !important;
}
.woocommerce-checkout #order_review .product-name{padding-right:12px;line-height:1.45;}
.woocommerce-checkout #order_review .product-quantity{color:var(--ur-muted) !important;}
.woocommerce-checkout #order_review tr.order-total th,
.woocommerce-checkout #order_review tr.order-total td{
  border-bottom:0;border-top:2px solid var(--ur-gold);
  padding-top:16px;font-size:17px;font-weight:800;
}
.woocommerce-checkout #order_review tr.order-total .amount{color:var(--ur-gold) !important;}

/* ---------- METODY PLATNOSCI ---------- */
.woocommerce-checkout #payment,
.woocommerce-checkout .woocommerce-checkout-payment{
  background:transparent !important;border:0 !important;border-radius:0 !important;
  padding:0 !important;margin:24px 0 0 !important;
}
.woocommerce-checkout #payment ul.payment_methods{
  list-style:none !important;margin:0 0 20px !important;padding:0 !important;
  border:0 !important;display:grid;gap:8px;
}
.woocommerce-checkout #payment ul.payment_methods li{
  margin:0 !important;padding:0 !important;list-style:none !important;
  background:var(--ur-panel-2) !important;
  border:1px solid var(--ur-line) !important;
  transition:border-color .2s;
}
.woocommerce-checkout #payment ul.payment_methods li:hover{border-color:var(--ur-line-gold) !important;}
.woocommerce-checkout #payment ul.payment_methods li label{
  display:flex !important;align-items:center;gap:12px;width:100%;
  margin:0 !important;padding:16px 18px !important;cursor:pointer;
  font-size:15px !important;font-weight:600 !important;letter-spacing:0 !important;
  text-transform:none !important;color:var(--ur-white) !important;line-height:1.4;
}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]{
  appearance:none;-webkit-appearance:none;flex:0 0 auto;
  width:18px;height:18px;margin:0 !important;padding:0;
  border:2px solid var(--ur-line);border-radius:50%;background:transparent;
  transition:border-color .2s,box-shadow .2s;
}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]:checked{
  border-color:var(--ur-gold);box-shadow:inset 0 0 0 4px var(--ur-gold);
}
.woocommerce-checkout #payment ul.payment_methods li img{max-height:24px;width:auto;margin:0 0 0 auto;}
.woocommerce-checkout #payment div.payment_box,
.woocommerce-checkout #payment ul.payment_methods li div.payment_box{
  background:var(--ur-black) !important;background-image:none !important;
  color:var(--ur-muted) !important;
  border:0 !important;border-top:1px solid var(--ur-line) !important;
  border-radius:0 !important;margin:0 !important;padding:14px 18px !important;
  font-size:13px !important;line-height:1.6 !important;box-shadow:none !important;
}
.woocommerce-checkout #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::after{display:none !important;content:none !important;}
.woocommerce-checkout #payment div.payment_box p{margin:0;color:var(--ur-muted) !important;}

.woocommerce-checkout #payment .woocommerce-privacy-policy-text,
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper{
  font-size:12px;line-height:1.65;color:var(--ur-muted);margin:0 0 18px;
}
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper a{
  color:var(--ur-gold);text-decoration:none;border-bottom:1px solid var(--ur-line-gold);
}
.woocommerce-checkout #payment .form-row.place-order{margin:0 !important;padding:0 !important;}
.woocommerce-checkout #payment #place_order{
  width:100%;padding:18px 24px;font-size:13px;letter-spacing:.18em;
}
.woocommerce-checkout .blockUI.blockOverlay{background:var(--ur-black) !important;opacity:.7 !important;}

@media (max-width:640px){
  .woocommerce-checkout form.checkout{max-width:100%;}
  .woocommerce-checkout #order_review{padding:20px 18px 22px;}
  .woocommerce-checkout #payment ul.payment_methods li label{padding:14px 15px !important;font-size:14px !important;}
}

/* ============================================================
   POTWIERDZENIE ZAMOWIENIA (order-received / view-order)
   ============================================================ */
.woocommerce-order{max-width:960px;margin:0 auto;color:var(--ur-white);}
.woocommerce-order .woocommerce-thankyou-order-received{
  font-size:clamp(22px,3vw,32px);
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:var(--ur-white);
  margin:0 0 32px;
  padding-bottom:18px;
  border-bottom:2px solid var(--ur-gold);
}
ul.woocommerce-order-overview.order_details{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:1px;
  list-style:none !important;
  margin:0 0 48px !important;
  padding:0 !important;
  background:var(--ur-line);
  border:1px solid var(--ur-line);
}
ul.woocommerce-order-overview.order_details li:empty{display:none;}
ul.woocommerce-order-overview.order_details li{
  background:var(--ur-panel);
  padding:20px 22px;
  margin:0 !important;
  border:0 !important;
  list-style:none !important;
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  line-height:1.4;
  color:var(--ur-muted) !important;
}
/* wartosci - jasne, czytelne na czarnym tle */
ul.woocommerce-order-overview.order_details li strong,
ul.woocommerce-order-overview.order_details li strong *,
ul.woocommerce-order-overview.order_details li .amount,
ul.woocommerce-order-overview.order_details li bdi{
  display:block;
  margin-top:10px;
  font-size:17px;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
  line-height:1.35;
  color:var(--ur-white) !important;
  overflow-wrap:anywhere;
}
ul.woocommerce-order-overview.order_details li.total strong,
ul.woocommerce-order-overview.order_details li.total .amount,
ul.woocommerce-order-overview.order_details li.total bdi{
  color:var(--ur-gold) !important;
}

table.woocommerce-table--order-details{width:100%;border-collapse:collapse;background:transparent;}
table.woocommerce-table--order-details th,
table.woocommerce-table--order-details td{
  padding:16px 0;border:0;border-bottom:1px solid var(--ur-line);
  text-align:left;font-size:15px;color:var(--ur-white);background:transparent;
}
table.woocommerce-table--order-details td:last-child,
table.woocommerce-table--order-details th:last-child{text-align:right;}
table.woocommerce-table--order-details thead th{
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ur-muted);
  border-bottom:2px solid var(--ur-gold);padding-bottom:12px;
}
table.woocommerce-table--order-details .product-name a{
  color:var(--ur-white);text-decoration:none;border-bottom:1px solid var(--ur-line-gold);
}
table.woocommerce-table--order-details .product-name a:hover{color:var(--ur-gold);}
table.woocommerce-table--order-details .product-quantity{color:var(--ur-muted);}
table.woocommerce-table--order-details tfoot tr:last-child th,
table.woocommerce-table--order-details tfoot tr:last-child td{
  border-bottom:0;border-top:2px solid var(--ur-gold);font-size:18px;font-weight:800;
}
table.woocommerce-table--order-details tfoot tr:last-child td .amount{color:var(--ur-gold);}

.woocommerce-customer-details{margin-top:48px;}
.woocommerce-customer-details .woocommerce-columns{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;
}
.woocommerce-customer-details address{
  background:var(--ur-panel);
  border:1px solid var(--ur-line);
  border-left:3px solid var(--ur-gold);
  padding:22px 24px;font-style:normal;line-height:1.7;color:var(--ur-white);
}

/* ============================================================
   KOMUNIKATY
   ============================================================ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  background:var(--ur-panel);
  border:1px solid var(--ur-line);
  border-top:3px solid var(--ur-gold);
  border-radius:0;
  color:var(--ur-white);
  padding:18px 22px;
  list-style:none;
}
.woocommerce-error{border-top-color:var(--ur-err);}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{display:none;}
.woocommerce-message a.button{margin-left:12px;}

/* ============================================================
   MOBILE
   ============================================================ */
@media (max-width:600px){
  .woocommerce div.product form.cart{padding:20px;}
  .woocommerce-checkout #order_review,
  .woocommerce-cart .cart-collaterals .cart_totals{padding:20px;}
  .woocommerce a.button,
  .woocommerce button.button{width:100%;text-align:center;}
  .woocommerce-cart .coupon input#coupon_code{max-width:100%;}
  table.woocommerce-table--order-details th,
  table.woocommerce-table--order-details td{font-size:14px;padding:13px 0;}
}

/* ============================================================
   EKRAN PODZIEKOWANIA
   ============================================================ */
.urs-thankyou{
  position:relative;
  max-width:960px;
  margin:0 auto 56px;
  padding:56px 40px 48px;
  overflow:hidden;
  text-align:center;
  background:var(--ur-panel);
  border:1px solid var(--ur-line);
  border-top:3px solid var(--ur-gold);
}

/* --- przesuwajaca sie szachownica w tle --- */
.urs-ty__flag{
  position:absolute;
  inset:0 0 auto 0;
  height:120px;
  overflow:hidden;
  opacity:.10;
  pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent);
          mask-image:linear-gradient(to bottom,#000,transparent);
}
.urs-ty__flag-inner{
  position:absolute;
  top:0;left:-50%;
  width:200%;height:100%;
  background-image:
    linear-gradient(45deg,var(--ur-white) 25%,transparent 25%,transparent 75%,var(--ur-white) 75%),
    linear-gradient(45deg,var(--ur-white) 25%,transparent 25%,transparent 75%,var(--ur-white) 75%);
  background-size:40px 40px;
  background-position:0 0,20px 20px;
  animation:urs-flag 6s linear infinite;
}
@keyframes urs-flag{
  from{transform:translateX(0);}
  to{transform:translateX(-40px);}
}

/* --- swiatla startowe --- */
.urs-ty__lights{
  position:relative;
  display:flex;
  justify-content:center;
  gap:12px;
  margin:0 0 28px;
}
.urs-ty__lights span{
  width:16px;height:16px;
  border-radius:50%;
  background:var(--ur-panel-2);
  border:1px solid var(--ur-line);
}
.urs-thankyou.is-paid .urs-ty__lights span{
  animation:urs-light-out 2.4s ease-in-out infinite;
}
.urs-thankyou.is-paid .urs-ty__lights span:nth-child(1){animation-delay:0s;}
.urs-thankyou.is-paid .urs-ty__lights span:nth-child(2){animation-delay:.15s;}
.urs-thankyou.is-paid .urs-ty__lights span:nth-child(3){animation-delay:.30s;}
.urs-thankyou.is-paid .urs-ty__lights span:nth-child(4){animation-delay:.45s;}
.urs-thankyou.is-paid .urs-ty__lights span:nth-child(5){animation-delay:.60s;}
@keyframes urs-light-out{
  0%,10%   {background:var(--ur-panel-2);box-shadow:none;}
  25%,55%  {background:var(--ur-gold);box-shadow:0 0 14px rgba(173,154,29,.75);}
  70%,100% {background:var(--ur-panel-2);box-shadow:none;}
}
/* platnosc oczekujaca - swiatla pulsuja wolno, bez sekwencji */
.urs-thankyou.is-pending .urs-ty__lights span{
  animation:urs-light-wait 2s ease-in-out infinite;
}
.urs-thankyou.is-pending .urs-ty__lights span:nth-child(2){animation-delay:.2s;}
.urs-thankyou.is-pending .urs-ty__lights span:nth-child(3){animation-delay:.4s;}
.urs-thankyou.is-pending .urs-ty__lights span:nth-child(4){animation-delay:.6s;}
.urs-thankyou.is-pending .urs-ty__lights span:nth-child(5){animation-delay:.8s;}
@keyframes urs-light-wait{
  0%,100%{background:var(--ur-panel-2);}
  50%    {background:rgba(173,154,29,.45);}
}

/* --- tresc --- */
.urs-ty__kicker{
  position:relative;
  margin:0 0 14px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ur-gold);
}
.urs-ty__title{
  position:relative;
  margin:0 0 28px;
  font-size:clamp(26px,4.4vw,44px);
  font-weight:800;
  line-height:1.1;
  letter-spacing:.01em;
  text-transform:uppercase;
  color:var(--ur-white);
}
.urs-ty__numbers{
  position:relative;
  margin:0 0 30px;
}
.urs-ty__numbers-label{
  display:block;
  margin-bottom:12px;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ur-muted);
}
.urs-ty__numbers-row{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
}
.urs-ty__number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:104px;
  padding:14px 22px;
  font-size:clamp(38px,6vw,58px);
  font-weight:900;
  font-style:italic;
  line-height:1;
  letter-spacing:-.02em;
  color:var(--ur-gold);
  background:var(--ur-black);
  border:2px solid var(--ur-gold);
  box-shadow:0 0 0 1px rgba(0,0,0,.6) inset;
}
.urs-ty__lead{
  position:relative;
  max-width:560px;
  margin:0 auto 12px;
  font-size:15px;
  line-height:1.7;
  color:var(--ur-white);
}
.urs-ty__lead strong{color:var(--ur-gold);font-weight:700;}
.urs-ty__lead--muted{color:var(--ur-muted);font-size:14px;margin-bottom:32px;}

.urs-ty__actions{
  position:relative;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px;
}
.urs-ty__btn{
  display:inline-block;
  padding:15px 32px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  line-height:1;
  text-decoration:none;
  border:2px solid var(--ur-line);
  color:var(--ur-white);
  background:transparent;
  transition:background .2s,border-color .2s,color .2s;
}
.urs-ty__btn:hover{border-color:var(--ur-gold);color:var(--ur-gold);}
.urs-ty__btn--primary{
  background:var(--ur-gold);
  border-color:var(--ur-gold);
  color:var(--ur-black);
}
.urs-ty__btn--primary:hover{
  background:var(--ur-gold-hi);
  border-color:var(--ur-gold-hi);
  color:var(--ur-black);
}

@media (max-width:600px){
  .urs-thankyou{padding:40px 20px 36px;}
  .urs-ty__number{min-width:82px;padding:12px 16px;}
  .urs-ty__btn{width:100%;text-align:center;}
}

/* szacunek dla ustawien systemowych */
@media (prefers-reduced-motion:reduce){
  .urs-ty__flag-inner,
  .urs-ty__lights span{animation:none !important;}
  .urs-thankyou.is-paid .urs-ty__lights span{background:var(--ur-gold);}
}

/* ============================================================
   POPRAWKI 1.4 - uklad karty produktu i szerokosci w kasie
   (reguly na koncu pliku, wygrywaja z wczesniejszymi)
   ============================================================ */

/* ---------- KARTA PRODUKTU: wszystko jedno pod drugim ---------- */
.woocommerce div.product form.cart{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:0;
  width:100%;
  max-width:100%;
}
/* kazdy blok formularza na pelnej szerokosci, w osobnym wierszu */
.woocommerce div.product form.cart > *{
  width:100% !important;
  max-width:100% !important;
  float:none !important;
  margin:0 0 20px !important;
  box-sizing:border-box;
}
.woocommerce div.product form.cart > *:last-child{margin-bottom:0 !important;}

/* kwota wsparcia - etykieta nad polem, pole na cala szerokosc.
   Lapie rozne warianty wtyczek "wlasna cena", nie tylko .nyp */
.woocommerce div.product form.cart label{
  display:block !important;
  float:none !important;
  width:auto !important;
  margin:0 0 10px !important;
  font-size:11px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ur-muted) !important;
  line-height:1.4;
}
.woocommerce div.product form.cart input[type="text"],
.woocommerce div.product form.cart input[type="number"],
.woocommerce div.product form.cart input.input-text,
.woocommerce div.product form.cart input.nyp-input,
.woocommerce div.product form.cart input.amount{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  float:none !important;
  box-sizing:border-box;
  margin:0 !important;
  padding:16px 18px !important;
  background:var(--ur-black) !important;
  border:1px solid var(--ur-line) !important;
  border-radius:0 !important;
  color:var(--ur-gold) !important;
  font-size:22px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  text-align:left !important;
}
.woocommerce div.product form.cart input:focus{
  outline:none !important;border-color:var(--ur-gold) !important;
}

/* dostepnosc */
.woocommerce div.product .stock,
.woocommerce div.product form.cart .stock{
  margin:0 0 4px !important;
  font-size:12px !important;
  font-weight:600 !important;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ur-muted) !important;
}
.woocommerce div.product .stock.out-of-stock{color:var(--ur-err) !important;}

/* "wyczysc" - dyskretny link, nie element interfejsu */
.woocommerce div.product form.cart .reset_variations{
  display:inline-block !important;
  width:auto !important;
  margin:-8px 0 0 !important;
  padding:0 !important;
  font-size:11px !important;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--ur-muted) !important;
  border-bottom:1px solid var(--ur-line) !important;
  opacity:.7;
}
.woocommerce div.product form.cart .reset_variations:hover{
  color:var(--ur-gold) !important;border-color:var(--ur-gold) !important;opacity:1;
}

/* przycisk do koszyka - mniejszy, wyrownany do lewej */
.woocommerce div.product form.cart button.button,
.woocommerce div.product form.cart button.single_add_to_cart_button{
  display:inline-block !important;
  width:auto !important;
  min-width:230px;
  align-self:flex-start;
  margin:4px 0 0 !important;
  padding:15px 34px !important;
  background:var(--ur-gold) !important;
  border:2px solid var(--ur-gold) !important;
  border-radius:0 !important;
  color:var(--ur-black) !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase;
  line-height:1.2 !important;
  white-space:nowrap;
}
@media (max-width:640px){
  .woocommerce div.product form.cart button.button,
  .woocommerce div.product form.cart button.single_add_to_cart_button{
    width:100% !important;min-width:0;align-self:stretch;
  }
}

/* ---------- KASA: pelna szerokosc kolumny ---------- */
.woocommerce-checkout #customer_details,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout form.checkout > *{
  width:100% !important;
  max-width:100% !important;
  float:none !important;
  box-sizing:border-box;
}

/* nazwa produktu w podsumowaniu - do lewej, nie na srodku */
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td.product-name,
.woocommerce-checkout #order_review table.shop_table th.product-name{
  text-align:left !important;
}
.woocommerce-checkout #order_review table.shop_table td.product-total,
.woocommerce-checkout #order_review table.shop_table th.product-total{
  text-align:right !important;
}
.woocommerce-checkout #order_review .product-name .variation{
  margin:6px 0 0;font-size:13px;color:var(--ur-muted);
}

/* etykieta pola - mniejsza, zeby nie konkurowala z naglowkiem sekcji */
.woocommerce-checkout form .form-row label{
  font-size:13px !important;
  color:var(--ur-muted) !important;
  font-weight:600 !important;
}
.woocommerce-checkout form .form-row label .required{color:var(--ur-gold) !important;}
.woocommerce-checkout form .form-row input.input-text{
  font-size:17px !important;
  padding:16px 18px !important;
}

/* ---------- KOSZYK: przyciski drugorzedne ---------- */
.woocommerce-cart .wc-proceed-to-checkout a.button,
.woocommerce-cart .cart_totals a.button{
  width:100%;text-align:center;
}
.woocommerce a.button.wc-backward,
.woocommerce-cart a.button.wc-backward,
.woocommerce button[name="update_cart"]{
  background:transparent !important;
  border:2px solid var(--ur-line) !important;
  color:var(--ur-muted) !important;
}
.woocommerce a.button.wc-backward:hover,
.woocommerce button[name="update_cart"]:hover{
  border-color:var(--ur-gold) !important;color:var(--ur-gold) !important;
}

/* ============================================================
   1.4.1 - uklad formularza produktu niezalezny od klas wtyczki
   (WPClever Name Your Price / Pay What You Want renderuja
   etykiete, pole i przycisk jako elementy inline w jednym wierszu)
   ============================================================ */

/* kazdy kontener wewnatrz formularza lamie wiersz */
.woocommerce div.product form.cart div,
.woocommerce div.product form.cart p,
.woocommerce div.product form.cart span:not(.woocommerce-Price-amount):not(.woocommerce-Price-currencySymbol){
  display:block !important;
  float:none !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box;
  clear:both;
}

/* tabela wariantow zachowuje swoj uklad */
.woocommerce div.product form.cart table.variations,
.woocommerce div.product form.cart table.variations *{
  clear:none !important;
}

/* odstepy miedzy blokami */
.woocommerce div.product form.cart > div,
.woocommerce div.product form.cart > p{
  margin:0 0 20px !important;
}

/* etykieta zawsze nad polem */
.woocommerce div.product form.cart label,
.woocommerce div.product form.cart .price_label,
.woocommerce div.product form.cart .nyp-label{
  display:block !important;
  float:none !important;
  width:100% !important;
  margin:0 0 10px !important;
  text-align:left !important;
}

/* pole kwoty na pelnej szerokosci */
.woocommerce div.product form.cart input[type="text"],
.woocommerce div.product form.cart input[type="number"],
.woocommerce div.product form.cart input[type="tel"]{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  float:none !important;
  margin:0 !important;
}
/* pole ilosci pozostaje waskie */
.woocommerce div.product form.cart .quantity input.qty{
  width:100px !important;
}

/* przycisk zawsze w nowym wierszu */
.woocommerce div.product form.cart button.button,
.woocommerce div.product form.cart button.single_add_to_cart_button,
.woocommerce div.product form.cart input[type="submit"]{
  display:block !important;
  float:none !important;
  clear:both !important;
  width:auto !important;
  min-width:230px;
  margin:6px 0 0 !important;
}
@media (max-width:640px){
  .woocommerce div.product form.cart button.button,
  .woocommerce div.product form.cart button.single_add_to_cart_button,
  .woocommerce div.product form.cart input[type="submit"]{
    width:100% !important;min-width:0;
  }
}

/* ============================================================
   1.5.0 - WPClever Name Your Price (.woonp) + blok dodawania
   Struktura: form.cart > .single_variation_wrap >
     .woocommerce-variation-add-to-cart > .woonp + .quantity + button
   ============================================================ */

.woocommerce div.product form.cart .single_variation_wrap,
.woocommerce div.product form.cart .woocommerce-variation{
  display:block !important;
  width:100% !important;
}

/* dostepnosc wariantu */
.woocommerce div.product .woocommerce-variation-availability p.stock{
  margin:0 0 20px !important;
  font-size:12px !important;
  font-weight:600 !important;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--ur-muted) !important;
}
.woocommerce div.product .woocommerce-variation-availability p.stock.out-of-stock{
  color:var(--ur-err) !important;
}
.woocommerce div.product .woocommerce-variation-price{
  margin:0 0 16px !important;
}

/* blok: kwota + przycisk, jeden pod drugim */
.woocommerce div.product .woocommerce-variation-add-to-cart{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  width:100% !important;
}

/* pole kwoty wsparcia */
.woocommerce div.product .woonp{
  display:block !important;
  width:100% !important;
  margin:0 0 22px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}
.woocommerce div.product .woonp label{
  display:block !important;
  float:none !important;
  width:100% !important;
  margin:0 0 10px !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  color:var(--ur-muted) !important;
  line-height:1.4 !important;
}
.woocommerce div.product .woonp input.woonp-input,
.woocommerce div.product .woonp input[type="number"]{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  float:none !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding:16px 18px !important;
  background:var(--ur-black) !important;
  border:1px solid var(--ur-line) !important;
  border-radius:0 !important;
  color:var(--ur-gold) !important;
  font-size:24px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  text-align:left !important;
  -moz-appearance:textfield;
}
.woocommerce div.product .woonp input[type="number"]::-webkit-outer-spin-button,
.woocommerce div.product .woonp input[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance:none;margin:0;
}
.woocommerce div.product .woonp input.woonp-input:focus{
  outline:none !important;border-color:var(--ur-gold) !important;
}

/* ilosc jest ukryta przez wtyczke - nie rezerwuj miejsca */
.woocommerce div.product form.cart .quantity[style*="none"]{
  display:none !important;margin:0 !important;
}

/* przycisk */
.woocommerce div.product .woocommerce-variation-add-to-cart button.single_add_to_cart_button{
  display:block !important;
  width:auto !important;
  min-width:240px;
  align-self:flex-start;
  margin:0 !important;
  padding:16px 36px !important;
}
@media (max-width:640px){
  .woocommerce div.product .woocommerce-variation-add-to-cart button.single_add_to_cart_button{
    width:100% !important;min-width:0;align-self:stretch;
  }
  .woocommerce div.product .woonp input.woonp-input{font-size:21px !important;}
}

/* pola ukryte nie moga tworzyc pustych wierszy w kolumnie flex */
.woocommerce div.product form.cart input[type="hidden"]{display:none !important;}

/* ============================================================
   2.0.0 - wersja koncowa
   Kontener Oxygena ogranicza szerokosc formularza - zdejmujemy limit
   ============================================================ */

.oxy-product-cart-button,
.oxy-woo-element,
.woocommerce div.product .oxy-product-cart-button{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  float:none !important;
  box-sizing:border-box;
}
.woocommerce div.product form.cart,
.oxy-product-cart-button form.cart{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box;
}

/* ---------- etykiety biale, lepiej widoczne ---------- */
.woocommerce div.product form.cart table.variations th.label label,
.woocommerce div.product .woonp label,
.woocommerce div.product form.cart label{
  color:var(--ur-white) !important;
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:.16em !important;
  opacity:1 !important;
}

/* dostepnosc - jasniejsza, ale nadal drugorzedna */
.woocommerce div.product .woocommerce-variation-availability p.stock{
  color:rgba(255,255,255,.78) !important;
}

/* "wyczysc" pozostaje przygaszony - to link pomocniczy */
.woocommerce div.product form.cart .reset_variations{
  color:rgba(255,255,255,.45) !important;
}
.woocommerce div.product form.cart .reset_variations:hover{
  color:var(--ur-gold) !important;
}

/* select i pole kwoty - te same proporcje na calej szerokosci karty */
.woocommerce div.product form.cart table.variations td.value select,
.woocommerce div.product .woonp input.woonp-input{
  width:100% !important;
  max-width:none !important;
}

/* 2.1.0 - tekst pod naglowkiem bialy, byl za ciemny */
.urs-ty__lead,
.urs-ty__lead--muted{
  color:var(--ur-white) !important;
}
.urs-ty__lead--muted{
  font-size:15px;
  margin-bottom:14px;
}
.urs-ty__lead--muted:last-of-type{
  margin-bottom:32px;
}
