/**
 * WooCommerce overrides — bez nadpisywania layoutu z main.css (App.css).
 */

.woocommerce .woocommerce-notices-wrapper:empty {
  display: none;
}

/* Snackbar AJAX — kompaktowy, wyśrodkowany pod nagłówkiem */
.moneo-ajax-notices-shell {
  position: fixed;
  top: calc(var(--header-h, 100px) + 12px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 60;
  width: auto;
  max-width: min(calc(100vw - 32px), 560px);
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  pointer-events: none;
  display: flex;
  justify-content: center;
  visibility: hidden;
  opacity: 0;
}

.moneo-ajax-notices-shell[hidden] {
  display: none !important;
}

.moneo-ajax-notices {
  width: 100%;
  display: flex;
  justify-content: center;
}

.moneo-ajax-notices-shell.is-visible {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.moneo-ajax-notices-shell .woocommerce-notices-wrapper {
  margin: 0;
}

.moneo-ajax-notices .woocommerce-message,
.moneo-ajax-notices .woocommerce-info,
.moneo-ajax-notices .woocommerce-error,
.moneo-ajax-notices .moneo-snackbar-message {
  margin: 0;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.55);
  animation: moneo-snackbar-in 0.28s ease;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  opacity: 1;
}

@keyframes moneo-snackbar-in {
  from {
    transform: translateY(-10px);
  }
  to {
    transform: translateY(0);
  }
}

.moneo-ajax-notices:empty {
  display: none;
}

/* Powiadomienia w treści strony (bez górnego paddingu — nie spycha breadcrumb) */
main > .woocommerce-notices-wrapper {
  width: 100%;
  max-width: var(--max);
  margin: 0 auto 12px;
  padding: 0 20px;
  box-sizing: border-box;
}

main > .woocommerce-notices-wrapper:empty {
  display: none !important;
  margin: 0;
  padding: 0;
}

body.woocommerce-cart main > .woocommerce-notices-wrapper,
body.woocommerce-account main > .woocommerce-notices-wrapper,
body.single-product main > .woocommerce-notices-wrapper {
  display: none !important;
}

.header-actions .icon-btn-cart .count.is-zero {
  display: none;
}

.btn-cart.is-loading,
.single_add_to_cart_button.is-loading {
  position: relative;
  color: transparent !important;
  pointer-events: none;
  opacity: 1;
  /* Zachowaj wysokość przycisku gdy tekst jest niewidoczny. */
  -webkit-text-fill-color: transparent;
}

.btn-cart.is-loading::after,
.single_add_to_cart_button.is-loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.15em;
  height: 1.15em;
  margin: -0.575em 0 0 -0.575em;
  border: 2px solid color-mix(in srgb, var(--gold-bright) 28%, transparent);
  border-top-color: var(--gold-bright);
  border-radius: 50%;
  animation: moneo-btn-spin 0.65s linear infinite;
  box-sizing: border-box;
}

@keyframes moneo-btn-spin {
  to {
    transform: rotate(360deg);
  }
}

.cart-page .woocommerce-cart-form.is-updating {
  opacity: 0.72;
  pointer-events: none;
}

.cart-page a.cart-remove.is-loading {
  opacity: 0.5;
  pointer-events: none;
}

.shell > .woocommerce-notices-wrapper,
.shell .woocommerce-notices-wrapper:first-child {
  margin-bottom: 16px;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  margin: 0 0 1rem;
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  background: var(--bg-card);
  border: 1px solid var(--border);
  color: var(--text-heading);
  list-style: none;
  font-size: 14px;
  line-height: 1.5;
}

.woocommerce-message:last-child,
.woocommerce-info:last-child,
.woocommerce-error:last-child {
  margin-bottom: 0;
}

.woocommerce-message a,
.woocommerce-info a {
  color: var(--gold-bright);
  font-weight: 600;
  text-decoration: none;
}

.woocommerce-message a:hover,
.woocommerce-info a:hover {
  text-decoration: underline;
}

.woocommerce-message .button,
.woocommerce-info .button {
  display: inline-flex;
  margin-left: 8px;
  padding: 6px 14px;
  border-radius: var(--radius-pill);
  background: rgba(212, 175, 55, 0.15);
  border: 1px solid rgba(212, 175, 55, 0.35);
  color: var(--gold-bright) !important;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover {
  background: rgba(212, 175, 55, 0.22);
}

.woocommerce-error {
  border-color: rgba(248, 113, 113, 0.45);
  background: rgba(248, 113, 113, 0.08);
  color: #fecaca;
}

.woocommerce-message {
  border-color: rgba(74, 222, 128, 0.35);
  background: rgba(74, 222, 128, 0.08);
  color: #bbf7d0;
}

.woocommerce-info {
  border-color: rgba(212, 175, 55, 0.35);
  background: rgba(212, 175, 55, 0.08);
  color: var(--text-heading);
}

.moneo-auth-alerts {
  margin-bottom: 14px;
}

.moneo-auth-alerts .woocommerce-error,
.moneo-auth-alerts .woocommerce-message,
.moneo-auth-alerts .woocommerce-info {
  margin: 0 0 10px;
}

.moneo-auth-alerts .woocommerce-error:last-child,
.moneo-auth-alerts .woocommerce-message:last-child,
.moneo-auth-alerts .woocommerce-info:last-child {
  margin-bottom: 0;
}

.moneo-auth-form .has-field-error > span:first-child {
  color: #fca5a5;
}

.moneo-auth-form .form-checkbox-err > span {
  color: #fca5a5 !important;
}

.woocommerce form .form-row {
  margin: 0 0 14px;
  padding: 0;
}

.woocommerce form .form-row label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-heading);
  margin-bottom: 6px;
}

.checkout-page .woocommerce form .form-row label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.woocommerce form .input-text,
.woocommerce form select,
.woocommerce form textarea {
  width: 100%;
  padding: 12px 14px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-strong);
  background: var(--bg-card);
  color: var(--text-heading);
  font: inherit;
}

.woocommerce #payment {
  background: transparent;
}

.woocommerce-checkout #payment ul.payment_methods {
  border: none;
  padding: 0;
  margin: 0;
  list-style: none;
}

.woocommerce-checkout #payment div.payment_box {
  background: var(--bg-card-2);
  color: var(--text);
  border-radius: var(--radius-sm);
}

.woocommerce .quantity .qty {
  width: 3.5rem;
  text-align: center;
  background: var(--bg-card);
  border: 1px solid var(--border-strong);
  color: var(--text-heading);
  border-radius: var(--radius-sm);
  padding: 8px;
}

.woocommerce .single_add_to_cart_button,
.woocommerce button.button.alt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 22px;
  border-radius: var(--radius-pill);
  font-weight: 600;
  font-size: 14px;
  background: linear-gradient(135deg, var(--gold-bright) 0%, var(--gold) 45%, #a88424 100%);
  color: #0f0f12;
  border: none;
  cursor: pointer;
}

.woocommerce .single_add_to_cart_button:hover,
.woocommerce button.button.alt:hover {
  box-shadow: 0 14px 40px rgba(212, 175, 55, 0.4);
}

.woocommerce table.shop_table {
  border: none;
  border-collapse: collapse;
  width: 100%;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  border-top: 1px solid var(--border);
  padding: 12px 0;
  color: var(--text);
}

.woocommerce .woocommerce-Price-amount {
  color: var(--text-heading);
  font-weight: 600;
}

/* Ukryj domyślny layout summary — używamy własnego PDP */
.single-product .woocommerce-product-gallery,
.single-product .summary.entry-summary {
  display: none !important;
}

.wc-main {
  padding-block: 24px 48px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.home-empty {
  color: var(--text-muted);
  grid-column: 1 / -1;
}

.checkout-review-totals .cart-summary-row,
.checkout-review-totals .cart-total {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  border-top: 1px solid var(--border);
}

.checkout-review-totals .cart-total {
  font-weight: 700;
  font-size: 1.1rem;
}

#payment .payment_methods li {
  list-style: none;
  margin: 0 0 8px;
}

/* Siatka — karty na pełną wysokość jak w React */
.product-grid > .product-card-wrap {
  display: flex;
  min-height: 0;
}

/* Karta produktu: .product-card jako kontener (link + przycisk osobno) */
.product-card-wrap .product-card {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--bg-card);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  color: inherit;
  transition:
    border-color 0.2s,
    transform 0.2s,
    box-shadow 0.2s;
}

