/* ==================================================================
   Kovárna 2026 - vzhled objednávkové části.
   Píše se proti třídám, které vypisuje plugin kovarna-objednavky.
   Nahrazuje pluginový public.css, který vznikl pro starou tmavou
   šablonu a z 28 % se skládá z přebíjení jejích stylů (#content...).
   Plugin se kvůli tomu nemusí měnit: šablona jeho CSS odhlásí
   ve functions.php, po vypnutí šablony se původní vzhled vrátí.
   ================================================================== */

/* ------------------------------------------------------------------
   1. Obal a rozvržení do dvou sloupců s košíkem
   ------------------------------------------------------------------ */

.kovarna-objednavka,
.kovarna-denni-menu,
.kovarna-jidelni-listek,
.kovarna-pizza,
.kovarna-rezervace {
    font-family: var(--f-ui);
    font-size: 1rem;
    line-height: 1.55;
    color: var(--ink);
}

.kovarna-objednavka > *,
.kovarna-denni-menu > * {
    min-width: 0;
}

/*
 * Dva sloupce jen tam, kde je opravdu košík po straně. Krok 2 a 3 košík
 * po straně nemají, tam by druhý sloupec zůstal prázdný a obsah zbytečně úzký.
 * Prohlížeč bez :has() dostane jeden sloupec, což je použitelné.
 */
@media (min-width: 960px) {
    .kovarna-objednavka:has(> #kosik-sidebar),
    .kovarna-denni-menu:has(> #kosik-sidebar) {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 344px;
        gap: 26px;
        align-items: start;
    }

    .kovarna-objednavka:has(> #kosik-sidebar) > *,
    .kovarna-denni-menu:has(> #kosik-sidebar) > * {
        grid-column: 1;
    }

    .kovarna-objednavka > #kosik-sidebar,
    .kovarna-denni-menu > #kosik-sidebar {
        grid-column: 2;
        grid-row: 1;
        position: sticky;
        top: calc(var(--hlavicka) + 16px);
        margin-top: 0;
    }

    /* Uvnitř objednávky je denní menu vnořené, mřížku už podruhé nedělá. */
    .kovarna-objednavka .kovarna-denni-menu {
        display: block;
    }
}

/* ------------------------------------------------------------------
   2. Karty a nadpisy
   ------------------------------------------------------------------ */

.kovarna-sekce,
.km-jidla,
.kovarna-dulezite-info,
.kjl-kategorie,
.kovarna-kosik-inline,
.kovarna-kosik-sidebar,
.krok3-sekce,
.kovarna-menu-nedostupne,
.kovarna-login-info,
.pizza-info + .kovarna-pizza-seznam {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    padding: 18px 20px;
    margin-bottom: 16px;
}

.km-jidla {
    padding: 6px 8px;
}

.kovarna-title {
    font-family: var(--f-disp);
    font-weight: 900;
    font-size: clamp(1.35rem, 3.4vw, 1.85rem);
    letter-spacing: -0.025em;
    line-height: 1.1;
    margin: 0 0 4px;
}

.kovarna-section-title {
    font-family: var(--f-ui);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--brass);
    margin: 0 0 12px;
}

.km-jidla .kovarna-section-title,
.kovarna-denni-menu > .kovarna-section-title {
    margin: 22px 0 8px;
    padding-inline: 12px;
}

.kovarna-muted,
.description {
    color: var(--muted);
    font-size: 0.87rem;
}

.kovarna-prazdne {
    color: var(--muted);
    font-size: 0.9rem;
    padding: 10px 0;
}

/* ------------------------------------------------------------------
   3. Hlavička dne a informace o rozvozu
   ------------------------------------------------------------------ */

/* Nadpis dne a řádek o rozvozu jsou jedna karta (Pavel 23. 10. 2026): dřív
   nadpis na dva řádky a zelený rámeček odsouvaly jídlo pod ohyb. */
.kovarna-menu-den {
    font-family: var(--f-disp);
    font-weight: 900;
    font-size: clamp(1.15rem, 3vw, 1.5rem);
    letter-spacing: -0.02em;
    line-height: 1.2;
    background: var(--card);
    border: 1px solid var(--line);
    border-bottom: 0;
    border-radius: var(--r-lg) var(--r-lg) 0 0;
    padding: 14px 18px 2px;
    margin-bottom: 0;
}

.kovarna-denni-rozvoz-info {
    margin: 0 0 16px;
    padding: 0 18px 12px;
    border: 1px solid var(--line);
    border-top: 0;
    border-radius: 0 0 var(--r-lg) var(--r-lg);
    background: var(--card);
    color: var(--muted);
    font-size: var(--t-vedlejsi);
}

/* ------------------------------------------------------------------
   4. Polévka dne
   ------------------------------------------------------------------ */

.km-polevka {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    background: linear-gradient(160deg, var(--ember-soft), #fff 72%);
    border: 1px solid rgba(200, 72, 26, 0.28);
    border-radius: var(--r-lg);
    padding: 16px 20px;
    margin-bottom: 16px;
}

.km-polevka-label {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--ember);
    flex: 0 0 100%;
}

.km-polevka-nazev {
    flex: 1;
    min-width: 160px;
    font-size: 1.08rem;
    font-weight: 600;
}

