/**
 * Globalne tokeny designu serwisu (typografia + kolory).
 *
 * Wspólny standard dla komponentów TM i dalszych elementów frontu.
 * Prefiks --site- (nie --lzs-tm-), aby nie tworzyć równoległego systemu pluginu.
 */

:root {
    /* Typografia */
    --site-font-meta: 0.92rem;
    --site-font-helper: 0.85rem;
    --site-font-badge: 0.78rem;
    --site-font-card-title: 1.4rem;
    --site-font-card-title-weight: 600;
    --site-font-card-title-spacing: 0.05rem;
    --site-font-price: 1.1rem;
    --site-font-section: 1.15rem;
    --site-font-h1: 1.6em;

    /* Kolory */
    --site-color-bg: #f2f4f8;
    --site-color-text: #06292d;
    --site-color-btn-dark: #06292d;
    --site-color-btn-soft: #2648580f;
    --site-color-accent: #6e161b;
    --site-color-on-accent: #ffffff;
    --site-color-on-dark: #ffffff;

    /* Karty katalogu TM — wspólny zoom obrazu */
    --lzs-tm-card-image-scale: 1.07;
    --lzs-tm-card-image-transition: transform 0.7s cubic-bezier(.2, 1, .22, 1);
    --lzs-tm-card-image-radius: 10px;
}

/* Warianty przycisków — stosować w UI TM, nie globalnie na wszystkie .button motywu. */
.lzs-tm-btn--soft {
    background: var(--site-color-btn-soft);
    color: var(--site-color-text);
    font-weight: 500;
}

.lzs-tm-btn--dark {
    background: var(--site-color-btn-dark);
    color: var(--site-color-on-dark);
    font-weight: 500;
}

/*
 * Wspólna interakcja kart katalogu (kategoria + szkolenie):
 * overlay link, zoom obrazu, focus-visible, reduced motion.
 */
.lzs-tm-category-card__link,
.lzs-tm-catalog-card__link {
    text-decoration: none;
}

.lzs-tm-category-card__link:hover,
.lzs-tm-category-card__link:focus,
.lzs-tm-category-card__link:focus-visible,
.lzs-tm-catalog-card__link:hover,
.lzs-tm-catalog-card__link:focus,
.lzs-tm-catalog-card__link:focus-visible {
    text-decoration: none;
}

.lzs-tm-category-card__link:focus-visible,
.lzs-tm-catalog-card__link:focus-visible {
    outline: 2px solid var(--site-color-accent, #6e161b);
    outline-offset: 3px;
}

.lzs-tm-category-card__media,
.lzs-tm-catalog-card__media {
    overflow: hidden;
    border-radius: var(--lzs-tm-card-image-radius, 10px);
    isolation: isolate;
}

.lzs-tm-category-card__media img,
.lzs-tm-catalog-card__media img {
    border-radius: 0;
    transform: scale(1);
    transition: var(--lzs-tm-card-image-transition);
}

.lzs-tm-category-card:hover .lzs-tm-category-card__media img,
.lzs-tm-catalog-card:hover .lzs-tm-catalog-card__media img,
.lzs-tm-category-card:has(> .lzs-tm-category-card__link:focus-visible) .lzs-tm-category-card__media img,
.lzs-tm-catalog-card:has(> .lzs-tm-catalog-card__link:focus-visible) .lzs-tm-catalog-card__media img {
    transform: scale(var(--lzs-tm-card-image-scale));
}

.lzs-tm-category-card:hover .lzs-tm-category-card__title,
.lzs-tm-category-card:has(> .lzs-tm-category-card__link:focus-visible) .lzs-tm-category-card__title {
    color: var(--lzs-tm-cat-accent, var(--site-color-accent, #6e161b));
}

.lzs-tm-catalog-card:hover .lzs-tm-catalog-card__title,
.lzs-tm-catalog .lzs-tm-catalog-card:hover .lzs-tm-catalog-card__title,
.entry-content .lzs-tm-catalog .lzs-tm-catalog-card:hover .lzs-tm-catalog-card__title,
.lzs-tm-catalog-card:has(> .lzs-tm-catalog-card__link:focus-visible) .lzs-tm-catalog-card__title,
.lzs-tm-catalog .lzs-tm-catalog-card:has(> .lzs-tm-catalog-card__link:focus-visible) .lzs-tm-catalog-card__title,
.entry-content .lzs-tm-catalog .lzs-tm-catalog-card:has(> .lzs-tm-catalog-card__link:focus-visible) .lzs-tm-catalog-card__title {
    color: var(--lzs-tm-catalog-accent, var(--site-color-accent, #6e161b));
}

.lzs-tm-category-card:has(> .lzs-tm-category-card__link:focus-visible),
.lzs-tm-catalog-card:has(> .lzs-tm-catalog-card__link:focus-visible) {
    outline: 2px solid var(--site-color-accent, #6e161b);
    outline-offset: -3px;
}

@media (prefers-reduced-motion: reduce) {
    .lzs-tm-category-card__media img,
    .lzs-tm-catalog-card__media img {
        transition: none;
    }

    .lzs-tm-category-card:hover .lzs-tm-category-card__media img,
    .lzs-tm-catalog-card:hover .lzs-tm-catalog-card__media img,
    .lzs-tm-category-card:has(> .lzs-tm-category-card__link:focus-visible) .lzs-tm-category-card__media img,
    .lzs-tm-catalog-card:has(> .lzs-tm-catalog-card__link:focus-visible) .lzs-tm-catalog-card__media img {
        transform: none;
    }
}
