/* Modul `obchod`. Tokeny `--obchod-*` jsou v `obchod-tokeny.css`, dlaždice kategorií v `obchod-dlazdice.css`. */
.obchod-souhlasy {
    display: grid;
    gap: var(--obchod-3);
    margin: var(--obchod-4) 0;
    padding: 0;
    border: 0;
    min-width: 0;
}
.obchod-souhlas { align-items: flex-start; }
.obchod-informace {
    margin: 0;
    font-size: .875rem;
    line-height: 1.5;
    color: var(--obchod-text-2);
}
.obchod-informace a, .obchod-souhlas a { text-decoration: underline; }
.obchod-povinne { color: var(--obchod-chyba); }
.obchod-ucet-v-pokladne .ec-check { margin-bottom: var(--obchod-2); }
.obchod-heslo-blok { margin-top: var(--obchod-3); }
.obchod-heslo-blok[hidden] { display: none; }
/* Přihlášení, registrace, obnova hesla — úzký sloupec (480 px jako účet v eshop-videa). */
.obchod-uzky { display: grid; gap: var(--obchod-4); max-width: 480px; }
.obchod-uzky > * { min-width: 0; margin: 0; }
.obchod-uzky--siroky { max-width: 46rem; }
/* `align-content: start`: karta natažená na výšku sousední by jinak rozdělila zbytek mezi řádky a text by stál jinde než vedle. */
.obchod-karta { display: grid; gap: var(--obchod-3); align-content: start; }
.obchod-karta > * { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.obchod-poznamka { color: var(--obchod-text-2); }
.obchod-bez-okraje { margin: 0; }
.obchod-skryte {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}
/* Zákaznický účet — navigace vlevo, obsah vpravo; na telefonu pod sebou. */
.obchod-ucet {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: var(--obchod-6);
    align-items: start;
}
.obchod-ucet > * { min-width: 0; }
.obchod-ucet__bok { display: grid; gap: var(--obchod-3); align-content: start; }
.obchod-ucet__kdo {
    display: grid;
    gap: var(--obchod-1);
    margin: 0;
    padding: 0 var(--obchod-3);
    min-width: 0;
}
.obchod-ucet__kdo span { font-size: .875rem; color: var(--obchod-text-2); overflow-wrap: anywhere; }
.obchod-ucet__nav { display: grid; gap: var(--obchod-1); }
.obchod-ucet__nav a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--obchod-2);
    min-height: var(--obchod-ovladac);
    padding: 0 var(--obchod-3);
    border-radius: var(--obchod-radius);
    color: inherit;
    text-decoration: none;
    transition: background-color var(--obchod-prechod);
}
.obchod-ucet__nav a:hover, .obchod-ucet__nav a:focus-visible, .obchod-ucet__nav a[aria-current="page"] { background: var(--obchod-plocha); }
.obchod-ucet__nav a[aria-current="page"] { font-weight: 600; }
.obchod-ucet__nav form { margin: var(--obchod-2) 0 0; }
.obchod-ucet__obsah { display: grid; gap: var(--obchod-5); }
.obchod-ucet__obsah > * { min-width: 0; margin: 0; }
.obchod-odznak {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    padding: 0 var(--obchod-2);
    border-radius: 999px;
    background: var(--obchod-akcent);
    color: var(--obchod-na-akcentu);
    font-size: .75rem;
    line-height: 1;
}
/* Blok s nadpisem a odkazem vpravo (Poslední objednávky → Všechny objednávky). */
.obchod-blok { display: grid; gap: var(--obchod-3); }
.obchod-blok > * { margin: 0; }
.obchod-blok__hlava {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--obchod-2) var(--obchod-4);
}
.obchod-blok__hlava > * { margin: 0; }
/* Seznam vláken, adres a souhlasů (vzor: `.ec-account-list` v eshop-videa). */
.obchod-seznam { display: grid; margin: 0; padding: 0; list-style: none; }
.obchod-seznam > li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--obchod-3);
    padding: var(--obchod-3) 0;
    border-bottom: 1px solid var(--obchod-cara);
}
.obchod-seznam > li:last-child { border-bottom: 0; }
.obchod-seznam > li > a, .obchod-seznam > li > span { min-width: 0; color: inherit; text-decoration: none; }
.obchod-seznam > li > a:hover .obchod-seznam__nazev, .obchod-seznam > li > a:focus-visible .obchod-seznam__nazev { text-decoration: underline; }
.obchod-seznam__nazev { display: block; font-weight: 600; overflow-wrap: anywhere; }
.obchod-seznam__meta { display: block; font-size: .8125rem; color: var(--obchod-text-2); }
.obchod-seznam form { margin: 0; flex: none; }
.obchod-doklady { display: grid; gap: var(--obchod-2); margin: 0; padding: 0; list-style: none; }
.obchod-doklady a { display: inline-flex; align-items: center; min-height: var(--obchod-ovladac); text-decoration: underline; }
.obchod-rozbalit > summary {
    display: inline-flex;
    align-items: center;
    min-height: var(--obchod-ovladac);
    cursor: pointer;
    font-weight: 600;
}
.obchod-rozbalit[open] > summary { margin-bottom: var(--obchod-3); }
.obchod-tabulka { width: 100%; border-collapse: collapse; }
.obchod-tabulka th, .obchod-tabulka td {
    padding: var(--obchod-3) var(--obchod-2);
    border-bottom: 1px solid var(--obchod-cara);
    text-align: left;
    vertical-align: top;
}
.obchod-tabulka .vpravo { text-align: right; white-space: nowrap; }
.obchod-tabulka__soucet td { font-weight: 600; border-bottom: 0; }
.obchod-stav {
    display: inline-block;
    padding: var(--obchod-1) var(--obchod-2);
    border-radius: 999px;
    background: var(--obchod-plocha);
    font-size: .8125rem;
    line-height: 1.2;
}
/* Zprávy: obchod vlevo, zákazník vpravo. */
.obchod-zpravy { display: grid; gap: var(--obchod-3); margin: 0 0 var(--obchod-5); padding: 0; list-style: none; }
.obchod-zprava {
    max-width: 46rem;
    padding: var(--obchod-3) var(--obchod-4);
    border-radius: var(--obchod-radius);
    background: var(--obchod-plocha);
}
.obchod-zprava--zakaznik {
    justify-self: end;
    background: var(--obchod-povrch);
    border: 1px solid var(--obchod-cara);
}
.obchod-zprava--interni { border: 1px dashed var(--obchod-cara-2); background: var(--obchod-papir); }
.obchod-zprava__hlava {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--obchod-3);
    margin-bottom: var(--obchod-2);
    font-size: .8125rem;
    color: var(--obchod-text-2);
}
.obchod-zprava__text { white-space: pre-line; overflow-wrap: anywhere; }
/* Pole drží odstup vlastním okrajem (`.ec-field`, jako pokladna jádra) — mřížka by ho zdvojila. */
.obchod-formular { max-width: 34rem; }
.obchod-karty { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--obchod-4); }
.obchod-karty > * { min-width: 0; }
/* Tlačítko pod hláškou (Poslat e-mail znovu). */
.ec-note .obchod-pod-formularem { margin: var(--obchod-3) 0 0; }
@media (max-width: 768px) {
    .obchod-ucet { grid-template-columns: minmax(0, 1fr); gap: var(--obchod-4); }
    /* Jméno nahoře, pod ním pruh odkazů, který jde posunout prstem (vzor: `.ec-account-nav` v eshop-videa). */
    .obchod-ucet__kdo { padding: 0; }
    .obchod-ucet__nav { display: flex; gap: var(--obchod-2); overflow-x: auto; scrollbar-width: none; }
    .obchod-ucet__nav::-webkit-scrollbar { display: none; }
    .obchod-ucet__nav a { flex: none; border: 1px solid var(--obchod-cara); background: var(--obchod-povrch); }
    .obchod-ucet__nav form { flex: none; margin: 0; }
    .obchod-ucet__nav form .ec-btn { width: auto; white-space: nowrap; }
    /* Tabulka jako karty: první buňka přes celou šířku, ostatní za sebou s popiskem. */
    .obchod-tabulka thead { display: none; }
    .obchod-tabulka tr {
        display: flex;
        flex-wrap: wrap;
        gap: var(--obchod-1) var(--obchod-4);
        padding: var(--obchod-3) 0;
        border-bottom: 1px solid var(--obchod-cara);
    }
    .obchod-tabulka td { padding: 0; border: 0; }
    .obchod-tabulka td:first-child { flex: 1 0 100%; }
    .obchod-tabulka td:empty { display: none; }
    .obchod-tabulka td[data-label]::before { content: attr(data-label) ": "; color: var(--obchod-text-2); }
    .obchod-tabulka .vpravo { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
    .obchod-ucet__nav a { transition: none; }
}
/* ══ Stavba 4. 11. 2026 (souběžní agenti): každý balík píše své styly POD svou značku. ══ */
/* [B01] katalog */
/* Cena jednotky (`_cena.php`): hlavní cena, sleva, měrná cena a zákonné řádky pod ní. */
.obchod-cena { display: inline-flex; flex-direction: column; align-items: flex-end; gap: 2px; min-width: 0; text-align: right; }
.obchod-cena__hlavni { white-space: nowrap; }
.obchod-cena__puvodni, .obchod-cena__merna, .obchod-cena__nejnizsi, .obchod-cena__konec {
    font-size: .8125rem;
    line-height: 1.4;
    color: var(--obchod-text-2);
}
.obchod-cena__puvodni s { text-decoration-thickness: 1px; }
.obchod-cena__sleva {
    padding: 0 var(--obchod-2);
    border-radius: var(--obchod-radius);
    background: var(--obchod-chyba);
    color: var(--obchod-na-akcentu);
    font-size: .8125rem;
    font-weight: 600;
    line-height: 1.5;
    white-space: nowrap;
}
.obchod-cena--akce .obchod-cena__hlavni { color: var(--obchod-chyba); }
/* Řádek nabídky na detailu: název vlevo, cena vpravo, dostupnost pod nimi. */
.ec-layer--volba .ec-layer__head { align-items: flex-start; }
/* Název balení drží svou šířku (dlouhá varianta se zalomí až za 55 %), zákonné věty se lámou v ceně. */
.ec-layer--volba .ec-layer__head > span:first-child { flex: 0 0 auto; max-width: 55%; }
.ec-layer--volba .obchod-cena { flex: 1 1 0; }
.obchod-dostupnost { display: block; margin-top: var(--obchod-1); font-size: .8125rem; color: var(--obchod-overeno, var(--obchod-text-2)); }
.obchod-dostupnost--vyprodano, .obchod-dostupnost--nedostupne { color: var(--obchod-chyba); }
.obchod-dostupnost--na_objednavku { color: var(--obchod-text-2); }
.obchod-vyprodano { cursor: not-allowed; }
.obchod-vyprodano .ec-layer__name, .obchod-vyprodano .obchod-cena__hlavni { color: var(--obchod-text-2); }
.obchod-lhuta { margin: 0; }
/* Upozornění z příznaků produktu a právní údaje na detailu (`_pravni.php`). */
.obchod-upozorneni {
    display: grid;
    gap: var(--obchod-1);
    margin: var(--obchod-4) 0 0;
    padding: var(--obchod-3) var(--obchod-4);
    border-radius: var(--obchod-radius);
    background: var(--obchod-plocha);
    list-style: none;
    font-size: .875rem;
    line-height: 1.5;
}
.obchod-udaje { margin-top: var(--obchod-5); }
.obchod-udaje__seznam {
    display: grid;
    grid-template-columns: minmax(0, 14rem) minmax(0, 1fr);
    gap: var(--obchod-2) var(--obchod-4);
    margin: 0;
    font-size: .9375rem;
    line-height: 1.5;
}
.obchod-udaje__seznam dt { color: var(--obchod-text-2); }
.obchod-udaje__seznam dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 480px) {
    .obchod-udaje__seznam { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .obchod-udaje__seznam dd { margin-bottom: var(--obchod-3); }
}
/* [B02] varianty */
.obchod-vyber { display: grid; gap: var(--obchod-3); margin-bottom: var(--obchod-3); min-width: 0; }
.obchod-vyber[hidden] { display: none; }
.obchod-vyber__skupina { margin: 0; padding: 0; border: 0; min-width: 0; }
.obchod-vyber__volby { display: flex; flex-wrap: wrap; gap: var(--obchod-2); }
.obchod-vyber__volba {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: var(--obchod-2);
    min-height: var(--obchod-ovladac);
    padding: 0 var(--obchod-3);
    border: 1px solid var(--obchod-cara);
    border-radius: var(--obchod-radius);
    background: var(--obchod-povrch);
    cursor: pointer;
}
.obchod-vyber__volba input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.obchod-vyber__volba:has(input:checked) { border-color: var(--obchod-akcent); background: var(--obchod-plocha); }
.obchod-vyber__volba:has(input:disabled) { opacity: .45; cursor: not-allowed; text-decoration: line-through; }
.obchod-vyber__volba:has(input:focus-visible) { outline: 2px solid var(--obchod-akcent); outline-offset: 2px; }
.obchod-vyber__volba svg { flex: none; border-radius: 4px; box-shadow: 0 0 0 1px var(--obchod-cara); }
/* bílý vzorek na bílém tlačítku */
.obchod-vyber-skryty { display: none; }
.obchod-parametry { display: grid; margin: 0 0 var(--obchod-4); min-width: 0; }
.obchod-parametry__radek {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    gap: var(--obchod-3);
    padding: var(--obchod-2) 0;
    border-bottom: 1px solid var(--obchod-cara);
}
.obchod-parametry dt { color: var(--obchod-text-2); font-weight: 400; }
.obchod-parametry dd { margin: 0; }
.obchod-porovnat { display: flex; flex-wrap: wrap; align-items: center; gap: var(--obchod-3); margin-top: var(--obchod-3); }
.obchod-porovnat form { margin: 0; }
.obchod-porovnat__tlacitko { display: inline-flex; align-items: center; gap: var(--obchod-2); }
.obchod-porovnat__tlacitko.is-on { font-weight: 600; }
.obchod-porovnat__odkaz { font-size: .875rem; text-decoration: underline; }
.obchod-porovnani__posuvnik { overflow-x: auto; max-width: 100%; }
.obchod-porovnani { width: 100%; min-width: 560px; border-collapse: collapse; table-layout: fixed; }
/* [VZHLED] Cena z `_cena.php` je na detailu v řádku zarovnaná doprava, ve sloupci srovnání patří k levému okraji jako ostatní údaje. */
.obchod-porovnani .obchod-cena { align-items: flex-start; text-align: left; }
.obchod-porovnani th, .obchod-porovnani td {
    padding: var(--obchod-3);
    border-bottom: 1px solid var(--obchod-cara);
    text-align: left;
    vertical-align: top;
}
.obchod-porovnani thead th { font-weight: 600; }
.obchod-porovnani tbody th { color: var(--obchod-text-2); font-weight: 400; width: 160px; }
.obchod-porovnani__produkt { display: grid; gap: var(--obchod-2); text-decoration: none; color: inherit; }
.obchod-porovnani__foto { width: 100%; max-width: 180px; height: 160px; object-fit: contain; object-position: left center; }
@media (max-width: 480px) {
    .obchod-porovnani tbody th { width: 96px; }
    .obchod-porovnani th, .obchod-porovnani td { padding: var(--obchod-2); overflow-wrap: anywhere; }
}
.obchod-porovnani form { margin: var(--obchod-2) 0 0; }
/* [B03] kosik */
.obchod-pokladna-kod { margin-top: var(--obchod-3); font-size: .875rem; }
.obchod-pokladna-kod > summary { cursor: pointer; }
.obchod-pokladna-kod__obsah { display: grid; gap: var(--obchod-2); margin-top: var(--obchod-2); }
/* [B04] doprava */
.obchod-misto { margin-top: var(--obchod-2); }
.obchod-misto[hidden], .obchod-firma[hidden] { display: none; }
.obchod-firma { display: flex; flex-wrap: wrap; align-items: center; gap: var(--obchod-2) var(--obchod-3); margin-top: var(--obchod-2); }
.obchod-firma__stav { flex: 1 1 16rem; min-width: 0; margin: 0; overflow-wrap: anywhere; }
.obchod-firma__stav:empty { display: none; }
/* [B05] sklad */
/* [B06] objednavky */
/* [B07] doklady */
/* [B08] hromadne */
/* [B09] statistiky */
/* [B10] recenze */
:where(:root) { --obchod-hvezda: var(--c-hvezda, #b9770e); --obchod-overeno: var(--c-ok, #2f6b45); }
.obchod-hvezdy { color: var(--obchod-hvezda); letter-spacing: 1px; white-space: nowrap; }
.obchod-hvezdy__prazdne { color: var(--obchod-cara-2); }
.obchod-recenze__hlava { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--obchod-2) var(--obchod-4); }
.obchod-recenze__souhrn { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--obchod-2); margin: 0; }
.obchod-recenze__overeni { max-width: 46rem; margin: 0 0 var(--obchod-4); font-size: .875rem; line-height: 1.5; }
.obchod-recenze__seznam { display: grid; gap: var(--obchod-4); margin: 0 0 var(--obchod-4); padding: 0; list-style: none; }
.obchod-recenze__polozka { min-width: 0; padding-bottom: var(--obchod-4); border-bottom: 1px solid var(--obchod-cara); }
.obchod-recenze__kdo { display: flex; flex-wrap: wrap; align-items: center; gap: var(--obchod-1) var(--obchod-2); margin: 0 0 var(--obchod-1); }
.obchod-recenze__overeno { font-size: .8125rem; font-weight: 600; color: var(--obchod-overeno); }
.obchod-recenze__text { margin: 0; overflow-wrap: anywhere; }
.obchod-recenze__odpoved { margin-top: var(--obchod-2); padding: var(--obchod-2) var(--obchod-3); border-radius: var(--obchod-radius); background: var(--obchod-plocha); }
.obchod-recenze__odpoved p { margin: var(--obchod-1) 0 0; overflow-wrap: anywhere; }
.obchod-recenze__napsat > summary { display: inline-flex; list-style: none; cursor: pointer; }
.obchod-recenze__napsat > summary::-webkit-details-marker { display: none; }
.obchod-recenze__formular, .obchod-recenze__zadost { display: grid; gap: var(--obchod-3); margin-top: var(--obchod-3); }
.obchod-recenze__formular > *, .obchod-recenze__zadost > * { min-width: 0; margin: 0; }
.obchod-volba-hvezd { min-width: 0; margin: 0; padding: 0; border: 0; }
.obchod-volba-hvezd__rada { display: flex; flex-wrap: wrap; gap: var(--obchod-1); }
.obchod-volba-hvezd__hvezda { position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: var(--obchod-ovladac); min-height: var(--obchod-ovladac); font-size: 1.5rem; color: var(--obchod-cara-2); cursor: pointer; }
.obchod-volba-hvezd__hvezda input { position: absolute; inset: 0; margin: 0; opacity: 0; cursor: pointer; }
.obchod-volba-hvezd__hvezda input:checked ~ span { color: var(--obchod-hvezda); }
.obchod-volba-hvezd__hvezda:has(~ .obchod-volba-hvezd__hvezda input:checked) { color: var(--obchod-hvezda); }
.obchod-volba-hvezd__hvezda:has(input:focus-visible) { outline: 2px solid var(--obchod-akcent); outline-offset: 2px; border-radius: var(--obchod-radius); }
.obchod-hlidani { margin-top: var(--obchod-4); padding: var(--obchod-3); border: 1px solid var(--obchod-cara); border-radius: var(--obchod-radius); }
.obchod-hlidani > summary { font-weight: 600; cursor: pointer; }
.obchod-hlidani > summary:focus-visible { outline: 2px solid var(--obchod-akcent); outline-offset: 2px; }
.obchod-hlidani__formular { display: grid; gap: var(--obchod-3); margin-top: var(--obchod-3); }
.obchod-hlidani__formular > * { min-width: 0; margin: 0; }
.obchod-hlidani__druh { display: grid; gap: var(--obchod-1); min-width: 0; margin: 0; padding: 0; border: 0; }
.obchod-naposledy[hidden] { display: none; }
/* [B11] zakaznici */
/* [VZHLED] */
/* Hláška nad kartami pokladny („Jste přihlášeni…“) na ně nesmí nalehnout. */
.ec-checkout-ucet { margin-bottom: var(--obchod-4); }
.obchod-zopakovat { display: flex; flex-wrap: wrap; align-items: center; gap: var(--obchod-2) var(--obchod-3); }

/* [D3] google — tlačítko kreslí Google; místo drží výšku, aby formuláře pod ním neposkočily. */
.obchod-google__tlacitko { display: flex; justify-content: center; min-height: 44px; }
/* [D1] Přílohy zprávy */
.obchod-prilohy { display: grid; gap: var(--obchod-1); margin: var(--obchod-2) 0 0; padding: 0; list-style: none; }
.obchod-prilohy li { display: flex; flex-wrap: wrap; align-items: center; gap: var(--obchod-1) var(--obchod-2); min-width: 0; }
.obchod-prilohy a { display: inline-flex; align-items: center; gap: var(--obchod-1); min-width: 0; overflow-wrap: anywhere; }
.obchod-prilohy svg { flex: none; }
.obchod-prilohy__velikost { font-size: .85em; opacity: .75; }
/* [D2] slevy */
.obchod-mnozstevni { margin-top: var(--obchod-3); }
.obchod-mnozstevni__tabulka + .obchod-mnozstevni__tabulka { margin-top: var(--obchod-3); }
.obchod-mnozstevni__popis { text-align: left; font-weight: 600; padding-bottom: var(--obchod-1); }
/* Dva krátké údaje: i na telefonu vedle sebe, ne jako karta `obchod-tabulka`. */
.obchod-mnozstevni__tabulka tr { flex-wrap: nowrap; justify-content: space-between; }
.obchod-mnozstevni__tabulka td:first-child { flex: 1 1 auto; }
.obchod-mnozstevni__tabulka .vpravo { text-align: right; }
