/* ============================================================
   WOOCOMMERCE — woocommerce.css
   ============================================================ */

/* ============================================================
   STRONA SKLEPU — LAYOUT
   ============================================================ */
.shop-page {
    padding-top: var(--space-10);
    padding-bottom: var(--space-16);
}

.shop-header {
    margin-bottom: var(--space-10);
    max-width: 680px;
}

.shop-header__eyebrow {
    display: inline-block;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--forest-600);
    background: var(--forest-100);
    padding: .3rem .875rem;
    border-radius: var(--radius-pill);
    margin-bottom: var(--space-4);
}

.shop-header__title {
    font-family: var(--font-display);
    font-size: clamp(var(--text-2xl), 4vw, var(--text-4xl));
    color: var(--forest-950);
    letter-spacing: -.02em;
    margin-bottom: var(--space-4);
}

.shop-header__desc {
    font-size: var(--text-base);
    color: var(--ink-500);
    line-height: 1.7;
    margin-bottom: var(--space-3);
}

.shop-header__count {
    font-size: var(--text-sm);
    color: var(--ink-300);
    margin-bottom: 0;
}

.shop-layout {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: var(--space-10);
    align-items: start;
}

/* ============================================================
   SIDEBAR FILTRÓW
   ============================================================ */
.shop-sidebar {
    position: sticky;
    top: calc(var(--nav-height) + var(--space-6));
}

@media (max-width: 900px) {
    .shop-layout {
        grid-template-columns: 1fr !important;
        display: block !important;
    }

    .shop-page .shop-sidebar {
        display: none;
    }
}

.shop-filter-widget {
    background: var(--color-surface);
    border: .5px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: var(--space-5);
    margin-bottom: var(--space-4);
    box-shadow: var(--shadow-xs);
}

.shop-filter-widget__title {
    font-size: var(--text-xs);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--ink-300);
    margin-bottom: var(--space-4);
    padding-bottom: var(--space-3);
    border-bottom: .5px solid var(--color-border-light);
}

.shop-filter-cat-list,
.shop-filter-score-list { list-style: none; display: flex; flex-direction: column; gap: 2px; }

.shop-filter-cat-list a,
.shop-filter-score-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-2) var(--space-3);
    font-size: var(--text-sm);
    color: var(--ink-500);
    text-decoration: none;
    border-radius: var(--radius-md);
    transition: background var(--dur-fast), color var(--dur-fast);
}

.shop-filter-cat-list a:hover,
.shop-filter-score-list a:hover { background: var(--forest-50); color: var(--forest-700); }

.shop-filter-cat-list li.is-active a,
.shop-filter-score-list li.is-active a {
    background: var(--forest-100);
    color: var(--forest-700);
    font-weight: 500;
}

.shop-filter-cat-count {
    background: var(--sand-100);
    color: var(--ink-300);
    font-size: 10px;
    padding: 1px 6px;
    border-radius: var(--radius-pill);
}

/* ============================================================
   TOOLBAR
   ============================================================ */
.shop-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    margin-bottom: var(--space-6);
    padding-bottom: var(--space-5);
    border-bottom: .5px solid var(--color-border-light);
    flex-wrap: wrap;
}

/* ============================================================
   SIATKA PRODUKTÓW
   ============================================================ */
.woocommerce ul.products,
.products.columns-3 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: var(--space-6) !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

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

@media (max-width: 480px) {
    .woocommerce ul.products,
    .products.columns-3 { grid-template-columns: 1fr !important; }
}

/* Karta produktu w pętli */
.product-loop-item {
    background: var(--color-surface);
    border: .5px solid var(--color-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    position: relative;
    transition: box-shadow var(--dur-base), transform var(--dur-base);
}

.product-loop-item:hover {
    box-shadow: var(--shadow-lift);
    transform: translateY(-2px);
}

.product-loop-score {
    position: absolute;
    top: var(--space-3);
    left: var(--space-3);
    background: var(--forest-700);
    color: #fff;
    border-radius: var(--radius-pill);
    padding: .25rem .625rem;
    font-size: 12px;
    font-weight: 500;
    z-index: 1;
    display: flex;
    align-items: baseline;
    gap: 1px;
    line-height: 1;
}

.product-loop-score small { font-size: 9px; opacity: .75; }

.product-loop-img {
    aspect-ratio: 1;
    overflow: hidden;
    background: var(--sand-50);
}

.product-loop-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--dur-slow) var(--ease);
}

