/*
Theme Name: Kadence Child
Template: kadence
Version: 1.0
*/

body {
    background: #0c0c0d !important;
  }

/* ========================= */
/* RAVENX HEADER (shop redesign) */
/* ========================= */

#masthead {
  display: none !important;
}

:root {
  --rx-bg: #0c0c0d;
  --rx-bg2: #141415;
  --rx-bg3: #1c1c1e;
  --rx-sur: #242426;
  --rx-brd: rgba(255, 255, 255, 0.06);
  --rx-brd2: rgba(255, 255, 255, 0.12);
  --rx-txt: #f0efe8;
  --rx-mut: #7a7a7a;
  --rx-dim: #444;
  /* Placeholder: czytelny na ciemnym tle (nie --rx-dim) */
  --rx-ph: rgba(240, 239, 232, 0.48);
  --rx-acc: #ff3d00;
  --rx-acc2: #ff6535;
  --rx-grn: #3fb35a;
  --rx-r: 10px;
  --rx-r2: 7px;
  --rx-disp: "Bebas Neue", sans-serif;
  --rx-body: "Outfit", sans-serif;
  --rx-mono: "JetBrains Mono", monospace;
}

.rx-header-nav {
  position: sticky;
  top: 0;
  z-index: 900;
  height: 58px;
  display: flex;
  align-items: center;
  padding: 0 clamp(1rem, 4vw, 2.5rem);
  background: rgba(12, 12, 13, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--rx-brd);
}

.rx-logo-mark {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: inherit;
}

.rx-logo-mark svg {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}

.rx-logo-wordmark {
  font-family: var(--rx-disp);
  font-size: 1.35rem;
  letter-spacing: 0.1em;
  color: var(--rx-txt);
  line-height: 1;
}

.rx-logo-wordmark span {
  color: var(--rx-acc);
}

.rx-logo-sub {
  font-family: var(--rx-mono);
  font-size: 0.45rem;
  letter-spacing: 0.2em;
  color: var(--rx-dim);
  text-transform: uppercase;
  margin-top: 1px;
}

.rx-header-nav .nav-links {
  display: flex;
  gap: clamp(1rem, 2.5vw, 1.8rem);
  list-style: none;
  margin: 0 auto;
  padding: 0;
  align-items: center;
}

.rx-header-nav .nav-links a {
  font-family: var(--rx-mono);
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rx-mut);
  text-decoration: none;
  transition: color 0.2s;
}

.rx-header-nav .nav-links a:hover,
.rx-header-nav .nav-links a.active {
  color: var(--rx-acc);
}

.rx-header-nav .nav-right {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
}

.rx-header-nav .ctl {
  font-family: var(--rx-mono);
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  padding: 5px 11px;
  border-radius: 6px;
  border: 1px solid var(--rx-brd2);
  background: transparent;
  color: var(--rx-mut);
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}

.rx-header-nav .ctl:hover {
  border-color: var(--rx-acc);
  color: var(--rx-acc);
}

.rx-header-nav .cart-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: var(--rx-body);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 7px 16px 7px 12px;
  border-radius: 6px;
  background: var(--rx-acc);
  color: #fff;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s;
  position: relative;
}

.rx-header-nav .cart-btn:hover {
  background: var(--rx-acc2);
  transform: translateY(-1px);
}

.rx-header-nav .cart-badge {
  background: #fff;
  color: var(--rx-acc);
  font-family: var(--rx-mono);
  font-size: 0.52rem;
  font-weight: 700;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  line-height: 1;
  box-sizing: border-box;
}

/* ===== HOMEPAGE 1:1 ===== */

.rx-top-bar{
  height:48px;
  background:#ff4d00;
  display:flex;
  align-items:center;
  gap:32px;
  padding:0 40px;
  font-size:12px;
  text-transform:uppercase;
  color:white;
  overflow:hidden;
}

.rx-home{
  min-height:calc(100vh - 106px);
  display:grid;
  grid-template-columns: 1fr 1fr;
  padding:80px 100px;
  align-items:center;
}

.rx-left{
  max-width:700px;
}

.rx-label{
  color:#ff4d00;
  font-size:12px;
  letter-spacing:.18em;
  margin-bottom:30px;
}

.rx-home h1{
  font-family:'Bebas Neue', sans-serif;
  font-size:clamp(7rem, 10vw, 11rem);
  line-height:.85;
  color:#f2efe8;
  margin:0;
}

.rx-home p{
  margin-top:40px;
  max-width:550px;
  font-size:20px;
  line-height:1.8;
  color:#8f8f8f;
}

.rx-buttons{
  display:flex;
  gap:16px;
  margin-top:50px;
}

.rx-primary{
  background:#ff4d00;
  color:white;
  padding:16px 28px;
  border-radius:10px;
}

.rx-secondary{
  border:1px solid rgba(255,255,255,.08);
  color:#f2efe8;
  padding:16px 28px;
  border-radius:10px;
}

.rx-right{
  display:flex;
  justify-content:flex-end;
}

.rx-watermark{
  font-family:'Bebas Neue', sans-serif;
  font-size:18vw;
  color:rgba(255,255,255,.03);
  line-height:1;
}

/* ===== MARQUEE (redesign) ===== */

.marq {
  overflow: hidden;
  background: var(--rx-acc);
  padding: 7px 0;
  white-space: nowrap;
  user-select: none;
}

.marq-inner {
  display: inline-block;
  animation: rxMarq 28s linear infinite;
}

.marq-inner span {
  font-family: var(--rx-mono);
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #fff;
  padding: 0 1.8rem;
}

@keyframes rxMarq {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

/* ===== SHOP BANNER + CONTROLS ===== */

.shop-banner {
  padding: clamp(2.5rem, 5vw, 4rem) clamp(1rem, 4vw, 2.5rem);
  background: var(--rx-bg2, #141415);
  border-bottom: 1px solid var(--rx-brd);
  position: relative;
  overflow: hidden;
}

.shop-banner::before {
  content: "RAVENX";
  position: absolute;
  right: -1rem;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--rx-disp);
  font-size: 12rem;
  color: rgba(255, 255, 255, 0.02);
  pointer-events: none;
  line-height: 1;
  letter-spacing: 0.05em;
}

.shop-banner-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
}

.shop-banner-l .eyebrow {
  font-family: var(--rx-mono);
  font-size: 0.58rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rx-acc);
  margin-bottom: 0.8rem;
  display: flex;
  align-items: center;
  gap: 9px;
}

.shop-banner-l .eyebrow::before {
  content: "";
  width: 18px;
  height: 1px;
  background: var(--rx-acc);
}

.shop-banner-l h1 {
  font-family: var(--rx-disp);
  font-size: clamp(3rem, 6vw, 5.5rem);
  line-height: 0.9;
  letter-spacing: 0.02em;
  color: var(--rx-txt);
  margin: 0;
}

.shop-banner-l h1 span {
  color: var(--rx-acc);
}

.shop-banner-r {
  text-align: right;
}

.shop-banner-r p {
  font-size: 0.85rem;
  color: var(--rx-mut);
  line-height: 1.7;
  max-width: 32ch;
  margin-bottom: 1rem;
}

.shop-count {
  font-family: var(--rx-mono);
  font-size: 0.58rem;
  color: var(--rx-dim, #444);
  letter-spacing: 0.1em;
}

.shop-controls {
  max-width: 1280px;
  margin: 0 auto;
  padding: 14px clamp(1rem, 4vw, 2.5rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--rx-brd);
}

.filter-chips {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.filter-chips a.chip,
.filter-chips button.chip {
  font-family: var(--rx-mono);
  font-size: 0.55rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 6px 14px;
  border: 1px solid var(--rx-brd2);
  border-radius: 100px;
  color: var(--rx-mut);
  cursor: pointer;
  background: transparent;
  transition: all 0.2s;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}

.filter-chips a.chip.on,
.filter-chips button.chip.on {
  border-color: var(--rx-acc);
  color: var(--rx-acc);
  background: rgba(255, 61, 0, 0.07);
}

.filter-chips a.chip:hover:not(.on),
.filter-chips button.chip:hover:not(.on) {
  color: var(--rx-txt);
  border-color: var(--rx-brd2);
}

.sort-wrap {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  flex-wrap: wrap;
}

.sort-label {
  font-family: var(--rx-mono);
  font-size: 0.55rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rx-dim, #444);
}

.sort-links {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
}

.sort-links .sort-link {
  font-family: var(--rx-mono);
  font-size: 0.58rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rx-mut);
  text-decoration: none;
  padding: 4px 0;
  border-bottom: 2px solid transparent;
  transition: color 0.2s, border-color 0.2s;
}

.sort-links .sort-link:hover,
.sort-links .sort-link.on {
  color: var(--rx-acc);
  border-bottom-color: var(--rx-acc);
}

/* ===== SHOP BODY + PRODUCT GRID ===== */

.shop-body {
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(1.5rem, 3vw, 2.5rem) clamp(1rem, 4vw, 2.5rem) 4rem;
}

/* Listing: bez kropek listy (Woo + motyw nadrzędny; front może nie mieć .woocommerce na body) */
.woocommerce ul.products,
.shop-body ul.products,
.rx-shop-body ul.products {
  list-style: none !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.woocommerce ul.products li.product,
.shop-body ul.products li.product,
.rx-shop-body ul.products li.product {
  list-style: none !important;
  list-style-type: none !important;
}

.woocommerce ul.products li.product::marker,
.shop-body ul.products li.product::marker,
.rx-shop-body ul.products li.product::marker {
  content: none;
}

.woocommerce ul.products.rx-woo-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1px !important;
  background: var(--rx-brd) !important;
  border: 1px solid var(--rx-brd) !important;
  border-radius: var(--rx-r, 10px) !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.woocommerce .rx-shop-body ul.products.rx-woo-grid.columns-4,
.woocommerce .rx-shop-body ul.products.rx-woo-grid.columns-3 {
  grid-template-columns: repeat(3, 1fr) !important;
}

/* ===== PRODUCT CARD (.pcard) — makiet: ciemna siatka + jasne pole zdjęcia ===== */

.woocommerce ul.products li.product.pcard {
  background: var(--rx-bg) !important;
  position: relative;
  overflow: visible;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  border: none !important;
  transition: box-shadow 0.25s, transform 0.25s;
}

.woocommerce ul.products li.product.pcard:hover {
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
  z-index: 2;
}

.pcard-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;
  background: var(--rx-bg);
}

.pcard-img-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

/* Jasne tło pod zdjęciem (jak na makiecie) */
.pcard-img {
  aspect-ratio: 1;
  overflow: hidden;
  position: relative;
  background: #ebebeb;
}

.pcard-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

li.product.pcard:hover .pcard-img img {
  transform: scale(1.03);
}

.pcard-img-placeholder,
.pcard-img-placeholder svg {
  width: 100%;
  height: 100%;
  display: block;
}

.pcard-badge {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 2;
  font-family: var(--rx-mono);
  font-size: 0.52rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: 4px;
  background: var(--rx-acc);
  color: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.pcard-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(12, 12, 13, 0.55) 0%, transparent 45%);
  opacity: 0;
  transition: opacity 0.3s;
  display: flex;
  align-items: flex-end;
  padding: 1rem;
  pointer-events: none;
}

li.product.pcard:hover .pcard-overlay {
  opacity: 1;
}

.pcard-quick {
  font-family: var(--rx-mono);
  font-size: 0.55rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 8px 14px;
  background: var(--rx-acc);
  color: #fff;
  border-radius: 4px;
  font-weight: 600;
}

.pcard-body {
  padding: 1.25rem 1.35rem 1.35rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  background: var(--rx-bg);
}

.pcard-cat {
  font-family: var(--rx-mono);
  font-size: 0.56rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #a0a0a0;
  margin-bottom: 0.45rem;
}

.pcard-name {
  font-family: var(--rx-disp);
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  line-height: 1.05;
  margin: 0 0 0.5rem;
  letter-spacing: 0.04em;
  font-weight: 700;
  text-transform: uppercase;
}

.pcard-name a {
  color: #fff;
  text-decoration: none;
  transition: color 0.2s;
}

.pcard-name a:hover {
  color: var(--rx-acc);
}

.pcard-desc {
  font-family: var(--rx-body);
  font-size: 0.78rem;
  color: #9a9a9a;
  font-weight: 400;
  line-height: 1.65;
  flex: 1;
  margin-bottom: 0.75rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.mat-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--rx-mono);
  font-size: 0.52rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #6d6d6d;
  margin-top: 0.15rem;
  line-height: 1.4;
}

.mat-tag .mat-sep {
  color: var(--rx-acc);
  font-weight: 700;
  opacity: 1;
}

.mat-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--rx-acc);
  flex-shrink: 0;
  box-shadow: 0 0 0 2px rgba(255, 61, 0, 0.25);
}

.pcard-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 1rem;
  margin-top: auto;
  border-top: 1px solid var(--rx-brd);
  gap: 0.75rem;
}

.pcard-price-wrap {
  font-family: var(--rx-disp);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 700;
  color: #fff;
  line-height: 1;
}

