/* Remove WooCommerce default page padding */
.woocommerce-page .woocommerce,
.single-product .woocommerce,
.single-product #page,
.single-product #content,
.single-product .site-content,
.single-product main,
.single-product article {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/**
 * Neno Beauty — woocommerce.css
 * Style dla stron kategorii, produktów i koszyka
 */

/* ===== CATEGORY BANNER ===== */
.cat-banner {
    width: 100%; height: 340px;
    position: relative; overflow: hidden;
}
.cat-banner img {
    width: 100%; height: 100%; object-fit: cover; object-position: center 25%;
}
.cat-banner::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(to right, rgba(255,255,255,.85) 0%, rgba(255,255,255,.5) 40%, rgba(255,255,255,0) 70%);
}
.cat-banner-content {
    position: absolute; inset: 0; z-index: 2;
    display: flex; flex-direction: column; justify-content: center;
    padding: 0 80px; gap: 10px;
}
.cat-banner-label {
    font-size: 10px; letter-spacing: .3em; text-transform: uppercase;
    color: var(--gold); font-weight: 600;
}
.cat-banner-title {
    font-size: clamp(32px,5vw,56px); font-weight: 300;
    letter-spacing: .04em; color: var(--black); line-height: 1;
}
.cat-banner-desc {
    font-size: 14px; font-weight: 300; color: var(--gray-text);
    max-width: 420px; line-height: 1.7;
}

/* ===== SUBCATEGORY TABS ===== */
.subcat-tabs {
    display: flex; gap: 0; overflow-x: auto; padding: 0 80px;
    border-bottom: 1px solid var(--gray-mid); scrollbar-width: none;
}
.subcat-tabs::-webkit-scrollbar { display: none; }
.subcat-tab {
    font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
    font-weight: 500; padding: 18px 28px; cursor: pointer; white-space: nowrap;
    color: var(--gray-text); border-bottom: 2px solid transparent; margin-bottom: -1px;
    transition: color .25s, border-color .25s;
    background: none; border-top: none; border-left: none; border-right: none;
    font-family: var(--font-body);
}
.subcat-tab:hover { color: var(--black); }
.subcat-tab.active { color: var(--black); border-bottom-color: var(--gold); }

/* ===== TOOLBAR ===== */
.cat-toolbar {
    display: flex; justify-content: space-between; align-items: center;
    padding: 24px 80px; flex-wrap: wrap; gap: 16px;
}
.toolbar-left { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.results-count { font-size: 12px; color: var(--gray-text); letter-spacing: .04em; margin-right: 8px; }
.filter-chip {
    display: flex; align-items: center; gap: 6px;
    padding: 7px 14px; border: 1px solid var(--gray-mid);
    font-size: 10px; letter-spacing: .12em; text-transform: uppercase;
    font-weight: 500; cursor: pointer; background: var(--white);
    font-family: var(--font-body); color: var(--gray-text);
    transition: all .2s; white-space: nowrap;
}
.filter-chip.active { background: var(--black); color: var(--white); border-color: var(--black); }
.chip-remove { font-size: 12px; opacity: .7; cursor: pointer; }
.filter-btn-main {
    padding: 9px 20px; border: 1px solid var(--gray-mid);
    font-size: 10px; letter-spacing: .18em; text-transform: uppercase;
    font-weight: 600; cursor: pointer; background: var(--white);
    font-family: var(--font-body); color: var(--black);
    display: flex; align-items: center; gap: 8px; transition: all .2s;
}
.filter-btn-main:hover { background: var(--black); color: var(--white); border-color: var(--black); }
.toolbar-right { display: flex; gap: 12px; align-items: center; }
.sort-select {
    padding: 9px 36px 9px 14px; border: 1px solid var(--gray-mid);
    font-family: var(--font-body); font-size: 12px; font-weight: 400;
    color: var(--black); outline: none; cursor: pointer; appearance: none;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236b6560' stroke-width='1.2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 12px center;
    transition: border-color .2s;
}
.sort-select:focus { border-color: var(--black); }
.view-toggle { display: flex; }
.view-btn {
    width: 34px; height: 34px; display: flex; align-items: center; justify-content: center;
    cursor: pointer; border: 1px solid var(--gray-mid); font-size: 14px;
    background: var(--white); transition: all .2s; color: var(--gray-text);
}
.view-btn:first-child { border-right: none; }
.view-btn.active { background: var(--black); color: var(--white); border-color: var(--black); }

/* ===== MAIN LAYOUT ===== */
.cat-main {
    display: grid; grid-template-columns: 240px 1fr;
    gap: 0; padding: 0 80px 100px; align-items: start;
}

/* ===== SIDEBAR ===== */
.cat-sidebar { padding-right: 40px; position: sticky; top: calc(var(--nav-h) + 20px); }
.filter-group { margin-bottom: 32px; }
.filter-group-title {
    font-size: 11px; letter-spacing: .2em; text-transform: uppercase;
    font-weight: 700; margin-bottom: 16px; padding-bottom: 12px;
    border-bottom: 1px solid var(--gray-mid);
    display: flex; justify-content: space-between; align-items: center; cursor: pointer;
}
.filter-group-title .arrow { font-size: 10px; color: var(--gray-text); transition: transform .2s; }
.filter-group.collapsed .arrow { transform: rotate(-90deg); }
.filter-options { display: flex; flex-direction: column; gap: 10px; }
.filter-option {
    display: flex; align-items: center; gap: 10px;
    cursor: pointer; font-size: 13px; font-weight: 300;
}
.fcheck {
    width: 16px; height: 16px; border: 1px solid var(--gray-mid);
    flex-shrink: 0; display: flex; align-items: center; justify-content: center;
    transition: all .2s;
}
.filter-option.checked .fcheck { background: var(--black); border-color: var(--black); }
.filter-option.checked .fcheck::after { content: '✓'; color: var(--white); font-size: 9px; font-weight: 700; }
.filter-count { font-size: 11px; color: var(--gray-text); margin-left: auto; }
.price-range { margin-top: 8px; }
.price-inputs { display: flex; gap: 10px; align-items: center; margin-bottom: 12px; }
.price-input {
    flex: 1; padding: 8px 10px; border: 1px solid var(--gray-mid);
    font-family: var(--font-body); font-size: 12px; font-weight: 300;
    outline: none; text-align: center;
}
.price-input:focus { border-color: var(--black); }
.price-sep { font-size: 12px; color: var(--gray-text); }
.range-slider {
    width: 100%; height: 2px; background: var(--gray-mid);
    position: relative; margin: 8px 0;
}
.range-fill { position: absolute; height: 100%; background: var(--black); left: 10%; right: 20%; }
.range-handle {
    position: absolute; top: 50%; transform: translate(-50%,-50%);
    width: 14px; height: 14px; border-radius: 50%;
    background: var(--black); cursor: grab;
}
.range-handle.left { left: 10%; }
.range-handle.right { left: 80%; }
.clear-filters {
    font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
    color: var(--gray-text); cursor: pointer; font-weight: 500;
    transition: color .2s; margin-top: 16px; display: inline-block;
}
.clear-filters:hover { color: var(--black); text-decoration: underline; }
.sidebar-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.4); z-index: 200; }
.sidebar-overlay.visible { display: block; }

/* ===== PRODUCT CARDS ===== */
.products-area {}
.products-grid-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 2px; }
.products-grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 2px; }

/* ---- KARTA PRODUKTU - wcześniejsze reguły usunięte, kanoniczne są przy 3194+ ---- */

.prod-badge {
    position: absolute; top: 12px; left: 12px; z-index: 2;
    font-size: 9px; letter-spacing: .15em; text-transform: uppercase;
    font-weight: 700; padding: 4px 10px;
}
.prod-badge.new { background: var(--gold); color: var(--white); }
.prod-badge.sale { background: #c0392b; color: var(--white); }
.prod-badge.bestseller { background: var(--black); color: var(--white); }
.prod-quick-add {
    position: absolute; bottom: 0; left: 0; right: 0; z-index: 2;
    background: rgba(26,26,26,.9); color: var(--white);
    padding: 12px; text-align: center;
    font-size: 10px; letter-spacing: .2em; text-transform: uppercase; font-weight: 600;
    transform: translateY(100%); transition: transform .3s ease;
    cursor: pointer;
}
.prod-card:hover .prod-quick-add { transform: translateY(0); }
.prod-wishlist {
    position: absolute; top: 12px; right: 12px; z-index: 3;
    width: 32px; height: 32px; border-radius: 50%;
    background: rgba(255,255,255,.85); display: flex; align-items: center;
    justify-content: center; font-size: 14px; cursor: pointer;
    opacity: 0; transition: opacity .2s;
}
.prod-card:hover .prod-wishlist { opacity: 1; }
.prod-info { padding: 16px 0; }
.prod-cat-label {
    font-size: 9px; letter-spacing: .2em; text-transform: uppercase;
    color: var(--gold); font-weight: 600; margin-bottom: 6px;
}
.prod-name { font-size: 14px; font-weight: 500; line-height: 1.3; margin-bottom: 4px; }
.prod-tagline { font-size: 12px; font-weight: 300; color: var(--gray-text); margin-bottom: 10px; line-height: 1.4; }
.prod-price-row { display: flex; align-items: baseline; gap: 10px; }
.prod-price { font-size: 18px; font-weight: 600; color: var(--black); }
.prod-price-old { font-size: 13px; color: var(--gray-text); text-decoration: line-through; }
.prod-price-badge { font-size: 9px; background: #fdf0e8; color: var(--gold); padding: 2px 7px; font-weight: 700; letter-spacing: .06em; }

/* ===== LIST VIEW ===== */
.products-list { display: flex; flex-direction: column; gap: 2px; }
.prod-list-item {
    display: grid; grid-template-columns: 200px 1fr auto;
    gap: 24px; align-items: center; background: var(--white);
    padding: 20px 0; border-bottom: 1px solid var(--gray-mid);
    cursor: pointer; transition: background .2s;
}
.prod-list-item:hover { background: var(--gray-light); margin: 0 -16px; padding: 20px 16px; }
.prod-list-img { width: 200px; height: 200px; overflow: hidden; background: var(--gray-light); }
.prod-list-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.prod-list-item:hover .prod-list-img img { transform: scale(1.03); }
.prod-list-info { display: flex; flex-direction: column; gap: 8px; }
.prod-list-actions { display: flex; flex-direction: column; gap: 10px; align-items: flex-end; }
.add-to-cart-btn {
    padding: 11px 24px; background: var(--black); color: var(--white);
    font-size: 10px; letter-spacing: .2em; text-transform: uppercase; font-weight: 600;
    cursor: pointer; border: none; font-family: var(--font-body); transition: background .3s; white-space: nowrap;
}
.add-to-cart-btn:hover { background: #333; }
.wishlist-btn {
    font-size: 10px; letter-spacing: .12em; text-transform: uppercase;
    color: var(--gray-text); cursor: pointer; font-weight: 500;
    background: none; border: none; font-family: var(--font-body); transition: color .2s;
}
.wishlist-btn:hover { color: var(--black); }

/* ===== NO RESULTS ===== */
.no-results {
    text-align: center; padding: 80px 20px;
    display: flex; flex-direction: column; align-items: center; gap: 16px;
}
.no-results-icon { font-size: 48px; opacity: .3; }
.no-results h3 { font-size: 22px; font-weight: 400; }
.no-results p { font-size: 14px; color: var(--gray-text); font-weight: 300; }

/* ===== PAGINATION ===== */
.cat-pagination { display: flex; justify-content: center; gap: 4px; padding: 48px 0 0; }
.cat-pagination .page-numbers {
    width: 38px; height: 38px; display: flex; align-items: center; justify-content: center;
    font-size: 12px; font-weight: 500; cursor: pointer;
    border: 1px solid transparent; transition: all .2s; color: var(--black);
    text-decoration: none;
}
.cat-pagination .page-numbers:hover { border-color: var(--gray-mid); }
.cat-pagination .page-numbers.current { background: var(--black); color: var(--white); border-color: var(--black); }
.cat-pagination .page-numbers.dots { border: none; cursor: default; color: var(--gray-text); }

/* ===== RESPONSIVE ===== */
@media (max-width: 1200px) {
    .products-grid-4 { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 1024px) {
    .cat-main { grid-template-columns: 1fr; padding: 0 40px 80px; }
    .cat-sidebar {
        position: fixed; top: 0; left: -280px; width: 280px; height: 100vh;
        overflow-y: auto; background: var(--white); z-index: 300;
        padding: 60px 24px 40px; transition: left .3s ease; box-shadow: none;
    }
    .cat-sidebar.open { left: 0; box-shadow: 4px 0 20px rgba(0,0,0,.1); }
    .products-grid-4, .products-grid-3 { grid-template-columns: repeat(2,1fr); }
    .cat-banner-content, .cat-toolbar, .breadcrumb, .subcat-tabs { padding-left: 40px; padding-right: 40px; }
}
@media (max-width: 768px) {
    .cat-banner { height: 240px; }
    .cat-banner-content { padding: 0 24px; }
    .breadcrumb, .cat-toolbar, .subcat-tabs { padding-left: 20px; padding-right: 20px; }
    .cat-main { padding: 0 20px 60px; }
    .products-grid-4, .products-grid-3 { grid-template-columns: repeat(2,1fr); }
    .prod-list-item { grid-template-columns: 120px 1fr; }
    .prod-list-actions { display: none; }
    .prod-list-img { width: 120px; height: 120px; }
}

/* ===== PRODUCT CARD IMAGE BORDER ===== */
.prod-card-img {
  border: 1px solid var(--gray-mid);
  transition: border-color .3s;
}
.prod-card:hover .prod-card-img {
  border-color: #c0bab3;
}

/* ===== HOVER IMAGE SWAP ===== */
.prod-card-img img.img-main { opacity: 1; z-index: 1; }
.prod-card-img img.img-hover { opacity: 0; z-index: 2; }
.prod-card:hover .prod-card-img img.img-main { opacity: 0; }
.prod-card:hover .prod-card-img img.img-hover { opacity: 1; }

/* ===== QUICK ADD BUTTON (hover) ===== */
.prod-quick-add {
  position: absolute;
  bottom: 14px; left: 50%;
  transform: translateX(-50%) translateY(6px);
  z-index: 4; white-space: nowrap;
  background: rgba(255,255,255,.92); color: var(--black);
  border: 1px solid rgba(0,0,0,.15);
  padding: 10px 24px;
  font-size: 11px; letter-spacing: .1em; font-weight: 400;
  opacity: 0; transition: opacity .3s ease, transform .3s ease;
  cursor: pointer;
}
.prod-card:hover .prod-quick-add {
  opacity: 1; transform: translateX(-50%) translateY(0);
}


/* ================================================================
   KOSZYK — uzupełnienie do klas z main.css
   ================================================================ */

/* Szerokość 1440px */
.cart-layout  { max-width: 1440px !important; }
.checkout-layout { max-width: 1440px !important; }

/* Ukryj domyślny tytuł strony WooCommerce */
.woocommerce-cart h1.entry-title,
.woocommerce-checkout h1.entry-title { display: none !important; }

/* Zdjęcie produktu w koszyku — większe */
.item-img { width: 110px !important; height: 110px !important; }
.item-img a { display: block; width: 100%; height: 100%; }
.item-img img { transition: transform .4s; }
.cart-item:hover .item-img img { transform: scale(1.04); }

/* Nazwa produktu */
.item-name { font-size: clamp(18px,2vw,24px) !important; }
.item-name a { color: var(--black); text-decoration: none; }
.item-name a:hover { opacity: .7; }

/* Usuń link */
.item-remove {
  display: inline-block;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color .2s, border-color .2s;
}
.item-remove:hover { color: #c0392b !important; border-bottom-color: #c0392b; }

/* Cena produktu */
.item-price { font-size: 22px !important; }

/* Checkout — pola WooCommerce */
.woocommerce form .form-row { margin: 0 0 16px !important; padding: 0 !important; }
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  width: 100%; padding: 13px 16px;
  border: 1px solid var(--gray-mid); border-radius: 0;
  font-family: var(--font-body); font-size: 13px;
  color: var(--black); outline: none;
  transition: border-color .2s;
  -webkit-appearance: none; appearance: none;
  box-shadow: none;
}
.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row select:focus { border-color: var(--black); }
.woocommerce form .form-row label {
  font-size: 10px; letter-spacing: .16em; text-transform: uppercase;
  font-weight: 600; color: var(--gray-text); display: block; margin-bottom: 6px;
}
.woocommerce form .form-row label .required { color: var(--gold); }
.woocommerce form .form-row.woocommerce-invalid .input-text { border-color: #c0392b; }
.woocommerce form .form-row select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b6560' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px;
}

/* Imię i nazwisko obok siebie */
#billing_first_name_field, #billing_last_name_field,
#shipping_first_name_field, #shipping_last_name_field {
  width: calc(50% - 8px); display: inline-block; vertical-align: top;
}
#billing_last_name_field, #shipping_last_name_field { margin-left: 16px; }

/* Płatności WooCommerce */
#payment { background: none !important; border-radius: 0 !important; }
#payment .payment_methods { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
#payment .payment_methods li { border: 1px solid var(--gray-mid); }
#payment .payment_methods li.wc_payment_method > label {
  display: flex; align-items: center; gap: 14px; padding: 15px 18px;
  cursor: pointer; font-size: 13px; font-weight: 400;
  background: var(--white); transition: background .2s;
}
#payment .payment_methods li.wc_payment_method > label:hover { background: var(--gray-light); }
#payment .payment_methods li.payment_method_selected { border-color: var(--black); }
#payment .payment_methods li.payment_method_selected > label { background: var(--gray-light); }
#payment .payment_methods li input[type="radio"] { accent-color: var(--black); }
#payment .payment_box { padding: 16px 18px; border-top: 1px solid var(--gray-mid); font-size: 13px; color: var(--gray-text); font-weight: 300; }
#payment .payment_methods img { height: 24px; width: auto; }
#payment .place-order { padding: 0; margin-top: 24px; }
#payment #place_order {
  width: 100%; padding: 17px;
  background: var(--black) !important; color: #fff !important;
  font-family: var(--font-body); font-size: 10px;
  letter-spacing: .25em; text-transform: uppercase; font-weight: 700;
  border: none; cursor: pointer;
}
#payment #place_order:hover { background: #2d2d2d !important; }

/* Tabela podsumowania zamówienia w checkout */
.woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; font-size: 13px; margin-bottom: 20px; }
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td { padding: 11px 0; border-bottom: 1px solid var(--gray-mid); font-weight: 300; }
.woocommerce-checkout-review-order-table th { font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--gray-text); font-weight: 600; }
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td { font-size: 20px; font-weight: 400; border-bottom: none; padding-top: 16px; }