.product-loop-item:hover .product-loop-img img { transform: scale(1.04); }

.product-loop-body {
    flex: 1;
    padding: var(--space-4) var(--space-5);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.product-loop-title {
    font-family: var(--font-display);
    font-size: var(--text-lg);
    color: var(--forest-900);
    line-height: 1.25;
    font-weight: 400;
}

.product-loop-title a { color: inherit; text-decoration: none; }
.product-loop-title a:hover { color: var(--forest-700); }

.product-loop-manufacturer { font-size: var(--text-xs); color: var(--ink-300); margin: 0; }

.product-loop-verdict {
    font-size: var(--text-sm);
    color: var(--ink-500);
    line-height: 1.5;
    flex: 1;
    margin: 0;
}

.product-loop-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    margin-top: var(--space-2);
    padding-top: var(--space-3);
    border-top: .5px solid var(--color-border-light);
}

.product-loop-price {
    font-size: var(--text-base);
    font-weight: 500;
    color: var(--forest-800);
}

/* Paginacja sklepu */
.shop-pagination { margin-top: var(--space-10); }

.shop-pagination .woocommerce-pagination ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    list-style: none;
    padding: 0;
}

.shop-pagination .woocommerce-pagination ul li a,
.shop-pagination .woocommerce-pagination ul li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    font-weight: 500;
    border: 1px solid var(--color-border);
    background: var(--color-surface);
    color: var(--color-text-muted);
    text-decoration: none;
    transition: all var(--dur-fast);
}

.shop-pagination .woocommerce-pagination ul li a:hover { background: var(--forest-50); border-color: var(--forest-300); color: var(--forest-700); }
.shop-pagination .woocommerce-pagination ul li span.current { background: var(--forest-700); border-color: var(--forest-700); color: #fff; }

/* ============================================================
   STRONA PRODUKTU
   ============================================================ */
.product-page {
    padding-top: var(--space-10);
    padding-bottom: var(--space-16);
}

.product-main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-12);
    align-items: start;
    margin-bottom: var(--space-12);
}

@media (max-width: 768px) {
    .product-main { grid-template-columns: 1fr; gap: var(--space-8); }
}

/* Galeria */
.product-gallery__main {
    border-radius: var(--radius-xl);
    overflow: hidden;
    background: var(--sand-50);
    aspect-ratio: 1;
}

.product-gallery__main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-gallery__placeholder {
    aspect-ratio: 1;
    background: linear-gradient(135deg, var(--forest-50), var(--sand-100));
    border-radius: var(--radius-xl);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 5rem;
}

.product-gallery__thumbs {
    display: flex;
    gap: var(--space-2);
    margin-top: var(--space-3);
    flex-wrap: wrap;
}

.product-gallery__thumb {
    width: 64px;
    height: 64px;
    border-radius: var(--radius-md);
    object-fit: cover;
    border: 2px solid transparent;
    cursor: pointer;
    transition: border-color var(--dur-fast);
    opacity: .7;
}

.product-gallery__thumb.is-active,
.product-gallery__thumb:hover { border-color: var(--forest-500); opacity: 1; }

/* Summary */
.product-summary__title {
    font-family: var(--font-display);
    font-size: clamp(var(--text-2xl), 3vw, var(--text-3xl));
    color: var(--forest-950);
    letter-spacing: -.02em;
    margin: var(--space-3) 0 var(--space-2);
    line-height: 1.15;
}

.product-summary__manufacturer {
    font-size: var(--text-sm);
    color: var(--ink-300);
    margin-bottom: var(--space-4);
}

/* Score block */
.product-score-block {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4) var(--space-5);
    background: var(--forest-50);
    border: .5px solid var(--forest-200);
    border-radius: var(--radius-lg);
    margin: var(--space-5) 0;
}

.product-score-ring { flex-shrink: 0; }

.product-score-label {
    font-size: var(--text-xs);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--ink-300);
    margin-bottom: var(--space-1);
}

.product-score-verdict {
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--forest-800);
    margin-bottom: var(--space-2);
}

