/* ============================================================
   BATCH 10 — WooCommerce pages: centering, contrast, icons
   v2 — targets WooCommerce Blocks (cart/checkout) AND classic
   shortcode (my-account) separately.
   ============================================================ */

/* ── 0. BRAND TOKENS ────────────────────────────────────── */
:root {
  --kp-olive:    #2D3A12;
  --kp-olive2:   #4A5320;
  --kp-khaki:    #9C8A5A;
  --kp-gold:     #C9A84C;
  --kp-dark:     #1C1A17;
  --kp-parch:    #F0EAD2;
  --kp-parch2:   #E8E0C5;
  --kp-text:     #2A2820;
}

/* ── 1. PAGE-LEVEL BACKGROUND & CHROME ─────────────────── */
.woocommerce-cart,
.woocommerce-checkout,
.woocommerce-account {
  background-color: var(--kp-parch);
}

.woocommerce-cart .site-main,
.woocommerce-checkout .site-main,
.woocommerce-account .site-main {
  padding-top:    clamp(40px, 5vw, 72px);
  padding-bottom: clamp(64px, 8vw, 96px);
  min-height: 60vh;
}

/* ── 2. CENTERING — WooCommerce BLOCKS (cart + checkout) ── */
/* entry-content must be full-width so alignwide inside works */
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* The blocks themselves get the max-width + centering */
.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-checkout .wp-block-woocommerce-checkout {
  max-width: 1200px !important;
  margin-left:  auto !important;
  margin-right: auto !important;
  padding-left:  clamp(16px, 3vw, 48px) !important;
  padding-right: clamp(16px, 3vw, 48px) !important;
  box-sizing: border-box;
}

/* ── 3. CENTERING — CLASSIC SHORTCODE (my-account) ─────── */
.woocommerce-account .entry-content {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0 clamp(16px, 3vw, 48px);
  box-sizing: border-box;
}

.woocommerce-account .woocommerce {
  max-width: 1100px;
  margin-left:  auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}

/* My Account grid layout */
@media (min-width: 768px) {
  .woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: clamp(32px, 4vw, 64px);
    align-items: start;
  }
}

/* ── 4. MY ACCOUNT NAVIGATION ───────────────────────────── */
.woocommerce-account .woocommerce-MyAccount-navigation {
  border-right: 2px solid var(--kp-parch2);
  padding-right: 24px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  border-bottom: 1px solid rgba(45,58,18,0.12);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 10px 4px;
  font-family: 'Oswald', sans-serif;
  font-size: 0.82rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kp-olive);
  text-decoration: none;
  transition: color 0.15s, padding-left 0.15s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  color: #7A5A10; /* darker gold — passes WCAG AA on parchment */
  padding-left: 8px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--active a {
  color: #7A5A10; /* darker gold — passes WCAG AA on parchment */
  font-weight: 700;
}

/* ── 5. HEADINGS ────────────────────────────────────────── */
.woocommerce-cart h1, .woocommerce-cart h2, .woocommerce-cart h3,
.woocommerce-checkout h1, .woocommerce-checkout h2, .woocommerce-checkout h3,
.woocommerce-account h1, .woocommerce-account h2, .woocommerce-account h3 {
  font-family: 'Playfair Display', serif;
  color: var(--kp-dark);
  letter-spacing: 0.02em;
}

.woocommerce-cart h2,
.woocommerce-checkout h2,
.woocommerce-account h2 {
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  margin-bottom: 24px;
}

/* WC Blocks headings */
.wp-block-woocommerce-cart h2,
.wp-block-woocommerce-checkout h2 {
  font-family: 'Playfair Display', serif !important;
  color: var(--kp-dark) !important;
  font-size: clamp(1.2rem, 2vw, 1.6rem) !important;
  border-bottom: 1px solid var(--kp-parch2);
  padding-bottom: 12px;
  margin-bottom: 24px !important;
}

/* ── 6. BODY TEXT & LINKS ───────────────────────────────── */
.woocommerce-cart,
.woocommerce-checkout,
.woocommerce-account {
  color: var(--kp-text);
  font-family: 'Open Sans', sans-serif;
  font-size: 1rem;
  line-height: 1.65;
}

/* Scoped to #content: the site header and footer sit OUTSIDE that wrapper
   (header.php opens it, footer.php closes it). Unscoped, these page-level rules
   underlined KONTO/KOSZYK and repainted the footer headings parchment on
   cart/checkout/account, so the shared chrome did not match the rest of the site. */
.woocommerce-cart #content a,
.woocommerce-checkout #content a,
.woocommerce-account #content a {
  color: var(--kp-olive2);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.woocommerce-cart #content a:hover,
.woocommerce-checkout #content a:hover,
.woocommerce-account #content a:hover {
  color: #7A5A10; /* darker gold — passes WCAG AA on parchment */
}

/* ── 7. FORM FIELDS ─────────────────────────────────────── */
.woocommerce form .form-row label,
.wp-block-woocommerce-cart label,
.wp-block-woocommerce-checkout label,
.wc-block-components-form label,
.wc-block-components-text-input label {
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--kp-olive) !important;
  margin-bottom: 6px !important;
  display: block;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea,
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-textarea textarea {
  width: 100%;
  border: 1.5px solid rgba(45,58,18,0.3) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--kp-dark) !important;
  font-family: 'Open Sans', sans-serif !important;
  font-size: 0.95rem !important;
  padding: 10px 14px !important;
  box-sizing: border-box;
  transition: border-color 0.15s;
}
.woocommerce form .form-row input.input-text:focus,
.wc-block-components-text-input input:focus {
  outline: none !important;
  border-color: var(--kp-olive) !important;
  box-shadow: 0 0 0 3px rgba(45,58,18,0.1) !important;
}

/* ── 8. BUTTONS ─────────────────────────────────────────── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-checkout__actions_row button {
  background-color: var(--kp-olive) !important;
  color: #fff !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.88rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 13px 32px !important;
  cursor: pointer;
  transition: background 0.18s, color 0.18s !important;
  text-decoration: none !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.wc-block-components-button:hover {
  background-color: var(--kp-dark) !important;
  color: var(--kp-gold) !important;
}
/* Alt / primary action buttons */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.wc-block-cart__submit-button,
.wc-block-checkout__actions_row button[type="submit"] {
  background-color: var(--kp-gold) !important;
  color: var(--kp-dark) !important;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.wc-block-cart__submit-button:hover {
  background-color: var(--kp-olive) !important;
  color: #fff !important;
}

/* ── 9. CART TABLE ──────────────────────────────────────── */
.shop_table,
.woocommerce-cart-form table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}
.shop_table th {
  font-family: 'Oswald', sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kp-olive);
  border-bottom: 2px solid var(--kp-parch2);
  padding: 12px 16px;
  text-align: left;
}
.shop_table td {
  padding: 16px;
  border-bottom: 1px solid var(--kp-parch2);
  color: var(--kp-text);
  vertical-align: middle;
}
.shop_table tr:hover td {
  background: rgba(240,234,210,0.4);
}

/* ── 10. PRICES ─────────────────────────────────────────── */
.woocommerce-cart .woocommerce-Price-amount,
.woocommerce-checkout .woocommerce-Price-amount,
.woocommerce-account .woocommerce-Price-amount,
.wp-block-woocommerce-cart .woocommerce-Price-amount,
.wc-block-components-order-summary .wc-block-components-formatted-money-amount {
  font-family: 'Oswald', sans-serif !important;
  color: var(--kp-olive) !important;
  font-weight: 700 !important;
}

/* ── 11. ORDER SUMMARY TOTALS ───────────────────────────── */
.cart_totals h2,
.wc-block-cart__totals-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.25rem !important;
  color: var(--kp-dark) !important;
  margin-bottom: 16px !important;
}
.cart_totals table,
.wc-block-components-totals-wrapper {
  background: #fff;
  border: 1px solid var(--kp-parch2);
  padding: 16px;
}

/* ── 12. NOTICES ────────────────────────────────────────── */
.woocommerce-message,
.wc-block-components-notice-banner {
  background: rgba(201,168,76,0.15) !important;
  border-left: 4px solid var(--kp-gold) !important;
  color: var(--kp-dark) !important;
  border-radius: 0 !important;
  padding: 14px 20px !important;
  font-family: 'Open Sans', sans-serif !important;
  margin-bottom: 24px !important;
}
.woocommerce-error,
.wc-block-components-notice-banner.is-error {
  background: rgba(180,20,20,0.08) !important;
  border-left: 4px solid #b41414 !important;
}
.woocommerce-info,
.wc-block-components-notice-banner.is-info {
  background: rgba(45,58,18,0.08) !important;
  border-left: 4px solid var(--kp-olive) !important;
}

/* ── 13. SHOP ARCHIVE CENTERING ─────────────────────────── */
.kp-shop-archive .site-main {
  padding-top: clamp(32px, 4vw, 56px);
  padding-bottom: clamp(64px, 8vw, 96px);
}
.kp-shop-archive .entry-content {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 48px);
  box-sizing: border-box;
}

/* ── 14. HEADER CART + ACCOUNT ICONS ────────────────────── */
#kp-header-icons {
  position: fixed;
  top: 0;
  right: clamp(12px, 2vw, 32px);
  z-index: 10000;
  display: flex;
  align-items: center;
  gap: 4px;
  /* height is set by JS to match Elementor header height */
}

.kp-hicon {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 42px;
  height: 42px;
  color: #fff;
  text-decoration: none !important;
  border-radius: 0;
  transition: color 0.15s, background 0.15s;
  flex-shrink: 0;
}
.kp-hicon:hover {
  color: var(--kp-gold);
}

.kp-hicon svg {
  display: block;
  flex-shrink: 0;
}

.kp-hicon__badge {
  position: absolute;
  top: 4px;
  right: 2px;
  min-width: 18px;
  height: 18px;
  background: var(--kp-gold);
  color: var(--kp-dark);
  font-family: 'Oswald', sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
  padding: 0 4px;
  border-radius: 9px;
  display: none;
  pointer-events: none;
}
.kp-hicon__badge--visible {
  display: block;
}

/* Mobile: hide on very small screens (hamburger nav takes over) */
@media (max-width: 480px) {
  #kp-header-icons {
    right: 56px; /* leave room for Elementor hamburger */
  }
  .kp-hicon {
    width: 36px;
    height: 36px;
  }
  .kp-hicon svg {
    width: 18px;
    height: 18px;
  }
}

/* ── 15. PAGE TITLE (H1) OVERRIDES ─────────────────────── */
/* hello-elementor renders page titles as .entry-title */
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title {
  font-family: 'Playfair Display', serif;
  color: var(--kp-dark);
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  margin-bottom: 40px;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(16px, 3vw, 48px);
}


/* ============================================================
   BATCH 11 — WooCommerce shop archive + mobile fixes
   Appended to batch10.css
   ============================================================ */

/* ── SHOP ARCHIVE GRID ───────────────────────────────────── */
.kp-shop-archive .site-main,
.woocommerce-shop .site-main {
    padding-top: clamp(32px, 5vw, 64px);
    padding-bottom: clamp(64px, 8vw, 96px);
}

/* Product grid: 3 cols desktop, 2 tablet, 1 mobile */
.woocommerce ul.products,
.kp-shop-archive .woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    padding: 0 clamp(16px, 3vw, 48px);
    list-style: none;
    margin: 0 auto;
    max-width: 1200px;
}

@media (max-width: 900px) {
    .woocommerce ul.products,
    .kp-shop-archive .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
}

@media (max-width: 600px) {
    .woocommerce ul.products,
    .kp-shop-archive .woocommerce ul.products {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 0 16px;
    }
}