/* Metody dostawy w checkout */
#shipping_method { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 8px; }
#shipping_method li { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--gray-mid); }
#shipping_method li input { accent-color: var(--black); }
#shipping_method li label { font-size: 13px; cursor: pointer; }

/* Komunikaty WooCommerce */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  padding: 14px 20px; margin-bottom: 16px;
  font-size: 13px; font-weight: 300;
  border-left: 3px solid; list-style: none;
}
.woocommerce-message { background: #f0faf4; border-color: #27ae60; color: #1a7a44; }
.woocommerce-info    { background: #f0e6d3; border-color: var(--gold); color: var(--black); }
.woocommerce-error   { background: #fdf0f0; border-color: #c0392b; color: #c0392b; }

/* Responsive */
@media(max-width:768px) {
  #billing_first_name_field, #billing_last_name_field,
  #shipping_first_name_field, #shipping_last_name_field { width: 100%; display: block; }
  #billing_last_name_field, #shipping_last_name_field { margin-left: 0; }
}


/* ================================================================
   KROKI + LAYOUT — poprawki wizualne
   ================================================================ */

/* Kroki — wycentrowane, ograniczone */
.checkout-steps {
  justify-content: center !important;
  padding: 24px 40px !important;
}
.step {
  padding: 0 36px !important;
  white-space: nowrap !important;
  font-size: 10px !important;
  letter-spacing: .18em !important;
}

/* Layout koszyka — 1440px, lewa większa */
.cart-layout {
  max-width: 1440px !important;
  grid-template-columns: 1fr 400px !important;
  padding: 60px 80px 100px !important;
}

/* Layout checkout — 1440px */
.checkout-layout {
  max-width: 1440px !important;
  grid-template-columns: 1fr 440px !important;
  padding: 60px 80px 100px !important;
}

/* Zdjęcie produktu większe */
.item-img {
  width: 110px !important;
  height: 110px !important;
}
.item-img a { display: block; width: 100%; height: 100%; }
.item-img img { transition: transform .4s ease; }
.cart-item:hover .item-img img { transform: scale(1.04); }

/* Nazwa produktu */
.item-name { font-size: clamp(18px,2vw,24px) !important; }
.item-name a { color: var(--black); text-decoration: none; }
.item-name a:hover { opacity: .7; }

/* Cena */
.item-price { font-size: 22px !important; font-weight: 300 !important; }

/* Usuń */
.item-remove {
  display: inline-block;
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.item-remove:hover { color: #c0392b !important; border-bottom-color: #c0392b; }

/* Tytuł podsumowania */
.summary-title {
  font-size: 28px !important;
  font-weight: 300 !important;
}

/* Przycisk checkout */
.checkout-btn {
  padding: 17px 20px !important;
  font-size: 10px !important;
  letter-spacing: .25em !important;
}
.checkout-btn:hover { background: #2d2d2d !important; color: #fff !important; }

/* Ikony płatności — poziomo */
.pay-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 20px;
}
.pay-row div {
  padding: 6px 10px;
  border: 1px solid var(--gray-mid);
  background: var(--white);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .04em;
}

/* Checkout form section title */
.form-section-title {
  font-size: 12px !important;
  letter-spacing: .12em !important;
  font-weight: 700 !important;
}

/* Place order button */
#payment #place_order {
  width: 100%;
  padding: 17px;
  background: var(--black) !important;
  color: #fff !important;
  font-family: var(--font-body);
  font-size: 10px;
  letter-spacing: .25em;
  text-transform: uppercase;
  font-weight: 700;
  border: none;
  cursor: pointer;
  transition: background .2s;
}
#payment #place_order:hover { background: #2d2d2d !important; }

@media(max-width:1024px) {
  .cart-layout, .checkout-layout {
    grid-template-columns: 1fr !important;
    padding: 40px !important;
  }
}
@media(max-width:768px) {
  .step { padding: 0 16px !important; }
  .step span:not(.step-num) { display: none !important; }
  .cart-layout, .checkout-layout { padding: 24px 20px 60px !important; }
}


/* ================================================================
   KOSZYK + THANK YOU — uzupełnienia do nowych plików
   (cart/cart.php, checkout/thankyou.php)
   ================================================================ */

/* Wrapper strony koszyka — odstęp pod nav */
.cart-page {
  margin-top: var(--nav-h);
}

/* Ukryj natywne tytuły WC (gdybyś używał shortcode'a) */
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-order-received .entry-title { display: none !important; }

/* --- Empty state --- */
.cart-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 60vh;
  gap: 14px;
  text-align: center;
  padding: 80px 20px 120px;
}
.cart-empty-icon {
  width: 72px; height: 72px;
  color: var(--gray-mid);
  margin-bottom: 8px;
}
.cart-empty-icon svg { width: 100%; height: 100%; }
.cart-empty-eyebrow {
  font-size: 10px; letter-spacing: .3em; text-transform: uppercase;
  color: var(--gold); font-weight: 600;
}
.cart-empty-title {
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 300;
  line-height: 1.1;
  max-width: 520px;
}
.cart-empty-text {
  font-size: 14px; font-weight: 300; color: var(--gray-text);
  max-width: 460px;
  margin-bottom: 20px;
}

/* --- Notices --- */
.cart-notices {
  max-width: 1440px;
  margin: 0 auto;
  padding: 24px 80px 0;
}
.cart-notices:empty { display: none; }

/* --- Item (meta + backorder) --- */
.item-meta {
  font-size: 12px;
  color: var(--gray-text);
  font-weight: 300;
}
.item-meta p { margin: 0; }
.item-backorder {
  display: inline-block;
  margin-top: 4px;
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 600;
}
.cart-item.is-updating {
  opacity: .5;
  pointer-events: none;
  transition: opacity .2s;
}

/* --- Sidebar: wymuszenie, bo niektóre bundle/cache mogą nadpisać --- */
.cart-right {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

/* --- Summary title: więcej oddechu --- */
.cart-right .summary-title {
  font-size: 22px !important;
  font-weight: 400 !important;
  margin: 0 0 24px !important;
  padding: 0 0 20px !important;
  border-bottom: 1px solid var(--gray-mid) !important;
  letter-spacing: -.005em;
}

/* --- Wiersze podsumowania --- */
.summary-rows {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  margin: 0 0 24px !important;
}
.summary-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  font-size: 13px;
  font-weight: 300;
  gap: 16px;
  line-height: 1.4;
}
.summary-row-label { color: var(--gray-text); }
.summary-row-value {
  color: var(--black);
  white-space: nowrap;
  font-weight: 400;
}
.summary-row--discount .summary-row-value { color: #27ae60; font-weight: 500; }
.summary-free { color: #27ae60; font-weight: 600; }
.summary-divider {
  height: 1px;
  background: var(--gray-mid);
  margin: 6px 0 !important;
  border: none;
}

/* --- Wybór dostawy (kafelki) --- */
.shipping-choice { margin: 0 0 24px !important; }
.shipping-choice-title {
  font-size: 9px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase;
  font-weight: 700 !important;
  margin: 0 0 10px !important;
  color: var(--black);
}
.shipping-choice-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}
.shipping-option {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px 14px !important;
  border: 1px solid var(--gray-mid) !important;
  background: var(--white) !important;
  cursor: pointer;
  transition: border-color .2s, background .2s;
  margin: 0 !important;
}
.shipping-option:hover { border-color: var(--black) !important; }
.shipping-option.is-selected { border-color: var(--black) !important; }
.shipping-option-radio { accent-color: var(--black); flex-shrink: 0; margin: 0; }
.shipping-option-label {
  flex: 1;
  font-size: 12px;
  font-weight: 500;
}
.shipping-option-price {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 400;
  white-space: nowrap;
}

/* --- Razem (total) --- */
.summary-total {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  padding: 20px 0 24px !important;
  margin: 4px 0 20px !important;
  border-top: 1px solid var(--gray-mid) !important;
  gap: 16px;
}
.summary-total-label {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.summary-total-eyebrow {
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--black);
}
.summary-total-note {
  font-size: 10px;
  color: var(--gray-text);
  font-weight: 300;
  line-height: 1.4;
}
.summary-total-value {
  font-size: clamp(26px, 3vw, 32px);
  font-weight: 300;
  white-space: nowrap;
  line-height: 1;
  color: var(--black);
}

/* --- CTA: lepsze CTA + porządek stopki --- */
.cart-right .checkout-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 0 0 14px !important;
  padding: 17px 20px !important;
}
.checkout-btn--inline {
  display: inline-flex !important;
  width: auto;
  padding: 14px 40px !important;
}
.summary-secure {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  margin: 0 0 18px !important;
  font-size: 10px;
  color: var(--gray-text);
  letter-spacing: .05em;
}

/* --- Metody płatności: prawdziwe badge jako kafelki --- */
.pay-row {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px !important;
  margin: 0 !important;
  padding-top: 18px;
  border-top: 1px solid var(--gray-mid);
}
.pay-badge {
  padding: 8px 6px;
  border: 1px solid var(--gray-mid);
  background: var(--white);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .06em;
  color: var(--gray-text);
  text-align: center;
  text-transform: uppercase;
  line-height: 1.2;
}

/* --- Qty input (wpisywalny) --- */
.qty-control {
  display: inline-flex !important;
  align-items: stretch !important;
  border: 1px solid var(--gray-mid);
  background: var(--white);
}
.qty-btn {
  width: 34px !important;
  height: 34px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 16px;
  background: none;
  border: none;
  color: var(--black);
  transition: background .2s;
  font-family: var(--font-body);
  padding: 0;
}
.qty-btn:hover:not(:disabled) { background: var(--gray-light); }
.qty-btn:disabled { opacity: .4; cursor: not-allowed; }
input.qty-value {
  width: 44px !important;
  height: 34px !important;
  padding: 0 !important;
  text-align: center;
  border: none;
  border-left: 1px solid var(--gray-mid);
  border-right: 1px solid var(--gray-mid);
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 500;
  color: var(--black);
  background: var(--white);
  outline: none;
  -moz-appearance: textfield;
  appearance: textfield;
  border-radius: 0;
  box-shadow: none !important;
}
input.qty-value::-webkit-outer-spin-button,
input.qty-value::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input.qty-value:focus {
  background: var(--gray-light);
  outline: none;
}

/* Screen reader only (label a11y) */
.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}


/* ================================================================
   THANK YOU PAGE
   ================================================================ */

.ty-page {
  margin-top: var(--nav-h);
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
  padding: 60px 40px 120px;
}

/* Hero */
.ty-hero {
  text-align: center;
  padding: 40px 0 56px;
}
.ty-success {
  width: 88px; height: 88px;
  border-radius: 50%;
  background: #f3faf5;
  border: 1.5px solid #27ae60;
  color: #27ae60;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 28px;
}
.ty-success svg { width: 40px; height: 40px; }
.ty-success--failed {
  background: #fdf0f0;
  border-color: #c0392b;
  color: #c0392b;
}

.ty-eyebrow {
  font-size: 10px;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 600;
  margin-bottom: 14px;
}
.ty-eyebrow--warn { color: #c0392b; }

.ty-title {
  font-size: clamp(30px, 5vw, 52px);
  font-weight: 300;
  line-height: 1.08;
  margin-bottom: 18px;
  letter-spacing: -.01em;
}

.ty-lead {
  font-size: 14px;
  font-weight: 300;
  color: var(--gray-text);
  line-height: 1.8;
  max-width: 520px;
  margin: 0 auto 40px;
}

/* Meta grid */
.ty-meta-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border: 1px solid var(--gray-mid);
  background: var(--white);
  text-align: left;
}
.ty-meta-item {
  padding: 18px 20px;
  border-right: 1px solid var(--gray-mid);
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.ty-meta-item:last-child { border-right: none; }
.ty-meta-label {
  font-size: 9px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gray-text);
  font-weight: 600;
}
.ty-meta-value {
  font-size: 14px;
  font-weight: 500;
  color: var(--black);
  word-break: break-word;
}
.ty-meta-value--break {
  font-size: 13px;
  font-weight: 400;
}

/* Sekcje */
.ty-section {
  margin-bottom: 48px;
}
.ty-section-title {
  font-size: 11px;
  letter-spacing: .28em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--gray-mid);
  color: var(--black);
}

/* Lista produktów */
.ty-items {
  display: flex;
  flex-direction: column;
  margin-bottom: 8px;
}
.ty-item {
  display: grid;
  grid-template-columns: 72px 1fr auto;
  gap: 18px;
  padding: 18px 0;
  border-bottom: 1px solid var(--gray-mid);
  align-items: center;
}
.ty-item:last-child { border-bottom: none; }
.ty-item-img {
  width: 72px; height: 72px;
  background: var(--gray-light);
  overflow: hidden;
}
.ty-item-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ty-item-info { min-width: 0; }
.ty-item-name {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
  margin-bottom: 4px;
}
.ty-item-name a { color: var(--black); }
.ty-item-name a:hover { opacity: .7; }
.ty-item-meta {
  font-size: 11px;
  color: var(--gray-text);
  font-weight: 300;
  margin-bottom: 2px;
}
.ty-item-meta p { margin: 0; }
.ty-item-qty {
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--gray-text);
}
.ty-item-price {
  font-size: 16px;
  font-weight: 400;
  white-space: nowrap;
}

/* Totals */
.ty-totals {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 20px;
  margin-top: 4px;
  border-top: 1px solid var(--gray-mid);
}
.ty-total-row {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  font-weight: 300;
  color: var(--gray-text);
  gap: 16px;
}
.ty-total-row .ty-total-value { color: var(--black); }
.ty-total-row--big {
  font-size: 18px;
  font-weight: 400;
  color: var(--black);
  padding-top: 14px;
  margin-top: 6px;
  border-top: 1px solid var(--gray-mid);
}
.ty-total-row--big .ty-total-value {
  font-size: 22px;
  font-weight: 500;
}

/* Adresy */
.ty-addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.ty-address {
  padding: 20px 22px;
  background: var(--gray-light);
  font-size: 13px;
  line-height: 1.7;
  color: var(--black);
  font-weight: 300;
}
.ty-address-label {
  font-size: 9px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--gray-text);
  margin-bottom: 10px;
}
.ty-address address {
  font-style: normal;
  font-size: 13px;
  color: var(--black);
  line-height: 1.7;
}
.ty-address-phone {
  margin-top: 6px;
  font-size: 13px;
  color: var(--gray-text);
}

/* Trust */
.ty-trust {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 1px solid var(--gray-mid);
  background: var(--white);
  margin-bottom: 40px;
}
.ty-trust-item {
  padding: 20px;
  display: flex;
  align-items: center;
  gap: 14px;
  border-right: 1px solid var(--gray-mid);
}
.ty-trust-item:last-child { border-right: none; }
.ty-trust-item strong {
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--black);
  margin-bottom: 2px;
}
.ty-trust-item span {
  font-size: 11px;
  color: var(--gray-text);
  font-weight: 300;
  line-height: 1.5;
}
.ty-trust-icon {
  font-size: 20px;
  flex-shrink: 0;
  width: 40px; height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gray-light);
  color: var(--gold);
}

/* CTA */
.ty-cta {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
.ty-cta-primary,
.ty-cta-secondary {
  display: inline-block;
  padding: 15px 40px;
  font-size: 10px;
  letter-spacing: .25em;
  text-transform: uppercase;
  font-weight: 700;
  text-decoration: none;
  transition: background .2s, color .2s, border-color .2s;
  text-align: center;
}
.ty-cta-primary {
  background: var(--black);
  color: #fff;
  border: 1px solid var(--black);
}
.ty-cta-primary:hover { background: #2d2d2d; }
.ty-cta-secondary {
  background: transparent;
  color: var(--black);
  border: 1px solid var(--gray-mid);
  font-weight: 500;
}
.ty-cta-secondary:hover { border-color: var(--black); }

/* Failed fallback */
.ty-failed {
  text-align: center;
  padding: 60px 20px 80px;
}

/* --- Responsive --- */
@media (max-width: 900px) {
  .ty-meta-grid { grid-template-columns: repeat(2, 1fr); }
  .ty-meta-item:nth-child(2) { border-right: none; }
  .ty-meta-item:nth-child(1),
  .ty-meta-item:nth-child(2) { border-bottom: 1px solid var(--gray-mid); }
  .ty-addresses { grid-template-columns: 1fr; }
  .ty-trust { grid-template-columns: 1fr; }
  .ty-trust-item {
    border-right: none;
    border-bottom: 1px solid var(--gray-mid);
  }
  .ty-trust-item:last-child { border-bottom: none; }
}

@media (max-width: 768px) {
  .ty-page { padding: 40px 20px 80px; }
  .cart-notices { padding: 16px 20px 0; }
  .ty-item {
    grid-template-columns: 60px 1fr;
    grid-template-areas: "img info" "img price";
    gap: 12px;
  }
  .ty-item-img { grid-area: img; width: 60px; height: 60px; }
  .ty-item-info { grid-area: info; }
  .ty-item-price { grid-area: price; font-size: 14px; }
  .ty-cta-primary, .ty-cta-secondary { padding: 13px 28px; }
}


/* ================================================================
   MINI-CART DRAWER (header.php)
   ================================================================ */

.drawer-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 20px 0;
  border-bottom: 1px solid var(--gray-mid);
}
.drawer-item:last-child { border-bottom: none; }

.drawer-item-img {
  width: 72px;
  height: 72px;
  flex-shrink: 0;
  overflow: hidden;
  background: var(--gray-light);
}
.drawer-item-img a,
.drawer-item-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.drawer-item-info {
  flex: 1;
  min-width: 0;
}
.drawer-item-cat {
  font-size: 9px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 600;
  margin-bottom: 4px;
}
.drawer-item-name {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
  margin-bottom: 4px;
}
.drawer-item-name a {
  color: var(--black);
  text-decoration: none;
}
.drawer-item-name a:hover { opacity: .7; }
.drawer-item-meta {
  font-size: 11px;
  color: var(--gray-text);
  font-weight: 300;
  margin-bottom: 4px;
}
.drawer-item-meta p { margin: 0; }

.drawer-item-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 8px;
}
.drawer-qty {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid var(--gray-mid);
  background: var(--white);
}
.drawer-qty-btn {
  width: 28px;
  height: 28px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-body);
  color: var(--black);
  padding: 0;
  transition: background .2s;
}
.drawer-qty-btn:hover { background: var(--gray-light); }
.drawer-qty-val {
  width: 34px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 500;
  border-left: 1px solid var(--gray-mid);
  border-right: 1px solid var(--gray-mid);
}
.drawer-item-price {
  font-size: 15px;
  font-weight: 400;
  white-space: nowrap;
}