.product-score-link {
    font-size: var(--text-xs);
    color: var(--forest-600);
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Short description */
.product-summary__short-desc {
    font-size: var(--text-base);
    color: var(--ink-700);
    line-height: 1.7;
    margin-bottom: var(--space-5);
}

/* Cena + koszyk */
.product-purchase {
    display: flex;
    align-items: center;
    gap: var(--space-5);
    margin: var(--space-5) 0;
    flex-wrap: wrap;
}

.product-purchase__price {
    font-family: var(--font-display);
    font-size: var(--text-3xl);
    color: var(--forest-900);
    font-weight: 400;
}

.product-purchase .quantity {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.product-purchase .qty {
    width: 60px;
    text-align: center;
    padding: .5rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    font-size: var(--text-base);
}

/* Meta lista */
.product-meta-list {
    margin-top: var(--space-5);
    padding-top: var(--space-5);
    border-top: .5px solid var(--color-border-light);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.product-meta-row {
    display: flex;
    gap: var(--space-3);
    font-size: var(--text-sm);
}

.product-meta-row__label {
    color: var(--ink-300);
    min-width: 90px;
}

/* ============================================================
   TABS PRODUKTU
   ============================================================ */
.product-tabs {
    margin-bottom: var(--space-12);
    border: .5px solid var(--color-border);
    border-radius: var(--radius-xl);
    overflow: hidden;
}

.product-tabs__nav {
    display: flex;
    background: var(--sand-50);
    border-bottom: .5px solid var(--color-border);
}

.product-tab-btn {
    flex: 1;
    padding: var(--space-4) var(--space-5);
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--ink-500);
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    transition: color var(--dur-fast), border-color var(--dur-fast), background var(--dur-fast);
    text-align: center;
}

.product-tab-btn:hover { color: var(--forest-700); background: var(--forest-50); }

.product-tab-btn.is-active {
    color: var(--forest-700);
    border-bottom-color: var(--forest-600);
    background: var(--color-surface);
}

.product-tab-panel {
    display: none;
    padding: var(--space-8);
}

.product-tab-panel.is-active { display: block; }

.product-tab-empty {
    color: var(--ink-300);
    font-size: var(--text-sm);
    text-align: center;
    padding: var(--space-8) 0;
}

/* Description tab */
.product-description { font-size: var(--text-base); line-height: 1.8; color: var(--ink-700); }
.product-description h2 { font-family: var(--font-display); font-size: var(--text-xl); margin: var(--space-6) 0 var(--space-4); }
.product-description h3 { font-size: var(--text-base); font-weight: 500; margin: var(--space-5) 0 var(--space-3); }
.product-description ul { list-style: disc; padding-left: var(--space-6); margin-bottom: var(--space-4); }
.product-description li { margin-bottom: var(--space-2); }

/* Eval tab */
.product-eval__summary {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-8);
    padding-bottom: var(--space-6);
    border-bottom: .5px solid var(--color-border-light);
}

.product-eval__total {
    display: flex;
    align-items: baseline;
    gap: 4px;
}

.product-eval__score {
    font-family: var(--font-display);
    font-size: 4rem;
    color: var(--forest-700);
    font-weight: 400;
    line-height: 1;
}

.product-eval__score-max {
    font-size: var(--text-xl);
    color: var(--ink-300);
}

.product-eval__verdict {
    font-size: var(--text-lg);
    color: var(--ink-700);
    font-weight: 300;
    margin: 0;
}

/* Criteria bars */
.product-eval__criteria {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
    margin-bottom: var(--space-8);
}

.eval-criterion__header {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-bottom: var(--space-2);
    flex-wrap: wrap;
}

.eval-criterion__label {
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--ink-900);
    flex: 1;
}

.eval-criterion__weight {
    font-size: var(--text-xs);
    color: var(--ink-300);
    background: var(--sand-100);
    padding: 2px 8px;
    border-radius: var(--radius-pill);
}

.eval-criterion__score {
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--forest-700);
}

.eval-criterion__bar {
    height: 6px;
    background: var(--forest-100);
    border-radius: var(--radius-pill);
    overflow: hidden;
}

.eval-criterion__bar-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--forest-500), var(--forest-700));
    border-radius: var(--radius-pill);
    transition: width .6s var(--ease-out);
}

/* Related article */
.product-eval__related-article {
    background: var(--sand-50);
    border: .5px solid var(--sand-200);
    border-radius: var(--radius-lg);
    padding: var(--space-4) var(--space-5);
    margin-bottom: var(--space-5);
}

.product-eval__related-label {
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--ink-300);
    margin-bottom: var(--space-2);
}

.product-eval__related-link {
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--forest-700);
    text-decoration: none;
}

.product-eval__related-link:hover { text-decoration: underline; }

.product-eval__disclaimer {
    font-size: var(--text-xs);
    color: var(--ink-300);
    line-height: 1.6;
    padding-top: var(--space-4);
    border-top: .5px solid var(--color-border-light);
}