.pcard-price-wrap .woocommerce-Price-amount,
.pcard-price-wrap ins .woocommerce-Price-amount {
  font: inherit;
  color: inherit;
  text-decoration: none;
}

.pcard-price-wrap del {
  opacity: 0.45;
  font-size: 0.55em;
  margin-right: 0.35rem;
}

.pcard-price-wrap del .woocommerce-Price-amount {
  text-decoration: line-through;
}

.pcard-price-wrap .woocommerce-Price-currencySymbol {
  font-family: var(--rx-mono);
  font-size: 0.42em;
  font-weight: 600;
  vertical-align: super;
  margin-left: 0.12em;
  opacity: 0.9;
}

.pcard-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--rx-body);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 10px 18px;
  border-radius: 4px;
  background: var(--rx-acc);
  color: #fff !important;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
  white-space: nowrap;
}

.pcard-link:hover {
  background: var(--rx-acc2);
  transform: translateY(-1px);
}

.pcard-link.soon {
  background: #2a2a2c;
  color: #c8c8c8 !important;
  border: 1px solid var(--rx-brd2);
}

.pcard-link.soon:hover {
  border-color: var(--rx-acc);
  color: #fff !important;
}

.pcard-arrow {
  font-size: 0.85em;
  transition: transform 0.2s;
}

li.product.pcard:hover .pcard-arrow {
  transform: translateX(4px);
}

/* Pasek statusu pod kartą (BRAK / HIT) — jak na drugiej makiecie */
.pcard-status-strip {
  padding: 0 1.35rem 0.85rem;
  background: var(--rx-bg);
}

.pcard-status-pill {
  display: inline-block;
  font-family: var(--rx-mono);
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 5px 11px;
  border-radius: 3px;
  background: #2a2a2c;
  color: #b5b5b5;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.pcard-status-pill.hit {
  color: #fff;
  border-color: rgba(255, 61, 0, 0.45);
  background: rgba(255, 61, 0, 0.12);
}

.pcard-status-pill.sold {
  color: #888;
}

/* Pagination */

.rx-pagination {
  margin-top: 2rem;
  display: flex;
  justify-content: center;
}

.rx-pagination ul.page-numbers {
  display: flex;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  justify-content: center;
}

.rx-pagination .page-numbers li {
  margin: 0;
  list-style: none;
}

.rx-pagination a.page-numbers,
.rx-pagination span.page-numbers {
  font-family: var(--rx-mono);
  font-size: 0.6rem;
  letter-spacing: 0.06em;
  min-width: 34px;
  height: 34px;
  padding: 0 8px;
  border: 1px solid var(--rx-brd2);
  border-radius: 6px;
  background: transparent;
  color: var(--rx-mut);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: all 0.2s;
}

.rx-pagination span.page-numbers.current,
.rx-pagination a.page-numbers:hover {
  background: var(--rx-acc);
  border-color: var(--rx-acc);
  color: #fff;
}

.rx-no-products {
  text-align: center;
  color: var(--rx-mut);
  padding: 3rem 1rem;
}

/* ===== TRUST ROW — wąski kontener + jeden zaokrąglony blok (jak makieta) ===== */

.trust-row-outer {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 clamp(1rem, 4vw, 2.5rem) 3rem;
  box-sizing: border-box;
}

.trust-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin: 0;
  padding: 0;
  background: #0a0a0a;
  border: 1px solid var(--rx-brd);
  border-radius: 14px;
  overflow: hidden;
}

.tr-item {
  background: transparent;
  padding: 1.65rem 1.35rem;
  border-right: 1px solid var(--rx-brd);
  transition: background 0.2s;
  box-sizing: border-box;
}

.tr-item:last-child {
  border-right: none;
}

.tr-item:hover {
  background: rgba(255, 255, 255, 0.025);
}

.tr-icon {
  display: flex;
  align-items: center;
  margin-bottom: 0.85rem;
  color: var(--rx-acc);
}

.tr-icon svg {
  display: block;
}

.tr-t {
  font-family: var(--rx-body);
  font-size: 0.94rem;
  font-weight: 600;
  color: #fff;
  margin-bottom: 0.35rem;
  line-height: 1.25;
}

.tr-d {
  font-family: var(--rx-body);
  font-size: 0.78rem;
  color: #888;
  line-height: 1.6;
  font-weight: 400;
}

@media (max-width: 900px) {
  .woocommerce ul.products.rx-woo-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .trust-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .tr-item {
    border-right: 1px solid var(--rx-brd);
    border-bottom: 1px solid var(--rx-brd);
  }

  .tr-item:nth-child(2n) {
    border-right: none;
  }

  .tr-item:nth-child(n + 3) {
    border-bottom: none;
  }
}

@media (max-width: 560px) {
  .woocommerce ul.products.rx-woo-grid {
    grid-template-columns: 1fr !important;
  }

  .trust-row {
    grid-template-columns: 1fr;
  }

  .tr-item {
    border-right: none;
    border-bottom: 1px solid var(--rx-brd);
  }

  .tr-item:last-child {
    border-bottom: none;
  }
}

/* ===== SINGLE PRODUCT (PDP) — jak ravenx-shop-redesign ===== */

/* Kadence: ukryj duplikat okruszków nad produktem, jeśli hook nie zadziała */
.single-product .product-title.product-above,
.single-product .product-above {
  display: none !important;
}

.single-product div.product {
  max-width: none;
  margin: 0;
  padding: 0;
  border: none;
}

.rx-pdp {
  max-width: 1280px;
  margin: 0 auto;
}

.rx-pdp-breadcrumb.breadcrumb,
.rx-pdp .breadcrumb {
  padding: 1rem clamp(1rem, 4vw, 2.5rem);
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-family: var(--rx-mono);
  font-size: 0.56rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rx-dim);
  border-bottom: 1px solid var(--rx-brd);
  margin: 0;
}

.rx-pdp-breadcrumb a,
.rx-pdp .breadcrumb a {
  color: var(--rx-mut);
  text-decoration: none;
  transition: color 0.2s;
}

.rx-pdp-breadcrumb a:hover,
.rx-pdp .breadcrumb a:hover {
  color: var(--rx-acc);
}

.breadcrumb-sep {
  color: var(--rx-dim);
}

.prod-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 1px solid var(--rx-brd);
}

.prod-gallery {
  padding: clamp(2rem, 4vw, 3rem) clamp(1rem, 4vw, 2.5rem);
  background: var(--rx-bg2);
  border-right: 1px solid var(--rx-brd);
  position: relative;
}

.prod-main-img {
  width: 100%;
  aspect-ratio: 1;
  background: var(--rx-bg3);
  border: 1px solid var(--rx-brd);
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-bottom: 12px;
}

.prod-main-img img,
.prod-main-img .rx-pdp-main-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}

.prod-main-img:hover img {
  transform: scale(1.03);
}

.prod-main-img-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--rx-disp);
  font-size: 1.5rem;
  color: var(--rx-dim);
  letter-spacing: 0.1em;
}

.prod-main-img .zoom-hint {
  position: absolute;
  top: 12px;
  right: 12px;
  background: rgba(12, 12, 13, 0.85);
  backdrop-filter: blur(8px);
  border: 1px solid var(--rx-brd2);
  border-radius: 6px;
  padding: 5px 9px;
  font-family: var(--rx-mono);
  font-size: 0.5rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #e8e8e8;
  pointer-events: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.prod-main-img .zoom-hint .zoom-ico {
  width: 12px;
  height: 12px;
  display: inline-block;
  border: 1.5px solid currentColor;
  border-radius: 2px;
  position: relative;
  opacity: 0.85;
  flex-shrink: 0;
}

.prod-main-img .zoom-hint .zoom-ico::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 1.5px;
  background: currentColor;
  right: -4px;
  bottom: -2px;
  transform: rotate(45deg);
  border-radius: 1px;
}

.prod-main-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  font-family: var(--rx-mono);
  font-size: 0.52rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 4px;
  background: var(--rx-acc);
  color: #fff;
}

.prod-main-badge.sold {
  background: var(--rx-mut);
}

.prod-main-badge.hit {
  background: var(--rx-bg);
  border: 1px solid var(--rx-brd2);
  color: var(--rx-mut);
}

.prod-thumbs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.prod-tn {
  width: 68px;
  height: 68px;
  padding: 0;
  background: var(--rx-bg3);
  border: 1px solid var(--rx-brd);
  border-radius: 7px;
  overflow: hidden;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s;
  flex-shrink: 0;
}

.prod-tn.on {
  border-color: var(--rx-acc);
  box-shadow: 0 0 0 1px var(--rx-acc);
}

.prod-tn:hover:not(.on) {
  border-color: var(--rx-brd2);
}

.prod-tn img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.prod-3d-badge {
  margin-top: 14px;
  background: var(--rx-bg3);
  border: 1px solid var(--rx-brd);
  border-radius: 8px;
  padding: 12px 14px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.prod-3d-badge-icon {
  color: var(--rx-acc);
  font-size: 1rem;
  flex-shrink: 0;
  margin-top: 2px;
}

.prod-3d-label {
  font-family: var(--rx-mono);
  font-size: 0.52rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rx-acc);
  margin-bottom: 4px;
}

.prod-3d-text {
  font-size: 0.72rem;
  color: var(--rx-mut);
  line-height: 1.65;
  font-weight: 300;
}

.prod-info {
  padding: clamp(2rem, 4vw, 3rem) clamp(1rem, 4vw, 2.5rem);
  background: var(--rx-bg);
  display: flex;
  flex-direction: column;
}

.prod-eyebrow {
  font-family: var(--rx-mono);
  font-size: 0.54rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rx-mut);
  margin-bottom: 0.5rem;
}

.single-product .product_title.entry-title {
  font-family: var(--rx-disp);
  font-size: clamp(2.8rem, 4.5vw, 4.2rem);
  line-height: 0.9;
  letter-spacing: 0.02em;
  color: var(--rx-txt);
  margin: 0 0 0.3rem;
  text-transform: uppercase;
}

.single-product .product_title .rx-tm {
  color: var(--rx-acc);
  text-transform: none;
}

.prod-sku {
  font-family: var(--rx-mono);
  font-size: 0.52rem;
  letter-spacing: 0.1em;
  color: var(--rx-dim);
  margin-bottom: 1.2rem;
}

.prod-rating {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 1.2rem;
  padding-bottom: 1.2rem;
  border-bottom: 1px solid var(--rx-brd);
  flex-wrap: wrap;
}

.prod-rating .woocommerce-product-rating {
  margin: 0;
  line-height: 1;
}

.prod-rating .star-rating {
  color: var(--rx-acc);
  font-size: 0.72rem;
}

.prod-rating .woocommerce-review-link {
  font-family: var(--rx-mono);
  font-size: 0.55rem;
  letter-spacing: 0.08em;
  color: var(--rx-mut);
  text-decoration: none;
}

.rating-divider {
  width: 1px;
  height: 12px;
  background: var(--rx-brd2);
}

.rating-tag {
  font-family: var(--rx-mono);
  font-size: 0.55rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rx-acc);
}

.single-product .woocommerce-product-details__short-description {
  font-size: 0.88rem;
  color: var(--rx-mut);
  line-height: 1.8;
  font-weight: 300;
  border-left: 2px solid var(--rx-acc);
  padding-left: 14px;
  margin-bottom: 1.6rem;
}

.price-block {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--rx-brd);
}

.price-block .price-main {
  font-family: var(--rx-disp);
  font-size: 3.2rem;
  color: var(--rx-txt);
  line-height: 1;
}

.price-block .price-main .woocommerce-Price-amount,
.price-block .price-main.variable .price .woocommerce-Price-amount {
  font: inherit;
  color: inherit;
}

.price-block .price-main.variable .price {
  margin: 0;
  font-family: var(--rx-disp);
  font-size: 2rem;
  color: var(--rx-txt);
}

.price-block .price-currency,
.price-block .woocommerce-Price-currencySymbol {
  font-family: var(--rx-mono);
  font-size: 0.75rem;
  color: var(--rx-mut);
  margin-left: 2px;
  vertical-align: super;
}

.price-old {
  font-family: var(--rx-mono);
  font-size: 0.78rem;
  color: var(--rx-dim);
  text-decoration: line-through;
}

.price-save {
  margin-left: auto;
  background: rgba(255, 61, 0, 0.12);
  border: 1px solid rgba(255, 61, 0, 0.25);
  color: var(--rx-acc);
  font-family: var(--rx-mono);
  font-size: 0.52rem;
  letter-spacing: 0.1em;
  padding: 4px 9px;
  border-radius: 4px;
  text-transform: uppercase;
}

.single-product .prod-info table.variations {
  margin-bottom: 1rem;
  border: none;
}

.single-product .prod-info table.variations th.label {
  font-family: var(--rx-mono), monospace;
  font-size: 0.65rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rx-mut);
  vertical-align: middle;
  padding: 0 14px 12px 0;
}

.single-product .prod-info .variations select {
  font-family: var(--rx-body), system-ui, sans-serif;
  font-size: 0.8rem;
  background: var(--rx-bg2);
  border: 1px solid var(--rx-brd2);
  color: var(--rx-txt);
  -webkit-text-fill-color: var(--rx-txt);
  padding: 10px 14px;
  border-radius: 6px;
  min-height: 42px;
}