.drawer-item-remove {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--gray-text);
  font-size: 14px;
  padding: 4px 0 4px 8px;
  flex-shrink: 0;
  transition: color .2s;
  line-height: 1;
}
.drawer-item-remove:hover { color: #c0392b; }


/* ================================================================
   KROKI (checkout-steps) — v2: 1440px, linia łącząca, elegant
   Nadpisuje wcześniejsze definicje z main.css.
   ================================================================ */

.checkout-steps {
  max-width: 1440px !important;
  margin: 0 auto !important;
  padding: 28px clamp(24px, 5vw, 80px) !important;
  border-bottom: 1px solid var(--gray-mid) !important;
  background: var(--white) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 0 !important;
  position: relative;
}

/* Subtelna pozioma linia pod numerami — tło dla kroków */
.checkout-steps::before {
  content: "";
  position: absolute;
  left: clamp(24px, 5vw, 80px);
  right: clamp(24px, 5vw, 80px);
  top: 50%;
  height: 1px;
  background: var(--gray-mid);
  z-index: 0;
}

.checkout-steps .step {
  position: relative;
  z-index: 1;
  display: flex !important;
  align-items: center;
  gap: 12px;
  padding: 0 !important;
  font-size: 10px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase;
  font-weight: 600 !important;
  color: var(--gray-text);
  background: var(--white);
  padding-right: 20px !important;
  white-space: nowrap;
}
/* Pierwszy step — padding z lewej, żeby kółko "siedziało" na linii */
.checkout-steps .step:first-child { padding-left: 0 !important; padding-right: 20px !important; }
/* Ostatni step — padding z lewej, żeby kółko "siedziało" na linii */
.checkout-steps .step:last-child { padding-left: 20px !important; padding-right: 0 !important; }

/* Wyłącz stare pionowe separatory (::after z main.css) */
.checkout-steps .step::after { display: none !important; content: none !important; }

.checkout-steps .step-num {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-size: 12px !important;
  font-weight: 600 !important;
  border: 1px solid var(--gray-mid) !important;
  background: var(--white) !important;
  color: var(--gray-text);
  flex-shrink: 0;
  transition: all .3s ease;
}

.checkout-steps .step.active { color: var(--black); }
.checkout-steps .step.active .step-num {
  border-color: var(--black) !important;
  background: var(--black) !important;
  color: #fff !important;
  box-shadow: 0 0 0 5px rgba(26,26,26,0.06);
}

.checkout-steps .step.done { color: var(--gold); }
.checkout-steps .step.done .step-num {
  border-color: var(--gold) !important;
  background: var(--gold) !important;
  color: #fff !important;
}

/* Mobile */
@media (max-width: 768px) {
  .checkout-steps {
    padding: 18px 16px !important;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .checkout-steps::-webkit-scrollbar { display: none; }
  .checkout-steps::before {
    left: 20px;
    right: 20px;
  }
  .checkout-steps .step {
    padding: 0 !important;
    gap: 8px;
  }
  .checkout-steps .step span:not(.step-num) { display: none !important; }
  .checkout-steps .step-num {
    width: 28px !important;
    height: 28px !important;
    font-size: 11px !important;
  }
}


/* ================================================================
   NAV — fallback gdy klasa `nav` nie jest dodana do <nav>
   (dla starszych header.php gdzie jest tylko class="nav-transparent")
   Zduplikowane selektory: `.nav.nav-*` ORAZ `.nav-*` samodzielnie
   ================================================================ */

/* nav-scrolled — białe tło, gold logo. Działa też bez klasy `nav`. */
.nav-scrolled {
  animation: none !important;
  background: #ffffff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: 0 4px 4px 0 rgba(0,0,0,0.08);
  border-bottom: 1px solid rgba(0,0,0,0.08);
}
.nav-scrolled .nav-link { animation: none !important; color: #1a1a1a !important; }
.nav-scrolled .nav-icon-img { animation: none !important; filter: brightness(0) invert(0) !important; }
.nav-scrolled #logoWhite { animation: none !important; opacity: 0 !important; }
.nav-scrolled #logoGold  { animation: none !important; opacity: 1 !important; }

/* nav-transparent — start: przezroczysty biały blur + białe logo/linki/ikony.
   Scroll-driven animation z main.css nadal kieruje stan pośredni,
   ale fallback tu zapewnia początkowy wygląd nawet bez klasy `nav`. */
.nav-transparent {
  position: fixed;
  top: 0; left: 0; width: 100%;
  z-index: 1000;
  height: var(--nav-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 40px;
  background: rgba(255,255,255,0.066);
  backdrop-filter: blur(6.6px);
  -webkit-backdrop-filter: blur(6.6px);
  border-bottom: 1px solid rgba(255,255,255,1);
  transition: background 0.4s ease, box-shadow 0.4s ease, backdrop-filter 0.4s ease;
  /* Scroll-driven animation (jeśli przeglądarka wspiera) */
  animation: navScrolled linear both;
  animation-timeline: scroll(root);
  animation-range: 0px 80px;
}
.nav-transparent .nav-link {
  color: #ffffff;
  animation: navLinksScrolled linear both;
  animation-timeline: scroll(root);
  animation-range: 0px 80px;
}
.nav-transparent .nav-icon-img {
  filter: brightness(0) invert(1);
  animation: navIconsScrolled linear both;
  animation-timeline: scroll(root);
  animation-range: 0px 80px;
}
.nav-transparent #logoWhite {
  opacity: 1;
  animation: logoWhiteAnim linear both;
  animation-timeline: scroll(root);
  animation-range: 0px 80px;
}
.nav-transparent #logoGold {
  opacity: 0;
  animation: logoGoldAnim linear both;
  animation-timeline: scroll(root);
  animation-range: 0px 80px;
}

/* Mobile padding dla nav-transparent (dopasuj do main.css) */
@media (max-width: 768px) {
  .nav-transparent { padding: 0 20px; }
}


/* ================================================================
   LOGO W NAV
   - #logoWhite: ten sam SVG co gold, ale wymuszony biały filterem
     (brightness(0) invert(1) zamienia dowolny kolor na pełny biały)
   - #logoGold: oryginalne kolory logo (gradient bronze/gold)
   Oba obrazki leżą dokładnie jeden na drugim (absolutne pozycjonowanie
   z main.css) i animowana jest ich opacity przez scroll-driven animation.
   ================================================================ */

#logoWhite {
  filter: brightness(0) invert(1) !important;
}
#logoGold {
  filter: none;
}

/* Na podstronach (nav-scrolled) nie ma animacji opacity logo,
   więc wymuszamy stan końcowy: biały ukryty, złoty widoczny. */
.nav.nav-scrolled #logoWhite { opacity: 0 !important; }
.nav.nav-scrolled #logoGold  { opacity: 1 !important; }


/* ================================================================
   CHECKOUT — dopieszczenia (problem z "Imie/Nazwisko" + rozsypany layout)
   ================================================================ */

/* Siatka pól: domyślnie 1 kolumna, pełna szerokość, spójny gap */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 16px;
  row-gap: 16px;
}

/* Wszystkie pola na pełną szerokość poza imię/nazwisko/kod */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper > .form-row {
  grid-column: 1 / -1;
  margin: 0 !important;
  width: 100% !important;
  display: block !important;
}

/* Imię + Nazwisko obok siebie (5050) */
.woocommerce-checkout #billing_first_name_field,
.woocommerce-checkout #shipping_first_name_field {
  grid-column: 1 / 2 !important;
  margin-left: 0 !important;
}
.woocommerce-checkout #billing_last_name_field,
.woocommerce-checkout #shipping_last_name_field {
  grid-column: 2 / 3 !important;
  margin-left: 0 !important;
}

/* Kod + Miasto obok siebie */
.woocommerce-checkout #billing_postcode_field,
.woocommerce-checkout #shipping_postcode_field {
  grid-column: 1 / 2 !important;
}
.woocommerce-checkout #billing_city_field,
.woocommerce-checkout #shipping_city_field {
  grid-column: 2 / 3 !important;
}

/* Label: porządny odstęp od placeholder'a powyżej (address_2) */
.woocommerce-checkout .form-row label {
  margin-bottom: 8px !important;
  display: block !important;
  line-height: 1.4;
}

/* Placeholder w address_2 (bez labela) dostaje sam margin-top = 0 (bo gap załatwia) */
.woocommerce-checkout #billing_address_2_field label,
.woocommerce-checkout #shipping_address_2_field label { display: none !important; }

/* Sekcje checkout jako porządne cards */
.woocommerce-checkout .form-section {
  margin-bottom: 32px;
  padding-bottom: 8px;
}
.woocommerce-checkout .form-section-title {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 11px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase;
  font-weight: 700 !important;
  color: var(--black);
  margin: 0 0 20px !important;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--gray-mid);
}
.woocommerce-checkout .form-section-title span {
  font-size: 10px;
  font-weight: 300;
  letter-spacing: .08em;
  text-transform: none;
  color: var(--gray-text);
}

/* Mobile: wszystko w jednej kolumnie */
@media (max-width: 640px) {
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    grid-template-columns: 1fr;
  }
  .woocommerce-checkout #billing_first_name_field,
  .woocommerce-checkout #billing_last_name_field,
  .woocommerce-checkout #billing_postcode_field,
  .woocommerce-checkout #billing_city_field,
  .woocommerce-checkout #shipping_first_name_field,
  .woocommerce-checkout #shipping_last_name_field,
  .woocommerce-checkout #shipping_postcode_field,
  .woocommerce-checkout #shipping_city_field { grid-column: 1 / -1 !important; }
}

/* Select2 (dropdown Kraj / Stan) — dopasowanie stylu do reszty */
.woocommerce-checkout .select2-container--default .select2-selection--single {
  height: 48px !important;
  border: 1px solid var(--gray-mid) !important;
  border-radius: 0 !important;
  background: #fff;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 46px !important;
  color: var(--black);
  font-size: 13px;
  padding-left: 16px;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 46px !important;
}

/* --- Prawa strona: "Twoje zamówienie" — mini lista + tabela + komunikaty --- */
.order-summary {
  position: sticky;
  top: calc(var(--nav-h) + 20px);
  background: var(--gray-light);
  padding: 36px;
  align-self: flex-start;
}
.order-summary .summary-title {
  margin: 0 0 24px !important;
  padding: 0 0 20px !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  border-bottom: 1px solid var(--gray-mid) !important;
}

/* Tabela review-order */
.order-summary .woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  margin: 0 0 16px !important;
  background: transparent;
}
/* Ukryj thead (PRODUKT/KWOTA) oraz śródtytuł tfoot "Kwota" (subtotal label jest nadmiarowy) */
.order-summary .woocommerce-checkout-review-order-table thead { display: none; }
.order-summary .woocommerce-checkout-review-order-table .cart_item td {
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--gray-mid) !important;
  font-weight: 400 !important;
}
.order-summary .woocommerce-checkout-review-order-table .cart_item .product-name {
  font-size: 13px;
  color: var(--black);
  font-weight: 400;
}
.order-summary .woocommerce-checkout-review-order-table .cart_item .product-total {
  text-align: right;
  font-size: 13px;
  white-space: nowrap;
}

/* tfoot - wiersze subtotal / shipping / fee / total */
.order-summary .woocommerce-checkout-review-order-table tfoot tr {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
}
.order-summary .woocommerce-checkout-review-order-table tfoot tr th,
.order-summary .woocommerce-checkout-review-order-table tfoot tr td {
  display: block;
  padding: 12px 0 !important;
  border: none !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--gray-text) !important;
  background: transparent !important;
}
.order-summary .woocommerce-checkout-review-order-table tfoot tr td {
  color: var(--black) !important;
  text-align: right;
  font-weight: 400 !important;
  white-space: nowrap;
}
.order-summary .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal {
  border-bottom: 1px solid var(--gray-mid);
}

/* Razem (total) — wyróżniony */
.order-summary .woocommerce-checkout-review-order-table tfoot tr.order-total {
  padding-top: 8px;
  margin-top: 6px;
  border-top: 1px solid var(--gray-mid);
  align-items: flex-end;
}
.order-summary .woocommerce-checkout-review-order-table tfoot tr.order-total th {
  font-size: 10px !important;
  letter-spacing: .28em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--black) !important;
  padding-top: 20px !important;
}
.order-summary .woocommerce-checkout-review-order-table tfoot tr.order-total td {
  font-size: clamp(22px, 2.5vw, 28px) !important;
  font-weight: 400 !important;
  color: var(--black) !important;
  padding-top: 16px !important;
}

/* Trust badges - pod zamówieniem */
.order-summary .trust-badges {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--gray-mid);
}
.order-summary .trust-badge {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 300;
  color: var(--gray-text);
  line-height: 1.4;
}
.order-summary .trust-badge strong {
  font-weight: 600;
  color: var(--black);
}
.order-summary .trust-badge-icon {
  font-size: 14px;
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
}

/* Mini lista produktów (przed tabelą) — już ma inline style, zostawiamy */

/* Back button */
.checkout-form-wrap .back-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
  font-size: 11px;
  letter-spacing: .15em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--gray-text);
  text-decoration: none;
  transition: color .2s;
}
.checkout-form-wrap .back-btn:hover { color: var(--black); }

/* Komunikat "brak metody płatności" - subtelniej */
.woocommerce-notice--info,
.woocommerce-info {
  font-size: 12px;
  line-height: 1.6;
}


/* ================================================================
   BLOG (blog.php) + POJEDYNCZY WPIS (single.php)
   ================================================================ */

.blog-page {
  margin-top: var(--nav-h);
}

/* ---- HERO (najnowszy post) ---- */
.blog-hero {
  position: relative;
  width: 100%;
  min-height: 520px;
  height: 70vh;
  max-height: 720px;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.blog-hero-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
}
.blog-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(255,255,255,.92) 0%,
    rgba(255,255,255,.68) 40%,
    rgba(255,255,255,0) 72%
  );
}
.blog-hero-inner {
  position: relative;
  z-index: 2;
  padding: 0 clamp(24px, 6vw, 80px);
  max-width: 680px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.blog-eyebrow {
  font-size: 10px;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 600;
}
.blog-eyebrow--on-dark { color: var(--gold-light); }

.blog-hero-title {
  font-size: clamp(28px, 5vw, 56px);
  font-weight: 300;
  line-height: 1.08;
  letter-spacing: -.01em;
  color: var(--black);
  margin: 0;
}

.blog-hero-lead {
  font-size: 15px;
  font-weight: 300;
  color: var(--gray-text);
  line-height: 1.7;
  max-width: 560px;
  margin: 0;
}

.blog-hero-meta {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: 11px;
  letter-spacing: .04em;
  color: var(--gray-text);
  font-weight: 400;
}
.blog-hero-meta-sep { opacity: .4; }

.blog-hero-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  align-self: flex-start;
  margin-top: 12px;
  padding: 14px 32px;
  font-size: 10px;
  letter-spacing: .28em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--black);
  background: rgba(255,255,255,.7);
  border: 1px solid var(--black);
  text-decoration: none;
  transition: background .2s, color .2s;
}
.blog-hero-btn:hover {
  background: var(--black);
  color: #fff;
}

/* ---- TABS ---- */
.blog-tabs {
  display: flex;
  overflow-x: auto;
  padding: 0 clamp(20px, 5vw, 80px);
  border-bottom: 1px solid var(--gray-mid);
  background: var(--white);
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.blog-tabs::-webkit-scrollbar { display: none; }

.blog-tab {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 500;
  padding: 20px 22px;
  white-space: nowrap;
  color: var(--gray-text);
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  text-decoration: none;
  transition: color .2s, border-color .2s;
}
.blog-tab:hover { color: var(--black); }
.blog-tab.is-active {
  color: var(--black);
  border-bottom-color: var(--gold);
}
.blog-tab-count {
  margin-left: 4px;
  opacity: .55;
  font-weight: 400;
}

/* ---- SEKCJA + NAGŁÓWEK SEKCJI ---- */
.blog-section {
  max-width: 1400px;
  margin: 0 auto;
  padding: 60px clamp(20px, 5vw, 80px) 40px;
}
.blog-section + .blog-section { padding-top: 20px; }

.blog-section-title {
  display: flex;
  align-items: center;
  gap: 28px;
  margin: 0 0 40px;
}
.blog-section-title-line {
  flex: 1;
  height: 1px;
  background: var(--gray-mid);
}
.blog-section-title h2 {
  font-size: clamp(20px, 2.4vw, 28px);
  font-weight: 400;
  white-space: nowrap;
  margin: 0;
  color: var(--black);
  letter-spacing: -.005em;
}

/* ---- MAGAZINE: feature + 2 small ---- */
.blog-magazine {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
}
.blog-small-stack {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.blog-small-stack > .blog-card { flex: 1; min-height: 0; }

/* Karta bazowa */
.blog-card {
  position: relative;
  overflow: hidden;
  background: var(--gray-light);
  color: inherit;
  text-decoration: none;
  display: block;
}
.blog-card--feature { aspect-ratio: 3 / 4; }
.blog-card--small   { aspect-ratio: 16 / 9; }

.blog-card-img {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.blog-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s ease;
}
.blog-card:hover .blog-card-img img { transform: scale(1.05); }

.blog-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0,0,0,.72) 0%,
    rgba(0,0,0,.15) 45%,
    rgba(0,0,0,0) 65%
  );
}

.blog-card-body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 28px;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.blog-card--small .blog-card-body { padding: 22px 24px; }

.blog-card-title {
  font-weight: 400;
  line-height: 1.15;
  margin: 0;
  color: #fff;
  letter-spacing: -.005em;
}
.blog-card-title--feature { font-size: clamp(22px, 2.8vw, 34px); }
.blog-card-title--small   { font-size: clamp(16px, 2vw, 22px); }

.blog-card-meta {
  font-size: 10px;
  opacity: .72;
  margin: 0;
  letter-spacing: .04em;
}