/* Produkty powiązane */
.product-related { margin-top: var(--space-12); }

.product-related__title {
    font-family: var(--font-display);
    font-size: var(--text-2xl);
    font-weight: 400;
    color: var(--forest-900);
    margin-bottom: var(--space-6);
}

.product-related__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-5);
}

@media (max-width: 900px) { .product-related__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .product-related__grid { grid-template-columns: 1fr; } }

/* ============================================================
   SHORTCODE: [zs_evidence_table]
   ============================================================ */
.evidence-table-wrap {
    margin: var(--space-8) 0;
    background: var(--color-surface);
    border: .5px solid var(--color-border);
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}

.evidence-table-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
    padding: var(--space-5) var(--space-6);
    background: var(--forest-700);
    flex-wrap: wrap;
}

.evidence-table-title {
    font-family: var(--font-body);
    font-size: var(--text-base);
    font-weight: 500;
    color: #fff;
    margin: 0;
}

.evidence-table-meta {
    display: flex;
    gap: var(--space-4);
    flex-wrap: wrap;
}

.evidence-table-unit,
.evidence-table-updated {
    font-size: var(--text-xs);
    color: rgba(255,255,255,.65);
}

.evidence-table-unit strong,
.evidence-table-updated strong { color: rgba(255,255,255,.9); font-weight: 500; }

/* Legenda */
.evidence-legend {
    display: flex;
    gap: var(--space-5);
    flex-wrap: wrap;
    padding: var(--space-4) var(--space-6);
    background: var(--forest-50);
    border-bottom: .5px solid var(--forest-100);
}

.evidence-legend-item {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-xs);
    color: var(--ink-500);
}

.ev-dots {
    font-size: 11px;
    letter-spacing: -1px;
    line-height: 1;
}

/* Tabela */
.evidence-table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.evidence-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-sm);
    min-width: 560px;
}

.evidence-table thead th {
    background: var(--sand-100);
    color: var(--ink-700);
    font-weight: 500;
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: .07em;
    padding: var(--space-3) var(--space-4);
    text-align: left;
    border-bottom: .5px solid var(--sand-200);
    white-space: nowrap;
}

.evidence-table tbody td {
    padding: var(--space-3) var(--space-4);
    border-bottom: .5px solid var(--color-border-light);
    vertical-align: middle;
    line-height: 1.5;
}

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

.evidence-table tbody tr:hover td { background: var(--sand-50); }

/* Kolorowanie wierszy wg siły dowodów */
.evidence-row--strong td:first-child { border-left: 3px solid var(--forest-500); }
.evidence-row--moderate td:first-child { border-left: 3px solid var(--forest-300); }
.evidence-row--weak td:first-child { border-left: 3px solid var(--sand-400); }
.evidence-row--insufficient td:first-child { border-left: 3px solid var(--ink-200); }

/* Kolumny */
.evidence-col-effect { font-weight: 500; color: var(--ink-900); }
.evidence-col-dose { white-space: nowrap; }

.evidence-dose {
    font-weight: 500;
    color: var(--forest-800);
}

.evidence-dose small {
    font-size: 11px;
    color: var(--ink-300);
    margin-left: 2px;
}

.evidence-dose-na {
    font-size: var(--text-xs);
    color: var(--ink-300);
    font-style: italic;
}

/* Badges siły dowodów */
.evidence-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 500;
    padding: .25rem .625rem;
    border-radius: var(--radius-pill);
    white-space: nowrap;
}