.product-card-wrap:hover .product-card {
  border-color: rgba(212, 175, 55, 0.32);
  transform: translateY(-2px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
}

.product-card-wrap .product-card-main {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  text-decoration: none;
  color: inherit;
}

.product-card-wrap .product-thumb {
  flex-shrink: 0;
}

/* Wyśrodkowanie zdjęć — selektor jak ProductImage (.product-image img) */
.product-card-wrap .product-thumb .product-image,
.product-card-wrap .product-thumb .product-thumb-media {
  width: 100%;
  height: 100%;
}

.product-card-wrap .product-thumb .product-image img,
.product-card-wrap .product-thumb img.product-thumb-media {
  max-width: 78%;
  max-height: 78%;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center;
}

.product-card-wrap .product-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 8px;
  padding: 14px 16px 0;
}

.product-card-wrap .product-actions {
  margin-top: auto;
  padding: 8px 16px 16px;
}

.product-card-wrap .product-actions .btn-cart,
.product-card-wrap .product-actions .button {
  width: 100%;
  padding: 11px;
  border-radius: 999px;
  border: 1px solid var(--border-strong);
  background: rgba(255, 255, 255, 0.04);
  color: var(--text-heading);
  font-weight: 600;
  font-size: 13px;
  text-align: center;
  display: inline-block;
  text-decoration: none;
  transition:
    background 0.2s,
    border-color 0.2s,
    color 0.2s;
}

.product-card-wrap:hover .btn-cart,
.product-card-wrap .btn-cart:hover {
  border-color: var(--gold-dim);
  background: rgba(212, 175, 55, 0.12);
  color: var(--gold-bright);
}

/* Ukryj domyślne style Woo na przycisku w karcie */
.product-card-wrap .product-actions .added_to_cart {
  display: none;
}

/* Archiwum kategorii — ukryj domyślny layout Woo */
.tax-product_cat .woocommerce-result-count,
.tax-product_cat .woocommerce-ordering,
.tax-product_cat ul.products,
.post-type-archive-product .woocommerce-result-count,
.post-type-archive-product .woocommerce-ordering,
.post-type-archive-product ul.products {
  display: none !important;
}

.tax-product_cat .woocommerce-notices-wrapper,
.post-type-archive-product .woocommerce-notices-wrapper {
  margin-bottom: 16px;
}

/* Backdrop filtrów kategorii (w .cat-layout) */
.cat-layout > .drawer-backdrop.cat-filter-backdrop {
  display: none;
}

@media (max-width: 900px) {
  .cat-layout > .drawer-backdrop.cat-filter-backdrop.open {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 70;
    background: rgba(0, 0, 0, 0.55);
  }
}

.cat-longcopy .empty .clear {
  color: var(--gold);
  text-decoration: underline;
}

/* PDP — galeria jak mockup ProductPage */
.pdp-main > .product-image,
.pdp-main > .pdp-main-image {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: grid;
  place-items: center;
}

.pdp-main .product-image img,
.pdp-main-image img {
  width: min(84%, 340px);
  height: min(84%, 340px);
  max-width: 84%;
  max-height: 84%;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 14px 28px rgba(0, 0, 0, 0.45));
}

/* Slider PDP — pełny kadr zamiast sztywnego 340px (woocommerce ładuje się po main). */
.pdp-gallery--slider .pdp-main .product-image img,
.pdp-gallery--slider .pdp-main-image img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

/* Moneta MONEO — detal flush do lewej (woocommerce.css ładuje się po main.css). */
.pdp--moneo-coin .pdp-main.is-view-detal,
.pdp--moneo-coin .pdp-main[data-view='detal'] {
  place-items: stretch;
}

.pdp--moneo-coin .pdp-main.is-view-detal > .product-image,
.pdp--moneo-coin .pdp-main[data-view='detal'] > .product-image {
  display: block;
  padding: 0;
  place-items: unset;
  position: relative;
  width: 100%;
  height: 100%;
}

.pdp--moneo-coin .pdp-main.is-view-detal > .product-image img,
.pdp--moneo-coin .pdp-main[data-view='detal'] > .product-image img {
  position: absolute;
  left: 0;
  top: 0;
  width: auto;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: left center;
}

.pdp-thumb img {
  object-fit: contain;
  object-position: center;
}

.pdp-pricebox .pdp-cart-form {
  border: 0;
  padding: 0;
  background: transparent;
}

.pdp-pricebox .qty-stepper {
  background: color-mix(in srgb, var(--bg-card) 85%, #161a23);
  border-color: color-mix(in srgb, var(--border-strong) 75%, #2d343f);
}

.pdp-pricebox .single_add_to_cart_button {
  box-shadow: 0 10px 32px var(--gold-glow);
  font-weight: 600;
}

.pdp-pricebox .single_add_to_cart_button:hover {
  box-shadow: 0 14px 40px rgba(212, 175, 55, 0.4);
}

.pdp-cart-form .single_add_to_cart_button {
  width: 100%;
  margin-top: 0;
}

/* Ukryj domyślny stock HTML Woo nad formularzem */
.pdp-pricebox > .stock {
  display: none;
}

/* ---------------- Cart + Checkout (Woo overrides) ---------------- */

.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart_totals,
.woocommerce-cart .cart-collaterals .cross-sells,
.woocommerce-cart-form .shop_table,
.woocommerce-checkout-review-order-table,
.woocommerce-checkout #customer_details .col2-set {
  display: none !important;
}

/* Blokowy koszyk Woo — dopasowanie do motywu (gdy shortcode jeszcze nie przejął strony) */
.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-cart .wc-block-cart {
  color: var(--text);
}

.woocommerce-cart .wc-block-components-totals-coupon,
.woocommerce-cart .wc-block-components-panel--coupon {
  display: none !important;
}

.woocommerce-cart .wc-block-cart__totals-title,
.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block h2 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.4rem;
  color: var(--text-heading);
}

.woocommerce-cart .wc-block-components-product-name {
  color: var(--text-heading);
  font-weight: 600;
  text-decoration: none;
}

.woocommerce-cart .wc-block-components-product-name:hover {
  color: var(--gold-bright);
}

.woocommerce-cart .wc-block-cart-items,
.woocommerce-cart .wc-block-components-totals-wrapper {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 16px;
}

.woocommerce-cart .wc-block-components-totals-wrapper {
  border-color: color-mix(in srgb, var(--gold) 22%, var(--border));
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28);
}

.woocommerce-cart .wc-block-components-button:not(.is-link),
.woocommerce-cart .wc-block-cart__submit-button {
  background: linear-gradient(135deg, var(--gold-bright) 0%, var(--gold) 45%, #a88424 100%) !important;
  color: #0f0f12 !important;
  border: none !important;
  border-radius: var(--radius-pill) !important;
  font-weight: 600 !important;
  box-shadow: 0 10px 32px var(--gold-glow) !important;
  min-height: 48px;
}

.woocommerce-cart .wc-block-components-button:not(.is-link):hover,
.woocommerce-cart .wc-block-cart__submit-button:hover {
  box-shadow: 0 14px 40px rgba(212, 175, 55, 0.4) !important;
}

.woocommerce-cart .wc-block-components-text-input input,
.woocommerce-cart .wc-block-components-quantity-selector {
  background: var(--bg-elevated);
  border-color: var(--border);
  color: var(--text-heading);
}

.woocommerce-cart .wc-block-components-formatted-money-amount {
  color: var(--gold-bright);
  font-weight: 600;
}

.cart-page:not(.checkout-page) > .woocommerce-notices-wrapper {
  display: none !important;
}

/* Miniatura — ProductImage w .cart-thumb */
.cart-page .cart-thumb .product-image.cart-thumb-media {
  width: 100%;
  height: 100%;
  min-height: 0;
}

.cart-page .cart-thumb .product-image.cart-thumb-media img {
  max-width: 78%;
  max-height: 78%;
}

/* Stepper — pill z main.css (.qty-stepper), nie .woocommerce .quantity */
.cart-page .woocommerce .quantity {
  display: contents;
}

.cart-page .qty-stepper .qty {
  width: 54px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.cart-page a.cart-remove {
  text-decoration: none;
  color: var(--text-muted);
}

.cart-page a.cart-remove:hover {
  color: #fca5a5;
}

.cart-page .cart-remove svg {
  width: 16px;
  height: 16px;
  display: block;
}

/* Checkout — siatka pól (nadpisuje globalne .form-row z main.css) */
.checkout-page .moneo-checkout-fields {
  display: grid;
  gap: 18px 14px;
  margin: 0 0 8px;
}

.checkout-page .moneo-checkout-fields--split {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.checkout-page .moneo-checkout-fields--full {
  grid-template-columns: minmax(0, 1fr);
}

.checkout-page .moneo-checkout-fields--postal {
  grid-template-columns: minmax(0, 148px) minmax(0, 1fr);
}

.checkout-page .moneo-checkout-fields > .form-row {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  margin: 0;
  padding: 0;
  width: 100%;
  float: none;
  min-width: 0;
}

.checkout-page .moneo-checkout-fields > .form-row.form-row-wide,
.checkout-page .moneo-checkout-fields > .form-row.moneo-field-street,
.checkout-page .moneo-checkout-fields > .form-row.moneo-field-notes {
  grid-column: 1 / -1;
}

.checkout-page .moneo-checkout-fields > .form-row.moneo-field-notes {
  gap: 0;
  margin: 0;
}

.checkout-page .moneo-checkout-fields > .form-row.moneo-field-notes > label {
  display: none;
}

.checkout-page .checkout-main > .checkout-section:has(.moneo-field-notes) .moneo-checkout-fields {
  margin: 0;
}

.checkout-page .moneo-checkout-fields .woocommerce-input-wrapper {
  display: block;
  width: 100%;
}

.checkout-page .moneo-field-hidden {
  display: none !important;
}

.checkout-page .moneo-invoice-fields:not([hidden]) {
  margin-top: 14px;
}

/* Metody wysyłki i płatności — option-list */
.moneo-shipping-methods ul#shipping_method,
.checkout-page #payment .payment_methods {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.moneo-shipping-methods ul#shipping_method li,
.checkout-page #payment .payment_methods li {
  margin: 0;
  padding: 0;
}

.moneo-shipping-methods ul#shipping_method li label.option,
.checkout-page #payment .payment_methods li label.option {
  width: 100%;
}

.checkout-page #payment .payment_box {
  margin: 10px 0 0;
  padding: 14px;
  border-radius: var(--radius-sm);
  background: var(--bg-card-2);
  border: 1px solid var(--border);
  font-size: 13px;
  color: var(--text);
}