.km-polevka-cena {
    font-family: var(--f-disp);
    font-weight: 900;
    font-size: 1.2rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.km-vaha,
.km-priloha {
    color: var(--muted);
    font-size: 0.85rem;
    font-weight: 400;
}

.km-alergeny {
    color: var(--faint);
    font-size: 0.76rem;
}

/* ------------------------------------------------------------------
   5. Jídlo v denním menu
   ------------------------------------------------------------------ */

.km-jidlo {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    gap: 12px;
    padding: 15px 12px;
    border-radius: 11px;
    align-items: start;
}

.km-jidlo + .km-jidlo {
    border-top: 1px solid var(--line);
}

.km-jidlo:first-child {
    background: var(--ember-soft);
}

.km-jidlo-cislo {
    font-family: var(--f-disp);
    font-weight: 900;
    color: var(--faint);
    font-size: 0.95rem;
    padding-top: 2px;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.km-jidlo:first-child .km-jidlo-cislo {
    color: var(--ember);
}

.km-jidlo-nazev {
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.3;
}

.km-jidlo-detail {
    color: var(--muted);
    font-size: 0.85rem;
    margin-top: 2px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.km-jidlo-poznamka {
    color: var(--ink-2);
    font-size: 0.85rem;
    margin-top: 4px;
}

.km-polevka-rezim {
    display: inline-block;
    margin-top: 6px;
    padding: 3px 9px;
    border-radius: 999px;
    background: var(--sunk);
    color: var(--ink-2);
    font-size: 0.75rem;
    font-weight: 600;
}

.km-jidlo-ceny {
    text-align: right;
    white-space: nowrap;
}

.km-cena-s-pol {
    font-size: 0.8rem;
    color: var(--muted);
}

.km-cena-s-pol strong {
    display: block;
    font-family: var(--f-disp);
    font-weight: 900;
    font-size: 1.15rem;
    color: var(--ink);
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
}

.km-cena-bez {
    font-size: 0.8rem;
    color: var(--faint);
    font-variant-numeric: tabular-nums;
}

/* Vyprodáno: jídlo zůstává v menu přeškrtnuté se stejným číslem (Jiří,
   15. 10. 2026). Dřív byl celý řádek průhledný a nesplnil kontrast. */
.km-jidlo-vyprodano .km-nazev-text {
    text-decoration-thickness: 1.5px;
    color: var(--muted);
}

.km-vyprodano-label {
    display: inline-block;
    margin-top: 6px;
    padding: 3px 10px;
    border-radius: 999px;
    background: var(--red-soft);
    color: var(--red);
    font-size: 0.75rem;
    font-weight: 700;
}

/* ------------------------------------------------------------------
   6. Přidání do košíku
   ------------------------------------------------------------------ */

.km-pridat,
.kjl-pridat {
    grid-column: 2 / -1;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 10px;
    padding: 11px 12px;
    border-radius: var(--r);
    background: var(--sunk);
}

.km-jidlo:first-child .km-pridat {
    background: #fff;
    border: 1px solid var(--line-2);
}

.km-volby {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.km-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.87rem;
    font-weight: 600;
    cursor: pointer;
    user-select: none;
}

.km-checkbox input[type="checkbox"] {
    width: 17px;
    height: 17px;
    accent-color: var(--ember);
    margin: 0;
}

.km-mnozstvi {
    width: 62px;
    padding: 8px 6px 8px 10px;
    border: 1px solid var(--line-2);
    border-radius: 9px;
    background: var(--card);
    font: inherit;
    font-weight: 700;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.km-poznamka {
    flex: 1;
    min-width: 170px;
    padding: 9px 12px;
    border: 1px solid var(--line-2);
    border-radius: 9px;
    background: var(--card);
    font: inherit;
    font-size: 0.88rem;
}

.km-poznamka::placeholder {
    color: var(--faint);
}

.kovarna-objednavka .km-btn-pridat,
.kovarna-denni-menu .km-btn-pridat,
.kovarna-jidelni-listek .km-btn-pridat,
.kovarna-pizza .km-btn-pridat {
    padding: 10px 18px;
    border-radius: 10px;
    border: 1px solid var(--ember);
    background: var(--card);
    color: var(--ember);
    font-weight: 700;
    font-size: 0.88rem;
    white-space: nowrap;
    box-shadow: none;
}

.kovarna-objednavka .km-btn-pridat:hover,
.kovarna-denni-menu .km-btn-pridat:hover,
.kovarna-jidelni-listek .km-btn-pridat:hover,
.kovarna-pizza .km-btn-pridat:hover {
    background: var(--ember);
    border-color: var(--ember);
    color: #fff;
}

@media (max-width: 560px) {
    .km-jidlo {
        grid-template-columns: 26px minmax(0, 1fr);
    }

    .km-jidlo-ceny {
        grid-column: 2;
        text-align: left;
        margin-top: 4px;
    }

    .km-cena-s-pol strong {
        display: inline;
        font-size: 1.05rem;
    }

    .km-pridat,
    .kjl-pridat {
        grid-column: 1 / -1;
    }

    .km-btn-pridat {
        width: 100%;
    }
}

/* ------------------------------------------------------------------
   7. Košík
   ------------------------------------------------------------------ */

.kovarna-kosik-inline,
.kovarna-kosik-sidebar {
    padding: 16px 18px;
}

#kosik-pocet-badge:not(:empty) {
    display: inline-grid;
    place-items: center;
    min-width: 21px;
    height: 21px;
    padding: 0 6px;
    margin-left: 6px;
    border-radius: 999px;
    background: var(--ember);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0;
}

.kosik-polozka {
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding: 9px 0;
    border-bottom: 1px solid var(--line);
    font-size: 0.9rem;
}

.kosik-pol-nazev {
    flex: 1;
    min-width: 0;
}

.kosik-pol-nazev em {
    font-style: normal;
    color: var(--muted);
    font-size: 0.82rem;
}

.kosik-pol-ks {
    color: var(--muted);
    font-variant-numeric: tabular-nums;
}

.kosik-pol-cena {
    font-weight: 400;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.kosik-odebrat {
    color: var(--faint);
    text-decoration: none;
    font-size: 0.9rem;
    line-height: 1;
    padding: 3px 5px;
    border-radius: 6px;
}

.kosik-odebrat:hover {
    color: #fff;
    background: var(--red);
}

.kosik-celkem {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 10px;
    margin: 14px 0 12px;
    font-size: 0.92rem;
    color: var(--muted);
}

.kosik-celkem strong {
    font-family: var(--f-disp);
    font-weight: 900;
    font-size: 1.3rem;
    color: var(--ink);
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
}

#kosik-footer .button {
    width: 100%;
}

/* Lišta košíku na mobilu */
.km-kosik-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 60;
    /*
     * Plugin sem sype holý text mezi značkami ("Košík:", <strong>, "položek"),
     * z každého kusu je samostatná položka flexu. Proto se nedá použít
     * space-between, text by se roztáhl přes celou lištu. Text zůstává vlevo
     * u sebe, tlačítko odsune doprava auto margin.
     */
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 11px 16px calc(11px + env(safe-area-inset-bottom));
    background: rgba(26, 20, 17, 0.96);
    backdrop-filter: blur(10px);
    color: #f2e7da;
    font-size: 0.9rem;
}

.km-kosik-bar strong {
    color: #fff;
}

.km-kosik-bar .button {
    margin-left: auto;
}

.kovarna-denni-menu .km-kosik-bar .button,
.kovarna-objednavka .km-kosik-bar .button {
    padding: 10px 16px;
    font-size: 0.88rem;
}

@media (min-width: 960px) {
    .km-kosik-bar {
        display: none !important;
    }
}

/* ------------------------------------------------------------------
   8. Záložky Denní menu / Pizza
   ------------------------------------------------------------------ */

.kovarna-menu-sekce-tabs {
    display: flex;
    gap: 6px;
    padding: 5px;
    margin-bottom: 16px;
    border-radius: 13px;
    background: var(--sunk);
    border: 1px solid var(--line);
}

.kov-tab {
    flex: 1;
    padding: 11px 16px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: var(--ink-2);
    font: inherit;
    font-weight: 700;
    font-size: 0.93rem;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, box-shadow 0.15s;
}

.kov-tab:hover {
    color: var(--ink);
}

.kov-tab.active {
    background: var(--card);
    color: var(--ember);
    box-shadow: 0 2px 8px -3px rgba(26, 20, 17, 0.25);
}

.kov-hidden {
    display: none;
}

/* ------------------------------------------------------------------
   9. Přihlášení a registrace nad objednávkou
   ------------------------------------------------------------------ */

.kovarna-login-info {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 0.92rem;
    color: var(--ink-2);
}

.kovarna-login-info > #form-login-wrap,
.kovarna-login-info > #form-register-wrap {
    flex: 0 0 100%;
}

.kovarna-prihlasen-info {
    padding: 11px 16px;
    border-radius: var(--r);
    background: var(--green-soft);
    border: 1px solid rgba(62, 122, 58, 0.22);
    font-size: 0.9rem;
    margin-bottom: 16px;
}

.kovarna-form-login {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.kovarna-form-login input {
    flex: 1;
    min-width: 180px;
}

.kovarna-form-register input {
    flex: 1 1 46%;
}

/* ------------------------------------------------------------------
   10. Formuláře
   ------------------------------------------------------------------ */

.kovarna-objednavka input[type="text"],
.kovarna-objednavka input[type="email"],
.kovarna-objednavka input[type="tel"],
.kovarna-objednavka input[type="password"],
.kovarna-objednavka input[type="number"],
.kovarna-objednavka input[type="date"],
.kovarna-objednavka select,
.kovarna-objednavka textarea,
.kovarna-rezervace input,
.kovarna-rezervace select,
.kovarna-rezervace textarea,
.kovarna-poptavka input,
.kovarna-poptavka select,
.kovarna-poptavka textarea {
    width: 100%;
    padding: 11px 13px;
    border: 1px solid var(--line-2);
    border-radius: 10px;
    background: var(--card);
    color: var(--ink);
    font: inherit;
    font-size: 1rem;
}

.kovarna-objednavka textarea {
    resize: vertical;
    min-height: 84px;
}

.kovarna-objednavka input:focus,
.kovarna-objednavka textarea:focus,
.kovarna-objednavka select:focus,
.kovarna-rezervace input:focus,
.kovarna-rezervace textarea:focus,
.kovarna-rezervace select:focus,
.kovarna-poptavka input:focus,
.kovarna-poptavka textarea:focus,
.kovarna-poptavka select:focus {
    border-color: var(--ember);
    outline: 2px solid rgba(200, 72, 26, 0.18);
    outline-offset: 0;
}

/*
 * Fokus z klávesnice musí být vidět (WCAG 2.4.7, UCT-10). Bledý obrys
 * výš stačí pro myš, ale přepínač Vyzvednu/Přivezte a zaškrtávátko
 * souhlasu s ním skoro zmizely. Plný obrys jen při ovládání klávesnicí.
 */
.kovarna-objednavka input:focus-visible,
.kovarna-objednavka textarea:focus-visible,
.kovarna-objednavka select:focus-visible,
.kovarna-rezervace input:focus-visible,
.kovarna-rezervace textarea:focus-visible,
.kovarna-rezervace select:focus-visible,
.kovarna-poptavka input:focus-visible,
.kovarna-poptavka textarea:focus-visible,
.kovarna-poptavka select:focus-visible {
    outline: 2px solid var(--ember);
    outline-offset: 2px;
}

.kovarna-radio-card:has(input:focus-visible),
.kovarna-checkbox-line:has(input:focus-visible) {
    outline: 2px solid var(--ember);
    outline-offset: 2px;
    border-radius: var(--r);
}

.kovarna-objednavka input[readonly] {
    background: var(--sunk);
    color: var(--muted);
}

/*
 * Pole u jídla nejsou formulářová pole objednávky a nesmí se roztáhnout
 * na celou šířku. Musí stát až za obecným pravidlem výše, jinak ho nepřebijí.
 */
.kovarna-objednavka .km-mnozstvi,
.kovarna-denni-menu .km-mnozstvi,
.kovarna-pizza .km-mnozstvi,
.kovarna-jidelni-listek .km-mnozstvi {
    width: 68px;
    flex: 0 0 68px;
    padding: 9px 4px 9px 8px;
    text-align: center;
}

.kovarna-objednavka .km-poznamka,
.kovarna-denni-menu .km-poznamka,
.kovarna-pizza .km-poznamka,
.kovarna-jidelni-listek .km-poznamka {
    width: auto;
    flex: 1 1 170px;
    min-width: 150px;
    font-size: 0.88rem;
}

.kovarna-form-grid {
    display: grid;
    gap: 14px;
}

@media (min-width: 600px) {
    .kovarna-form-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.form-row.full-width {
    grid-column: 1 / -1;
}

.form-row label {
    display: block;
    margin-bottom: 5px;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--ink-2);
}

.kovarna-field-error {
    display: block;
    margin-top: 5px;
    color: var(--red);
    font-size: 0.82rem;
    font-weight: 600;
}

.kovarna-form-akce {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 4px;
}

.kovarna-form-status {
    margin-top: 12px;
    font-size: 0.9rem;
}

.kovarna-checkbox-line {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font-size: 0.93rem;
    cursor: pointer;
}

.kovarna-checkbox-line input[type="checkbox"] {
    width: 19px;
    height: 19px;
    margin: 1px 0 0;
    accent-color: var(--ember);
    flex: 0 0 19px;
}

/* Volba způsobu odběru */
.kovarna-radio-group {
    display: grid;
    gap: 12px;
}

@media (min-width: 600px) {
    .kovarna-radio-group {
        grid-template-columns: 1fr 1fr;
    }
}

.kovarna-radio-card {
    display: block;
    position: relative;
    padding: 15px 16px 15px 44px;
    border: 1px solid var(--line-2);
    border-radius: var(--r);
    background: var(--card);
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
}

.kovarna-radio-card:hover {
    border-color: var(--ink-2);
}

.kovarna-radio-card input[type="radio"] {
    position: absolute;
    left: 16px;
    top: 17px;
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--ember);
}

.kovarna-radio-card strong {
    display: block;
    font-size: 1rem;
    font-weight: 700;
}

.kovarna-radio-card span {
    display: block;
    color: var(--muted);
    font-size: 0.85rem;
    margin-top: 3px;
}

.kovarna-radio-card:has(input:checked) {
    border-color: var(--ember);
    background: var(--ember-soft);
}

.kovarna-radio-card.active {
    border-color: var(--ember);
    background: var(--ember-soft);
}

.kovarna-radio-card:has(input:disabled) {
    opacity: 0.55;
    cursor: not-allowed;
}

/* ------------------------------------------------------------------
   11. Informační boxy
   ------------------------------------------------------------------ */

.kovarna-info-box {
    padding: 13px 16px;
    border-radius: var(--r);
    background: var(--sunk);
    border: 1px solid var(--line);
    color: var(--ink-2);
    font-size: 0.89rem;
    margin-top: 12px;
}

.kovarna-menu-cta {
    background: var(--ember-soft);
    border-color: rgba(200, 72, 26, 0.28);
    /* Pod boxem začínají tlačítka kategorií a bez mezery se lepila na něj. */
    margin-bottom: 20px;
}

.kovarna-dulezite-info ul,
.kovarna-info-list {
    margin: 0;
    padding-left: 1.2em;
}

.kovarna-info-list li {
    margin-bottom: 5px;
    font-size: 0.89rem;
    color: var(--ink-2);
}

.kovarna-dulezite-info p {
    margin: 12px 0 0;
    color: var(--muted);
    font-size: 0.89rem;
}

.kovarna-denni-poznamka {
    padding: 14px 18px;
    border-left: 3px solid var(--brass);
    background: var(--card);
    border-radius: 0 var(--r) var(--r) 0;
    color: var(--ink-2);
    font-size: 0.92rem;
    margin-bottom: 16px;
}

.kovarna-menu-nedostupne {
    text-align: center;
    color: var(--muted);
}

/* ------------------------------------------------------------------
   12. Tabulka košíku a cenový souhrn
   ------------------------------------------------------------------ */

.kovarna-kosik-tbl {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.93rem;
}

.kovarna-kosik-tbl th {
    text-align: left;
    padding: 0 8px 8px;
    border-bottom: 1px solid var(--line-2);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--muted);
}