/* ---- LIST (reszta wpisów) ---- */
.blog-list {
  display: flex;
  flex-direction: column;
}
.blog-list-item {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 0;
  border-bottom: 1px solid var(--gray-mid);
  color: inherit;
  text-decoration: none;
  transition: background .2s;
}
.blog-list-item:hover { background: var(--gray-light); }
.blog-list-img {
  width: 260px;
  height: 180px;
  overflow: hidden;
  background: var(--gray-light);
}
.blog-list-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}
.blog-list-item:hover .blog-list-img img { transform: scale(1.04); }
.blog-list-body {
  padding: 28px 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
}
.blog-list-title {
  font-size: clamp(17px, 2vw, 22px);
  font-weight: 400;
  line-height: 1.25;
  margin: 0;
  color: var(--black);
  letter-spacing: -.005em;
}
.blog-list-excerpt {
  font-size: 13px;
  font-weight: 300;
  color: var(--gray-text);
  line-height: 1.65;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.blog-list-meta {
  font-size: 10px;
  letter-spacing: .04em;
  color: var(--gray-text);
  margin: 0;
}

/* ---- PAGINATION ---- */
.blog-pagination {
  display: flex;
  justify-content: center;
  gap: 6px;
  padding: 60px 20px 80px;
  max-width: 1400px;
  margin: 0 auto;
}
.blog-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border: 1px solid var(--gray-mid);
  font-size: 12px;
  color: var(--gray-text);
  text-decoration: none;
  font-weight: 500;
  transition: border-color .2s, color .2s, background .2s;
}
.blog-pagination .page-numbers:hover {
  border-color: var(--black);
  color: var(--black);
}
.blog-pagination .page-numbers.current {
  background: var(--black);
  border-color: var(--black);
  color: #fff;
}
.blog-pagination .page-numbers.dots {
  border: none;
  color: var(--gray-text);
}

/* ---- EMPTY ---- */
.blog-empty {
  max-width: 640px;
  margin: 0 auto;
  padding: 120px 20px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: center;
}
.blog-empty h1 {
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 300;
  line-height: 1.1;
  margin: 0;
}
.blog-empty p {
  font-size: 14px;
  color: var(--gray-text);
  font-weight: 300;
  line-height: 1.7;
  margin: 0 0 20px;
}

/* ---- NEWSLETTER ---- */
.blog-newsletter {
  background: var(--black);
  color: #fff;
  padding: clamp(48px, 8vw, 88px) 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
}
.blog-newsletter-title {
  font-size: clamp(22px, 3.2vw, 38px);
  font-weight: 300;
  margin: 0;
  line-height: 1.15;
  max-width: 620px;
  letter-spacing: -.005em;
}
.blog-newsletter-lead {
  font-size: 13px;
  font-weight: 300;
  opacity: .72;
  max-width: 500px;
  line-height: 1.7;
  margin: 0;
}
.blog-newsletter-form {
  display: flex;
  gap: 0;
  width: 100%;
  max-width: 480px;
  margin-top: 14px;
}
.blog-newsletter-form input[type="email"] {
  flex: 1;
  padding: 16px 22px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.22);
  border-right: none;
  color: #fff;
  font-family: var(--font-body);
  font-size: 13px;
  outline: none;
  transition: border-color .2s, background .2s;
}
.blog-newsletter-form input[type="email"]::placeholder { color: rgba(255,255,255,.5); }
.blog-newsletter-form input[type="email"]:focus {
  border-color: var(--gold);
  background: rgba(255,255,255,.12);
}
.blog-newsletter-form button {
  background: var(--gold);
  color: #fff;
  border: 1px solid var(--gold);
  padding: 16px 28px;
  font-family: var(--font-body);
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 700;
  cursor: pointer;
  transition: background .2s, border-color .2s;
  white-space: nowrap;
}
.blog-newsletter-form button:hover {
  background: #b8965f;
  border-color: #b8965f;
}

/* ---- RESPONSIVE BLOG ---- */
@media (max-width: 900px) {
  .blog-magazine {
    grid-template-columns: 1fr;
  }
  .blog-card--feature { aspect-ratio: 4 / 3; }
  .blog-card--small   { aspect-ratio: 16 / 9; }
  .blog-list-item {
    grid-template-columns: 140px 1fr;
  }
  .blog-list-img {
    width: 140px;
    height: 140px;
  }
  .blog-list-body { padding: 20px; }
}

@media (max-width: 540px) {
  .blog-hero { min-height: 440px; }
  .blog-hero-overlay {
    background: linear-gradient(
      to top,
      rgba(255,255,255,.95) 10%,
      rgba(255,255,255,.5) 55%,
      rgba(255,255,255,.15) 100%
    );
  }
  .blog-hero-inner { max-width: 100%; }
  .blog-section { padding: 40px 20px 24px; }
  .blog-section-title { gap: 16px; margin-bottom: 28px; }
  .blog-list-item { grid-template-columns: 100px 1fr; }
  .blog-list-img { width: 100px; height: 100px; }
  .blog-list-body { padding: 14px 16px; gap: 6px; }
  .blog-list-excerpt { display: none; }
  .blog-newsletter-form { flex-direction: column; gap: 8px; }
  .blog-newsletter-form input[type="email"] { border-right: 1px solid rgba(255,255,255,.22); }
}


/* ================================================================
   SINGLE POST (single.php)
   ================================================================ */

.post-page {
  margin-top: var(--nav-h);
}

.post-hero {
  width: 100%;
  height: clamp(340px, 55vh, 620px);
  position: relative;
  overflow: hidden;
}
.post-hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 25%;
}
.post-hero-img--fallback {
  background: linear-gradient(135deg, var(--gray-light), var(--gray-mid));
}
.post-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 50%, rgba(0,0,0,.25) 100%);
}

/* Content */
.post-content {
  max-width: 760px;
  margin: 0 auto;
  padding: 56px clamp(20px, 4vw, 40px) 80px;
}

.post-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  font-size: 11px;
  letter-spacing: .05em;
  color: var(--gray-text);
  margin-bottom: 32px;
}
.post-breadcrumb a {
  color: var(--gray-text);
  text-decoration: none;
  transition: color .2s;
}
.post-breadcrumb a:hover { color: var(--black); }
.post-breadcrumb span[aria-hidden] { opacity: .35; }
.post-breadcrumb-current {
  color: var(--black) !important;
  font-weight: 500;
  opacity: 1 !important;
}

.post-eyebrow {
  font-size: 10px;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 600;
  margin: 0 0 14px;
}

.post-title {
  font-size: clamp(28px, 5vw, 52px);
  font-weight: 300;
  line-height: 1.08;
  margin: 0 0 24px;
  letter-spacing: -.01em;
  color: var(--black);
}

.post-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--gray-mid);
  margin-bottom: 40px;
  font-size: 12px;
  color: var(--gray-text);
  letter-spacing: .04em;
}
.post-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.post-meta-icon { font-size: 13px; }
.post-meta-sep { opacity: .35; }

/* Post body — typografia */
.post-body {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.9;
  color: #2a2a2a;
}
.post-body > * + * { margin-top: 20px; }
.post-body h2 {
  font-size: clamp(22px, 2.8vw, 32px);
  font-weight: 400;
  margin: 52px 0 14px;
  line-height: 1.2;
  letter-spacing: -.005em;
}
.post-body h3 {
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 500;
  margin: 40px 0 10px;
  line-height: 1.25;
}
.post-body p { margin: 0 0 20px; }
.post-body p:last-child { margin-bottom: 0; }
.post-body ul, .post-body ol {
  padding: 0;
  margin: 0 0 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.post-body ul { list-style: none; }
.post-body ul li {
  display: flex;
  gap: 12px;
  padding-left: 0;
}
.post-body ul li::before {
  content: "—";
  color: var(--gold);
  flex-shrink: 0;
  font-weight: 500;
}
.post-body ol {
  padding-left: 20px;
  list-style: decimal;
}
.post-body ol li::marker { color: var(--gold); font-weight: 600; }
.post-body blockquote {
  border-left: 3px solid var(--gold);
  padding: 24px 28px;
  margin: 44px 0;
  background: var(--gray-light);
  font-size: clamp(17px, 2.2vw, 22px);
  font-weight: 300;
  font-style: italic;
  line-height: 1.55;
  color: var(--black);
}
.post-body blockquote p:last-child { margin-bottom: 0; }
.post-body img {
  width: 100%;
  height: auto;
  margin: 36px 0;
}
.post-body figure {
  margin: 36px 0;
}
.post-body figure img { margin: 0; }
.post-body figcaption {
  margin-top: 10px;
  font-size: 12px;
  color: var(--gray-text);
  text-align: center;
  font-style: italic;
}
.post-body a {
  color: var(--black);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--gold);
  text-decoration-thickness: 1px;
  transition: text-decoration-color .2s;
}
.post-body a:hover { text-decoration-color: var(--black); }
.post-body code {
  background: var(--gray-light);
  padding: 2px 6px;
  font-size: .88em;
  border-radius: 2px;
}
.post-body pre {
  background: var(--gray-light);
  padding: 16px 20px;
  overflow-x: auto;
  font-size: 13px;
  margin: 24px 0;
}
.post-body pre code { background: none; padding: 0; }
.post-body hr {
  border: none;
  height: 1px;
  background: var(--gray-mid);
  margin: 40px 0;
}

/* Tagi */
.post-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 48px;
  padding-top: 28px;
  border-top: 1px solid var(--gray-mid);
}
.post-tag {
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 8px 14px;
  border: 1px solid var(--gray-mid);
  color: var(--gray-text);
  text-decoration: none;
  font-weight: 500;
  transition: border-color .2s, color .2s, background .2s;
}
.post-tag:hover {
  color: var(--black);
  border-color: var(--black);
  background: var(--white);
}

/* Author box */
.post-author {
  display: flex;
  gap: 20px;
  align-items: center;
  padding: 28px;
  background: var(--gray-light);
  margin-top: 48px;
}
.post-author-avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--gray-mid);
  flex-shrink: 0;
}
.post-author-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
.post-author-body { min-width: 0; }
.post-author-name {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 4px;
  color: var(--black);
}
.post-author-bio {
  font-size: 12px;
  font-weight: 300;
  color: var(--gray-text);
  line-height: 1.6;
}

/* Share */
.post-share {
  margin-top: 40px;
  padding-top: 28px;
  border-top: 1px solid var(--gray-mid);
}
.post-share-title {
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0 0 14px;
}
.post-share-links {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.post-share-link {
  padding: 10px 20px;
  border: 1px solid var(--gray-mid);
  font-size: 10px;
  letter-spacing: .14em;
  color: var(--gray-text);
  text-transform: uppercase;
  font-weight: 600;
  text-decoration: none;
  transition: border-color .2s, color .2s, background .2s;
}
.post-share-link:hover {
  border-color: var(--black);
  color: var(--black);
  background: var(--white);
}

/* Related */
.related-posts {
  background: var(--gray-light);
  padding: clamp(48px, 7vw, 80px) clamp(20px, 5vw, 80px);
}
.related-posts .blog-section-title { margin-bottom: 40px; }
.related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto;
}
.related-card {
  background: var(--white);
  overflow: hidden;
  display: block;
  color: inherit;
  text-decoration: none;
  transition: transform .3s ease;
}
.related-card:hover { transform: translateY(-4px); }
.related-card-img {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--gray-light);
}
.related-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}
.related-card:hover .related-card-img img { transform: scale(1.05); }
.related-card-body {
  padding: 20px 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.related-card-title {
  font-size: clamp(15px, 2vw, 19px);
  font-weight: 400;
  line-height: 1.25;
  margin: 0;
  color: var(--black);
}
.related-card-meta {
  font-size: 10px;
  color: var(--gray-text);
  letter-spacing: .04em;
  margin: 0;
}

@media (max-width: 900px) {
  .related-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
}
@media (max-width: 540px) {
  .related-grid { grid-template-columns: 1fr; }
}


/* ================================================================
   CHECKOUT v3 — wyrównania i przejrzystość
   ================================================================ */

/* Wyłącz natywny container "kupon" jakby PHP hook i tak go pokazał */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-coupon,
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-login {
  display: none !important;
}

/* Subtotal ("Kwota") — wyciszony, mniejszy font niż pozycje produktów */
.order-summary .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal {
  border-bottom: none !important;
  opacity: .65;
}
.order-summary .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th,
.order-summary .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td {
  font-size: 11px !important;
  padding: 6px 0 !important;
  font-weight: 300 !important;
}

/* Gdy nie ma dostawy/opłat — subtotal === total, ukryj subtotal żeby nie dublować.
   Warunek: jeśli po .cart-subtotal bezpośrednio idzie .order-total — ukryj.
   Niestety CSS nie ma "next-sibling matches" — używamy :has (Chrome/FF/Safari 2023+).
   Dla fallback: jeśli .has nie działa, subtotal i tak jest wyciszony (opacity .65, font 11px). */
.order-summary .woocommerce-checkout-review-order-table tfoot:has(> tr.cart-subtotal + tr.order-total) tr.cart-subtotal {
  display: none !important;
}

/* Shipping row (jeśli jest) */
.order-summary .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals,
.order-summary .woocommerce-checkout-review-order-table tfoot tr.fee,
.order-summary .woocommerce-checkout-review-order-table tfoot tr.tax-rate {
  border-top: 1px solid var(--gray-mid);
  padding-top: 4px !important;
}

/* ŁĄCZNIE — proporcjonalny label vs wartość */
.order-summary .woocommerce-checkout-review-order-table tfoot tr.order-total {
  padding: 20px 0 4px !important;
  margin-top: 12px !important;
  border-top: 1px solid var(--gray-mid);
  align-items: center !important;
  gap: 16px;
}
.order-summary .woocommerce-checkout-review-order-table tfoot tr.order-total th {
  font-size: 11px !important;
  letter-spacing: .28em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--black) !important;
  padding: 0 !important;
  flex-shrink: 0;
}
.order-summary .woocommerce-checkout-review-order-table tfoot tr.order-total td {
  font-size: clamp(20px, 2.5vw, 26px) !important;
  font-weight: 500 !important;
  color: var(--black) !important;
  padding: 0 !important;
  line-height: 1;
  letter-spacing: -.005em;
}

/* Lista produktów — cell spacing i wyrównania */
.order-summary .woocommerce-checkout-review-order-table .cart_item {
  border-bottom: 1px solid var(--gray-mid);
}
.order-summary .woocommerce-checkout-review-order-table .cart_item:last-child {
  /* separator między listą a sumą idzie przez order-total border-top */
}
.order-summary .woocommerce-checkout-review-order-table .cart_item .product-name {
  padding-right: 12px !important;
}
.order-summary .woocommerce-checkout-review-order-table .cart_item .product-name .product-quantity {
  color: var(--gray-text);
  font-weight: 300;
  font-size: 12px;
  margin-left: 6px;
}

/* Notice "brak metody płatności" — mniej krzykliwy, ujednolicony */
.order-summary .woocommerce-notice,
.woocommerce-checkout .woocommerce-notice {
  margin: 16px 0 0 !important;
  padding: 14px 18px !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  background: rgba(201, 169, 110, 0.08) !important;
  border: none !important;
  border-left: 3px solid var(--gold) !important;
  color: var(--gray-text) !important;
  font-weight: 300;
}

/* Polityka prywatności - czytelniej */
.woocommerce-privacy-policy-text {
  font-size: 11px;
  line-height: 1.6;
  color: var(--gray-text);
  margin: 20px 0 16px;
  font-weight: 300;
}
.woocommerce-privacy-policy-text a {
  color: var(--black);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: var(--gold);
}

/* Place order button - pewniejszy akcent */
.order-summary #place_order {
  margin-top: 8px !important;
  letter-spacing: .28em !important;
}

/* Mini lista produktów (góra sidebara, PRZED tabelą WC) - wyrównania */
.order-summary > div[style*="display:flex"] > div {
  align-items: center !important;
}


/* ================================================================
   ARCHIWUM PRODUKTÓW (woocommerce/archive-product.php)
   Sidebar filtrów na desktop (statyczny), drawer na mobile.
   ================================================================ */

.cat-page { margin-top: 0; }

/* ---- BANNER ---- */
.cat-banner {
  margin-top: var(--nav-h);
  width: 100%;
  height: clamp(260px, 36vh, 380px);
  position: relative;
  overflow: hidden;
  background: var(--gray-light);
}
.cat-banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 25%;
}
.cat-banner-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(255,255,255,.9) 0%,
    rgba(255,255,255,.55) 40%,
    rgba(255,255,255,0) 70%
  );
}
.cat-banner-content {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 clamp(24px, 6vw, 80px);
  gap: 10px;
  max-width: 1440px;
  margin: 0 auto;
}
.cat-banner-label {
  font-size: 10px;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 600;
}
.cat-banner-title {
  font-size: clamp(30px, 5vw, 56px);
  font-weight: 300;
  letter-spacing: -.005em;
  color: var(--black);
  line-height: 1;
  margin: 0;
}
.cat-banner-desc {
  font-size: 14px;
  font-weight: 300;
  color: var(--gray-text);
  max-width: 460px;
  line-height: 1.7;
  margin: 0;
}

/* ---- BREADCRUMB ---- */
.cat-breadcrumb {
  padding: 18px clamp(24px, 5vw, 80px);
  font-size: 11px;
  letter-spacing: .06em;
  color: var(--gray-text);
  display: flex;
  gap: 8px;
  align-items: center;
  border-bottom: 1px solid var(--gray-mid);
  max-width: 1440px;
  margin: 0 auto;
  flex-wrap: wrap;
}
.cat-breadcrumb a {
  color: var(--gray-text);
  text-decoration: none;
  transition: color .2s;
}
.cat-breadcrumb a:hover { color: var(--black); }
.cat-breadcrumb .sep { opacity: .35; }
.cat-breadcrumb-current {
  color: var(--black);
  font-weight: 500;
}

/* ---- SUBCATEGORIES TABS ---- */
.subcat-tabs {
  display: flex;
  overflow-x: auto;
  padding: 0 clamp(24px, 5vw, 80px);
  border-bottom: 1px solid var(--gray-mid);
  scrollbar-width: none;
  max-width: 1440px;
  margin: 0 auto;
}
.subcat-tabs::-webkit-scrollbar { display: none; }
.subcat-tab {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 500;
  padding: 18px 22px;
  white-space: nowrap;
  color: var(--gray-text);
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color .25s, border-color .25s;
  text-decoration: none;
  display: inline-block;
}
.subcat-tab:hover { color: var(--black); }
.subcat-tab.is-active {
  color: var(--black);
  border-bottom-color: var(--gold);
}