.single-product .prod-info .variations select:focus {
  border-color: var(--rx-acc);
  outline: none;
  color: var(--rx-txt) !important;
  -webkit-text-fill-color: var(--rx-txt) !important;
}

/* Kółka kolorów (atrybut pa_color / kolor w nazwie) */
.single-product .prod-info .rx-variation-attribute.rx-is-color {
  display: block;
  margin-bottom: 0.35rem;
  position: relative;
}

/* Ukryty select — bez .screen-reader-text (niektóre motywy blokują pointer-events). */
.single-product .prod-info .rx-variation-hidden-select {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  pointer-events: none;
}

.single-product .prod-info .rx-color-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 14px;
  align-items: flex-start;
  margin: 6px 0 4px;
}

.single-product .prod-info .rx-color-swatch-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  cursor: pointer;
  max-width: 88px;
  text-align: center;
}

.single-product .prod-info .rx-color-swatch-label {
  font-family: var(--rx-mono), monospace;
  font-size: 0.58rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rx-mut);
  line-height: 1.3;
}

.single-product .prod-info .rx-color-swatch-cell:hover .rx-color-swatch-label {
  color: var(--rx-txt);
}

.single-product .prod-info .rx-color-swatch-cell.selected .rx-color-swatch-label {
  color: var(--rx-acc);
}

.single-product .prod-info .rx-color-swatch {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2px solid var(--rx-brd2);
  background: var(--rx-swatch, #777);
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  box-sizing: border-box;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12);
  transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.single-product .prod-info .rx-color-swatch:hover {
  border-color: var(--rx-acc);
  transform: scale(1.07);
}

.single-product .prod-info .rx-color-swatch:focus-visible {
  outline: 2px solid var(--rx-acc);
  outline-offset: 3px;
}

.single-product .prod-info .rx-color-swatch.selected {
  border-color: var(--rx-acc);
  box-shadow:
    0 0 0 2px var(--rx-bg),
    0 0 0 4px var(--rx-acc),
    inset 0 0 0 1px rgba(0, 0, 0, 0.12);
}

.single-product .prod-info .rx-color-swatch-light {
  border-color: rgba(255, 255, 255, 0.28);
  box-shadow:
    inset 0 0 0 1px rgba(0, 0, 0, 0.2),
    0 0 0 1px rgba(0, 0, 0, 0.15);
}

.single-product .prod-info .rx-color-swatch-light.selected {
  box-shadow:
    0 0 0 2px var(--rx-bg),
    0 0 0 4px var(--rx-acc),
    inset 0 0 0 1px rgba(0, 0, 0, 0.2);
}

/* WooCommerce: link „Wyczyść” przy wariantach — ukryty (wybór przez kółka). */
.single-product .prod-info .variations .reset_variations {
  display: none !important;
}

.avail {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
  font-family: var(--rx-mono);
  font-size: 0.56rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rx-mut);
  margin-bottom: 1.3rem;
}

.avail-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #3fb35a;
  flex-shrink: 0;
  animation: rx-avail-glow 2s ease-in-out infinite;
}

@keyframes rx-avail-glow {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(63, 179, 90, 0.5);
  }
  50% {
    box-shadow: 0 0 0 4px rgba(63, 179, 90, 0);
  }
}

.avail-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Prosty produkt: ilość + przycisk w jednym rzędzie */
.single-product form.cart:not(.variations_form) {
  display: flex;
  gap: 10px;
  align-items: stretch;
  flex-wrap: nowrap;
  margin-bottom: 0.9rem;
}

.single-product form.cart.variations_form {
  margin-bottom: 0.9rem;
}

.single-product form.cart.variations_form .woocommerce-variation-add-to-cart {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  align-items: stretch;
  margin-top: 0.75rem;
}

@media (max-width: 600px) {
  .single-product form.cart.variations_form .woocommerce-variation-add-to-cart {
    flex-wrap: wrap;
  }

  .single-product form.cart.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button {
    flex: 1 1 100%;
    min-width: 100%;
  }
}

.single-product form.cart:not(.variations_form) .quantity,
.single-product form.cart.variations_form .woocommerce-variation-add-to-cart .quantity {
  margin: 0;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--rx-brd2);
  border-radius: 7px;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--rx-bg3);
  height: 44px;
}

.single-product form.cart:not(.variations_form) .rx-qty-btn,
.single-product form.cart.variations_form .woocommerce-variation-add-to-cart .rx-qty-btn {
  width: 38px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  margin: 0;
  background: var(--rx-bg2);
  border: none;
  border-radius: 0;
  box-shadow: none;
  color: var(--rx-txt);
  font-size: 1.1rem;
  font-family: var(--rx-body);
  line-height: 1;
  cursor: pointer;
  transition: background 0.2s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  -webkit-appearance: none;
  appearance: none;
}

.single-product form.cart:not(.variations_form) .rx-qty-btn:hover,
.single-product form.cart.variations_form .woocommerce-variation-add-to-cart .rx-qty-btn:hover {
  background: var(--rx-sur);
}

.single-product form.cart:not(.variations_form) .quantity input.qty,
.single-product form.cart.variations_form .woocommerce-variation-add-to-cart .quantity input.qty {
  width: 48px;
  height: 44px;
  min-height: 44px;
  max-height: 44px;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  text-align: center;
  font-family: var(--rx-mono);
  font-size: 0.85rem;
  line-height: 44px;
  font-variant-numeric: tabular-nums;
  background: var(--rx-bg3);
  border: none;
  border-left: 1px solid var(--rx-brd2);
  border-right: 1px solid var(--rx-brd2);
  color: var(--rx-txt);
  border-radius: 0;
  -moz-appearance: textfield;
  appearance: textfield;
}

.single-product form.cart:not(.variations_form) .quantity input.qty::-webkit-outer-spin-button,
.single-product form.cart:not(.variations_form) .quantity input.qty::-webkit-inner-spin-button,
.single-product form.cart.variations_form .woocommerce-variation-add-to-cart .quantity input.qty::-webkit-outer-spin-button,
.single-product form.cart.variations_form .woocommerce-variation-add-to-cart .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.single-product form.cart:not(.variations_form) .single_add_to_cart_button,
.single-product form.cart.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button {
  flex: 1 1 auto;
  min-width: min(100%, 220px);
  background: var(--rx-acc);
  color: #fff;
  border: none;
  min-height: 44px;
  height: auto;
  padding: 0 20px;
  font-family: var(--rx-body);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 7px;
  transition: all 0.2s;
  white-space: nowrap;
  line-height: 1.2;
}

.single-product form.cart:not(.variations_form) .single_add_to_cart_button:hover,
.single-product form.cart.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button:hover {
  background: var(--rx-acc2);
  transform: translateY(-1px);
}

@media (max-width: 600px) {
  .single-product form.cart:not(.variations_form) {
    flex-wrap: wrap;
  }

  .single-product form.cart:not(.variations_form) .single_add_to_cart_button {
    flex: 1 1 100%;
    min-width: 100%;
  }
}

.specs-section {
  border-top: 1px solid var(--rx-brd);
  padding-top: 1.4rem;
  margin-top: 1.4rem;
}

.specs-label {
  font-family: var(--rx-mono);
  font-size: 0.54rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--rx-mut);
  margin-bottom: 0.9rem;
}

.specs-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}

.spec {
  background: var(--rx-bg2);
  border: 1px solid var(--rx-brd);
  border-radius: 7px;
  padding: 0.8rem 0.9rem;
  transition: border-color 0.2s;
}

.spec:hover {
  border-color: var(--rx-brd2);
}

.spec-k {
  font-family: var(--rx-mono);
  font-size: 0.5rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rx-mut);
  margin-bottom: 3px;
}

.spec-v {
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--rx-txt);
}

.spec-note {
  font-size: 0.75rem;
  color: var(--rx-mut);
  font-weight: 300;
}

.rx-shipping-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  max-width: 700px;
}

/* Tabs — ciemny motyw, bez jasnych kart Kadence / Woo */
.rx-pdp-tabs.prod-tabs {
  border-top: 1px solid var(--rx-brd);
  border-bottom: 1px solid var(--rx-brd);
  background: var(--rx-bg);
}

.rx-pdp-tabs .woocommerce-tabs {
  max-width: 1280px;
  margin: 0 auto;
  background: transparent !important;
}

.rx-pdp-tabs ul.tabs.prod-tabs-bar,
.single-product .rx-pdp-tabs ul.tabs.wc-tabs {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 clamp(1rem, 4vw, 2.5rem) !important;
  display: flex !important;
  flex-wrap: wrap;
  gap: 0 2rem;
  border: none !important;
  background: transparent !important;
}

.rx-pdp-tabs ul.tabs.prod-tabs-bar::before,
.rx-pdp-tabs ul.tabs.prod-tabs-bar::after,
.single-product .rx-pdp-tabs ul.tabs.wc-tabs::before,
.single-product .rx-pdp-tabs ul.tabs.wc-tabs::after {
  display: none !important;
  content: none !important;
}

.rx-pdp-tabs ul.tabs.prod-tabs-bar li,
.single-product .rx-pdp-tabs ul.tabs.wc-tabs li {
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

.rx-pdp-tabs ul.tabs.prod-tabs-bar li a,
.single-product .rx-pdp-tabs ul.tabs.wc-tabs li a {
  font-family: var(--rx-mono);
  font-size: 0.58rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 12px 0 !important;
  color: var(--rx-mut) !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  background: transparent !important;
  background-color: transparent !important;
  text-decoration: none !important;
  display: block;
  box-shadow: none !important;
}

.rx-pdp-tabs ul.tabs.prod-tabs-bar li.active a,
.rx-pdp-tabs ul.tabs.prod-tabs-bar li a:hover,
.single-product .rx-pdp-tabs ul.tabs.wc-tabs li.active a,
.single-product .rx-pdp-tabs ul.tabs.wc-tabs li a:hover {
  color: var(--rx-acc) !important;
  background: transparent !important;
  border-bottom-color: var(--rx-acc) !important;
}

.prod-tabs-content {
  max-width: 1280px;
  margin: 0 auto;
  padding: 2rem clamp(1rem, 4vw, 2.5rem);
}

.rx-pdp-tabs .woocommerce-Tabs-panel {
  border: none;
  margin: 0;
  padding: 0;
}

.prod-desc h3,
.rx-pdp-tabs .woocommerce-Tabs-panel h3 {
  font-family: var(--rx-disp);
  font-size: 2rem;
  color: var(--rx-acc);
  margin-bottom: 0.9rem;
}

.rx-pdp-tabs .woocommerce-Tabs-panel p {
  font-size: 0.88rem;
  color: var(--rx-mut);
  line-height: 1.8;
  font-weight: 300;
  margin-bottom: 0.9rem;
}

.rx-pdp-tabs .woocommerce-Tabs-panel h2:first-of-type {
  font-family: var(--rx-disp);
  font-size: 2rem;
  color: var(--rx-acc);
  text-transform: uppercase;
  margin: 0 0 0.9rem;
  letter-spacing: 0.02em;
}

.rx-pdp-tabs .woocommerce-Tabs-panel ul:not(.commentlist):not(.woocommerce-error) {
  list-style: none !important;
  margin: 0 0 1rem !important;
  padding-left: 0 !important;
}

.rx-pdp-tabs .woocommerce-Tabs-panel ul:not(.commentlist):not(.woocommerce-error) li {
  font-size: 0.85rem;
  color: var(--rx-mut);
  font-weight: 300;
  line-height: 1.7;
  padding-left: 1.2rem !important;
  position: relative;
  list-style: none !important;
}

.rx-pdp-tabs .woocommerce-Tabs-panel ul:not(.commentlist):not(.woocommerce-error) li::before {
  content: "→";
  position: absolute;
  left: 0;
  color: var(--rx-acc);
  font-size: 0.7rem;
}

.rx-pdp-tabs .woocommerce-Tabs-panel strong {
  color: var(--rx-txt);
  font-weight: 600;
}

/* Reviews tab */
.rx-pdp-tabs #review_form_wrapper {
  margin-top: 1rem;
}

.rx-pdp-tabs .commentlist li.review {
  background: var(--rx-bg2);
  border: 1px solid var(--rx-brd);
  border-radius: var(--rx-r);
  padding: 1.3rem;
  margin-bottom: 10px;
  list-style: none;
}

.rx-pdp-tabs .star-rating {
  color: var(--rx-acc);
}

/* Related */
.related-sec {
  border-top: 1px solid var(--rx-brd);
  padding: 2.5rem clamp(1rem, 4vw, 2.5rem) 4rem;
  max-width: 1280px;
  margin: 0 auto;
}

.related-sec .sec-tag {
  font-family: var(--rx-mono);
  font-size: 0.56rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rx-acc);
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 9px;
}

.related-sec .sec-tag::before {
  content: "";
  width: 18px;
  height: 1px;
  background: var(--rx-acc);
}

.related-sec > h2 {
  font-family: var(--rx-disp);
  font-size: 2.2rem;
  margin-bottom: 1.5rem;
  color: var(--rx-txt);
  letter-spacing: 0.02em;
}

