/* v55-icon-text-unity.css — wyniesione 2026-08-27 z legacy/customizer-tokens.php.
 * Linkowane na wp_head 1101 z data-no-optimize="1" — pozycja w kaskadzie zachowana. */
/* A5: ikona + tekst = jedna jednostka koloru */
.button, .hbt-btn, .add_to_cart_button,
.woocommerce a.button, .woocommerce button.button,
.single_add_to_cart_button, .checkout-button,
.hbt-loop-card .button {
    color: var(--btn-text) !important;
    background-color: var(--btn-bg) !important;
    border-color: var(--btn-bg) !important;
}
.button i, .button svg, .button .fa,
.hbt-btn i, .hbt-btn svg,
.add_to_cart_button i, .add_to_cart_button svg, .add_to_cart_button .fa,
.single_add_to_cart_button i, .single_add_to_cart_button svg,
.checkout-button i, .checkout-button svg {
    color: inherit !important;
    fill: currentColor;
}
.button:hover, .hbt-btn:hover, .add_to_cart_button:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover,
.single_add_to_cart_button:hover, .checkout-button:hover,
.hbt-loop-card .button:hover {
    color: var(--btn-text-h) !important;
    background-color: var(--btn-bg-h) !important;
    border-color: var(--btn-bg-h) !important;
}

/* Hover karty: tytuł + ⭐ + brand zmieniają kolor RAZEM */
.hbt-loop-card:hover .hbt-loop-card__title,
.hbt-loop-card:hover .hbt-loop-card__title a,
ul.products li.product:hover .woocommerce-loop-product__title,
ul.products li.product:hover h2 a {
    color: var(--card-hover);
}
.hbt-loop-card:hover .star-rating,
.hbt-loop-card:hover .star-rating::before,
.hbt-loop-card:hover .star-rating span::before,
ul.products li.product:hover .star-rating::before,
ul.products li.product:hover .star-rating span::before {
    color: var(--card-hover);
}

/* Nagłówki — wymuszone !important + pełna kwalifikacja selektorów żeby
   wygrać z hardcoded `font-size:14px !important` ze style.css L3918
   i podobnych w functions.php inline-CSS. Bez tego slidery rozmiarów
   w Customizerze nic nie robią. */

/* WAŻNE: selektory h1-h6 NIE mogą łapać headerów w ciemnych kontenerach
   (.hbt-footer, .hbt-header z ciemnym tłem, popupy, modals z ciemnym).
   Dla nich color jest dziedziczony z parent — np. .footer-section-toggle
   ustawia color:#fff. Nasze :not(...) wykluczenia chronią to dziedziczenie.
   Font-size + font-weight + line-height NADAL leci wszędzie. */

html body h1:not(.hbt-footer h1),
html body .h1,
html body .hbt-page h1,
html body .entry-title,
html body .page-title,
html body .hbt-main-wrap h1.entry-title { color: var(--c-h1) !important; }
html body h1, html body .h1 { font-size: var(--fs-h1) !important; font-weight: var(--fw-heading) !important; line-height: var(--lh-heading) !important; }

html body h2:not(.hbt-footer h2):not(.hbt-header h2), html body .h2:not(.hbt-footer .h2) { color: var(--c-h2) !important; }
html body h2, html body .h2 { font-size: var(--fs-h2) !important; font-weight: var(--fw-heading) !important; line-height: var(--lh-heading) !important; }

html body h3:not(.hbt-footer h3):not(.hbt-header h3),
html body .h3:not(.hbt-footer .h3),
html body .hbt-loop-card h3.hbt-loop-card__title,
html body .hbt-loop-card .hbt-loop-card__title,
html body ul.products h2.woocommerce-loop-product__title,
html body ul.products .woocommerce-loop-product__title { color: var(--c-h3) !important; }
html body h3, html body .h3, html body .hbt-loop-card .hbt-loop-card__title { font-size: var(--fs-h3) !important; font-weight: var(--fw-heading) !important; line-height: var(--lh-heading) !important; }

html body h4:not(.hbt-footer h4):not(.hbt-header h4), html body .h4:not(.hbt-footer .h4) { color: var(--c-h4) !important; }
html body h4, html body .h4 { font-size: var(--fs-h4) !important; font-weight: var(--fw-heading) !important; line-height: var(--lh-heading) !important; }

html body h5:not(.hbt-footer h5):not(.hbt-header h5),
html body .h5:not(.hbt-footer .h5),
html body .hbt-loop-card .hbt-loop-card__brand,
html body .hbt-loop-card .hbt-loop-card__meta { color: var(--c-h5) !important; }
html body h5, html body .h5 { font-size: var(--fs-h5) !important; font-weight: var(--fw-heading) !important; }

html body h6:not(.hbt-footer h6):not(.hbt-header h6), html body .h6:not(.hbt-footer .h6) { color: var(--c-h6) !important; }
html body h6, html body .h6 { font-size: var(--fs-h6) !important; font-weight: var(--fw-heading) !important; }