.checkout-page #payment .place-order {
  display: none;
}

/*
 * Karty metod płatności: radio | tytuł | loga po prawej.
 * Jak .option-price przy wysyłce — bez pustej prawej strony.
 */
.checkout-page #payment .payment_methods li label.option {
  align-items: center;
  gap: 12px 14px;
  min-height: 56px;
  padding: 14px 16px;
}

.checkout-main #payment .option > .option-body {
  flex: 1 1 auto;
  min-width: 0;
}

.checkout-main #payment .option > .option-icons {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 0 0 auto;
  margin: 0;
  max-width: 58%;
}

.checkout-page #payment .moneo-pay-icons {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  flex-wrap: wrap;
}

.checkout-page #payment .moneo-pay-icons--brands {
  gap: 5px;
}

.checkout-page #payment .option-icons img.stripe-icon,
.checkout-page #payment .moneo-pay-icons img.stripe-icon,
.checkout-page #payment .stripe-icon {
  display: block;
  flex: 0 0 auto;
  width: auto;
  height: 24px;
  max-height: 24px;
  max-width: 42px;
  object-fit: contain;
  border-radius: 5px;
  background: #fff;
  padding: 3px 5px;
  box-sizing: content-box;
  margin: 0;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
}

.checkout-page #payment .moneo-pay-icons--brands img.stripe-brand-icon {
  height: 20px;
  max-height: 20px;
  max-width: 34px;
  padding: 3px 4px;
}

.checkout-page #payment .payment_methods li.is-stripe label.option.active {
  border-color: var(--gold-dim);
  background: rgba(212, 175, 55, 0.08);
}

@media (max-width: 640px) {
  .checkout-main #payment .option {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .checkout-main #payment .option > .option-body {
    flex: 1 1 calc(100% - 34px);
  }

  .checkout-main #payment .option > .option-icons {
    flex: 1 1 100%;
    justify-content: flex-start;
    max-width: none;
    padding-left: 32px;
  }
}

/* Stripe UPE — jeden kontener, bez zagnieżdżonych ramek i pustych error boxów. */
.checkout-page #payment .payment_box.payment_method_stripe {
  padding: 12px 14px;
  background: var(--bg-card-2);
  border-color: var(--border);
}

/* Gdy wybrana płatność na miejscu — schowaj formularz Stripe. */
.checkout-page #payment:has(#payment_method_cod:checked) .payment_box.payment_method_stripe {
  display: none !important;
}

.checkout-page #payment:has(#payment_method_stripe:checked) .payment_box.payment_method_stripe {
  display: block !important;
}

.checkout-page #payment .payment_box fieldset#wc-stripe-upe-form,
.checkout-page #payment .payment_box fieldset.wc-upe-form,
.checkout-page #payment .payment_box fieldset.wc-payment-form {
  border: 0;
  margin: 0;
  padding: 0;
  min-inline-size: 0;
  background: transparent;
}

.checkout-page #payment .payment_box fieldset#wc-stripe-upe-form > legend,
.checkout-page #payment .payment_box fieldset.wc-upe-form > legend,
.checkout-page #payment .payment_box fieldset.wc-payment-form > legend {
  display: none;
}

.checkout-page #payment .wc-stripe-upe-element {
  margin: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.checkout-page #payment .wc-stripe-upe-element iframe {
  max-width: none !important;
}

/* Domyślnie bez ramki — whitespace w divie psuje :empty. */
.checkout-page #payment #wc-stripe-upe-errors,
.checkout-page #payment .wc-stripe-error {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  min-height: 0;
  color: #fecaca;
  font-size: 13px;
  line-height: 1.45;
}

.checkout-page #payment #wc-stripe-upe-errors:not(:has(*)),
.checkout-page #payment .wc-stripe-error:not(:has(*)) {
  display: none !important;
}

.checkout-page #payment #wc-stripe-upe-errors:has(*),
.checkout-page #payment .wc-stripe-error:has(*) {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(248, 113, 113, 0.35);
  background: rgba(248, 113, 113, 0.08);
}

.checkout-page #payment .testmode-info {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  border: 1px dashed rgba(212, 175, 55, 0.35);
  background: rgba(212, 175, 55, 0.06);
  color: var(--text-muted);
  font-size: 12.5px;
  line-height: 1.5;
}

.checkout-page #payment .woocommerce-SavedPaymentMethods,
.checkout-page #payment ul.woocommerce-SavedPaymentMethods {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.checkout-page #payment .woocommerce-SavedPaymentMethods li {
  margin: 0;
}

.checkout-page #payment .woocommerce-SavedPaymentMethods label {
  display: flex;
  align-items: center;
  gap: 10px;
  width: auto;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.02);
  cursor: pointer;
  font-size: 13.5px;
  color: var(--text-heading);
}

.checkout-page #payment .woocommerce-SavedPaymentMethods-saveNew {
  margin: 12px 0 0;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--text);
  font-size: 13px;
}

.checkout-page #payment .woocommerce-SavedPaymentMethods-saveNew input {
  width: auto;
  margin-top: 3px;
  accent-color: var(--gold);
}

.checkout-page #payment .wc-stripe-redirect-notice {
  color: var(--text) !important;
  font-family: inherit !important;
  font-size: 13.5px !important;
  padding: 8px 0 0 !important;
  border: 0 !important;
}

/* OC: nie chowaj radio Stripe — ma być zwykłą opcją obok COD. */
.checkout-page #payment .payment_methods li.wc-stripe-optimized-checkout > label.option[for='payment_method_stripe'] {
  display: flex !important;
}

.checkout-page #payment .payment_methods li.wc-stripe-optimized-checkout input#payment_method_stripe {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
}

.checkout-summary .woocommerce-terms-and-conditions-wrapper {
  margin: 12px 0 0;
}

.checkout-summary .moneo-terms-row {
  margin: 0 0 8px;
}

.checkout-summary .woocommerce-privacy-policy-text {
  display: none;
}

/* Ukryj duplikat podsumowania Woo */
.checkout-page .woocommerce-checkout-review-order-table {
  display: none !important;
}

/* —— Auth / Moje konto —— */
.auth-page {
  padding-top: 12px;
  padding-bottom: 48px;
}

.auth-lead {
  margin: 0 0 24px;
  color: var(--text-muted);
  max-width: 42rem;
}

.auth-dev-hint {
  margin: -12px 0 20px;
  max-width: 42rem;
}

.auth-dev-hint code {
  font-size: 12px;
  color: var(--gold-bright);
}

.auth-layout {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  max-width: 720px;
  margin: 0;
  align-items: stretch;
}

.auth-layout--narrow {
  max-width: 560px;
}

.moneo-auth-card {
  padding: 22px 22px 20px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-sizing: border-box;
  width: 100%;
}

.auth-tabs {
  display: flex;
  gap: 8px;
  margin: 0;
}