.related-sec ul.products {
  margin: 0;
}

@media (max-width: 900px) {
  .prod-grid {
    grid-template-columns: 1fr;
  }

  .prod-gallery {
    border-right: none;
    border-bottom: 1px solid var(--rx-brd);
  }

  .specs-grid,
  .rx-shipping-grid {
    grid-template-columns: 1fr;
  }

  .price-block .price-main {
    font-size: 2.4rem;
  }
}

/* SHOP OUTER CONTAINER */

.woocommerce-shop .content-container,
.post-type-archive-product .content-container,
.tax-product_cat .content-container,
.tax-product_tag .content-container {
    max-width: 1680px !important;
    margin: 0 auto !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
}

@media (min-width: 1440px) {
    .woocommerce-shop .content-container,
    .post-type-archive-product .content-container,
    .tax-product_cat .content-container,
    .tax-product_tag .content-container {
        padding-left: 80px !important;
        padding-right: 80px !important;
    }
}

/* Archiwum Woo (tag / kategoria / sklep): ciemne tło zamiast jasnych pól Kadence */
body.tax-product_tag .content-bg,
body.tax-product_cat .content-bg,
body.woocommerce-shop .content-bg {
  background: var(--rx-bg) !important;
}

body.tax-product_tag #wrapper.site,
body.tax-product_cat #wrapper.site,
body.woocommerce-shop #wrapper.site {
  background: var(--rx-bg);
}

/* Kadence: hero / nagłówek archiwum nad pętlą (pusty = wielki jasny prostokąt) */
body.tax-product_tag .entry-hero,
body.tax-product_cat .entry-hero,
body.woocommerce-shop .entry-hero,
body.tax-product_tag .product-archive-hero,
body.tax-product_cat .product-archive-hero {
  display: none !important;
}

/* Domyślny pasek Woo przed pętlą — ukrywamy (mamy sortowanie w .shop-controls) */
body.woocommerce-page:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout)
  .woocommerce-result-count,
body.woocommerce-page:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout)
  p.woocommerce-result-count {
  display: none !important;
}

/* Przełącznik siatka/lista (Kadence i podobne) */
body.woocommerce-page:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout)
  .kt-woo-grid-list-toggle,
body.woocommerce-page:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout)
  .grid-list-toggle,
body.woocommerce-page:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout)
  .grid-list-toggle-wrap,
body.woocommerce-page:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout)
  .product-archive-toggle,
body.woocommerce-page:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout)
  .woocommerce-archive-toolbar .toggle-grid,
body.woocommerce-page:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout)
  .woocommerce-archive-toolbar .toggle-list,
body.woocommerce-page:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout)
  .woocommerce-archive-toolbar .layout-toggle {
  display: none !important;
}

/* Wymuszona siatka kart (po ukryciu przełącznika listy) */
body.tax-product_tag .rx-shop-body ul.products.rx-woo-grid,
body.tax-product_cat .rx-shop-body ul.products.rx-woo-grid,
body.woocommerce-shop .rx-shop-body ul.products.rx-woo-grid {
  display: grid !important;
}

/* Select „Domyślne sortowanie” — jeśli wtyczka/motyw nadal go pokazuje */
body.woocommerce-page:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout)
  .woocommerce-ordering
  select.orderby {
  appearance: none;
  background-color: var(--rx-bg3) !important;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%237a7a7a' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  border: 1px solid var(--rx-brd2) !important;
  border-radius: var(--rx-r2);
  color: var(--rx-txt) !important;
  font-family: var(--rx-mono), monospace;
  font-size: 0.58rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 9px 32px 9px 12px;
  min-width: 12rem;
  cursor: pointer;
}

body.woocommerce-page:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout)
  .woocommerce-ordering {
  margin: 0 0 0.75rem;
  float: none;
}

body.woocommerce-page:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout)
  .woocommerce-ordering
  select.orderby:focus {
  outline: none;
  border-color: var(--rx-acc) !important;
}

/* ========================= */
/* FOOTER (rx-site-footer + footer.php w motywie) */
/* ========================= */

#wrapper.site {
  background: transparent;
}

/* Kadence: main nie ogranicza szerokości — kontenery (.shop-body itd.) mają własny max-width */
#inner-wrap.wrap {
  max-width: none !important;
  width: 100%;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Koszyk / checkout: bez drugiej „ramki” strony (Kadence + szablon strony) */
body.woocommerce-cart #inner-wrap,
body.woocommerce-checkout:not(.woocommerce-order-received) #inner-wrap {
  background: var(--rx-bg, #0c0c0d);
}

body.woocommerce-cart .content-bg,
body.woocommerce-checkout:not(.woocommerce-order-received) .content-bg {
  background: transparent !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin: 0 !important;
}

body.woocommerce-cart .content-container,
body.woocommerce-checkout:not(.woocommerce-order-received) .content-container,
body.woocommerce-cart .site-container,
body.woocommerce-checkout:not(.woocommerce-order-received) .site-container {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.woocommerce-cart #primary,
body.woocommerce-checkout:not(.woocommerce-order-received) #primary {
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-cart article.type-page,
body.woocommerce-checkout:not(.woocommerce-order-received) article.type-page {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

body.woocommerce-cart .entry,
body.woocommerce-checkout:not(.woocommerce-order-received) .entry {
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-cart .entry-header,
body.woocommerce-checkout:not(.woocommerce-order-received) .entry-header {
  display: none !important;
}

body.woocommerce-cart .entry-content-wrap,
body.woocommerce-checkout:not(.woocommerce-order-received) .entry-content-wrap {
  padding: 0 !important;
  margin: 0 !important;
}

body.woocommerce-cart .entry-content,
body.woocommerce-checkout:not(.woocommerce-order-received) .entry-content {
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-cart .alignfull,
body.woocommerce-checkout:not(.woocommerce-order-received) .alignfull,
body.woocommerce-order-received .alignfull {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
}

/* Podziękowanie po zamówieniu — ciemny layout (bez białego paska Kadence) */
body.woocommerce-order-received #inner-wrap {
  background: var(--rx-bg, #0c0c0d);
}

body.woocommerce-order-received .content-bg {
  background: transparent !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin: 0 !important;
}

body.woocommerce-order-received .content-container,
body.woocommerce-order-received .site-container {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.woocommerce-order-received #primary {
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-order-received article.type-page {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

body.woocommerce-order-received .entry,
body.woocommerce-order-received .entry-content-wrap {
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-order-received .entry-content {
  margin: 0 auto !important;
  padding: clamp(1.25rem, 4vw, 2.5rem) clamp(1rem, 4vw, 2.5rem) 3rem !important;
  max-width: 960px;
  box-sizing: border-box;
}

body.woocommerce-order-received .entry-header {
  display: none !important;
}

/* Strony treści RavenX (kontakt, o nas, FAQ, materiały, regulaminy): pełna szerokość, bez jasnej ramki/karty Kadence */
body.page-kontakt #inner-wrap,
body.page-o-nas #inner-wrap,
body.page-faq #inner-wrap,
body.page-materialy #inner-wrap,
body.page-regulaminy #inner-wrap {
  background: var(--rx-bg, #0c0c0d);
}

body.page-kontakt .content-bg,
body.page-o-nas .content-bg,
body.page-faq .content-bg,
body.page-materialy .content-bg,
body.page-regulaminy .content-bg {
  background: transparent !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin: 0 !important;
}

body.page-kontakt .content-container,
body.page-o-nas .content-container,
body.page-faq .content-container,
body.page-materialy .content-container,
body.page-regulaminy .content-container,
body.page-kontakt .site-container,
body.page-o-nas .site-container,
body.page-faq .site-container,
body.page-materialy .site-container,
body.page-regulaminy .site-container {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.page-kontakt #primary,
body.page-o-nas #primary,
body.page-faq #primary,
body.page-materialy #primary,
body.page-regulaminy #primary {
  margin: 0 !important;
  padding: 0 !important;
}

body.page-kontakt article.type-page,
body.page-o-nas article.type-page,
body.page-faq article.type-page,
body.page-materialy article.type-page,
body.page-regulaminy article.type-page {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

body.page-kontakt .entry-content-wrap,
body.page-o-nas .entry-content-wrap,
body.page-faq .entry-content-wrap,
body.page-materialy .entry-content-wrap,
body.page-regulaminy .entry-content-wrap {
  padding: 0 !important;
  margin: 0 !important;
}

body.page-kontakt .entry-content,
body.page-o-nas .entry-content,
body.page-faq .entry-content,
body.page-materialy .entry-content,
body.page-regulaminy .entry-content {
  margin: 0 !important;
  padding: 0 !important;
}

.rx-site-footer {
  background: #000;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  margin-top: 0;
}

.rx-footer-shell {
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(2.5rem, 5vw, 4rem) clamp(1rem, 4vw, 2.5rem) clamp(1.75rem, 3vw, 2.25rem);
  box-sizing: border-box;
}

.rx-footer-main {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 1fr));
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}

.rx-footer-brand {
  min-width: 0;
}

.rx-footer-logotype {
  display: inline-block;
  text-decoration: none;
  font-family: var(--rx-disp);
  font-size: clamp(2.75rem, 6vw, 3.75rem);
  line-height: 0.95;
  letter-spacing: 0.04em;
  color: #fff;
  margin: 0 0 0.5rem;
}

.rx-footer-logo-word {
  font-weight: 700;
}

.rx-footer-logo-x {
  color: var(--rx-acc);
  font-weight: 700;
}

.rx-footer-domain {
  font-family: var(--rx-mono);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: lowercase;
  color: #7c7c7c;
  margin: 0;
}

.rx-footer-heading {
  font-family: var(--rx-mono);
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #7c7c7c;
  margin: 0 0 1rem;
}

.rx-footer-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.rx-footer-list li {
  margin: 0 0 0.65rem;
}

.rx-footer-list li:last-child {
  margin-bottom: 0;
}

.rx-footer-list a {
  font-family: var(--rx-body);
  font-size: 0.9rem;
  font-weight: 400;
  color: #fff;
  text-decoration: none;
  transition: color 0.2s;
}

.rx-footer-list a:hover {
  color: var(--rx-acc);
}

.rx-footer-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem 1.5rem;
  margin-top: clamp(2rem, 4vw, 2.75rem);
  padding-top: 1.35rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.rx-footer-copy,
.rx-footer-meta {
  font-family: var(--rx-mono);
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #5a5a5a;
  margin: 0;
}

@media (max-width: 768px) {
  .rx-footer-main {
    grid-template-columns: 1fr 1fr;
  }

  .rx-footer-brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 520px) {
  .rx-footer-main {
    grid-template-columns: 1fr;
  }

  .rx-footer-bar {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ========================= */
/* KOSZYK + CHECKOUT (rx-cc) */
/* ========================= */

.rx-cc {
  font-family: var(--rx-body), system-ui, sans-serif;
  color: var(--rx-txt);
  background: var(--rx-bg);
}

.rx-cc .pg-header {
  padding: 2.5rem clamp(1rem, 4vw, 2.5rem) 2rem;
  background: var(--rx-bg2);
  border-bottom: 1px solid var(--rx-brd);
  position: relative;
  overflow: hidden;
}

.rx-cc .pg-header::before {
  content: attr(data-word);
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--rx-disp), "Bebas Neue", sans-serif;
  font-size: clamp(4rem, 14vw, 10rem);
  color: rgba(255, 255, 255, 0.02);
  pointer-events: none;
  line-height: 1;
  letter-spacing: 0.05em;
}

.rx-cc .pg-eyebrow {
  font-family: var(--rx-mono), monospace;
  font-size: 0.56rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--rx-acc);
  margin-bottom: 0.6rem;
  display: flex;
  align-items: center;
  gap: 9px;
}

.rx-cc .pg-eyebrow::before {
  content: "";
  width: 16px;
  height: 1px;
  background: var(--rx-acc);
}

.rx-cc .pg-title {
  font-family: var(--rx-disp), "Bebas Neue", sans-serif;
  font-size: clamp(2.8rem, 5vw, 4.5rem);
  line-height: 0.9;
  letter-spacing: 0.02em;
  margin: 0;
  color: var(--rx-txt);
}

.rx-cc .pg-title .red {
  color: var(--rx-acc);
}

.rx-cc .breadcrumb,
.rx-cc-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 1rem;
  font-family: var(--rx-mono), monospace;
  font-size: 0.55rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rx-dim);
}

.rx-cc .breadcrumb a,
.rx-cc-breadcrumb a {
  color: var(--rx-mut);
  text-decoration: none;
  transition: color 0.2s;
}

.rx-cc .breadcrumb a:hover,
.rx-cc-breadcrumb a:hover {
  color: var(--rx-acc);
}

.rx-cc .breadcrumb-sep {
  color: var(--rx-dim);
}

.rx-cc .steps-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
  padding: 1rem clamp(1rem, 4vw, 2.5rem);
  border-bottom: 1px solid var(--rx-brd);
  background: var(--rx-bg);
}

.rx-cc .step {
  display: flex;
  align-items: center;
}

.rx-cc .step-item,
.rx-cc a.step-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  border-radius: 100px;
  transition: all 0.2s;
  text-decoration: none;
  color: inherit;
}

.rx-cc .step-item.done {
  cursor: pointer;
}

.rx-cc .step-item.done:hover .step-label {
  color: var(--rx-acc);
}

.rx-cc .step-num {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1px solid var(--rx-brd2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--rx-mono), monospace;
  font-size: 0.52rem;
  color: var(--rx-mut);
  flex-shrink: 0;
  transition: all 0.2s;
}

.rx-cc .step-item.active .step-num {
  background: var(--rx-acc);
  border-color: var(--rx-acc);
  color: #fff;
}

.rx-cc .step-item.done .step-num {
  background: var(--rx-grn);
  border-color: var(--rx-grn);
  color: #fff;
  font-size: 0.65rem;
}

.rx-cc .step-label {
  font-family: var(--rx-mono), monospace;
  font-size: 0.56rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rx-mut);
  transition: color 0.2s;
}

.rx-cc .step-item.active .step-label {
  color: var(--rx-txt);
}

.rx-cc .step-line {
  width: clamp(20px, 4vw, 40px);
  height: 1px;
  background: var(--rx-brd2);
  flex-shrink: 0;
}

.rx-cc .step-line.done {
  background: var(--rx-grn);
  opacity: 0.4;
}

.rx-cc-body.pg-body,
.pg-body.rx-cc-body {
  max-width: 1280px;
  margin: 0 auto;
  padding: 2.5rem clamp(1rem, 4vw, 2.5rem) 5rem;
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 2rem;
  align-items: start;
}

/* Checkout: lewa kolumna (formularz) + podsumowanie; bez min 400px — na wąskim ekranie zjadało formularz */
.rx-cc-checkout .pg-body.rx-cc-body {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
  gap: clamp(1.25rem, 3vw, 2rem);
}

.rx-cc-checkout .rx-cc-main-col,
.rx-cc-checkout .rx-checkout-main,
.rx-cc-checkout .rx-cc-summary.summary {
  min-width: 0;
  width: 100%;
  max-width: 100%;
}

.rx-cc-checkout form.checkout.woocommerce-checkout {
  display: block;
  width: 100%;
  max-width: 100%;
}

.rx-cc-checkout form.checkout #customer_details,
.rx-cc-checkout form.checkout #order_review {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
}