/* Remove WooCommerce's default float layout */
.woocommerce ul.products li.product {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

/* Sorting & results bar */
.woocommerce-ordering,
.woocommerce-result-count {
    font-family: 'Oswald', sans-serif;
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #7A8070;
    padding: 0 clamp(16px, 3vw, 48px);
    max-width: 1200px;
    margin: 0 auto 16px;
}

.woocommerce-ordering select {
    background: #191C15;
    border: 1px solid rgba(201,168,76,0.2);
    color: #C8BEA4;
    padding: 6px 12px;
    border-radius: 0;
    font-family: 'Oswald', sans-serif;
    font-size: 0.8rem;
}

/* ── SINGLE PRODUCT PAGE ─────────────────────────────────── */
.single-product .site-main {
    padding-top: clamp(24px, 4vw, 56px);
    padding-bottom: clamp(64px, 8vw, 96px);
    max-width: 1200px;
    margin: 0 auto;
    padding-left: clamp(16px, 3vw, 48px);
    padding-right: clamp(16px, 3vw, 48px);
    box-sizing: border-box;
}

.woocommerce div.product {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
}

@media (max-width: 768px) {
    .woocommerce div.product {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

/* Product gallery placeholder when no images */
.woocommerce div.product .woocommerce-product-gallery {
    min-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #1C2410 0%, #0D100A 100%);
    border: 1px solid rgba(201,168,76,0.15);
}

/* ── CART/CHECKOUT ADD-TO-CART FEEDBACK ──────────────────── */
.kp-btn-add-cart.kp-added,
.button.kp-added {
    background: #2D5A1B !important;
    border-color: #4A8A2A !important;
    color: #90EE90 !important;
}

/* ── BACK TO TOP BUTTON ──────────────────────────────────── */
#back-to-top {
    position: fixed;
    bottom: 24px;
    right: 20px;
    width: 44px;
    height: 44px;
    background: #2D3A12;
    border: 1px solid rgba(201,168,76,0.4);
    color: #C9A84C;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9990;
    transition: background 0.2s, border-color 0.2s;
}

#back-to-top:hover {
    background: #C9A84C;
    color: #0F110C;
    border-color: #C9A84C;
}

/* ── MOBILE IMPROVEMENTS (≤767px) ────────────────────────── */
@media (max-width: 767px) {

    /* Elementor nav-menu: ensure hamburger visible, menu dropdown correct */
    .elementor-location-header .elementor-nav-menu--main .elementor-item {
        display: none !important;
    }
    .elementor-location-header .elementor-menu-toggle {
        display: flex !important;
    }

    /* Shop archive on mobile */
    .woocommerce ul.products li.product .kp-card-actions {
        flex-direction: column;
        gap: 8px;
    }
    .woocommerce ul.products li.product .kp-btn-add-cart {
        width: 100%;
        text-align: center;
    }
    .woocommerce ul.products li.product .kp-btn-details {
        text-align: center;
    }

    /* Front page PHP sections mobile */
    .kp-fullbleed-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .kp-cat-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .kp-pakiety-table {
        font-size: 0.8rem;
        display: block;
        overflow-x: auto;
    }

    .kp-trust-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    /* Festival stats */
    .festival-stats {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }

    /* Hero section */
    .hero {
        padding: 80px 20px 48px !important;
        min-height: auto !important;
    }

    .hero__title {
        font-size: clamp(2rem, 10vw, 3.5rem) !important;
    }

    /* Sections */
    .section {
        padding: 48px 0 !important;
    }

    .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* ── CONTACT PAGE PLACEHOLDER FIX ───────────────────────── */
/* Style the CF7/form placeholder text so it's clear it needs setup */
.kp-form-placeholder {
    border: 2px dashed rgba(201,168,76,0.3);
    padding: 32px;
    text-align: center;
    color: #7A8070;
    font-family: 'Oswald', sans-serif;
    font-size: 0.85rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

/* ── PAGE-LEVEL MISSING IMAGE PLACEHOLDERS ───────────────── */
/* When Elementor image widget has no image selected */
.elementor-widget-image .elementor-image:empty,
.elementor-widget-image figure:empty {
    min-height: 200px;
    background: linear-gradient(135deg, #1C2410 0%, #0D100A 100%);
    border: 1px dashed rgba(201,168,76,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Konserwy/Merch page product grid */
.kp-shoppage {
    max-width: 1200px;
    margin: 0 auto;
    padding: clamp(32px, 5vw, 64px) clamp(16px, 3vw, 48px);
}

/* ── ACCESSIBILITY – FOCUS VISIBLE ──────────────────────── */
a:focus-visible,
button:focus-visible,
input:focus-visible {
    outline: 2px solid #C9A84C;
    outline-offset: 3px;
}


/* ============================================================
   BATCH 12 — Full-width WooCommerce pages + inline header icons
   ============================================================ */

/* ── 1. WOO PAGES: direct content in site-main (no container wrapper) ── */
.woocommerce-account .site-main > .woocommerce {
    padding-left:  clamp(16px, 3vw, 48px);
    padding-right: clamp(16px, 3vw, 48px);
}

/* ── 2. INLINE HEADER ICONS (after JS injection into Kontakt column) ── */
#kp-header-icons.kp-hicons--inline {
    position: static !important;
    top:    auto !important;
    right:  auto !important;
    height: auto !important;
    z-index: auto;
    display: flex;
    align-items: center;
    gap: 4px;
}

#kp-header-icons.kp-hicons--inline .kp-hicon {
    color: #F0EAD2;
    width: 36px;
    height: 36px;
}

#kp-header-icons.kp-hicons--inline .kp-hicon:hover {
    color: #C9A84C;
}

#kp-header-icons.kp-hicons--inline .kp-hicon svg {
    width: 18px;
    height: 18px;
}

/* ── 3. MOBILE ICONS: fixed at top-right when not inline ──────────── */
@media (max-width: 767px) {
    #kp-header-icons:not(.kp-hicons--inline) {
        position: fixed !important;
        top: 0 !important;
        right: 56px !important;
        height: 56px !important;
        z-index: 10001 !important;
        display: flex !important;
        align-items: center !important;
        gap: 4px !important;
    }
}


/* ============================================================
   BATCH 13 — Cart page: 1600px width, light-yellow text, transparent totals
   ============================================================ */

/* ── 1. STRETCH CART BLOCK TO 1600px ───────────────────── */
.woocommerce-cart .wp-block-woocommerce-cart {
    max-width: 1600px !important;
}/* ── 2. LIGHT YELLOW TEXT – all cart content ────────────── */
.woocommerce-cart .site-main,
.woocommerce-cart #content .wp-block-woocommerce-cart,
.woocommerce-cart #content .wc-block-cart,
.woocommerce-cart #content h1,
.woocommerce-cart #content h2,
.woocommerce-cart #content h3,
.woocommerce-cart #content p,
.woocommerce-cart #content td,
.woocommerce-cart #content th,
.woocommerce-cart #content label,
.woocommerce-cart #content .wc-block-components-product-name,
.woocommerce-cart #content .wc-block-components-product-price,
.woocommerce-cart #content .wc-block-components-formatted-money-amount,
.woocommerce-cart #content .wc-block-cart__totals-title,
.woocommerce-cart #content .wc-block-components-totals-item__label,
.woocommerce-cart #content .wc-block-components-totals-item__value,
.woocommerce-cart #content .wc-block-components-order-summary-item__individual-prices,
.woocommerce-cart #content .wc-block-order-summary-item__individual-prices,
.woocommerce-cart #content .woocommerce-Price-amount,
.woocommerce-cart #content .entry-title{
    color: #F0EAD2 !important;
}

/* Keep button text readable on coloured backgrounds */
.woocommerce-cart .wc-block-components-button,
.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-cart a.button,
.woocommerce-cart button.button,
.woocommerce-cart .wp-element-button {
    color: #0F110C !important;
}.woocommerce-cart #content .wc-block-components-button:hover,
.woocommerce-cart #content .wc-block-cart__submit-button:hover{
    color: #F0EAD2 !important;
}

/* Input text stays dark (white input bg) */
.woocommerce-cart input[type="text"],
.woocommerce-cart input[type="email"],
.woocommerce-cart input[type="number"],
.woocommerce-cart input[type="tel"],
.woocommerce-cart select,
.woocommerce-cart textarea {
    color: #1C1A17 !important;
}

/* ── 3. TRANSPARENT CART TOTALS / ORDER SUMMARY ─────────── */
.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block,
.woocommerce-cart .wc-block-cart__sidebar,
.woocommerce-cart .wc-block-components-totals-wrapper,
.woocommerce-cart .cart_totals,
.woocommerce-cart .cart_totals table,
.woocommerce-cart .wc-block-order-summary-container {
    background: transparent !important;
    border-color: rgba(240,234,210,0.2) !important;
}

/* Totals rows: subtle separator on dark bg */
.woocommerce-cart .wc-block-components-totals-item {
    border-color: rgba(240,234,210,0.15) !important;
}

/* Shop table (classic cart) also transparent */
.woocommerce-cart .shop_table,
.woocommerce-cart .woocommerce-cart-form table {
    background: transparent !important;
}.woocommerce-cart #content .shop_table th{
    color: #F0EAD2 !important;
    border-color: rgba(240,234,210,0.2) !important;
}.woocommerce-cart #content .shop_table td{
    color: #F0EAD2 !important;
    border-color: rgba(240,234,210,0.12) !important;
}
.woocommerce-cart .shop_table tr:hover td {
    background: rgba(240,234,210,0.06) !important;
}


/* ============================================================
   BATCH 14 — Checkout page: 1600px width, light-yellow text, transparent order summary
   ============================================================ */

/* ── 1. STRETCH CHECKOUT BLOCK TO 1600px ───────────────── */
.woocommerce-checkout .wp-block-woocommerce-checkout {
    max-width: 1600px !important;
}/* ── 2. LIGHT YELLOW TEXT ───────────────────────────────── */
.woocommerce-checkout .site-main,
.woocommerce-checkout #content .wp-block-woocommerce-checkout,
.woocommerce-checkout #content .wc-block-checkout,
.woocommerce-checkout #content h1,
.woocommerce-checkout #content h2,
.woocommerce-checkout #content h3,
.woocommerce-checkout #content p,
.woocommerce-checkout #content td,
.woocommerce-checkout #content th,
.woocommerce-checkout #content label,
.woocommerce-checkout #content .wc-block-components-product-name,
.woocommerce-checkout #content .wc-block-components-formatted-money-amount,
.woocommerce-checkout #content .wc-block-components-totals-item__label,
.woocommerce-checkout #content .wc-block-components-totals-item__value,
.woocommerce-checkout #content .wc-block-components-order-summary-item__individual-prices,
.woocommerce-checkout #content .woocommerce-Price-amount,
.woocommerce-checkout #content .entry-title{
    color: #F0EAD2 !important;
}

/* Keep button text readable */
.woocommerce-checkout .wc-block-components-button,
.woocommerce-checkout .wc-block-checkout__actions_row button,
.woocommerce-checkout a.button,
.woocommerce-checkout button.button,
.woocommerce-checkout .wp-element-button {
    color: #0F110C !important;
}.woocommerce-checkout #content .wc-block-components-button:hover,
.woocommerce-checkout #content .wc-block-checkout__actions_row button:hover{
    color: #F0EAD2 !important;
}

/* Input text stays dark (white input bg) */
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
    color: #1C1A17 !important;
}

/* ── 3. TRANSPARENT ORDER SUMMARY ───────────────────────── */
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
.woocommerce-checkout .wc-block-checkout__sidebar,
.woocommerce-checkout .wc-block-components-order-summary,
.woocommerce-checkout .wc-block-components-totals-wrapper,
.woocommerce-checkout .wc-block-order-summary-container,
.woocommerce-checkout #order_review,
.woocommerce-checkout .order-review {
    background: transparent !important;
    border-color: rgba(240,234,210,0.2) !important;
}

.woocommerce-checkout .wc-block-components-totals-item {
    border-color: rgba(240,234,210,0.15) !important;
}

/* Checkout form area also transparent */
.woocommerce-checkout .wc-block-checkout__main,
.woocommerce-checkout .wc-block-components-form,
.woocommerce-checkout #customer_details {
    background: transparent !important;
}


/* ============================================================
   BATCH 15 — /my-account: 1600 px, light-yellow, transparent,
               vertical + horizontal centering of login form
   ============================================================ */

/* ── 0. OVERRIDE BACKGROUND (was kp-parch, now dark body shows) ── */
.woocommerce-account {
    background-color: transparent !important;
}

/* ── 1. SITE-MAIN: flex column, centered ───────────────────── */
.woocommerce-account .site-main {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: calc(100vh - 120px) !important;
}

/* ── 2. .woocommerce WRAPPER: full width up to 1600px ───────── */
.woocommerce-account .woocommerce {
    max-width: 1600px !important;
    width: 100% !important;
    margin-left:  auto !important;
    margin-right: auto !important;
    padding-left:  clamp(16px, 3vw, 48px);
    padding-right: clamp(16px, 3vw, 48px);
    box-sizing: border-box;
}

/* ── 3. LOGIN FORM: centered, reasonable width ──────────────── */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .u-columns.woocommerce-MyAccount-content {
    max-width: 520px;
    width: 100%;
    margin: 0 auto;
}

/* ── 4. LIGHT YELLOW TEXT ───────────────────────────────────── */
/* Scoped to #content — the header and footer live outside that wrapper.
   Unscoped, `.woocommerce-account span:not(…)` scored (0,2,1) with !important
   (:not() contributes its argument's specificity) and repainted the header's
   dropdown carets parchment on /my-account/ only. */
.woocommerce-account #content .woocommerce,
.woocommerce-account #content h1,
.woocommerce-account #content h2,
.woocommerce-account #content h3,
.woocommerce-account #content h4,
.woocommerce-account #content p,
.woocommerce-account #content label,
.woocommerce-account #content legend,
.woocommerce-account #content span:not(.woocommerce-Price-currencySymbol),
.woocommerce-account #content td,
.woocommerce-account #content th,
.woocommerce-account #content .woocommerce-MyAccount-navigation ul li a,
.woocommerce-account #content .woocommerce-MyAccount-content,
.woocommerce-account #content .wc-block-grid__product-title,
.woocommerce-account #content address {
    color: #F0EAD2 !important;
}

/* Price amounts */
.woocommerce-account .woocommerce-Price-amount,
.woocommerce-account .amount {
    color: #F0EAD2 !important;
}