.auth-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border-radius: var(--radius-pill);
  border: 1px solid var(--border);
  background: var(--bg-card);
  color: var(--text-muted);
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  transition:
    border-color 0.15s,
    color 0.15s,
    background 0.15s;
}

.auth-tab:hover {
  color: var(--text-heading);
  border-color: var(--border-strong);
}

.auth-tab.active {
  color: var(--text-heading);
  border-color: var(--gold-dim);
  background: rgba(212, 175, 55, 0.08);
}

.auth-panel h2 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.35rem;
  margin: 0 0 16px;
  color: var(--text-heading);
}

/* Auth — układ pól 1:1 z formularzem edycji adresu */
.moneo-auth-form.checkout-main {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.moneo-auth-form.checkout-main label:not(.form-checkbox) {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-weight: inherit;
  margin: 0;
}

.moneo-auth-form.checkout-main label:not(.form-checkbox) > span:not(.required):not(.optional) {
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: none;
  color: var(--text-muted);
  margin: 0;
  line-height: 1.35;
}

.moneo-auth-form.checkout-main .input-text,
.moneo-auth-form.checkout-main input:not([type='checkbox']) {
  border: 1px solid var(--border);
  background: var(--bg-elevated);
}

.moneo-auth-form.checkout-main .form-row {
  margin-bottom: 0;
}

.moneo-auth-form.checkout-main .moneo-auth-password-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

@media (max-width: 600px) {
  .moneo-auth-form.checkout-main .moneo-auth-password-row {
    grid-template-columns: 1fr;
  }
}

.moneo-auth-form.checkout-main .form-full {
  margin-bottom: 0;
}

.moneo-auth-form.checkout-main .form-note {
  margin: -4px 0 0;
  font-size: 13px;
  line-height: 1.45;
  color: var(--text-muted);
}

.moneo-auth-form.checkout-main .form-note--lead {
  margin: 0;
}

.moneo-auth-form.checkout-main .form-checkbox {
  margin: 2px 0 0;
}

.moneo-auth-form.checkout-main .auth-lost {
  margin: 0;
}

.auth-form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 4px;
  padding-top: 4px;
}

.auth-form-actions--end {
  justify-content: flex-end;
}

.auth-lost {
  margin: 12px 0 0;
  font-size: 14px;
}

.auth-lost a {
  color: var(--gold);
}

.auth-benefits {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 16px;
}

.auth-benefits li {
  display: grid;
  gap: 4px;
}

.auth-benefits strong {
  color: var(--text-heading);
  font-size: 15px;
}

.auth-benefits span {
  color: var(--text-muted);
  font-size: 14px;
}

.auth-aside-foot {
  margin: 20px 0 0;
  font-size: 14px;
  color: var(--text-muted);
}

.auth-aside-foot a {
  color: var(--gold);
}

.auth-dashboard {
  display: grid;
  grid-template-columns: minmax(200px, 240px) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.auth-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 4px;
}

.auth-nav a {
  display: block;
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  color: var(--text-muted);
  text-decoration: none;
  font-weight: 500;
  transition:
    background 0.15s,
    color 0.15s;
}

.auth-nav-logout a {
  color: #fca5a5;
}

.auth-dashboard-panel {
  margin-bottom: 0;
}

.auth-dashboard-panel > h2,
.moneo-account-orders > h2,
.moneo-addresses > h2,
.moneo-edit-account > h2,
.moneo-edit-address > h2 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.35rem;
  margin: 0 0 16px;
  color: var(--text-heading);
}

.moneo-order-details > h2,
.moneo-order-notes-block > h2 {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 500;
  margin: 28px 0 12px;
  color: var(--text-heading);
}

.moneo-order-details {
  padding: 0;
  background: transparent;
  border: none;
}

/* Checkout — spójność z koszykiem (ciemny motyw, pola, podsumowanie) */
body.woocommerce-checkout {
  background: var(--bg-deep);
}

/* Duplikaty komunikatów Woo poza szablonem motywu */
body.woocommerce-checkout main > .woocommerce-notices-wrapper {
  display: none !important;
}

.checkout-page .checkout-alerts,
.checkout-page form.checkout > .woocommerce-NoticeGroup {
  margin: 0 0 12px;
  width: 100%;
}

.checkout-page form.checkout > .woocommerce-notices-wrapper,
.checkout-page form.checkout > #customer_details,
.checkout-page .checkout-main > .woocommerce-NoticeGroup,
.checkout-page .checkout-main > .woocommerce-notices-wrapper {
  display: none !important;
}

/* Duplikat Woo — gdy motyw już pokazał błędy w .checkout-alerts */
.checkout-page:has(.checkout-alerts .woocommerce-error) form.checkout > .woocommerce-NoticeGroup,
.checkout-page:has(.checkout-alerts .woocommerce-message) form.checkout > .woocommerce-NoticeGroup,
.checkout-page:has(.checkout-alerts .woocommerce-info) form.checkout > .woocommerce-NoticeGroup {
  display: none !important;
}

.checkout-page .checkout-alerts:empty {
  display: none;
  margin: 0;
}

.checkout-page .checkout-alerts .woocommerce-error,
.checkout-page .checkout-alerts .woocommerce-message,
.checkout-page .checkout-alerts .woocommerce-info,
.checkout-page form.checkout > .woocommerce-NoticeGroup .woocommerce-error,
.checkout-page form.checkout > .woocommerce-NoticeGroup .woocommerce-message,
.checkout-page form.checkout > .woocommerce-NoticeGroup .woocommerce-info {
  margin: 0 0 10px;
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  font-size: 14px;
  line-height: 1.5;
  list-style: none;
}

.checkout-page .checkout-alerts .woocommerce-error:last-child,
.checkout-page .checkout-alerts .woocommerce-message:last-child,
.checkout-page .checkout-alerts .woocommerce-info:last-child,
.checkout-page form.checkout > .woocommerce-NoticeGroup .woocommerce-error:last-child,
.checkout-page form.checkout > .woocommerce-NoticeGroup .woocommerce-message:last-child,
.checkout-page form.checkout > .woocommerce-NoticeGroup .woocommerce-info:last-child {
  margin-bottom: 0;
}

.checkout-page .checkout-alerts .woocommerce-error,
.checkout-page form.checkout > .woocommerce-NoticeGroup .woocommerce-error {
  border: 1px solid rgba(248, 113, 113, 0.45);
  background: rgba(248, 113, 113, 0.1);
  color: #fecaca;
}

.checkout-page .checkout-alerts .woocommerce-error li,
.checkout-page form.checkout > .woocommerce-NoticeGroup .woocommerce-error li {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  color: inherit;
}

.checkout-page .moneo-checkout-login-prompt {
  margin: 0 0 20px;
  padding: 14px 18px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.checkout-page .moneo-checkout-login-prompt p {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--text-muted);
}

.checkout-page .moneo-checkout-login-prompt a {
  color: var(--gold-bright);
  font-weight: 600;
  text-decoration: none;
}

.checkout-page .moneo-checkout-login-prompt a:hover {
  text-decoration: underline;
}

/* Etykiety checkout — styl jak Moje konto → Adresy */
.checkout-page .moneo-checkout-fields .form-row > label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: none;
  color: var(--text-muted);
  margin: 0;
  line-height: 1.35;
}

.checkout-page .moneo-checkout-fields .form-row > label .required,
.checkout-page .moneo-checkout-fields .form-row > label abbr.required {
  display: inline;
  margin-left: 2px;
  color: var(--gold-dim);
  text-decoration: none;
  border: none;
  font-size: inherit;
  line-height: inherit;
}

.checkout-page .moneo-checkout-fields .form-row > label .optional,
.checkout-page .moneo-checkout-fields .form-row > label span.optional {
  display: inline;
  margin-left: 2px;
  color: var(--text-muted);
  font-weight: 600;
  font-size: inherit;
}

.checkout-page .woocommerce form .form-row label {
  margin-bottom: 0;
}

.checkout-page .moneo-field-notes textarea {
  min-height: 100px;
  resize: vertical;
  line-height: 1.5;
}

.checkout-page .woocommerce-checkout .moneo-checkout-fields .input-text,
.checkout-page .woocommerce-checkout .moneo-checkout-fields input[type='email'],
.checkout-page .woocommerce-checkout .moneo-checkout-fields input[type='tel'],
.checkout-page .woocommerce-checkout .moneo-checkout-fields input[type='text'],
.checkout-page .woocommerce-checkout .moneo-checkout-fields select,
.checkout-page .woocommerce-checkout .moneo-checkout-fields textarea {
  background-color: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  color: var(--text-heading) !important;
  box-shadow: none;
}