/* ---- LAYOUT GŁÓWNY: sidebar + produkty ---- */
.cat-layout {
  max-width: 1440px;
  margin: 0 auto;
  padding: 28px clamp(24px, 5vw, 80px) 80px;
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 48px;
  align-items: start;
}

/* ---- SIDEBAR (desktop: sticky, mobile: drawer) ---- */
.cat-sidebar {
  position: sticky;
  top: calc(var(--nav-h) + 24px);
  background: var(--white);
  padding: 0;
  max-height: calc(100vh - var(--nav-h) - 48px);
  overflow-y: auto;
  scrollbar-width: thin;
}
.cat-sidebar::-webkit-scrollbar { width: 6px; }
.cat-sidebar::-webkit-scrollbar-thumb { background: var(--gray-mid); border-radius: 3px; }

.cat-sidebar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--gray-mid);
}
.cat-sidebar-title {
  font-size: 12px;
  letter-spacing: .28em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--black);
}
.cat-sidebar-close {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 20px;
  color: var(--gray-text);
  line-height: 1;
  padding: 4px;
  display: none; /* pokazane tylko w mobile drawer */
}

.filter-group {
  margin-bottom: 28px;
}
.filter-group:last-of-type { margin-bottom: 16px; }
.filter-group-title {
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--gray-mid);
  color: var(--black);
}
.filter-options {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.filter-option {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 300;
  text-decoration: none;
  color: var(--black);
  padding: 4px 0;
  transition: color .2s;
}
.filter-option:hover { color: var(--gold); }
.filter-option.is-active { font-weight: 600; color: var(--black); }
.filter-option-label { flex: 1; }
.fcheck {
  width: 16px;
  height: 16px;
  border: 1px solid var(--gray-mid);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--white);
  transition: all .2s;
  font-size: 9px;
  color: transparent;
  font-weight: 700;
}
.filter-option:hover .fcheck { border-color: var(--black); }
.filter-option.is-active .fcheck {
  background: var(--black);
  border-color: var(--black);
  color: #fff;
}
.filter-count {
  font-size: 11px;
  color: var(--gray-text);
  font-weight: 400;
}

.price-inputs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 12px;
}
.price-label {
  font-size: 9px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gray-text);
  margin-bottom: 4px;
  display: block;
  font-weight: 600;
}
.price-input {
  width: 100%;
  padding: 9px 10px;
  border: 1px solid var(--gray-mid);
  font-family: var(--font-body);
  font-size: 12px;
  outline: none;
  background: var(--white);
  color: var(--black);
  transition: border-color .2s;
}
.price-input:focus { border-color: var(--black); }
.price-apply {
  width: 100%;
  padding: 11px 14px;
  background: var(--black);
  color: #fff;
  border: 1px solid var(--black);
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-family: var(--font-body);
  cursor: pointer;
  font-weight: 700;
  transition: background .2s, color .2s;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.price-apply:hover { background: #2d2d2d; }

.filter-reset {
  display: inline-block;
  margin-top: 12px;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gray-text);
  text-decoration: none;
  font-weight: 500;
  transition: color .2s;
}
.filter-reset:hover { color: var(--black); }

/* ---- TOOLBAR ---- */
.cat-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 20px;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--gray-mid);
  flex-wrap: wrap;
  gap: 12px;
}
.cat-toolbar-left {
  display: flex;
  align-items: center;
  gap: 16px;
}
.mobile-filter-btn {
  display: none; /* tylko na mobile */
  align-items: center;
  gap: 8px;
  padding: 9px 18px;
  border: 1px solid var(--gray-mid);
  background: var(--white);
  font-family: var(--font-body);
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 600;
  cursor: pointer;
  color: var(--black);
  transition: background .2s, color .2s;
}
.mobile-filter-btn:hover { background: var(--black); color: #fff; }
.mobile-filter-btn svg { display: block; }

.results-count {
  font-size: 12px;
  color: var(--gray-text);
  letter-spacing: .04em;
}
.sort-select {
  padding: 9px 36px 9px 14px;
  border: 1px solid var(--gray-mid);
  font-family: var(--font-body);
  font-size: 12px;
  color: var(--black);
  outline: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236b6560' stroke-width='1.2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 12px center;
  transition: border-color .2s;
}
.sort-select:focus { border-color: var(--black); }

/* ---- GRID PRODUKTÓW ---- */
.products-area { min-width: 0; }

.products-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px 28px;
  align-items: stretch;
}
/* Przy mało produktach - nie rozciągaj ich na pełną kolumnę */
.products-grid > .prod-card { max-width: 100%; }

/* ---- KARTA PRODUKTU ---- */
.prod-card {
  display: flex;
  flex-direction: column;
  background: var(--white);
  position: relative;
  height: 100%;
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .5s ease, transform .5s ease;
}
.prod-card.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.prod-card-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.prod-card-img {
  width: 100%;
  aspect-ratio: 3/4;
  background: var(--gray-light);
  overflow: hidden;
  position: relative;
}
.prod-card-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  padding: 0;
  box-sizing: border-box;
  transition: transform .5s ease, opacity .4s ease;
  position: absolute;
  inset: 0;
}
/* Hover swap - dwa zdjęcia, cross-fade */
.prod-card-img img.img-hover { opacity: 0; }
.prod-card.has-hover-img:hover .img-main { opacity: 0; }
.prod-card.has-hover-img:hover .img-hover { opacity: 1; }
/* Dla kart bez drugiego zdjęcia - zoom */
.prod-card:not(.has-hover-img):hover .prod-card-img img {
  transform: scale(1.05);
}

.prod-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  font-size: 9px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 700;
  padding: 5px 10px;
  line-height: 1;
}
.prod-badge--new,
.prod-badge--featured { background: var(--gold); color: #fff; }
.prod-badge--sale { background: #c0392b; color: #fff; }
.prod-badge--bestseller { background: var(--black); color: #fff; }

.prod-quick-add {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 3;
  background: rgba(26,26,26,.92);
  color: #fff;
  padding: 13px;
  text-align: center;
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 700;
  transform: translateY(100%);
  transition: transform .3s ease, background .2s;
  border: none;
  width: 100%;
  cursor: pointer;
  font-family: var(--font-body);
}
.prod-card:hover .prod-quick-add,
.prod-card:focus-within .prod-quick-add { transform: translateY(0); }
.prod-quick-add:hover { background: rgba(26,26,26,1); }
.prod-quick-add.is-success { background: #27ae60 !important; }
.prod-quick-add.is-loading { opacity: .7; }

.prod-card-link {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

.prod-info {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 18px 0 0;
}
.prod-name {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
  margin: 0 0 4px;
  color: var(--black);
}
.prod-name a {
  color: var(--black);
  text-decoration: none;
}
.prod-name a:hover { color: var(--gold); }
.prod-tagline {
  font-size: 12px;
  font-weight: 300;
  color: var(--gray-text);
  margin-bottom: 10px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.6em;
}
.prod-price-row {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-top: auto;
}
.prod-price {
  font-size: 18px;
  font-weight: 600;
  color: var(--black);
}
.prod-price .amount {
  font-weight: 600;
}
.prod-price del {
  font-weight: 300;
  color: var(--gray-text);
  font-size: 13px;
  margin-left: 4px;
}
.prod-price-old {
  font-size: 13px;
  color: var(--gray-text);
  text-decoration: line-through;
}

/* ---- PAGINATION ---- */
.cat-pagination {
  display: flex;
  justify-content: center;
  gap: 6px;
  padding: 64px 0 0;
  flex-wrap: wrap;
}
.cat-pagination .page-numbers {
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 500;
  border: 1px solid var(--gray-mid);
  transition: all .2s;
  font-family: var(--font-body);
  color: var(--gray-text);
  background: var(--white);
  text-decoration: none;
}
.cat-pagination .page-numbers:hover {
  border-color: var(--black);
  color: var(--black);
}
.cat-pagination .page-numbers.current {
  background: var(--black);
  color: #fff;
  border-color: var(--black);
}
.cat-pagination .page-numbers.dots {
  border: none;
  background: none;
}

/* ---- NO PRODUCTS ---- */
.no-products {
  text-align: center;
  padding: 80px 20px 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}
.no-products-icon {
  color: var(--gray-mid);
  margin-bottom: 8px;
}
.no-products h3 {
  font-size: 24px;
  font-weight: 300;
  margin: 0;
}
.no-products p {
  font-size: 14px;
  color: var(--gray-text);
  font-weight: 300;
  max-width: 400px;
  line-height: 1.6;
  margin: 0 0 14px;
}

/* ---- OVERLAY (mobile drawer) ---- */
.cat-sidebar-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 499;
  opacity: 0;
  transition: opacity .3s;
}
.cat-sidebar-overlay.is-visible {
  display: block;
  opacity: 1;
}

/* ============= RESPONSIVE ============= */

/* Tablet: 2 kolumny produktów, sidebar węższy */
@media (max-width: 1100px) {
  .cat-layout {
    grid-template-columns: 220px 1fr;
    gap: 32px;
  }
  .products-grid { grid-template-columns: repeat(2, 1fr); gap: 40px 24px; }
  .cat-banner-content { padding: 0 clamp(20px, 4vw, 40px); }
}

/* Mobile: sidebar jako drawer */
@media (max-width: 860px) {
  .cat-layout {
    grid-template-columns: 1fr;
    gap: 0;
    padding-top: 20px;
  }
  .cat-sidebar {
    position: fixed;
    top: 0;
    left: -320px;
    width: 320px;
    max-width: 85vw;
    height: 100vh;
    max-height: 100vh;
    background: var(--white);
    z-index: 500;
    padding: 28px 24px;
    box-shadow: none;
    transition: left .32s cubic-bezier(.25,.46,.45,.94);
  }
  .cat-sidebar.is-open {
    left: 0;
    box-shadow: 6px 0 36px rgba(0,0,0,.15);
  }
  .cat-sidebar-close { display: flex !important; align-items: center; justify-content: center; }
  .mobile-filter-btn { display: inline-flex; }
  .products-grid { gap: 32px 16px; }
}

@media (max-width: 540px) {
  .products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 28px 12px;
  }
  .prod-card-img img { padding: 8px; }
  .prod-name { font-size: 13px; }
  .prod-tagline { font-size: 11px; }
  .prod-price { font-size: 16px; }
  .cat-toolbar { gap: 10px; }
  .mobile-filter-btn { padding: 8px 14px; font-size: 9px; }
  .sort-select { font-size: 11px; padding: 8px 32px 8px 12px; }
}

/* Bardzo małe — pokaż 1 kolumnę */
@media (max-width: 380px) {
  .products-grid { grid-template-columns: 1fr; }
}


/* ================================================================
   MY ACCOUNT (woocommerce/myaccount/my-account.php)
   ================================================================ */

.account-page {
  margin-top: var(--nav-h);
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 60px clamp(20px, 5vw, 80px) 100px;
}

/* Nagłówek */
.account-header {
  margin-bottom: 48px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--gray-mid);
}
.account-eyebrow {
  font-size: 10px;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 600;
  margin: 0 0 14px;
}
.account-title {
  font-size: clamp(30px, 5vw, 52px);
  font-weight: 300;
  line-height: 1.1;
  margin: 0;
  letter-spacing: -.01em;
  color: var(--black);
}

/* Layout: sidebar + content */
.account-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 56px;
  align-items: start;
}

/* Sidebar navigation */
.account-nav {
  position: sticky;
  top: calc(var(--nav-h) + 24px);
  display: flex;
  flex-direction: column;
  gap: 0;
}
.account-nav-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 0;
  border-bottom: 1px solid var(--gray-mid);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: .01em;
  color: var(--gray-text);
  text-decoration: none;
  transition: color .2s, padding-left .2s;
  position: relative;
}
.account-nav-item:hover {
  color: var(--black);
  padding-left: 4px;
}
.account-nav-item.is-active {
  color: var(--black);
  font-weight: 600;
}
.account-nav-item:first-of-type {
  border-top: 1px solid var(--gray-mid);
}

.account-nav-icon {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gray-text);
  flex-shrink: 0;
  transition: color .2s;
}
.account-nav-icon svg { display: block; }
.account-nav-item:hover .account-nav-icon { color: var(--black); }
.account-nav-item.is-active .account-nav-icon { color: var(--gold); }

.account-nav-label {
  flex: 1;
  line-height: 1.2;
}

.account-nav-active-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
  flex-shrink: 0;
}

/* Ostatni link — wyloguj, z subtelnym zaznaczeniem */
.account-nav-item[href*="customer-logout"],
.account-nav-item[href*="?customer-logout"] {
  color: var(--gray-text);
}
.account-nav-item[href*="customer-logout"]:hover,
.account-nav-item[href*="?customer-logout"]:hover {
  color: #c0392b;
}
.account-nav-item[href*="customer-logout"]:hover .account-nav-icon,
.account-nav-item[href*="?customer-logout"]:hover .account-nav-icon {
  color: #c0392b;
}

/* Content */
.account-content { min-width: 0; }

/* Dashboard intro (pierwszy widok) */
.account-content > p:first-child {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.8;
  color: var(--gray-text);
  margin: 0 0 16px;
}
.account-content > p {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.8;
  color: var(--gray-text);
}
.account-content strong,
.account-content b {
  color: var(--black);
  font-weight: 500;
}
.account-content a {
  color: var(--black);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--gold);
  text-decoration-thickness: 1px;
  transition: text-decoration-color .2s;
}
.account-content a:hover { text-decoration-color: var(--black); }

/* Tabele (zamówienia, adresy) */
.account-content table,
.woocommerce-MyAccount-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 32px;
  font-size: 13px;
}
.account-content table thead th,
.woocommerce-MyAccount-content table thead th {
  font-size: 10px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  padding: 14px 12px 14px 0 !important;
  border-bottom: 1px solid var(--gray-mid) !important;
  text-align: left !important;
  color: var(--black) !important;
  background: none !important;
}
.account-content table tbody td,
.woocommerce-MyAccount-content table tbody td {
  padding: 16px 12px 16px 0 !important;
  border-bottom: 1px solid var(--gray-mid) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--black) !important;
  vertical-align: middle;
}
.account-content table tbody td.woocommerce-orders-table__cell-order-actions,
.account-content table tbody td.woocommerce-orders-table__cell-order-number {
  text-align: right;
}
.account-content table tbody td:last-child {
  text-align: right;
}

/* Przyciski WC */
.woocommerce-MyAccount-content .button,
.account-content .button,
.account-content .woocommerce-Button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 24px;
  background: var(--black);
  color: #fff !important;
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 700;
  text-decoration: none !important;
  transition: background .2s;
  border: 1px solid var(--black);
  cursor: pointer;
  font-family: var(--font-body);
}
.woocommerce-MyAccount-content .button:hover,
.account-content .button:hover,
.account-content .woocommerce-Button:hover {
  background: #2d2d2d;
}

/* Secondary buttony (Zobacz, Anuluj itp.) */
.woocommerce-orders-table__cell-order-actions .button,
.woocommerce-MyAccount-content .woocommerce-Button--view,
.woocommerce-MyAccount-content .woocommerce-Button--cancel {
  background: var(--white) !important;
  color: var(--black) !important;
  border: 1px solid var(--gray-mid) !important;
  padding: 8px 16px !important;
  font-size: 9px !important;
}
.woocommerce-orders-table__cell-order-actions .button:hover,
.woocommerce-MyAccount-content .woocommerce-Button--view:hover {
  background: var(--black) !important;
  color: #fff !important;
  border-color: var(--black) !important;
}

/* Formularze (Edit account, Edit address) */
.woocommerce-MyAccount-content fieldset,
.account-content fieldset {
  border: none;
  padding: 0;
  margin: 0 0 32px;
}
.woocommerce-MyAccount-content legend,
.account-content legend {
  font-size: 11px;
  letter-spacing: .28em;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0 0 20px;
  padding: 0 0 12px;
  border-bottom: 1px solid var(--gray-mid);
  width: 100%;
  color: var(--black);
}

.woocommerce-MyAccount-content .form-row,
.account-content .form-row {
  margin: 0 0 20px !important;
  padding: 0 !important;
}
.woocommerce-MyAccount-content .form-row label,
.account-content .form-row label {
  display: block;
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--gray-text);
  margin-bottom: 8px;
}
.woocommerce-MyAccount-content .form-row label .required,
.account-content .form-row label .required { color: var(--gold); }

.woocommerce-MyAccount-content .form-row input,
.woocommerce-MyAccount-content .form-row select,
.woocommerce-MyAccount-content .form-row textarea,
.account-content .form-row input,
.account-content .form-row select,
.account-content .form-row textarea {
  width: 100%;
  padding: 13px 16px;
  border: 1px solid var(--gray-mid);
  border-radius: 0;
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--black);
  outline: none;
  background: var(--white);
  transition: border-color .2s;
  -webkit-appearance: none;
  appearance: none;
  box-shadow: none;
}
.woocommerce-MyAccount-content .form-row input:focus,
.woocommerce-MyAccount-content .form-row select:focus,
.woocommerce-MyAccount-content .form-row textarea:focus,
.account-content .form-row input:focus,
.account-content .form-row select:focus,
.account-content .form-row textarea:focus {
  border-color: var(--black);
}

/* Layout 50/50 dla imienia/nazwiska */
.woocommerce-MyAccount-content .form-row-first,
.account-content .form-row-first {
  width: calc(50% - 8px);
  display: inline-block;
  vertical-align: top;
}
.woocommerce-MyAccount-content .form-row-last,
.account-content .form-row-last {
  width: calc(50% - 8px);
  display: inline-block;
  margin-left: 16px;
  vertical-align: top;
}

/* Adresy (dwa kafelki) */
.woocommerce-Addresses {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin: 0 0 32px !important;
}
.woocommerce-Address {
  background: var(--gray-light);
  padding: 28px 28px 32px;
  position: relative;
}
.woocommerce-Address-title {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--gray-mid);
}
.woocommerce-Address-title h2,
.woocommerce-Address-title h3 {
  font-size: 11px !important;
  letter-spacing: .28em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--black) !important;
  margin: 0 !important;
}
.woocommerce-Address-title a {
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--gray-text);
  text-decoration: none;
  font-weight: 500;
}
.woocommerce-Address-title a:hover { color: var(--black); }
.woocommerce-Address address {
  font-style: normal;
  font-size: 13px;
  line-height: 1.75;
  color: var(--black);
  font-weight: 300;
}