/* Active nav link: keep gold accent */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--active a {
    color: var(--kp-gold, #C9A84C) !important;
}

/* Buttons: dark text on gold/olive background */
.woocommerce-account .button,
.woocommerce-account button[type="submit"],
.woocommerce-account input[type="submit"] {
    color: #0F110C !important;
}

/* Form inputs: keep dark text (light input bg) */
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account input[type="tel"],
.woocommerce-account select,
.woocommerce-account textarea {
    color: #1C1A17 !important;
}

/* ── 5. TRANSPARENT BACKGROUNDS ────────────────────────────── */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-orders-table__wrapper,
.woocommerce-account .woocommerce-address-fields,
.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-account-content,
.woocommerce-account .entry-content {
    background: transparent !important;
    border-color: rgba(240,234,210,0.2) !important;
}

/* Tables: transparent */
.woocommerce-account table.shop_table {
    background: transparent !important;
    border-color: rgba(240,234,210,0.2) !important;
}
.woocommerce-account table.shop_table td,
.woocommerce-account table.shop_table th {
    border-color: rgba(240,234,210,0.15) !important;
}


/* ============================================================
   BATCH 16 — Custom site header (replaces Elementor header)
   Logo + nav + cart/account icons + hamburger. Works PC & mobile.
   ============================================================ */

/* Kill Elementor's header location entirely */
.elementor-location-header {
    display: none !important;
}

/* Header container */
.kp-site-header {
    background: #1C1A17;
    border-bottom: 1px solid rgba(201, 168, 76, 0.3);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.kp-site-header__inner {
    max-width: 1600px;
    margin: 0 auto;
    padding: 12px clamp(16px, 3vw, 48px);
    display: flex;
    align-items: center;
    gap: 24px;
    position: relative;
}

/* Logo */
.kp-site-header__logo {
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
    color: #F0EAD2;
    flex-shrink: 0;
}
.kp-site-header__logo:hover { color: #F0EAD2; }

.kp-logo-badge {
    border: 2px solid #C9A84C;
    color: #C9A84C;
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 700;
    padding: 6px 12px;
    font-size: 20px;
    line-height: 1;
}
.kp-logo-text {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}
.kp-logo-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 22px;
    color: #F0EAD2;
    font-weight: 700;
}
.kp-logo-sub {
    font-family: 'Oswald', sans-serif;
    font-size: 11px;
    letter-spacing: 0.18em;
    color: #C9A84C;
    text-transform: uppercase;
    margin-top: 2px;
}

/* Nav */
.kp-site-header__nav {
    flex: 1;
    min-width: 0;
}
.kp-site-header__nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: clamp(16px, 2vw, 28px);
    justify-content: center;
    flex-wrap: wrap;
}
.kp-site-header__nav li {
    margin: 0;
    padding: 0;
}
.kp-site-header__nav a {
    color: #F0EAD2;
    text-decoration: none;
    font-family: 'Oswald', sans-serif;
    font-size: 14px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    transition: color 0.2s ease;
    padding: 4px 0;
    display: inline-block;
}
.kp-site-header__nav a:hover,
.kp-site-header__nav .current-menu-item > a {
    color: #C9A84C;
}

/* Actions row (icons + hamburger) */
.kp-site-header__actions {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    margin-left: auto;
}

.kp-hicon {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #F0EAD2;
    text-decoration: none;
    position: relative;
    transition: color 0.2s ease;
    background: transparent;
    border: none;
    cursor: pointer;
}
.kp-hicon:hover { color: #C9A84C; }
.kp-hicon svg { display: block; }

.kp-cart-count {
    position: absolute;
    top: 0;
    right: 0;
    background: #C9A84C;
    color: #1C1A17;
    font-family: 'Oswald', sans-serif;
    font-size: 11px;
    font-weight: 700;
    min-width: 18px;
    height: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    box-sizing: border-box;
    line-height: 1;
}

/* Hamburger button (mobile only) */
.kp-hamburger {
    display: none;
    width: 42px;
    height: 42px;
    border: 1px solid #C9A84C;
    background: transparent;
    cursor: pointer;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 0;
    margin-left: 4px;
    transition: background 0.2s ease;
}
.kp-hamburger:hover { background: rgba(201, 168, 76, 0.1); }
.kp-hamburger span {
    display: block;
    width: 22px;
    height: 2px;
    background: #C9A84C;
    transition: transform 0.3s ease, opacity 0.3s ease;
}
.kp-hamburger[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}
.kp-hamburger[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
}
.kp-hamburger[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* ---- Mobile/tablet breakpoint ---- */
@media (max-width: 900px) {
    .kp-site-header__nav {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #1C1A17;
        border-top: 1px solid rgba(201, 168, 76, 0.3);
        border-bottom: 1px solid rgba(201, 168, 76, 0.3);
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
        flex: 0;
    }
    body.kp-menu-open .kp-site-header__nav {
        max-height: 80vh;
        overflow-y: auto;
    }
    .kp-site-header__nav ul {
        flex-direction: column;
        gap: 0;
        padding: 8px 0;
    }
    .kp-site-header__nav li {
        border-bottom: 1px solid rgba(201, 168, 76, 0.12);
    }
    .kp-site-header__nav li:last-child { border-bottom: none; }
    .kp-site-header__nav a {
        display: block;
        padding: 14px clamp(16px, 3vw, 32px);
        font-size: 15px;
    }
    .kp-hamburger { display: inline-flex; }
}

@media (max-width: 600px) {
    .kp-logo-text { display: none; }
    .kp-site-header__inner {
        gap: 12px;
        padding: 10px clamp(12px, 3vw, 20px);
    }
    .kp-hicon { width: 36px; height: 36px; }
    .kp-hicon svg { width: 20px; height: 20px; }
}

/* Old #kp-header-icons element (Elementor HTML widget): hide; replaced by header.php */
#kp-header-icons { display: none !important; }


/* ============================================================
   BATCH 17 — WC pages centering fix (cart/checkout/my-account)
   Earlier batches left grid layout + flex chain unbalanced.
   ============================================================ */

/* ── 1. SITE-MAIN as plain centered block, not flex column ── */
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main,
.woocommerce-account .site-main {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: clamp(40px, 5vw, 72px) !important;
    padding-bottom: clamp(64px, 8vw, 96px) !important;
    min-height: calc(100vh - 200px);
    align-items: initial !important;
    justify-content: initial !important;
    flex-direction: initial !important;
}

/* ── 2. ENTRY-CONTENT / direct .woocommerce: 1600 px centered ── */
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content,
.woocommerce-account .site-main > .woocommerce {
    max-width: 1600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: clamp(16px, 3vw, 48px) !important;
    padding-right: clamp(16px, 3vw, 48px) !important;
    width: 100% !important;
    box-sizing: border-box !important;
    float: none !important;
}

/* Cart/checkout block: fill its already-centered wrapper */
.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-checkout .wp-block-woocommerce-checkout {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
}

/* ── 3. MY-ACCOUNT: grid ONLY when logged in (nav+content);
        login page = block layout, form centered ─────────── */
body.woocommerce-account .woocommerce {
    display: block !important;
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Logged-in: nav + content side-by-side */
@media (min-width: 768px) {
    body.woocommerce-account.logged-in .woocommerce {
        display: grid !important;
        grid-template-columns: 240px 1fr !important;
        gap: clamp(32px, 4vw, 64px) !important;
        align-items: start !important;
    }
}

/* Not-logged-in: center the login form */
body.woocommerce-account:not(.logged-in) .woocommerce > h2,
body.woocommerce-account:not(.logged-in) .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) .u-columns.woocommerce-MyAccount-content,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register {
    max-width: 520px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce > h2 {
    text-align: center !important;
    margin-bottom: 24px !important;
}

/* Notices wrapper: also centered, not eating a grid cell */
body.woocommerce-account:not(.logged-in) .woocommerce-notices-wrapper {
    max-width: 520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Lost-password / reset-password pages also centered */
body.woocommerce-account .woocommerce-ResetPassword,
body.woocommerce-account .lost_reset_password {
    max-width: 520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ── 4. Override Batch 15 flex centering that was breaking things ── */
.woocommerce-account .site-main {
    display: block !important;
    min-height: calc(100vh - 200px) !important;
}


/* ============================================================
   BATCH 18 — Override custom.css 1280 px cap on kp-*-page bodies
   These body classes are added by theme PHP; their rules win on
   specificity (body.class + element). Match selector to override.
   ============================================================ */

body.kp-cart-page .site-content,
body.kp-cart-page main,
body.kp-checkout-page .site-content,
body.kp-checkout-page main,
body.kp-account-page .site-content,
body.kp-account-page main {
    max-width: 1600px !important;
    padding-left: clamp(20px, 4vw, 64px) !important;
    padding-right: clamp(20px, 4vw, 64px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Generic woo body classes also capped — extend to 1600 */
.woocommerce-cart .site-content,
.woocommerce-checkout .site-content,
.woocommerce-account .site-content,
.woocommerce-cart #content,
.woocommerce-checkout #content,
.woocommerce-account #content {
    max-width: 1600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* And kp-product-page if used (same 1280 cap exists) */
body.kp-product-page .kp-product-page__inner,
body.kp-product-page .site-content,
body.kp-product-page main {
    max-width: 1600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ============================================================
   MY ACCOUNT — light theme correction  (2026-08-17)
   ------------------------------------------------------------
   The account page was the last page still using the retired dark
   shop theme: .site-wrapper painted #0F110C while the surrounding
   rules coloured text with --kp-parch (#F0EAD2). --kp-parch is a
   BACKGROUND token, so on the white login card the labels rendered
   #F0EAD2 on #FFFFFF — about 1.06:1, effectively invisible.
   Cart, checkout and every client mockup are light, so the account
   page is brought onto the same surface: white page, dark ink,
   maroon primary action.
   ============================================================ */
body.woocommerce-account,
body.woocommerce-account .site-wrapper,
body.woocommerce-account #content,
body.woocommerce-account .site-content,
body.woocommerce-account .site-main,
body.woocommerce-account .woocommerce{background:#fff !important;}

body.woocommerce-account #content,
body.woocommerce-account #content p,
body.woocommerce-account #content li,
body.woocommerce-account #content td,
body.woocommerce-account #content th,
body.woocommerce-account #content label,
body.woocommerce-account #content legend,
body.woocommerce-account #content address,
body.woocommerce-account #content span:not(.woocommerce-Price-currencySymbol),
body.woocommerce-account #content .woocommerce-MyAccount-content{color:#333 !important;}

body.woocommerce-account #content h1,
body.woocommerce-account #content h2,
body.woocommerce-account #content h3{font-family:'Oswald',sans-serif !important;text-transform:uppercase;
	font-weight:700 !important;color:#1a1a1a !important;letter-spacing:.04em;}

/* login / register cards */
body.woocommerce-account #content .woocommerce-form-login,
body.woocommerce-account #content .woocommerce-form-register,
body.woocommerce-account #content .woocommerce-MyAccount-content,
body.woocommerce-account #content .woocommerce-MyAccount-navigation{background:#fff !important;
	border:1px solid #e3ddd0 !important;padding:32px 34px !important;box-shadow:none !important;}

body.woocommerce-account #content form label{font-family:'Oswald',sans-serif !important;font-size:.74rem !important;
	letter-spacing:.09em;text-transform:uppercase;color:#7a7568 !important;margin-bottom:6px !important;display:block;}

body.woocommerce-account #content input[type=text],
body.woocommerce-account #content input[type=email],
body.woocommerce-account #content input[type=password],
body.woocommerce-account #content input[type=tel]{background:#fff !important;border:1px solid #cfc8ba !important;
	color:#1a1a1a !important;border-radius:0 !important;padding:14px 16px !important;box-sizing:border-box;width:100%;}
body.woocommerce-account #content input:focus{outline:none !important;border-color:#8f0733 !important;box-shadow:none !important;}

/* primary action = site maroon, not the retired olive */
body.woocommerce-account #content button.button,
body.woocommerce-account #content input.button,
body.woocommerce-account #content a.button{background:#8f0733 !important;color:#fff !important;border:none !important;
	font-family:'Oswald',sans-serif !important;text-transform:uppercase;letter-spacing:.08em;font-weight:600;
	border-radius:2px !important;padding:14px 30px !important;}
body.woocommerce-account #content button.button:hover,
body.woocommerce-account #content input.button:hover,
body.woocommerce-account #content a.button:hover{background:#6d0526 !important;color:#fff !important;}

body.woocommerce-account #content a{color:#8f0733 !important;}
body.woocommerce-account #content a:hover{color:#6d0526 !important;}
body.woocommerce-account #content .woocommerce-MyAccount-navigation ul li a{color:#1a1a1a !important;text-decoration:none !important;}
body.woocommerce-account #content .woocommerce-MyAccount-navigation ul li.is-active a,
body.woocommerce-account #content .woocommerce-MyAccount-navigation ul li a:hover{color:#8f0733 !important;}
body.woocommerce-account #content .woocommerce-form-login__rememberme span{color:#333 !important;}
body.woocommerce-account #content .password-input,
body.woocommerce-account #content .show-password-input{background:transparent !important;}

/* ============================================================
   CART — light theme correction + makieta layout  (2026-08-17)
   ------------------------------------------------------------
   Same defect as the account page: functions.php forces a white
   page background on cart/checkout, but the older rules still
   colour text with --kp-parch (#F0EAD2), a BACKGROUND token.
   Result was parchment-on-white — the cart title, product names,
   prices and the whole "Podsumowanie" card were unreadable.
   Layout follows makieta koszyk_v02a1.
   ============================================================ */
body.woocommerce-cart #content,
body.woocommerce-checkout #content,
body.woocommerce-cart .site-wrapper,
body.woocommerce-checkout .site-wrapper,
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main{background:#fff !important;}

body.woocommerce-cart #content,
body.woocommerce-cart #content p,
body.woocommerce-cart #content li,
body.woocommerce-cart #content td,
body.woocommerce-cart #content th,
body.woocommerce-cart #content label,
body.woocommerce-cart #content span:not(.woocommerce-Price-currencySymbol),
body.woocommerce-checkout #content,
body.woocommerce-checkout #content p,
body.woocommerce-checkout #content li,
body.woocommerce-checkout #content td,
body.woocommerce-checkout #content th,
body.woocommerce-checkout #content label,
body.woocommerce-checkout #content span:not(.woocommerce-Price-currencySymbol){color:#333 !important;}

body.woocommerce-cart #content h1,
body.woocommerce-cart #content h2,
body.woocommerce-cart #content h3,
body.woocommerce-checkout #content h1,
body.woocommerce-checkout #content h2,
body.woocommerce-checkout #content h3{font-family:'Oswald',sans-serif !important;color:#1a1a1a !important;
	text-transform:uppercase;font-weight:700 !important;letter-spacing:.03em;}

body.woocommerce-cart #content .amount,
body.woocommerce-cart #content bdi,
body.woocommerce-checkout #content .amount,
body.woocommerce-checkout #content bdi{color:#1a1a1a !important;}

/* ---- page title "KOSZYK (n)" ---- */
body.woocommerce-cart #content h1.kpwc-cart-title{font-size:clamp(1.9rem,3.4vw,2.7rem) !important;
	margin:6px 0 22px !important;color:#1a1a1a !important;}

/* ---- two column layout ---- */
body.woocommerce-cart .woocommerce{display:grid;grid-template-columns:minmax(0,1fr) 370px;
	gap:28px;align-items:start;max-width:1400px;margin:0 auto;padding:24px 30px 60px;}
body.woocommerce-cart .kpwc-cart-title,
body.woocommerce-cart .kpw-steps,
body.woocommerce-cart .woocommerce-notices-wrapper{grid-column:1 / -1;}
body.woocommerce-cart .woocommerce-cart-form{grid-column:1;float:none !important;width:auto !important;margin:0 !important;}
body.woocommerce-cart .cart-collaterals{grid-column:2;grid-row:span 2;float:none !important;width:auto !important;margin:0 !important;}
body.woocommerce-cart .kpw-loginbox{grid-column:1;margin-top:22px !important;}

/* ---- products card ---- */
body.woocommerce-cart .woocommerce-cart-form{border:1px solid #e3ddd0;background:#fff;padding:24px 28px 10px;}
body.woocommerce-cart table.cart{border:none !important;background:transparent !important;margin:0 !important;}
body.woocommerce-cart table.cart th{display:none !important;}
body.woocommerce-cart table.cart td{border:none !important;border-top:1px solid #ece7db !important;
	padding:18px 6px !important;vertical-align:middle !important;background:transparent !important;}
body.woocommerce-cart table.cart tr:first-child td{border-top:none !important;}
body.woocommerce-cart td.product-remove{display:none !important;}
body.woocommerce-cart td.product-thumbnail{width:110px !important;}
body.woocommerce-cart td.product-thumbnail img{width:92px !important;height:auto;}
body.woocommerce-cart td.product-name a{font-family:'Oswald',sans-serif !important;font-size:1.12rem !important;
	color:#1a1a1a !important;text-decoration:none !important;font-weight:500;}
body.woocommerce-cart .kpwc-unit{font-family:'Oswald',sans-serif !important;font-size:1.02rem;color:#1a1a1a !important;margin-top:2px;}
body.woocommerce-cart .kpwc-unit .amount,body.woocommerce-cart .kpwc-unit bdi{color:#1a1a1a !important;}
body.woocommerce-cart .kpwc-ship{font-size:.78rem;color:#7a7568 !important;margin-top:4px;}
body.woocommerce-cart td.product-subtotal{text-align:right !important;font-family:'Oswald',sans-serif !important;
	font-weight:700 !important;font-size:1.15rem !important;white-space:nowrap;}
body.woocommerce-cart td.product-price{display:none !important;}
body.woocommerce-cart table.cart td.actions{display:none !important;}

/* card head */
.kpwc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:6px;}
body.woocommerce-cart .kpwc-head .kpwc-title{font-size:1.5rem !important;margin:0 0 2px !important;text-transform:none !important;}
body.woocommerce-cart .kpwc-head .kpwc-sub{font-size:.78rem;color:#7a7568 !important;margin:0 !important;}
body.woocommerce-cart .kpwc-clear{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;
	color:#1a1a1a !important;text-decoration:none !important;white-space:nowrap;}
body.woocommerce-cart .kpwc-clear:hover{color:#8f0733 !important;}

/* ---- summary card ---- */
body.woocommerce-cart .cart_totals{border:1px solid #e3ddd0;background:#fff;padding:24px 26px 26px;}
body.woocommerce-cart .cart_totals h2{text-align:center;font-size:1.4rem !important;margin:0 0 18px !important;
	text-transform:none !important;}
body.woocommerce-cart .cart_totals table{display:block !important;border:none !important;margin:0 !important;}
body.woocommerce-cart .cart_totals tbody{display:flex !important;flex-direction:column;gap:2px;}
body.woocommerce-cart .cart_totals tr{display:flex !important;align-items:baseline;justify-content:space-between;
	gap:14px;padding:11px 0;border-bottom:1px solid #f0ece2;}
body.woocommerce-cart .cart_totals th,body.woocommerce-cart .cart_totals td{border:none !important;
	padding:0 !important;background:transparent !important;text-align:right;}
body.woocommerce-cart .cart_totals th{font-weight:400 !important;color:#333 !important;text-align:left;}
body.woocommerce-cart .cart_totals td{font-family:'Oswald',sans-serif !important;font-weight:700 !important;
	font-size:1.08rem;color:#1a1a1a !important;}
/* makieta order: liczba produktow -> wartosc koszyka -> wysylka */
body.woocommerce-cart .cart_totals tr.kpw-count{order:1;}
body.woocommerce-cart .cart_totals tr.cart-subtotal{order:2;}
body.woocommerce-cart .cart_totals tr.kpw-ship{order:3;border-bottom:none;}
/* The cart total duplicates the subtotal on this shop (shipping is chosen at
   checkout) and the makieta does not show it. Re-enable if cart-level
   shipping or tax is ever switched on. */
body.woocommerce-cart .cart_totals tr.order-total{display:none !important;}
body.woocommerce-cart .wc-proceed-to-checkout{padding:18px 0 0 !important;}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{width:100%;text-align:center;
	background:#8f0733 !important;color:#fff !important;font-family:'Oswald',sans-serif !important;
	text-transform:uppercase;letter-spacing:.08em;font-weight:600;padding:16px !important;
	border-radius:2px !important;font-size:.98rem !important;display:block;}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{background:#6d0526 !important;}
body.woocommerce-cart .cart_totals .shipping-calculator-button{display:none;}

/* ---- qty stepper ---- */
body.woocommerce-cart .woocommerce .quantity{display:inline-flex;align-items:center;border:1px solid #d3ccbe;
	border-radius:2px;overflow:hidden;background:#fff;}
body.woocommerce-cart .woocommerce .quantity input.qty{width:52px;text-align:center;border:none;
	border-left:1px solid #d3ccbe;border-right:1px solid #d3ccbe;height:42px;background:#fff !important;
	color:#1a1a1a !important;font-family:'Oswald',sans-serif !important;font-size:1.05rem;-moz-appearance:textfield;}
body.woocommerce-cart .woocommerce .quantity input.qty::-webkit-outer-spin-button,
body.woocommerce-cart .woocommerce .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
body.woocommerce-cart .kpw-qtybtn{width:42px;height:42px;background:#fff !important;border:none;font-size:1.15rem;
	cursor:pointer;color:#1a1a1a !important;display:inline-flex;align-items:center;justify-content:center;padding:0;}
body.woocommerce-cart .kpw-qtybtn:hover{background:#f4efe4 !important;}
body.woocommerce-cart .kpw-qtybtn svg{pointer-events:none;}

/* ---- login box ---- */
body.woocommerce-cart .kpw-loginbox{border:1px solid #e3ddd0;background:#fff;}
body.woocommerce-cart .kpw-loginbox strong{color:#1a1a1a !important;font-family:'Oswald',sans-serif !important;}
body.woocommerce-cart .kpw-loginbox p{color:#7a7568 !important;}

/* ---- notices ---- */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-cart .woocommerce-info{background:#faf7f0 !important;border-top:3px solid #8f0733 !important;
	color:#1a1a1a !important;border-radius:0;}
body.woocommerce-cart .woocommerce-message a.button{background:#8f0733 !important;color:#fff !important;}

@media(max-width:900px){
	body.woocommerce-cart .woocommerce{grid-template-columns:minmax(0,1fr);}
	body.woocommerce-cart .cart-collaterals,
	body.woocommerce-cart .woocommerce-cart-form,
	body.woocommerce-cart .kpw-loginbox{grid-column:1;grid-row:auto;}
	body.woocommerce-cart td.product-thumbnail{width:70px !important;}
	body.woocommerce-cart td.product-thumbnail img{width:60px !important;}
}

/* ------------------------------------------------------------
   Cart corrections, round 2.
   The legacy parchment rule is `.woocommerce-cart #content .shop_table th`
   = (1,2,1). A correction written as `body.woocommerce-cart #content th`
   is only (1,1,2) and loses, because classes rank above element types.
   Everything below therefore carries #content plus >=2 classes.
   ------------------------------------------------------------ */
body.woocommerce-cart #content .shop_table th,
body.woocommerce-cart #content .cart_totals th,
body.woocommerce-cart #content .shop_table td,
body.woocommerce-cart #content .cart_totals tr th{color:#333 !important;}

body.woocommerce-cart #content .cart_totals td,
body.woocommerce-cart #content .cart_totals td .amount,
body.woocommerce-cart #content .cart_totals td bdi,
body.woocommerce-cart #content .shop_table td.product-subtotal,
body.woocommerce-cart #content .shop_table td.product-subtotal .amount,
body.woocommerce-cart #content .shop_table td.product-subtotal bdi{color:#1a1a1a !important;}

/* Woo ships `.cart-collaterals .cart_totals{width:48%}` — inside our 370px
   column that collapsed the summary card to ~178px and clipped the button. */
body.woocommerce-cart #content .cart-collaterals .cart_totals{width:100% !important;float:none !important;}
body.woocommerce-cart #content .cart-collaterals{width:auto !important;}

/* product title: Oswald, not the global Playfair heading face */
body.woocommerce-cart #content .shop_table td.product-name a,
body.woocommerce-cart #content .shop_table td.product-name{font-family:'Oswald',sans-serif !important;
	color:#1a1a1a !important;text-decoration:none !important;font-weight:500 !important;font-size:1.12rem !important;}

/* qty field: white, not parchment */
body.woocommerce-cart #content .woocommerce .quantity input.qty,
body.woocommerce-cart #content .shop_table .quantity input.qty{background:#fff !important;color:#1a1a1a !important;}
body.woocommerce-cart #content .shop_table .quantity{background:#fff !important;}

/* the makieta summary has no separate "Razem" row (shipping is chosen at checkout) */
body.woocommerce-cart #content .cart_totals tr.order-total{display:none !important;}

/* ------------------------------------------------------------
   Step indicator + checkout surface  (2026-08-17)
   The step badges are <span>, and the page-level
   `#content span:not(.woocommerce-Price-currencySymbol)` rule
   (1,1,1) repainted the active badge's white numeral dark, so it
   vanished against the maroon fill. Needs #content + 2 classes.
   ------------------------------------------------------------ */
body.woocommerce-cart #content .kpw-steps .kpw-step__num,
body.woocommerce-checkout #content .kpw-steps .kpw-step__num{color:#8f0733 !important;background:#fff !important;
	border:2px solid #8f0733 !important;width:46px;height:46px;display:flex;align-items:center;justify-content:center;
	font-family:'Oswald',sans-serif !important;font-weight:700 !important;font-size:1.25rem !important;border-radius:0;}
body.woocommerce-cart #content .kpw-steps .kpw-step--active .kpw-step__num,
body.woocommerce-cart #content .kpw-steps .kpw-step--done .kpw-step__num,
body.woocommerce-checkout #content .kpw-steps .kpw-step--active .kpw-step__num,
body.woocommerce-checkout #content .kpw-steps .kpw-step--done .kpw-step__num{background:#8f0733 !important;color:#fff !important;}
body.woocommerce-cart #content .kpw-steps .kpw-step__lbl,
body.woocommerce-checkout #content .kpw-steps .kpw-step__lbl{color:#333 !important;
	font-family:'Oswald',sans-serif !important;font-size:.74rem !important;line-height:1.25;}
body.woocommerce-cart #content .kpw-steps .kpw-step__bar,
body.woocommerce-checkout #content .kpw-steps .kpw-step__bar{background:#8f0733 !important;margin-top:23px;}

/* ---- checkout surface: white like every other shop page ---- */
body.woocommerce-checkout,
body.woocommerce-checkout .site-wrapper,
body.woocommerce-checkout #content,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout #content .woocommerce,
body.woocommerce-checkout #content form.checkout,
body.woocommerce-checkout #content .col2-set,
body.woocommerce-checkout #content #customer_details{background:#fff !important;}

body.woocommerce-checkout #content .woocommerce{max-width:1400px;margin:0 auto;padding:10px 30px 60px;}
body.woocommerce-checkout #content h1.kpw-title{font-size:clamp(1.9rem,3.4vw,2.7rem) !important;
	margin:6px 0 22px !important;color:#1a1a1a !important;}

/* billing / order cards */
body.woocommerce-checkout #content .woocommerce-billing-fields,
body.woocommerce-checkout #content .woocommerce-additional-fields,
body.woocommerce-checkout #content #order_review{border:1px solid #e3ddd0 !important;background:#fff !important;
	padding:26px 28px !important;}
body.woocommerce-checkout #content #order_review_heading{font-family:'Oswald',sans-serif !important;
	color:#1a1a1a !important;text-transform:uppercase;font-weight:700 !important;margin:0 0 14px !important;}

/* order button = site maroon (was the retired olive) */
body.woocommerce-checkout #content #place_order,
body.woocommerce-checkout #content button#place_order{background:#8f0733 !important;color:#fff !important;
	font-family:'Oswald',sans-serif !important;text-transform:uppercase;letter-spacing:.08em;font-weight:600;
	border:none !important;border-radius:2px !important;width:100%;padding:16px !important;font-size:1rem !important;}
body.woocommerce-checkout #content #place_order:hover{background:#6d0526 !important;}

/* order summary table */
body.woocommerce-checkout #content .shop_table th,
body.woocommerce-checkout #content .shop_table td{color:#333 !important;border-color:#ece7db !important;
	background:transparent !important;}
body.woocommerce-checkout #content .shop_table .amount,
body.woocommerce-checkout #content .shop_table bdi,
body.woocommerce-checkout #content .order-total .amount{color:#1a1a1a !important;}
body.woocommerce-checkout #content .shop_table thead th{font-family:'Oswald',sans-serif !important;
	text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;color:#7a7568 !important;}

/* notices + form fields */
body.woocommerce-checkout #content .woocommerce-info,
body.woocommerce-checkout #content .woocommerce-message,
body.woocommerce-checkout #content .woocommerce-error{background:#faf7f0 !important;
	border-top:3px solid #8f0733 !important;color:#1a1a1a !important;border-radius:0;}
body.woocommerce-checkout #content .form-row label{font-family:'Oswald',sans-serif !important;
	font-size:.74rem !important;letter-spacing:.09em;text-transform:uppercase;color:#7a7568 !important;}
body.woocommerce-checkout #content .form-row input.input-text,
body.woocommerce-checkout #content .form-row textarea,
body.woocommerce-checkout #content .select2-selection{border:1px solid #cfc8ba !important;background:#fff !important;
	color:#1a1a1a !important;border-radius:0 !important;}

/* ------------------------------------------------------------
   Remaining parchment-on-light leaks  (2026-08-17)
   `.woocommerce-page p{color:#D8CFB4 !important}` (0,1,1) outranks
   the un-flagged component rules, so several light surfaces ended up
   with near-invisible text. Measured before/after with a contrast pass.
   ------------------------------------------------------------ */

/* newsletter band on the shop archive: was 1.04:1 (parchment on sand) */
body.kp-shop-archive .kpxa-news .kpxa-news__txt p,
body.kp-shop-archive .kpxa-news .kpxa-news__txt h3,
body.kp-shop-archive .kpxa-news .kpxa-news__consent{color:#3a3a32 !important;}
body.kp-shop-archive .kpxa-news .kpxa-news__txt h3{color:#1a1a1a !important;}

/* product card hover blurb on the archive: was 1.56:1 */
body.kp-shop-archive ul.products li.product .kpxa-card__desc,
body.kp-shop-archive .kpxa-card .kpxa-card__desc{color:#333 !important;}

/* breadcrumbs: was 2.33:1 / 3.68:1 on white */
body.kp-shop-archive .woocommerce-breadcrumb,
body.kp-shop-archive .woocommerce-breadcrumb a,
body.single-product .kpxp .kpxp-crumb,
body.single-product .kpxp .kpxp-crumb a,
body.single-product .kpxp .kpxp-crumb span{color:#6b6659 !important;}
body.single-product .kpxp .kpxp-crumb a:hover,
body.kp-shop-archive .woocommerce-breadcrumb a:hover{color:#8f0733 !important;}

/* out-of-stock button: was 4.26:1 */
body.kp-shop-archive ul.products li.product .kpxa-btn--out,
body.single-product .kpxp .kpxp-btn--soldout,
body.single-product .kpxp .kpxp-addbtn--out{background:#9b968a !important;color:#1f1f1c !important;}

/* Rating stars are decorative gold on white (2.29:1). The accessible name
   is carried by the adjacent "(n)" count and the 5/5 text in the reviews
   list, so the glyphs are marked decorative rather than darkened, which
   would break the brand palette. */
body.single-product .kpxp .kpxp-stars,
body.kp-shop-archive .kpxa-card__stars{-webkit-user-select:none;user-select:none;}

/* the hover blurb lives inside a.kpxa-card__media, so the anchor itself
   has to be recoloured, not just the inner span (was 1.56:1 on white) */
body.kp-shop-archive ul.products li.product a.kpxa-card__media,
body.kp-shop-archive ul.products li.product a.kpxa-card__media span{color:#333 !important;}
/* homepage stock badges: olive on black was 2.55:1, grey on white 3.5:1 */
body.home-page .kpx-card--dark .kpx-card__stock,
body.home-page .kpx-card--dark .kpx-card__stock span{color:#cfd8b8 !important;}
body.home-page .kpx-card--light .kpx-card__stock span{color:#6b6b5e !important;}

/* Account panel grid: children default to min-width:auto (=min-content), so the
   order table collapsed the content column to a narrow strip. */
body.woocommerce-account #content .woocommerce{grid-template-columns:220px minmax(0,1fr) !important;}
body.woocommerce-account #content .woocommerce-MyAccount-navigation,
body.woocommerce-account #content .woocommerce-MyAccount-content{min-width:0 !important;}
body.woocommerce-account #content .woocommerce-MyAccount-content{padding:0 !important;border:none !important;}
body.woocommerce-account #content .woocommerce-MyAccount-navigation{padding:0 24px 0 0 !important;border:none !important;
	border-right:1px solid #e3ddd0 !important;}
body.woocommerce-account #content .woocommerce-MyAccount-navigation ul li{border-bottom:none !important;}
body.woocommerce-account #content .woocommerce-MyAccount-navigation ul li a{font-size:1.05rem !important;
	text-transform:none !important;letter-spacing:0 !important;padding:9px 0 !important;}
body.woocommerce-account #content table.shop_table{width:100% !important;border:none !important;}
body.woocommerce-account #content table.shop_table th,
body.woocommerce-account #content table.shop_table td{border:none !important;
	border-bottom:1px solid #ece7db !important;padding:14px 8px !important;background:transparent !important;}

/* Woo gives these float+percentage widths (nav 30%, content 68%). As grid
   items an explicit width wins over the track size, so both must fill. */
body.woocommerce-account #content .woocommerce > .woocommerce-MyAccount-navigation,
body.woocommerce-account #content .woocommerce > .woocommerce-MyAccount-content{
	width:100% !important;max-width:100% !important;float:none !important;margin:0 !important;}

/* explicit placement — auto-flow was putting the nav in the wide track */
body.woocommerce-account #content .woocommerce > .woocommerce-MyAccount-navigation{grid-column:1 !important;grid-row:1 !important;}
body.woocommerce-account #content .woocommerce > .woocommerce-MyAccount-content{grid-column:2 !important;grid-row:1 !important;}
body.woocommerce-account #content .woocommerce > .woocommerce-notices-wrapper{grid-column:1 / -1 !important;}

/* ============================================================
   PANEL KLIENTA — skin to makieta panel-klienta_v02a1 (2026-08-18)
   Sidebar with » markers, big endpoint titles, orders table,
   floating-style form labels, stamp watermark.
   ============================================================ */
body.woocommerce-account #content .woocommerce{max-width:1400px;margin:0 auto;
	padding:30px 30px 80px;gap:0 46px;position:relative;}

/* ---- stamp watermark (makieta) ---- */
body.woocommerce-account #content .woocommerce::after{content:"";position:absolute;top:40px;right:-30px;
	width:640px;height:640px;background:var(--kpa-stamp) no-repeat center/contain;opacity:.13;
	pointer-events:none;z-index:0;}
body.woocommerce-account #content .woocommerce > *{position:relative;z-index:1;}

/* ---- sidebar ---- */
body.woocommerce-account #content .woocommerce-MyAccount-navigation{padding:6px 30px 0 0 !important;
	border:none !important;border-right:1px solid #ded8ca !important;}
body.woocommerce-account #content .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;}
body.woocommerce-account #content .woocommerce-MyAccount-navigation ul li{border:none !important;
	background:transparent !important;margin:0 0 6px;}
body.woocommerce-account #content .woocommerce-MyAccount-navigation ul li a{display:flex;align-items:baseline;gap:12px;
	padding:6px 0 !important;font-family:'Oswald',sans-serif !important;font-size:1.22rem !important;
	font-weight:500 !important;letter-spacing:0 !important;text-transform:none !important;
	color:#1a1a1a !important;text-decoration:none !important;background:transparent !important;}
body.woocommerce-account #content .woocommerce-MyAccount-navigation ul li a::before{content:"\00BB";
	color:#c9c0a8;font-size:1.15rem;line-height:1;flex-shrink:0;transition:color .15s;}
body.woocommerce-account #content .woocommerce-MyAccount-navigation ul li a:hover{color:#8f0733 !important;}
body.woocommerce-account #content .woocommerce-MyAccount-navigation ul li a:hover::before{color:#8f0733;}
body.woocommerce-account #content .woocommerce-MyAccount-navigation ul li.is-active a,
body.woocommerce-account #content .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--active a{
	color:#1a1a1a !important;font-weight:600 !important;}
body.woocommerce-account #content .woocommerce-MyAccount-navigation ul li.is-active a::before,
body.woocommerce-account #content .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--active a::before{
	color:#8f0733;}
body.woocommerce-account #content .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a{
	font-size:1rem !important;color:#7a7568 !important;}

/* ---- content column ---- */
body.woocommerce-account #content .woocommerce-MyAccount-content{padding:0 !important;border:none !important;}
body.woocommerce-account #content h1.kpa-title{font-family:'Oswald',sans-serif !important;text-transform:uppercase;
	font-weight:700 !important;font-size:clamp(1.7rem,3vw,2.5rem) !important;color:#1a1a1a !important;
	margin:0 0 26px !important;letter-spacing:.02em;}

/* ---- orders table ---- */
body.woocommerce-account #content .woocommerce-orders-table,
body.woocommerce-account #content table.shop_table{width:100% !important;border:none !important;
	border-collapse:collapse !important;background:transparent !important;}
body.woocommerce-account #content table.shop_table thead th{font-family:'Open Sans',sans-serif !important;
	font-weight:400 !important;font-size:.88rem !important;color:#6b6659 !important;text-transform:none !important;
	letter-spacing:0 !important;border:none !important;border-bottom:1px solid #ded8ca !important;
	padding:0 10px 12px !important;text-align:left;background:transparent !important;}
body.woocommerce-account #content table.shop_table tbody td{border:none !important;
	border-bottom:1px solid #ece7db !important;padding:18px 10px !important;background:transparent !important;
	font-size:.95rem;color:#1a1a1a !important;vertical-align:middle;}
body.woocommerce-account #content table.shop_table tbody td.woocommerce-orders-table__cell-order-total{
	font-family:'Oswald',sans-serif !important;font-weight:600 !important;}
body.woocommerce-account #content table.shop_table td .button{background:#8f0733 !important;color:#fff !important;
	font-family:'Oswald',sans-serif !important;text-transform:uppercase;letter-spacing:.08em;font-weight:600;
	font-size:.76rem !important;padding:10px 22px !important;border-radius:2px !important;border:none !important;}
body.woocommerce-account #content table.shop_table td .button:hover{background:#6d0526 !important;}
body.woocommerce-account #content .kpa-tablefoot{display:flex;justify-content:space-between;align-items:center;
	padding:16px 10px 0;font-size:.9rem;color:#6b6659 !important;}

/* ---- addresses ---- */
body.woocommerce-account #content .woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;
	gap:40px;margin:0 0 30px;border:none !important;}
body.woocommerce-account #content .woocommerce-Address{border:none !important;padding:0 !important;background:transparent !important;}
body.woocommerce-account #content .woocommerce-Address-title h2,
body.woocommerce-account #content .woocommerce-Address h3{font-family:'Oswald',sans-serif !important;
	font-size:1.16rem !important;font-weight:600 !important;color:#1a1a1a !important;text-transform:none !important;
	margin:0 0 14px !important;letter-spacing:0 !important;}
body.woocommerce-account #content .woocommerce-Address address{font-style:normal;line-height:1.7;
	color:#333 !important;font-size:.98rem;margin:0 0 14px;}
body.woocommerce-account #content .woocommerce-Address-title a.edit{font-size:.92rem;color:#1a1a1a !important;
	text-decoration:underline !important;text-underline-offset:3px;}
body.woocommerce-account #content .woocommerce-Address-title a.edit:hover{color:#8f0733 !important;}

/* ---- forms: label sits on the field border, as in the makieta ---- */
body.woocommerce-account #content form .form-row{position:relative;padding-top:11px;margin:0 0 20px;}
body.woocommerce-account #content form .form-row label:not(.checkbox):not(.woocommerce-form__label-for-checkbox){
	position:absolute;top:2px;left:13px;background:#fff !important;padding:0 7px;z-index:2;
	font-family:'Open Sans',sans-serif !important;font-size:.72rem !important;letter-spacing:0 !important;
	text-transform:none !important;color:#7a7568 !important;margin:0 !important;}
body.woocommerce-account #content form .form-row .required{color:#8f0733 !important;border:none;}
body.woocommerce-account #content form input.input-text,
body.woocommerce-account #content form input[type=date],
body.woocommerce-account #content form select,
body.woocommerce-account #content form textarea{width:100%;border:1px solid #cfc8ba !important;background:#fff !important;
	color:#1a1a1a !important;border-radius:0 !important;padding:15px 16px !important;box-sizing:border-box;
	font-family:'Open Sans',sans-serif !important;font-size:.95rem !important;}
body.woocommerce-account #content form input:focus,
body.woocommerce-account #content form select:focus{outline:none !important;border-color:#8f0733 !important;box-shadow:none !important;}
body.woocommerce-account #content fieldset{border:1px solid #cfc8ba;padding:20px 22px;margin:6px 0 22px;}
body.woocommerce-account #content fieldset legend{font-family:'Oswald',sans-serif !important;font-size:.9rem;
	color:#1a1a1a !important;padding:0 8px;}

/* save row: ZAPISZ + USUŃ KONTO side by side (makieta moje-dane) */
body.woocommerce-account #content .woocommerce-EditAccountForm > p:last-of-type,
body.woocommerce-account #content .woocommerce-EditAccountForm .kpa-saverow{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
body.woocommerce-account #content a.kpa-delete{display:inline-flex;align-items:center;justify-content:center;
	border:1px solid #8f0733;color:#8f0733 !important;background:#fff;font-family:'Oswald',sans-serif !important;
	text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:.86rem;padding:14px 30px;
	border-radius:2px;text-decoration:none !important;margin-left:16px;}
body.woocommerce-account #content a.kpa-delete:hover{background:#8f0733;color:#fff !important;}

/* ---- notices: were white-on-cream and unreadable ---- */
body.woocommerce-account #content .woocommerce-message,
body.woocommerce-account #content .woocommerce-info,
body.woocommerce-account #content .woocommerce-error,
body.woocommerce-account #content .woocommerce-notice{background:#faf7f0 !important;color:#1a1a1a !important;
	border-top:3px solid #8f0733 !important;border-radius:0;}
body.woocommerce-account #content .woocommerce-message *,
body.woocommerce-account #content .woocommerce-info *,
body.woocommerce-account #content .woocommerce-error *{color:#1a1a1a !important;}
body.woocommerce-account #content .woocommerce-message a.button,
body.woocommerce-account #content .woocommerce-info a.button{background:#8f0733 !important;color:#fff !important;}

@media(max-width:900px){
	body.woocommerce-account #content .woocommerce{grid-template-columns:minmax(0,1fr) !important;gap:24px;}
	body.woocommerce-account #content .woocommerce > .woocommerce-MyAccount-navigation,
	body.woocommerce-account #content .woocommerce > .woocommerce-MyAccount-content{grid-column:1 !important;grid-row:auto !important;}
	body.woocommerce-account #content .woocommerce-MyAccount-navigation{border-right:none !important;
		border-bottom:1px solid #ded8ca !important;padding:0 0 14px !important;}
	body.woocommerce-account #content .woocommerce-Addresses{grid-template-columns:1fr;gap:26px;}
	body.woocommerce-account #content .woocommerce::after{display:none;}
}

/* Woo floats .col-1/.col-2 at 48% inside .col2-set, which scrambled the
   two address cards once the parent became a grid. Unfloat them. */
body.woocommerce-account #content .woocommerce-Addresses.col2-set,
body.woocommerce-account #content .addresses.col2-set{display:grid !important;
	grid-template-columns:1fr 1fr !important;gap:40px !important;}
body.woocommerce-account #content .woocommerce-Addresses .woocommerce-Address,
body.woocommerce-account #content .woocommerce-Addresses .col-1,
body.woocommerce-account #content .woocommerce-Addresses .col-2{float:none !important;width:100% !important;
	max-width:100% !important;margin:0 !important;padding:0 !important;}
body.woocommerce-account #content .woocommerce-Addresses::before,
body.woocommerce-account #content .woocommerce-Addresses::after{display:none !important;content:none !important;}
body.woocommerce-account #content .woocommerce-Address-title{display:flex;flex-direction:column;align-items:flex-start;gap:6px;}
body.woocommerce-account #content .woocommerce-Address-title h2,
body.woocommerce-account #content .woocommerce-Address-title h3{order:1;}
body.woocommerce-account #content .woocommerce-Address-title a.edit{order:3;}
body.woocommerce-account #content .woocommerce-Address address{order:2;}
/* the two edit-address forms are also a col2-set on some Woo versions */
body.woocommerce-account #content form .col2-set{display:grid !important;grid-template-columns:1fr 1fr;gap:0 24px;}
body.woocommerce-account #content form .col2-set .col-1,
body.woocommerce-account #content form .col2-set .col-2{float:none !important;width:100% !important;}
/* bigger sidebar marker */
body.woocommerce-account #content .woocommerce-MyAccount-navigation ul li a::before{font-size:1.4rem;font-weight:700;}

/* ---- logowanie / rejestracja: two cards side by side (makieta) ---- */
/* The .u-columns wrapper already provides the two columns; making
   .woocommerce a grid as well halved each card. Keep it a plain block. */
body.woocommerce-account:not(.logged-in) #content .woocommerce{display:block !important;max-width:1180px;}
body.woocommerce-account #content .u-columns.col2-set.woocommerce-Columns--reset,
body.woocommerce-account #content .woocommerce-Columns--reset{display:grid !important;
	grid-template-columns:1fr 1fr !important;gap:40px !important;}
body.woocommerce-account #content .woocommerce-Columns--reset .col-1,
body.woocommerce-account #content .woocommerce-Columns--reset .col-2{float:none !important;width:100% !important;
	margin:0 !important;padding:0 !important;}
body.woocommerce-account #content .woocommerce-form-login,
body.woocommerce-account #content .woocommerce-form-register{border:1px solid #ded8ca !important;
	background:#fff !important;padding:38px 40px 40px !important;margin:0 !important;}
body.woocommerce-account #content .woocommerce-form-login h2,
body.woocommerce-account #content .woocommerce-form-register h2,
body.woocommerce-account #content .u-column1 > h2,
body.woocommerce-account #content .u-column2 > h2{font-family:'Oswald',sans-serif !important;text-transform:uppercase;
	font-weight:700 !important;font-size:1.7rem !important;color:#1a1a1a !important;text-align:center;
	margin:0 0 26px !important;letter-spacing:.02em;}
body.woocommerce-account #content .woocommerce-form-login button[name=login],
body.woocommerce-account #content .woocommerce-form-register button[name=register]{width:100%;
	background:#8f0733 !important;color:#fff !important;font-family:'Oswald',sans-serif !important;
	text-transform:uppercase;letter-spacing:.1em;font-weight:600;font-size:1rem !important;
	padding:17px !important;border:none !important;border-radius:0 !important;margin-top:8px;}
body.woocommerce-account #content .woocommerce-form-login button[name=login]:hover,
body.woocommerce-account #content .woocommerce-form-register button[name=register]:hover{background:#6d0526 !important;}
body.woocommerce-account #content .woocommerce-LostPassword{margin:2px 0 18px;}
body.woocommerce-account #content .woocommerce-LostPassword a{font-size:.92rem;color:#1a1a1a !important;
	text-decoration:underline !important;text-underline-offset:3px;}
body.woocommerce-account #content .woocommerce-form-login__rememberme{display:inline-flex;align-items:center;gap:8px;margin:0 0 6px;}
@media(max-width:900px){
	body.woocommerce-account:not(.logged-in) #content .woocommerce,
	body.woocommerce-account #content .woocommerce-Columns--reset{grid-template-columns:1fr !important;gap:24px !important;}
	body.woocommerce-account #content .woocommerce-form-login,
	body.woocommerce-account #content .woocommerce-form-register{padding:26px 22px !important;}
}

/* the two cards carry their own borders; drop the wrapper outline */
body.woocommerce-account:not(.logged-in) #content .woocommerce,
body.woocommerce-account #content .u-columns.woocommerce-Columns--reset,
body.woocommerce-account #content .u-column1,
body.woocommerce-account #content .u-column2{border:none !important;background:transparent !important;padding:0 !important;}
body.woocommerce-account #content .u-column1 > h2,
body.woocommerce-account #content .u-column2 > h2{border-bottom:none !important;padding-bottom:0 !important;}

/* makieta heading: "Nie masz konta?" sits above "Zarejestruj się". Added here
   rather than via gettext, because the same string labels the submit button. */
body.woocommerce-account #content .u-column2 > h2::before{content:"Nie masz konta?";display:block;}
/* kill every wrapper outline around the two login cards */
body.woocommerce-account #content .woocommerce,
body.woocommerce-account #content .u-columns,
body.woocommerce-account #content .u-columns.col2-set{border:none !important;outline:none !important;
	box-shadow:none !important;background:transparent !important;}

/* ============================================================
   KPX ATC — "Dodałeś do koszyka" modal  (2026-08-18)
   makieta wszystkie_konserwy [po-kliknieciu-do-koszyka]
   ============================================================ */
body.kpxm-open{overflow:hidden;}
.kpxm[hidden]{display:none;}
.kpxm{position:fixed;inset:0;z-index:99999;display:flex;align-items:flex-start;justify-content:center;
	padding:34px 16px;overflow-y:auto;font-family:'Open Sans',sans-serif;}
.kpxm__backdrop{position:fixed;inset:0;background:rgba(12,12,12,.55);}
.kpxm__box{position:relative;width:100%;max-width:790px;background:#fff;box-shadow:0 22px 60px rgba(0,0,0,.3);}

.kpxm__head{display:flex;align-items:center;justify-content:space-between;gap:16px;
	background:#8f0733;color:#fff;padding:14px 20px;font-family:'Oswald',sans-serif;
	font-size:1.06rem;letter-spacing:.02em;}
.kpxm .kpxm__head span{color:#fff !important;}
.kpxm__x{background:none;border:none;color:#fff !important;font-size:1.25rem;line-height:1;cursor:pointer;
	width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.kpxm__x:hover{background:rgba(255,255,255,.18);}

.kpxm__body{padding:24px 26px 26px;}
.kpxm__top{display:grid;grid-template-columns:250px minmax(0,1fr);gap:26px;align-items:start;}
.kpxm__thumb{border:1px solid #ece7db;background:#fff;padding:14px;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;}
.kpxm__thumb img{max-width:100%;max-height:100%;object-fit:contain;}
.kpxm .kpxm__name{font-family:'Oswald',sans-serif !important;font-weight:500 !important;font-size:1.45rem !important;
	color:#1a1a1a !important;margin:0 0 6px !important;text-transform:none !important;}
.kpxm .kpxm__price{font-family:'Oswald',sans-serif !important;font-weight:600 !important;font-size:1.24rem !important;
	color:#1a1a1a !important;margin:0 0 16px !important;}
.kpxm__qty{display:inline-flex;align-items:center;border:1px solid #d3ccbe;border-radius:2px;overflow:hidden;}
.kpxm__qty button{width:40px;height:40px;background:#fff;border:none;cursor:pointer;color:#1a1a1a;
	font-size:1.1rem;display:inline-flex;align-items:center;justify-content:center;padding:0;}
.kpxm__qty button:hover{background:#f4efe4;}
.kpxm__qty span{min-width:52px;text-align:center;line-height:40px;font-family:'Oswald',sans-serif;
	font-size:1.05rem;color:#1a1a1a;border-left:1px solid #d3ccbe;border-right:1px solid #d3ccbe;}
.kpxm .kpxm__meta{margin:14px 0 20px !important;font-size:.85rem;color:#4a4a44 !important;white-space:pre-wrap;}
.kpxm__acts{display:flex;gap:14px;flex-wrap:wrap;}
.kpxm__btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:'Oswald',sans-serif;
	text-transform:uppercase;letter-spacing:.07em;font-weight:600;font-size:.86rem;padding:14px 26px;
	border-radius:2px;cursor:pointer;text-decoration:none !important;border:1px solid #8f0733;}
.kpxm__btn--ghost{background:#fff;color:#8f0733 !important;}
.kpxm__btn--ghost:hover{background:#8f0733;color:#fff !important;}
.kpxm__btn--solid{background:#8f0733;color:#fff !important;}
.kpxm__btn--solid:hover{background:#6d0526;border-color:#6d0526;color:#fff !important;}

.kpxm__cross{border-top:1px solid #ece7db;margin-top:24px;padding-top:20px;}
.kpxm .kpxm__cross h4{font-family:'Oswald',sans-serif !important;font-weight:600 !important;font-size:1.1rem !important;
	color:#1a1a1a !important;margin:0 0 16px !important;text-transform:none !important;}
.kpxm__slider{position:relative;padding:0 26px;}
.kpxm__track{display:flex;gap:14px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;}
.kpxm__track::-webkit-scrollbar{display:none;}
.kpxm__nav{position:absolute;top:38%;transform:translateY(-50%);background:none;border:none;
	font-size:1.7rem;line-height:1;color:#1a1a1a;cursor:pointer;padding:0 4px;z-index:2;}
.kpxm__nav--prev{left:0;} .kpxm__nav--next{right:0;}
.kpxm__tile{flex:0 0 152px;position:relative;text-align:center;}
.kpxm__tile img{width:100%;height:118px;object-fit:contain;background:#fff;border:1px solid #ece7db;padding:8px;box-sizing:border-box;}
.kpxm .kpxm__tile-name{font-size:.78rem;line-height:1.25;margin:9px 0 2px !important;color:#1a1a1a !important;}
.kpxm .kpxm__tile-price{font-family:'Oswald',sans-serif !important;font-weight:600 !important;font-size:.92rem !important;
	color:#1a1a1a !important;margin:0 !important;}
.kpxm__chk{-webkit-appearance:none;appearance:none;position:absolute;top:7px;right:7px;width:19px;height:19px;
	border:1px solid #8f0733;background:#fff;cursor:pointer;z-index:2;margin:0;border-radius:0;}
.kpxm__chk:checked{background:#8f0733;}
.kpxm__chk:checked::after{content:"\2713";display:block;color:#fff;font-size:13px;line-height:17px;text-align:center;}

.kpxm__rows{margin-top:18px;}
.kpxm__row{display:flex;align-items:center;justify-content:space-between;gap:16px;
	padding:13px 0;border-top:1px solid #ece7db;}
.kpxm .kpxm__row-name{font-family:'Oswald',sans-serif !important;font-weight:500 !important;
	font-size:1.02rem !important;color:#1a1a1a !important;}
.kpxm__row-qty{display:flex;align-items:center;border:1px solid #d3ccbe;border-radius:2px;overflow:hidden;flex-shrink:0;}
.kpxm__row-qty button{width:36px;height:34px;background:#fff;border:none;cursor:pointer;color:#1a1a1a;
	display:inline-flex;align-items:center;justify-content:center;font-size:1rem;padding:0;}
.kpxm__row-qty button:hover{background:#f4efe4;}
.kpxm__row-qty span{min-width:44px;text-align:center;line-height:34px;font-family:'Oswald',sans-serif;
	color:#1a1a1a;border-left:1px solid #d3ccbe;border-right:1px solid #d3ccbe;}

.kpxm__foot{display:flex;align-items:stretch;justify-content:center;gap:0;margin-top:20px;}
.kpxm__foot[hidden]{display:none;}
.kpxm .kpxm__total{display:inline-flex;align-items:center;justify-content:center;min-width:150px;
	border:1px solid #8f0733;padding:0 22px;font-family:'Oswald',sans-serif !important;font-weight:700 !important;
	font-size:1.24rem !important;color:#1a1a1a !important;}
.kpxm__foot .kpxm__btn{border-radius:0;}

@media(max-width:720px){
	.kpxm{padding:0;align-items:stretch;}
	.kpxm__box{max-width:none;min-height:100%;}
	.kpxm__top{grid-template-columns:minmax(0,1fr);gap:16px;}
	.kpxm__thumb{max-width:230px;margin:0 auto;}
	.kpxm__acts .kpxm__btn{flex:1 1 100%;}
	.kpxm__foot{flex-direction:column;}
	.kpxm .kpxm__total{padding:12px;}
}

/* ---- mobile touch targets (2026-08-18) ----
   WooCommerce ships 13x13 checkboxes; below WCAG 2.5.8 minimum and hard to
   hit on a phone. Applies to login, checkout consents and the cart. */
@media(max-width:900px){
	body.woocommerce-account #content input[type=checkbox],
	body.woocommerce-cart #content input[type=checkbox],
	body.woocommerce-checkout #content input[type=checkbox],
	body.single-product .kpxp input[type=checkbox],
	.kpxm input[type=checkbox]{width:22px !important;height:22px !important;min-width:22px;
		accent-color:#8f0733;vertical-align:middle;}
	body.woocommerce-account #content .woocommerce-form-login__rememberme{display:flex;align-items:center;
		gap:10px;min-height:44px;}
	/* the add-to-cart modal tile ticks sit on top of the image */
	.kpxm .kpxm__chk{width:24px !important;height:24px !important;}
	.kpxm .kpxm__chk:checked::after{line-height:22px;font-size:15px;}
}

/* remaining small form controls on mobile: archive newsletter consent (13px)
   and the kontakt RODO consent (18px) */
@media(max-width:900px){
	.kpxa-news__consent input[type=checkbox],
	.kpk__consent input[type=checkbox]{width:22px !important;height:22px !important;min-width:22px;
		accent-color:#8f0733;flex-shrink:0;margin-top:1px;}
	.kpxa-news__consent,.kpk__consent{align-items:flex-start;gap:10px;line-height:1.45;}
}

/* ---- mobile cart / checkout / account density (2026-08-18) ----
   The desktop card padding left only ~300px of usable width on a 390px
   screen, so headings wrapped mid-phrase. ---- */
@media(max-width:560px){
	body.woocommerce-cart #content .woocommerce,
	body.woocommerce-checkout #content .woocommerce{padding:16px 14px 44px !important;}
	body.woocommerce-cart .woocommerce-cart-form{padding:16px 14px 6px !important;}
	body.woocommerce-cart #content .cart_totals{padding:18px 16px 20px !important;}
	body.woocommerce-cart .kpwc-head{flex-wrap:wrap;gap:8px;}
	body.woocommerce-cart #content .kpwc-head .kpwc-title{font-size:1.16rem !important;}
	body.woocommerce-cart #content h1.kpwc-cart-title{font-size:1.7rem !important;margin:4px 0 16px !important;}
	body.woocommerce-cart .kpwc-clear{font-size:.78rem;}
	body.woocommerce-cart table.cart td{padding:12px 2px !important;}
	body.woocommerce-cart td.product-thumbnail{width:58px !important;}
	body.woocommerce-cart td.product-thumbnail img{width:54px !important;}
	body.woocommerce-cart #content .shop_table td.product-name a{font-size:.98rem !important;}
	body.woocommerce-cart #content .cart_totals h2{font-size:1.16rem !important;}
	body.woocommerce-account #content .woocommerce{padding:18px 14px 50px !important;}
	body.woocommerce-account #content .woocommerce-form-login,
	body.woocommerce-account #content .woocommerce-form-register{padding:20px 16px 22px !important;}
	body.single-product .kpxp{padding:16px 14px 50px !important;}
	body.woocommerce-checkout #content .woocommerce-billing-fields,
	body.woocommerce-checkout #content #order_review{padding:16px 14px !important;}
}

/* ---- mobile cart rows (2026-08-18) ----
   woocommerce-smallscreen.css stacks the cart table and prefixes every cell
   with its data-title ("Produkt:", "Ilość:"). Replace that with a real row:
   thumbnail on the left, name above, stepper and line total beneath. */
@media(max-width:560px){
	body.woocommerce-cart table.cart{display:block !important;}
	body.woocommerce-cart table.cart tbody{display:block !important;}
	body.woocommerce-cart table.cart td::before{display:none !important;content:none !important;}
	body.woocommerce-cart table.cart tr.woocommerce-cart-form__cart-item{
		display:grid !important;grid-template-columns:60px minmax(0,1fr) auto;
		grid-template-areas:"thumb name name" "thumb qty total";
		gap:8px 12px;align-items:center;padding:14px 0;border-top:1px solid #ece7db;}
	body.woocommerce-cart table.cart tr.woocommerce-cart-form__cart-item:first-child{border-top:none;}
	body.woocommerce-cart table.cart td{display:block !important;border:none !important;
		padding:0 !important;text-align:left !important;width:auto !important;}
	body.woocommerce-cart td.product-thumbnail{grid-area:thumb;width:60px !important;}
	body.woocommerce-cart td.product-thumbnail img{width:60px !important;}
	body.woocommerce-cart td.product-name{grid-area:name;}
	body.woocommerce-cart td.product-quantity{grid-area:qty;}
	body.woocommerce-cart td.product-subtotal{grid-area:total;text-align:right !important;font-size:1.05rem !important;}
	body.woocommerce-cart .kpwc-unit{font-size:.95rem;}
	body.woocommerce-cart .kpwc-ship{font-size:.72rem;}
	body.woocommerce-cart .woocommerce .quantity input.qty{width:42px;height:38px;}
	body.woocommerce-cart .kpw-qtybtn{width:36px;height:38px;}
}

/* ---- mobile: totals + login box (2026-08-18) ----
   woocommerce-smallscreen.css also prefixes .cart_totals cells with their
   data-title, so every row rendered twice ("Liczba produktów" /
   "Liczba produktów:3") and the value overflowed the card. */
@media(max-width:560px){
	body.woocommerce-cart .cart_totals td::before,
	body.woocommerce-cart .cart_totals th::before,
	body.woocommerce-checkout .shop_table td::before,
	body.woocommerce-checkout .shop_table th::before{display:none !important;content:none !important;}
	body.woocommerce-cart #content .cart_totals tr{gap:10px;}
	body.woocommerce-cart #content .cart_totals th{flex:1 1 auto;min-width:0;}
	body.woocommerce-cart #content .cart_totals td{flex:0 0 auto;white-space:nowrap;}

	/* "Masz już konto?" actions were breaking mid-word */
	body.woocommerce-cart .kpw-loginbox{flex-direction:column;align-items:stretch;gap:14px;padding:18px 16px;}
	body.woocommerce-cart .kpw-loginbox__btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
	body.woocommerce-cart .kpw-loginbox__btns .kpw-btn{padding:13px 8px;font-size:.76rem;text-align:center;
		white-space:nowrap;display:flex;align-items:center;justify-content:center;}
}

/* ---- cart line thumbnails (2026-08-18) ----
   Product photos are landscape; the cell must letterbox rather than crop.
   Paired with the woocommerce_cart_item_thumbnail filter that swaps the hard
   300x300 `woocommerce_thumbnail` for the uncropped `medium` size. */
body.woocommerce-cart #content td.product-thumbnail img,
body.woocommerce-cart #content td.product-thumbnail .kpwc-thumb{
	width:92px !important;height:auto !important;max-height:76px;
	object-fit:contain !important;display:block;}
@media(max-width:560px){
	body.woocommerce-cart table.cart tr.woocommerce-cart-form__cart-item{
		grid-template-columns:70px minmax(0,1fr) auto;}
	body.woocommerce-cart td.product-thumbnail{width:70px !important;}
	body.woocommerce-cart #content td.product-thumbnail img,
	body.woocommerce-cart #content td.product-thumbnail .kpwc-thumb{
		width:70px !important;max-height:56px;}
}

/* the add-to-cart modal and product-page tiles now receive uncropped art too */
.kpxm__tile img,.kpxm__thumb img{object-fit:contain !important;}
body.single-product .kpxp .kpxp-rel__item img{object-fit:contain !important;}

/* ============================================================
   STRONA "O NAS"  (2026-08-18)
   Reuses the homepage design language: Playfair display hero,
   Oswald section heads, maroon/olive/sand palette, stamp
   watermark, full-bleed image bands.
   Rendered by the [kp_o_nas] shortcode (see functions.php).
   ============================================================ */

/* page.php prints its own .page-header (duplicate title) and boxes the
   content in .container — both are suppressed so the sections go full-bleed. */
body.kp-onas .page-header{display:none !important;}
body.kp-onas .site-main{padding:0 !important;}
body.kp-onas .site-main .container,
body.kp-onas .site-main .container.section{max-width:none !important;width:100% !important;
	padding:0 !important;margin:0 !important;}
body.kp-onas .entry-content{max-width:none !important;margin:0 !important;}
body.kp-onas #content,body.kp-onas .site-content,body.kp-onas .site-wrapper{background:#fff !important;}

body.kp-onas .kpo-wrap{max-width:1400px;margin:0 auto;padding:0 30px;}
body.kp-onas .kpo-h2{font-family:'Oswald',sans-serif !important;text-transform:uppercase;font-weight:700 !important;
	letter-spacing:.06em;font-size:clamp(1.6rem,3.2vw,2.6rem) !important;line-height:1.05;
	margin:0 0 6px !important;color:#161616 !important;}
body.kp-onas .kpo-h2--light{color:#fff !important;}
body.kp-onas .kpo-rule{height:1px;background:currentColor;opacity:.15;margin:14px 0 38px;}
/* max-width keeps the box over the darkened part of the photo, and the lighter
   tint lifts it clear of the brightest pixel behind it (was 2.74:1) */
body.kp-onas .kpo-eyebrow{font-family:'Oswald',sans-serif !important;text-transform:uppercase;
	letter-spacing:.2em;font-size:.78rem;color:#f3e2e8 !important;margin:0 0 14px !important;
	max-width:620px;text-shadow:0 1px 8px rgba(0,0,0,.6);}
body.kp-onas .kpo-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#8f0733;
	color:#fff !important;font-family:'Oswald',sans-serif !important;text-transform:uppercase;letter-spacing:.08em;
	font-weight:600;font-size:.86rem;padding:15px 28px;border-radius:2px;text-decoration:none !important;
	border:1px solid #8f0733;transition:background .2s,transform .2s;}
body.kp-onas .kpo-btn:hover{background:#6d0526;border-color:#6d0526;color:#fff !important;transform:translateY(-1px);}
body.kp-onas .kpo-btn--ghost{background:transparent;border-color:rgba(255,255,255,.55);}
body.kp-onas .kpo-btn--ghost:hover{background:rgba(255,255,255,.14);border-color:#fff;}
body.kp-onas .kpo-btn--dark{background:#161616;border-color:#161616;}
body.kp-onas .kpo-btn--dark:hover{background:#000;border-color:#000;}

/* ---- hero ---- */
body.kp-onas .kpo-hero{position:relative;min-height:460px;display:flex;align-items:center;color:#fff;
	background:linear-gradient(90deg,rgba(8,8,8,.95) 0%,rgba(8,8,8,.9) 42%,rgba(10,10,10,.62) 72%,rgba(40,44,34,.34) 100%),
		var(--kpo-hero) center/cover no-repeat;padding:70px 0;}
body.kp-onas .kpo-hero__title{font-family:'Playfair Display',Georgia,serif !important;font-weight:900 !important;
	font-size:clamp(2.6rem,6vw,4.6rem) !important;line-height:1 !important;margin:0 0 18px !important;color:#fff !important;}
body.kp-onas .kpo-hero__lead{font-family:'Open Sans',sans-serif !important;font-size:clamp(1rem,1.5vw,1.16rem);
	line-height:1.6;color:#f2f0eb !important;max-width:620px;margin:0 0 30px !important;
	text-shadow:0 1px 8px rgba(0,0,0,.6);}
body.kp-onas .kpo-hero__cta{display:flex;gap:14px;flex-wrap:wrap;}

/* ---- misja ---- */
body.kp-onas .kpo-misja{position:relative;color:#fff;padding:84px 0;
	background:linear-gradient(rgba(15,16,15,.86),rgba(15,16,15,.9)),var(--kpo-misja) center/cover;}
body.kp-onas .kpo-misja .kpo-h2{text-align:center;letter-spacing:.14em;margin-bottom:36px !important;}
body.kp-onas .kpo-misja__box{max-width:940px;margin:0 auto;border-left:4px solid #8f0733;padding:6px 0 6px 30px;}
body.kp-onas .kpo-misja__lead{font-family:'Oswald',sans-serif !important;text-transform:uppercase;
	letter-spacing:.04em;font-weight:600 !important;font-size:1.22rem !important;color:#fff !important;margin:0 0 22px !important;}
body.kp-onas .kpo-misja__box p{font-family:'Open Sans',sans-serif !important;line-height:1.75;
	color:#e6e3db !important;margin:0 0 18px !important;font-size:.99rem;}
body.kp-onas .kpo-misja__box strong{color:#fff !important;}

/* ---- values ---- */
body.kp-onas .kpo-values{position:relative;background:#fff;padding:74px 0;overflow:hidden;}
body.kp-onas .kpo-stamp{position:absolute;right:-90px;top:40px;width:420px;opacity:.12;pointer-events:none;z-index:0;}
body.kp-onas .kpo-values .kpo-wrap{position:relative;z-index:1;}
body.kp-onas .kpo-values__grid{list-style:none;margin:0;padding:0;display:grid;
	grid-template-columns:repeat(5,1fr);gap:22px;}
body.kp-onas .kpo-value{background:#f4efe4;padding:26px 22px 24px;border-top:3px solid #8f0733;}
body.kp-onas .kpo-value__num{font-family:'Oswald',sans-serif !important;font-weight:700;font-size:.86rem;
	color:#8f0733 !important;letter-spacing:.1em;display:block;margin-bottom:10px;}
body.kp-onas .kpo-value h3{font-family:'Oswald',sans-serif !important;text-transform:uppercase;
	font-weight:600 !important;font-size:1.06rem !important;color:#161616 !important;margin:0 0 8px !important;letter-spacing:.03em;}
body.kp-onas .kpo-value p{font-size:.88rem;line-height:1.55;color:#4a4a44 !important;margin:0 !important;}

/* ---- stats ---- */
body.kp-onas .kpo-stats{background:#dbd3be;padding:54px 0;}
body.kp-onas .kpo-stats__row{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;max-width:1080px;}
body.kp-onas .kpo-stat{padding:28px 22px;text-align:center;color:#fff;border-radius:2px;}
body.kp-onas .kpo-stat--black{background:#000;}
body.kp-onas .kpo-stat--green{background:#404d39;}
body.kp-onas .kpo-stat--maroon{background:#950236;}
body.kp-onas .kpo-stat__num{font-family:'Oswald',sans-serif !important;font-weight:700;
	font-size:clamp(2rem,4vw,2.9rem);line-height:1;color:#fff !important;}
body.kp-onas .kpo-stat__label{font-family:'Open Sans',sans-serif !important;font-size:.84rem;
	margin-top:10px;color:#fff !important;opacity:.92;line-height:1.45;}

/* ---- co robimy ---- */
body.kp-onas .kpo-doing{background:#fff;padding:74px 0;}
body.kp-onas .kpo-doing__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
body.kp-onas .kpo-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e3ddd0;padding:26px 22px 22px;}
body.kp-onas .kpo-card__title{font-family:'Oswald',sans-serif !important;text-transform:uppercase;
	font-weight:700 !important;font-size:1.08rem !important;line-height:1.15;color:#161616 !important;
	margin:0 0 12px !important;letter-spacing:.03em;}
body.kp-onas .kpo-card__desc{font-size:.9rem;line-height:1.6;color:#4a4a44 !important;margin:0 0 14px !important;}
body.kp-onas .kpo-card__list{list-style:none;margin:0 0 18px !important;padding:0;}
body.kp-onas .kpo-card__list li{position:relative;padding-left:16px;margin-bottom:7px;font-size:.85rem;
	line-height:1.5;color:#333 !important;}
body.kp-onas .kpo-card__list li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;background:#8f0733;}
body.kp-onas .kpo-card__more{margin-top:auto;font-family:'Oswald',sans-serif !important;text-transform:uppercase;
	letter-spacing:.08em;font-size:.76rem;color:#8f0733 !important;text-decoration:none !important;}
body.kp-onas .kpo-card__more:hover{color:#6d0526 !important;text-decoration:underline !important;}

/* ---- kolekcja ---- */
body.kp-onas .kpo-collection{background:#161616;color:#fff;padding:74px 0;}
body.kp-onas .kpo-collection__in{display:grid;grid-template-columns:1fr 1.25fr;gap:52px;align-items:start;}
body.kp-onas .kpo-collection p{color:#d7d4cc !important;line-height:1.75;font-size:.99rem;margin:0 !important;}
body.kp-onas .kpo-collection__cols{display:grid;grid-template-columns:1fr 1fr;gap:36px;}
body.kp-onas .kpo-collection__cols h3{font-family:'Oswald',sans-serif !important;text-transform:uppercase;
	font-weight:600 !important;font-size:1rem !important;color:#fff !important;margin:0 0 14px !important;letter-spacing:.08em;}
body.kp-onas .kpo-collection__cols ul{list-style:none;margin:0;padding:0;}
body.kp-onas .kpo-collection__cols li{position:relative;padding-left:16px;margin-bottom:10px;
	font-size:.9rem;line-height:1.55;color:#cfccc3 !important;}
body.kp-onas .kpo-collection__cols li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;background:#8f0733;}

/* ---- wspieramy ---- */
body.kp-onas .kpo-wsp{position:relative;background:#3e4536 var(--kpo-wsp) center/cover no-repeat;
	padding:80px 0;color:#fff;}
body.kp-onas .kpo-wsp__box{max-width:620px;}
body.kp-onas .kpo-wsp__title{font-family:'Oswald',sans-serif !important;text-transform:uppercase;font-weight:700 !important;
	letter-spacing:.05em;color:#fff !important;background:linear-gradient(90deg,#8f0733 0%,#8f0733 66%,rgba(143,7,51,.1) 100%);
	display:inline-block;padding:12px 80px 12px 20px;font-size:clamp(1.25rem,2.4vw,1.85rem) !important;margin:0 0 24px !important;}
body.kp-onas .kpo-wsp p{font-family:'Open Sans',sans-serif !important;line-height:1.75;color:#eceae4 !important;
	margin:0 0 16px !important;text-shadow:0 1px 6px rgba(0,0,0,.5);}
body.kp-onas .kpo-wsp__sign{display:flex;align-items:center;gap:14px;margin-top:24px;}
body.kp-onas .kpo-wsp__sign img{width:50px;height:auto;}
body.kp-onas .kpo-wsp__sign span{font-size:.87rem;color:#e4e2da !important;max-width:430px;
	text-shadow:0 1px 6px rgba(0,0,0,.5);}

/* ---- cta ---- */
body.kp-onas .kpo-cta{background:#f4efe4;padding:56px 0;}
body.kp-onas .kpo-cta__in{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;}
body.kp-onas .kpo-cta p{color:#4a4a44 !important;margin:10px 0 0 !important;font-size:.96rem;max-width:620px;}
body.kp-onas .kpo-cta__btns{display:flex;gap:14px;flex-wrap:wrap;}

/* ---- responsive ---- */
@media(max-width:1024px){
	body.kp-onas .kpo-values__grid{grid-template-columns:repeat(3,1fr);}
	body.kp-onas .kpo-doing__grid{grid-template-columns:repeat(2,1fr);}
	body.kp-onas .kpo-collection__in{grid-template-columns:1fr;gap:34px;}
	body.kp-onas .kpo-stamp{width:300px;right:-60px;}
}
@media(max-width:768px){
	body.kp-onas .kpo-wrap{padding:0 18px;}
	body.kp-onas .kpo-hero{min-height:380px;padding:56px 0;}
	body.kp-onas .kpo-misja,body.kp-onas .kpo-values,body.kp-onas .kpo-doing,
	body.kp-onas .kpo-collection{padding:52px 0;}
	/* The 90deg gradients assume a wide canvas; on a phone the text lands on the
	   bright side of both photos (measured 1.1-2.9:1). Use a flat vertical scrim. */
	body.kp-onas .kpo-hero{background:linear-gradient(180deg,rgba(8,8,8,.9) 0%,rgba(8,8,8,.84) 55%,rgba(8,8,8,.9) 100%),
		var(--kpo-hero) 60% center/cover no-repeat;}
	body.kp-onas .kpo-wsp{padding:56px 0;
		background:linear-gradient(180deg,rgba(18,22,15,.9) 0%,rgba(18,22,15,.86) 55%,rgba(18,22,15,.92) 100%),
		var(--kpo-wsp) 72% center/cover no-repeat;}
	body.kp-onas .kpo-wsp__title{background:#8f0733;}
	body.kp-onas .kpo-stats__row{grid-template-columns:1fr;gap:16px;}
	body.kp-onas .kpo-values__grid{grid-template-columns:repeat(2,1fr);gap:16px;}
	body.kp-onas .kpo-collection__cols{grid-template-columns:1fr;gap:26px;}
	body.kp-onas .kpo-stamp{display:none;}
	body.kp-onas .kpo-misja__box{padding-left:20px;}
	body.kp-onas .kpo-wsp__title{padding:10px 26px 10px 16px;}
	body.kp-onas .kpo-cta__in{flex-direction:column;align-items:flex-start;}
}
@media(max-width:520px){
	body.kp-onas .kpo-values__grid,
	body.kp-onas .kpo-doing__grid{grid-template-columns:1fr;}
	body.kp-onas .kpo-hero__cta .kpo-btn,
	body.kp-onas .kpo-cta__btns .kpo-btn{flex:1 1 100%;}
}

/* solid break between the two photographic bands on O nas (client note:
   "te zdjecia troche sie gryza ze soba") */
body.kp-onas .kpo-sep{position:relative;height:78px;background:#0c0c0c;}
body.kp-onas .kpo-sep::after{content:"";position:absolute;left:50%;top:50%;
	transform:translate(-50%,-50%);width:78px;height:3px;background:#8f0733;}
@media(max-width:768px){body.kp-onas .kpo-sep{height:54px;}}