.checkout-page .woocommerce-checkout .moneo-checkout-fields .input-text:focus,
.checkout-page .woocommerce-checkout .moneo-checkout-fields input[type='email']:focus,
.checkout-page .woocommerce-checkout .moneo-checkout-fields input[type='tel']:focus,
.checkout-page .woocommerce-checkout .moneo-checkout-fields input[type='text']:focus,
.checkout-page .woocommerce-checkout .moneo-checkout-fields select:focus,
.checkout-page .woocommerce-checkout .moneo-checkout-fields textarea:focus {
  outline: none;
  border-color: var(--gold-dim) !important;
  background-color: rgba(212, 175, 55, 0.06) !important;
}

.checkout-page .woocommerce-checkout .moneo-checkout-fields input:-webkit-autofill,
.checkout-page .woocommerce-checkout .moneo-checkout-fields input:-webkit-autofill:hover,
.checkout-page .woocommerce-checkout .moneo-checkout-fields input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px var(--bg-elevated) inset !important;
  -webkit-text-fill-color: var(--text-heading) !important;
  caret-color: var(--text-heading);
  transition: background-color 99999s ease-in-out 0s;
}

.checkout-page .woocommerce-checkout .moneo-checkout-fields .woocommerce-invalid .input-text,
.checkout-page .woocommerce-checkout .moneo-checkout-fields .woocommerce-invalid select,
.checkout-page .woocommerce-checkout .moneo-checkout-fields .woocommerce-invalid textarea {
  border-color: rgba(248, 113, 113, 0.55);
  background: rgba(248, 113, 113, 0.05);
}

.checkout-page .woocommerce-checkout .moneo-checkout-fields .woocommerce-error,
.checkout-page .woocommerce-checkout .moneo-checkout-fields .form-row .woocommerce-error {
  margin: 6px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fca5a5;
  font-size: 12px;
  list-style: none;
}

.checkout-page .woocommerce-checkout #customer_details {
  display: none;
}

.checkout-page .checkout-payment {
  margin: 0;
}

.checkout-page .checkout-payment .woocommerce-checkout-payment {
  margin: 0;
}

.checkout-page .checkout-payment .woocommerce-info,
.checkout-page .checkout-payment .woocommerce-message,
.checkout-page .checkout-payment .woocommerce-error {
  margin-bottom: 0;
}

.checkout-page .checkout-footnote {
  margin: 12px 0 0;
  font-size: 11.5px;
  line-height: 1.4;
  color: var(--text-muted);
}

.checkout-page .checkout-section + .checkout-section {
  margin-top: 0;
}

.checkout-summary .woocommerce-terms-and-conditions-wrapper .form-row {
  display: block;
  margin: 0;
  padding: 0;
}

.checkout-summary .moneo-terms-row label.form-checkbox {
  align-items: flex-start;
}

.checkout-summary .moneo-terms-row .woocommerce-terms-and-conditions-checkbox-text {
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--text);
}

.checkout-summary .checkout-submit {
  width: 100%;
  min-height: 50px;
  font-size: 15px;
}

@media (max-width: 640px) {
  .checkout-page .moneo-checkout-fields--split,
  .checkout-page .moneo-checkout-fields--postal,
  .checkout-page .moneo-invoice-fields .moneo-checkout-fields--split {
    grid-template-columns: 1fr;
  }
}

.woocommerce-account .woocommerce-notices-wrapper {
  margin-bottom: 16px;
}

/* —— Konto zalogowane (dashboard, zamówienia, adresy…) —— */
body.woocommerce-account .woocommerce {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  margin: 0;
  border-radius: 0;
}

.auth-page--logged-in,
.moneo-account-page {
  padding-bottom: 60px;
}

.moneo-account-page .auth-dashboard {
  gap: 28px;
  grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
}

.moneo-account-page .auth-nav-panel {
  padding: 18px 14px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  position: sticky;
  top: 24px;
}

.auth-nav-panel {
  position: sticky;
  top: 24px;
}

.auth-nav-label {
  margin: 0 0 14px;
  padding: 0 10px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.auth-nav a {
  display: flex;
  align-items: center;
  gap: 10px;
}

.auth-nav-icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.04);
  color: var(--text-muted);
  transition:
    background 0.15s,
    color 0.15s;
}

.auth-nav-text {
  flex: 1;
  min-width: 0;
}

.moneo-account-page .auth-nav li.is-active a {
  color: var(--gold-bright);
  background: rgba(212, 175, 55, 0.1);
  font-weight: 600;
}

.moneo-account-page .auth-nav li.is-active .auth-nav-icon {
  background: rgba(212, 175, 55, 0.16);
  color: var(--gold-bright);
}

.moneo-account-page .auth-nav a:hover {
  color: var(--text-heading);
  background: rgba(255, 255, 255, 0.04);
}

.moneo-account-page .auth-nav a:hover .auth-nav-icon {
  color: var(--gold);
}

.auth-nav-logout {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--border);
}

.auth-nav-logout a:hover {
  background: rgba(248, 113, 113, 0.08);
}

.auth-nav-logout .auth-nav-icon {
  background: rgba(248, 113, 113, 0.1);
  color: #fca5a5;
}

.auth-dashboard-content {
  min-width: 0;
}

.auth-dashboard-content > p:first-child {
  display: none;
}

.auth-quick-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.auth-quick-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 16px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-card);
  text-decoration: none;
  transition:
    border-color 0.15s,
    transform 0.15s,
    box-shadow 0.15s;
}

.auth-quick-card:hover {
  border-color: color-mix(in srgb, var(--gold) 45%, var(--border));
  transform: translateY(-1px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}

.auth-quick-card:hover .auth-quick-card__icon {
  background: rgba(212, 175, 55, 0.16);
  color: var(--gold-bright);
}

.auth-quick-card__icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: var(--radius-sm);
  background: rgba(212, 175, 55, 0.1);
  color: var(--gold);
  transition:
    background 0.15s,
    color 0.15s;
}

.auth-quick-card__body {
  display: grid;
  flex: 1;
  gap: 4px;
  min-width: 0;
}

.auth-quick-card__body strong {
  color: var(--text-heading);
  font-size: 15px;
  font-weight: 600;
}

.auth-quick-card__body > span {
  color: var(--text-muted);
  font-size: 13px;
  line-height: 1.4;
}

.auth-quick-card__arrow {
  flex-shrink: 0;
  color: var(--text-muted);
  opacity: 0.5;
  transition:
    opacity 0.15s,
    color 0.15s,
    transform 0.15s;
}

.auth-quick-card:hover .auth-quick-card__arrow {
  opacity: 1;
  color: var(--gold);
  transform: translateX(2px);
}

.auth-quick-card--shop {
  border-color: color-mix(in srgb, var(--gold) 35%, var(--border));
  background: linear-gradient(145deg, rgba(212, 175, 55, 0.1) 0%, var(--bg-card) 55%);
}

.auth-quick-card--shop .auth-quick-card__body strong {
  color: var(--gold-bright);
}

.auth-endpoint-panel,
.auth-dashboard-panel:not(.moneo-auth-card) {
  padding: 0;
}

.moneo-account-page .auth-endpoint-panel,
.moneo-account-page .moneo-account-orders,
.moneo-account-page .moneo-addresses,
.moneo-account-page .moneo-edit-account,
.moneo-account-page .moneo-edit-address,
.moneo-account-page .moneo-view-order {
  padding: 22px 22px 20px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.moneo-account-page .moneo-view-order.moneo-view-order--rich {
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
}

.moneo-account-page .moneo-view-order--rich .order-done-rich {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.moneo-account-page .moneo-view-order--rich .order-thankyou-details {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 22px;
}

@media (max-width: 900px) {
  .moneo-account-page .moneo-view-order--rich .order-thankyou-details {
    padding: 18px;
  }

  .moneo-account-page .auth-dashboard-content:has(.moneo-view-order--rich) {
    min-width: 0;
  }
}

@media (max-width: 640px) {
  .moneo-account-page .cart-h1 {
    font-size: 1.45rem;
    margin-bottom: 14px;
  }

  .moneo-account-page .moneo-view-order--rich .order-done-rich {
    padding: 20px 14px;
  }

  .moneo-account-page .moneo-view-order--rich .order-thankyou-details {
    padding: 16px 14px;
  }

  .moneo-account-page .moneo-view-order--rich .order-done-title {
    font-size: 1.3rem;
  }
}

.moneo-orders-table-wrap {
  overflow-x: auto;
  margin-top: 4px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
}

.moneo-account-page .moneo-address-card,
.moneo-account-page .auth-address-card {
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.02);
  border-bottom: 1px solid var(--border);
}

.moneo-account-page .moneo-address-grid .moneo-address-card:last-child {
  border-bottom: 1px solid var(--border);
}

.auth-page--logged-in .checkout-section {
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
}

.auth-endpoint-title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.35rem;
  margin: 0 0 18px;
  color: var(--text-heading);
}