.kovarna-kosik-tbl td {
    padding: 11px 8px;
    border-bottom: 1px solid var(--line);
    vertical-align: top;
}

.kovarna-kosik-tbl th:last-child,
.kovarna-kosik-tbl td:last-child,
.kovarna-kosik-tbl th:nth-child(2),
.kovarna-kosik-tbl td:nth-child(2) {
    text-align: right;
    white-space: nowrap;
}

.kovarna-kosik-tbl td:nth-child(3) {
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    font-weight: 400;
}

.kovarna-kosik-tbl em {
    font-style: normal;
    color: var(--muted);
    font-size: 0.85rem;
}

.kovarna-kosik-tbl small {
    color: var(--muted);
    font-size: 0.8rem;
    font-weight: 400;
}

.kovarna-cenovy-souhrn {
    background: linear-gradient(160deg, var(--sunk), #fff 70%);
}

.kovarna-cena-radek {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 7px 0;
    font-size: 0.94rem;
    font-variant-numeric: tabular-nums;
}

.kovarna-sleva-radek {
    color: var(--green);
    font-weight: 600;
}

.kovarna-cena-celkem {
    margin-top: 6px;
    padding-top: 12px;
    border-top: 1px solid var(--line-2);
    font-family: var(--f-disp);
    font-weight: 900;
    font-size: 1.35rem;
    letter-spacing: -0.02em;
}

.kovarna-obaly-rozpis {
    margin: 4px 0 8px;
    padding-left: 14px;
    border-left: 2px solid var(--line);
    color: var(--muted);
    font-size: 0.85rem;
}

/* ------------------------------------------------------------------
   13. Jídelní lístek
   ------------------------------------------------------------------ */

.kjl-kat-nadpis {
    font-family: var(--f-disp);
    font-weight: 900;
    font-size: 1.25rem;
    letter-spacing: -0.02em;
    margin: 0 0 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--line);
}

.kjl-polozka {
    display: flex;
    align-items: baseline;
    gap: 14px;
    padding: 11px 0;
}

.kjl-polozka + .kjl-polozka {
    border-top: 1px solid var(--line);
}

.kjl-info {
    flex: 1;
    min-width: 0;
}

.kjl-nazev {
    font-weight: 600;
}

.kjl-detail,
.kjl-popis {
    color: var(--muted);
    font-size: 0.85rem;
    margin-top: 2px;
}

.kjl-cena-blok {
    text-align: right;
    white-space: nowrap;
}

.kjl-cena {
    font-family: var(--f-disp);
    font-weight: 900;
    font-size: 1.05rem;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
}

/* ------------------------------------------------------------------
   14. Pizza
   ------------------------------------------------------------------ */

/*
 * Karta pizzy, přestavěno 4. 9. 2026 podle připomínky J3.
 *
 * Dřív měla karta čtyři vodorovné pruhy, které se střídaly v barvě: název na
 * béžové, cena na bílé, cena krabice zase na béžové a ovládání na bílé. Bylo
 * to tím, že `.pizza-info` a `.pizza-box-info` dostávaly pozadí jako
 * informační okénko, ačkoli to jsou obyčejné obaly textu uvnitř karty.
 *
 * Teď je karta jedna plocha. Barvu má jen to, co se dá zmáčknout.
 */

.pizza-dostupnost {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 700;
    margin-bottom: 14px;
}

.pizza-dostupnost-aktivni {
    background: var(--green-soft);
    color: var(--green);
    border: 1px solid rgba(62, 122, 58, 0.22);
}

.pizza-dostupnost-neaktivni {
    background: var(--sunk);
    color: var(--muted);
    border: 1px solid var(--line-2);
}

/* ---- hledání ---- */

.pz-hledani {
    position: relative;
    display: flex;
    align-items: center;
    margin: 0 0 8px;
}

.pz-hledani-ikona {
    position: absolute;
    left: 14px;
    display: grid;
    place-items: center;
    color: var(--muted);
    pointer-events: none;
}

.pz-hledani input {
    width: 100%;
    padding: 13px 44px 13px 42px;
    border-radius: var(--r);
    border: 1px solid var(--line-2);
    background: var(--card);
    color: var(--ink);
    font: inherit;
    font-size: 1rem;
    -webkit-appearance: none;
    appearance: none;
}

