
/* Prevent word/letter breaking in Blocks sidebar */
.wc-block-checkout__order-summary,
.wp-block-woocommerce-cart .wc-block-cart__sidebar{
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}
.wc-block-components-totals-coupon__label,
.wc-block-components-totals-coupon__button,
.wp-block-woocommerce-cart .wc-block-components-button{
  white-space: nowrap !important;
}



/* =========================================================
   NS WIDE LAYOUT – hard override for theme max-width (Cart/Checkout)
   Cel: boksy mają być dopasowane do ekranu (jak na nightskating)
========================================================= */
:root{
  --ns-wide-pad: 24px;
  --ns-wide-max: 1600px;
}
@media (max-width: 640px){
  :root{ --ns-wide-pad: 14px; }
}

/* WYMUSZENIE SZEROKOŚCI BLOKÓW WOO (cart/checkout) */
article.panel .wp-block-woocommerce-cart,
article.panel .wp-block-woocommerce-checkout,
.panel .wp-block-woocommerce-cart,
.panel .wp-block-woocommerce-checkout,
.entry-content > .wp-block-woocommerce-cart,
.entry-content > .wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout{
  max-width: none !important;
  width: min(var(--ns-wide-max), calc(100vw - (var(--ns-wide-pad) * 2))) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Wewnętrzny layout – rozciągnij kolumny */
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart{
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 460px) !important;
  column-gap: 36px !important;
}
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout{
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 460px) !important;
  column-gap: 36px !important;
}

@media (max-width: 980px){
  .wp-block-woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart,
  .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout{
    grid-template-columns: 1fr !important;
    column-gap: 0 !important;
  }
}

/* Główne boksy też pełna szerokość */
.wp-block-woocommerce-cart .wc-block-cart__main,
.wp-block-woocommerce-cart .wc-block-cart__sidebar,
.wp-block-woocommerce-checkout .wc-block-checkout__main,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar{
  width: 100% !important;
  max-width: none !important;
}

/* Same panele w środku – niech się rozciągają */
.wp-block-woocommerce-cart .wc-block-cart-items,
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-block,
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-checkout .wc-block-components-checkout-step{
  max-width: none !important;
}

/* =========================================================
   CHECKBOX (Blocks) – działa + premium neon (KLIKALNE)
   Woo Blocks często ustawia input jako absolute/opacity:0.
   Robimy: label jako relative, input jako "niewidzialny" ale NAD marką.
========================================================= */
.wc-block-components-checkbox label{
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  cursor: pointer !important;
}