.auth-subtitle {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 500;
  margin: 24px 0 12px;
  color: var(--text-heading);
}

.auth-empty-state {
  display: grid;
  gap: 16px;
  justify-items: start;
  padding: 8px 0;
}

.auth-empty-state p {
  margin: 0;
  color: var(--text-muted);
  font-size: 15px;
}

.auth-fieldset {
  margin: 8px 0 0;
  padding: 18px 0 0;
  border: none;
  border-top: 1px solid var(--border);
}

.auth-fieldset legend {
  padding: 0;
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--text-heading);
  margin-bottom: 12px;
}

.auth-address-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.auth-address-card,
.moneo-address-card {
  padding: 0 0 20px;
  border: none;
  background: transparent;
  border-bottom: 1px solid var(--border);
}

.moneo-address-grid .moneo-address-card:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.auth-address-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.auth-address-card-head h3 {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--text-heading);
}

.auth-address-body {
  font-style: normal;
  font-size: 14px;
  line-height: 1.55;
  color: var(--text-muted);
}

.auth-address-body br {
  display: block;
  content: '';
  margin-top: 4px;
}

.moneo-account-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 14px;
}

.moneo-account-table thead th {
  padding: 12px 14px;
  text-align: left;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted);
  border-bottom: 1px solid var(--border);
}

.moneo-account-table tbody td {
  padding: 14px;
  vertical-align: middle;
  border-bottom: 1px solid var(--border);
  color: var(--text);
}

.moneo-account-table tbody tr:last-child td {
  border-bottom: none;
}

.moneo-account-table tbody tr:hover td {
  background: rgba(255, 255, 255, 0.02);
}

.moneo-account-link {
  color: var(--gold-bright);
  font-weight: 600;
  text-decoration: none;
}

.moneo-account-link:hover {
  text-decoration: underline;
}

.moneo-order-status {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  font-size: 12px;
  font-weight: 600;
  background: var(--bg-card-2);
  border: 1px solid var(--border);
  color: var(--text-muted);
}

.moneo-order-status--completed,
.moneo-order-status--processing {
  border-color: rgba(74, 222, 128, 0.35);
  background: rgba(74, 222, 128, 0.1);
  color: #bbf7d0;
}

.moneo-order-status--on-hold,
.moneo-order-status--pending {
  border-color: rgba(212, 175, 55, 0.35);
  background: rgba(212, 175, 55, 0.1);
  color: var(--text-heading);
}

.moneo-order-status--cancelled,
.moneo-order-status--failed,
.moneo-order-status--refunded {
  border-color: rgba(248, 113, 113, 0.35);
  background: rgba(248, 113, 113, 0.08);
  color: #fecaca;
}

.auth-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

.auth-pagination-meta {
  font-size: 13px;
  color: var(--text-muted);
}

.auth-order-meta {
  margin: 0 0 20px;
  color: var(--text-muted);
  font-size: 14px;
}

.auth-order-notes {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
  display: grid;
  gap: 10px;
}

.auth-order-notes .comment-text {
  padding: 12px 14px;
  border-radius: var(--radius-sm);
  background: var(--bg-elevated);
  border: 1px solid var(--border);
}

.auth-order-notes .meta {
  margin: 0 0 6px;
  font-size: 12px;
  color: var(--text-muted);
}

.auth-back-link {
  margin: 20px 0 0;
}

.btn-sm {
  padding: 8px 14px;
  font-size: 13px;
}

/* Treść Woo w panelu konta */
.woocommerce-MyAccount-content p,
.woocommerce-MyAccount-content address {
  color: var(--text-muted);
  line-height: 1.55;
}

.woocommerce-MyAccount-content a:not(.btn):not(.auth-quick-card) {
  color: var(--gold);
  font-weight: 500;
}

.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-error {
  margin-bottom: 16px;
}

/* Edycja adresu — siatka pól (nadpisuje globalne .form-row 2-kolumnowe) */
.moneo-edit-address .moneo-address-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 14px;
}

.moneo-edit-address .moneo-address-fields .form-row {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  margin: 0;
  padding: 0;
  float: none;
  width: 100%;
  min-width: 0;
}

.moneo-edit-address .moneo-address-fields .form-row-wide,
.moneo-edit-address .moneo-address-fields .moneo-addr-country,
.moneo-edit-address .moneo-address-fields .moneo-addr-street,
.moneo-edit-address .moneo-address-fields .moneo-addr-street2,
.moneo-edit-address .moneo-address-fields .moneo-addr-company,
.moneo-edit-address .moneo-address-fields .moneo-addr-state {
  grid-column: 1 / -1;
}

.moneo-edit-address .moneo-address-fields .form-row label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: none;
  color: var(--text-muted);
  margin: 0;
  line-height: 1.35;
}

.moneo-edit-address-form.moneo-auth-form.checkout-main .moneo-address-fields label {
  margin-bottom: 0;
}

.moneo-edit-address .moneo-address-fields .moneo-addr-street2 {
  margin-top: -10px;
}

.moneo-edit-address .moneo-address-fields .moneo-addr-street2 label.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.moneo-edit-address .moneo-address-fields label .required,
.moneo-edit-address .moneo-address-fields abbr.required {
  display: inline;
  margin-left: 2px;
  color: var(--gold-dim);
  text-decoration: none;
  border: none;
  font-size: inherit;
  line-height: inherit;
}

.moneo-edit-address .moneo-address-fields .woocommerce-input-wrapper {
  display: block;
  width: 100%;
}

/* Natywny select — wspólny wygląd (kontakt, edycja adresu) */
.moneo-select,
select.moneo-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 100%;
  box-sizing: border-box;
  padding: 12px 40px 12px 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background-color: var(--bg-elevated);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23868d9d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 18px;
  color: var(--text-heading);
  font: inherit;
  cursor: pointer;
  color-scheme: dark;
  transition:
    border-color 0.15s ease,
    background-color 0.15s ease;
}

.moneo-select:hover,
select.moneo-select:hover {
  border-color: var(--border-strong);
}

.moneo-select:focus,
select.moneo-select:focus {
  outline: none;
  border-color: var(--gold-dim);
  background-color: rgba(212, 175, 55, 0.06);
}

.moneo-select:focus-visible,
select.moneo-select:focus-visible {
  outline: 2px solid rgba(212, 175, 55, 0.35);
  outline-offset: 2px;
}

.moneo-select option,
select.moneo-select option {
  background: var(--bg-card);
  color: var(--text-heading);
}

.moneo-edit-address .moneo-address-fields .input-text,
.moneo-edit-address .moneo-address-fields select:not(.moneo-select) {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--bg-elevated);
  color: var(--text-heading);
  font: inherit;
}

.moneo-edit-address-form.moneo-auth-form .moneo-addr-country select.moneo-select,
.moneo-edit-address .moneo-addr-country select.country_to_state,
.woocommerce-account .moneo-edit-address select.moneo-select {
  border: 1px solid var(--border) !important;
  background-color: var(--bg-elevated) !important;
  color: var(--text-heading) !important;
  box-shadow: none;
}

.moneo-edit-address-form.moneo-auth-form .moneo-addr-country select.moneo-select:focus,
.moneo-edit-address .moneo-addr-country select.country_to_state:focus,
.woocommerce-account .moneo-edit-address select.moneo-select:focus {
  border-color: var(--gold-dim) !important;
  background-color: rgba(212, 175, 55, 0.06) !important;
  color: var(--text-heading) !important;
}

/* Ukryj ewentualny pozostały kontener SelectWoo */
.moneo-edit-address .select2-container {
  display: none !important;
}

.moneo-edit-address select.country_to_state {
  display: block !important;
  width: 100% !important;
}

.moneo-edit-address .moneo-address-fields .input-text:focus,
.moneo-edit-address .moneo-address-fields select:not(.moneo-select):focus {
  outline: none;
  border-color: var(--gold-dim);
  background-color: rgba(212, 175, 55, 0.06);
}

.moneo-edit-address-form .auth-form-actions,
.moneo-edit-account-form .auth-form-actions,
.moneo-contact-form .auth-form-actions {
  margin-top: 20px;
}