.pz-hledani input::-webkit-search-cancel-button {
    display: none;
}

.pz-hledani input:focus {
    outline: none;
    border-color: var(--ember);
    box-shadow: 0 0 0 3px rgba(226, 87, 31, 0.16);
}

.pz-hledani-zrusit {
    position: absolute;
    right: 8px;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 50%;
    background: var(--sunk);
    color: var(--ink-2);
    cursor: pointer;
    font-size: 0.8rem;
    line-height: 1;
}

.pz-vysledek {
    color: var(--muted);
    font-size: 0.86rem;
    margin: 0 0 14px;
}

.pz-nic {
    padding: 18px;
    border-radius: var(--r);
    background: var(--sunk);
    color: var(--ink-2);
    text-align: center;
}

/* ---- karta ---- */

.pz-seznam {
    display: grid;
    gap: 12px;
}

.pz {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    padding: 16px 18px;
}

.pz[hidden] {
    display: none;
}

.pz-hlava {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
}

.pz-text {
    min-width: 0;
}

.pizza-nazev {
    margin: 0;
    font-family: var(--f-disp);
    font-weight: 900;
    font-size: 1.12rem;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: var(--ink);
}

.pizza-detail,
.pizza-poznamka-ing {
    color: var(--ink-2);
    font-size: 0.88rem;
    margin: 4px 0 0;
    line-height: 1.45;
}

.pizza-poznamka-ing {
    color: var(--muted);
}

.pz .km-alergeny {
    display: block;
    color: var(--muted);
    font-size: 0.8rem;
    margin: 5px 0 0;
}

.pz-cena {
    flex: 0 0 auto;
    margin: 0;
    text-align: right;
    white-space: nowrap;
}

.pz-cena .kjl-cena {
    display: block;
    font-family: var(--f-disp);
    font-weight: 900;
    font-size: 1.32rem;
    letter-spacing: -0.02em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}

.pz-box {
    display: block;
    color: var(--muted);
    font-size: 0.78rem;
    margin-top: 2px;
}

/* ---- ovládání ---- */

.pz-ovladani {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--line);
}

.pz-pocet input {
    width: 100%;
    padding: 10px 6px;
    text-align: center;
    border-radius: var(--r);
    border: 1px solid var(--line-2);
    background: var(--card);
    color: var(--ink);
    font: inherit;
    font-weight: 700;
}

.pz-ovladani .km-poznamka,
.pz-ovladani .km-btn-pridat,
.pz-ovladani .pizza-ing-list {
    grid-column: 1 / -1;
}

.pz-ovladani .km-poznamka {
    width: 100%;
    padding: 10px 13px;
    border-radius: var(--r);
    border: 1px solid var(--line-2);
    background: var(--card);
    color: var(--ink);
    font: inherit;
    font-size: 0.92rem;
}

.pz-ovladani .km-btn-pridat {
    width: 100%;
    justify-content: center;
}

/* Zaškrtávátko, ne odkaz. Dřív bylo podtržené a vypadalo, že někam vede. */
.pizza-ing-chci {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 13px;
    border-radius: var(--r);
    background: var(--card);
    border: 1px solid var(--line-2);
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--ink-2);
    cursor: pointer;
    text-decoration: none;
    user-select: none;
}

.pizza-ing-chci:has(input:checked) {
    border-color: var(--ember);
    background: var(--ember-soft);
    color: var(--ember);
}

.pizza-ing-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 2px 14px;
    margin-top: 4px;
    padding: 12px 14px;
    border-radius: var(--r);
    background: var(--sunk);
    border: 1px solid var(--line);
}

.pizza-ing-list[hidden] {
    display: none;
}

.pizza-ing-list label {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 7px 0;
    font-size: 0.88rem;
    color: var(--ink-2);
    cursor: pointer;
}

.pizza-ing-list label b {
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}

.pizza-nelze-objednat {
    margin: 12px 0 0;
    padding-top: 12px;
    border-top: 1px solid var(--line);
    color: var(--muted);
    font-size: 0.88rem;
}

@media (max-width: 560px) {
    .pz-hlava {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    .pz-cena {
        display: flex;
        align-items: baseline;
        gap: 10px;
        text-align: left;
    }
    .pz-cena .kjl-cena,
    .pz-box {
        display: inline;
    }
}

/* Skryté popisky pro odečítače obrazovky. Šablona je jinak nedefinuje. */
.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;
}

/* ------------------------------------------------------------------
   15. Potvrzení objednávky
   ------------------------------------------------------------------ */

.kovarna-potvrzeni {
    max-width: 620px;
    margin-inline: auto;
    text-align: center;
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    padding: clamp(26px, 5vw, 44px);
}

.potvrzeni-icon {
    width: 66px;
    height: 66px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: var(--green-soft);
    color: var(--green);
    display: grid;
    place-items: center;
    font-size: 2rem;
}

.potvrzeni-cislo {
    font-family: var(--f-disp);
    font-weight: 900;
    font-size: clamp(1.5rem, 4vw, 2.1rem);
    letter-spacing: -0.02em;
    margin: 6px 0 12px;
}

.potvrzeni-detail {
    color: var(--ink-2);
    font-size: 0.95rem;
}

.potvrzeni-zpet {
    margin-top: 22px;
}

/* ------------------------------------------------------------------
   16. Rezervace
   ------------------------------------------------------------------ */

.kovarna-rezervace-intro {
    margin-bottom: 16px;
}

.kovarna-rezervace-form {
    display: grid;
    gap: 14px;
}

@media (min-width: 600px) {
    .kovarna-rezervace-form {
        grid-template-columns: 1fr 1fr;
    }
}

/* ------------------------------------------------------------------
   17. Tisk
   ------------------------------------------------------------------ */

@media print {
    .kov-hlavicka,
    .kov-paticka,
    .kov-zkusebni,
    .km-kosik-bar,
    .km-pridat,
    .kovarna-menu-sekce-tabs,
    .kovarna-login-info,
    #kosik-sidebar {
        display: none !important;
    }

    body {
        background: #fff;
    }

    .kovarna-objednavka,
    .kovarna-denni-menu {
        display: block;
    }
}

/* ------------------------------------------------------------------
   18. Doplněno 4. 9. 2026 po Pavlově procházení webu
   ------------------------------------------------------------------ */

/* ---- Lišta kroků objednávky (připomínka K7) ----
   Host musí vidět, ve kterém kroku je a kolik jich zbývá, aby mu bylo
   jasné, že tlačítko "Pokračovat" objednávku ještě neodesílá. */

.kov-kroky {
    margin: 0 0 22px;
}

.kov-kroky ol {
    display: flex;
    align-items: center;
    gap: 6px;
    list-style: none;
    margin: 0;
    padding: 0;
    overflow-x: auto;
    scrollbar-width: none;
}

.kov-kroky ol::-webkit-scrollbar {
    display: none;
}

.kov-kroky li {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    padding: 8px 14px 8px 9px;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: var(--card);
    font-size: 0.86rem;
    font-weight: 600;
    color: var(--muted);
    white-space: nowrap;
}

.kov-kroky li a {
    display: flex;
    align-items: center;
    gap: 8px;
    color: inherit;
    text-decoration: none;
}