.ev-strong       { background: var(--forest-100); color: var(--forest-700); }
.ev-moderate     { background: #e8f4fe;           color: #1a5276; }
.ev-weak         { background: var(--sand-100);   color: var(--sand-800); }
.ev-insufficient { background: var(--ink-100);    color: var(--ink-500); }

.evidence-col-notes {
    font-size: var(--text-xs);
    color: var(--ink-500);
    max-width: 200px;
}

.evidence-notes-link {
    color: var(--forest-600);
    text-decoration: none;
    font-weight: 500;
}

.evidence-notes-link:hover { text-decoration: underline; }

/* Footnote */
.evidence-table-footnote {
    padding: var(--space-4) var(--space-6);
    font-size: var(--text-xs);
    color: var(--ink-300);
    border-top: .5px solid var(--color-border-light);
    line-height: 1.6;
    margin: 0;
}

.evidence-table-footnote a { color: var(--forest-600); }

/* ============================================================
   SHORTCODE: [zs_highlight]
   ============================================================ */
.zs-highlight {
    padding: .1em .35em;
    border-radius: 3px;
    font-weight: 500;
}

.zs-highlight--good    { background: var(--forest-100); color: var(--forest-800); }
.zs-highlight--bad     { background: var(--rust-light); color: var(--rust); }
.zs-highlight--neutral { background: var(--sand-100);   color: var(--sand-800); }
.zs-highlight--warning { background: #fef3e2;           color: #92400e; }

/* ============================================================
   WC OVERRIDES — przyciski, notyfikacje
   ============================================================ */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: 500;
    background: var(--forest-700);
    color: #fff;
    border: none;
    border-radius: var(--radius-pill);
    padding: .6875rem 1.375rem;
    cursor: pointer;
    transition: background var(--dur-base), transform var(--dur-fast);
    text-decoration: none;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover {
    background: var(--forest-800);
    color: #fff;
    transform: translateY(-1px);
}

.woocommerce a.button.alt,
.woocommerce button.button.alt {
    background: var(--lime);
    color: var(--forest-950);
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
    background: var(--lime-dark);
    color: var(--forest-950);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-radius: var(--radius-md);
    border-top: none;
    border-left: 3px solid var(--forest-400);
    background: var(--forest-50);
    padding: var(--space-4) var(--space-5);
    font-size: var(--text-sm);
    margin-bottom: var(--space-6);
    list-style: none;
}

/* Tabs WC — ukrywamy domyślne, używamy własnych */
.woocommerce div.product .woocommerce-tabs { display: none; }

/* ============================================================
   WOOCOMMERCE BLOCKS — STRONA KASY
   ============================================================ */

/* Napraw zawijanie tekstu nazwy produktu */
.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__name,
.wc-block-cart-item__description,
.wc-block-cart-item__title,
.wc-block-components-product-name {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

/* Wiersz produktu — napraw szerokość kolumny opisu */
.wc-block-components-order-summary.is-large .wc-block-components-order-summary-item,
.wc-block-components-order-summary__content .wc-block-components-order-summary-item,
.wc-block-components-order-summary-item {
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    gap: 8px 12px !important;
    align-items: start !important;
}

.wc-block-components-order-summary-item__image,
.wc-block-components-order-summary.is-large .wc-block-components-order-summary-item__image {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
}

.wc-block-components-order-summary-item__image img {
    width: 56px !important;
    height: 56px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    display: block !important;
}

.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary.is-large .wc-block-components-order-summary-item__description {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    width: auto !important;
}

.wc-block-components-order-summary-item__total-price,
.wc-block-components-order-summary.is-large .wc-block-components-order-summary-item__total-price {
    grid-column: 2 !important;
    grid-row: 2 !important;
    text-align: left !important;
    white-space: nowrap !important;
}

.wc-block-components-product-name,
h3.wc-block-components-product-name {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    display: block !important;
    max-width: 100% !important;
    width: auto !important;
    min-width: 0 !important;
}

/* Panel podsumowania */
.wc-block-checkout__order-note,
.wp-block-woocommerce-checkout-order-summary-block {
    background: var(--color-surface) !important;
    border: .5px solid var(--color-border) !important;
    border-radius: var(--radius-xl) !important;
    overflow: hidden !important;
}

/* Przycisk złóż zamówienie */
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout-fields-block .wc-block-components-button {
    background: var(--forest-700) !important;
    border-radius: var(--radius-pill) !important;
    font-family: var(--font-body) !important;
    font-size: var(--text-base) !important;
}

.wc-block-components-checkout-place-order-button:hover {
    background: var(--forest-800) !important;
}
/* ============================================================
   CHECKOUT MOBILE — ukryj górne zwinięte, zostaje dolne rozwinięte
   ============================================================ */
@media (max-width: 768px) {
    .wc-block-checkout__order-note,
    .wc-block-components-order-summary .wc-block-components-panel__button {
        display: none !important;
    }
}

/* ============================================================
   KOSZYK — ukryj powiadomienia "dodano do koszyka" na stronie koszyka
   Na stronie koszyka są zbędne — koszyk sam pokazuje produkty
   ============================================================ */
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart .wc-block-components-notices,
.woocommerce-cart .wc-block-components-notices__snackbar,
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error,
.is-cart .wc-block-components-notices,
.is-cart .wc-block-components-notices__snackbar,
.is-cart .woocommerce-notices-wrapper,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-notices {
    display: none !important;
}
