/* VEŘEJNÁ KARTA NABÍDKY (partials/listing_card – .vcard.lcard) – JEDINÝ styl karty pro homepage, hledání, kategorie, profil prodejce,
   megamenu a další veřejné seznamy; načítají ho layout/base i layout/home. Rozměr a vzhled = karta profilu prodejce: obraz 9 : 16,
   radius 8 px, cena 15,5 px vlevo dole, délka videa vpravo dole, zhlédnutí + srdce vpravo nahoře; pod obrazem jen název (2 řádky) + F / S.
   Šířka karty = --lcard-w (všude stejná); mřížka .lgrid / řady homepage / megamenu rozhodují jen o počtu karet vedle sebe. */
:root{--lcard-w:180px}
@media (max-width:599px){:root{--lcard-w:calc((100vw - 48px) / 2)}}   /* telefon: 2 karty vedle sebe na šířku – stejná šířka ve všech výpisech i carouselu */
.lgrid{display:grid;grid-template-columns:repeat(auto-fill,var(--lcard-w));gap:18px 15px;margin:8px 0 24px}
.vcard.lcard{min-width:0;font-family:"Segoe UI","VB Fallback",sans-serif;-webkit-font-smoothing:antialiased}
.vcard.lcard .vcard-media{position:relative;display:block;aspect-ratio:9/16;border-radius:8px;overflow:hidden;background:#1d1d1c;text-decoration:none}
.vcard.lcard .vcard-pv{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .15s;pointer-events:none;background:transparent}   /* náhled videa (app.js KZV.cardPreview): přes fotku stejně jako ona, viditelný až když hraje */
.vcard.lcard .vcard-pv.on{opacity:1}
.vcard.lcard .vcard-media .vcard-foot{z-index:2}   /* cena a štítky nad náhledem videa */
.vcard.lcard .vcard-media img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}
.vcard.lcard .v-views,.vcard.lcard .v-favs{position:absolute;z-index:2;right:6px;display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:7px;background:rgba(10,10,10,.72);color:#F5F5F5;font-size:12.5px;font-weight:600;line-height:1.4;text-shadow:none}
.vcard.lcard .v-views{top:6px}
.vcard.lcard .v-favs{top:30px;cursor:pointer;pointer-events:auto}
.vcard.lcard .v-favs [data-fav-n]:empty{display:none}
.vcard.lcard .v-favs.on{color:#FF912B}
.vcard.lcard .v-favs.on svg{fill:currentColor}
.vcard.lcard .v-top{position:absolute;z-index:2;top:5px;left:7px;font-size:18px;line-height:1.2;pointer-events:none}
.vcard.lcard .v-state{position:absolute;z-index:2;top:6px;left:6px;padding:1px 7px;border-radius:7px;background:#fafaf9;color:#111;font-size:12px;font-weight:700;line-height:1.4;pointer-events:none}
.vcard.lcard .vcard-foot{position:absolute;left:7px;right:7px;bottom:6px;display:flex;flex-wrap:wrap-reverse;align-items:flex-end;gap:4px;pointer-events:none}
.vcard.lcard .vcard-price{position:static;background:rgba(10,10,10,.82);font-size:18.5px;padding:2px 8px;border-radius:7px;white-space:nowrap;line-height:1.45;box-shadow:none}
.vcard.lcard .vcard-price.vcard-kind,.vcard-price.vcard-kind{font-weight:600;font-size:13px;letter-spacing:.01em}
.vcard.lcard .v-dur{margin-left:auto;margin-bottom:3px;padding:1px 7px;border-radius:7px;background:rgba(10,10,10,.72);color:#F5F5F5;font-size:12.5px;font-weight:600;line-height:1.4;font-variant-numeric:tabular-nums;white-space:nowrap}
.vcard.lcard .vcard-info{display:flex;align-items:flex-start;gap:6px;padding:6px 2px 0;color:#F0F0F0;text-decoration:none}
.vcard.lcard .vcard-title{flex:0 1 auto;min-width:0;min-height:2.64em;font-size:14.5px;line-height:1.32;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.vcard.lcard .vcard-info .ptype{margin-top:2px}   /* odznak F / S – vzhled centrálně (header.css .ptype) */
.vcard.lcard .vcard-media:focus-visible,.vcard.lcard .vcard-info:focus-visible{outline:2px solid #FF912B;outline-offset:2px}
/* volitelný kontextový štítek ($badge, např. oko + „3 právě sledují“): vlastní řádek nad cenou a délkou (vcard-foot wrap-reverse) – nikdy
   nepřekryje cenu, délku, zhlédnutí, srdce ani stav; jen kde ho volající předá */
.vcard.lcard .v-ctx{order:9;flex:0 1 auto;display:inline-flex;align-items:center;gap:4px;max-width:100%;margin-right:auto;padding:1px 7px;border-radius:7px;background:rgba(10,10,10,.78);color:#F5F5F5;font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vcard.lcard .vcard-foot:has(.v-ctx)::before{content:"";order:5;flex:0 0 100%;height:0}
/* ODKAZ NA NÁZEV NABÍDKY / PRODUKTU – JEDINÝ styl všude (veřejné karty: homepage, Nově přidané, Teď letí, Tipy, Pro tebe, hledání, Historie,
   Oblíbené, profily; účet: Moje nabídky, Videa, Komentáře, Objednávky, košík, konverzace; tabulky a seznamy): šedá nadpisů --fg-head, 600,
   nikdy podtržení; oranžová --btn až při najetí / fokusu. Velikost písma podle kontextu. Lokální styly názvů barvu ani tloušťku nenastavují. */
.listing-link,a.listing-link{color:var(--fg-head,#e7e5e4);font-weight:600;text-decoration:none}
.listing-link:hover,.listing-link:focus-visible,a:hover .listing-link,a:focus-visible .listing-link{color:var(--btn,#FF9A2E);text-decoration:none}
/* CENA – jeden styl všude (detail, karty, hledání, historie, profily, Moje nabídky, tabulka produktů, košík, objednávky, zprávy): šedá nadpisů
   --fg-head, 600; velikost dává kontext. Na kartě přes fotografii zůstává tmavý badge (jen barva textu a tloušťka odsud). Původní cena = .price-old. */
.price,:is(.vcard-price,.sold-price,.fp-price,.d-price,.gv-price,.price-lg,.conv-price,.buybar-price,.cart-line,.cart-sub strong,.cart-sum strong){color:var(--fg-head,#e7e5e4);font-weight:600}
.price-old{color:var(--muted,#a8a29e);font-weight:400;text-decoration:line-through}