/* Komunikaty */
.account-content .woocommerce-info,
.account-content .woocommerce-message,
.account-content .woocommerce-error,
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-error {
  padding: 14px 20px !important;
  margin: 0 0 24px !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  border-left: 3px solid !important;
  background: var(--gray-light) !important;
  list-style: none !important;
  line-height: 1.6;
}
.account-content .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-info {
  border-color: var(--gold) !important;
  background: rgba(201, 169, 110, 0.08) !important;
  color: var(--black) !important;
}
.account-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-message {
  border-color: #27ae60 !important;
  background: #f0faf4 !important;
  color: #1a7a44 !important;
}

/* Login/register form (gdy niezalogowany) */
.account-login {
  max-width: 440px;
  margin: 0 auto;
}
.account-login h2 {
  font-size: 14px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0 0 24px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--gray-mid);
}
.account-login .woocommerce-form-login,
.account-login .woocommerce-form-register {
  padding: 0;
  border: none;
  margin: 0;
}
.account-login .lost_password,
.woocommerce-LostPassword {
  margin-top: 12px;
  font-size: 12px;
}
.account-login .lost_password a,
.woocommerce-LostPassword a {
  color: var(--gray-text);
  text-decoration: none;
  transition: color .2s;
}
.account-login .lost_password a:hover,
.woocommerce-LostPassword a:hover { color: var(--black); }

/* Checkbox "Zapamiętaj mnie" */
.woocommerce-form-login__rememberme,
.woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: center;
  gap: 8px;
  font-size: 12px !important;
  text-transform: none !important;
  letter-spacing: .02em !important;
  font-weight: 400 !important;
  color: var(--gray-text) !important;
  cursor: pointer;
  margin-top: 4px;
}
.woocommerce-form-login__rememberme input,
.woocommerce-form__input-checkbox {
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  accent-color: var(--black);
}

/* Numer zamówienia — mocniejszy */
.woocommerce-orders-table__cell-order-number a {
  font-weight: 600;
  color: var(--black) !important;
  text-decoration: none !important;
}
.woocommerce-orders-table__cell-order-number a:hover { color: var(--gold) !important; }

/* Status - gold akcent gdy oczekuje */
.woocommerce-orders-table__cell-order-status {
  font-size: 11px;
  letter-spacing: .04em;
}

/* ---- RESPONSIVE ---- */
@media (max-width: 900px) {
  .account-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .account-nav { position: relative; top: 0; }
  .woocommerce-Addresses { grid-template-columns: 1fr !important; }
}

@media (max-width: 540px) {
  .account-page { padding: 40px 20px 80px; }
  .account-header { margin-bottom: 32px; padding-bottom: 20px; }

  /* Tabele zamówień - responsywność */
  .woocommerce-MyAccount-content table,
  .account-content table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
    font-size: 12px;
  }
  .woocommerce-MyAccount-content .form-row-first,
  .woocommerce-MyAccount-content .form-row-last,
  .account-content .form-row-first,
  .account-content .form-row-last {
    width: 100%;
    display: block;
    margin-left: 0;
  }
}


/* ================================================================
   FOOTER — wsparcie dla wp_nav_menu w kolumnie "Sklep"
   ================================================================ */

.footer-col ul,
.footer-col ol,
.footer-col .menu,
.footer-col ul.menu {
  list-style: none !important;
  list-style-type: none !important;
  padding: 0 !important;
  padding-left: 0 !important;
  margin: 0 !important;
}
.footer-col ul li,
.footer-col ol li,
.footer-col .menu li,
.footer-col ul.menu li,
.footer-col li.menu-item {
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  background: none !important;
}
.footer-col ul li::before,
.footer-col ul li::marker,
.footer-col .menu li::before,
.footer-col .menu li::marker,
.footer-col li.menu-item::before,
.footer-col li.menu-item::marker {
  content: none !important;
  display: none !important;
}
.footer-col ul li a {
  display: block;
  line-height: 2;
}


/* ================================================================
   STRONY STATYCZNE (page.php + page-wide.php)
   ================================================================ */

.page-wrap {
  margin: 0 auto;
  padding: 80px clamp(20px, 5vw, 40px) 100px;
}
/* Domyślny wąski układ: idealny dla regulaminu, polityki, FAQ */
.page-wrap--narrow {
  max-width: 760px;
}
/* Szeroki układ: landing, grid, sekcje z obrazami */
.page-wrap--wide {
  max-width: 1440px;
}

.page-wrap::before {
  content: "";
  display: block;
  height: var(--nav-h);
}

/* Hero obrazek */
.page-hero {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  margin-bottom: 48px;
}
.page-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-hero--wide {
  aspect-ratio: 21/9;
  margin-bottom: 64px;
}

/* Header */
.page-header {
  margin-bottom: 48px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--gray-mid);
}
.page-eyebrow {
  font-size: 10px;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 600;
  margin: 0 0 14px;
}
.page-title {
  font-size: clamp(28px, 5vw, 52px);
  font-weight: 300;
  line-height: 1.1;
  margin: 0;
  letter-spacing: -.01em;
  color: var(--black);
}
.page-wrap--wide .page-title {
  font-size: clamp(32px, 6vw, 64px);
}

/* --- CONTENT (treść wprowadzona w Gutenberg) --- */
.page-content {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.85;
  color: #2a2a2a;
}
.page-content > *:first-child { margin-top: 0; }
.page-content > *:last-child  { margin-bottom: 0; }

.page-content p {
  margin: 0 0 22px;
}
.page-content h2 {
  font-size: clamp(22px, 3vw, 34px);
  font-weight: 400;
  margin: 56px 0 20px;
  line-height: 1.2;
  letter-spacing: -.005em;
  color: var(--black);
}
.page-content h3 {
  font-size: clamp(18px, 2.2vw, 24px);
  font-weight: 500;
  margin: 40px 0 14px;
  line-height: 1.25;
  color: var(--black);
}
.page-content h4 {
  font-size: clamp(15px, 1.8vw, 18px);
  font-weight: 600;
  margin: 32px 0 12px;
  color: var(--black);
  letter-spacing: .01em;
}
.page-content h5, .page-content h6 {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin: 28px 0 10px;
  color: var(--black);
}

.page-content ul,
.page-content ol {
  margin: 0 0 24px;
  padding-left: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.page-content ul { list-style: none; padding-left: 0; }
.page-content ul li {
  display: flex;
  gap: 12px;
  padding-left: 0;
}
.page-content ul li::before {
  content: "—";
  color: var(--gold);
  flex-shrink: 0;
  font-weight: 500;
}
.page-content ol li::marker {
  color: var(--gold);
  font-weight: 600;
}

.page-content a {
  color: var(--black);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--gold);
  text-decoration-thickness: 1px;
  transition: text-decoration-color .2s;
}
.page-content a:hover { text-decoration-color: var(--black); }

.page-content blockquote {
  border-left: 3px solid var(--gold);
  padding: 20px 28px;
  margin: 40px 0;
  background: var(--gray-light);
  font-size: clamp(17px, 2.2vw, 22px);
  font-weight: 300;
  font-style: italic;
  line-height: 1.55;
  color: var(--black);
}
.page-content blockquote p:last-child { margin-bottom: 0; }

.page-content img,
.page-content figure {
  margin: 40px 0;
  max-width: 100%;
  height: auto;
}
.page-content figure img { margin: 0; }
.page-content figcaption {
  margin-top: 10px;
  font-size: 12px;
  color: var(--gray-text);
  text-align: center;
  font-style: italic;
}

.page-content hr {
  border: none;
  height: 1px;
  background: var(--gray-mid);
  margin: 48px 0;
}

.page-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 32px;
  font-size: 14px;
}
.page-content table th,
.page-content table td {
  padding: 14px 16px;
  border: 1px solid var(--gray-mid);
  text-align: left;
}
.page-content table th {
  background: var(--gray-light);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--black);
}
.page-content table td { font-weight: 300; color: #2a2a2a; }

.page-content code {
  background: var(--gray-light);
  padding: 2px 6px;
  font-size: .88em;
  font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
}
.page-content pre {
  background: var(--gray-light);
  padding: 20px 24px;
  overflow-x: auto;
  font-size: 13px;
  margin: 28px 0;
  font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  line-height: 1.6;
}
.page-content pre code {
  background: none;
  padding: 0;
}

/* --- GUTENBERG: align-wide + align-full --- */
/* W szerokim szablonie (page-wrap--wide), alignwide rozciąga do 1160px,
   alignfull do pełnej szerokości viewportu (łamie ograniczenie kontenera) */
.page-wrap--wide .page-content .alignwide {
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
}
.page-wrap--wide .page-content .alignfull {
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
}

/* W wąskim szablonie wide/full nie wychodzi poza kontener — dają efekt rozciągnięcia w ramach swojego kontenera */
.page-wrap--narrow .page-content .alignwide {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}
.page-wrap--narrow .page-content .alignfull {
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
}

/* Alignleft/alignright — float */
.page-content .alignleft  { float: left; margin: 10px 30px 20px 0; max-width: 50%; }
.page-content .alignright { float: right; margin: 10px 0 20px 30px; max-width: 50%; }
.page-content .aligncenter { margin-left: auto; margin-right: auto; display: block; }

/* --- GUTENBERG BLOCKS --- */

/* Cover */
.page-content .wp-block-cover {
  margin: 40px 0;
  min-height: 400px;
}
.page-content .wp-block-cover .wp-block-cover__inner-container {
  color: #fff;
  max-width: 680px;
  padding: 0 20px;
}

/* Columns */
.page-content .wp-block-columns {
  gap: 32px;
  margin: 32px 0;
}

/* Image */
.page-content .wp-block-image {
  margin: 40px 0;
}
.page-content .wp-block-image figcaption {
  margin-top: 10px;
}

/* Button */
.page-content .wp-block-button__link {
  background: var(--black) !important;
  color: #fff !important;
  padding: 14px 36px !important;
  font-size: 10px !important;
  letter-spacing: .25em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  transition: background .2s;
}
.page-content .wp-block-button__link:hover {
  background: #2d2d2d !important;
}
.page-content .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: var(--black) !important;
  border: 1px solid var(--black) !important;
}
.page-content .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--black) !important;
  color: #fff !important;
}

/* Separator */
.page-content .wp-block-separator {
  border: none;
  height: 1px;
  background: var(--gray-mid);
  margin: 48px auto;
  max-width: 100%;
}
.page-content .wp-block-separator.has-background {
  height: 1px;
}
.page-content .wp-block-separator.is-style-dots {
  background: none;
  height: auto;
  text-align: center;
  font-size: 20px;
  letter-spacing: 1em;
  color: var(--gold);
}

/* Pullquote */
.page-content .wp-block-pullquote {
  border-top: 2px solid var(--gold);
  border-bottom: 2px solid var(--gold);
  padding: 40px 20px;
  margin: 48px 0;
  text-align: center;
  font-size: clamp(20px, 3vw, 28px);
  font-weight: 300;
  font-style: italic;
  line-height: 1.4;
}
.page-content .wp-block-pullquote cite {
  display: block;
  margin-top: 20px;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gray-text);
  font-style: normal;
  font-weight: 600;
}

/* Gallery */
.page-content .wp-block-gallery {
  margin: 40px 0;
}

/* Embed */
.page-content .wp-block-embed iframe {
  max-width: 100%;
}

/* Kolory motywu (paleta) */
.has-black-color { color: #1a1a1a !important; }
.has-white-color { color: #ffffff !important; }
.has-gray-light-color { color: #f5f4f2 !important; }
.has-gray-text-color { color: #6b6560 !important; }
.has-gold-color { color: #c9a96e !important; }
.has-gold-light-color { color: #e8d5b0 !important; }

.has-black-background-color { background-color: #1a1a1a !important; }
.has-white-background-color { background-color: #ffffff !important; }
.has-gray-light-background-color { background-color: #f5f4f2 !important; }
.has-gray-text-background-color { background-color: #6b6560 !important; }
.has-gold-background-color { background-color: #c9a96e !important; }
.has-gold-light-background-color { background-color: #e8d5b0 !important; }

/* Paginacja (wielostronicowe artykuły) */
.page-pagination {
  margin-top: 48px;
  padding-top: 28px;
  border-top: 1px solid var(--gray-mid);
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}
.page-pagination-label {
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--gray-text);
}
.page-pagination a,
.page-pagination > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 12px;
  border: 1px solid var(--gray-mid);
  font-size: 13px;
  color: var(--gray-text);
  text-decoration: none;
  transition: all .2s;
}
.page-pagination a:hover {
  border-color: var(--black);
  color: var(--black);
}
.page-pagination > span:not(.page-pagination-label) {
  background: var(--black);
  color: #fff;
  border-color: var(--black);
}

/* --- RESPONSIVE --- */
@media (max-width: 640px) {
  .page-wrap { padding: 48px 20px 60px; }
  .page-header { margin-bottom: 32px; padding-bottom: 20px; }
  .page-hero { aspect-ratio: 4/3; margin-bottom: 32px; }
  .page-content .wp-block-columns { flex-direction: column; gap: 16px; }
}


/* ================================================================
   FOOTER — logo SVG + czarne linki
   ================================================================ */

.footer-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  transition: opacity .2s;
}
.footer-logo:hover { opacity: .7; }
.footer-logo img {
  width: 100%;
  max-width: 180px;
  height: auto;
  display: block;
  object-fit: contain;
}

/* Czarne linki w kolumnach stopki */
.footer-col a,
.footer-col ul li a {
  color: var(--black) !important;
  transition: opacity .2s;
}
.footer-col a:hover,
.footer-col ul li a:hover {
  opacity: .55;
  color: var(--black) !important;
}

/* Tekst kontaktowy (telefon, godziny, adres) zostaje w gray-text dla kontrastu */
.footer-col p {
  color: var(--gray-text);
}


/* ================================================================
   CHECKOUT — Metoda dostawy W SIDEBARZE (natywna lokalizacja WC)
   Metody dostawy są w #order_review (sidebar), bo tam WC je refreshuje
   po zmianie adresu + tam wtyczki paczkomatów wstrzykują swoje widgety.
   Struktura HTML: tr.woocommerce-shipping-totals > td > ul#shipping_method
   ================================================================ */

/* Wrapper shipping totals - etykieta "Przesyłka" zastępujemy "Metoda dostawy" */
.order-summary .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals {
  display: block !important;
  padding: 20px 0 12px !important;
  border-top: 1px solid var(--gray-mid) !important;
  margin-top: 12px !important;
  position: relative;
}

/* Ukryj natywny <th>Przesyłka</th>, wstawimy własny label przez td::before */
.order-summary .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals th {
  display: none !important;
}

/* TD zajmuje pełną szerokość, wewnątrz ul */
.order-summary .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  text-align: left !important;
  font-size: 13px !important;
  color: var(--black) !important;
}

/* Własny label "METODA DOSTAWY" przed listą radio */
.order-summary .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td::before {
  content: "Metoda dostawy";
  display: block;
  font-size: 11px;
  letter-spacing: .28em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--black);
  margin-bottom: 14px;
}

/* Lista metod dostawy - kolumna kafelków */
.order-summary ul#shipping_method,
.order-summary .woocommerce-shipping-methods ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

/* Każde li = kafelek */
.order-summary ul#shipping_method li,
.order-summary .woocommerce-shipping-methods ul li {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px 14px !important;
  border: 1px solid var(--gray-mid) !important;
  background: var(--white) !important;
  cursor: pointer;
  transition: border-color .2s, box-shadow .2s;
  margin: 0 !important;
  list-style: none !important;
}
.order-summary ul#shipping_method li:hover {
  border-color: var(--black) !important;
}
.order-summary ul#shipping_method li:has(input:checked) {
  border-color: var(--black) !important;
  box-shadow: 0 0 0 1px var(--black);
}

/* Natywny radio */
.order-summary ul#shipping_method li input[type="radio"] {
  width: 16px !important;
  height: 16px !important;
  accent-color: var(--black);
  margin: 0 !important;
  flex-shrink: 0;
  cursor: pointer;
}

/* Label z nazwą + ceną */
.order-summary ul#shipping_method li label {
  flex: 1 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--black) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  cursor: pointer;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  line-height: 1.3;
  flex-wrap: wrap;
}

.order-summary ul#shipping_method li label .woocommerce-Price-amount,
.order-summary ul#shipping_method li label bdi,
.order-summary ul#shipping_method li label .amount {
  margin-left: auto;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 400;
  color: var(--black);
  white-space: nowrap;
}

/* Widget paczkomatów - pojawia się jako sibling ul#shipping_method albo wewnątrz td */
.order-summary .paczkomat-points-wrapper,
.order-summary .inpost-paczkomaty-button-wrapper,
.order-summary [id^="easypack-"],
.order-summary .paczkomaty_point_show,
.order-summary .paczkomaty-widget-container {
  margin-top: 10px;
  display: block;
}

.order-summary [id^="easypack-"] iframe {
  width: 100% !important;
  border: 1px solid var(--gray-mid);
}

/* Przycisk "Wybierz paczkomat" — styl jak inne CTA */
.order-summary .paczkomaty_btn_show,
.order-summary .inpost-paczkomaty-select-btn,
.order-summary a.paczkomaty_selection {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin-top: 8px !important;
  padding: 10px 18px !important;
  background: var(--black) !important;
  color: #fff !important;
  font-size: 10px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border: 1px solid var(--black) !important;
  cursor: pointer;
  font-family: var(--font-body) !important;
  transition: background .2s;
}
.order-summary .paczkomaty_btn_show:hover,
.order-summary .inpost-paczkomaty-select-btn:hover,
.order-summary a.paczkomaty_selection:hover {
  background: #2d2d2d !important;
}

/* Informacja o wybranym paczkomacie */
.order-summary .paczkomaty_point_show,
.order-summary .selected-paczkomat,
.order-summary .paczkomat_selected {
  font-size: 11px;
  color: var(--gray-text);
  font-weight: 300;
  margin-top: 6px;
  line-height: 1.5;
}

/* Ukryj natywny "Dostawa do:" */
.order-summary .woocommerce-shipping-destination,
.order-summary .woocommerce-shipping-calculator {
  display: none !important;
}


/* ================================================================
   CHECKOUT SIDEBAR — v4 finalne uporządkowanie "Twoje zamówienie"
   ================================================================ */

/* --- Mini lista produktów (z miniaturami + badge ilości) --- */
.order-summary-items {
  display: flex;
  flex-direction: column;
  margin: 0 0 8px;
}

.order-summary-item {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid var(--gray-mid);
}
.order-summary-item:last-child { border-bottom: none; }

.order-summary-item-img {
  width: 56px;
  height: 56px;
  flex-shrink: 0;
  overflow: hidden;
  background: var(--gray-light);
  position: relative;
}
.order-summary-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.order-summary-item-qty {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--gold);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  box-shadow: 0 0 0 2px var(--gray-light);
}