/* Widoczność checka – Woo Blocks ma SVG bez stylu, więc ustawiamy stroke */
.wc-block-components-checkbox__mark{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.wc-block-components-checkbox__mark path{
  fill: none !important;
  stroke: rgba(240,255,255,.95) !important;
  stroke-width: 2.6 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  opacity: 0 !important; /* domyślnie ukryty */
}

/* checked = pokaż znak + delikatny neon */
.wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__mark{
  border-color: rgba(0,255,255,.55) !important;
  box-shadow: 0 0 0 2px rgba(0,255,255,.18), 0 0 16px rgba(0,255,255,.12), 0 0 0 1px rgba(0,0,0,.35) inset !important;
  background: rgba(0,25,30,.55) !important;
}
.wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__mark path{
  opacity: 1 !important;
}

/* focus/hover – większa czytelność */
.wc-block-components-checkbox label:hover .wc-block-components-checkbox__mark{
  border-color: rgba(255,255,255,.35) !important;
}
.wc-block-components-checkbox__input:focus-visible + .wc-block-components-checkbox__mark{
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(0,255,255,.22), 0 0 0 1px rgba(0,0,0,.35) inset !important;
}

/* Input jest klikalny, ale niewidoczny (na wierzchu) */
.wc-block-components-checkbox__input{
  position: absolute !important;
  left: 0 !important;
  top: 2px !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  opacity: 0 !important;
  z-index: 3 !important;
  cursor: pointer !important;
}

/* SVG mark to nasz wizualny checkbox */
.wc-block-components-checkbox__mark{
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  border-radius: 6px !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  background: rgba(10,12,16,.55) !important;
  box-shadow: 0 0 0 1px rgba(0,0,0,.35) inset !important;
  pointer-events: none !important;
}

/* label tekst – żeby nie wskakiwał pod checkbox (bo input jest absolute) */
.wc-block-components-checkbox__label{
  display: inline-block !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
  line-height: 1.35 !important;
}

/* focus/checked: działamy na marku */
.wc-block-components-checkbox__input:focus + .wc-block-components-checkbox__mark{
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(0, 225, 255, .25), 0 0 0 1px rgba(0,0,0,.35) inset !important;
}
.wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__mark{
  border-color: rgba(0, 225, 255, .55) !important;
  background: linear-gradient(180deg, rgba(70,60,180,.45), rgba(0,225,255,.20)) !important;
  box-shadow: 0 0 0 2px rgba(0, 225, 255, .12), 0 0 16px rgba(0, 225, 255, .12) !important;
}


/* =========================================================
   NS Cart/Checkout layout – 1.6.8.4 (Blocks fix)
   Uwaga: Woo Blocks używa .wc-block-components-sidebar-layout jako wrapper.
========================================================= */

/* CART (Blocks) – ustaw grid na wrapperze */
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart{
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 420px !important;
  gap: 28px !important;
  align-items: start !important;
}
@media (max-width: 980px){
  .wp-block-woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart{
    grid-template-columns: 1fr !important;
  }
}

/* Upewnij się, że sidebar nie jest chudy */
.wp-block-woocommerce-cart .wc-block-cart__sidebar{
  min-width: 380px !important;
}
@media (max-width: 980px){
  .wp-block-woocommerce-cart .wc-block-cart__sidebar{min-width: 0 !important;}
}

/* CTA (Blocks) – bez łamania */
.wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wp-block-woocommerce-cart .wc-block-components-button{
  white-space: nowrap !important;
}
.wp-block-woocommerce-cart .wc-block-cart__submit-container{
  background: transparent !important; /* usuń białe tło sticky */
}

/* CHECKOUT (Blocks) – grid na wrapperze, nie na .wc-block-checkout */
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout{
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 420px !important;
  gap: 28px !important;
  align-items: start !important;
}
@media (max-width: 980px){
  .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout{
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   NS CART UI – premium, czytelniej, mniej "pustki"
========================================================= */

/* Panele main + sidebar jako spójne karty */
.wp-block-woocommerce-cart .wc-block-cart__main,
.wp-block-woocommerce-cart .wc-block-cart__sidebar{
  background: linear-gradient(180deg, rgba(12,16,24,.62), rgba(10,12,18,.52)) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 18px !important;
  padding: 22px !important;
  box-shadow: 0 12px 40px rgba(0,0,0,.35) !important;
}
@media (max-width: 640px){
  .wp-block-woocommerce-cart .wc-block-cart__main,
  .wp-block-woocommerce-cart .wc-block-cart__sidebar{ padding: 16px !important; }
}

/* Usuń dodatkowe "puste" marginesy wrapperów blocks */
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout{
  padding-bottom: 0 !important;
}

/* Tabela produktów: mniej "tabelkowo", więcej kartowo */
.wp-block-woocommerce-cart .wc-block-cart-items{
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 14px !important;
}

.wp-block-woocommerce-cart .wc-block-cart-items__header{
  opacity: .75 !important;
}

.wp-block-woocommerce-cart .wc-block-cart-items__row{
  background: rgba(0,0,0,.18) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 14px !important;
}

/* Zaokrąglenie całego wiersza (table) */
.wp-block-woocommerce-cart .wc-block-cart-items__row > td{
  padding: 14px 14px !important;
  vertical-align: top !important;
}
.wp-block-woocommerce-cart .wc-block-cart-items__row > td:first-child{
  border-top-left-radius: 14px !important;
  border-bottom-left-radius: 14px !important;
}
.wp-block-woocommerce-cart .wc-block-cart-items__row > td:last-child{
  border-top-right-radius: 14px !important;
  border-bottom-right-radius: 14px !important;
}

/* Obrazek: większy, spójny */
.wp-block-woocommerce-cart .wc-block-cart-item__image img{
  width: 76px !important;
  height: 76px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
}

/* Nazwa produktu */
.wp-block-woocommerce-cart .wc-block-components-product-name{
  font-weight: 700 !important;
  letter-spacing: .2px !important;
  text-decoration: none !important;
}
.wp-block-woocommerce-cart .wc-block-components-product-name:hover{
  text-decoration: underline !important;
}

/* Meta (np. Rozmiar) – oddech */
.wp-block-woocommerce-cart .wc-block-components-product-metadata{
  margin-top: 8px !important;
  opacity: .9 !important;
}

/* Ilość i usuń – ułóż estetycznie */
.wp-block-woocommerce-cart .wc-block-cart-item__quantity{
  margin-top: 10px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link{
  opacity: .85 !important;
  text-decoration: underline !important;
}
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover{
  opacity: 1 !important;
}

/* Kolumna "Łącznie" – wyrównaj do prawej i podbij wagę */
.wp-block-woocommerce-cart .wc-block-cart-item__total,
.wp-block-woocommerce-cart .wc-block-cart-items__header-total{
  text-align: right !important;
}
.wp-block-woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price__value{
  font-weight: 800 !important;
}

/* Podsumowanie – tytuł i sekcje */
.wp-block-woocommerce-cart .wc-block-cart__totals-title{
  margin-top: 0 !important;
  font-size: 16px !important;
  letter-spacing: .6px !important;
  text-transform: uppercase !important;
}

.wp-block-woocommerce-cart .wc-block-components-totals-wrapper{
  border-top: 1px solid rgba(255,255,255,.10) !important;
  padding-top: 14px !important;
  margin-top: 14px !important;
}

/* CTA – pełna szerokość i premium */
.wp-block-woocommerce-cart .wc-block-cart__submit-button{
  width: 100% !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  font-weight: 800 !important;
}

@media (max-width: 760px){
  /* Na mobile schowaj header tabeli i zrób mniej ciasno */
  .wp-block-woocommerce-cart .wc-block-cart-items thead{ display:none !important; }
  .wp-block-woocommerce-cart .wc-block-cart-items__row > td{ padding: 12px !important; }
  .wp-block-woocommerce-cart .wc-block-cart-item__image img{ width: 64px !important; height: 64px !important; }
}

/* Tabela – bardziej czytelna, mniej jak "surowy" Woo */
.wp-block-woocommerce-cart .wc-block-cart-items{
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 12px !important;
}
.wp-block-woocommerce-cart .wc-block-cart-items__header{
  opacity: .75;
}
.wp-block-woocommerce-cart .wc-block-cart-items__header th{
  font-size: 12px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  padding: 0 10px 10px !important;
  border: 0 !important;
}

/* Każdy wiersz jako "card-row" */
.wp-block-woocommerce-cart .wc-block-cart-items__row{
  background: rgba(8,10,14,.45) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}
.wp-block-woocommerce-cart .wc-block-cart-items__row > td{
  padding: 14px 12px !important;
  vertical-align: top !important;
  border: 0 !important;
}

/* Obrazek produktu */
.wp-block-woocommerce-cart .wc-block-cart-item__image img{
  width: 74px !important;
  height: 74px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
}
@media (max-width: 640px){
  .wp-block-woocommerce-cart .wc-block-cart-item__image img{ width: 64px !important; height: 64px !important; }
}

/* Nazwa + meta */
.wp-block-woocommerce-cart a.wc-block-components-product-name{
  font-weight: 700 !important;
  text-decoration: none !important;
}
.wp-block-woocommerce-cart .wc-block-cart-item__prices{
  margin-top: 6px !important;
  opacity: .9;
}
.wp-block-woocommerce-cart .wc-block-components-product-details__name{ opacity: .75 !important; }

/* Ilość + usuń */
.wp-block-woocommerce-cart .wc-block-components-quantity-selector{
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(10,12,16,.55) !important;
}
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link{
  margin-top: 10px !important;
  opacity: .85 !important;
}

/* Kolumna łącznie */
.wp-block-woocommerce-cart .wc-block-cart-item__total{
  text-align: right !important;
}
.wp-block-woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price__value{
  font-weight: 800 !important;
}

/* Mobile – ukryj header i uprość padding */
@media (max-width: 740px){
  .wp-block-woocommerce-cart .wc-block-cart-items__header{ display:none !important; }
  .wp-block-woocommerce-cart .wc-block-cart-items__row > td{ padding: 12px 10px !important; }
}

/* Summary: nagłówek, kupony, CTA */
.wp-block-woocommerce-cart .wc-block-cart__totals-title{
  font-size: 18px !important;
  margin: 0 0 12px !important;
}
.wp-block-woocommerce-cart .wc-block-components-panel__button{
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(10,12,16,.35) !important;
}
.wp-block-woocommerce-cart .wc-block-cart__submit-button{
  border-radius: 14px !important;
  padding: 14px 16px !important;
  font-weight: 800 !important;
}


/* Sidebar order summary pełna szerokość */
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar{
  min-width: 380px !important;
}
@media (max-width: 980px){
  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar{min-width: 0 !important;}
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__content,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block{
  width: 100% !important;
}

/* Nie łam tekstu literkami */
.wp-block-woocommerce-checkout .wc-block-components-panel__button,
.wp-block-woocommerce-cart .wc-block-components-panel__button{
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: nowrap !important;
}

/* =========================================================
   NS Top Cart Bar – premium (sticky + bez psucia headera)
========================================================= */
.nsgad-topcart{
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 99999;
  padding: 10px 12px;
  background: rgba(6,10,20,.72);
  border-bottom: 1px solid rgba(140,200,255,.22);
  backdrop-filter: blur(8px);
}

/* Gdy pasek koszyka jest aktywny, część motywów (fixed header) potrafi ucinać logo.
   Wymuszamy bezpieczne ustawienia tylko w tym kontekście. */
body.nsgad-has-topcart header.site-header,
body.nsgad-has-topcart header.site-header .container.navbar{
  overflow: visible !important;
}
body.nsgad-has-topcart header.site-header .brand{ display:flex; align-items:center; }
body.nsgad-has-topcart header.site-header .brand-logo{
  display:block;
  width:auto;
  height:auto;
  max-height: 56px;
  object-fit: contain;
}

/* admin bar */
.admin-bar .nsgad-topcart{ top: 32px; }
@media (max-width: 782px){
  .admin-bar .nsgad-topcart{ top: 46px; }
}

/* brak globalnych paddingów na body – pasek jest w flow */

.nsgad-topcart__inner{
  max-width: 1200px;
  margin: 0 auto;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
}
.nsgad-topcart__left{
  display:flex;
  align-items:center;
  gap: 10px;
  color:#fff;
  font-weight: 900;
}
.nsgad-topcart__meta{
  opacity:.92;
  font-weight: 800;
  white-space: nowrap;
}
.nsgad-topcart__actions{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}



/* =========================================================
   NS HARD FULL SKIN 1.6.9.1 – product + cart + checkout
========================================================= */

/* ---- Global typography/links inside Woo areas ---- */
.woocommerce, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout{
  color:#fff;
}
.woocommerce a, .wp-block-woocommerce-cart a, .wp-block-woocommerce-checkout a{
  color: rgba(150,210,255,.95);
  text-decoration: none;
}
.woocommerce a:hover{ text-decoration: underline; }

/* ---- Make Cart/Checkout containers wider (match screen) ----
   Motyw często trzyma treść w wąskim kontenerze.
   Tu wymuszamy „prawie pełną” szerokość z bezpiecznymi marginesami.
*/
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout{
  width: min(1600px, calc(100% - 32px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 600px){
  body.woocommerce-cart .wp-block-woocommerce-cart,
  body.woocommerce-checkout .wp-block-woocommerce-checkout{
    width: calc(100% - 20px) !important;
  }
}

/* ---- Product page (classic single product) ---- */
.single-product div.product{
  background: rgba(8,12,22,.60);
  border: 1px solid rgba(140,200,255,.18);
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 0 26px rgba(70,160,255,.10);
}
.single-product .summary .price,
.single-product .summary .price .amount{
  color:#9be27a;
  font-weight: 900;
  font-size: 22px;
}
.single-product .product_meta{ display:none !important; }

/* Variation select */
.single-product form.variations_form .variations td.label{
  color:#fff; font-weight: 800;
}
.single-product form.variations_form select{
  width: 100%;
  background: rgba(10,14,26,.78) !important;
  color:#fff !important;
  border:1px solid rgba(140,200,255,.28) !important;
  border-radius: 14px !important;
  min-height: 44px;
}

/* Qty + add to cart row */
.single-product form.cart{
  display:flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

/* WC variations: input + button bywają "sklejone" */
.single-product .woocommerce-variation-add-to-cart{
  display:flex;
  flex-wrap: wrap;
  align-items:center;
  gap: 12px;
}
.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button{
  margin-left: 6px;
}

/* Rozmiarówka / tabele w zakładkach */
.single-product .woocommerce-Tabs-panel table{
  width:100%;
  border-collapse: collapse;
  margin: 10px 0;
}
.single-product .woocommerce-Tabs-panel th,
.single-product .woocommerce-Tabs-panel td{
  padding: 8px 10px;
  border-bottom: 1px solid rgba(140,200,255,.14);
  text-align:left;
}
.single-product .woocommerce-Tabs-panel tr:hover td{ background: rgba(140,200,255,.06); }
.single-product form.cart .quantity{
  display:flex;
  align-items:center;
  gap: 0;
  border-radius: 14px;
  overflow:hidden;
  border: 1px solid rgba(140,200,255,.25);
  background: rgba(10,14,26,.55);
}
.single-product form.cart .quantity input.qty{
  width: 68px !important;
  min-height: 44px;
  background: transparent !important;
  color:#fff !important;
  border:0 !important;
  text-align:center !important;
  font-weight: 900;
}
.single-product .single_add_to_cart_button,
.woocommerce button.button.alt,
.woocommerce a.button,
.woocommerce button.button,
.wp-block-woocommerce-cart .wc-block-components-button,
.wp-block-woocommerce-checkout .wc-block-components-button{
  border-radius: 16px !important;
  padding: 12px 18px !important;
  font-weight: 900 !important;
  border: 1px solid rgba(140,200,255,.28) !important;
  color:#fff !important;
}
.single-product .single_add_to_cart_button,
.woocommerce button.button.alt{
  background: linear-gradient(90deg, rgba(70,60,180,.95), rgba(60,170,255,.95)) !important;
  box-shadow: 0 0 18px rgba(80,170,255,.22);
}
.woocommerce a.button,
.woocommerce button.button{
  background: rgba(10,14,26,.55) !important;
}

/* Notices */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info{
  background: rgba(10,14,26,.75) !important;
  border: 1px solid rgba(140,200,255,.22) !important;
  border-left: 4px solid rgba(60,170,255,.85) !important;
  border-radius: 16px !important;
  color:#fff !important;
  padding: 14px 16px !important;
  outline: none !important; /* usuń białą obwódkę focus */
  box-shadow: 0 0 0 1px rgba(140,200,255,.14), 0 0 22px rgba(80,170,255,.10) !important;
}
.woocommerce-notices-wrapper .woocommerce-message:focus,
.woocommerce-notices-wrapper .woocommerce-error:focus,
.woocommerce-notices-wrapper .woocommerce-info:focus{
  outline: none !important;
  box-shadow: 0 0 0 1px rgba(140,200,255,.22), 0 0 28px rgba(80,170,255,.16) !important;
}
.woocommerce-notices-wrapper .woocommerce-message:before,
.woocommerce-notices-wrapper .woocommerce-error:before,
.woocommerce-notices-wrapper .woocommerce-info:before{
  display:none !important; /* kill green check etc */
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs{
  display:flex;
  gap: 10px;
  border-bottom: 1px solid rgba(140,200,255,.18);
  padding: 0 0 10px 0;
  margin: 18px 0 16px 0;
  list-style: none !important;
}

/* usuń "kropki"/ozdobniki z motywów/Elementora */
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{
  content: none !important;
  display: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  border: 0 !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* =========================================================
   NS PREMIUM – checkboxes/radios (Blocks)
========================================================= */
.wp-block-woocommerce-checkout .wc-block-components-checkbox,
.wp-block-woocommerce-cart .wc-block-components-checkbox{
  gap: 10px !important;
}

/* Checkbox input is visually hidden in Blocks – we stylujemy wrapper + mark */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__input,
.wp-block-woocommerce-cart .wc-block-components-checkbox__input{
  width: 18px !important;
  height: 18px !important;
  border-radius: 6px !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkbox__mark,
.wp-block-woocommerce-cart .wc-block-components-checkbox__mark{
  width: 18px !important;
  height: 18px !important;
  border-radius: 6px !important;
  border: 1px solid rgba(140,200,255,.35) !important;
  background: rgba(10,14,26,.55) !important;
  box-shadow: 0 0 0 1px rgba(140,200,255,.10) !important;
}

/* Checked state (Blocks dodaje aria-checked/checked na input; svg mark zostaje) */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__mark,
.wp-block-woocommerce-cart .wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__mark{
  border-color: rgba(60,170,255,.75) !important;
  background: linear-gradient(180deg, rgba(70,60,180,.55), rgba(60,170,255,.45)) !important;
  box-shadow: 0 0 0 1px rgba(60,170,255,.25), 0 0 18px rgba(80,170,255,.18) !important;
}

/* Radio controls (shipping/payment) – bigger click + premium highlight */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option{
  border-radius: 16px !important;
}
.wp-block-woocommerce-checkout .wc-block-components-radio-control__input:focus,
.wp-block-woocommerce-cart .wc-block-components-radio-control__input:focus{
  outline: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display:inline-flex;
  padding: 10px 14px;
  border-radius: 16px;
  border: 1px solid rgba(140,200,255,.22);
  background: rgba(10,14,26,.55);
  color:#fff !important;
  font-weight: 900;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  background: rgba(70,60,180,.55);
  box-shadow: 0 0 16px rgba(80,170,255,.16);
}
.woocommerce div.product .woocommerce-tabs .panel h2{ display:none !important; }
.woocommerce div.product .woocommerce-tabs .panel{
  background: rgba(8,12,22,.45);
  border: 1px solid rgba(140,200,255,.14);
  border-radius: 18px;
  padding: 16px;
}

/* ---- Cart (Blocks) ---- */
.wp-block-woocommerce-cart .wc-block-components-main,
.wp-block-woocommerce-cart .wc-block-cart__sidebar{
  background: rgba(8,12,22,.55) !important;
  border: 1px solid rgba(140,200,255,.16) !important;
  border-radius: 22px !important;
  padding: 18px !important;
}
.wp-block-woocommerce-cart .wc-block-cart-items__header{
  opacity:.85;
}
.wp-block-woocommerce-cart .wc-block-cart-item__wrap{
  gap: 10px;
}
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link{
  color: rgba(150,210,255,.95) !important;
}

/* ---- Checkout (Blocks) ---- */
.wp-block-woocommerce-checkout .wc-block-checkout__main,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar{
  background: rgba(8,12,22,.55) !important;
  border: 1px solid rgba(140,200,255,.16) !important;
  border-radius: 22px !important;
  padding: 18px !important;
}
.wp-block-woocommerce-checkout .wc-block-components-title{
  color:#fff !important;
}
.wp-block-woocommerce-checkout input,
.wp-block-woocommerce-checkout select,
.wp-block-woocommerce-checkout textarea{
  background: rgba(10,14,26,.78) !important;
  color:#fff !important;
  border:1px solid rgba(140,200,255,.25) !important;
  border-radius: 14px !important;
  min-height: 44px !important;
}
.wp-block-woocommerce-checkout .wc-block-components-text-input label,
.wp-block-woocommerce-checkout .wc-blocks-components-select__label{
  color:#fff !important;
  opacity:.92;
  font-weight: 800;
}

/* Make summary items not break vertically */
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__description,
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__total-price{
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

/* =========================================================
   NS Cart Bar Sticky – 1.6.9.7
========================================================= */
.nsgad-topcart--sticky{
  position: sticky !important;
  top: 0 !important;
  z-index: 50 !important;
  margin: 0 0 16px 0 !important;
}
.woocommerce-page .nsgad-topcart--sticky{
  background: rgba(6,10,20,.78) !important;
  border: 1px solid rgba(140,200,255,.18) !important;
  border-radius: 18px !important;
  padding: 12px 12px !important;
  backdrop-filter: blur(10px);
}


/* Price – NS neon blue */
.single-product div.product .summary p.price,
.single-product div.product .summary .price{
  margin: 6px 0 14px 0 !important;
}
.single-product div.product .summary .price .amount,
.single-product div.product .summary .price bdi{
  color: #4cc3ff !important;
  font-weight: 900 !important;
  font-size: 26px !important;
  text-shadow: 0 0 14px rgba(76,195,255,.45) !important;
}
.single-product div.product .summary .price .woocommerce-Price-currencySymbol{
  opacity: .9;
  font-weight: 800;
}


/* Product tabs – remove dots */
.woocommerce div.product .woocommerce-tabs ul.tabs{
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  list-style: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{
  display: none !important;
  content: none !important;
}


/* Qty + Add to cart spacing (simple + variations) */
.single-product form.cart,
.woocommerce-variation-add-to-cart.variations_button{
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap;
}


/* Variations select – NS look */
.single-product form.variations_form .variations select{
  background: rgba(10,14,26,.78) !important;
  color:#fff !important;
  border:1px solid rgba(140,200,255,.28) !important;
  border-radius: 14px !important;
  min-height: 44px !important;
  padding: 10px 12px !important;
}
.single-product form.variations_form .reset_variations{
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin-left: 10px !important;
  padding: 9px 12px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(140,200,255,.22) !important;
  background: rgba(10,14,26,.55) !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 900 !important;
}

/* =========================================================
   Premium skin overrides – 1.6.9.8
   (bardziej „premium”, mniej świecąco)
========================================================= */
:root{
  --nsgad-w-border: rgba(255,255,255,.10);
  --nsgad-w-panel: rgba(8,12,22,.58);
  --nsgad-w-panel2: rgba(10,14,26,.70);
  --nsgad-w-accent: rgba(0,229,255,.95);
}

/* Cart bar – sticky, bez globalnych paddingów na body */
.nsgad-topcart,
.nsgad-topcart--sticky{
  position: sticky !important;
  top: 0 !important;
  z-index: 60 !important;
}
.admin-bar .nsgad-topcart{ top: 32px !important; }
@media (max-width: 782px){
  .admin-bar .nsgad-topcart{ top: 46px !important; }
}


.woocommerce-page .nsgad-topcart--sticky{
  background: rgba(6,10,18,.72) !important;
  border: 1px solid var(--nsgad-w-border) !important;
  border-radius: 18px !important;
  padding: 10px 12px !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.22);
  backdrop-filter: blur(10px);
}
.nsgad-topcart__left{ gap: 8px !important; }
.nsgad-topcart__icon{ opacity: .9; }
.nsgad-topcart__meta{ opacity: .82 !important; font-weight: 800 !important; }

/* Buttons used in topcart */
.nsgad-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 16px;
  font-weight: 900;
  border: 1px solid var(--nsgad-w-border);
  background: rgba(255,255,255,.04);
  color:#fff;
  text-decoration:none !important;
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.nsgad-btn:hover{
  transform: translateY(-1px);
  border-color: rgba(0,229,255,.24);
  background: rgba(0,229,255,.08);
}
.nsgad-btn--primary{
  border-color: rgba(0,229,255,.26);
  background: linear-gradient(90deg, rgba(130,110,255,.30), rgba(0,229,255,.18));
}
.nsgad-btn--primary:hover{
  border-color: rgba(0,229,255,.40);
  background: linear-gradient(90deg, rgba(130,110,255,.38), rgba(0,229,255,.22));
}
.nsgad-btn--ghost{ background: rgba(255,255,255,.03); }

/* Cart/Checkout panels – mniej „chude”, lepsze odstępy */
.wp-block-woocommerce-cart .wc-block-components-main,
.wp-block-woocommerce-cart .wc-block-cart__sidebar,
.wp-block-woocommerce-checkout .wc-block-checkout__main,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar{
  background: var(--nsgad-w-panel) !important;
  border: 1px solid var(--nsgad-w-border) !important;
  border-radius: 22px !important;
  padding: 18px 18px 20px !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.22);
}

/* Inputs – premium focus */
.wp-block-woocommerce-checkout input,
.wp-block-woocommerce-checkout select,
.wp-block-woocommerce-checkout textarea{
  background: var(--nsgad-w-panel2) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}
.wp-block-woocommerce-checkout input:focus,
.wp-block-woocommerce-checkout select:focus,
.wp-block-woocommerce-checkout textarea:focus{
  outline: none !important;
  border-color: rgba(0,229,255,.30) !important;
  box-shadow: 0 0 0 3px rgba(0,229,255,.16) !important;
}

/* WC Buttons – ujednolicenie */
.single-product .single_add_to_cart_button,
.woocommerce button.button.alt,
.woocommerce a.button,
.woocommerce button.button,
.wp-block-woocommerce-cart .wc-block-components-button,
.wp-block-woocommerce-checkout .wc-block-components-button{
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.04) !important;
  box-shadow: none !important;
}
.single-product .single_add_to_cart_button,
.woocommerce button.button.alt{
  border-color: rgba(0,229,255,.26) !important;
  background: linear-gradient(90deg, rgba(130,110,255,.30), rgba(0,229,255,.18)) !important;
}

/* =========================================================
   NS HARD OVERRIDE v2 – checkbox / radio (Woo Blocks)
   - naprawia nachodzenie tekstu
   - robi premium kontrolki (czytelne na ciemnym tle)
   ========================================================= */

/* CHECKBOX */
.wp-block-woocommerce-checkout .wc-block-components-checkbox,
.wp-block-woocommerce-cart .wc-block-components-checkbox{
  margin: 10px 0 !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkbox > label,
.wp-block-woocommerce-cart .wc-block-components-checkbox > label{
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  line-height: 1.25 !important;
  cursor: pointer !important;
}

/* input klikalny, ale niewidoczny – siedzi NAD markiem */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__input,
.wp-block-woocommerce-cart .wc-block-components-checkbox__input{
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  opacity: 0 !important;
  z-index: 3 !important;
  cursor: pointer !important;
}

/* wizualny box */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__mark,
.wp-block-woocommerce-cart .wc-block-components-checkbox__mark{
  flex: 0 0 22px !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 6px !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  background: rgba(255,255,255,.04) !important;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.25) !important;
  pointer-events: none !important; /* klik idzie w label/input */
}

/* tekst obok – NIGDY na checkbox */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__label,
.wp-block-woocommerce-cart .wc-block-components-checkbox__label{
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
}

/* ikonka ✓ (svg/path) */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__mark path,
.wp-block-woocommerce-cart .wc-block-components-checkbox__mark path{
  fill: none !important;
  stroke: rgba(255,255,255,.95) !important;
  stroke-width: 2.4 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  opacity: 0 !important; /* pokaż dopiero po zaznaczeniu */
}

/* zaznaczony */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__mark,
.wp-block-woocommerce-cart .wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__mark{
  border-color: rgba(0,229,255,.55) !important;
  background: linear-gradient(180deg, rgba(0,229,255,.18), rgba(130,110,255,.14)) !important;
  box-shadow: 0 0 0 3px rgba(0,229,255,.10), 0 10px 22px rgba(0,0,0,.25) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__mark path,
.wp-block-woocommerce-cart .wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__mark path{
  opacity: 1 !important;
}

/* focus */
.wp-block-woocommerce-checkout .wc-block-components-checkbox > label:focus-within .wc-block-components-checkbox__mark,
.wp-block-woocommerce-cart .wc-block-components-checkbox > label:focus-within .wc-block-components-checkbox__mark{
  border-color: rgba(0,229,255,.55) !important;
  box-shadow: 0 0 0 3px rgba(0,229,255,.16) !important;
}


/* RADIO (shipping/payment) – robimy własne kółko i kropkę */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option{
  position: relative !important;
  padding-left: 44px !important;
  min-height: 28px !important;
}

/* =========================================================
   NS FINAL FIX – tekst NIGDY nie nachodzi na checkbox
   Dlaczego: w Woo Blocks SVG (mark) bywa pozycjonowany absolutnie,
   przez co flex-gap nie działa i tekst wchodzi na ikonę.
   Tu robimy układ odporny: label ma padding-left, a mark+input są absolute.
   ========================================================= */

.wp-block-woocommerce-checkout .wc-block-components-checkbox > label,
.wp-block-woocommerce-cart .wc-block-components-checkbox > label{
  display: block !important;
  position: relative !important;
  padding-left: 34px !important; /* miejsce na checkbox */
  min-height: 24px !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkbox__mark,
.wp-block-woocommerce-cart .wc-block-components-checkbox__mark{
  position: absolute !important;
  left: 0 !important;
  top: 0.15em !important;
  margin: 0 !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkbox__input,
.wp-block-woocommerce-cart .wc-block-components-checkbox__input{
  left: 0 !important;
  top: 0.15em !important;
  transform: none !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkbox__label,
.wp-block-woocommerce-cart .wc-block-components-checkbox__label{
  display: inline !important;
}

/* niewidoczny input, ale klikalny */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__input,
.wp-block-woocommerce-cart .wc-block-components-radio-control__input{
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  opacity: 0 !important;
  z-index: 3 !important;
  cursor: pointer !important;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control__option::before,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option::before{
  content: "" !important;
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  background: rgba(255,255,255,.04) !important;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.25) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control__option::after,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option::after{
  content: "" !important;
  position: absolute !important;
  left: 19px !important;
  top: 50% !important;
  transform: translateY(-50%) scale(.6) !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: rgba(0,229,255,.95) !important;
  opacity: 0 !important;
}

/* Woo dodaje klasę option-checked – wykorzystujemy ją */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option-checked::before,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option-checked::before{
  border-color: rgba(0,229,255,.55) !important;
  box-shadow: 0 0 0 3px rgba(0,229,255,.10) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control__option-checked::after,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option-checked::after{
  opacity: 1 !important;
  transform: translateY(-50%) scale(1) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control__option:focus-within::before,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option:focus-within::before{
  border-color: rgba(0,229,255,.60) !important;
  box-shadow: 0 0 0 3px rgba(0,229,255,.16) !important;
}



/* =========================================================
   NSGAD – Woo Blocks Controls FIX
   - checkbox text overlapping
   - radio not appearing checked / hard to click
   Scoped to Cart + Checkout blocks only.
   ========================================================= */

.wp-block-woocommerce-checkout .wc-block-components-checkbox label,
.wp-block-woocommerce-cart .wc-block-components-checkbox label{
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding-left: 38px !important; /* reserve space for control */
  min-height: 26px !important;
  line-height: 1.25 !important;
}

/* Make the real input clickable (covers the visual box) */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__input,
.wp-block-woocommerce-cart .wc-block-components-checkbox__input{
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 26px !important;
  height: 26px !important;
  margin: 0 !important;
  opacity: 0 !important;
  z-index: 3 !important;
  cursor: pointer !important;
}

/* Visual checkbox box (SVG) */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__mark,
.wp-block-woocommerce-cart .wc-block-components-checkbox__mark{
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 26px !important;
  height: 26px !important;
  margin: 0 !important;
  border-radius: 8px !important;
  pointer-events: none !important; /* clicks go to input/label */
}

/* Checkbox text */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__label,
.wp-block-woocommerce-cart .wc-block-components-checkbox__label{
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Ensure checked tick is clearly visible */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__mark path,
.wp-block-woocommerce-cart .wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__mark path{
  stroke: currentColor !important;
  fill: none !important;
  stroke-width: 3px !important;
  opacity: 1 !important;
}

/* ======================= RADIO (shipping/payment) ======================= */

.wp-block-woocommerce-checkout .wc-block-components-radio-control__option,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option{
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  padding-left: 38px !important; /* reserve space for dot */
  min-height: 28px !important;
}

/* Keep the rest of the option clickable */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option-layout,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option-layout{
  pointer-events: none !important; /* label click toggles input */
}

/* Real radio input clickable */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__input,
.wp-block-woocommerce-cart .wc-block-components-radio-control__input{
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 26px !important;
  height: 26px !important;
  margin: 0 !important;
  opacity: 0 !important;
  z-index: 3 !important;
  cursor: pointer !important;
}

/* Custom radio circle */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option::before,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option::before{
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.35) !important;
  background: rgba(10,14,24,.45) !important;
  box-shadow: 0 0 0 1px rgba(0,229,255,.10) !important;
  pointer-events: none !important;
}

/* Dot when checked (Woo adds option-checked class) */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option-checked::after,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option-checked::after{
  content: "" !important;
  position: absolute !important;
  left: 6px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 999px !important;
  background: currentColor !important;
  box-shadow: 0 0 14px rgba(0,229,255,.45) !important;
  pointer-events: none !important;
}

/* Ensure labels don’t overlap */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__label,
.wp-block-woocommerce-cart .wc-block-components-radio-control__label{
  line-height: 1.25 !important;
}

/* ==========================================================
   NS HARD OVERRIDE v3 – fix click + alignment (checkout/cart)
   - tekst nigdy nie nachodzi na kontrolkę
   - input jest niewidoczny, ale 100% klikalny
   - zaznaczenie radio zawsze widoczne
   ========================================================== */

/* CHECKBOX */
.wp-block-woocommerce-checkout .wc-block-components-checkbox > label,
.wp-block-woocommerce-cart .wc-block-components-checkbox > label{
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 26px !important;
  padding-left: 40px !important; /* rezerwacja miejsca na checkbox */
  margin: 0 !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkbox__input,
.wp-block-woocommerce-cart .wc-block-components-checkbox__input{
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 40px !important;
  height: 100% !important;
  margin: 0 !important;
  opacity: 0 !important;
  z-index: 5 !important;
  cursor: pointer !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkbox__mark,
.wp-block-woocommerce-cart .wc-block-components-checkbox__mark{
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 22px !important;
  height: 22px !important;
  pointer-events: none !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkbox__label,
.wp-block-woocommerce-cart .wc-block-components-checkbox__label{
  display: block !important;
  line-height: 1.25 !important;
}

/* RADIO */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option{
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 26px !important;
  padding-left: 40px !important;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control__input,
.wp-block-woocommerce-cart .wc-block-components-radio-control__input{
  position: absolute !important;
  inset: 0 !important;
  opacity: 0 !important;
  z-index: 5 !important;
  cursor: pointer !important;
}

/* Circle */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option::before,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option::before{
  left: 0 !important;
  z-index: 1 !important;
}

/* Dot for checked (Woo adds option-checked class on label) */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option-checked::after,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option-checked::after{
  z-index: 2 !important;
  background: rgba(0,229,255,1) !important;
}



/* =========================================================
   NS HARD FIX – Woo Blocks controls (checkout/cart)
   - prevents label text overlapping checkbox/radio
   - ensures visible checked dots
   - keeps clicks working
   ========================================================= */

/* --- CART: hide coupon form (keep coupons on checkout) --- */
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block{
  display:none !important;
}

/* ===== CHECKBOX (Blocks) ===== */
.wp-block-woocommerce-checkout .wc-block-components-checkbox > label,
.wp-block-woocommerce-cart .wc-block-components-checkbox > label{
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 26px !important;
  padding-left: 40px !important; /* reserve space for box */
  gap: 10px !important;
  line-height: 1.25 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* make input capture clicks on the left area */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__input,
.wp-block-woocommerce-cart .wc-block-components-checkbox__input{
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  width: 28px !important;
  height: 28px !important;
  transform: translateY(-50%) !important;
  opacity: 0 !important;
  z-index: 3 !important;
  margin: 0 !important;
  cursor: pointer !important;
}

/* the SVG box sits under the (invisible) input */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__mark,
.wp-block-woocommerce-cart .wc-block-components-checkbox__mark{
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  width: 24px !important;
  height: 24px !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
  border-radius: 7px !important;
  outline: 1px solid rgba(255,255,255,.35) !important;
  background: rgba(0,0,0,.25) !important;
  box-shadow: inset 0 0 0 1px rgba(0,229,255,.18) !important;
}

/* check path visibility */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__mark path,
.wp-block-woocommerce-cart .wc-block-components-checkbox__mark path{
  fill: none !important;
  stroke: rgba(0,229,255,1) !important;
  stroke-width: 2.6 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  opacity: 0 !important; /* only when checked */
}

/* checked state */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__input:checked ~ .wc-block-components-checkbox__mark path,
.wp-block-woocommerce-cart .wc-block-components-checkbox__input:checked ~ .wc-block-components-checkbox__mark path{
  opacity: 1 !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkbox__label,
.wp-block-woocommerce-cart .wc-block-components-checkbox__label{
  display: inline-block !important;
  margin: 0 !important;
}

/* ===== RADIO (Shipping/Payment) ===== */
/* ensure label reserves left space, and text doesn't sit on circle */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option{
  position: relative !important;
  display: block !important;
  padding-left: 44px !important;
  border-radius: 14px !important;
}

/* clickable input overlay on the left circle area (keeps Woo logic) */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__input,
.wp-block-woocommerce-cart .wc-block-components-radio-control__input{
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 44px !important;
  height: 100% !important;
  opacity: 0 !important;
  z-index: 3 !important;
  cursor: pointer !important;
}

/* circle */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option::before,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option::before{
  content: "" !important;
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  width: 20px !important;
  height: 20px !important;
  transform: translateY(-50%) !important;
  border-radius: 999px !important;
  outline: 1px solid rgba(255,255,255,.35) !important;
  background: rgba(0,0,0,.25) !important;
  box-shadow: inset 0 0 0 1px rgba(0,229,255,.18) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* dot */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option::after,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option::after{
  content: "" !important;
  position: absolute !important;
  left: 20px !important;
  top: 50% !important;
  width: 8px !important;
  height: 8px !important;
  transform: translateY(-50%) !important;
  border-radius: 999px !important;
  background: rgba(0,229,255,1) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

/* show dot when checked (Woo adds class on label) */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option-checked::after,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option-checked::after{
  opacity: 1 !important;
}

/* keep inner layout aligned */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option-layout,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option-layout{
  padding-left: 0 !important;
}

/* =========================================================
   NSGAD 1.6.9.25 – FINAL HARD OVERRIDE (Checkout/Cart)
   Fixes:
   - radio dots not visible (especially first checked)
   - text overlapping custom controls
   NOTE: We render the radio UI on __option-layout to avoid being covered.
   ========================================================= */

/* --- CHECKBOX: reserve space so text never sits on the box --- */
.wp-block-woocommerce-checkout .wc-block-components-checkbox > label,
.wp-block-woocommerce-cart .wc-block-components-checkbox > label{
  position: relative !important;
  display: block !important;
  padding-left: 44px !important;
  min-height: 24px !important;
  line-height: 1.35 !important;
}

/* input stays clickable */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__input,
.wp-block-woocommerce-cart .wc-block-components-checkbox__input{
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 24px !important;
  height: 24px !important;
  margin: 0 !important;
  opacity: 0 !important;
  z-index: 5 !important;
  cursor: pointer !important;
}

/* visual box */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__mark,
.wp-block-woocommerce-cart .wc-block-components-checkbox__mark{
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 7px !important;
  outline: 1px solid rgba(255,255,255,.28) !important;
  background: rgba(0,0,0,.28) !important;
  box-shadow: inset 0 0 0 1px rgba(0,229,255,.18) !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

/* visible tick */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__mark path,
.wp-block-woocommerce-cart .wc-block-components-checkbox__mark path{
  fill: none !important;
  stroke: rgba(255,255,255,.92) !important;
  stroke-width: 2.6 !important;
}

/* show tick only when checked (input is inside label, before svg) */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__input:not(:checked) + .wc-block-components-checkbox__mark path,
.wp-block-woocommerce-cart .wc-block-components-checkbox__input:not(:checked) + .wc-block-components-checkbox__mark path{
  opacity: 0 !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__mark,
.wp-block-woocommerce-cart .wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__mark{
  outline-color: rgba(0,229,255,.60) !important;
  box-shadow: 0 0 0 3px rgba(0,229,255,.12), inset 0 0 0 1px rgba(0,229,255,.25) !important;
}

/* label text as block so it won't wrap under the icon weirdly */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__label,
.wp-block-woocommerce-cart .wc-block-components-checkbox__label{
  display: block !important;
}


/* --- RADIO: render circle + dot on __option-layout (not on label) --- */
/* kill previous attempts that can be covered */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option::before,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option::after,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option::before,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option::after{
  display: none !important;
  content: none !important;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control__option,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option{
  position: relative !important;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control__option-layout,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option-layout{
  position: relative !important;
  padding-left: 44px !important; /* space for circle */
  min-height: 24px !important;
  display: flex !important;
  align-items: center !important;
}

/* make input clickable (it sits before option-layout) */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__input,
.wp-block-woocommerce-cart .wc-block-components-radio-control__input{
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 24px !important;
  height: 24px !important;
  margin: 0 !important;
  opacity: 0 !important;
  z-index: 6 !important;
  cursor: pointer !important;
}

/* circle */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option-layout::before,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option-layout::before{
  content: "" !important;
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 999px !important;
  outline: 1px solid rgba(255,255,255,.28) !important;
  background: rgba(0,0,0,.28) !important;
  box-shadow: inset 0 0 0 1px rgba(0,229,255,.18) !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

/* dot – controlled by input:checked */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option-layout::after,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option-layout::after{
  content: "" !important;
  position: absolute !important;
  left: 19px !important;
  top: 50% !important;
  transform: translateY(-50%) scale(.6) !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: rgba(0,229,255,1) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: 3 !important;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control__input:checked + .wc-block-components-radio-control__option-layout::after,
.wp-block-woocommerce-cart .wc-block-components-radio-control__input:checked + .wc-block-components-radio-control__option-layout::after{
  opacity: 1 !important;
  transform: translateY(-50%) scale(1) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control__input:checked + .wc-block-components-radio-control__option-layout::before,
.wp-block-woocommerce-cart .wc-block-components-radio-control__input:checked + .wc-block-components-radio-control__option-layout::before{
  outline-color: rgba(0,229,255,.60) !important;
  box-shadow: 0 0 0 3px rgba(0,229,255,.12), inset 0 0 0 1px rgba(0,229,255,.25) !important;
}


/* =========================================================
   NSGAD 1.6.9.25 – FINAL HARD OVERRIDE (Checkout/Cart)
   Fixes:
   - radio dots not visible (especially first checked)
   - text overlapping custom controls
   ========================================================= */

/* ========== CHECKBOX ========== */
.wp-block-woocommerce-checkout .wc-block-components-checkbox label,
.wp-block-woocommerce-cart .wc-block-components-checkbox label{
  position: relative !important;
  display: block !important;
  padding-left: 44px !important; /* space for box */
  min-height: 24px !important;
  line-height: 1.35 !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkbox__input,
.wp-block-woocommerce-cart .wc-block-components-checkbox__input{
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  width: 20px !important;
  height: 20px !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  opacity: 0 !important;
  z-index: 5 !important;
  cursor: pointer !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkbox__mark,
.wp-block-woocommerce-cart .wc-block-components-checkbox__mark{
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  width: 20px !important;
  height: 20px !important;
  transform: translateY(-50%) !important;
  border-radius: 6px !important;
  outline: 1px solid rgba(255,255,255,.30) !important;
  background: rgba(0,0,0,.25) !important;
  box-shadow: inset 0 0 0 1px rgba(0,229,255,.18) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* visible tick */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__mark path,
.wp-block-woocommerce-cart .wc-block-components-checkbox__mark path{
  fill: none !important;
  stroke: rgba(255,255,255,.92) !important;
  stroke-width: 2.4 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  opacity: 0 !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__mark path,
.wp-block-woocommerce-cart .wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__mark path{
  opacity: 1 !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkbox__label,
.wp-block-woocommerce-cart .wc-block-components-checkbox__label{
  display: block !important;
  margin: 0 !important;
}

/* ========== RADIO (shipping & payment) ========== */

/* disable any previous pseudo UI on the label itself */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option::before,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option::after,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option::before,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option::after{
  content: none !important;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control__option,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option{
  position: relative !important;
}

/* input overlay */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__input,
.wp-block-woocommerce-cart .wc-block-components-radio-control__input{
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  width: 20px !important;
  height: 20px !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  opacity: 0 !important;
  z-index: 5 !important;
  cursor: pointer !important;
}

/* move layout right so text never overlaps */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option-layout,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option-layout{
  position: relative !important;
  padding-left: 44px !important;
  min-height: 24px !important;
}

/* ring rendered on option-layout to avoid being covered */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option-layout::before,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option-layout::before{
  content: "" !important;
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  width: 20px !important;
  height: 20px !important;
  transform: translateY(-50%) !important;
  border-radius: 999px !important;
  outline: 1px solid rgba(255,255,255,.30) !important;
  background: rgba(0,0,0,.25) !important;
  box-shadow: inset 0 0 0 1px rgba(0,229,255,.18) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* dot */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option-layout::after,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option-layout::after{
  content: "" !important;
  position: absolute !important;
  left: 20px !important;
  top: 50% !important;
  width: 8px !important;
  height: 8px !important;
  transform: translateY(-50%) !important;
  border-radius: 999px !important;
  background: rgba(0,229,255,1) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

/* show dot based on the real input state */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__input:checked + .wc-block-components-radio-control__option-layout::after,
.wp-block-woocommerce-cart .wc-block-components-radio-control__input:checked + .wc-block-components-radio-control__option-layout::after{
  opacity: 1 !important;
}

/* highlight ring when checked */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__input:checked + .wc-block-components-radio-control__option-layout::before,
.wp-block-woocommerce-cart .wc-block-components-radio-control__input:checked + .wc-block-components-radio-control__option-layout::before{
  outline: 1px solid rgba(0,229,255,.55) !important;
  box-shadow: 0 0 0 3px rgba(0,229,255,.12), inset 0 0 0 1px rgba(0,229,255,.18) !important;
}

/* =========================================================
   NS FINAL: radio options as premium cards (no empty circles)
   - replace left radio dots with a ✓ in the corner
   - neon outline on selected option
   Targets shipping/payment options in checkout + cart blocks
   ========================================================= */

/* Kill any previous radio circles/dots we injected earlier */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option::before,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option::after,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option::before,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option::after,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option-layout::before,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option-layout::after,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option-layout::before,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option-layout::after{
  content: none !important;
  display: none !important;
}

/* Card base */
.wp-block-woocommerce-checkout #shipping-option .wc-block-components-radio-control__option,
.wp-block-woocommerce-checkout #payment-method .wc-block-components-radio-control__option,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option{
  position: relative !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.wp-block-woocommerce-checkout #shipping-option .wc-block-components-radio-control__option-layout,
.wp-block-woocommerce-checkout #payment-method .wc-block-components-radio-control__option-layout,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option-layout{
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 16px 18px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  background: rgba(0,0,0,.18) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06) !important;
  transition: box-shadow .2s ease, border-color .2s ease, transform .2s ease !important;
}

.wp-block-woocommerce-checkout #shipping-option .wc-block-components-radio-control__option:hover .wc-block-components-radio-control__option-layout,
.wp-block-woocommerce-checkout #payment-method .wc-block-components-radio-control__option:hover .wc-block-components-radio-control__option-layout,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option:hover .wc-block-components-radio-control__option-layout{
  border-color: rgba(0,229,255,.35) !important;
  box-shadow: 0 0 0 3px rgba(0,229,255,.08), inset 0 0 0 1px rgba(0,229,255,.10) !important;
}

/* ✓ badge (shown only when checked) */
.wp-block-woocommerce-checkout #shipping-option .wc-block-components-radio-control__option-layout{
  padding-right: 54px !important; /* room for ✓ */
}
.wp-block-woocommerce-checkout #payment-method .wc-block-components-radio-control__option-layout{
  padding-right: 54px !important; /* room for ✓ */
}
.wp-block-woocommerce-cart .wc-block-components-radio-control__option-layout{
  padding-right: 54px !important; /* room for ✓ */
}

.wp-block-woocommerce-checkout #shipping-option .wc-block-components-radio-control__option-layout::after,
.wp-block-woocommerce-checkout #payment-method .wc-block-components-radio-control__option-layout::after,
.wp-block-woocommerce-cart .wc-block-components-radio-control__option-layout::after{
  content: "✓" !important;
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  width: 26px !important;
  height: 26px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  line-height: 1 !important;
  color: rgba(0,229,255,1) !important;
  background: rgba(0,0,0,.35) !important;
  outline: 1px solid rgba(0,229,255,.45) !important;
  box-shadow: 0 0 0 3px rgba(0,229,255,.10) !important;
  opacity: 0 !important;
  transform: translateY(-2px) scale(.96) !important;
  transition: opacity .15s ease, transform .15s ease !important;
  pointer-events: none !important;
}

/* Checked state: neon outline + show ✓ */
.wp-block-woocommerce-checkout #shipping-option .wc-block-components-radio-control__input:checked + .wc-block-components-radio-control__option-layout,
.wp-block-woocommerce-checkout #payment-method .wc-block-components-radio-control__input:checked + .wc-block-components-radio-control__option-layout,
.wp-block-woocommerce-cart .wc-block-components-radio-control__input:checked + .wc-block-components-radio-control__option-layout{
  border-color: rgba(0,229,255,.70) !important;
  box-shadow: 0 0 0 4px rgba(0,229,255,.12), inset 0 0 0 1px rgba(0,229,255,.16) !important;
}

.wp-block-woocommerce-checkout #shipping-option .wc-block-components-radio-control__input:checked + .wc-block-components-radio-control__option-layout::after,
.wp-block-woocommerce-checkout #payment-method .wc-block-components-radio-control__input:checked + .wc-block-components-radio-control__option-layout::after,
.wp-block-woocommerce-cart .wc-block-components-radio-control__input:checked + .wc-block-components-radio-control__option-layout::after{
  opacity: 1 !important;
  transform: translateY(0) scale(1) !important;
}

/* Make the whole card clickable */
.wp-block-woocommerce-checkout #shipping-option .wc-block-components-radio-control__input,
.wp-block-woocommerce-checkout #payment-method .wc-block-components-radio-control__input,
.wp-block-woocommerce-cart .wc-block-components-radio-control__input{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  cursor: pointer !important;
}


/* =========================================================
   NS THANK YOU / ORDER RECEIVED (classic Woo templates)
   URL: /kasa/order-received/...
   Cel: spójny neon/premium jak koszyk i kasa
========================================================= */

article.panel .woocommerce,
.panel .woocommerce{
  color: rgba(255,255,255,.92);
}

/* Main wrapper */
article.panel .woocommerce-order,
.panel .woocommerce-order{
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 18px 60px rgba(0,0,0,.45);
}
@media (max-width: 640px){
  article.panel .woocommerce-order,
  .panel .woocommerce-order{ padding: 16px; border-radius: 18px; }
}

/* Success notice */
article.panel .woocommerce-notice--success,
.panel .woocommerce-notice--success{
  margin: 0 0 14px 0;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(0,229,255,.08);
  border: 1px solid rgba(0,229,255,.28);
  color: rgba(255,255,255,.94);
}

/* Order overview (top pills) – świadomy układ 2-liniowy:
   Linia 1: numer, data, e-mail, razem (4 kafle)
   Linia 2: metoda płatności (pełna szerokość) */
article.panel .woocommerce-order-overview,
.panel .woocommerce-order-overview{
  list-style: none;
  margin: 12px 0 18px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}

/* Metoda płatności – druga linia na całą szerokość */
article.panel .woocommerce-order-overview li.woocommerce-order-overview__payment-method,
.panel .woocommerce-order-overview li.woocommerce-order-overview__payment-method{
  grid-column: 1 / -1 !important;
  display: flex;
  align-items: baseline;
  gap: 8px;
  white-space: nowrap;
}

/* na mniejszych szerokościach: 2 kolumny, potem 1 */
@media (max-width: 860px){
  article.panel .woocommerce-order-overview,
  .panel .woocommerce-order-overview{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  article.panel .woocommerce-order-overview li.woocommerce-order-overview__payment-method,
  .panel .woocommerce-order-overview li.woocommerce-order-overview__payment-method{
    white-space: normal;
  }
}
@media (max-width: 520px){
  article.panel .woocommerce-order-overview,
  .panel .woocommerce-order-overview{
    grid-template-columns: 1fr;
  }
}

article.panel .woocommerce-order-overview li,
.panel .woocommerce-order-overview li{
  /* Theme overrides (some themes float these items) */
  float: none !important;
  width: auto !important;
  clear: none !important;
  margin: 0;
  padding: 12px 12px;
  border-radius: 16px;
  background: rgba(0,0,0,.25);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.25);
  font-size: 12px;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: rgba(255,255,255,.70);
  /* Prevent theme forcing items to span full row */
  grid-column: auto !important;
  min-width: 0;
}

article.panel .woocommerce-order-overview li strong,
.panel .woocommerce-order-overview li strong{
  display: block;
  margin-top: 6px;
  font-size: 15px;
  letter-spacing: 0;
  text-transform: none;
  color: rgba(255,255,255,.94);
}

/* Payment method pill: keep label + value in one line */
article.panel .woocommerce-order-overview__payment-method,
.panel .woocommerce-order-overview__payment-method{
  grid-column: auto !important;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  flex-wrap: nowrap;
  white-space: nowrap;
}
article.panel .woocommerce-order-overview__payment-method strong,
.panel .woocommerce-order-overview__payment-method strong{
  display: inline !important;
  margin: 0 !important;
  font-size: 14px;
  white-space: nowrap;
}

/* Ensure the text node (label) doesn't wrap onto the checkbox area on narrow pills */
article.panel .woocommerce-order-overview__payment-method,
.panel .woocommerce-order-overview__payment-method{
  min-width: 0;
}
/* Thank you page: remove duplicated payment instruction paragraph under the overview pills */
article.panel .woocommerce-order-overview + p,
.panel .woocommerce-order-overview + p{
  display: none !important;
}

/* === THANKYOU: hard layout lock (2-row premium) ===
   Some themes force specific LI items to span full width (e.g. .total),
   which breaks the intended 4+1 layout. Grid-areas + explicit targets
   make the layout deterministic.
*/
article.panel .woocommerce-order-overview.woocommerce-thankyou-order-details,
.panel .woocommerce-order-overview.woocommerce-thankyou-order-details{
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-areas:
    "ord dat eml tot"
    "met met met met" !important;
}
article.panel .woocommerce-order-overview.woocommerce-thankyou-order-details li,
.panel .woocommerce-order-overview.woocommerce-thankyou-order-details li{
  min-width: 0 !important;
  max-width: none !important;
}
article.panel .woocommerce-order-overview.woocommerce-thankyou-order-details li.woocommerce-order-overview__order,
.panel .woocommerce-order-overview.woocommerce-thankyou-order-details li.woocommerce-order-overview__order{ grid-area: ord !important; }
article.panel .woocommerce-order-overview.woocommerce-thankyou-order-details li.woocommerce-order-overview__date,
.panel .woocommerce-order-overview.woocommerce-thankyou-order-details li.woocommerce-order-overview__date{ grid-area: dat !important; }
article.panel .woocommerce-order-overview.woocommerce-thankyou-order-details li.woocommerce-order-overview__email,
.panel .woocommerce-order-overview.woocommerce-thankyou-order-details li.woocommerce-order-overview__email{ grid-area: eml !important; }
article.panel .woocommerce-order-overview.woocommerce-thankyou-order-details li.woocommerce-order-overview__total,
.panel .woocommerce-order-overview.woocommerce-thankyou-order-details li.woocommerce-order-overview__total{
  grid-area: tot !important;
  grid-column: auto !important;
}
article.panel .woocommerce-order-overview.woocommerce-thankyou-order-details li.woocommerce-order-overview__payment-method,
.panel .woocommerce-order-overview.woocommerce-thankyou-order-details li.woocommerce-order-overview__payment-method{
  grid-area: met !important;
  grid-column: 1 / -1 !important;
}

@media (max-width: 860px){
  article.panel .woocommerce-order-overview.woocommerce-thankyou-order-details,
  .panel .woocommerce-order-overview.woocommerce-thankyou-order-details{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-areas:
      "ord dat"
      "eml tot"
      "met met" !important;
  }
}
@media (max-width: 520px){
  article.panel .woocommerce-order-overview.woocommerce-thankyou-order-details,
  .panel .woocommerce-order-overview.woocommerce-thankyou-order-details{
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "ord"
      "dat"
      "eml"
      "tot"
      "met" !important;
  }
}

/* Checkout (Blocks): hide payment method description block to avoid duplicate "Płatność za pobraniem." */
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content{
  display: none !important;
}


/* Section titles */
article.panel .woocommerce-order-details__title,
article.panel .woocommerce-column__title,
.panel .woocommerce-order-details__title,
.panel .woocommerce-column__title{
  font-size: 22px;
  margin: 18px 0 12px;
}

/* Order details table as card */
article.panel table.woocommerce-table--order-details,
.panel table.woocommerce-table--order-details{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  overflow: hidden;
}

article.panel table.woocommerce-table--order-details thead th,
.panel table.woocommerce-table--order-details thead th{
  padding: 14px 16px;
  background: rgba(0,0,0,.28);
  border-bottom: 1px solid rgba(255,255,255,.10);
  font-weight: 700;
  color: rgba(255,255,255,.88);
}

article.panel table.woocommerce-table--order-details tbody td,
.panel table.woocommerce-table--order-details tbody td{
  padding: 14px 16px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  vertical-align: top;
}

article.panel table.woocommerce-table--order-details tfoot th,
article.panel table.woocommerce-table--order-details tfoot td,
.panel table.woocommerce-table--order-details tfoot th,
.panel table.woocommerce-table--order-details tfoot td{
  padding: 12px 16px;
  border-top: 1px solid rgba(255,255,255,.08);
}

article.panel table.woocommerce-table--order-details a,
.panel table.woocommerce-table--order-details a{
  color: rgba(0,229,255,.92);
  text-decoration: none;
}
article.panel table.woocommerce-table--order-details a:hover,
.panel table.woocommerce-table--order-details a:hover{
  text-decoration: underline;
}

/* Customer addresses (2 cards) */
article.panel .woocommerce-columns--addresses,
.panel .woocommerce-columns--addresses,
article.panel .woocommerce .woocommerce-columns--addresses,
.panel .woocommerce .woocommerce-columns--addresses{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-flow: row dense;
  gap: 18px;
  margin-top: 18px;
  /* theme compatibility */
  width: 100%;
  align-items: stretch;
  justify-items: stretch;
}
@media (max-width: 860px){
  article.panel .woocommerce-columns--addresses,
  .panel .woocommerce-columns--addresses{ grid-template-columns: 1fr; }
}

article.panel .woocommerce-column--billing-address,
article.panel .woocommerce-column--shipping-address,
.panel .woocommerce-column--billing-address,
.panel .woocommerce-column--shipping-address{
  float: none !important;
  clear: none !important;
  width: auto !important;
  margin: 0 !important;
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  padding: 16px;
  justify-self: stretch;
  align-self: stretch;
  min-width: 0;
  width: 100% !important;
  max-width: none !important;
  grid-column: auto !important;
}

/* Some Woo themes still apply floats to .col-1/.col-2 */
article.panel .woocommerce-columns--addresses .col-1,
article.panel .woocommerce-columns--addresses .col-2,
.panel .woocommerce-columns--addresses .col-1,
.panel .woocommerce-columns--addresses .col-2{
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  grid-column: auto !important;
}

article.panel .woocommerce-column address,
.panel .woocommerce-column address{
  font-style: normal;
  line-height: 1.55;
  color: rgba(255,255,255,.86);
}

article.panel .woocommerce-customer-details--phone,
article.panel .woocommerce-customer-details--email,
.panel .woocommerce-customer-details--phone,
.panel .woocommerce-customer-details--email{
  margin: 10px 0 0;
  opacity: .9;
}

/* Mobile table tweaks */
@media (max-width: 640px){
  article.panel table.woocommerce-table--order-details thead,
  .panel table.woocommerce-table--order-details thead{ display: none; }

  article.panel table.woocommerce-table--order-details tbody tr,
  .panel table.woocommerce-table--order-details tbody tr{
    display: grid;
    grid-template-columns: 1fr;
  }

  article.panel table.woocommerce-table--order-details tbody td,
  .panel table.woocommerce-table--order-details tbody td{
    display: block;
    border-bottom: none;
  }

  article.panel table.woocommerce-table--order-details tbody td.product-total,
  .panel table.woocommerce-table--order-details tbody td.product-total{
    padding-top: 0;
    opacity: .95;
    font-weight: 700;
  }
}



/* =========================================================
   THANKYOU: force addresses always in one row (desktop)
   + reset theme margins on col-1/col-2 that can offset grid
   ========================================================= */
article.panel .woocommerce-columns--addresses,
.panel .woocommerce-columns--addresses,
article.panel .woocommerce .woocommerce-columns--addresses,
.panel .woocommerce .woocommerce-columns--addresses{
  grid-template-areas: "billing shipping" !important;
  grid-auto-flow: initial !important;
}
article.panel .woocommerce-column--billing-address,
.panel .woocommerce-column--billing-address{ grid-area: billing !important; }
article.panel .woocommerce-column--shipping-address,
.panel .woocommerce-column--shipping-address{ grid-area: shipping !important; }

article.panel .woocommerce-columns--addresses .col-1,
article.panel .woocommerce-columns--addresses .col-2,
.panel .woocommerce-columns--addresses .col-1,
.panel .woocommerce-columns--addresses .col-2{
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: auto !important;
  right: auto !important;
}

/* =========================================================
   CHECKOUT: payment accordion content should NOT look like
   a second framed option (remove duplicate/white frames)
   ========================================================= */
.wp-block-woocommerce-checkout #payment-method .wc-block-components-radio-control-accordion-option{
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.wp-block-woocommerce-checkout #payment-method .wc-block-components-radio-control-accordion-content{
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  margin: -8px 0 12px 0 !important;
  padding: 0 0 0 54px !important;
}
.wp-block-woocommerce-checkout #payment-method .wc-block-components-radio-control-accordion-content > div{
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  opacity: .9;
}


/* Order overview – wartości w jednej linii w kaflach */
article.panel .woocommerce-order-overview li strong,
.panel .woocommerce-order-overview li strong{
  display: inline !important;
  white-space: nowrap;
}