/* Dane konta — pola .moneo-field (label + input osobno, bez konfliktów checkout-main) */
.moneo-edit-account .moneo-edit-account-form {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.moneo-edit-account .moneo-account-fields--profile,
.moneo-contact-form .moneo-account-fields--profile {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 14px;
}

.moneo-edit-account .moneo-account-fields--profile .moneo-field-wide,
.moneo-contact-form .moneo-account-fields--profile .moneo-field-wide {
  grid-column: 1 / -1;
}

.moneo-edit-account .moneo-field,
.moneo-contact-form .moneo-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  margin: 0;
}

.moneo-edit-account .moneo-field > label,
.moneo-contact-form .moneo-field > label {
  display: block;
  margin: 0;
  padding: 0;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: none;
  color: var(--text-muted);
  line-height: 1.35;
}

.moneo-edit-account .moneo-field .required,
.moneo-contact-form .moneo-field .required {
  color: var(--gold-dim);
}

.moneo-edit-account .moneo-field-stack {
  gap: 8px;
}

.moneo-edit-account .moneo-field-stack .form-note {
  margin: 2px 0 0;
  padding: 0;
  font-size: 13px;
  line-height: 1.45;
  color: var(--text-muted);
}

.moneo-edit-account .moneo-field .input-text,
.moneo-contact-form .moneo-field .input-text,
.moneo-contact-form .moneo-field select.input-text:not(.moneo-select) {
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 12px 14px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--bg-elevated);
  color: var(--text-heading);
  font: inherit;
}

.moneo-edit-account .moneo-field .input-text:focus,
.moneo-contact-form .moneo-field .input-text:focus,
.moneo-contact-form .moneo-field select.input-text:not(.moneo-select):focus {
  outline: none;
  border-color: var(--gold-dim);
  background-color: rgba(212, 175, 55, 0.06);
}

.moneo-edit-account .moneo-field .input-text::placeholder,
.moneo-contact-form .moneo-field .input-text::placeholder {
  color: var(--text-muted);
  opacity: 0.75;
}

.moneo-contact-form .moneo-field .input-text:-webkit-autofill,
.moneo-contact-form .moneo-field .input-text:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px var(--bg-elevated) inset !important;
  -webkit-text-fill-color: var(--text-heading) !important;
  caret-color: var(--text-heading);
}

.moneo-edit-account .moneo-account-password {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 28px 0 0;
  padding: 24px 0 0;
  border: none;
  border-top: 1px solid var(--border);
}

.moneo-edit-account .moneo-account-password legend {
  display: block;
  width: 100%;
  margin: 0 0 4px;
  padding: 0;
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--text-heading);
}

.moneo-edit-account .moneo-account-password .moneo-auth-password-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
}

@media (max-width: 900px) {
  .auth-dashboard,
  .moneo-account-page .auth-dashboard {
    grid-template-columns: 1fr;
  }

  .auth-nav-panel,
  .moneo-account-page .auth-nav-panel {
    position: static;
  }

  .moneo-account-page .auth-nav ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .auth-nav-logout {
    grid-column: 1 / -1;
  }

  .auth-quick-links,
  .auth-address-grid {
    grid-template-columns: 1fr;
  }

  .moneo-edit-address .moneo-address-fields {
    grid-template-columns: 1fr;
  }

  .moneo-edit-address .moneo-address-fields .form-row-first,
  .moneo-edit-address .moneo-address-fields .form-row-last {
    grid-column: 1 / -1;
  }

  .moneo-edit-account .moneo-account-fields--profile,
  .moneo-edit-account .moneo-account-password .moneo-auth-password-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .moneo-account-table thead {
    display: none;
  }

  .moneo-account-table tbody tr {
    display: block;
    margin-bottom: 12px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--bg-elevated);
  }

  .moneo-account-table tbody td {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
    border: none;
  }

  .moneo-account-table tbody td::before {
    content: attr(data-title);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted);
    flex-shrink: 0;
  }
}

/* Strony CMS + formularze */

.moneo-page {
  padding-block: 12px 60px;
}

.moneo-page > .breadcrumb {
  margin-bottom: 12px;
}

.auth-page > .breadcrumb:first-child {
  margin-bottom: 12px;
}

.moneo-page-content {
  color: var(--text-muted);
  font-size: 15px;
  line-height: 1.65;
}

.moneo-page-content h2 {
  margin: 1.5em 0 0.5em;
  font-family: var(--font-display);
  font-size: 1.15rem;
  color: var(--text-heading);
}

.moneo-notice {
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  margin-bottom: 16px;
  font-size: 14px;
}

.moneo-notice--ok {
  background: rgba(74, 222, 128, 0.12);
  border: 1px solid rgba(74, 222, 128, 0.35);
  color: #bbf7d0;
}

.moneo-notice--err {
  background: rgba(248, 113, 113, 0.1);
  border: 1px solid rgba(248, 113, 113, 0.35);
  color: #fecaca;
}

.moneo-notice--warn {
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  color: var(--gold-bright);
}

/* —— Kontakt —— */

.moneo-page--contact .moneo-page-content {
  margin-bottom: 20px;
}

.moneo-contact-hero {
  margin: 0 0 24px;
  padding: 16px 18px;
  border-radius: var(--radius);
  border: 1px solid color-mix(in srgb, var(--gold) 25%, var(--border));
  background: linear-gradient(145deg, rgba(212, 175, 55, 0.08) 0%, rgba(255, 255, 255, 0.02) 55%);
}

.moneo-contact-hero p {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: var(--text-muted);
}

.moneo-page--contact .moneo-notice {
  margin-bottom: 20px;
}

.moneo-contact {
  margin-top: 4px;
}

.moneo-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
  gap: 24px;
  align-items: start;
}

.moneo-contact-panel.checkout-section {
  margin: 0;
}

.moneo-contact-panel .form-note--lead {
  margin: 0 0 18px;
}

.moneo-contact-panel .moneo-notice {
  margin-bottom: 16px;
}

.moneo-contact-form.moneo-auth-form {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.moneo-contact-form .moneo-contact-fields {
  margin-bottom: 4px;
}

.moneo-contact-form .moneo-field textarea.input-text {
  min-height: 140px;
  resize: vertical;
  line-height: 1.5;
}

.moneo-contact-form .moneo-field select.moneo-select {
  /* Wygląd z .moneo-select — tylko nadpisanie tła kontekstu formularza. */
  background-color: var(--bg-elevated);
}

.moneo-contact-aside.checkout-section {
  margin: 0;
  padding: 22px 22px 20px;
}

.moneo-contact-aside__title {
  margin: 0 0 16px;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.15rem;
  color: var(--text-heading);
}

.moneo-contact-channels {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}

.moneo-contact-channel {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 14px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.02);
}

.moneo-contact-channel__icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--radius-sm);
  background: rgba(212, 175, 55, 0.12);
  color: var(--gold);
}

.moneo-contact-channel__body {
  display: grid;
  gap: 4px;
  min-width: 0;
  font-size: 14px;
  line-height: 1.45;
}

.moneo-contact-channel__body strong {
  color: var(--text-heading);
  font-size: 13px;
  font-weight: 600;
}

.moneo-contact-channel__body a {
  color: var(--gold-bright);
  font-weight: 500;
  text-decoration: none;
}

.moneo-contact-channel__body a:hover {
  text-decoration: underline;
}

.moneo-contact-channel__body > span {
  color: var(--text-muted);
}

.moneo-contact-aside__note {
  margin: 16px 0 0;
  padding: 12px 14px;
  border-radius: var(--radius-sm);
  font-size: 13px;
  line-height: 1.45;
  color: var(--text-muted);
  background: rgba(212, 175, 55, 0.08);
  border: 1px solid rgba(212, 175, 55, 0.2);
}

.search-inline {
  max-width: 420px;
  margin-top: 12px;
}

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

  .moneo-contact-form .moneo-account-fields--profile {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .moneo-page {
    padding-block: 8px calc(40px + env(safe-area-inset-bottom, 0px));
  }

  .moneo-page-content {
    font-size: 14px;
    line-height: 1.6;
  }

  .moneo-page-content :is(img, video, iframe) {
    max-width: 100%;
    height: auto;
  }

  .moneo-page-content :is(table, pre) {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .moneo-page-content table {
    width: max-content;
    min-width: 100%;
  }

  .moneo-contact-hero {
    padding: 14px 16px;
  }

  .moneo-contact-aside {
    padding: 18px 16px;
  }

  .moneo-contact-form .moneo-field .input-text,
  .moneo-contact-form .moneo-field select.input-text,
  .moneo-contact-form .moneo-field textarea.input-text {
    font-size: 16px;
  }

  .moneo-contact-form .auth-form-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .moneo-contact-form .auth-form-actions .btn {
    width: 100%;
  }

  .auth-page {
    padding-bottom: calc(32px + env(safe-area-inset-bottom, 0px));
  }

  .auth-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
    margin-bottom: 16px;
  }

  .auth-tab {
    flex-shrink: 0;
  }

  .moneo-account-page .auth-nav ul {
    grid-template-columns: 1fr;
  }
}