/* Stopka — wszystkie nagłówki BIAŁE (color z parent .hbt-footer) */
html body .hbt-footer h1,
html body .hbt-footer h2,
html body .hbt-footer h3,
html body .hbt-footer h4,
html body .hbt-footer h5,
html body .hbt-footer h6,
html body .hbt-footer .footer-section-toggle,
html body .hbt-footer .footer-section-toggle * { color: #fff !important; }

/* Body — wymuszone żeby pobić body{font-size:14px} z chrome-vars-ext + WP defaults */
html body { font-family: var(--font) !important; font-size: var(--fs-body) !important; font-weight: var(--fw-body) !important; line-height: var(--lh-body) !important; color: var(--text); }
html body p { font-size: var(--fs-body) !important; line-height: var(--lh-body) !important; }

.entry-content span:not([class]),
.hbt-page span:not([class]),
article span:not([class]) { color: var(--text); }
.entry-content span:not([class]),
.hbt-page span:not([class]),
article span:not([class]) { color: var(--text); }

/* Linki */
a { color: var(--link); transition: color .15s; }
a:hover { color: var(--link-hover); }

/* Ceny — !important + pełna kwalifikacja, bo style.css L3946 i functions.php
   inline-CSS ustawiają hardcoded font-size dla .hbt-loop-card__price etc. */
html body .price,
html body .woocommerce ul.products li.product .price,
html body .hbt-loop-card .price,
html body .hbt-loop-card .hbt-loop-card__price {
    color: var(--price) !important;
    font-size: var(--fs-price) !important;
    font-weight: 700 !important;
}
html body .price del,
html body .price del .amount,
html body .price del .woocommerce-Price-amount,
html body .hbt-loop-card .hbt-loop-card__price del {
    color: var(--price-old) !important;
    font-size: var(--fs-price-old) !important;
    font-weight: 400 !important;
}
html body .price ins, html body .price ins .amount { background: transparent !important; color: var(--price) !important; text-decoration: none !important; }

html body .hbt-price-net,
html body .price-net,
html body .hbt-loop-card .hbt-loop-card__price-net {
    color: var(--price-net) !important;
    font-size: var(--fs-price-net) !important;
    font-weight: 400 !important;
}
html body .hbt-omnibus,
html body .wc-price-history,
html body .price-omnibus {
    color: var(--price-omn) !important;
    font-size: var(--fs-price-omn) !important;
}

/* Badges */
html body .onsale, html body .labels .onsale {
    background-color: var(--badge-sale) !important;
    color: var(--badge-text) !important;
}
html body .onhot, html body .labels .onhot, html body .super-oferta {
    background-color: var(--badge-hot) !important;
    color: var(--dark) !important;
}

/* Buttons — font-size + weight */
html body .button,
html body .hbt-btn,
html body .add_to_cart_button,
html body .single_add_to_cart_button,
html body .checkout-button,
html body .hbt-loop-card .button,
html body .woocommerce a.button,
html body .woocommerce button.button {
    font-size: var(--fs-button) !important;
    font-weight: var(--fw-button) !important;
}

/* Menu */
html body .site-nav .nav-links > li > a,
html body .site-nav .nav-cat-trigger { font-size: var(--fs-menu) !important; }
html body .mobile-menu,
html body .mm-overlay,
html body .mobile-menu a { font-size: var(--fs-menu-mob) !important; }

/* Footer — UWAGA: NIE używamy `.hbt-footer *` selector bo nadpisałby
   nagłówki H4 (MASZYNY/SKLEP) na 13px. Targetujemy tylko link/p/li/span. */
html body .hbt-footer p,
html body .hbt-footer li,
html body .hbt-footer a,
html body .hbt-footer .footer-section-content,
html body .hbt-footer .contact-list { font-size: var(--fs-footer) !important; }

/* Meta — sklep cards */
html body .hbt-loop-card .vat-label,
html body .price small,
html body .product-meta,
html body .posted_in {
    font-size: var(--fs-meta) !important;
    color: var(--text-meta) !important;
}

/* ============================================================
 * Brakujące tokeny — pełne pokrycie wszystkich pozycji Customizera
 * ============================================================ */

/* Tła */
html body { background-color: var(--bg) !important; }
html body .hbt-section-bg2,
html body .bg-secondary,
html body .woocommerce-cart .cart_totals,
html body .woocommerce-checkout #order_review { background-color: var(--bg2); }

/* Secondary button (np. "Wybierz kategorię", "Filtruj") */
html body .hbt-btn-secondary,
html body .button.alt-secondary,
html body .nav-cat-trigger,
html body .button-outline {
    background: var(--btn2-bg) !important;
    color: var(--btn2-text) !important;
    border: 1px solid var(--btn2-border) !important;
}
html body .hbt-btn-secondary:hover,
html body .button.alt-secondary:hover,
html body .nav-cat-trigger:hover {
    background: var(--btn2-text) !important;
    color: var(--btn2-bg) !important;
}

/* Statusy — alerts, notices, dostepnosc */
html body .woocommerce-error,
html body .alert-danger,
html body .stock.out-of-stock { color: var(--danger); }
html body .woocommerce-info,
html body .alert-warning { color: var(--warning); }
html body .woocommerce-message,
html body .alert-success,
html body .stock.in-stock,
html body .availability-yes { color: var(--success); }

/* Obramowania */
html body .hbt-card,
html body .hbt-loop-card,
html body ul.products li.product { border-color: var(--border-l); }
html body input[type=text],
html body input[type=email],
html body input[type=tel],
html body input[type=password],
html body input[type=number],
html body select,
html body textarea { border-color: var(--border) !important; }

/* Tertiary / accent — mniej używane, ale jeśli motyw używa */
html body .hbt-tertiary,
html body .icon-tertiary { color: var(--tertiary); }
html body .hbt-accent { color: var(--accent); }

/* Dark — używane w stopce (chrome-vars-ext) i niektórych komponentach */
html body .hbt-footer { background-color: var(--dark) !important; }
html body .hbt-footer .footer-bottom,
html body .footer-bottom-bar { background-color: var(--dark2) !important; }

/* Tekst secondary (drugi poziom: placeholdery, daty) */
html body input::placeholder,
html body textarea::placeholder,
html body .entry-meta,
html body .post-date,
html body time { color: var(--text-l) !important; }
