/**
 * Sablona 2026-004 Linka - CSS promenne (tokeny --tpl-*) + @font-face.
 *
 * _page.php linkuje PRVNI promenne.css v retezu (2026-004 -> _core -> basic), takze tento
 * soubor NAHRAZUJE templates/_core/css/promenne.css celý: obsahuje vsechny tokeny jadra
 * (vc. bloku "Standardni odvozene tokeny" a "Aliasy", J-L1) s hodnotami Linky = vychozi stav
 * (bile pozadi, cerveny akcent, patkove nadpisy). Customizer (nastaveni-schema.json, pravidla
 * podle linka_pozadi / linka_akcent / typo) prepisuje hodnoty v :root az za timto souborem.
 *
 * Fonty (OFL, self-host, viz templates/2026-004/fonts/README.md):
 *   DM Sans variabilni 400-700 (text, UI, ceny) - preload v manifestu,
 *   Libre Caslon Text 400 (jen nadpisy) - bez preloadu, pri "sans nadpisech" se vubec nestahne.
 */
@font-face {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('../fonts/dmsans-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('../fonts/dmsans-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Libre Caslon Text';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/librecaslontext-400-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Libre Caslon Text';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/librecaslontext-400-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
    /* ================= Role (Linka: konstanty, viz nastaveni-schema.json) ================= */
    --tpl-primary: #111111;
    --tpl-cta-bg: #111111;
    --tpl-body-bg: #FFFFFF;          /* linka_pozadi: bila #FFFFFF / tepla #F4F3F1 */
    --tpl-secondary: #F4F3F1;        /* plochy: bila -> #F4F3F1 / tepla -> #FFFFFF */
    --tpl-accent: #C8102E;           /* linka_akcent: cervena / zadny #111111 */

    /* ================= Odvozene ================= */
    --tpl-link: #111111;
    --tpl-menu-hover-text: #111111;
    --tpl-sleva: #C8102E;
    --tpl-badge-sale: #C8102E;
    --tpl-oblibene: #111111;         /* P21: srdce cerne, akcent jen slevy */
    --tpl-header-bg: #FFFFFF;
    --tpl-header-text: #111111;
    --tpl-header-cart-bg: #111111;
    --tpl-header-cart-bg-hover: #333333;
    --tpl-footer-bg: #111111;

    /* ================= Sdilene ================= */
    --tpl-text: #111111;
    --tpl-content-bg: #FFFFFF;
    --tpl-card-bg: #FFFFFF;
    --tpl-surface-2: #F4F3F1;
    --tpl-surface-3: #EAE8E4;
    --tpl-stav-skladem: #1E7A3C;
    --tpl-stav-skladem-bg: #E9F2EC;
    --tpl-stav-chyba: #C8102E;
    --tpl-menu-bg: #FFFFFF;
    --tpl-menu-text: #111111;
    --tpl-menu-hover-bg: #F4F3F1;
    --tpl-card-border: #DDDDDD;
    --tpl-footer-text: #FFFFFF;
    --tpl-footer-heading: #FFFFFF;
    --tpl-footer-link: #FFFFFF;
    --tpl-footer-border: #333333;

    /* ================= Pomocne ================= */
    --tpl-primary-dark: #000000;
    --tpl-primary-light: #333333;
    --tpl-primary-text: #FFFFFF;
    --tpl-cta-bg-hover: #333333;
    --tpl-cta-text-hover: #FFFFFF;
    --tpl-cta-text: #FFFFFF;
    --tpl-text-light: #6F6F6F;       /* kontrast 5,0:1 na bile, 4,5:1 na #F4F3F1 */
    --tpl-link-hover: #333333;
    --tpl-footer-link-hover: #FFFFFF;
    --tpl-primary-tint-soft:   color-mix(in srgb, var(--tpl-primary) 4%, var(--tpl-content-bg));
    --tpl-primary-tint:        color-mix(in srgb, var(--tpl-primary) 6%, var(--tpl-content-bg));
    --tpl-primary-tint-border: color-mix(in srgb, var(--tpl-primary) 20%, var(--tpl-content-bg));
    --tpl-badge-new:  #111111;
    --tpl-badge-hit:  #111111;
    --tpl-badge-gift: #111111;

    /* ================= Typografie (sada serif) ================= */
    --tpl-font: 'DM Sans', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
    --tpl-font-head: 'Libre Caslon Text', Georgia, 'Times New Roman', serif;
    --tpl-font-ui: 'DM Sans', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
    --tpl-head-weight: 400;
    --tpl-head-tracking: 0;
    --tpl-font-size: 15px;
    --tpl-line-height: 1.6;

    /* ================= Tvary a rozmery ================= */
    --tpl-max-width: 1280px;
    --tpl-header-height: auto;
    --tpl-border-radius: 10px;       /* P7: boxy, textarea, modaly; tlacitka a inputy pres --tpl-pill */
    --tpl-radius-sm: 6px;
    --tpl-pill: 999px;
    --tpl-hero-radius: 10px;
    --tpl-card-radius: 8px;
    --tpl-detail-photo-radius: 10px;
    --tpl-hero-title-size: 44px;
    --tpl-detail-price-size: 26px;

    /* ================= Efekty: Linka nema stiny ================= */
    --tpl-shadow: none;
    --tpl-shadow-hover: none;
    --tpl-transition: 0.2s ease;

    /* ================= Standardni odvozene tokeny (J-L1) ================= */
    --tpl-line: #EEEEEE;             /* tepla: #E6E4E0 */
    --tpl-strike: #999999;
    --tpl-disabled: #BBBBBB;
    --tpl-topbar-bg: #111111;
    --tpl-topbar-text: #FFFFFF;
    --tpl-footer-muted: #AAAAAA;
    --tpl-sale-deco: none;           /* akcent zadny: underline */
    --tpl-overlay: rgba(17, 17, 17, 0.4);
    --tpl-area-radius: 10px;
    --tpl-thumb-radius: 6px;
    --tpl-label-radius: 4px;
    --tpl-gutter: 40px;
    --tpl-section-gap: 56px;
    --tpl-head-shrink: 0px;
    --tpl-box-line: transparent;     /* linka bileho boxu velikosti na karte (tepla: --tpl-line) */

    /* ================= Kontrastni tokeny (J-L1b, standard _core) =================
       Pravidla v _core/nastaveni-schema.json, customizer je prepise v :root. Hodnoty = Linka
       bila / cerveny akcent. Linka: hodnoceni bez barevnych hvezd (rating = text, schema). */
    --tpl-accent-text: #FFFFFF;
    --tpl-secondary-text: #111111;
    --tpl-rating: #111111;
    --tpl-sale-price: #C8102E;       /* akcent 5,9 : 1 na bile; zadny akcent = #111111 */
    --tpl-stav-wait: #9A5B00;
    --tpl-info-bg: #FEFEFE;
    --tpl-info-text: #111111;
    --tpl-nav-bg: var(--tpl-menu-bg);
    --tpl-nav-text: var(--tpl-menu-text);
    --tpl-annbar-bg: var(--tpl-accent);
    --tpl-annbar-text: var(--tpl-accent-text);
    --tpl-badge-bg: var(--tpl-primary);
    --tpl-badge-text: var(--tpl-primary-text);
    --tpl-panel-bg: var(--tpl-surface-2);
    --tpl-primary-fill: var(--tpl-primary);
    --tpl-disabled-text: #707070;

    /* ================= Aliasy nazvu z navrhu ================= */
    --tpl-cta: var(--tpl-cta-bg);
    --tpl-cta-hover: var(--tpl-cta-bg-hover);
    --tpl-border: var(--tpl-card-border);
    --tpl-surface: var(--tpl-card-bg);
    --tpl-head-ls: var(--tpl-head-tracking);
    --tpl-sale-bg: var(--tpl-badge-sale, var(--tpl-sleva));
    --tpl-sale-text: var(--tpl-accent-text, #FFFFFF);
    --tpl-footer-line: var(--tpl-footer-border);
    --tpl-radius: var(--tpl-pill);
    --tpl-price-sale: var(--tpl-sale-price);
    --tpl-menu-sale: var(--tpl-sale-price);
    --tpl-accent-ink: var(--tpl-sale-price);
    --tpl-stav-dny: var(--tpl-stav-wait);
    --tpl-stav-pozdeji: var(--tpl-stav-wait);
    --tpl-star: var(--tpl-rating);
    --tpl-ann-bg: var(--tpl-annbar-bg);
    --tpl-ann-text: var(--tpl-annbar-text);
    --tpl-announce-bg: var(--tpl-annbar-bg);
    --tpl-announce-text: var(--tpl-annbar-text);
    --tpl-info: var(--tpl-info-bg);
    --tpl-new-bg: var(--tpl-badge-bg);
    --tpl-new-text: var(--tpl-badge-text);
}
@media (max-width: 768px) {
    :root {
        --tpl-gutter: 16px;
        --tpl-section-gap: 40px;
    }
}