.order-summary-item-info {
  flex: 1;
  min-width: 0;
}
.order-summary-item-name {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.35;
  color: var(--black);
}
.order-summary-item-meta {
  font-size: 11px;
  color: var(--gray-text);
  font-weight: 300;
  margin-top: 4px;
}
.order-summary-item-meta p { margin: 0; }

.order-summary-item-price {
  font-size: 15px;
  font-weight: 400;
  white-space: nowrap;
  color: var(--black);
}

/* --- Natywna tabela WC: ukryj pozycje produktów (duplikują mini-listę) --- */
.order-summary .woocommerce-checkout-review-order-table thead { display: none !important; }
.order-summary .woocommerce-checkout-review-order-table tbody,
.order-summary .woocommerce-checkout-review-order-table .cart_item { display: none !important; }

/* Pokaż tylko tfoot (sumy, dostawa, razem) jako lista wierszy */
.order-summary .woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0 0 !important;
  display: table;
  background: transparent;
}
.order-summary .woocommerce-checkout-review-order-table tfoot {
  display: table-row-group !important;
}
.order-summary .woocommerce-checkout-review-order-table tfoot tr {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  padding: 10px 0 !important;
  border: none !important;
  gap: 12px;
}

.order-summary .woocommerce-checkout-review-order-table tfoot tr th,
.order-summary .woocommerce-checkout-review-order-table tfoot tr td {
  display: block !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 300 !important;
}

.order-summary .woocommerce-checkout-review-order-table tfoot tr th {
  font-size: 13px !important;
  color: var(--gray-text) !important;
  text-align: left;
}
.order-summary .woocommerce-checkout-review-order-table tfoot tr td {
  font-size: 13px !important;
  color: var(--black) !important;
  text-align: right;
  font-weight: 400 !important;
  white-space: nowrap;
}

/* Kwota (subtotal) — wyciszony */
.order-summary .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal {
  padding-top: 16px !important;
  border-top: 1px solid var(--gray-mid) !important;
  margin-top: 4px !important;
}
.order-summary .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th,
.order-summary .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td {
  opacity: .85;
}

/* Jeśli zachodzi przypadek gdzie subtotal == total (bez shippingu), schowaj subtotal */
.order-summary .woocommerce-checkout-review-order-table tfoot:has(> tr.cart-subtotal + tr.order-total) tr.cart-subtotal {
  display: none !important;
}

/* Shipping row — pokazuje nazwę wybranej metody + cenę */
.order-summary .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals {
  align-items: flex-start !important;
}
.order-summary .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td {
  text-align: right;
  font-size: 13px !important;
  line-height: 1.5;
}
/* Ukryj ul/li wewnątrz shipping-totals (natywną listę metod) — mamy swoją w formularzu */
.order-summary .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals ul,
.order-summary .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals .woocommerce-shipping-methods {
  display: none !important;
}
/* Shipping destination info - ukryj */
.order-summary .woocommerce-shipping-destination,
.order-summary .woocommerce-shipping-calculator { display: none !important; }

/* ŁĄCZNIE — wyróżniony */
.order-summary .woocommerce-checkout-review-order-table tfoot tr.order-total {
  align-items: center !important;
  padding: 22px 0 6px !important;
  margin-top: 10px !important;
  border-top: 1px solid var(--gray-mid) !important;
}
.order-summary .woocommerce-checkout-review-order-table tfoot tr.order-total th {
  font-size: 11px !important;
  letter-spacing: .28em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--black) !important;
}
.order-summary .woocommerce-checkout-review-order-table tfoot tr.order-total td {
  font-size: clamp(22px, 2.5vw, 28px) !important;
  font-weight: 500 !important;
  color: var(--black) !important;
  line-height: 1;
}
.order-summary .woocommerce-checkout-review-order-table tfoot tr.order-total small.includes_tax {
  display: block;
  font-size: 10px !important;
  font-weight: 300 !important;
  color: var(--gray-text) !important;
  margin-top: 4px;
  letter-spacing: 0;
}


/* ================================================================
   NATIVE WC CHECKOUT — ostylowanie natywnego form-checkout.php
   Strategia: zostawiamy natywny HTML WooCommerce (dzięki temu wtyczki
   jak InPost Paczkomaty działają), ale CSS-em robimy nasz layout
   2-kolumnowy z kafelkami dostawy w prawej kolumnie.
   ================================================================ */

/* Wrapper otaczający strony checkoutu - narzuca margines od góry (pod navem) */
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .page-content,
body.woocommerce-checkout .page-wrap,
body.woocommerce-checkout main {
  margin-top: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
}

body.woocommerce-checkout .page-header,
body.woocommerce-checkout .entry-header,
body.woocommerce-checkout h1.page-title,
body.woocommerce-checkout h1.entry-title,
body.woocommerce-checkout .page-hero {
  display: none !important;
}

/* Kroki progress na górze - pełna szerokość */
body.woocommerce-checkout .neno-checkout-wrap {
  width: 100%;
  margin-top: var(--nav-h);
}

/* Natywny WC form - główny wrapper */
body.woocommerce-checkout .woocommerce {
  max-width: 1440px;
  margin: 0 auto;
  padding: 40px clamp(20px, 5vw, 80px) 100px;
}

/* Form checkout - flex 2-kolumnowy (lewa formularz, prawa order review) */
body.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 56px;
  align-items: start;
}

/* LEWA KOLUMNA: customer_details + extra fields + payment */
body.woocommerce-checkout form.checkout > #customer_details,
body.woocommerce-checkout form.checkout > .woocommerce-additional-fields,
body.woocommerce-checkout form.checkout > .woocommerce-billing-fields,
body.woocommerce-checkout form.checkout > .woocommerce-shipping-fields {
  grid-column: 1;
}

/* PRAWA KOLUMNA: order_review_heading + order_review (sticky) */
body.woocommerce-checkout form.checkout > #order_review_heading,
body.woocommerce-checkout form.checkout > #order_review {
  grid-column: 2;
}
body.woocommerce-checkout form.checkout > #order_review_heading {
  margin: 0 0 20px;
  padding: 24px 28px 0;
  background: var(--gray-light);
  font-size: clamp(20px, 3vw, 26px);
  font-weight: 300;
  color: var(--black);
  border-radius: 4px 4px 0 0;
  grid-row: 1;
}
body.woocommerce-checkout form.checkout > #order_review {
  position: sticky;
  top: calc(var(--nav-h) + 24px);
  background: var(--gray-light);
  padding: 0 28px 28px;
  border-radius: 0 0 4px 4px;
  grid-row: 2;
  margin: -20px 0 0;
}

/* Trust badges - pod order_review (via do_action 'after_order_review') */
body.woocommerce-checkout .trust-badges {
  grid-column: 2;
  grid-row: 3;
  margin-top: 20px;
}

/* col2-set (imie/adres WC) - jedna kolumna */
body.woocommerce-checkout form.checkout .col2-set {
  display: block;
}
body.woocommerce-checkout form.checkout .col2-set .col-1,
body.woocommerce-checkout form.checkout .col2-set .col-2 {
  width: 100%;
  float: none;
  max-width: 100%;
  margin-bottom: 32px;
}

/* Nagłówki sekcji w lewej kolumnie (Billing details, Shipping details) */
body.woocommerce-checkout form.checkout h3 {
  font-size: 14px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0 0 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--gray-mid);
  color: var(--black);
}

/* Formularz fields - jednakowy styl */
body.woocommerce-checkout form.checkout .form-row {
  margin: 0 0 18px !important;
  padding: 0 !important;
}
body.woocommerce-checkout form.checkout .form-row label {
  display: block;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--gray-text);
  margin-bottom: 8px;
}
body.woocommerce-checkout form.checkout .form-row label .required {
  color: var(--gold);
  text-decoration: none;
}
body.woocommerce-checkout form.checkout .form-row input[type="text"],
body.woocommerce-checkout form.checkout .form-row input[type="email"],
body.woocommerce-checkout form.checkout .form-row input[type="tel"],
body.woocommerce-checkout form.checkout .form-row input[type="password"],
body.woocommerce-checkout form.checkout .form-row input[type="number"],
body.woocommerce-checkout form.checkout .form-row select,
body.woocommerce-checkout form.checkout .form-row textarea,
body.woocommerce-checkout form.checkout .select2-selection {
  width: 100% !important;
  padding: 13px 16px !important;
  border: 1px solid var(--gray-mid) !important;
  border-radius: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  color: var(--black) !important;
  background: var(--white) !important;
  outline: none !important;
  transition: border-color .2s !important;
  box-shadow: none !important;
  height: auto !important;
  line-height: 1.5 !important;
}
body.woocommerce-checkout form.checkout .form-row input:focus,
body.woocommerce-checkout form.checkout .form-row select:focus,
body.woocommerce-checkout form.checkout .form-row textarea:focus,
body.woocommerce-checkout form.checkout .select2-selection--single:focus {
  border-color: var(--black) !important;
}

/* Select2 dropdown (kraj) */
body.woocommerce-checkout .select2-container--default .select2-selection--single {
  height: auto !important;
  padding: 11px 14px !important;
  border: 1px solid var(--gray-mid) !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 1.5 !important;
  color: var(--black) !important;
  padding: 0 !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 50% !important;
  right: 12px !important;
  transform: translateY(-50%) !important;
  height: auto !important;
}

/* Form-row-first / form-row-last (imie, nazwisko 50/50) */
body.woocommerce-checkout form.checkout .form-row-first,
body.woocommerce-checkout form.checkout .form-row-last {
  width: calc(50% - 9px) !important;
  display: inline-block !important;
  vertical-align: top !important;
}
body.woocommerce-checkout form.checkout .form-row-last {
  margin-left: 16px !important;
}
body.woocommerce-checkout form.checkout .form-row-wide {
  width: 100% !important;
  clear: both !important;
}

/* Checkbox "Wysłać na inny adres?" */
body.woocommerce-checkout form.checkout #ship-to-different-address {
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 0 24px !important;
  color: var(--black) !important;
}
body.woocommerce-checkout form.checkout #ship-to-different-address-checkbox {
  margin: 0 !important;
  width: 16px !important;
  height: 16px !important;
  accent-color: var(--black) !important;
}

/* Tabela review order w sidebarze */
body.woocommerce-checkout form.checkout table.shop_table {
  border: none !important;
  background: transparent !important;
  width: 100% !important;
  margin: 16px 0 !important;
}
body.woocommerce-checkout form.checkout table.shop_table thead th {
  background: none !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid var(--gray-mid) !important;
  font-size: 10px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--black) !important;
}
body.woocommerce-checkout form.checkout table.shop_table tbody tr.cart_item td {
  padding: 14px 0 !important;
  border-bottom: 1px solid var(--gray-mid) !important;
  font-size: 13px !important;
  color: var(--black) !important;
}
body.woocommerce-checkout form.checkout table.shop_table .product-name {
  font-weight: 400 !important;
}
body.woocommerce-checkout form.checkout table.shop_table .product-quantity {
  color: var(--gray-text);
  font-weight: 300;
  margin-left: 6px;
}

/* Row sumy cart-subtotal */
body.woocommerce-checkout form.checkout table.shop_table tfoot th,
body.woocommerce-checkout form.checkout table.shop_table tfoot td {
  padding: 10px 0 !important;
  border: none !important;
  font-size: 13px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
}
body.woocommerce-checkout form.checkout table.shop_table tfoot th {
  color: var(--gray-text) !important;
}

/* Row SHIPPING - kontener dla kafelków dostawy */
body.woocommerce-checkout form.checkout table.shop_table tfoot tr.woocommerce-shipping-totals th {
  display: none !important;
}
body.woocommerce-checkout form.checkout table.shop_table tfoot tr.woocommerce-shipping-totals td {
  display: block !important;
  width: 100% !important;
  padding: 16px 0 !important;
  border-top: 1px solid var(--gray-mid) !important;
  border-bottom: 1px solid var(--gray-mid) !important;
  margin: 8px 0 !important;
}
body.woocommerce-checkout form.checkout table.shop_table tfoot tr.woocommerce-shipping-totals td::before {
  content: "Metoda dostawy";
  display: block;
  font-size: 10px;
  letter-spacing: .28em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--black);
  margin-bottom: 14px;
}

/* Lista ul#shipping_method - kafelki */
body.woocommerce-checkout ul#shipping_method,
body.woocommerce-checkout .woocommerce-shipping-methods ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}
body.woocommerce-checkout ul#shipping_method li,
body.woocommerce-checkout .woocommerce-shipping-methods ul li {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px 14px !important;
  border: 1px solid var(--gray-mid) !important;
  background: var(--white) !important;
  cursor: pointer;
  transition: border-color .2s, box-shadow .2s;
  margin: 0 !important;
  list-style: none !important;
  flex-wrap: wrap;
}
body.woocommerce-checkout ul#shipping_method li:hover {
  border-color: var(--black) !important;
}
body.woocommerce-checkout ul#shipping_method li:has(input:checked) {
  border-color: var(--black) !important;
  box-shadow: 0 0 0 1px var(--black);
}
body.woocommerce-checkout ul#shipping_method li input[type="radio"] {
  width: 16px !important;
  height: 16px !important;
  accent-color: var(--black) !important;
  margin: 0 !important;
  flex-shrink: 0;
  cursor: pointer;
}
body.woocommerce-checkout ul#shipping_method li label {
  flex: 1 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--black) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  cursor: pointer;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  line-height: 1.3;
}
body.woocommerce-checkout ul#shipping_method li label .woocommerce-Price-amount,
body.woocommerce-checkout ul#shipping_method li label bdi {
  margin-left: auto;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 400;
  color: var(--black);
  white-space: nowrap;
}

/* Ukryj natywny "Dostawa do" / calc */
body.woocommerce-checkout .woocommerce-shipping-destination,
body.woocommerce-checkout .woocommerce-shipping-calculator { display: none !important; }

/* Order total - duży wyróżnienie */
body.woocommerce-checkout form.checkout table.shop_table tfoot tr.order-total th,
body.woocommerce-checkout form.checkout table.shop_table tfoot tr.order-total td {
  padding: 20px 0 10px !important;
  border-top: 1px solid var(--gray-mid) !important;
}
body.woocommerce-checkout form.checkout table.shop_table tfoot tr.order-total th {
  font-size: 11px !important;
  letter-spacing: .28em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--black) !important;
  display: table-cell !important;
}
body.woocommerce-checkout form.checkout table.shop_table tfoot tr.order-total td {
  font-size: clamp(22px, 2.5vw, 28px) !important;
  font-weight: 500 !important;
  color: var(--black) !important;
  text-align: right !important;
  line-height: 1 !important;
}

/* Metoda płatności (radio list) */
body.woocommerce-checkout ul.wc_payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 16px 0 20px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}
body.woocommerce-checkout ul.wc_payment_methods li {
  background: var(--white) !important;
  border: 1px solid var(--gray-mid) !important;
  padding: 12px 14px !important;
  list-style: none !important;
  margin: 0 !important;
}
body.woocommerce-checkout ul.wc_payment_methods li label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  cursor: pointer;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--black) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-checkout ul.wc_payment_methods li input[type="radio"] {
  width: 16px !important;
  height: 16px !important;
  accent-color: var(--black) !important;
  margin: 0 !important;
}
body.woocommerce-checkout .payment_box {
  background: var(--gray-light) !important;
  padding: 14px 16px !important;
  margin: 8px 0 0 !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  color: var(--gray-text) !important;
  border-radius: 0 !important;
}

/* Polityka prywatności */
body.woocommerce-checkout .woocommerce-privacy-policy-text {
  font-size: 11px;
  line-height: 1.6;
  color: var(--gray-text);
  margin: 16px 0;
  font-weight: 300;
}

/* Place order button */
body.woocommerce-checkout #place_order {
  width: 100% !important;
  padding: 16px 24px !important;
  background: var(--black) !important;
  color: #fff !important;
  border: 1px solid var(--black) !important;
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  letter-spacing: .28em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background .2s !important;
  border-radius: 0 !important;
  margin-top: 8px !important;
  height: auto !important;
  line-height: 1.2 !important;
}
body.woocommerce-checkout #place_order:hover {
  background: #2d2d2d !important;
}

/* Form-coupon / login - ukryj (mamy własny w koszyku) */
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce-form-coupon,
body.woocommerce-checkout .woocommerce-form-login-toggle,
body.woocommerce-checkout .woocommerce-form-login { display: none !important; }

/* Mobile: 1 kolumna, sidebar na dole */
@media (max-width: 960px) {
  body.woocommerce-checkout form.checkout {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  body.woocommerce-checkout form.checkout > #customer_details,
  body.woocommerce-checkout form.checkout > .woocommerce-additional-fields,
  body.woocommerce-checkout form.checkout > #order_review_heading,
  body.woocommerce-checkout form.checkout > #order_review,
  body.woocommerce-checkout .trust-badges {
    grid-column: 1 !important;
  }
  body.woocommerce-checkout form.checkout > #order_review {
    position: static !important;
  }
}

@media (max-width: 540px) {
  body.woocommerce-checkout form.checkout .form-row-first,
  body.woocommerce-checkout form.checkout .form-row-last {
    width: 100% !important;
    display: block !important;
    margin-left: 0 !important;
  }
}


/* ================================================================
   NATIVE CHECKOUT — poprawki v2 layoutu
   ================================================================ */

/* Tabela review order - skompresuj kolumny tak żeby produkt był z lewej, kwota z prawej */
body.woocommerce-checkout form.checkout table.shop_table {
  table-layout: auto !important;
  display: table !important;
}
body.woocommerce-checkout form.checkout table.shop_table thead,
body.woocommerce-checkout form.checkout table.shop_table tbody,
body.woocommerce-checkout form.checkout table.shop_table tfoot {
  display: table-row-group !important;
}
body.woocommerce-checkout form.checkout table.shop_table tr {
  display: table-row !important;
}
body.woocommerce-checkout form.checkout table.shop_table th,
body.woocommerce-checkout form.checkout table.shop_table td {
  display: table-cell !important;
}