.kov-kroky-cislo {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    border-radius: 50%;
    background: var(--sunk);
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.kov-kroky-hotovy {
    color: var(--ink-2);
    border-color: var(--line-2);
}

.kov-kroky-hotovy .kov-kroky-cislo {
    background: var(--green-soft);
    color: var(--green);
}

.kov-kroky-hotovy:hover {
    border-color: var(--ember);
}

.kov-kroky-tady {
    background: var(--ember-soft);
    border-color: var(--ember);
    color: var(--ember);
}

.kov-kroky-tady .kov-kroky-cislo {
    background: var(--ember);
    color: #fff;
}

@media (max-width: 520px) {
    /* Na mobilu se vejdou jen kolečka a název právě rozdělaného kroku. */
    .kov-kroky-hotovy .kov-kroky-nazev,
    .kov-kroky-pristi .kov-kroky-nazev {
        display: none;
    }
    .kov-kroky li {
        padding: 8px 9px;
    }
    .kov-kroky-tady {
        padding-right: 14px;
    }
}

/* ---- Kontrola vyplnění (připomínka K4) ---- */

.kovarna-pole-chyba {
    border-color: var(--red) !important;
    background: var(--red-soft);
}

.kovarna-form-souhrn-chyb {
    margin-top: 14px;
    padding: 12px 15px;
    border-radius: var(--r);
    background: var(--red-soft);
    border: 1px solid rgba(179, 38, 30, 0.24);
    color: var(--red);
    font-weight: 600;
}

.kovarna-form-souhrn-chyb[hidden] {
    display: none;
}

.kovarna-akce-pod {
    width: 100%;
    margin: 8px 0 0;
    text-align: right;
    font-size: 0.84rem;
}

.kovarna-napoveda {
    display: block;
    margin-top: 5px;
    color: var(--muted);
    font-size: 0.82rem;
}

/* ---- Past na roboty ----
   Musí zůstat ve stránce a být vyplnitelná, jinak by ji robot přeskočil.
   Proto se odsouvá mimo obrazovku, ne `display:none`. */

.kovarna-past {
    position: absolute !important;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* ---- Denní menu není v nabídce (připomínka J2) ---- */

.kovarna-menu-zavreno {
    margin-bottom: 18px;
}

.kovarna-menu-zavreno strong {
    display: block;
    margin-bottom: 4px;
}

.kovarna-menu-zavreno-odkazy {
    margin: 10px 0 0;
}

/* ---- Poptávka akce ---- */

.kovarna-poptavka-uvod {
    color: var(--ink-2);
    max-width: 46em;
    margin-bottom: 20px;
}

.kovarna-poptavka select {
    width: 100%;
    padding: 11px 13px;
    border-radius: var(--r);
    border: 1px solid var(--line-2);
    background: var(--card);
    color: var(--ink);
    font: inherit;
}

/* ---- Stránka odběru ranního menu ---- */

.kovarna-odber-stav {
    max-width: 560px;
    margin-inline: auto;
    padding: 32px 28px;
    border-radius: var(--r-lg);
    background: var(--card);
    border: 1px solid var(--line);
    text-align: center;
}

.kovarna-odber-stav h2 {
    margin: 0 0 10px;
}

.kovarna-odber-stav p {
    color: var(--ink-2);
}

.kovarna-odber-potvrzeno {
    border-color: rgba(62, 122, 58, 0.3);
}

/* ---- Jídelní lístek: rozcestník a alergeny ---- */

.kjl-rozcestnik {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}

.kjl-rozcestnik a {
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid var(--line-2);
    background: var(--card);
    color: var(--ink-2);
    font-size: 0.86rem;
    font-weight: 600;
    text-decoration: none;
}

.kjl-rozcestnik a:hover {
    border-color: var(--ember);
    background: var(--ember-soft);
    color: var(--ember);
}

.kjl-kat-nadpis {
    font-family: var(--f-disp);
    font-weight: 900;
    font-size: 1.24rem;
    letter-spacing: -0.02em;
    margin: 0 0 12px;
    scroll-margin-top: calc(var(--hlavicka) + 16px);
}

.kjl-kategorie {
    scroll-margin-top: calc(var(--hlavicka) + 16px);
}

.kjl-alergeny-legenda {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    padding: 20px 22px;
    margin-bottom: 16px;
    scroll-margin-top: calc(var(--hlavicka) + 16px);
}

.kjl-alergeny-legenda h2 {
    font-family: var(--f-disp);
    font-weight: 900;
    font-size: 1.2rem;
    margin: 0 0 8px;
}

.kjl-alergeny-seznam {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 4px 20px;
    margin: 14px 0 0;
    padding: 0;
    font-size: 0.88rem;
    color: var(--ink-2);
}

.kjl-alergeny-seznam b {
    display: inline-grid;
    place-items: center;
    width: 22px;
    height: 22px;
    margin-right: 6px;
    border-radius: 50%;
    background: var(--sunk);
    color: var(--ink);
    font-size: 0.78rem;
    font-variant-numeric: tabular-nums;
}

.kovarna-inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 12px;
}

/* ---- Mobil: pole nesmí být menší než 16 px ----
   Safari na iPhonu při kliknutí do pole s menším písmem přiblíží celou
   stránku a už ji nevrátí zpátky. Host pak objednává v přiblíženém webu. */

@media (max-width: 760px) {
    .kovarna-objednavka .km-poznamka,
    .kovarna-denni-menu .km-poznamka,
    .kovarna-pizza .km-poznamka,
    .kovarna-jidelni-listek .km-poznamka,
    .pz-ovladani .km-poznamka,
    .km-mnozstvi,
    .pz-hledani input {
        font-size: 16px;
    }
}

/* ==================================================================
   19. Stupnice písma a mezery. Doplněno 11. 9. 2026 (R-21).

   Pavel na zkušebním webu: „strašně moc různých velikostí písem
   a nedotažených odsazení“. Změřeno v prohlížeči na objednávce pizzy:
   patnáct různých velikostí od 11,5 do 20,8 bodu, hmotnost pizzy
   v nadpisovém písmu v řezu, který se nenačítá, a cena nalepená
   na text bez mezery.

   Příčina lepení: ve verzi pluginu 1.11.0 se ceny přesunuly ze sloupce
   za název jídla (N22). Pluginové CSS to umí, ale šablona ho odhlašuje
   a sama pravidla pro řádek za sebou neměla.

   Od teď platí pět velikostí a nic mezi nimi:
     popisek velkými písmeny   12 px   --t-popisek
     drobnost                  13 px   --t-drobne   alergeny, nápověda, chyba u pole
     vedlejší text             14 px   --t-vedlejsi info, košík, hmotnost, popis
     základ                    16 px   --t-zaklad   text, jídla, pole, tlačítka
     součty a nadpisy karet    20 px   --t-soucet   Fraunces
   Velké nadpisy stránek zůstávají, jak jsou (clamp v oddílech 2 a 3).
   Nadpisové písmo Fraunces je jen na nadpisech, názvu pizzy a součtech.
   ================================================================== */

:root {
    --t-popisek: 0.75rem;
    --t-drobne: 0.8125rem;
    --t-vedlejsi: 0.875rem;
    --t-zaklad: 1rem;
    --t-soucet: 1.25rem;
}

/* ---- popisky velkými písmeny ---- */

.kovarna-section-title,
.km-polevka-label,
.kovarna-kosik-tbl th,
.kov-nadpis-stranky .kov-eyebrow,
.kov-paticka h2 {
    font-size: var(--t-popisek);
    letter-spacing: 0.14em;
}

/* ---- drobnosti ---- */

.km-alergeny,
.pz .km-alergeny,
.kovarna-napoveda,
.kovarna-field-error,
.kovarna-kosik-tbl small,
.kovarna-akce-pod,
.km-vyprodano-label,
.km-polevka-rezim,
.kov-kroky-cislo,
.km-pruh-podminka {
    font-size: var(--t-drobne);
}

/* ---- vedlejší text ---- */

.kovarna-muted,
.description,
.kovarna-prazdne,
.kovarna-denni-rozvoz-info,
.kovarna-info-box,
.kovarna-info-list li,
.kovarna-dulezite-info p,
.kovarna-denni-poznamka,
.km-jidlo-poznamka,
.km-checkbox,
.kosik-polozka,
.kosik-pol-nazev em,
.kosik-celkem,
.kovarna-login-info,
.kovarna-prihlasen-info,
.pizza-dostupnost,
.pz-vysledek,
.pizza-detail,
.pizza-poznamka-ing,
.pizza-ing-chci,
.pizza-ing-list label,
.pizza-nelze-objednat,
.kov-kroky li,
.kjl-rozcestnik a,
.kjl-alergeny-seznam,
.kovarna-radio-card span,
.kovarna-obaly-rozpis,
.kovarna-kosik-tbl em,
.kovarna-form-status,
.form-row label,
.kov-dop-text,
.kovarna-kosik-tbl,
.kovarna-cena-radek,
.potvrzeni-detail {
    font-size: var(--t-vedlejsi);
}

/* ---- základ: text, názvy jídel, všechna pole a tlačítka ----
   Pole a tlačítko v jedné řadě musí mít stejné písmo. Dřív měl počet
   kusů 16 px tučně, poznámka 14 px a tlačítko 14 px, číslo „1“ proto
   vypadalo jako z jiného písma. */

.km-jidlo-nazev,
.kjl-nazev,
.km-nazev-text,
.kovarna-radio-card strong,
.km-polevka-nazev,
.kov-tab,
.kovarna-checkbox-line,
.pz-nic,
.kovarna-poptavka-uvod {
    font-size: var(--t-zaklad);
}

.kov-btn,
.kovarna-objednavka .button,
.kovarna-denni-menu .button,
.kovarna-jidelni-listek .button,
.kovarna-pizza .button,
.kovarna-rezervace .button,
.kovarna-poptavka .button,
.kovarna-objednavka .button-large,
.kovarna-denni-menu .button-large,
.kovarna-objednavka .km-btn-pridat,
.kovarna-denni-menu .km-btn-pridat,
.kovarna-jidelni-listek .km-btn-pridat,
.kovarna-pizza .km-btn-pridat,
.kovarna-denni-menu .km-kosik-bar .button,
.kovarna-objednavka .km-kosik-bar .button {
    font-size: var(--t-zaklad);
}

.kovarna-objednavka .button-small,
.kovarna-denni-menu .button-small,
.kov-btn-mala {
    font-size: var(--t-vedlejsi);
}

.km-mnozstvi,
.pz-pocet input,
.kovarna-objednavka .km-mnozstvi,
.kovarna-denni-menu .km-mnozstvi,
.kovarna-pizza .km-mnozstvi,
.kovarna-jidelni-listek .km-mnozstvi,
.km-poznamka,
.kovarna-objednavka .km-poznamka,
.kovarna-denni-menu .km-poznamka,
.kovarna-pizza .km-poznamka,
.kovarna-jidelni-listek .km-poznamka,
.pz-ovladani .km-poznamka {
    font-family: var(--f-ui);
    font-size: var(--t-zaklad);
    font-weight: 400;
}

/* Zaškrtávátko „Přidat ingredience“ stojí ve stejné řadě jako pole. */
.pizza-ing-chci {
    font-size: var(--t-zaklad);
    padding-block: 10px;
}

/* ---- součty a nadpisy karet ---- */

.pizza-nazev {
    font-size: 1.125rem;
}

.kjl-kat-nadpis,
.kjl-alergeny-legenda h2,
.kosik-celkem strong,
.kovarna-cena-celkem {
    font-size: var(--t-soucet);
}

/* ---- řádek jídla: název, hmotnost, příloha, popis a cena za sebou ----
   Všechno teče v jednom řádku. Mezi kusy je mezera, cena se nikdy
   nezalomí uprostřed a doplňky nedědí písmo ani velikost nadpisu. */

.km-jidlo-nazev,
.kjl-radek,
.pizza-detail {
    margin: 0;
    line-height: 1.5;
}

.km-nazev-text,
.kjl-nazev {
    font-weight: 700;
}

.km-vaha,
.km-priloha,
.kjl-popis,
.pizza-nazev .km-vaha {
    display: inline;
    margin: 0;
    font-family: var(--f-ui);
    font-size: var(--t-vedlejsi);
    font-weight: 400;
    letter-spacing: 0;
    color: var(--muted);
}

.km-vaha::before {
    content: "\00A0\00B7\00A0";
}

.km-priloha::before {
    content: ", ";
}

.kjl-popis::before {
    content: "\00A0\00B7\00A0";
}

/* Cena běžným písmem, oddělená tečkou jako hmotnost. Zvýrazněný je jen
   název jídla (Pavel, 11. 9. 2026: tučná cena táhne oko víc než jídlo). */
.kjl-cena,
.km-cena-s-pol,
.km-polevka-cena,
.pizza-nazev .kjl-cena,
.pizza-detail .kjl-cena {
    display: inline;
    margin: 0;
    font-family: var(--f-ui);
    font-size: var(--t-zaklad);
    font-weight: 400;
    letter-spacing: 0;
    color: var(--ink);
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.kjl-cena::before,
.km-cena-s-pol::before,
.km-polevka-cena::before {
    content: "\00A0\00B7\00A0";
    color: var(--muted);
}

/* „s polévkou 205 Kč“: slova tišeji, částka jako cena. */
.km-cena-s-pol {
    font-size: var(--t-vedlejsi);
    font-weight: 400;
    color: var(--muted);
}

.km-cena-s-pol strong {
    display: inline;
    font-family: var(--f-ui);
    font-size: var(--t-zaklad);
    font-weight: 400;
    letter-spacing: 0;
    color: var(--ink);
}

.km-cena-bez,
.pz-box {
    display: inline;
    margin: 0 0 0 0.5em;
    font-family: var(--f-ui);
    font-size: var(--t-vedlejsi);
    font-weight: 400;
    color: var(--muted);
    white-space: nowrap;
}

/* „+ krabice 20 Kč“ má znaménko v textu, tečka před ním by byla navíc. */
.km-cena-bez::before {
    content: "\00B7\00A0";
    opacity: 0.6;
}

/* Alergeny pod řádkem, ne nalepené na něm. */
.km-jidlo-info .km-alergeny,
.kjl-info .km-alergeny,
.pz .km-alergeny {
    display: block;
    margin-top: 4px;
}

/* ---- doporučení v košíku, pruh na slabé dny, cenová kotva ----
   Třídy z pluginu 1.11.0, šablona je dosud neznala a vypadaly jako
   holý text. */

.kovarna-doporuceni,
.km-pruh-slaby-den,
.kjl-doporucene {
    margin: 12px 0;
    padding: 12px 14px;
    border-radius: var(--r);
    border: 1px solid rgba(200, 72, 26, 0.28);
    border-left: 3px solid var(--ember);
    background: var(--ember-soft);
}

.kjl-doporucene {
    margin: 0 0 16px;
    background: var(--card);
}

.kov-dop-text,
.km-pruh-text {
    margin: 0 0 8px;
}

.km-pruh-text {
    font-weight: 700;
}

.km-pruh-podminka {
    margin: 0;
    color: var(--muted);
}

.kov-dop-akce {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.kov-dop-ne {
    background: none;
    border: 0;
    padding: 4px 2px;
    font: inherit;
    font-size: var(--t-vedlejsi);
    color: var(--muted);
    text-decoration: underline;
    cursor: pointer;
}

/* ---- děkovací stránka: účet a ranní menu ---- */

.potvrzeni-ucet,
.potvrzeni-odber {
    text-align: left;
    max-width: 480px;
    margin: 22px auto 0;
    padding: 18px 20px;
    border-radius: var(--r-lg);
    border: 1px solid var(--line);
    background: var(--sunk);
}

.potvrzeni-ucet label,
.potvrzeni-narozeniny legend {
    display: block;
    margin-bottom: 6px;
    font-size: var(--t-vedlejsi);
    font-weight: 700;
    color: var(--ink-2);
}

.potvrzeni-narozeniny {
    margin: 14px 0;
    padding: 0;
    border: 0;
}

.kovarna-objednavka .kovarna-cislo-uzke {
    width: 7em;
    margin-right: 8px;
}

.kovarna-form-status.error {
    color: var(--red);
}

.kovarna-form-status.success {
    color: var(--green);
}

/* ---- rezervace a poptávka: stejná pole i tlačítka jako objednávka ---- */

.kovarna-poptavka .kovarna-form-grid {
    margin-bottom: 14px;
}

.kovarna-rezervace-form .kovarna-form-grid,
.kovarna-rezervace-form .kovarna-form-akce,
.kovarna-rezervace-form .kovarna-form-status,
.kovarna-rezervace-form .kovarna-info-box,
.kovarna-rezervace-form .kovarna-past {
    grid-column: 1 / -1;
}

.kovarna-poptavka .button,
.kovarna-poptavka .button-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 24px;
    border-radius: 11px;
    border: 1px solid transparent;
    background: linear-gradient(175deg, var(--ember-hot), var(--ember));
    color: #fff;
    font-family: var(--f-ui);
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 6px 18px -6px rgba(200, 72, 26, 0.6);
}

/* ------------------------------------------------------------------
   Jídelní lístek s rozvozem a prostory v rezervaci (šablona 1.3.0,
   plugin 1.16.0, R-22). Lístek se objednává od 14:00 do 21:00.
   ------------------------------------------------------------------ */

.kjl-pridat-listek .km-mnozstvi {
    width: 64px;
    flex: 0 0 64px;
}

.kjl-pridat-listek .km-poznamka {
    flex: 1 1 180px;
    min-width: 0;
}

.kjl-jen-u-nas {
    margin: 6px 0 0;
    font-size: var(--t-drobne);
    color: var(--muted);
}

.km-chyba-pridani {
    flex-basis: 100%;
    margin: 4px 0 0;
}

.kovarna-prostory {
    margin: 0 0 22px;
    padding: 14px 16px;
    border-radius: var(--r);
    background: var(--sunk);
}

.kovarna-prostory-uvod {
    margin: 0 0 6px;
    font-weight: 600;
}

.kovarna-prostory-seznam {
    margin: 0 0 8px;
    padding-left: 1.2em;
    line-height: 1.6;
}

.kovarna-rezervace select {
    width: 100%;
    max-width: 100%;
}

/* Chef's Table v rezervaci (šablona 1.3.1, R-24): majitel ho chce vytáhnout. */
.kovarna-chef-table {
    margin: 0 0 22px;
    padding: 18px 20px;
    border-radius: var(--r);
    border: 2px solid var(--ember-hot);
    background: var(--sunk);
}

.kovarna-chef-stitek {
    display: inline-block;
    margin: 0 0 8px;
    padding: 2px 10px;
    border-radius: 999px;
    background: var(--ember-hot);
    color: #fff;
    font-size: var(--t-popisek);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.kovarna-chef-nadpis {
    margin: 0 0 6px;
    font-size: var(--t-soucet);
    font-weight: 700;
}

/* Přihlášení pro všechny (18. 10. 2026, stránka ?kovarna_ucet=prihlasit). */
.kovarna-prihlaseni-formular { display: grid; gap: 14px; max-width: 420px; margin: 0 0 12px; }
.kovarna-prihlaseni-formular .form-row { display: grid; gap: 6px; }
.kovarna-objednavka .kovarna-prihlaseni-formular input[type=text],
.kovarna-objednavka .kovarna-prihlaseni-formular input[type=password] { width: 100%; max-width: none; min-height: 48px; font-size: 16px; box-sizing: border-box; }
.kovarna-prihlaseni-formular small { font-size: .85rem; }
.kovarna-objednavka label.kovarna-prihlaseni-pamatovat { display: flex; justify-content: flex-start; align-items: center; gap: 10px; text-align: left; width: auto; min-height: 44px; }
.kovarna-objednavka label.kovarna-prihlaseni-pamatovat input[type=checkbox] { flex: 0 0 auto; width: 22px; min-width: 0; height: 22px; margin: 0; }
.kovarna-prihlaseni-formular .button, .kovarna-prihlaseni-tlacitka .button { min-height: 48px; }
.kovarna-prihlaseni-tlacitka { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; }
.kovarna-prihlaseni-tlacitka .kovarna-logout, #btn-zapomenute-heslo { display: inline-block; padding: 10px 0; }

/* ------------------------------------------------------------------
   Rychlá objednávka, úprava košíku a Objednat znovu (šablona, 18. 10. 2026)
   Plugin kovarna-objednavky: ?krok=rychla, řádky košíku s počtem
   a poznámkou, paměť údajů v prohlížeči. Mobil první (iPhone SE 375 px):
   pole 16 px, cíle pro prst aspoň 44 px.
   ------------------------------------------------------------------ */

/* Objednat znovu nahoře v kroku 1. Dřív bez stylu: pluginový public.css se nenačítá. */
.kovarna-znovu {
    margin: 0 0 16px;
    padding: 14px 16px;
    border-radius: var(--r-lg);
    border: 2px solid var(--ember-hot);
    background: var(--ember-soft);
}

.kovarna-znovu-hd strong {
    display: block;
    font-size: var(--t-zaklad);
    margin-bottom: 2px;
}

.kovarna-znovu-hd span {
    display: block;
    color: var(--ink-2);
    font-size: var(--t-vedlejsi);
}

.kovarna-znovu-radek {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 12px;
    padding: 10px 0 0;
    margin-top: 10px;
    border-top: 1px solid var(--line-2);
}

.kovarna-znovu-radek > div {
    flex: 1 1 200px;
    min-width: 0;
}

.kovarna-znovu-radek small {
    display: block;
    color: var(--muted);
}

.kovarna-objednavka .kovarna-znovu-btn {
    min-height: 44px;
}

.kovarna-znovu-vysledek {
    margin-top: 10px;
    font-size: var(--t-vedlejsi);
}

.kovarna-znovu-bez {
    color: var(--ink-2);
}

/* Lišta košíku: počet vede dolů do košíku. */
.km-kosik-bar-odkaz {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 44px;
    color: inherit;
    text-decoration: none;
}

.km-kosik-bar-odkaz:hover,
.km-kosik-bar-odkaz:focus-visible {
    color: #fff;
    text-decoration: underline;
}

/* Řádek košíku s počtem, poznámkou a odebráním. */
#kosik-polozky .kosik-polozka {
    display: block;
    padding: 10px 0;
}

.kosik-pol-hlava {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.kosik-pol-prisady,
.kosik-pol-vzkaz {
    margin: 3px 0 0;
    color: var(--muted);
    font-size: var(--t-drobne);
    overflow-wrap: anywhere;
}

/*
 * Minus, plus a odebrat vždy na jednom řádku, i na displeji 320 px.
 * Poznámka pro kuchyni má vlastní řádek pod nimi.
 */
.kosik-pol-ovladani {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "pocet . odebrat" "pozn pozn pozn";
    align-items: center;
    gap: 0 8px;
    margin-top: 6px;
}

.kosik-pol-ovladani > .kosik-pocet { grid-area: pocet; }
.kosik-pol-ovladani > .kosik-pozn-btn { grid-area: pozn; justify-self: start; }
.kosik-pol-ovladani > .kosik-odebrat { grid-area: odebrat; }

.kosik-pocet {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--line-2);
    border-radius: 11px;
    background: var(--card);
}

.kosik-minus,
.kosik-plus {
    width: 44px;
    height: 44px;
    border: 0;
    background: transparent;
    color: var(--ink);
    font: inherit;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    border-radius: 10px;
}

.kosik-minus:disabled,
.kosik-plus:disabled {
    color: var(--line-2);
    cursor: default;
}

.kosik-pocet .kosik-pol-ks {
    min-width: 3.2em;
    text-align: center;
    color: var(--ink);
    font-weight: 700;
}

.kosik-pozn-btn {
    min-height: 44px;
    padding: 0 4px;
    border: 0;
    background: none;
    color: var(--ember);
    font: inherit;
    font-size: var(--t-vedlejsi);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

#kosik-polozky .kosik-odebrat {
    min-width: 44px;
    min-height: 44px;
    border: 0;
    background: none;
    font-size: 1rem;
    cursor: pointer;
}

.kosik-pozn-edit {
    margin-top: 6px;
}

.kosik-pozn-edit label {
    display: block;
    margin-bottom: 4px;
    font-size: var(--t-drobne);
    font-weight: 700;
    color: var(--ink-2);
}

.kosik-pozn-rada {
    display: flex;
    gap: 8px;
}

.kovarna-objednavka .kosik-pozn-rada input {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 44px;
    font-size: 16px;
}

.kovarna-objednavka .kosik-pozn-ulozit {
    flex: 0 0 auto;
    min-height: 44px;
    padding: 0 14px;
}

.kosik-chyba[hidden] {
    display: none;
}

/* Zapamatovat si údaje (krok 2) a Zapomenout moje údaje. */
.kovarna-pamet {
    display: grid;
    gap: 4px;
    margin-top: 16px;
}

.kovarna-pamet .kovarna-checkbox-line {
    min-height: 44px;
    align-items: center;
}

.kr-zapomenout {
    justify-self: start;
    min-height: 44px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--ember);
    font: inherit;
    font-size: var(--t-vedlejsi);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.kr-zapomenout[hidden] {
    display: none;
}

.potvrzeni-pamet {
    margin: 18px 0;
    padding: 16px 18px;
    border-radius: var(--r-lg);
    border: 1px solid var(--line);
    background: var(--card);
}

.potvrzeni-pamet .button {
    min-height: 48px;
}

/* Nabídka účtu na poděkování je pod nabídkou zapamatovat si údaje a menší. */
.potvrzeni-pamet {
    max-width: 480px;
    margin-inline: auto;
    text-align: left;
}

.potvrzeni-ucet-mensi {
    padding: 12px 16px;
    font-size: var(--t-vedlejsi);
}

.potvrzeni-ucet-mensi .kovarna-section-title {
    font-size: var(--t-zaklad);
}

.potvrzeni-ucet-mensi .kovarna-info-list {
    margin: 6px 0 10px;
}

/* --- Rychlá objednávka --- */
.kr .kovarna-title {
    margin-bottom: 12px;
}

.kr-karta {
    margin: 0 0 12px;
    padding: 4px 14px;
    border-radius: var(--r-lg);
    border: 1px solid var(--line);
    background: var(--card);
}

.kr-radek {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "stitek zmenit" "obsah obsah";
    align-items: center;
    gap: 0 10px;
    padding: 4px 0 8px;
    border-bottom: 1px solid var(--line);
}

.kr-radek > .kr-stitek { grid-area: stitek; }
.kr-radek > .kr-obsah { grid-area: obsah; }
.kr-radek > .kr-zmenit { grid-area: zmenit; }

.kr-karta > .kr-radek:last-child {
    border-bottom: 0;
}

.kr-stitek {
    padding: 12px 0 0;
    align-self: start;
    color: var(--muted);
    font-size: var(--t-drobne);
    font-weight: 700;
}

.kr-obsah {
    min-width: 0;
}

.kr-text {
    margin: 0;
    padding: 2px 0;
    font-size: var(--t-vedlejsi);
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.kr-text[hidden],
.kr-edit[hidden],
.kr-cas[hidden],
.kr-zmenit[hidden],
.kr-upraveno[hidden],
.kr-vop[hidden] {
    display: none;
}

.kr-zmenit {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    min-width: 44px;
    justify-content: flex-end;
    padding: 0;
    border: 0;
    background: none;
    color: var(--ember);
    font: inherit;
    font-size: var(--t-vedlejsi);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.kr ul.kr-polozky {
    margin: 0;
    padding: 6px 0;
    list-style: none;
}

.kr-polozky li {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 4px 0;
    font-size: var(--t-vedlejsi);
    line-height: 1.35;
}

.kr-pol-nazev {
    min-width: 0;
    overflow-wrap: anywhere;
}

.kr-pol-nazev em {
    font-style: normal;
    color: var(--muted);
}

.kr-pol-nazev small {
    display: block;
    white-space: pre-line;
    color: var(--muted);
    font-size: var(--t-drobne);
}

.kr-pol-cena {
    font-weight: 400;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

/* Rozvoz, nebo vyzvednutí: dvě volby vedle sebe, vždy vidět. */
.kr-prepinac {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    margin: 4px 0 2px;
    padding: 4px;
    border-radius: 12px;
    background: var(--sunk);
}

.kr-volba {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 4px 6px;
    border-radius: 9px;
    text-align: center;
    font-size: var(--t-vedlejsi);
    font-weight: 700;
    color: var(--ink-2);
    cursor: pointer;
}

.kr-volba input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
}

.kr-volba:has(input:checked) {
    background: var(--card);
    color: var(--ember);
    box-shadow: 0 2px 8px -3px rgba(26, 20, 17, 0.25);
}

.kr-volba:has(input:disabled) {
    color: var(--line-2);
    cursor: not-allowed;
}

.kr-volba:has(input:focus-visible) {
    outline: 2px solid var(--ember);
    outline-offset: 1px;
}

.kr-pozn {
    margin: 4px 0 0;
    font-size: var(--t-drobne);
}

.kr-edit {
    display: grid;
    gap: 10px;
    padding: 4px 0 10px;
}

.kr-edit-kontakt {
    padding: 10px 0 12px;
    border-bottom: 1px solid var(--line);
}

.kr .kr-edit input,
.kr .kr-edit select,
.kr .kr-edit textarea,
.kr .kr-cas select {
    font-size: 16px;
    min-height: 44px;
}

/* Zaškrtávátko výšku pole nedostane, jinak sedí níž než text vedle (22. 10. 2026). */
.kr .kr-edit input[type="checkbox"] {
    min-height: 0;
}

.kr-cas {
    padding: 0 0 8px;
}

.kr-ceny {
    padding: 10px 14px;
}

.kr-ceny:empty {
    display: none;
}

.kr-ceny .kovarna-cena-radek small {
    color: var(--muted);
}

/* Celkem, souhlas a tlačítko: na telefonu přilepené dole, ať jsou vždy po ruce. */
.kr-odeslat {
    display: grid;
    gap: 8px;
    margin: 0 0 14px;
    padding: 12px 14px;
    border-radius: var(--r-lg);
    border: 1px solid var(--line);
    background: var(--card);
}

.kr-celkem {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin: 0;
    font-size: var(--t-vedlejsi);
    color: var(--muted);
}

.kr-celkem strong {
    font-family: var(--f-disp);
    font-size: var(--t-soucet);
    font-weight: 900;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}

.kr-celkem strong.kovarna-zvyrazneno {
    color: var(--ember);
}

.kr-vop {
    margin: 0;
    font-size: var(--t-drobne);
    color: var(--ink-2);
}

label.kr-vop {
    min-height: 44px;
    align-items: center;
    font-size: var(--t-vedlejsi);
}

.kovarna-objednavka .kr-tlacitko {
    width: 100%;
    min-height: 52px;
}

.kr-odeslat .kovarna-form-souhrn-chyb {
    margin: 0;
}

.kr-dalsi {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 8px;
    font-size: var(--t-vedlejsi);
}

.kr-dalsi a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
}

@media (max-width: 959px) {
    .kr-odeslat {
        position: sticky;
        bottom: 0;
        z-index: 30;
        padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
        border-radius: var(--r) var(--r) 0 0;
        box-shadow: 0 -8px 20px -12px rgba(26, 20, 17, 0.35);
    }
}

@media (min-width: 600px) {
    .kr-radek {
        grid-template-columns: 6.5em minmax(0, 1fr) auto;
        grid-template-areas: "stitek obsah zmenit";
        align-items: start;
        padding: 9px 0;
    }

    .kr-text {
        padding: 10px 0;
    }

    .kr-odeslat {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }

    .kr-odeslat > .kr-celkem,
    .kr-odeslat > .kr-vop,
    .kr-odeslat > .kovarna-form-souhrn-chyb {
        grid-column: 1 / -1;
    }

    .kovarna-objednavka .kr-tlacitko {
        grid-column: 1 / -1;
    }
}

@media (min-width: 960px) {
    .kr {
        max-width: 720px;
    }
}

/* Dlouhé slovo bez mezer (popis napsaný bez mezer za čárkami) nesmí roztáhnout stránku
   do strany, zalomí se kdekoli (Pavel 19. 10. 2026). */
.km-jidlo-nazev, .km-nazev-text, .km-priloha, .km-jidlo-poznamka, .km-jidlo-info, .km-polevka-nazev, .km-polevka-pozn,
.kjl-nazev, .kjl-popis, .kjl-info,
.pizza-nazev, .pizza-popis, .pizza-ing, .pizza-poznamka-ing { overflow-wrap: anywhere; min-width: 0; }

/* Doplněk pod nadpisem oddílu denního menu: jestli je polévka v ceně (Pavel 19. 10. 2026). */
.kovarna-denni-menu > .kovarna-section-title:has(+ .km-oddil-pozn) { margin-bottom: 2px; }
.km-oddil-pozn { margin: 0 0 8px; padding-inline: 12px; font-size: 0.86rem; color: var(--muted, #5c5c58); }

/* Odpočet tří minut po konci objednávek (Pavel 23. 10. 2026): okénko nahoře
   přes stránku, neblokuje ji. */
.kov-odpocet {
    position: fixed;
    z-index: 100000;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 24px);
    max-width: 460px;
    padding: 14px 16px 16px;
    border-radius: 14px;
    background: #fff;
    border: 2px solid var(--ember, #A9531A);
    box-shadow: 0 12px 32px rgba(40, 20, 8, 0.22);
    color: var(--ink, #24170D);
}

.kov-odpocet-nadpis {
    margin: 0 0 6px;
    font-size: var(--t-zaklad, 1rem);
    font-weight: 700;
    line-height: 1.3;
}

.kov-odpocet-cas {
    margin-right: 6px;
    font-family: var(--f-disp, Georgia, serif);
    font-size: 1.7rem;
    font-weight: 900;
    color: var(--ember-lo, #83400F);
    font-variant-numeric: tabular-nums;
    vertical-align: -0.12em;
}

.kov-odpocet-text {
    margin: 0;
    font-size: var(--t-vedlejsi, 0.875rem);
    line-height: 1.45;
    color: var(--muted, #6A5440);
}

.kov-odpocet-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin-top: 12px;
    border-radius: 11px;
    background: var(--ember, #A9531A);
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}

.kov-odpocet-konec {
    border-color: var(--line, #E6D3B8);
    padding-right: 52px;
}

.kov-odpocet-zavrit {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 44px;
    height: 44px;
    border: 0;
    background: none;
    font-size: 1.6rem;
    line-height: 1;
    color: var(--muted, #6A5440);
    cursor: pointer;
}

/* Klidný řádek posledních třicet minut před koncem objednávek (Pavel 23. 10. 2026).
   Teplá barva místo zelené, žádné odpočítávání, jen čas. */
.kov-brzy-konec {
    margin: 0 0 12px;
    padding: 10px 14px;
    border-radius: 10px;
    background: var(--ember-soft);
    border: 1px solid #F0CDBB;
    color: var(--ember-lo, #83400F);
    font-size: var(--t-vedlejsi);
    font-weight: 600;
    line-height: 1.45;
}