/*
 * WooCommerce (klasyczny checkout): od ~1025px ustawia na #order_review szerokość ~50%
 * i float — w układzie grid druga kolumna zostaje w połowie pusta. Resetujemy.
 */
@media screen and (min-width: 1025px) {
  .rx-cc-checkout form.checkout .woocommerce-checkout-review-order {
    width: 100%;
    max-width: 100%;
    float: none;
    clear: none;
    margin-left: 0;
    margin-right: 0;
  }

  .rx-cc-checkout form.checkout #customer_details {
    width: 100%;
    max-width: 100%;
    float: none;
    margin-right: 0;
  }

  .rx-cc-checkout form.checkout .col2-set {
    width: 100%;
    max-width: 100%;
    float: none;
    margin-right: 0;
  }

  .rx-cc-checkout form.checkout .rx-cc-summary,
  .rx-cc-checkout form.checkout .summary {
    width: 100%;
    max-width: 100%;
    float: none;
  }
}

/*
 * Kadence: .woocommerce .woocommerce-checkout .shop_table { background: var(--global-palette9) }
 * Ta sama specyficzność (0,3,0) — gdy arkusz rodzica ładuje się po child theme, wygrywa palette9.
 * Wyższa specyficzność + !important; .summary-inner nadaje var(--rx-bg2).
 */
body.woocommerce-checkout:not(.woocommerce-order-received) .rx-cc-checkout form.checkout.woocommerce-checkout .shop_table,
body.woocommerce-checkout:not(.woocommerce-order-received) .rx-cc-checkout .woocommerce-checkout-review-order .shop_table {
  background: transparent !important;
  background-color: transparent !important;
}

.rx-checkout-shipping-refresh {
  margin-top: 0.5rem;
}

.rx-checkout-payment-frag {
  margin-top: 1rem;
}

.rx-cc-checkout .summary-inner .order-item .oi-img {
  overflow: visible;
}

.rx-cc-checkout .summary .order-item {
  flex-wrap: nowrap;
  align-items: flex-start;
}

.rx-cc-checkout .summary .oi-info {
  flex: 1 1 auto;
  min-width: 0;
}

.rx-cc-checkout .summary .oi-name {
  white-space: normal;
  word-break: normal;
  line-height: 1.3;
}

.rx-cc-checkout .summary .oi-price {
  flex-shrink: 0;
}

.rx-cc-checkout .rx-ship-li label {
  white-space: normal;
  word-break: normal;
}

/* Koszyk: więcej oddechu od krawędzi ekranu (hero, kroki, siatka) */
.rx-cc-cart .pg-header,
.rx-cc-cart .steps-bar,
.rx-cc-cart .pg-body.rx-cc-body {
  padding-left: clamp(1.5rem, 5vw, 3rem);
  padding-right: clamp(1.5rem, 5vw, 3rem);
}

.rx-cc .panel {
  background: var(--rx-bg2);
  border: 1px solid var(--rx-brd);
  border-radius: var(--rx-r);
  overflow: hidden;
  margin-bottom: 1rem;
}

.rx-cc .panel-head {
  padding: 1rem 1.4rem;
  border-bottom: 1px solid var(--rx-brd);
  display: flex;
  align-items: center;
  gap: 10px;
}

.rx-cc .panel-head-icon {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--rx-acc);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.65rem;
  flex-shrink: 0;
}

.rx-cc .panel-head-title {
  font-family: var(--rx-mono), monospace;
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rx-txt);
}

.rx-cc .panel-body {
  padding: 1.4rem;
}

.rx-cc-cart .rx-cart-panel {
  margin-bottom: 1rem;
}

.rx-cc .cart-table-head {
  display: flex;
  padding: 0.7rem 1.4rem;
  border-bottom: 1px solid var(--rx-brd);
  background: var(--rx-bg2);
}

.rx-cc .cth {
  font-family: var(--rx-mono), monospace;
  font-size: 0.52rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rx-dim);
}

.rx-cc .cth.product {
  flex: 1;
}

.rx-cc .cth.price {
  width: 90px;
  text-align: right;
}

.rx-cc .cth.qty {
  width: 110px;
  text-align: center;
}

.rx-cc .cth.total {
  width: 90px;
  text-align: right;
}

.rx-cc .cth-remove-spacer {
  width: 22px;
  flex-shrink: 0;
}

.rx-cc .cart-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 1.2rem 1.4rem;
  border-bottom: 1px solid var(--rx-brd);
  transition: background 0.2s;
}

.rx-cc .cart-item:hover {
  background: rgba(255, 255, 255, 0.015);
}

.rx-cc .ci-img {
  width: 72px;
  height: 72px;
  background: var(--rx-bg3);
  border: 1px solid var(--rx-brd);
  border-radius: var(--rx-r2);
  flex-shrink: 0;
  overflow: hidden;
}

.rx-cc .ci-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.rx-cc .ci-name {
  font-family: var(--rx-disp), "Bebas Neue", sans-serif;
  font-size: 1.25rem;
  line-height: 1;
  margin-bottom: 4px;
  color: var(--rx-txt);
}

.rx-cc .ci-name a {
  color: inherit;
  text-decoration: none;
}

.rx-cc .ci-name a:hover {
  color: var(--rx-acc);
}

.rx-cc .ci-meta {
  font-family: var(--rx-mono), monospace;
  font-size: 0.52rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rx-mut);
}

.rx-cc .ci-price {
  width: 90px;
  text-align: right;
  font-family: var(--rx-mono), monospace;
  font-size: 0.82rem;
  color: var(--rx-mut);
}

.rx-cc .ci-qty {
  width: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rx-cc .ci-qty .quantity {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--rx-brd2);
  border-radius: 6px;
  overflow: hidden;
  background: var(--rx-bg3);
  height: 32px;
}

.rx-cc .ci-qty .rx-qty-btn {
  width: 30px;
  height: 32px;
  min-height: 32px;
  padding: 0;
  margin: 0;
  background: var(--rx-bg2);
  border: none;
  border-radius: 0;
  box-shadow: none;
  color: var(--rx-txt);
  cursor: pointer;
  font-size: 0.95rem;
  line-height: 1;
  transition: background 0.2s;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  -webkit-appearance: none;
  appearance: none;
}

.rx-cc .ci-qty .rx-qty-btn:hover {
  background: var(--rx-sur);
}

.rx-cc .ci-qty .quantity .qty {
  width: 36px;
  height: 32px;
  min-height: 32px;
  max-height: 32px;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-align: center;
  line-height: 32px;
  font-variant-numeric: tabular-nums;
  border: none;
  border-left: 1px solid var(--rx-brd2);
  border-right: 1px solid var(--rx-brd2);
  border-radius: 0;
  background: var(--rx-bg3);
  color: var(--rx-txt);
  font-family: var(--rx-mono), monospace;
  font-size: 0.72rem;
  -moz-appearance: textfield;
  appearance: textfield;
}

.rx-cc .ci-qty .quantity .qty::-webkit-outer-spin-button,
.rx-cc .ci-qty .quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.rx-cc .ci-total {
  width: 90px;
  text-align: right;
  font-family: var(--rx-disp), "Bebas Neue", sans-serif;
  font-size: 1.3rem;
  color: var(--rx-txt);
}

.rx-cc .ci-remove {
  margin-left: 0.5rem;
  background: none;
  border: none;
  color: var(--rx-dim);
  cursor: pointer;
  font-size: 0.85rem;
  transition: color 0.2s;
  flex-shrink: 0;
  width: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.rx-cc .ci-remove:hover {
  color: var(--rx-acc);
}

.rx-cc .cart-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.4rem;
  gap: 1rem;
  flex-wrap: wrap;
}

.rx-cc .continue-link {
  font-family: var(--rx-mono), monospace;
  font-size: 0.58rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rx-mut);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color 0.2s;
  background: none;
  border: none;
  cursor: pointer;
}

.rx-cc .continue-link:hover {
  color: var(--rx-acc);
}

.rx-cc .update-btn {
  font-family: var(--rx-mono), monospace;
  font-size: 0.58rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 8px 16px;
  border: 1px solid var(--rx-brd2);
  border-radius: 5px;
  background: transparent;
  color: var(--rx-mut);
  cursor: pointer;
  transition: all 0.2s;
}

.rx-cc .update-btn:hover {
  border-color: rgba(255, 255, 255, 0.18);
  color: var(--rx-txt);
}

.rx-cc .rx-coupon-row.coupon {
  display: flex;
  gap: 8px;
  align-items: stretch;
}

.rx-cc .coupon-input {
  flex: 1;
  background: var(--rx-bg3);
  border: 1px solid var(--rx-brd2);
  border-radius: var(--rx-r2);
  color: var(--rx-txt);
  font-family: var(--rx-mono), monospace;
  font-size: 0.65rem;
  letter-spacing: 0.06em;
  padding: 9px 12px;
  outline: none;
  transition: border-color 0.2s;
}

.rx-cc .coupon-input:focus {
  border-color: var(--rx-acc);
}

.rx-cc .coupon-btn {
  font-family: var(--rx-mono), monospace;
  font-size: 0.58rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 9px 14px;
  background: var(--rx-bg3);
  border: 1px solid var(--rx-brd2);
  color: var(--rx-mut);
  border-radius: var(--rx-r2);
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}

.rx-cc .coupon-btn:hover {
  border-color: var(--rx-acc);
  color: var(--rx-acc);
}

.rx-cc-summary.summary {
  position: sticky;
  top: 72px;
}

.rx-cc .summary-inner {
  background: var(--rx-bg2);
  border: 1px solid var(--rx-brd);
  border-radius: var(--rx-r);
  overflow: hidden;
}

.rx-cc .summary-head {
  padding: 1rem 1.4rem;
  border-bottom: 1px solid var(--rx-brd);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.rx-cc .summary-title {
  font-family: var(--rx-mono), monospace;
  font-size: 0.6rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--rx-mut);
}

.rx-cc .summary-edit {
  font-family: var(--rx-mono), monospace;
  font-size: 0.52rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rx-acc);
  text-decoration: none;
  background: none;
  border: none;
  cursor: pointer;
  transition: opacity 0.2s;
}

.rx-cc .summary-edit:hover {
  opacity: 0.75;
}

.rx-cc .order-item {
  padding: 1.1rem 1.4rem;
  display: flex;
  gap: 12px;
  border-bottom: 1px solid var(--rx-brd);
}

.rx-cc .oi-img {
  width: 60px;
  height: 60px;
  background: var(--rx-bg3);
  border: 1px solid var(--rx-brd);
  border-radius: 6px;
  flex-shrink: 0;
  overflow: hidden;
  position: relative;
}

/* Miniatura w sidebarze: badge nie może być obcięty (overflow na .oi-img) */
.rx-cc-summary .order-item .oi-img,
.rx-cc .summary-inner .order-item .oi-img {
  overflow: visible;
}

.rx-cc-summary .order-item .oi-img img,
.rx-cc .summary-inner .order-item .oi-img img {
  border-radius: 5px;
}