body.woocommerce-checkout form.checkout table.shop_table thead th.product-name {
  text-align: left !important;
  width: auto;
}
body.woocommerce-checkout form.checkout table.shop_table thead th.product-total,
body.woocommerce-checkout form.checkout table.shop_table td.product-total {
  text-align: right !important;
  white-space: nowrap;
  width: 1%;
}
body.woocommerce-checkout form.checkout table.shop_table tbody tr.cart_item td.product-name {
  text-align: left !important;
  width: auto;
}

/* Cart subtotal / inne tfoot row - label z lewej, kwota z prawej */
body.woocommerce-checkout form.checkout table.shop_table tfoot tr th {
  text-align: left !important;
  width: auto !important;
  display: table-cell !important;
}
body.woocommerce-checkout form.checkout table.shop_table tfoot tr td {
  text-align: right !important;
  white-space: nowrap;
  width: 1%;
}

/* === SHIPPING ROW - pełna szerokość, label "Metoda dostawy", kafelki pełna szerokość === */
body.woocommerce-checkout form.checkout table.shop_table tfoot tr.woocommerce-shipping-totals {
  /* Wymuszamy że cały wiersz shipping to jedna duża komórka */
}
body.woocommerce-checkout form.checkout table.shop_table tfoot tr.woocommerce-shipping-totals th {
  display: none !important;
}
body.woocommerce-checkout form.checkout table.shop_table tfoot tr.woocommerce-shipping-totals td {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box;
  padding: 16px 0 !important;
  border-top: 1px solid var(--gray-mid) !important;
  border-bottom: 1px solid var(--gray-mid) !important;
  margin: 8px 0 !important;
  text-align: left !important;
}
/* Stały colspan dla shipping row */
body.woocommerce-checkout form.checkout table.shop_table tfoot tr.woocommerce-shipping-totals {
  display: table-row !important;
}

/* ORDER TOTAL - th etykieta z lewej, td wartość z prawej */
body.woocommerce-checkout form.checkout table.shop_table tfoot tr.order-total th {
  display: table-cell !important;
  width: auto !important;
  text-align: left !important;
}
body.woocommerce-checkout form.checkout table.shop_table tfoot tr.order-total td {
  display: table-cell !important;
  width: 1% !important;
  white-space: nowrap;
  text-align: right !important;
}

/* Kafelki dostawy - wyrównaj wewnętrzną dziwną dziurę po lewej (ukryty <th>) */
body.woocommerce-checkout ul#shipping_method li {
  padding-left: 14px !important;
  padding-right: 14px !important;
}
body.woocommerce-checkout ul#shipping_method li::before,
body.woocommerce-checkout ul#shipping_method li::after {
  display: none !important;
}

/* Przycisk "Wybierz paczkomat" - styl neno */
body.woocommerce-checkout ul#shipping_method li a,
body.woocommerce-checkout ul#shipping_method li button,
body.woocommerce-checkout ul#shipping_method li .paczkomaty_btn_show,
body.woocommerce-checkout ul#shipping_method li input[type="button"],
body.woocommerce-checkout ul#shipping_method li input[type="submit"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin-top: 10px !important;
  padding: 10px 20px !important;
  background: var(--black) !important;
  color: #fff !important;
  font-size: 10px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border: 1px solid var(--black) !important;
  cursor: pointer !important;
  font-family: var(--font-body) !important;
  transition: background .2s;
  width: 100%;
  box-sizing: border-box;
  line-height: 1.2;
  height: auto !important;
}
body.woocommerce-checkout ul#shipping_method li a:hover,
body.woocommerce-checkout ul#shipping_method li button:hover {
  background: #2d2d2d !important;
}

/* Informacja o wybranym paczkomacie pod przyciskiem */
body.woocommerce-checkout ul#shipping_method li .paczkomaty_point_show,
body.woocommerce-checkout ul#shipping_method li .selected-paczkomat,
body.woocommerce-checkout ul#shipping_method li .paczkomat-selected-info,
body.woocommerce-checkout ul#shipping_method li .paczkomaty_text {
  display: block !important;
  font-size: 11px !important;
  color: var(--gray-text) !important;
  font-weight: 300 !important;
  margin-top: 8px !important;
  line-height: 1.5;
  width: 100%;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-family: var(--font-body) !important;
}

/* ================================================================
   LAYOUT v4 — grid z sidebarem owiniętym JS-em w .neno-checkout-sidebar
   JS w functions.php owija #order_review_heading + #order_review + .trust-badges
   w jeden wrapper, żeby grid miał jedną kolumnę prawą bez pustych wierszy.
   ================================================================ */

body.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: 1fr 420px !important;
  gap: 0 48px !important;
  align-items: start !important;
}

/* Wszystkie elementy lewej kolumny (oprócz sidebara) idą do kolumny 1 */
body.woocommerce-checkout form.checkout > *:not(.neno-checkout-sidebar) {
  grid-column: 1 !important;
  max-width: 100%;
}

/* SIDEBAR (wrapper JS) - prawa kolumna, sticky, od pierwszego wiersza */
body.woocommerce-checkout form.checkout > .neno-checkout-sidebar {
  grid-column: 2 !important;
  grid-row: 1 / span 99 !important;
  align-self: start !important;
  position: sticky !important;
  top: calc(var(--nav-h) + 24px) !important;
  width: 100%;
}

/* Fallback gdy JS nie zdążył - heading + order_review jako osobne elementy */
body.woocommerce-checkout form.checkout > #order_review_heading,
body.woocommerce-checkout form.checkout > #order_review,
body.woocommerce-checkout form.checkout > .trust-badges {
  grid-column: 2 !important;
}

/* Elementy wewnątrz sidebara */
body.woocommerce-checkout .neno-checkout-sidebar > #order_review_heading {
  margin: 0 !important;
  padding: 24px 28px 16px !important;
  background: var(--gray-light) !important;
  font-size: clamp(18px, 2vw, 22px) !important;
  font-weight: 300 !important;
  color: var(--black) !important;
  letter-spacing: -.005em !important;
  border-radius: 4px 4px 0 0 !important;
  text-transform: none !important;
  border: none !important;
}

body.woocommerce-checkout .neno-checkout-sidebar > #order_review {
  background: var(--gray-light) !important;
  padding: 0 28px 28px !important;
  border-radius: 0 0 4px 4px !important;
  margin: 0 !important;
}

body.woocommerce-checkout .neno-checkout-sidebar > .trust-badges {
  margin-top: 20px !important;
}

/* Mobile - kolumna */
@media (max-width: 960px) {
  body.woocommerce-checkout form.checkout {
    display: block !important;
  }
  body.woocommerce-checkout form.checkout > .neno-checkout-sidebar {
    position: static !important;
    margin-top: 32px !important;
  }
}


/* ================================================================
   SINGLE PRODUCT — nowe zakładki (v2)
   FAQ w tabie "Opis produktu" (pytania bold, odpowiedzi normalne, strzałka ↓)
   + Dane techniczne z atrybutów WC
   + Pliki do pobrania z ACF product_files
   ================================================================ */

/* --- FAQ (harmonijka) - styl minimalistyczny --- */
.product-faq-wrap {
  margin: 0 0 56px;
  border-top: 1px solid var(--gray-mid);
}

.faq-item {
  border-bottom: 1px solid var(--gray-mid);
}

.faq-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
  padding: 22px 0;
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--font-body);
  text-align: left;
  color: var(--black);
  transition: opacity .2s;
}
.faq-trigger:hover { opacity: .7; }

.faq-question {
  flex: 1;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--black);
  letter-spacing: 0;
}

.faq-icon {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--black);
}
.faq-icon svg {
  display: block;
  width: 32px;
  height: 32px;
}
/* Strzałka w dół widoczna gdy zamknięte */
.faq-icon .faq-arrow-down { display: block; }
.faq-icon .faq-arrow-up   { display: none; }
/* Po otwarciu: pokaż strzałkę w górę */
.faq-item.open .faq-icon .faq-arrow-down { display: none; }
.faq-item.open .faq-icon .faq-arrow-up   { display: block; }

.faq-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease;
}
.faq-item.open .faq-body {
  max-height: 1200px;
}

.faq-answer {
  padding: 0 0 24px 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  color: var(--black);
  max-width: 90%;
}
.faq-answer p {
  margin: 0 0 12px;
}
.faq-answer p:last-child { margin-bottom: 0; }
.faq-answer strong,
.faq-answer b {
  color: var(--black);
  font-weight: 600;
}
.faq-answer ul,
.faq-answer ol {
  margin: 6px 0 12px;
  padding: 0 0 0 18px;
}
.faq-answer ul {
  list-style: none;
  padding-left: 0;
}
.faq-answer ul li {
  position: relative;
  padding-left: 16px;
  margin-bottom: 6px;
  line-height: 1.6;
}
.faq-answer ul li::before {
  content: "·";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 700;
  color: var(--black);
  font-size: 20px;
  line-height: 1;
}
.faq-answer ol li {
  margin-bottom: 6px;
  line-height: 1.6;
}
.faq-answer a {
  color: var(--black);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* --- OPIS (the_content) pod FAQ --- */
.product-long-description {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.85;
  color: #2a2a2a;
}
.product-long-description > *:first-child { margin-top: 0; }
.product-long-description > *:last-child  { margin-bottom: 0; }
.product-long-description h2 {
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 400;
  margin: 40px 0 16px;
  line-height: 1.2;
  color: var(--black);
}
.product-long-description h3 {
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 500;
  margin: 28px 0 12px;
  color: var(--black);
}
.product-long-description p { margin: 0 0 16px; }
.product-long-description ul,
.product-long-description ol {
  margin: 0 0 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.product-long-description a {
  color: var(--black);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--gold);
}

/* --- DANE TECHNICZNE (table) --- */
.product-specs-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 32px;
}
.product-specs-table tr {
  border-bottom: 1px solid var(--gray-mid);
}
.product-specs-table tr:first-child {
  border-top: 1px solid var(--gray-mid);
}
.product-specs-table th {
  text-align: left;
  font-size: 12px;
  font-weight: 600;
  color: var(--black);
  padding: 16px 20px 16px 0;
  width: 40%;
  vertical-align: top;
  letter-spacing: .04em;
}
.product-specs-table td {
  text-align: left;
  font-size: 14px;
  font-weight: 300;
  color: var(--gray-text);
  padding: 16px 0;
  vertical-align: top;
  line-height: 1.6;
}
.product-specs-html {
  margin-top: 32px;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.8;
  color: var(--gray-text);
}
.product-specs-empty {
  font-size: 14px;
  font-weight: 300;
  color: var(--gray-text);
  padding: 32px 0;
  text-align: center;
  background: var(--gray-light);
  border-radius: 4px;
  line-height: 1.6;
}

/* --- PLIKI DO POBRANIA (lista kafelków) --- */
.product-files-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.product-file-item {
  list-style: none;
}
.product-file-link {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 24px;
  border: 1px solid var(--gray-mid);
  background: var(--white);
  color: var(--black);
  text-decoration: none;
  transition: border-color .2s, background .2s, padding-left .2s;
}
.product-file-link:hover {
  border-color: var(--black);
  background: var(--gray-light);
  padding-left: 28px;
}
.product-file-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
  flex-shrink: 0;
}
.product-file-icon svg {
  display: block;
}
.product-file-name {
  flex: 1;
  font-size: 14px;
  font-weight: 500;
  color: var(--black);
}
.product-file-type {
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--gold);
  padding: 4px 10px;
  border: 1px solid var(--gold);
}
.product-file-action {
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--black);
  white-space: nowrap;
}

@media (max-width: 640px) {
  .product-file-link {
    padding: 14px 16px;
    gap: 12px;
    flex-wrap: wrap;
  }
  .product-file-type {
    display: none;
  }
  .product-file-name {
    font-size: 13px;
  }
}

/* --- Pozostawione: ukryj stare .woo-faq (było w prawej kolumnie) --- */
.woo-faq { display: none !important; }


/* ================================================================
   SINGLE PRODUCT — qty input (elegantsze +/- przyciski)
   ================================================================ */

/* Kontener cart form + qty + button */
.woo-info form.cart {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0;
}
.woo-info form.cart::before,
.woo-info form.cart::after { display: none; }

/* Qty wrapper — oramkowany box z ikonami po bokach */
.woo-info .quantity {
  display: inline-flex !important;
  align-items: stretch;
  border: 1px solid var(--gray-mid) !important;
  background: var(--white);
  width: fit-content !important;
  position: relative;
  height: 48px;
  overflow: hidden;
}
.woo-info .quantity::before,
.woo-info .quantity::after {
  position: absolute;
  top: 0;
  width: 48px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  user-select: none;
  font-size: 18px;
  font-weight: 300;
  color: var(--black);
  transition: background .2s, color .2s;
  z-index: 2;
  font-family: var(--font-body);
}
.woo-info .quantity::before {
  content: "−";
  left: 0;
  border-right: 1px solid var(--gray-mid);
}
.woo-info .quantity::after {
  content: "+";
  right: 0;
  border-left: 1px solid var(--gray-mid);
}
.woo-info .quantity:hover::before,
.woo-info .quantity:hover::after {
  background: var(--gray-light);
}

/* Label dla qty (ukryty wizualnie) */
.woo-info .quantity label.screen-reader-text,
.woo-info .quantity .qty-label {
  position: absolute;
  left: -9999px;
}

/* Input qty - wycentrowany między przyciskami */
.woo-info .quantity input.qty {
  width: 56px !important;
  height: 48px !important;
  border: none !important;
  text-align: center !important;
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  background: transparent !important;
  margin: 0 48px !important;
  padding: 0 !important;
  -moz-appearance: textfield;
  appearance: textfield;
  color: var(--black) !important;
  outline: none !important;
  box-shadow: none !important;
}
.woo-info .quantity input.qty::-webkit-outer-spin-button,
.woo-info .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Etykieta "Ilość" nad qty */
.woo-info .quantity-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.woo-info .quantity-label {
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--black);
}

/* Add to cart button — full width pod qty */
.woo-info .single_add_to_cart_button,
.woo-info button.single_add_to_cart_button {
  width: 100% !important;
  padding: 17px 32px !important;
  background: var(--black) !important;
  color: #fff !important;
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  letter-spacing: .28em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  border: 1px solid var(--black) !important;
  transition: background .2s !important;
  margin: 8px 0 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: auto !important;
  line-height: 1 !important;
  border-radius: 0 !important;
}
.woo-info .single_add_to_cart_button:hover {
  background: #2d2d2d !important;
}
.woo-info .single_add_to_cart_button.added {
  background: #27ae60 !important;
  border-color: #27ae60 !important;
}

/* Stock info */
.woo-info .stock {
  font-size: 11px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--gray-text) !important;
  font-weight: 500 !important;
  margin: 0 !important;
}
.woo-info .stock.in-stock {
  color: var(--black) !important;
}
.woo-info .stock.in-stock::before {
  content: "●";
  color: #27ae60;
  margin-right: 6px;
  font-size: 10px;
}
.woo-info .stock.out-of-stock {
  color: #c0392b !important;
}

/* Variations dla variable products */
.woo-info .variations {
  width: 100%;
  margin: 0 0 14px;
}
.woo-info .variations label,
.woo-info .variations td.label label {
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--black);
  margin-bottom: 6px;
}
.woo-info .variations select {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--gray-mid);
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--black);
  background: var(--white);
}


/* ================================================================
   NATIVE CHECKOUT — order summary v3 (ładniejsze Twoje zamówienie)
   ================================================================ */

/* Tabela pełna bez boksów w środku - spójne tło gray-light z sidebara */
body.woocommerce-checkout form.checkout table.shop_table,
body.woocommerce-checkout form.checkout table.shop_table thead,
body.woocommerce-checkout form.checkout table.shop_table tbody,
body.woocommerce-checkout form.checkout table.shop_table tfoot,
body.woocommerce-checkout form.checkout table.shop_table tr,
body.woocommerce-checkout form.checkout table.shop_table th,
body.woocommerce-checkout form.checkout table.shop_table td {
  background: transparent !important;
}

/* Thead "PRODUKT | KWOTA" - subtelne separator line, nie cała ramka */
body.woocommerce-checkout form.checkout table.shop_table thead th {
  padding: 0 0 14px !important;
  border: none !important;
  border-bottom: 1px solid rgba(0,0,0,.08) !important;
  font-size: 10px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--black) !important;
}

/* Wiersze produktów - tylko subtelna delikatna linia */
body.woocommerce-checkout form.checkout table.shop_table tbody tr.cart_item td {
  padding: 16px 0 !important;
  border: none !important;
  border-bottom: 1px solid rgba(0,0,0,.08) !important;
  font-size: 14px !important;
  color: var(--black) !important;
  vertical-align: middle !important;
  line-height: 1.4 !important;
}

/* Nazwa produktu: normalna waga, × ilość subtelne */
body.woocommerce-checkout form.checkout table.shop_table .product-name {
  font-weight: 500 !important;
  text-align: left !important;
}
body.woocommerce-checkout form.checkout table.shop_table .product-quantity {
  color: var(--gray-text);
  font-weight: 400;
  font-size: 12px;
  margin-left: 8px;
  letter-spacing: .04em;
}

/* Cena kolumny po prawej - wyraźne ale nie dominujące */
body.woocommerce-checkout form.checkout table.shop_table .product-total {
  font-weight: 500 !important;
  font-size: 14px !important;
  text-align: right !important;
  white-space: nowrap;
}

/* Subtotal (Kwota) - subtelny, mniejszy niż wiersze produktów */
body.woocommerce-checkout form.checkout table.shop_table tfoot tr.cart-subtotal {
  /* wiersz tabelowy - th z lewej, td z prawej */
}
body.woocommerce-checkout form.checkout table.shop_table tfoot tr.cart-subtotal th,
body.woocommerce-checkout form.checkout table.shop_table tfoot tr.cart-subtotal td {
  padding: 14px 0 !important;
  border: none !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--gray-text) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body.woocommerce-checkout form.checkout table.shop_table tfoot tr.cart-subtotal th {
  text-align: left !important;
}
body.woocommerce-checkout form.checkout table.shop_table tfoot tr.cart-subtotal td {
  text-align: right !important;
  color: var(--black) !important;
  font-weight: 500 !important;
}

/* Gdy subtotal == total (brak dostawy) - ukryj subtotal */
body.woocommerce-checkout form.checkout table.shop_table tfoot:has(tr.cart-subtotal + tr.order-total) tr.cart-subtotal {
  display: none !important;
}