/* Zbieranie na sztabkę — panel konta */
.bar-savings-lead {
  margin: 0 0 24px;
  font-size: 15px;
  line-height: 1.55;
  color: var(--text-muted);
  max-width: 52rem;
}

.bar-savings-target {
  width: 100%;
  max-width: 320px;
  margin: 20px auto 0;
  padding-top: 18px;
  border-top: 1px solid var(--border);
}

.bar-savings-target__heading {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-heading);
  text-align: center;
}

.bar-savings-target-select {
  position: relative;
  width: 100%;
}

.bar-savings-target-select__native {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.bar-savings-target-select__trigger {
  display: grid;
  grid-template-columns: 48px 1fr 16px;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--bg-elevated);
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.bar-savings-target-select__trigger:hover,
.bar-savings-target-select.is-open .bar-savings-target-select__trigger {
  border-color: rgba(212, 175, 55, 0.55);
}

.bar-savings-target-select.is-open .bar-savings-target-select__trigger {
  box-shadow: 0 0 0 1px rgba(212, 175, 55, 0.25);
}

.bar-savings-target-select__thumb,
.bar-savings-target-select__option-thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(212, 175, 55, 0.1), rgba(0, 0, 0, 0.18));
}

.bar-savings-target-select__thumb {
  width: 48px;
  height: 48px;
}

.bar-savings-target-select__thumb img,
.bar-savings-target-select__option-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.bar-savings-target-select__label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-heading);
  line-height: 1.35;
}

.bar-savings-target-select__price {
  display: block;
  margin-top: 2px;
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--gold-bright);
}

.bar-savings-target-select__chevron {
  width: 8px;
  height: 8px;
  border-right: 1.5px solid var(--text-muted);
  border-bottom: 1.5px solid var(--text-muted);
  transform: rotate(45deg) translateY(-2px);
  transition: transform 0.2s ease;
}

.bar-savings-target-select.is-open .bar-savings-target-select__chevron {
  transform: rotate(-135deg) translateY(2px);
}

.bar-savings-target-select__list {
  position: absolute;
  z-index: 20;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  margin: 0;
  padding: 6px;
  list-style: none;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--bg-elevated);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
  max-height: 280px;
  overflow-y: auto;
}

.bar-savings-target-select__option {
  display: grid;
  grid-template-columns: 40px 1fr;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.15s ease;
}

.bar-savings-target-select__option:hover,
.bar-savings-target-select__option.is-selected {
  background: rgba(212, 175, 55, 0.1);
}

.bar-savings-target-select__option-thumb {
  width: 40px;
  height: 40px;
}

.bar-savings-target-select__option-body strong {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-heading);
  line-height: 1.35;
}

.bar-savings-target-select__option-body span {
  display: block;
  margin-top: 1px;
  font-size: 13px;
  color: var(--gold-bright);
}

.bar-savings-target-select.is-loading {
  opacity: 0.65;
  pointer-events: none;
}

.bar-savings-layout {
  display: grid;
  grid-template-columns: minmax(240px, 320px) 1fr;
  gap: 28px;
  align-items: start;
}

.bar-savings-layout__viz {
  padding: 24px 20px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--bg);
}

.bar-savings-card {
  padding: 20px 22px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--bg-elevated);
  margin-bottom: 16px;
}

.bar-savings-card__title {
  margin: 0 0 16px;
  font-size: 15px;
  font-weight: 600;
  color: var(--text-heading);
}

.bar-savings-alerts {
  margin: 0 0 4px;
  padding: 12px 14px;
  border-radius: var(--radius-sm);
  font-size: 13px;
  line-height: 1.45;
}

.bar-savings-alerts--ok {
  background: rgba(74, 222, 128, 0.12);
  border: 1px solid rgba(74, 222, 128, 0.35);
  color: #bbf7d0;
}

.bar-savings-alerts--err {
  background: rgba(248, 113, 113, 0.1);
  border: 1px solid rgba(248, 113, 113, 0.35);
  color: #fecaca;
}

.bar-savings-deposit-form.is-loading .btn {
  opacity: 0.65;
  pointer-events: none;
}

.bar-savings-deposit-form.checkout-main {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.bar-savings-deposit-form.checkout-main .form-full {
  margin-bottom: 0;
}

.bar-savings-bank {
  margin: 16px 0;
  padding: 14px;
  border-radius: var(--radius-sm);
  background: rgba(212, 175, 55, 0.06);
  border: 1px solid rgba(212, 175, 55, 0.18);
  font-size: 13px;
}

.bar-savings-bank dl {
  margin: 10px 0 0;
}

.bar-savings-bank div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 0;
}

.bar-savings-bank dt {
  margin: 0;
  color: var(--text-muted);
}

.bar-savings-bank dd {
  margin: 0;
  text-align: right;
}

.bar-savings-deposit-form .btn + .btn {
  margin-top: 8px;
}

.bar-savings-history {
  margin: 0;
  padding: 0;
  list-style: none;
}

.bar-savings-history__item {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6px;
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
  font-size: 14px;
}

.bar-savings-history__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.bar-savings-history__amount {
  font-weight: 600;
  color: var(--text-heading);
}

.bar-savings-history__meta {
  font-size: 12px;
  color: var(--text-muted);
}

.bar-savings-history__item--pending .bar-savings-history__amount {
  color: var(--text-muted);
}

.bar-savings-steps {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--border);
}

.bar-savings-steps h3 {
  margin: 0 0 12px;
  font-size: 15px;
}

.bar-savings-steps ol {
  margin: 0;
  padding-left: 1.25rem;
  color: var(--text-muted);
  font-size: 14px;
  line-height: 1.6;
}

.bar-savings-steps li + li {
  margin-top: 8px;
}

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

/* Snackbar — na końcu pliku, pełne krycie (nadpisuje .woocommerce-message z rgba) */
.moneo-ajax-notices-shell .moneo-snackbar-notices,
.moneo-ajax-notices-shell .moneo-ajax-notices .woocommerce-notices-wrapper {
  margin: 0;
  background: transparent;
}

.moneo-ajax-notices-shell .moneo-snackbar,
.moneo-ajax-notices-shell .moneo-ajax-notices .woocommerce-message.moneo-snackbar,
.moneo-ajax-notices-shell .moneo-ajax-notices ul.woocommerce-message.moneo-snackbar {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: auto;
  max-width: 100%;
  margin: 0;
  padding: 10px 12px 10px 16px;
  border-radius: 999px;
  font-size: 13px;
  min-width: min(100%, 340px);
  line-height: 1.35;
  font-weight: 600;
  list-style: none;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
  opacity: 1 !important;
  isolation: isolate;
}

.moneo-ajax-notices-shell .moneo-snackbar-text {
  flex: 1;
  min-width: 0;
}

.moneo-ajax-notices-shell .moneo-snackbar-close {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: inherit;
  cursor: pointer;
  opacity: 0.75;
  transition:
    opacity 0.15s ease,
    background 0.15s ease;
}

.moneo-ajax-notices-shell .moneo-snackbar-close:hover {
  opacity: 1;
  background: rgba(255, 255, 255, 0.1);
}

.moneo-ajax-notices-shell .moneo-snackbar-close svg {
  width: 16px;
  height: 16px;
}

.moneo-ajax-notices-shell .moneo-snackbar.woocommerce-message,
.moneo-ajax-notices-shell .moneo-ajax-notices ul.woocommerce-message.moneo-snackbar {
  border: 1px solid rgba(74, 222, 128, 0.5);
  background-color: #141721 !important;
  background-image: none !important;
  color: #86efac !important;
}

.moneo-ajax-notices-shell .moneo-ajax-notices ul.woocommerce-message.moneo-snackbar li {
  background: transparent;
  color: inherit;
}

.moneo-ajax-notices-shell .moneo-snackbar.woocommerce-info,
.moneo-ajax-notices-shell .moneo-ajax-notices ul.woocommerce-info.moneo-snackbar {
  border: 1px solid rgba(212, 175, 55, 0.5);
  background-color: #141721 !important;
  color: var(--text-heading) !important;
}

.moneo-ajax-notices-shell .moneo-snackbar.woocommerce-error,
.moneo-ajax-notices-shell .moneo-ajax-notices ul.woocommerce-error.moneo-snackbar {
  border: 1px solid rgba(248, 113, 113, 0.55);
  background-color: #141721 !important;
  color: #fecaca !important;
}