.rx-cc .oi-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.rx-cc .oi-badge {
  position: absolute;
  top: -5px;
  right: -5px;
  background: var(--rx-acc);
  color: #fff;
  font-family: var(--rx-mono), monospace;
  font-size: 0.48rem;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rx-cc .oi-info {
  flex: 1;
  min-width: 0;
}

.rx-cc .oi-name {
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--rx-txt);
  line-height: 1.3;
  margin-bottom: 3px;
}

.rx-cc .oi-meta {
  font-family: var(--rx-mono), monospace;
  font-size: 0.52rem;
  letter-spacing: 0.06em;
  color: var(--rx-mut);
  text-transform: uppercase;
}

.rx-cc .oi-price {
  font-family: var(--rx-disp), "Bebas Neue", sans-serif;
  font-size: 1.3rem;
  color: var(--rx-txt);
  align-self: center;
  flex-shrink: 0;
}

.rx-cc .totals {
  padding: 1.1rem 1.4rem;
}

.rx-cc .total-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 6px 0;
  border-bottom: 1px solid var(--rx-brd);
  gap: 10px;
}

.rx-cc .total-key {
  font-size: 0.82rem;
  font-weight: 300;
  color: var(--rx-mut);
}

.rx-cc .total-val {
  font-family: var(--rx-mono), monospace;
  font-size: 0.8rem;
  color: var(--rx-txt);
  text-align: right;
}

.rx-cc .total-val .woocommerce-Price-amount {
  color: inherit;
}

.rx-cc .total-val.free,
.rx-cc .total-val .woocommerce-Price-amount.amount {
  color: inherit;
}

.rx-cc .total-val.disc,
.rx-cc .total-val.disc .woocommerce-Price-amount {
  color: var(--rx-acc);
}

.rx-cc .total-final {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 1rem 0 0.5rem;
  gap: 12px;
}

.rx-cc .total-final-key {
  font-family: var(--rx-mono), monospace;
  font-size: 0.6rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rx-mut);
}

.rx-cc .total-final-val {
  font-family: var(--rx-disp), "Bebas Neue", sans-serif;
  font-size: 2.2rem;
  color: var(--rx-txt);
  line-height: 1;
}

.rx-cc .total-final-val .woocommerce-Price-amount {
  color: inherit;
}

.rx-cc .trust-micro {
  padding: 0 1.4rem 1.1rem;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.rx-cc .tm {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 0.72rem;
  color: var(--rx-mut);
  font-weight: 300;
}

.rx-cc .tm-ic {
  color: var(--rx-acc);
  font-size: 0.75rem;
  flex-shrink: 0;
  width: 14px;
  text-align: center;
}

.rx-cc .rx-proceed-wrap {
  padding: 0 1.4rem 1.2rem;
  text-align: center;
}

.rx-cc .rx-proceed-wrap .checkout-button {
  box-sizing: border-box;
}

.rx-cc .submit-btn,
.rx-cc a.submit-btn.checkout-button {
  width: 100%;
  background: var(--rx-acc);
  color: #fff;
  border: none;
  padding: 14px;
  border-radius: var(--rx-r2);
  font-family: var(--rx-body), sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none;
  transition: all 0.25s;
  margin-top: 0.5rem;
}

.rx-cc .submit-btn:hover,
.rx-cc a.submit-btn.checkout-button:hover {
  background: var(--rx-acc2);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(255, 61, 0, 0.25);
}

/* Koszyk: CTA węższy niż box (po regule width:100% na .submit-btn) */
.rx-cc-cart .rx-proceed-wrap .checkout-button.rx-proceed-checkout {
  width: auto;
  max-width: 100%;
  display: inline-flex;
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}

.rx-cc-checkout .rx-customer-details {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* NIE używać .col-1 / .col-2 — Bootstrap/Kadence ustawia ~8% szerokości */
.rx-cc-checkout .rx-customer-details .rx-checkout-col,
.rx-cc-checkout #customer_details .col-1,
.rx-cc-checkout #customer_details .col-2 {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.rx-cc-checkout .woocommerce-billing-fields > h3 {
  display: none;
}

.rx-cc-checkout #ship-to-different-address {
  font-family: var(--rx-mono), monospace;
  font-size: 0.58rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 400;
  margin: 1.15rem 0 1rem;
  padding: 0.85rem 1rem;
  background: var(--rx-bg3);
  border: 1px solid var(--rx-brd2);
  border-radius: var(--rx-r2);
}

.rx-cc-checkout #ship-to-different-address label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  cursor: pointer;
  color: var(--rx-mut);
}

.rx-cc-checkout #ship-to-different-address input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0;
  flex-shrink: 0;
  accent-color: var(--rx-acc);
  cursor: pointer;
}

.rx-cc-checkout .woocommerce-checkout .form-row {
  margin: 0 0 0.9rem;
  padding: 0;
}

.rx-cc-checkout .woocommerce-checkout .form-row label {
  font-family: var(--rx-mono), monospace;
  font-size: 0.52rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rx-mut);
  margin-bottom: 0.4rem;
  display: block;
}

.rx-cc-checkout .woocommerce-checkout input.input-text,
.rx-cc-checkout .woocommerce-checkout textarea,
.rx-cc-checkout .woocommerce-checkout select {
  width: 100%;
  background: var(--rx-bg3);
  border: 1px solid var(--rx-brd2);
  border-radius: var(--rx-r2);
  color: var(--rx-txt);
  font-family: var(--rx-body), sans-serif;
  font-size: 0.88rem;
  padding: 11px 14px;
  outline: none;
  transition: border-color 0.2s, background 0.2s;
  box-sizing: border-box;
}

.rx-cc-checkout .woocommerce-checkout select {
  appearance: none;
  padding-right: 36px;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%237a7a7a' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-color: var(--rx-bg3);
}

.rx-cc-checkout .woocommerce-checkout input.input-text:focus,
.rx-cc-checkout .woocommerce-checkout textarea:focus,
.rx-cc-checkout .woocommerce-checkout select:focus {
  border-color: var(--rx-acc);
  background: var(--rx-bg2);
}

/* Autofill przeglądarki — bez białego / jasnoniebieskiego tła */
.rx-cc-checkout .woocommerce-checkout input.input-text:-webkit-autofill,
.rx-cc-checkout .woocommerce-checkout input.input-text:-webkit-autofill:hover,
.rx-cc-checkout .woocommerce-checkout input.input-text:-webkit-autofill:focus,
.rx-cc-checkout .woocommerce-checkout textarea:-webkit-autofill,
.rx-cc-checkout .woocommerce-checkout textarea:-webkit-autofill:hover,
.rx-cc-checkout .woocommerce-checkout textarea:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--rx-txt) !important;
  caret-color: var(--rx-txt);
  box-shadow: 0 0 0 1000px var(--rx-bg3) inset !important;
  -webkit-box-shadow: 0 0 0 1000px var(--rx-bg3) inset !important;
  border: 1px solid var(--rx-brd2) !important;
  transition: background-color 99999s ease-out 0s;
}

.rx-cc-checkout .woocommerce-checkout .form-row.woocommerce-valid input.input-text:-webkit-autofill,
.rx-cc-checkout .woocommerce-checkout .form-row.woocommerce-valid input.input-text:-webkit-autofill:hover,
.rx-cc-checkout .woocommerce-checkout .form-row.woocommerce-valid input.input-text:-webkit-autofill:focus {
  box-shadow: 0 0 0 1000px var(--rx-bg3) inset !important;
  -webkit-box-shadow: 0 0 0 1000px var(--rx-bg3) inset !important;
}

/* Zielona obwódka „valid” Woo — stonowana, w tonie marki */
.rx-cc-checkout .woocommerce-checkout .form-row.woocommerce-valid input.input-text,
.rx-cc-checkout .woocommerce-checkout .form-row.woocommerce-valid textarea,
.rx-cc-checkout .woocommerce-checkout .form-row.woocommerce-valid select {
  border-color: rgba(63, 179, 90, 0.35);
  background: var(--rx-bg3);
}

.rx-cc-checkout .woocommerce-checkout input.input-text::placeholder,
.rx-cc-checkout .woocommerce-checkout textarea::placeholder {
  color: var(--rx-ph);
  opacity: 1;
}

.rx-cc-checkout .woocommerce-checkout input.input-text::-webkit-input-placeholder,
.rx-cc-checkout .woocommerce-checkout textarea::-webkit-input-placeholder {
  color: var(--rx-ph);
}

.rx-cc .coupon-input::placeholder {
  color: var(--rx-ph);
  opacity: 1;
}

.rx-cc .coupon-input::-webkit-input-placeholder {
  color: var(--rx-ph);
}

.rx-cc-cart .woocommerce-cart-form input.input-text::placeholder,
.rx-cc-cart .woocommerce-cart-form textarea::placeholder {
  color: var(--rx-ph);
  opacity: 1;
}

/* Komunikaty checkoutu — tylko baner w .woocommerce-notices-wrapper (nie dotykać ul w .form-row) */
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-notices-wrapper {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto 1.25rem;
  padding-left: clamp(1.5rem, 5vw, 3rem);
  padding-right: clamp(1.5rem, 5vw, 3rem);
  box-sizing: border-box;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* WooCommerce pakuje listę błędów w NoticeGroup — często ma jasne tło z motywu */
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-NoticeGroup,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-NoticeGroup-checkout {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/*
 * Kadence: .woocommerce .woocommerce-message, .woocommerce-error, .woocommerce-info { background: var(--global-palette7) }
 * Ta sama para klas (.woocommerce .woocommerce-error) — child theme musi wygrać z pełnym łańcuchem + !important.
 */
body.woocommerce.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce .woocommerce-message,
body.woocommerce.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce .woocommerce-error,
body.woocommerce.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce .woocommerce-info,
body.woocommerce-checkout:not(.woocommerce-order-received).woocommerce .woocommerce .woocommerce-message,
body.woocommerce-checkout:not(.woocommerce-order-received).woocommerce .woocommerce .woocommerce-error,
body.woocommerce-checkout:not(.woocommerce-order-received).woocommerce .woocommerce .woocommerce-info {
  background-color: var(--rx-bg2) !important;
  background: var(--rx-bg2) !important;
  color: var(--rx-txt) !important;
}

body.woocommerce.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce .woocommerce-error,
body.woocommerce-checkout:not(.woocommerce-order-received).woocommerce .woocommerce .woocommerce-error {
  border: 1px solid rgba(255, 61, 0, 0.35) !important;
  border-radius: var(--rx-r2);
}

body.woocommerce.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce .woocommerce-message,
body.woocommerce.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce .woocommerce-info,
body.woocommerce-checkout:not(.woocommerce-order-received).woocommerce .woocommerce .woocommerce-message,
body.woocommerce-checkout:not(.woocommerce-order-received).woocommerce .woocommerce .woocommerce-info {
  border: 1px solid var(--rx-brd) !important;
  border-radius: var(--rx-r2);
}

body.woocommerce-checkout:not(.woocommerce-order-received)
  .woocommerce-notices-wrapper
  ul.woocommerce-error {
  background: var(--rx-bg2) !important;
  border: 1px solid rgba(255, 61, 0, 0.35) !important;
  border-radius: var(--rx-r2);
  color: var(--rx-txt) !important;
  padding: 1rem 1.25rem 1rem 1.2rem !important;
  margin: 0 0 0.65rem !important;
  list-style: none !important;
  list-style-type: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
  .woocommerce-notices-wrapper
  ul.woocommerce-error
  li {
  margin: 0.4rem 0;
  padding-left: 0.85rem;
  position: relative;
  list-style: none !important;
  list-style-type: none !important;
  color: var(--rx-txt) !important;
  font-family: var(--rx-body), sans-serif;
  font-size: 0.84rem;
  line-height: 1.45;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
  .woocommerce-notices-wrapper
  ul.woocommerce-error
  li:first-child {
  margin-top: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
  .woocommerce-notices-wrapper
  ul.woocommerce-error
  li:last-child {
  margin-bottom: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
  .woocommerce-notices-wrapper
  ul.woocommerce-error
  li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--rx-acc);
}

body.woocommerce-checkout:not(.woocommerce-order-received)
  .woocommerce-notices-wrapper
  .woocommerce-message,
body.woocommerce-checkout:not(.woocommerce-order-received)
  .woocommerce-notices-wrapper
  .woocommerce-info {
  background: var(--rx-bg2) !important;
  border: 1px solid var(--rx-brd) !important;
  border-radius: var(--rx-r2);
  color: var(--rx-txt) !important;
  padding: 0.9rem 1.15rem !important;
  margin: 0 0 0.65rem !important;
}

/* Wariant blokowy (np. div[role=alert]) w grupie komunikatów */
body.woocommerce-checkout:not(.woocommerce-order-received)
  .woocommerce-notices-wrapper
  .woocommerce-error[role="alert"]:not(ul),
body.woocommerce-checkout:not(.woocommerce-order-received)
  .woocommerce-NoticeGroup
  .woocommerce-error[role="alert"]:not(ul) {
  background: var(--rx-bg2) !important;
  border: 1px solid rgba(255, 61, 0, 0.35) !important;
  border-radius: var(--rx-r2);
  color: var(--rx-txt) !important;
  padding: 1rem 1.25rem !important;
  margin: 0 0 0.65rem !important;
}

/* Błędy pod polami: Woo wstawia <ul class="woocommerce-error"> w .form-row — bez kropek, lekki tekst */
body.woocommerce-checkout:not(.woocommerce-order-received)
  .rx-cc-checkout
  .woocommerce-checkout
  .form-row
  ul.woocommerce-error {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0.4rem 0 0 !important;
  list-style: none !important;
  list-style-type: none !important;
}

.rx-cc-checkout .woocommerce-checkout .form-row ul.woocommerce-error li {
  margin: 0 !important;
  padding: 0 0 0 0.65rem !important;
  position: relative;
  list-style: none !important;
  color: rgba(255, 154, 122, 0.95) !important;
  font-family: var(--rx-mono), monospace;
  font-size: 0.56rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-transform: none;
  border-left: 2px solid rgba(255, 61, 0, 0.45);
}

.rx-cc-checkout .woocommerce-checkout .form-row ul.woocommerce-error li::before {
  display: none !important;
  content: none !important;
}

/* Pola z błędem walidacji — spójna obwódka, bez „krzykliwego” domyślnego stylu */
.rx-cc-checkout .woocommerce-checkout .form-row.woocommerce-invalid input.input-text,
.rx-cc-checkout .woocommerce-checkout .form-row.woocommerce-invalid textarea,
.rx-cc-checkout .woocommerce-checkout .form-row.woocommerce-invalid select {
  border-color: rgba(255, 61, 0, 0.55);
  background: rgba(255, 61, 0, 0.04);
}

.rx-cc-checkout .woocommerce-checkout .form-row.woocommerce-invalid label {
  color: #c8c4bc;
}

.rx-cc-checkout
  .woocommerce-checkout
  .form-row.woocommerce-invalid
  input.input-text:-webkit-autofill,
.rx-cc-checkout
  .woocommerce-checkout
  .form-row.woocommerce-invalid
  input.input-text:-webkit-autofill:hover,
.rx-cc-checkout
  .woocommerce-checkout
  .form-row.woocommerce-invalid
  input.input-text:-webkit-autofill:focus,
.rx-cc-checkout
  .woocommerce-checkout
  .form-row.woocommerce-invalid
  textarea:-webkit-autofill,
.rx-cc-checkout
  .woocommerce-checkout
  .form-row.woocommerce-invalid
  textarea:-webkit-autofill:hover,
.rx-cc-checkout
  .woocommerce-checkout
  .form-row.woocommerce-invalid
  textarea:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--rx-txt) !important;
  box-shadow: 0 0 0 1000px rgba(255, 61, 0, 0.07) inset !important;
  -webkit-box-shadow: 0 0 0 1000px rgba(255, 61, 0, 0.07) inset !important;
  border: 1px solid rgba(255, 61, 0, 0.55) !important;
}

.rx-cc-checkout .woocommerce-checkout .form-row .woocommerce-error:not(ul),
.rx-cc-checkout .woocommerce-checkout .form-row .invalid {
  display: block;
  font-family: var(--rx-mono), monospace;
  font-size: 0.56rem;
  letter-spacing: 0.05em;
  color: rgba(255, 154, 122, 0.95);
  margin-top: 0.4rem;
  line-height: 1.5;
  padding-left: 0.65rem;
  border-left: 2px solid rgba(255, 61, 0, 0.45);
}

/* WooCommerce (nowszy checkout): komunikat walidacji pod polem */
.rx-cc-checkout .woocommerce-checkout .checkout-inline-error-message {
  display: block;
  font-family: var(--rx-mono), monospace;
  font-size: 0.56rem;
  letter-spacing: 0.05em;
  text-transform: none;
  color: rgba(255, 154, 122, 0.95) !important;
  margin: 0.4rem 0 0;
  line-height: 1.5;
  padding: 0 0 0 0.65rem;
  border-left: 2px solid rgba(255, 61, 0, 0.45);
  background: transparent !important;
}

/* Kadence Select2: jasne tło i szara obwódka — checkout RavenX */
body.woocommerce-checkout:not(.woocommerce-order-received)
  .select2-container--default
  .select2-selection--single {
  min-height: 44px;
  height: auto !important;
  background: var(--rx-bg3) !important;
  background-color: var(--rx-bg3) !important;
  border: 1px solid var(--rx-brd2) !important;
  border-radius: var(--rx-r2) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
  .select2-container--default
  .select2-selection--single
  .select2-selection__rendered {
  color: var(--rx-txt) !important;
  line-height: 1.35 !important;
  padding: 11px 36px 11px 14px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
  .select2-container--default
  .select2-selection--single
  .select2-selection__arrow {
  height: 42px !important;
  right: 8px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
  .select2-container--default
  .select2-selection--single
  .select2-selection__arrow
  b {
  border-color: var(--rx-mut) transparent transparent transparent !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
  .select2-container--default.select2-container--focus
  .select2-selection--single,
body.woocommerce-checkout:not(.woocommerce-order-received)
  .select2-container--default.select2-container--open
  .select2-selection--single {
  border-color: var(--rx-acc) !important;
  background: var(--rx-bg2) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .select2-dropdown {
  background: var(--rx-bg2) !important;
  border: 1px solid var(--rx-brd2) !important;
  border-radius: var(--rx-r2);
}

body.woocommerce-checkout:not(.woocommerce-order-received) .select2-results__option {
  color: var(--rx-txt) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
  .select2-container--default
  .select2-results__option--highlighted[aria-selected] {
  background: rgba(255, 61, 0, 0.2) !important;
  color: var(--rx-txt) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
  .select2-container--default
  .select2-results__option[aria-selected="true"] {
  background: rgba(255, 61, 0, 0.12) !important;
}

/*
 * WooCommerce + jQuery blockUI (update_checkout, walidacja, koszyk): domyślnie biała
 * nakładka opacity ~0.6 — na ciemnym tle wygląda jak „wyszarzenie”. Ciemna warstwa + spinner.
 */
@keyframes rx-wc-block-spin {
  to {
    transform: rotate(360deg);
  }
}

body.woocommerce-checkout .blockUI.blockOverlay,
body.woocommerce-cart .blockUI.blockOverlay {
  background: rgba(12, 12, 13, 0.72) !important;
  opacity: 1 !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

body.woocommerce-checkout .blockUI.blockOverlay::after,
body.woocommerce-cart .blockUI.blockOverlay::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 36px;
  height: 36px;
  margin: -18px 0 0 -18px;
  border: 3px solid rgba(255, 255, 255, 0.12);
  border-top-color: var(--rx-acc);
  border-radius: 50%;
  animation: rx-wc-block-spin 0.65s linear infinite;
  box-sizing: border-box;
  pointer-events: none;
}

body.woocommerce-checkout .blockUI .blockMsg,
body.woocommerce-cart .blockUI .blockMsg {
  background: var(--rx-bg2) !important;
  border: 1px solid var(--rx-brd) !important;
  border-radius: var(--rx-r2) !important;
  color: var(--rx-mut) !important;
  font-family: var(--rx-mono), monospace !important;
  font-size: 0.55rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35) !important;
}

/* Polityka / regulamin przy składaniu zamówienia — jak etykiety i opisy RavenX */
.rx-cc-checkout #payment .woocommerce-privacy-policy-text,
.rx-cc-checkout #payment .woocommerce-terms-and-conditions-checkbox-text,
.rx-cc-checkout #payment .woocommerce-terms-and-conditions-wrapper,
.rx-cc-checkout #payment .form-row.terms label {
  font-family: var(--rx-mono), monospace;
  font-size: 0.58rem;
  letter-spacing: 0.07em;
  line-height: 1.65;
  color: var(--rx-mut);
  text-transform: none;
}

.rx-cc-checkout #payment .woocommerce-privacy-policy-text a,
.rx-cc-checkout #payment .woocommerce-terms-and-conditions-checkbox-text a,
.rx-cc-checkout #payment .form-row.terms a {
  color: var(--rx-acc);
  text-decoration: none;
  letter-spacing: 0.06em;
}

.rx-cc-checkout #payment .woocommerce-privacy-policy-text a:hover,
.rx-cc-checkout #payment .woocommerce-terms-and-conditions-checkbox-text a:hover,
.rx-cc-checkout #payment .form-row.terms a:hover {
  color: var(--rx-acc2);
}

.rx-cc-checkout #payment .form-row.terms .input-checkbox,
.rx-cc-checkout #payment .form-row.terms input[type="checkbox"] {
  accent-color: var(--rx-acc);
}

.rx-cc-checkout .woocommerce-checkout .description,
.rx-cc-checkout .woocommerce-checkout .form-row .description {
  font-family: var(--rx-mono), monospace;
  font-size: 0.52rem;
  letter-spacing: 0.06em;
  color: var(--rx-dim);
  margin-top: 0.35rem;
}

/*
 * WooCommerce: .woocommerce form.checkout_coupon { border: 1px solid #b7cde1; } — jasna obwódka.
 * Formularz kuponu ma klasy .checkout_coupon.rx-checkout-coupon.coupon-row — tylko separator jak reszta panelu.
 */
.rx-cc-checkout .rx-checkout-coupon.coupon-row {
  padding: 1rem 1.4rem;
  border: none;
  border-bottom: 1px solid var(--rx-brd);
  border-radius: 0;
  display: flex;
  gap: 8px;
  margin: 0;
  background: transparent;
  box-shadow: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received)
  .rx-cc-checkout
  form.checkout_coupon.woocommerce-form-coupon {
  border: none !important;
  border-bottom: 1px solid var(--rx-brd) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Spójna obwódka na stronie konta (login / rejestracja), jeśli w layoucie .rx-cc */
.rx-cc .woocommerce form.login,
.rx-cc .woocommerce form.register {
  border: 1px solid var(--rx-brd);
  border-radius: var(--rx-r);
  background: var(--rx-bg2);
}

.rx-cc-checkout .rx-ship-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.rx-cc-checkout .rx-ship-li {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0.9rem 1.1rem;
  border: 1px solid var(--rx-brd2);
  border-radius: var(--rx-r2);
  cursor: pointer;
  transition: all 0.2s;
  margin-bottom: 0.6rem;
  background: var(--rx-bg3);
}

.rx-cc-checkout .rx-ship-li:hover {
  border-color: rgba(255, 255, 255, 0.18);
}

.rx-cc-checkout .rx-ship-li:has(.shipping_method:checked) {
  border-color: var(--rx-acc);
  background: rgba(255, 61, 0, 0.05);
}

.rx-cc-checkout .rx-ship-li:only-child {
  border-color: var(--rx-acc);
  background: rgba(255, 61, 0, 0.05);
}

.rx-cc-checkout .rx-ship-li .shipping_method {
  flex-shrink: 0;
  accent-color: var(--rx-acc);
}

.rx-cc-checkout .rx-ship-li label {
  flex: 1;
  margin: 0;
  cursor: pointer;
  font-size: 0.85rem;
  color: var(--rx-txt);
}

.rx-cc-checkout .rx-ship-li label .woocommerce-Price-amount {
  font-family: var(--rx-disp), "Bebas Neue", sans-serif;
  font-size: 1.05rem;
  margin-left: auto;
}

.rx-cc-checkout ul.pay-methods.wc_payment_methods {
  list-style: none;
  margin: 0 0 1.1rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.rx-cc-checkout ul.pay-methods .wc_payment_method {
  margin: 0;
  padding: 0;
  border: 1px solid var(--rx-brd2);
  border-radius: var(--rx-r2);
  background: var(--rx-bg3);
  transition: border-color 0.2s, background 0.2s;
  overflow: hidden;
}

.rx-cc-checkout ul.pay-methods .wc_payment_method:has(input:checked) {
  border-color: var(--rx-acc);
  background: rgba(255, 61, 0, 0.06);
}

.rx-cc-checkout ul.pay-methods .wc_payment_method > label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0.85rem 1rem;
  margin: 0;
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--rx-txt);
  min-height: 3rem;
  box-sizing: border-box;
  background: transparent !important;
}

.rx-cc-checkout ul.pay-methods .wc_payment_method input.input-radio {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.rx-cc-checkout ul.pay-methods .wc_payment_method img {
  max-height: 22px;
  width: auto;
  filter: brightness(0.95);
}

.rx-cc-checkout .payment_box {
  margin: 0;
  padding: 1rem 1.1rem 1.1rem;
  background: var(--rx-bg2) !important;
  border-radius: 0;
  border: none;
  border-top: 1px solid var(--rx-brd);
  font-size: 0.82rem;
  color: var(--rx-mut);
}

/* Labele i opisy — Kadence/Woo często dają ciemny kolor na ciemnym tle */
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box label,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .form-row label,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box fieldset legend,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .paynow label,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box [class*="label"],
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .woocommerce-form__label {
  color: var(--rx-txt) !important;
  font-size: 0.78rem;
  font-weight: 500;
  margin-bottom: 0.35rem;
  display: block;
}

body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box p,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .form-row,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .woocommerce-info {
  color: var(--rx-mut) !important;
  font-size: 0.8rem;
  line-height: 1.5;
  margin: 0 0 0.75rem;
}

body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box p:last-child {
  margin-bottom: 0;
}

body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .form-row {
  margin-bottom: 0.85rem;
  padding: 0;
}

body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .form-row:last-child {
  margin-bottom: 0;
}

/* Pola natywne (BLIK, P24, PayU itd.) */
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box select,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: var(--rx-bg3) !important;
  border: 1px solid var(--rx-brd2) !important;
  border-radius: var(--rx-r2) !important;
  color: var(--rx-txt) !important;
  font-family: var(--rx-body), sans-serif;
  font-size: 0.85rem;
  padding: 0.6rem 0.75rem;
  min-height: 42px;
  margin: 0;
  -webkit-text-fill-color: var(--rx-txt);
}

body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box select option {
  background: var(--rx-bg3);
  color: var(--rx-txt);
}

body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box input::placeholder,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box textarea::placeholder {
  color: var(--rx-ph) !important;
  opacity: 1;
}

body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box select:focus,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box input:focus,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box textarea:focus {
  border-color: var(--rx-acc) !important;
  outline: none;
  box-shadow: 0 0 0 1px rgba(255, 61, 0, 0.25);
}

/* Checkboxy (np. zapis karty Stripe) */
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box input[type="checkbox"] {
  accent-color: var(--rx-acc);
  width: 1rem;
  height: 1rem;
  min-height: 0;
  margin: 0 0.45rem 0 0;
  vertical-align: middle;
}

body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box label.checkbox,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .woocommerce-SavedPaymentMethods-saveNew label,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .form-row label.checkbox {
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem;
  color: var(--rx-mut) !important;
  font-weight: 400;
  font-size: 0.78rem;
  margin-bottom: 0;
  cursor: pointer;
}

body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .stripe-source-errors,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .woocommerce-error {
  color: var(--rx-acc2) !important;
  font-size: 0.75rem;
  margin-top: 0.35rem;
}

/* PayNow / Przelewy24 / podobne wtyczki (pola poza iframe Stripe) */
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box [class*="paynow"],
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box [class*="p24"],
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box [class*="przelewy"] {
  color: var(--rx-mut);
}

body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box [class*="paynow"] select,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box [class*="paynow"] input,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box [id*="blik"] {
  background: var(--rx-bg3) !important;
  border: 1px solid var(--rx-brd2) !important;
  color: var(--rx-txt) !important;
}

/* Stripe — kontenery (iframe w środku; klasy p-FieldLabel / p-Select są w appearance w functions.php) */
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_method_stripe_p24 .payment_box,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_method_stripe_blik .payment_box,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment [class*="payment_method_stripe"] .payment_box {
  color-scheme: dark !important;
}

/*
 * Payment Plugins: .payment_box.wc-stripe-no-methods ma padding:0 w stripe.scss wtyczki.
 * P24 (i podobne) — przywracamy odstępy wokół Stripe Element.
 */
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box.payment_method_stripe_p24.wc-stripe-no-methods,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment li.payment_method_stripe_p24 .payment_box.wc-stripe-no-methods,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment li.payment_method_stripe_p24.wc-stripe-no-desc .payment_box.wc-stripe-no-methods {
  padding: 1rem 1.15rem 1.2rem !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box.payment_method_stripe_p24.wc-stripe-no-methods [id^="wc_stripe_local_payment"],
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box.payment_method_stripe_p24.wc-stripe-no-methods .__PrivateStripeElement,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment li.payment_method_stripe_p24 .payment_box.wc-stripe-no-methods [id^="wc_stripe_local_payment"] {
  padding: 0.35rem 0.15rem !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box.payment_method_stripe_blik.wc-stripe-no-methods,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment li.payment_method_stripe_blik .payment_box.wc-stripe-no-methods {
  padding: 1rem 1.15rem 1.2rem !important;
  margin: 0 !important;
}

body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .rx-stripe-bank-label {
  display: block !important;
  color: var(--rx-txt) !important;
  font-family: var(--rx-body), sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  margin: 0 0 0.4rem !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}

body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .wc-stripe-elements-field,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box #stripe-card-element,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .wc-stripe-upe-element,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .wc-stripe-p24-container,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .wc-stripe-blik-container,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box [id^="wc_stripe_local_payment"],
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .wc-upe-form,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box fieldset[id^="wc-stripe"],
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .wc-stripe-gateway-container,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box [class*="wc-stripe-"][class*="-container"] {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  background: var(--rx-bg3) !important;
  border: 1px solid var(--rx-brd2) !important;
  border-radius: var(--rx-r2) !important;
  padding: 0.85rem 1rem !important;
  color-scheme: dark !important;
}

body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .__PrivateStripeElement,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .wc-stripe-cc-new-method-container,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box [id^="wc_stripe_local_payment"] {
  width: 100% !important;
  min-height: 120px;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0.25rem 0 !important;
}

/* Ukryj „Zapisz kartę” / zapis źródła pod Stripe (poza iframe) */
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .wc-stripe-save-source,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .save-source-label,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box input[id$="_save_source_key"],
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box label[for$="_save_source_key"],
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box #wc-stripe-new-payment-method,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box label[for="wc-stripe-new-payment-method"],
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .woocommerce-SavedPaymentMethods-saveNew,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment [class*="payment_method_stripe"] p.form-row.woocommerce-SavedPaymentMethods-saveNew {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box iframe[name^="__privateStripeFrame"],
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box iframe[src*="stripe.com"] {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  min-height: 110px !important;
  margin: 0 !important;
  display: block !important;
  border: 0 !important;
  color-scheme: dark !important;
}

/* Tekst Stripe poza iframe (opisy, testmode) */
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .testmode-info,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .wc-upe-form > p,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box fieldset[id^="wc-stripe"] > p {
  color: var(--rx-mut) !important;
}

body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .woocommerce-SavedPaymentMethods,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box .woocommerce-SavedPaymentMethods-saveNew,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box #wc-stripe-new-payment-method + label,
body.woocommerce.woocommerce-checkout .rx-cc-checkout #payment .payment_box label[for="wc-stripe-new-payment-method"] {
  color: var(--rx-txt) !important;
  filter: none !important;
  -webkit-filter: none !important;
}

.rx-cc-checkout #payment .place-order {
  margin: 0;
  padding: 0;
}

.rx-cc-checkout #payment .place-order .button {
  margin-top: 0.5rem;
}

.rx-cc-checkout .security-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 0.9rem;
  font-family: var(--rx-mono), monospace;
  font-size: 0.52rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rx-mut);
}

.rx-cc-checkout .rx-payment-panel .panel-body {
  padding-bottom: 1.25rem;
}

.rx-header-nav .rx-back-cart {
  font-family: var(--rx-mono), monospace;
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rx-mut);
  text-decoration: none;
  transition: color 0.2s;
}

.rx-header-nav .rx-back-cart:hover {
  color: var(--rx-acc);
}

.rx-header-nav .nav-links-checkout {
  margin: 0 auto;
}

@media (max-width: 1080px) {
  .rx-cc-checkout .pg-body.rx-cc-body {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .rx-cc-body.pg-body,
  .pg-body.rx-cc-body {
    grid-template-columns: 1fr;
  }

  .rx-cc-summary.summary {
    position: static;
  }

  .rx-cc-checkout ul.pay-methods.wc_payment_methods {
    grid-template-columns: 1fr;
  }

  .rx-cc .ci-price,
  .rx-cc .ci-qty,
  .rx-cc .ci-total {
    display: none;
  }

  .rx-cc .cart-item {
    flex-wrap: wrap;
  }

  .rx-cc .ci-info {
    min-width: 200px;
  }
}

.summary.entry-summary.prod-info{
  width: 100% !important;
}

.cart-summary {
  display: none !important;
}

.woocommerce-error {
  background: var(--rx-bg2) !important;
}

.woocommerce-error li {
  color: var(--rx-txt) !important;
  font-family: var(--rx-mono), monospace;
  font-size: 0.66rem;
  letter-spacing: 0.05em;
  text-transform: none;
  margin: 0.4rem 0 0;
  line-height: 1.5;
  padding: 0 0 0 0.65rem;
  background: transparent !important;
}

.kadence-shop-top-item.kadence-woo-toggle {
  display: none !important;
}

/* ========== Woo: komunikaty, GPay, podziękowanie ========== */

/* Alert „dodano do koszyka” — ciemny, akcent pomarańczowy (nie biały Kadence) */
body.single-product .woocommerce-notices-wrapper,
body.single-product .prod-wrap .woocommerce-notices-wrapper {
  margin: 0 0 1rem;
}

body.single-product .woocommerce-message,
body.single-product .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-message {
  background: var(--rx-bg2) !important;
  color: var(--rx-txt) !important;
  border: 1px solid var(--rx-brd2) !important;
  border-left: 3px solid var(--rx-acc) !important;
  border-radius: var(--rx-r2) !important;
  padding: 0.85rem 1rem !important;
  font-family: var(--rx-body), sans-serif;
  font-size: 0.88rem;
  line-height: 1.45;
  box-shadow: none !important;
}

body.single-product .woocommerce-message::before,
body.single-product .woocommerce-info::before {
  color: var(--rx-acc) !important;
}

body.single-product .woocommerce-message a.button,
.woocommerce-notices-wrapper .woocommerce-message a.button {
  background: var(--rx-acc) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important;
  font-size: 0.72rem !important;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.45rem 0.85rem !important;
  margin-left: 0.75rem;
  float: right;
}

body.single-product .woocommerce-message a.button:hover {
  background: var(--rx-acc2) !important;
  color: #fff !important;
}

/* Google Pay / Apple Pay / Payment Request — ukryte */
.wc-stripe-payment-request-wrapper,
.wc-stripe-payment-request-button-separator,
#wc-stripe-payment-request-wrapper,
#wc-stripe-payment-request-button-separator,
.wcpay-payment-request-wrapper,
.wcpay-payment-request-button-separator,
.woocommerce-Googlepay,
.woocommerce-apple-pay-button,
.payment-request-button,
gpay-button,
google-pay-button,
#wc-stripe-payment-request-button,
#wcpay-payment-request-button,
.rx-proceed-wrap + .wc-stripe-payment-request-wrapper,
.rx-proceed-wrap ~ .wc-stripe-payment-request-wrapper {
  display: none !important;
}

.single-product .wc-stripe-payment-request-wrapper,
.single-product form.cart .wcpay-payment-request-wrapper,
.single-product .wcpay-payment-request-wrapper {
  display: none !important;
}

.rx-cc-checkout li.payment_method_stripe_googlepay,
.rx-cc-checkout li.payment_method_ppcp-googlepay,
.rx-cc-checkout li[class*="googlepay"],
.rx-cc-checkout li[class*="google_pay"],
.rx-cc-checkout li[class*="gpay"] {
  display: none !important;
}

/* Strona podziękowania — tylko górny pasek danych (numer, data, e-mail…) bez przesunięcia floatów */
body.woocommerce-order-received .woocommerce-thankyou-order-received {
  color: var(--rx-txt);
  margin: 0 0 1.25rem;
  padding: 0;
  background: transparent;
  border: none;
}

body.woocommerce.woocommerce-order-received .woocommerce-order-overview {
  list-style: none;
  margin: 0 0 2rem;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.75rem 0;
  overflow: visible;
  background: transparent;
  border: none;
}

body.woocommerce.woocommerce-order-received .woocommerce-order-overview li {
  float: none !important;
  clear: none !important;
  width: auto !important;
  margin: 0 1.75rem 0 0 !important;
  padding: 0 1.75rem 0 0 !important;
  border: none !important;
  border-right: 1px solid var(--rx-brd2) !important;
  line-height: 1.45;
  color: var(--rx-mut);
  font-size: 0.85rem;
}

body.woocommerce.woocommerce-order-received .woocommerce-order-overview li:last-child {
  margin-right: 0 !important;
  padding-right: 0 !important;
  border-right: none !important;
}

body.woocommerce.woocommerce-order-received .woocommerce-order-overview li strong {
  display: block;
  margin-top: 0.2rem;
  color: var(--rx-txt);
  font-weight: 600;
  font-size: 0.95rem;
}

@media (max-width: 720px) {
  body.woocommerce.woocommerce-order-received .woocommerce-order-overview {
    flex-direction: column;
    gap: 0.85rem;
  }

  body.woocommerce.woocommerce-order-received .woocommerce-order-overview li {
    margin: 0 !important;
    padding: 0 0 0.85rem !important;
    border-right: none !important;
    border-bottom: 1px solid var(--rx-brd) !important;
  }

  body.woocommerce.woocommerce-order-received .woocommerce-order-overview li:last-child {
    padding-bottom: 0 !important;
    border-bottom: none !important;
  }
}

.payment_box.payment_method_stripe_p24.wc-stripe-no-methods,
.payment_box.payment_method_stripe_blik.wc-stripe-no-methods,
.payment_box.payment_method_stripe_cc.wc-stripe-no-methods {
  padding: 1rem !important;
  margin-top: 0 !important;
 }

 li.wc_payment_method[class*="payment_method_stripe_"] > label {
  margin-bottom: 0 !important;
 }