/* Nový vzhled Gamebazaru (V7). Šablony: GB_scripts/vzhled4/. Bootstrap 4 je pod tímto souborem
   jen kvůli resetu a pomocným třídám (sr-only, modální okna); vzhled je celý tady. */

:root {
  --v4-oranzova: #EF7D00;
  --v4-cena: #B35600;
  --v4-grafit: #1E2227;
  --v4-text: #16191D;
  --v4-text-tlumeny: #5C6067;
  --v4-pozadi: #F4F4F2;
  --v4-karta: #FFFFFF;
  --v4-okraj: #E4E5E7;
  --v4-okraj-pole: #CFD1D4;
  --v4-zelena: #1E8A45;
  --v4-zelena-svetla: #E6F4EA;
  --v4-zelena-text: #1E6B35;
  --v4-kviz: #002D4E;
  --v4-nadpisy: 'Barlow Semi Condensed', 'Arial Narrow', sans-serif;
}

body.v4 {
  margin: 0;
  background: var(--v4-pozadi);
  color: var(--v4-text);
  font-family: Inter, system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 14px;
  line-height: 1.45;
}
.v4 a { color: var(--v4-text); text-decoration: none; }
.v4 a:hover { color: var(--v4-cena); }
.v4-ikona { flex: 0 0 auto; display: block; }

.v4-obal { max-width: 1320px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.v4-jen-mobil { display: none !important; }
.v4-tlumene, .v4 a.v4-tlumene { color: var(--v4-text-tlumeny); }

/* Tlačítka a štítky */
.v4-tlacitko { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 42px; padding: 0 18px; border-radius: 10px; font-weight: 700; border: 0; cursor: pointer; white-space: nowrap; }
.v4 a.v4-tlacitko-oranzove, .v4-tlacitko-oranzove { background: var(--v4-oranzova); color: var(--v4-text); }
.v4 a.v4-tlacitko-oranzove:hover { background: #F58D1C; color: var(--v4-text); }
.v4 a.v4-tlacitko-tmave, .v4-tlacitko-tmave { background: var(--v4-grafit); color: #FFFFFF; }
.v4 a.v4-tlacitko-tmave:hover { background: #33383F; color: #FFFFFF; }
/* inline-flex: text je ve štítku svisle na středu, i když ho řádek (flex) roztáhne na výšku */
.v4-stitek { display: inline-flex; align-items: center; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; white-space: nowrap; }
.v4 a.v4-stitek-aktivace { background: #FFE7C2; color: #7A3E00; }

/* Hlavička */
.v4-hlavicka { background: var(--v4-karta); border-bottom: 3px solid var(--v4-oranzova); }
.v4-hlavicka-radek { display: flex; align-items: center; gap: 24px; padding-top: 16px; padding-bottom: 16px; }
.v4-logo { flex: 0 0 auto; }
.v4-logo img { width: 280px; height: auto; display: block; }
.v4-hledani { flex: 1 1 420px; min-width: 0; display: flex; border: 1px solid var(--v4-okraj-pole); border-radius: 10px; overflow: hidden; background: #FFFFFF; }
.v4-hledani input { flex: 1 1 auto; min-width: 0; border: 0; padding: 11px 14px; font: inherit; outline: none; }
.v4-hledani select { border: 0; border-left: 1px solid var(--v4-okraj); padding: 0 12px; font: inherit; background: #F7F7F6; color: #3B3F45; max-width: 190px; }
.v4-hledani button { border: 0; background: var(--v4-grafit); color: #FFFFFF; padding: 0 18px; display: flex; align-items: center; cursor: pointer; }
.v4-hledani:focus-within { border-color: var(--v4-grafit); }
.v4-ucet { flex: 0 0 auto; display: flex; align-items: center; gap: 16px; }
.v4 a.v4-ucet-odkaz { font-weight: 600; color: #3B3F45; }
.v4-ucet-uzivatel { display: flex; align-items: center; gap: 8px; font-weight: 600; }
.v4-ucet-uzivatel img { width: 32px; height: 32px; border-radius: 999px; object-fit: cover; }
.v4-ucet-ikona { width: 42px; height: 42px; border-radius: 999px; border: 1px solid var(--v4-okraj); align-items: center; justify-content: center; }

.v4-platformy { display: flex; align-items: flex-start; gap: 8px; padding-bottom: 14px; }
/* position: relative, aby skript měřil polohu čipů (offsetTop) vůči této liště */
.v4-platformy-cipy { position: relative; flex: 1; min-width: 0; display: flex; flex-wrap: wrap; gap: 8px; }
/* sbaleno: jen první řádek čipů (se skriptem; bez něj se zalomí všechny) */
.v4-js .v4-platformy-sbalene .v4-platformy-cipy { max-height: 34px; overflow: hidden; }
.v4-js .v4-platformy-rozbalene .v4-platformy-cipy { max-height: none; }
.v4-platformy-vse { display: none; flex: 0 0 auto; cursor: pointer; background: #F1F1EF; font: inherit; font-weight: 700; font-size: 13px; color: var(--v4-text); }
.v4-platformy-vse:hover { border-color: var(--v4-grafit); }
.v4-platformy-preteka .v4-platformy-vse { display: inline-flex; }
.v4-cip { padding: 6px 13px; border-radius: 999px; font-weight: 600; font-size: 13px; border: 1px solid var(--v4-okraj-pole); background: #FFFFFF; white-space: nowrap; }
.v4-cip small { font-size: 11px; font-weight: 500; color: var(--v4-text-tlumeny); }
.v4 a.v4-cip-aktivni, .v4 a.v4-cip-aktivni:hover { background: var(--v4-grafit); border-color: var(--v4-grafit); color: #FFFFFF; font-weight: 700; }
.v4-cip-aktivni small { color: #C9CCD1; }

/* Tělo: levý sloupec 300 px (reklamy), vpravo obsah. V HTML je obsah první. */
.v4-telo { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 24px; align-items: start; padding-top: 24px; padding-bottom: 24px; }
/* Obsah nad bokem: bok je v DOM až za obsahem a je sticky, prázdný rámec AdSense širší než 300 px
   by jinak ležel přes levý okraj obsahu a bral kliknutí (čipy platforem ve výběru hry) */
.v4-hlavni { grid-column: 2; grid-row: 1; min-width: 0; display: flex; flex-direction: column; gap: 14px; position: relative; z-index: 1; }
/* Bok na celou výšku řádku (align-self: stretch), jinak by byl jen tak vysoký jako obsah a sticky reklamy by neměly kam jet */
.v4-bok { grid-column: 1; grid-row: 1; align-self: stretch; display: flex; flex-direction: column; gap: 16px; }
.v4-bok-reklamy { position: sticky; top: 16px; display: flex; flex-direction: column; gap: 16px; }
.v4-bok-reklamy .v4-reklama { overflow: hidden; }

.v4-odkaz-blok { display: flex; align-items: center; gap: 12px; border-radius: 12px; padding: 14px 16px; }
.v4-odkaz-blok span { display: flex; flex-direction: column; }
.v4-odkaz-blok small { font-size: 12px; font-weight: 500; }
.v4 a.v4-odkaz-bestof { background: var(--v4-grafit); color: #FFFFFF; }
.v4 a.v4-odkaz-bestof small { color: #C9CCD1; }
.v4 a.v4-odkaz-kviz { background: var(--v4-kviz); color: #FFFFFF; }
.v4 a.v4-odkaz-kviz small { color: #C3D2E0; }
.v4-odkaz-blok .v4-ikona { color: var(--v4-oranzova); }
.v4 a.v4-odkaz-blok:hover { filter: brightness(1.15); }
/* Přepínač zpět na původní vzhled místo kvízu (vzhled.php gb_vzhled_prepinac; obdoba v gamebazar3.css):
   zapnutý, při najetí se vypne */
.v4 a.vzhled-prepinac { display: flex; align-items: center; gap: 12px; border-radius: 12px; padding: 14px 16px; border: 1px solid #F6C48A; background: #FFF7EE; color: var(--v4-text); line-height: 1.2; transition: border-color .15s, background-color .15s; }
.v4 a.vzhled-prepinac:hover, .v4 a.vzhled-prepinac:focus-visible { border-color: var(--v4-oranzova); background: #FFEFDC; }
.vzhled-prepinac-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.vzhled-prepinac-text small { font-size: 12px; font-weight: 500; color: var(--v4-text-tlumeny); }
.vzhled-prepinac-kolej { flex: 0 0 42px; height: 24px; border-radius: 999px; background: var(--v4-okraj-pole); position: relative; transition: background-color .2s; }
.vzhled-prepinac-kolej::after { content: ''; position: absolute; left: 3px; top: 3px; width: 18px; height: 18px; border-radius: 999px; background: #FFFFFF; box-shadow: 0 1px 2px rgba(0, 0, 0, .3); transition: left .2s; }
.vzhled-prepinac-zapnuty .vzhled-prepinac-kolej { background: var(--v4-oranzova); }
.vzhled-prepinac-zapnuty .vzhled-prepinac-kolej::after { left: 21px; }
.vzhled-prepinac-zapnuty:hover .vzhled-prepinac-kolej, .vzhled-prepinac-zapnuty:focus-visible .vzhled-prepinac-kolej { background: var(--v4-okraj-pole); }
.v4 a.vzhled-novinky { margin-top: -8px; font-size: 13px; font-weight: 600; color: var(--v4-cena); text-align: center; }
.v4 a.vzhled-novinky:hover { color: #8A4200; text-decoration: underline; }
.vzhled-prepinac-zapnuty:hover .vzhled-prepinac-kolej::after,.vzhled-prepinac-zapnuty:focus-visible .vzhled-prepinac-kolej::after { left: 3px; }

/* Reklamy (lokálně jen rámeček) */
.v4-reklama { display: flex; justify-content: center; }
/* responzivní jednotka (display:block) by se ve flexu smrskla na šířku 0 a AdSense by ji nevyplnil */
.v4-reklama > ins[data-ad-format] { flex: 1 1 auto; min-width: 0; }
.v4-reklama-misto { border: 1px dashed #B9BBBF; border-radius: 8px; background: #EBEBE8; align-items: center; color: var(--v4-text-tlumeny); font-size: 12px; font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase; }
.v4-reklama-misto.v4-reklama-300x600 { width: 300px; height: 600px; }
.v4-reklama-misto.v4-reklama-300x250 { width: 300px; height: 250px; }
.v4-reklama-misto.v4-reklama-nahore-mobil { width: 320px; height: 100px; margin: 0 auto; }
.v4-reklama-misto.v4-reklama-responzivni { min-height: 90px; }

/* Obsah */
.v4-nadpis-radek { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px; margin-top: 6px; }
.v4-nadpis { margin: 0; font-family: var(--v4-nadpisy); font-size: 30px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.2px; }
.v4-karta { background: var(--v4-karta); border: 1px solid var(--v4-okraj); border-radius: 12px; padding: 16px; }
.v4-kostra { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.v4-kostra p { margin: 0; color: var(--v4-text-tlumeny); }
.v4-upozorneni { background: #FFF4E0; border: 1px solid #F6D3A1; color: #6B3A00; border-radius: 10px; padding: 12px 14px; }
.v4-ban { min-height: 100vh; display: flex; align-items: center; justify-content: center; gap: 6px; background: #C8202A; color: #FFFFFF; padding: 24px; text-align: center; }

/* Výpis inzerátů: nadpis a ovládání */
.v4-nadpis-pocet { font-family: Inter, sans-serif; text-transform: none; color: var(--v4-text-tlumeny); font-weight: 500; font-size: 16px; letter-spacing: 0; }
.v4-nadpis-ovladani { display: flex; align-items: center; gap: 12px; }
.v4-prepinac { display: flex; background: #EDEDEA; border-radius: 9px; padding: 3px; }
.v4-prepinac a { flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px; padding: 6px 11px; border-radius: 7px; color: var(--v4-text-tlumeny); font-weight: 600; font-size: 13px; white-space: nowrap; }
.v4 .v4-prepinac a.v4-prepinac-aktivni { background: #FFFFFF; color: var(--v4-text); font-weight: 700; box-shadow: 0 1px 2px rgba(0,0,0,0.12); }
.v4-tlacitko-svetle { background: #FFFFFF; border: 1px solid var(--v4-okraj-pole); color: var(--v4-text); font-weight: 600; }
.v4-pocet-odznak { background: var(--v4-oranzova); color: var(--v4-text); font-size: 11px; font-weight: 700; padding: 1px 7px; border-radius: 999px; }
.v4-aktivni-filtry { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 13px; }
.v4 a.v4-aktivni-filtr { display: inline-flex; align-items: center; gap: 6px; background: #FFFFFF; border: 1px solid var(--v4-okraj-pole); border-radius: 999px; padding: 4px 10px; font-weight: 600; }
.v4 a.v4-aktivni-filtr:hover { border-color: var(--v4-grafit); }
.v4-prazdne { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.v4-prazdne strong { font-family: var(--v4-nadpisy); font-size: 22px; text-transform: uppercase; }
.v4-prazdne p { margin: 0; color: var(--v4-text-tlumeny); }

/* Filtry */
.v4-filtry { display: flex; flex-direction: column; gap: 16px; padding: 18px; }
.v4-filtry-nadpis { margin: 0; font-family: var(--v4-nadpisy); font-size: 20px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.3px; }
.v4-filtr { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.v4-filtr-popis { font-size: 12px; font-weight: 600; color: var(--v4-text-tlumeny); text-transform: uppercase; letter-spacing: 0.4px; }
.v4-filtr select { padding: 9px 10px; border: 1px solid var(--v4-okraj-pole); border-radius: 9px; font: inherit; background: #FFFFFF; width: 100%; }
.v4-filtry-vyber { display: flex; flex-direction: column; gap: 16px; }
.v4-cipy { display: flex; flex-wrap: wrap; gap: 6px; }
.v4-zaskrtnuti { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; }
.v4-zaskrtnuti span { width: 16px; height: 16px; border: 1.5px solid var(--v4-okraj-pole); border-radius: 4px; background: #FFFFFF; }
.v4-zaskrtnuti-ano span { background: var(--v4-grafit) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 12px no-repeat; border-color: var(--v4-grafit); }
.v4-filtry-mobil { display: none; }
.v4-filtry-mobil summary { list-style: none; width: 100%; }
.v4-filtry-mobil summary::-webkit-details-marker { display: none; }
.v4-filtry-mobil[open] summary { margin-bottom: 10px; }

/* Štítky v inzerátu */
.v4 .v4-stitek-nova { background: #FFE7C2; color: #7A3E00; }
.v4 .v4-stitek-digi { background: #E5EEFB; color: #1F4E99; }
.v4 .v4-stitek-zdarma { background: var(--v4-zelena); color: #FFFFFF; font-size: 12px; padding: 3px 10px; }
.v4 .v4-stitek-hodnoceni { background: var(--v4-zelena-svetla); color: var(--v4-zelena-text); font-size: 12px; }
.v4-posta { color: var(--v4-text-tlumeny); font-size: 13px; white-space: nowrap; }
.v4-cena { font-family: var(--v4-nadpisy); font-weight: 700; color: var(--v4-cena); white-space: nowrap; line-height: 1.1; font-size: 20px; }
.v4-cena-velka { font-size: 28px; }
/* úprava vlastního inzerátu: oranžové kolečko s bílou tužkou */
.v4 a.v4-upravit { flex: 0 0 auto; width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: var(--v4-oranzova); color: #FFFFFF; box-shadow: 0 1px 3px rgba(0,0,0,0.18); }
.v4 a.v4-upravit:hover { background: #D96F00; color: #FFFFFF; }
.v4-radek-nazev a.v4-upravit { width: 24px; height: 24px; }

/* Karty (V8): obal od levého okraje karty přes celou výšku, text a akce s vlastním odsazením */
.v4-vypis { display: flex; flex-direction: column; gap: 12px; }
.v4-inzerat { display: grid; grid-template-columns: 120px minmax(0, 1fr) 156px; gap: 16px; background: var(--v4-karta); border: 1px solid var(--v4-okraj); border-radius: 12px; overflow: hidden; }
.v4-radek-obal { display: block; border-radius: 6px; overflow: hidden; background: #EDEDEA; align-self: start; }
.v4-radek-obal img { width: 100%; height: auto; display: block; }
/* obal má svou výšku podle poměru krabičky (určuje i výšku karty); vysoké krabičky se při vyšším textu
   roztáhnou (object-fit ořízne boky), nižší zůstanou nahoře a pod nimi je bílé místo karty */
.v4-inzerat-obal { align-self: stretch; display: flex; flex-direction: column; }
.v4-inzerat-obal img { width: 100%; height: auto; flex: 0 0 auto; display: block; object-fit: cover; background: #EDEDEA; }
.v4-inzerat-obal-roste img { flex: 1 0 auto; }
.v4-inzerat-text { min-width: 0; display: flex; flex-direction: column; gap: 6px; padding: 14px 0; }
.v4-inzerat-akce { padding: 14px 16px 14px 0; }
.v4-inzerat-titulek { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.v4-inzerat-nazev { margin: 0; font-family: var(--v4-nadpisy); font-size: 21px; font-weight: 700; line-height: 1.15; }
.v4-inzerat-popis { margin: 0; color: #474B52; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.v4-inzerat-meta { margin-top: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; color: var(--v4-text-tlumeny); font-size: 13px; }
.v4-inzerat-meta > span, .v4-inzerat-meta > a { display: inline-flex; align-items: center; gap: 5px; }
.v4 a.v4-inzerat-prodejce { font-weight: 600; }
.v4-inzerat-kontakt { overflow-wrap: anywhere; }
.v4-inzerat-akce { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.v4-inzerat-tlacitka { margin-top: auto; width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.v4-tlacitko-kontakt { grid-column: 1 / -1; grid-row: 2; height: 36px; font-size: 14px; border-radius: 8px; padding: 0 10px; }
/* varianta A tlačítka Kontaktovat v kartě (body.v4-kontakt-obrys, viz GB_V4_KONTAKT): bílé s šedým rámečkem, o 2 px nižší */
.v4-kontakt-obrys .v4-inzerat-tlacitka a.v4-tlacitko-kontakt { background: #FFFFFF; color: var(--v4-text); border: 1px solid var(--v4-okraj-pole); font-weight: 600; height: 34px; }
.v4-kontakt-obrys .v4-inzerat-tlacitka a.v4-tlacitko-kontakt:hover { background: #FFFFFF; color: var(--v4-text); border-color: var(--v4-grafit); }
.v4-kontakt-obrys .v4-inzerat-tlacitka .v4-tlacitko-kontakt .v4-ikona { color: var(--v4-text-tlumeny); }
.v4-male-tlacitko { height: 28px; display: flex; align-items: center; justify-content: center; gap: 5px; border: 1px solid #E1E2E4; border-radius: 7px; background: #F7F7F6; font-size: 12px; font-weight: 600; }
.v4 a.v4-male-tlacitko { color: #3B3F45; }
.v4 a.v4-male-tlacitko:hover { border-color: var(--v4-grafit); color: var(--v4-text); }
.v4-reklama-mezi { margin: 4px 0; }

/* Kompaktní výpis */
.v4-vypis-kompakt { gap: 0; background: var(--v4-karta); border: 1px solid var(--v4-okraj); border-radius: 12px; overflow: hidden; }
.v4-kompakt-hlavicka, .v4-radek { display: grid; grid-template-columns: 36px minmax(0, 1fr) 150px 110px 90px 118px 104px; align-items: center; gap: 14px; padding: 8px 14px; border-bottom: 1px solid #EEEEEC; }
.v4-kompakt-hlavicka { padding-top: 9px; padding-bottom: 9px; background: #F7F7F6; border-bottom-color: var(--v4-okraj); font-size: 11px; font-weight: 700; color: var(--v4-text-tlumeny); text-transform: uppercase; letter-spacing: 0.5px; }
.v4-vpravo { text-align: right; }
.v4-radek:hover { background: #FBFBFA; }
.v4-radek-obal { border-radius: 3px; }
.v4-radek-hra { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.v4-radek-nazev { display: flex; align-items: center; gap: 7px; min-width: 0; font-family: var(--v4-nadpisy); font-size: 17px; font-weight: 700; }
.v4-radek-nazev > a { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v4-radek-popis { color: var(--v4-text-tlumeny); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v4-radek-prodejce { display: flex; align-items: center; gap: 6px; font-size: 13px; min-width: 0; }
.v4-radek-prodejce > a:first-child { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v4-radek-prodejce .v4-stitek-hodnoceni, .v4-radek-meta .v4-stitek-hodnoceni { font-size: 11px; padding: 1px 6px; }
.v4-radek-misto, .v4-radek-datum { color: var(--v4-text-tlumeny); font-size: 13px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v4-radek-cena { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.15; }
.v4-radek-cena .v4-stitek-zdarma { font-size: 10px; padding: 1px 7px; margin-top: 2px; }
.v4-radek-cena .v4-posta { font-size: 11px; }
.v4-radek-akce { display: flex; gap: 4px; justify-content: flex-end; }
.v4-ikona-tlacitko { width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; border: 1px solid #E1E2E4; border-radius: 7px; background: #F7F7F6; }
.v4 a.v4-ikona-tlacitko { color: #3B3F45; }
.v4 a.v4-ikona-tlacitko-tmave { background: var(--v4-grafit); border-color: var(--v4-grafit); color: #FFFFFF; }
.v4 a.v4-ikona-tlacitko-tmave:hover { color: #FFFFFF; background: #33383F; }
.v4-vypis-kompakt .v4-reklama-mezi { margin: 0; padding: 10px 14px; border-bottom: 1px solid #EEEEEC; background: #FAFAF9; }

/* Stránkování */
.v4-strankovani { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 8px; }
.v4-strankovani a, .v4-strankovani span { min-width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; padding: 0 12px; border-radius: 9px; font-weight: 600; }
.v4-strankovani a { background: #FFFFFF; border: 1px solid var(--v4-okraj); }
.v4-strankovani span { color: var(--v4-text-tlumeny); }
.v4 .v4-strankovani a.v4-strankovani-aktivni { background: var(--v4-oranzova); border-color: var(--v4-oranzova); color: var(--v4-text); font-weight: 700; }

/* Detail inzerátu */
.v4-podnadpis { margin: 0; font-family: var(--v4-nadpisy); font-size: 20px; font-weight: 700; text-transform: uppercase; }
.v4-drobecky { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--v4-text-tlumeny); font-size: 13px; }
.v4 .v4-drobecky a { color: var(--v4-text-tlumeny); }
.v4 .v4-drobecky a.v4-drobecky-zpet { color: #3B3F45; font-weight: 600; }
.v4-detail { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 28px; padding: 24px; border-radius: 14px; }
.v4-detail-obal img { width: 100%; height: auto; display: block; border-radius: 8px; box-shadow: 0 10px 24px rgba(0,0,0,0.18); }
.v4-detail-info { min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.v4 .v4-stitek-platforma { background: var(--v4-grafit); color: #FFFFFF; font-size: 12px; padding: 3px 10px; }
.v4 .v4-stitek-sedy { background: #F1F1EF; color: #3B3F45; font-size: 12px; padding: 3px 10px; font-weight: 600; }
.v4 .v4-stitek-poptavka { background: #E5EEFB; color: #1F4E99; font-size: 12px; padding: 3px 10px; }
/* štítky nad názvem v detailu stejně velké (Nová / Digitální jinak menší než ostatní) */
.v4-detail-info .v4-cipy { align-items: center; }
.v4 .v4-detail-info .v4-stitek { font-size: 12px; padding: 3px 10px; }
.v4-detail-nazev { margin: 0; font-family: var(--v4-nadpisy); font-size: 38px; font-weight: 700; line-height: 1.05; overflow-wrap: anywhere; }
.v4-detail-cena { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.v4-detail-cena .v4-cena { font-size: 44px; line-height: 1; }
.v4-detail-cena > span { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; font-size: 13px; }
.v4-detail-akce { display: flex; flex-wrap: wrap; gap: 8px; }
.v4-detail-akce .v4-tlacitko { height: 46px; }
.v4-detail-akce .v4-tlacitko-tmave { padding: 0 22px; font-size: 15px; }
.v4-detail-udaje { margin: 4px 0 0; display: grid; grid-template-columns: 130px 1fr; gap: 8px 12px; padding-top: 14px; border-top: 1px solid #EEEEEC; }
.v4-detail-udaje dt { color: var(--v4-text-tlumeny); font-weight: 400; }
.v4-detail-udaje dd { margin: 0; font-weight: 600; }
.v4-detail-popis { padding-top: 14px; border-top: 1px solid #EEEEEC; }
.v4-detail-popis p { margin: 6px 0 0; color: #2E3238; font-size: 15px; line-height: 1.55; overflow-wrap: anywhere; }

/* vlevo prodejce s hodnocením, vedle něj kontaktní formulář */
.v4-detail-mrizka { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 16px; align-items: start; }
.v4-prodejce { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; gap: 12px; padding: 18px; border-radius: 14px; }
.v4-kontakt { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; gap: 12px; padding: 20px; border-radius: 14px; }
.v4-prodejce-hlava { display: flex; align-items: center; gap: 12px; }
.v4-prodejce-avatar { flex: 0 0 48px; height: 48px; border-radius: 999px; background: #9A5B3C; color: #FFFFFF; font-weight: 700; font-size: 18px; display: flex; align-items: center; justify-content: center; }
.v4-prodejce-jmeno { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.v4-prodejce-radek { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.v4-prodejce-jmeno strong { font-size: 16px; overflow-wrap: anywhere; }
.v4-prodejce-jmeno small { font-size: 12px; }
.v4 a.v4-odkaz-sipka { font-weight: 600; font-size: 13px; }
.v4-prodejce-cisla { display: flex; gap: 8px; }
.v4-prodejce-cislo { flex: 1; border-radius: 10px; padding: 8px; display: flex; flex-direction: column; align-items: center; background: #F1F1EF; }
.v4-prodejce-cislo strong { font-family: var(--v4-nadpisy); font-size: 22px; line-height: 1.1; }
.v4-prodejce-cislo span { font-size: 12px; color: var(--v4-text-tlumeny); }
.v4 a.v4-prodejce-cislo-zelene { background: var(--v4-zelena-svetla); color: var(--v4-zelena-text); }
.v4 .v4-prodejce-cislo-zelene span { color: var(--v4-zelena-text); }
.v4 a.v4-prodejce-cislo:hover { filter: brightness(0.97); }
.v4-tlacitko-plne { width: 100%; height: 48px; font-size: 15px; }
.v4-kontakt-hlava { display: flex; align-items: center; justify-content: space-between; }
.v4-kontakt-zavrit { width: 36px; height: 36px; border: 0; background: transparent; color: var(--v4-text); align-items: center; justify-content: center; cursor: pointer; }
.v4-kontakt-primo { display: flex; flex-wrap: wrap; gap: 8px; }
.v4 a.v4-kontakt-radek { flex: 1 1 220px; min-height: 56px; display: flex; align-items: center; gap: 12px; padding: 8px 14px; border-radius: 10px; background: var(--v4-grafit); color: #FFFFFF; min-width: 0; }
.v4 a.v4-kontakt-telefon { background: var(--v4-zelena); }
.v4-kontakt-radek span { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; overflow-wrap: anywhere; font-size: 13px; }
.v4-kontakt-radek strong { font-size: 14px; }
.v4-kontakt-formular { display: flex; flex-direction: column; gap: 10px; }
.v4-kontakt-formular textarea { border: 1px solid var(--v4-okraj-pole); border-radius: 10px; padding: 12px; font: inherit; font-size: 16px; resize: vertical; width: 100%; }
.v4-kontakt-formular textarea:focus { outline: none; border-color: var(--v4-grafit); }
.v4-rychle-dotazy { display: flex; flex-wrap: wrap; gap: 6px; }
.v4-rychle-dotazy .v4-cip { background: #F7F7F6; border-color: #E1E2E4; font-weight: 500; cursor: pointer; }
.v4-zaskrtnuti-pole { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 13px; }
.v4-kontakt-odeslat { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 12px; }
.v4-kontakt-odeslat .v4-tlacitko { height: 46px; }
.v4-kontakt-prihlasit { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.v4-kontakt-prihlasit p, .v4-kontakt p { margin: 0; }
/* bezpečnostní rady: výrazný žlutý box, každá věta na řádku s ikonou výstrahy */
.v4-varovani { margin: 0; padding: 10px 14px; list-style: none; display: flex; flex-direction: column; gap: 6px; background: #FFF6DB; border: 1px solid #F2D58A; border-radius: 10px; color: #5A4310; font-size: 13px; font-weight: 600; }
.v4-varovani li { display: flex; align-items: flex-start; gap: 8px; }
.v4-varovani .v4-ikona { color: #D97706; margin-top: 1px; }
.v4-hlaska { border-radius: 10px; padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; }
.v4-hlaska-ok { background: var(--v4-zelena-svetla); border: 1px solid #B9DFC4; color: #2E5A3A; }
.v4-hlaska-ok strong { color: var(--v4-zelena-text); }
.v4-hlaska-chyba { background: #FDECEC; border: 1px solid #F3C1C1; color: #8A1C1C; }

.v4-detail-dvojice { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
.v4-detail-dvojice > :only-child { grid-column: 1 / -1; }
.v4-seznam { display: flex; flex-direction: column; gap: 4px; padding: 18px; border-radius: 14px; }
.v4-seznam .v4-podnadpis { margin-bottom: 6px; }
.v4-seznam-radek { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid #F0F0EE; }
.v4-seznam-kdo { flex: 1; min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 2px 6px; }
.v4-seznam-kdo small { flex-basis: 100%; font-size: 12px; }
.v4-seznam-kdo .v4-stitek-hodnoceni { font-size: 11px; padding: 1px 6px; }
.v4-seznam-cena { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.2; }
.v4-seznam-cena .v4-stitek-zdarma { font-size: 10px; padding: 1px 7px; }
.v4-seznam-cena .v4-posta { font-size: 11px; }
.v4-seznam-poptavky { background: #FFF7EC; border-color: #F6DDB8; }
.v4-seznam-poptavky .v4-seznam-radek { border-bottom-color: #F3E3CB; }
.v4-seznam-poptavky small { color: #7A5A30; }
.v4-seznam-nabidka { font-weight: 700; color: var(--v4-zelena-text); white-space: nowrap; }
.v4-seznam-pata { color: #7A5A30; font-size: 12px; padding-top: 6px; }
.v4 .v4-seznam-pata a { color: #7A3E00; }
.v4-seznam .v4-odkaz-sipka { padding-top: 6px; }

.v4-dalsi { display: flex; flex-direction: column; gap: 10px; }
.v4-dalsi-mrizka { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.v4-dalsi-polozka { min-width: 0; display: flex; flex-direction: column; gap: 6px; padding: 10px; }
/* obaly mají různé rozměry: stejný rámeček pro všechny, obrázek se do něj vejde celý */
.v4-dalsi-polozka img { width: 100%; height: auto; aspect-ratio: 5 / 7; object-fit: contain; background: #F4F4F2; border-radius: 5px; }
.v4-dalsi-nazev { font-weight: 600; font-size: 13px; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Profil */
.v4-avatar { flex: 0 0 auto; border-radius: 999px; object-fit: cover; }
.v4-avatar-pismeno { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #9A5B3C, #5A3A2E); color: #FFFFFF; font-family: var(--v4-nadpisy); font-weight: 700; }
.v4-profil { padding: 0; overflow: hidden; border-radius: 14px; }
.v4-profil-hlava { display: flex; align-items: center; gap: 18px; padding: 20px 22px; }
.v4-profil-jmeno { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.v4-profil-jmeno h1 { margin: 0; font-family: var(--v4-nadpisy); font-size: 34px; font-weight: 700; line-height: 1; overflow-wrap: anywhere; }
.v4-profil-akce { flex: 0 0 auto; display: flex; flex-wrap: wrap; gap: 8px; }
.v4 a.v4-tlacitko-oblibeny { border-color: #F3B6B6; background: #FFF4F4; color: #B3261E; }
.v4 a.v4-tlacitko-odhlasit { color: #B3261E; }
.v4-profil-cisla { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #EEEEEC; border-bottom: 1px solid #EEEEEC; background: #FAFAF9; }
.v4-profil-cislo { padding: 14px 22px; display: flex; flex-direction: column; justify-content: center; gap: 2px; border-right: 1px solid #EEEEEC; }
.v4-profil-cislo:last-child { border-right: 0; }
.v4-profil-cislo strong { font-family: var(--v4-nadpisy); font-size: 30px; line-height: 1.1; }
.v4-profil-cislo small { font-size: 12px; }
.v4 .v4-profil-cislo strong.v4-profil-procenta { color: var(--v4-zelena-text); }
.v4-profil-rozpad { gap: 7px; }
.v4-rozpad-radek { display: flex; align-items: center; gap: 8px; font-size: 12px; }
.v4-rozpad-radek > span:first-child { flex: 0 0 64px; color: var(--v4-text-tlumeny); }
.v4-rozpad-pruh { flex: 1; height: 8px; background: var(--v4-okraj); border-radius: 999px; overflow: hidden; }
.v4-rozpad-pruh span { display: block; height: 100%; border-radius: 999px; }
.v4 .v4-rozpad-radek strong { flex: 0 0 26px; text-align: right; font-family: Inter, sans-serif; font-size: 12px; line-height: 1.2; }
.v4-rozpad-pos .v4-rozpad-pruh span { background: var(--v4-zelena); }
.v4-rozpad-pos strong { color: var(--v4-zelena); }
.v4-rozpad-neu .v4-rozpad-pruh span { background: #8A8F98; }
.v4-rozpad-neg .v4-rozpad-pruh span { background: #C8202A; }
.v4-rozpad-neg strong { color: #C8202A; }
.v4-profil-detaily { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; padding: 16px 22px 20px; }
.v4-profil-omne { display: flex; flex-direction: column; gap: 6px; }
.v4-profil-omne p { margin: 0; color: #2E3238; line-height: 1.55; overflow-wrap: anywhere; }
.v4-profil-udaje { margin: 0; display: grid; grid-template-columns: 80px 1fr; gap: 8px 12px; font-size: 13px; align-items: center; }
.v4-profil-udaje dt { color: var(--v4-text-tlumeny); font-weight: 400; }
.v4-profil-udaje dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.v4-profil-udaje .v4-cipy { gap: 4px; }
.v4-profil-admin { padding: 10px 22px; border-top: 1px solid #EEEEEC; font-size: 12px; color: var(--v4-text-tlumeny); }
.v4-profil-lista { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 10px 14px; }
.v4-profil-zalozky a { padding: 7px 16px; }
.v4-profil-filtry { flex: 1; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.v4-profil-filtry select { height: 36px; padding: 0 10px; border: 1px solid var(--v4-okraj-pole); border-radius: 9px; font: inherit; background: #FFFFFF; }
.v4-sekce-nadpis { margin: 6px 0 0; font-family: var(--v4-nadpisy); font-size: 22px; font-weight: 700; text-transform: uppercase; }
.v4-sekce-nadpis span { font-family: Inter, sans-serif; font-size: 14px; font-weight: 500; color: var(--v4-text-tlumeny); text-transform: none; }
.v4-vypis-kompakt.v4-vypis-poptavky, .v4-vypis-poptavky .v4-inzerat { background: #FFF7EC; border-color: #F6DDB8; }
.v4-vypis-poptavky .v4-radek, .v4-vypis-poptavky .v4-kompakt-hlavicka { border-bottom-color: #F3E3CB; background: transparent; }

/* proužek začíná na levém okraji obalu (odsazení karty i řádku je 14 px) */
.v4-protistrany { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; padding: 6px 14px 8px; font-size: 12px; background: #FFF7EC; border-bottom: 1px solid #F3E3CB; }
.v4-vypis-karty .v4-protistrany { margin-top: -12px; padding: 7px 14px 8px; border: 1px solid #F6DDB8; border-top: 0; border-radius: 0 0 12px 12px; }
.v4-vypis-karty .v4-inzerat:has(+ .v4-protistrany) { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.v4-vypis-poptavky .v4-protistrany { background: #EEF6F0; border-color: #CFE5D6; }
.v4-protistrany-popis { font-weight: 700; color: #7A5A30; }
.v4-vypis-poptavky .v4-protistrany-popis { color: var(--v4-zelena-text); }
.v4 .v4-protistrany a { color: #3B3F45; }
.v4 .v4-protistrany a:hover { color: var(--v4-cena); }

.v4-hodnoceni-ovladani { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.v4-hodnoceni-seznam { display: flex; flex-direction: column; gap: 10px; }
.v4-hodnoceni { display: flex; gap: 12px; padding: 14px 16px; }
.v4-hodnoceni-neg { background: #FFF6F6; border-color: #F3C9C9; }
.v4 a.v4-hodnoceni-avatar { flex: 0 0 40px; height: 40px; border-radius: 999px; background: #3E6B8C; color: #FFFFFF; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.v4-hodnoceni-telo { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.v4-hodnoceni-telo p { margin: 0; color: #2E3238; overflow-wrap: anywhere; }
.v4-hodnoceni-hlava { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.v4-hodnoceni-hlava .v4-stitek-hodnoceni { font-size: 11px; padding: 1px 6px; }
.v4-hodnoceni-datum { margin-left: auto; font-size: 12px; }
.v4 .v4-stitek-typ-pos { background: var(--v4-zelena); color: #FFFFFF; }
.v4 .v4-stitek-typ-neu { background: var(--v4-okraj); color: #3B3F45; }
.v4 .v4-stitek-typ-neg { background: #C8202A; color: #FFFFFF; }
.v4 .v4-stitek-typ-nez { background: #E5EEFB; color: #1F4E99; }
.v4 p.v4-hodnoceni-reakce { margin-top: 4px; padding: 8px 12px; background: #F7F7F6; border-radius: 8px; font-size: 13px; color: #3B3F45; }
.v4 a.v4-hodnoceni-reagovat { align-self: flex-start; color: var(--v4-cena); }

.v4-oblibene-hry { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 12px; }
.v4-oblibene-hry small { font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v4-uzivatele { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 10px; }
.v4-uzivatel { display: flex; align-items: center; gap: 12px; padding: 12px 14px; }
.v4-uzivatel-text { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.v4-uzivatel-text small { font-size: 12px; }
.v4-uzivatel .v4-stitek-hodnoceni { font-size: 11px; padding: 1px 6px; }
.v4-uzivatele-hledani { display: flex; flex-direction: column; gap: 14px; padding: 18px 20px; border-radius: 14px; }
.v4-stitek-blok { background: #FDECEC; color: #8A1C1C; }
.v4-uzivatele-vic { margin: 0; text-align: center; font-size: 13px; }

/* Samostatné formuláře (zpráva, hodnocení, reakce) */
.v4-formular { max-width: 720px; width: 100%; display: flex; flex-direction: column; gap: 14px; padding: 22px; border-radius: 14px; }
.v4-formular-nadpis { font-size: 24px; }
.v4-formular-uzivatel { display: flex; align-items: center; gap: 12px; padding: 10px 12px; background: #F7F7F6; border-radius: 10px; line-height: 1.3; }
.v4-formular-uzivatel .v4-stitek-hodnoceni { font-size: 11px; padding: 1px 6px; }
.v4-formular-uzivatel small { font-size: 12px; }
.v4-formular-rady { margin: 0; padding-left: 18px; color: var(--v4-text-tlumeny); font-size: 13px; }
.v4-formular-hodnoceni { padding: 12px 14px; border: 1px solid var(--v4-okraj); border-radius: 10px; }
.v4-kontakt-formular input[type=text], .v4-formular textarea { width: 100%; }
.v4-volba-typu { margin: 0; padding: 0; border: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.v4-volba-typu legend { margin-bottom: 6px; }
.v4-volba { position: relative; margin: 0; cursor: pointer; }
.v4-volba input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.v4-volba span { display: flex; align-items: center; justify-content: center; height: 48px; border: 2px solid var(--v4-okraj-pole); border-radius: 10px; font-weight: 700; background: #FFFFFF; }
.v4-volba input:focus-visible + span { outline: 2px solid var(--v4-grafit); outline-offset: 2px; }
.v4-volba-pos input:checked + span { background: var(--v4-zelena); border-color: var(--v4-zelena); color: #FFFFFF; }
.v4-volba-neu input:checked + span { background: #5C6067; border-color: #5C6067; color: #FFFFFF; }
.v4-volba-neg input:checked + span { background: #C8202A; border-color: #C8202A; color: #FFFFFF; }

/* Vložení inzerátu: kroky průvodce */
.v4-kroky { margin: 0; padding: 0; list-style: none; display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 13px; }
.v4-krok { display: flex; align-items: center; gap: 8px; color: #8A8F98; }
.v4-krok span { width: 28px; height: 28px; border-radius: 999px; border: 2px solid var(--v4-okraj-pole); display: flex; align-items: center; justify-content: center; font-weight: 700; }
.v4-krok-aktivni { color: var(--v4-text); }
.v4-krok-aktivni span { background: var(--v4-oranzova); border-color: var(--v4-oranzova); }
.v4-krok-hotovo { color: var(--v4-zelena-text); }
.v4-krok-hotovo span { background: var(--v4-zelena); border-color: var(--v4-zelena); color: #FFFFFF; }
.v4-kroky-cara { flex: 0 0 40px; height: 2px; background: var(--v4-okraj-pole); }
.v4-kroky-cara.v4-kroky-hotovo { background: var(--v4-zelena); }
.v4-vlozeni-stav { font-size: 13px; }
.v4-vlozeni-stav strong { color: var(--v4-text); }
.v4-vlozeni-hotovo .v4-cipy { gap: 8px; }
/* úspěch: zelené kolečko s fajfkou před nadpisem */
.v4 .v4-vlozeni-uspech { display: flex; align-items: center; gap: 12px; color: var(--v4-zelena-text); }
.v4-uspech-ikona { flex: 0 0 40px; height: 40px; border-radius: 999px; background: var(--v4-zelena); color: #FFFFFF; display: flex; align-items: center; justify-content: center; }
.v4-uspech-ikona .v4-ikona { stroke-width: 3; }
.v4-js .v4-jen-bez-js { display: none; }

/* 1. krok: výběr hry */
.v4-vyber { padding: 0; overflow: hidden; border-radius: 14px; }
.v4-vyber-hlava { padding: 22px 22px 18px; display: flex; flex-direction: column; gap: 16px; border-bottom: 1px solid #EEEEEC; }
.v4-vyber-platformy .v4-cip-dalsi { display: none; }
.v4-vyber-platformy.v4-vyber-vse .v4-cip-dalsi { display: inline-flex; }
.v4 a.v4-cip-vse { background: #F1F1EF; }
.v4-vyber-pole { display: flex; align-items: center; gap: 10px; border: 2px solid var(--v4-grafit); border-radius: 12px; padding: 0 6px 0 14px; height: 52px; }
.v4-vyber-pole .v4-ikona { color: var(--v4-text-tlumeny); }
.v4-vyber-pole input { flex: 1; min-width: 0; border: 0; font: inherit; font-size: 17px; outline: none; }
.v4-vyber-pole .v4-tlacitko { height: 40px; }
.v4-vyber-pismena { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; font-size: 12px; }
.v4-vyber-pismena span { margin-right: 6px; }
.v4-vyber-pismena a { width: 26px; height: 26px; display: flex; align-items: center; justify-content: center; border: 1px solid #E1E2E4; border-radius: 6px; font-weight: 600; }
.v4 .v4-vyber-pismena a.v4-pismeno-aktivni { background: var(--v4-grafit); border-color: var(--v4-grafit); color: #FFFFFF; }
.v4-vysledky-hlava { padding: 12px 22px 6px; display: flex; align-items: baseline; gap: 8px; font-size: 13px; }
.v4-vysledky-napoveda { margin: 0; padding: 14px 22px; }
.v4-vysledek { display: flex; align-items: center; gap: 14px; padding: 10px 22px; border-top: 1px solid #F0F0EE; }
.v4-vysledek img { flex: 0 0 44px; width: 44px; height: 62px; object-fit: contain; background: #F4F4F2; border-radius: 4px; }
.v4-vysledek-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.v4-vysledek-text strong { font-family: var(--v4-nadpisy); font-size: 18px; line-height: 1.2; overflow-wrap: anywhere; }
.v4-vysledek-text small { font-size: 12px; }
.v4-vysledek .v4-tlacitko { height: 38px; }
.v4-vysledek-bez { background: #FFF7EC; }
.v4-vysledek-bez small { color: #5A4A3A; }
.v4-vysledek-otaznik { flex: 0 0 44px; height: 62px; border: 2px dashed #E3C08F; border-radius: 4px; display: flex; align-items: center; justify-content: center; color: #B37A2E; font-size: 22px; font-weight: 700; }

/* 2. krok: formulář s náhledem */
.v4-vlozeni { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 16px; align-items: start; }
.v4-vlozeni-formular { padding: 0; overflow: hidden; border-radius: 14px; }
.v4-vlozeni-hra { display: flex; align-items: center; gap: 14px; padding: 16px 22px; border-bottom: 1px solid #EEEEEC; }
.v4-vlozeni-hra img { flex: 0 0 44px; width: 44px; height: 62px; object-fit: contain; background: #F4F4F2; border-radius: 4px; }
.v4-vlozeni-hra > span { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.v4-vlozeni-titulek { font-family: var(--v4-nadpisy); font-size: 22px; line-height: 1.1; overflow-wrap: anywhere; }
.v4-vlozeni-hra small { font-size: 13px; }
.v4-vlozeni-nazev { font-family: var(--v4-nadpisy); font-size: 20px; font-weight: 700; }
.v4-vlozeni-radky { padding: 20px 22px; display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 18px 20px; align-items: start; }
.v4-vlozeni-popisek { margin: 0; padding-top: 10px; font-weight: 600; color: #3B3F45; }
.v4-pole { width: 100%; height: 40px; padding: 0 10px; border: 1px solid var(--v4-okraj-pole); border-radius: 9px; font: inherit; background: #FFFFFF; }
textarea.v4-pole { height: auto; padding: 10px 12px; resize: vertical; }
.v4-pole:focus { outline: none; border-color: var(--v4-grafit); }
.v4-pole-uzke { max-width: 300px; }
.v4-prepinac-pole { width: 300px; max-width: 100%; }
.v4-prepinac-pole label { flex: 1; margin: 0; position: relative; cursor: pointer; }
.v4-prepinac-pole input, .v4-volba-kratka input, .v4-vypinac input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.v4-prepinac-pole span { display: block; text-align: center; padding: 8px; border-radius: 8px; color: var(--v4-text-tlumeny); font-weight: 600; }
.v4-prepinac-pole input:checked + span { background: #FFFFFF; color: var(--v4-text); font-weight: 700; box-shadow: 0 1px 2px rgba(0,0,0,0.12); }
.v4-prepinac-pole input:focus-visible + span, .v4-volba-kratka input:focus-visible + span, .v4-vypinac input:focus-visible + .v4-vypinac-kolej { outline: 2px solid var(--v4-grafit); outline-offset: 2px; }
.v4-vlozeni-cena { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.v4-pole-kc { display: inline-flex; width: 180px; height: 40px; border: 1px solid var(--v4-okraj-pole); border-radius: 9px; overflow: hidden; }
.v4-pole-kc input { flex: 1; min-width: 0; border: 0; padding: 0 12px; font: inherit; font-size: 16px; font-weight: 700; outline: none; }
.v4-pole-kc input:disabled { background: #F4F4F2; color: #8A8F98; }
.v4-pole-kc > span { display: flex; align-items: center; padding: 0 12px; background: #F7F7F6; color: var(--v4-text-tlumeny); font-weight: 600; }
.v4-vlozeni-posta { display: flex; flex-direction: column; gap: 8px; }
.v4-volby { display: grid; gap: 8px; max-width: 420px; }
.v4-volby-4 { grid-template-columns: repeat(4, 1fr); }
.v4-volby-3 { grid-template-columns: repeat(3, 1fr); }
.v4-volba-kratka { margin: 0; position: relative; cursor: pointer; }
.v4-volba-kratka span { height: 40px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--v4-okraj-pole); border-radius: 9px; background: #FFFFFF; font-weight: 600; font-size: 13px; }
.v4-volba-kratka input:checked + span { background: var(--v4-grafit); border-color: var(--v4-grafit); color: #FFFFFF; }
.v4-volba-zdarma span { border-color: var(--v4-zelena); color: var(--v4-zelena-text); }
.v4-volba-zdarma input:checked + span { background: var(--v4-zelena); border-color: var(--v4-zelena); color: #FFFFFF; }
.v4-vlozeni-popis { display: flex; flex-direction: column; gap: 4px; }
.v4-vlozeni-popis small { align-self: flex-end; font-size: 12px; }
.v4-vypinac { display: flex; align-items: flex-start; gap: 12px; margin: 0; cursor: pointer; font-size: 13px; padding-top: 2px; }
.v4-vypinac-kolej { flex: 0 0 40px; height: 22px; border-radius: 999px; background: var(--v4-okraj-pole); position: relative; transition: background .15s; }
.v4-vypinac-kolej::after { content: ''; position: absolute; left: 3px; top: 3px; width: 16px; height: 16px; border-radius: 999px; background: #FFFFFF; transition: left .15s; }
.v4-vypinac input:checked + .v4-vypinac-kolej { background: var(--v4-oranzova); }
.v4-vypinac input:checked + .v4-vypinac-kolej::after { left: 21px; }
.v4-vlozeni-kontakt { padding-top: 10px; font-size: 13px; color: #3B3F45; overflow-wrap: anywhere; }
.v4-vlozeni-kontakt a { margin-left: 6px; }
.v4-vlozeni-pata { display: flex; align-items: center; gap: 12px; padding: 14px 22px; border-top: 1px solid #EEEEEC; background: #FAFAF9; }
.v4-vlozeni-mezera { flex: 1; }
.v4-tlacitko-velke { height: 46px; padding: 0 28px; font-size: 15px; }
.v4-tlacitko-smazat { background: #FFFFFF; border: 1px solid #F3C1C1; color: #B3261E; }
.v4-tlacitko-smazat:hover { background: #FDECEC; }
/* Potvrzovací okno (layout.php, data-v4-potvrdit) */
.v4-potvrzeni { width: min(400px, calc(100vw - 32px)); padding: 0; border: 0; border-radius: 14px; background: var(--v4-karta); color: var(--v4-text); box-shadow: 0 18px 50px rgba(0, 0, 0, .25); }
.v4-potvrzeni::backdrop { background: rgba(22, 25, 29, .55); }
.v4-potvrzeni form { display: flex; flex-direction: column; gap: 8px; padding: 22px; }
.v4-potvrzeni strong { font-family: var(--v4-nadpisy); font-size: 22px; line-height: 1.2; }
.v4-potvrzeni p { margin: 0 0 12px; font-size: 14px; overflow-wrap: anywhere; }
.v4-potvrzeni p:empty { display: none; }
.v4-potvrzeni-tlacitka { display: flex; justify-content: flex-end; gap: 10px; }
.v4-potvrzeni-ano { background: #B3261E; color: #FFFFFF; }
.v4-potvrzeni-ano:hover { background: #962019; }
.v4-vlozeni-bok { position: sticky; top: 16px; flex-direction: column; gap: 12px; display: flex; }
.v4-nahled { display: flex; flex-direction: column; gap: 8px; padding: 12px; }
.v4-nahled-hlava { display: flex; gap: 12px; }
.v4-nahled-hlava img { flex: 0 0 70px; width: 70px; height: 98px; object-fit: contain; background: #F4F4F2; border-radius: 5px; }
.v4-nahled-hlava > span { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.v4-nahled-nazev { font-family: var(--v4-nadpisy); font-size: 18px; line-height: 1.15; overflow-wrap: anywhere; }
.v4-nahled .v4-cena { font-size: 22px; }
.v4-nahled-popis { margin: 0; color: #474B52; font-size: 13px; overflow-wrap: anywhere; }
.v4-nahled .v4-stitek-hodnoceni { font-size: 11px; padding: 1px 6px; }
.v4-ceny { display: flex; flex-direction: column; gap: 8px; padding: 12px 14px; font-size: 13px; }
.v4-ceny > span:not(.v4-filtr-popis) { display: flex; justify-content: space-between; gap: 8px; }
.v4 .v4-ceny-poptavka { color: var(--v4-zelena-text); }

/* Úprava profilu */
.v4-uprava { padding: 0; overflow: hidden; border-radius: 14px; max-width: 820px; }
.v4-uprava-sekce { border-bottom: 1px solid #EEEEEC; }
.v4-uprava-sekce .v4-podnadpis { padding: 18px 22px 0; font-size: 18px; color: #3B3F45; }
.v4-uprava-sekce .v4-vlozeni-radky { padding-top: 14px; }
.v4-uprava-napoveda { display: block; margin-top: 4px; font-size: 12px; }
.v4-uprava-fotka { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.v4-uprava-fotka .v4-uprava-napoveda, .v4-uprava-fotka .v4-pole-chyba { flex-basis: 100%; }
.v4-nahrat { position: relative; overflow: hidden; height: 38px; cursor: pointer; }
.v4-nahrat input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.v4-pole-cteni { display: flex; align-items: center; background: #F4F4F2; color: var(--v4-text-tlumeny); font-weight: 700; }
.v4-pole-kratke { max-width: 220px; }
.v4-pole-spatne { border-color: #C8202A; }
.v4-pole-chyba { display: block; margin-top: 4px; color: #B3261E; font-size: 12px; font-weight: 600; }
.v4-uprava-konzole { gap: 6px; }
.v4-cip-volba { position: relative; margin: 0; cursor: pointer; }
.v4-cip-volba input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.v4-cip-volba span { display: inline-flex; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--v4-okraj-pole); background: #FFFFFF; font-weight: 600; font-size: 13px; }
.v4-cip-volba input:checked + span { background: var(--v4-grafit); border-color: var(--v4-grafit); color: #FFFFFF; }
.v4-cip-volba input:checked + span::before { content: '✓ '; white-space: pre; }
.v4-cip-volba input:focus-visible + span { outline: 2px solid var(--v4-grafit); outline-offset: 2px; }
/* současné heslo: se skriptem jen při změně citlivých údajů, bez skriptu pořád */
.v4-uprava-heslo { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 6px 20px; align-items: start; padding: 14px 22px; background: #FFF6DB; border-bottom: 1px solid #F2D58A; }
.v4-js .v4-uprava-heslo:not(.v4-uprava-heslo-videt) { display: none; }
.v4-uprava-heslo .v4-vlozeni-popisek { color: #5A4310; }
.v4-uprava-heslo .v4-pole { border-color: #E3C08F; }
.v4-uprava-heslo-text { display: flex; align-items: center; gap: 6px; margin-top: 6px; color: #5A4310; font-size: 12px; font-weight: 600; }
.v4-uprava-heslo-text .v4-ikona { color: #D97706; }

/* Přihlášení, registrace, obnova hesla, aktivace */
.v4-prihlas { max-width: 440px; margin: 12px auto 0; gap: 16px; }
.v4-prihlas-formular { display: flex; flex-direction: column; gap: 6px; }
.v4-prihlas-formular .v4-pole { height: 44px; font-size: 16px; margin-bottom: 8px; }
.v4-prihlas-formular .v4-zaskrtnuti-pole { margin-bottom: 8px; }
.v4-prihlas-formular .v4-tlacitko { width: 100%; height: 48px; justify-content: center; }
.v4-prihlas-popis { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.v4 a.v4-prihlas-odkaz { font-size: 13px; font-weight: 600; }
.v4-prihlas-pata { margin: 0; padding-top: 14px; border-top: 1px solid #EEEEEC; text-align: center; }
.v4-prihlas-pravidla { margin: 0; font-size: 12px; text-align: center; }
.v4-prihlas-uvod { margin: -6px 0 0; font-size: 14px; }
.v4-prihlas-formular .v4-prihlas-napoveda, .v4-prihlas-formular .v4-pole-chyba { display: block; margin: -4px 0 8px; font-size: 12px; }
.v4-prihlas-formular .v4-tlacitko { margin-top: 4px; }
.v4-prihlas-oddel { padding-top: 14px; border-top: 1px solid #EEEEEC; }
.v4-prihlas-hotovo { align-items: center; text-align: center; }
.v4-prihlas-hotovo p { margin: 0; }
.v4-prihlas-hotovo .v4-uspech-ikona { flex: 0 0 56px; width: 56px; height: 56px; }
.v4-prihlas-hotovo .v4-uspech-ikona .v4-ikona { stroke-width: 2; }
.v4-prihlas-hotovo .v4-tlacitko { width: 100%; justify-content: center; }

/* Administrace v profilu (jen admin) */
.v4-admin { display: flex; flex-direction: column; gap: 16px; padding: 18px 22px; border-radius: 14px; border-color: #F3C1C1; font-size: 13px; }
.v4-admin-hlava { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.v4-admin-udaje { margin: 0; display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 4px 16px; padding: 12px 14px; border-radius: 10px; background: #FAFAF9; border: 1px solid #EEEEEC; }
.v4-admin-udaje dt { font-weight: 600; color: #3B3F45; }
.v4-admin-udaje dd { margin: 0; overflow-wrap: anywhere; }
.v4-admin-sloupce { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 24px; }
.v4-admin-seznam { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 4px; max-height: 260px; overflow-y: auto; }
.v4-admin-seznam li { padding: 4px 0; border-top: 1px solid #F1F1EF; overflow-wrap: anywhere; }
.v4-admin-ban { color: #B3261E; }
.v4-admin-tabulka-obal { max-height: 360px; overflow: auto; border: 1px solid #EEEEEC; border-radius: 10px; }
.v4-admin-tabulka { width: 100%; border-collapse: collapse; }
.v4-admin-tabulka th, .v4-admin-tabulka td { padding: 5px 10px; border-bottom: 1px solid #F1F1EF; text-align: left; white-space: nowrap; }
.v4-admin-tabulka th { position: sticky; top: 0; background: #FAFAF9; font-weight: 600; }
.v4-admin-uspech td { font-weight: 700; }
.v4-admin-akce { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px 24px; align-items: end; padding-top: 14px; border-top: 1px solid #EEEEEC; }
.v4-admin-ban-formular { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.v4-admin-ban-formular .v4-pole { width: 100%; }
.v4-admin-tlacitka { display: flex; flex-wrap: wrap; gap: 8px; }
.v4-admin-heslo { font-size: 16px; font-weight: 700; color: var(--v4-text); background: #FFFFFF; padding: 2px 8px; border-radius: 6px; user-select: all; }
@media (max-width: 767.98px) {
  .v4-admin { padding: 14px; }
  .v4-admin-udaje { grid-template-columns: 1fr; gap: 0; }
  .v4-admin-udaje dd { margin-bottom: 6px; }
  .v4-admin-sloupce, .v4-admin-akce { grid-template-columns: 1fr; }
}

/* Textové stránky (nápověda, provozovatel, limit, GDPR) */
.v4-text { padding: 24px 28px 28px; border-radius: 14px; font-size: 15px; line-height: 1.65; }
.v4-text .v4-nadpis { margin-bottom: 18px; }
.v4-text h2 { margin: 28px 0 8px; font-family: var(--v4-nadpisy); font-size: 21px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.2px; scroll-margin-top: 16px; }
.v4-text p { margin: 0 0 12px; }
.v4-text ul, .v4-text ol { margin: 0 0 12px; padding-left: 22px; }
.v4-text li { margin-bottom: 4px; }
.v4-text a:not(.v4-tlacitko) { color: var(--v4-cena); text-decoration: underline; text-underline-offset: 2px; }
.v4-text-rady { margin-bottom: 20px; padding: 16px 18px; border-radius: 12px; background: var(--v4-zelena-svetla); border: 1px solid #B9DFC4; color: #2E5A3A; }
.v4 .v4-text-rady h2 { margin: 0 0 8px; display: flex; align-items: center; gap: 8px; font-size: 18px; color: var(--v4-zelena-text); }
.v4-text-rady ul { margin: 0; }
.v4-text-obsah { margin-bottom: 8px; padding: 14px 18px; border-radius: 12px; background: #FAFAF9; border: 1px solid #EEEEEC; }
.v4 .v4-text-obsah h2 { margin: 0 0 6px; font-size: 16px; }
.v4-text-obsah ol { margin: 0; columns: 2; column-gap: 28px; font-size: 14px; }
.v4-text-dulezite { color: #B3261E; }
.v4-text-adresa { font-size: 16px; }
.v4-text .v4-hlaska { margin-bottom: 8px; }
.v4-text-cenik { list-style: none; padding: 0 !important; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.v4-text-cenik li { margin: 0; padding: 14px; border: 1px solid var(--v4-okraj); border-radius: 12px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.v4-text-cenik strong { font-family: var(--v4-nadpisy); font-size: 22px; }
.v4-text-cenik span { color: var(--v4-cena); font-weight: 700; }
.v4-text-platba { margin: 0 0 14px; display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 6px 16px; padding: 14px 16px; border-radius: 12px; background: #FAFAF9; border: 1px solid #EEEEEC; }
.v4-text-platba dt { font-weight: 600; color: #3B3F45; }
.v4-text-platba dd { margin: 0; font-weight: 700; }
/* Co je nového (?p=novinky) */
.v4-novinky-uvod { font-size: 16px; }
.v4-novinka { margin-top: 28px; padding-top: 24px; border-top: 1px solid #EEEEEC; }
.v4 .v4-novinka h2 { margin-top: 0; display: flex; align-items: center; gap: 10px; }
.v4-novinka-cislo { flex: 0 0 30px; height: 30px; border-radius: 999px; background: var(--v4-oranzova); color: var(--v4-text); display: inline-flex; align-items: center; justify-content: center; font-size: 17px; }
.v4-novinka figure { margin: 16px 0 0; }
.v4-novinka img { display: block; width: 100%; height: auto; border: 1px solid var(--v4-okraj); border-radius: 10px; box-shadow: 0 6px 20px rgba(0, 0, 0, .08); }
.v4-novinka figcaption { margin-top: 6px; font-size: 13px; color: var(--v4-text-tlumeny); text-align: center; }
.v4-novinka-mobil { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 28px; align-items: center; }
.v4-novinka-mobil figure { margin: 0; }
.v4-novinka-mobil img { border-radius: 22px; border: 6px solid var(--v4-grafit); }
.v4-novinky-pata { margin-top: 28px; padding-top: 20px; border-top: 1px solid #EEEEEC; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.v4-novinky-pata .v4-tlumene { font-size: 13px; }
.v4-text-pata { margin-top: 24px !important; padding-top: 14px; border-top: 1px solid #EEEEEC; color: var(--v4-text-tlumeny); font-size: 13px; }
@media (max-width: 767.98px) {
  .v4-text { padding: 16px; font-size: 15px; }
  .v4-text-obsah ol { columns: 1; }
  .v4-text-cenik { grid-template-columns: 1fr; }
  .v4-novinka-mobil { grid-template-columns: 1fr; gap: 0; }
  .v4-novinka-mobil figure { margin: 16px auto 0; width: min(260px, 100%); }
  .v4-text-platba { grid-template-columns: 1fr; gap: 2px; }
  .v4-text-platba dd { margin-bottom: 8px; }
}

/* Best of */
.v4-bo-uvod { display: flex; flex-direction: column; gap: 16px; padding: 18px 20px; border-radius: 14px; }
.v4-bo-uvod-hlava { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.v4-bo-uvod-hlava p { margin: 4px 0 0; }
.v4-bo-nadpis-platforma { color: var(--v4-oranzova); }
.v4-bo-aktualizace { font-size: 12px; white-space: nowrap; }
.v4-bo-cisla { margin: 0; display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid #EEEEEC; border-radius: 12px; background: #FAFAF9; }
.v4-bo-cisla div { padding: 12px 14px; display: flex; flex-direction: column-reverse; }
.v4-bo-cisla div + div { border-left: 1px solid #EEEEEC; }
.v4-bo-cisla dt { font-size: 12px; font-weight: 400; color: var(--v4-text-tlumeny); }
.v4-bo-cisla dd { margin: 0; font-family: var(--v4-nadpisy); font-size: 26px; font-weight: 700; line-height: 1.2; }
.v4-bo-kotvy { display: flex; flex-wrap: wrap; gap: 6px; }
.v4-bo-kotvy a { padding: 7px 14px; border-radius: 999px; background: #FFFFFF; border: 1px solid var(--v4-okraj-pole); font-weight: 600; font-size: 13px; white-space: nowrap; }
.v4-bo-sekce { display: flex; flex-direction: column; gap: 14px; padding: 18px 20px; border-radius: 14px; }
.v4-bo-sekce h2 { font-size: 22px; scroll-margin-top: 16px; }
.v4-bo-hlava { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.v4-bo-hlava .v4-tlumene { display: block; font-size: 13px; }
.v4-bo-podnadpis { margin: 0 0 4px; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.4px; color: #3B3F45; }
.v4-bo-platforma { display: inline-flex; align-items: center; height: 20px; padding: 0 7px; border-radius: 999px; background: #F1F1EF; border: 1px solid #E1E2E4; font-size: 11px; font-weight: 700; color: #3B3F45; white-space: nowrap; }
.v4-bo-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 12px; }
.v4-bo-nazev { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.v4-bo-cena { font-family: var(--v4-nadpisy); font-weight: 700; font-size: 17px; color: var(--v4-cena); white-space: nowrap; }
.v4-bo-cena-text { color: var(--v4-cena); }
.v4-bo-frci { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.v4-bo-frci a { display: flex; flex-direction: column; gap: 6px; }
.v4-bo-frci-obal { position: relative; display: block; aspect-ratio: 3 / 4; border-radius: 10px; overflow: hidden; background: #EBEBE8; }
.v4-bo-frci-obal img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.v4-bo-poradi-odznak { position: absolute; left: 8px; top: 8px; min-width: 28px; height: 28px; padding: 0 6px; border-radius: 999px; background: var(--v4-grafit); color: #FFFFFF; font-weight: 700; font-size: 13px; display: flex; align-items: center; justify-content: center; }
.v4-bo-dvojice { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.v4-bo-prepinac { display: none; }
.v4-bo-seznam { margin: 0; padding: 0; list-style: none; }
.v4-bo-radek { display: grid; grid-template-columns: 26px 36px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 8px 0; border-top: 1px solid #EEEEEC; }
.v4-bo-radek-bez-obalu { grid-template-columns: minmax(0, 1fr) auto; }
.v4-bo-radek-clovek { grid-template-columns: 18px 30px minmax(0, 1fr) auto; gap: 8px; }
.v4-bo-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.v4-bo-poradi { font-family: var(--v4-nadpisy); font-size: 18px; font-weight: 700; color: #8A8F98; text-align: center; }
.v4-bo-radek-clovek .v4-bo-poradi { font-size: 15px; }
.v4-bo-obal { width: 36px; height: 48px; border-radius: 6px; object-fit: cover; background: #EBEBE8; }
.v4-bo-hodnota { font-size: 12px; font-weight: 700; color: #3B3F45; white-space: nowrap; }
.v4-bo-prilezitosti { background: #FFF7EC; border-color: #F6D3A8; }
.v4-bo-prilezitosti-mrizka { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.v4-bo-prilezitosti-mrizka li { background: #FFFFFF; border: 1px solid #F1DDC3; border-radius: 12px; padding: 4px 12px 12px; display: flex; flex-direction: column; gap: 8px; }
.v4-bo-prilezitosti-mrizka .v4-bo-radek { grid-template-columns: 36px minmax(0, 1fr); border-top: 0; }
.v4-bo-prilezitosti-mrizka .v4-tlacitko { height: 34px; font-size: 13px; }
.v4-bo-tri { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: start; }
.v4-bo-zmena { padding: 3px 9px; border-radius: 999px; font-weight: 700; font-size: 13px; white-space: nowrap; }
.v4-bo-zmena-dolu { background: var(--v4-zelena-svetla); color: var(--v4-zelena-text); }
.v4-bo-zmena-nahoru { background: #FDEBD8; color: #8A3F00; }
.v4-bo-legenda { display: flex; gap: 12px; font-size: 12px; color: var(--v4-text-tlumeny); white-space: nowrap; }
.v4-bo-legenda span { display: flex; align-items: center; gap: 5px; }
.v4-bo-legenda i { width: 10px; height: 10px; border-radius: 3px; }
.v4-bo-pruhy { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.v4-bo-pruh-radek { display: grid; grid-template-columns: 76px minmax(0, 1fr) 70px; gap: 10px; align-items: center; }
.v4-bo-pruh-zanr { grid-template-columns: 130px minmax(0, 1fr) 44px; }
.v4-bo-pruh-nazev { font-weight: 600; font-size: 13px; }
.v4-bo-pruh-dvojice { display: flex; flex-direction: column; gap: 3px; }
.v4-bo-pruh-dvojice i, .v4-bo-legenda i { display: block; }
.v4-bo-pruh-dvojice i { height: 8px; border-radius: 4px; }
.v4-bo-pruh-nabidky { background: var(--v4-grafit); }
.v4-bo-pruh-poptavky { background: var(--v4-oranzova); }
.v4-bo-pruh-dvojice .v4-bo-pruh-zanr-cara { height: 10px; border-radius: 5px; background: #3B3F45; }
.v4-bo-pruh-cisla { font-size: 12px; text-align: right; }
.v4-bo-ctyri { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; align-items: start; }
.v4-bo-ctyri .v4-bo-meta { margin-bottom: 4px; }
.v4-bo-pata { margin: 0; font-size: 12px; text-align: center; }
@media (max-width: 1199.98px) {
  .v4-bo-ctyri { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v4-bo-tri { grid-template-columns: 1fr 1fr; }
  .v4-bo-prilezitosti-mrizka { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767.98px) {
  .v4-bo-uvod, .v4-bo-sekce { padding: 14px; }
  .v4-bo-uvod-hlava { flex-direction: column; align-items: flex-start; gap: 4px; }
  .v4-bo-cipy, .v4-bo-kotvy { flex-wrap: nowrap; overflow-x: auto; margin: 0 -14px; padding: 0 14px 2px; }
  .v4-bo-kotvy { margin: 0 -16px; padding: 0 16px 2px; }
  .v4-bo-cisla { grid-template-columns: 1fr 1fr; }
  .v4-bo-cisla div:nth-child(odd) { border-left: 0; }
  .v4-bo-cisla div:nth-child(n+3) { border-top: 1px solid #EEEEEC; }
  .v4-bo-cisla div:last-child { grid-column: 1 / -1; }
  .v4-bo-frci { display: flex; overflow-x: auto; margin: 0 -14px; padding: 0 14px 2px; gap: 10px; }
  .v4-bo-frci li { flex: 0 0 132px; width: 132px; min-width: 0; }
  .v4-bo-dvojice, .v4-bo-tri, .v4-bo-prilezitosti-mrizka, .v4-bo-ctyri { grid-template-columns: minmax(0, 1fr); }
  .v4-bo-hlava { flex-direction: column; gap: 4px; }
  /* přepínač žebříčků: s JS jen vybraný, bez JS všechny pod sebou */
  .v4-js .v4-bo-prepinac { display: grid; grid-template-columns: 1fr 1fr; background: #F1F1EF; border-radius: 10px; padding: 3px; }
  .v4-js .v4-bo-prepinac button { height: 36px; border: 0; border-radius: 8px; background: transparent; font: inherit; font-weight: 600; color: var(--v4-text-tlumeny); }
  .v4-js .v4-bo-prepinac button[aria-pressed='true'] { background: #FFFFFF; color: var(--v4-text); font-weight: 700; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08); }
  .v4-js .v4-bo-prepinac-cipy { display: flex; overflow-x: auto; gap: 6px; background: none; padding: 0; margin: 0 -14px; padding: 0 14px 2px; }
  .v4-js .v4-bo-prepinac-cipy button { flex: 0 0 auto; height: 34px; padding: 0 12px; border: 1px solid var(--v4-okraj-pole); border-radius: 999px; background: #FFFFFF; }
  .v4-js .v4-bo-prepinac-cipy button[aria-pressed='true'] { background: var(--v4-grafit); border-color: var(--v4-grafit); color: #FFFFFF; box-shadow: none; }
  .v4-js .v4-bo-prepinane [data-panel]:not(button) { display: none; }
  .v4-js .v4-bo-prepinane[data-prepinac='nabizene'] [data-panel='nabizene']:not(button),
  .v4-js .v4-bo-prepinane[data-prepinac='shanene'] [data-panel='shanene']:not(button),
  .v4-js .v4-bo-prepinane[data-prepinac='oblibeni'] [data-panel='oblibeni']:not(button),
  .v4-js .v4-bo-prepinane[data-prepinac='kladni'] [data-panel='kladni']:not(button),
  .v4-js .v4-bo-prepinane[data-prepinac='nejaktivnejsi'] [data-panel='nejaktivnejsi']:not(button),
  .v4-js .v4-bo-prepinane[data-prepinac='veterani'] [data-panel='veterani']:not(button) { display: flex; }
  .v4-js .v4-bo-ctyri [data-panel]:not(button) { flex-direction: column; }
  .v4-js .v4-bo-ctyri h3 { display: none; }
}

/* Patička */
.v4-paticka { background: var(--v4-karta); border-top: 3px solid var(--v4-oranzova); margin-top: 24px; }
.v4-paticka-obsah { display: flex; flex-wrap: wrap; gap: 32px; padding-top: 28px; padding-bottom: 28px; }
.v4-paticka-sloupec { flex: 1 1 160px; display: flex; flex-direction: column; gap: 8px; }
.v4-paticka-hlavni { flex: 1 1 260px; }
.v4-paticka-hlavni img { height: auto; display: block; }
.v4-paticka-admin { font-size: 12px; }

/* Mobil a tablet */
@media (max-width: 991.98px) {
  .v4-telo { grid-template-columns: minmax(0, 1fr); }
  .v4-hlavni, .v4-bok { grid-column: 1; }
  .v4-bok { grid-row: 2; }
  .v4-bok-reklamy, .v4-bok .v4-filtry { display: none; }
  .v4-filtry-mobil { display: block; }
  .v4-kompakt-hlavicka, .v4-radek { grid-template-columns: 36px minmax(0, 1fr) 150px 118px 104px; }
  .v4-radek-misto, .v4-radek-datum, .v4-kompakt-hlavicka span:nth-child(4), .v4-kompakt-hlavicka span:nth-child(5) { display: none; }
}
@media (max-width: 767.98px) {
  .v4-obal { padding-left: 16px; padding-right: 16px; }
  .v4-jen-desktop { display: none !important; }
  .v4-jen-mobil { display: inline-flex !important; }
  .v4-hlavicka-radek { flex-wrap: wrap; gap: 12px; padding-top: 12px; padding-bottom: 12px; }
  .v4-logo { flex: 1 1 auto; }
  .v4-logo img { width: 190px; }
  .v4-ucet { gap: 8px; }
  .v4-hledani { order: 3; flex: 1 1 100%; }
  .v4-hledani select { max-width: 120px; }
  .v4-tlacitko { height: 42px; padding: 0 12px; }
  /* mobil: čipy v jednom vodorovně posuvném řádku, bez tlačítka */
  .v4-platformy { padding-bottom: 12px; }
  .v4-platformy-cipy, .v4-js .v4-platformy-sbalene .v4-platformy-cipy, .v4-js .v4-platformy-rozbalene .v4-platformy-cipy { flex-wrap: nowrap; max-height: none; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .v4-platformy-preteka .v4-platformy-vse { display: none; }
  .v4-telo { padding-top: 12px; gap: 12px; }
  .v4-nadpis { font-size: 24px; }
  .v4-nadpis-pocet { font-size: 14px; }
  .v4-paticka-obsah { gap: 20px; }

  /* karta: obal přes celou výšku vlevo, vpravo text a pod ním akce (Hra a Žánr jen ikony) */
  .v4-inzerat { grid-template-columns: 117px minmax(0, 1fr); grid-template-rows: auto auto; gap: 0 12px; }
  /* e-mail, telefon a místo jsou v detailu inzerátu; na mobilu by zvedly kartu a obal by se víc ořízl */
  .v4-inzerat-kontakt, .v4-inzerat-misto { display: none !important; }
  .v4-inzerat-posta-mobil { flex-wrap: wrap; align-items: center; gap: 6px; }
  .v4-inzerat-obal { grid-row: 1 / span 2; }
  .v4-inzerat-text { padding: 10px 12px 0 0; gap: 4px; }
  .v4-inzerat-akce { grid-column: 2; padding: 8px 12px 10px 0; }
  .v4-inzerat-tlacitka { grid-template-columns: 1fr auto auto; }
  .v4-tlacitko-kontakt { grid-column: 1; grid-row: 1; height: 34px; font-size: 13px; }
  .v4-male-tlacitko { width: 34px; height: 34px; padding: 0; border: 0; background: var(--v4-pozadi); }
  .v4-male-tlacitko-text { display: none; }
  .v4-inzerat-titulek { flex-wrap: nowrap; align-items: flex-start; }
  /* název na jeden řádek, delší končí třemi tečkami (hru ukazuje obal, celý název je v detailu) */
  .v4-inzerat-nazev { flex: 1 1 auto; min-width: 0; font-size: 18px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .v4-inzerat-popis { font-size: 13px; }
  .v4-inzerat-meta { gap: 4px 12px; font-size: 12px; }
  .v4-inzerat-meta .v4-ikona { display: none; }

  /* kompaktní: jeden řádek s cenou a kontaktem */
  .v4-kompakt-hlavicka { display: none; }
  .v4-radek { grid-template-columns: 32px minmax(0, 1fr) auto auto; gap: 10px; padding: 9px 10px 9px 12px; }
  .v4-radek-nazev { font-size: 16px; }
  .v4-radek-meta { color: var(--v4-text-tlumeny); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block !important; }
  .v4-radek-popis { display: none; }
  .v4-radek-cena .v4-cena { font-size: 18px; }
  .v4-radek-akce .v4-ikona-tlacitko { width: 34px; height: 34px; }
  .v4-strankovani a, .v4-strankovani span { min-width: 44px; height: 44px; }

  /* detail: vše pod sebou, Kontaktovat v akcích pod cenou, prodejce před formulářem */
  .v4-detail { grid-template-columns: 1fr; gap: 14px; padding: 16px; }
  .v4-detail-obal { justify-self: center; width: 150px; }
  .v4-detail-nazev { font-size: 30px; }
  .v4-detail-cena { justify-content: space-between; }
  .v4-detail-cena .v4-cena { font-size: 36px; }
  .v4-detail-cena > span { align-items: flex-end; text-align: right; }
  .v4-detail-akce .v4-tlacitko { flex: 1; height: 40px; font-size: 13px; padding: 0 8px; }
  /* Kontaktovat na celý řádek nad Stejná hra / Stejný žánr */
  .v4-detail-akce .v4-kontakt-otevrit { flex: 1 0 100%; height: 46px; font-size: 15px; }
  .v4-detail-udaje { grid-template-columns: 96px 1fr; font-size: 13px; }
  .v4-detail-mrizka { grid-template-columns: 1fr; gap: 12px; }
  .v4-prodejce, .v4-kontakt { grid-column: 1; }
  .v4-prodejce { grid-row: 1; padding: 14px; scroll-margin-top: 12px; }
  .v4-kontakt { grid-row: 2; padding: 14px; }
  .v4-js .v4-kontakt:not(.v4-kontakt-otevreny) { display: none; }
  .v4-kontakt-odeslat { flex-direction: column-reverse; align-items: stretch; text-align: center; }
  .v4-kontakt-odeslat .v4-tlacitko { height: 48px; font-size: 15px; }
  .v4-detail-dvojice { grid-template-columns: 1fr; gap: 12px; }
  .v4-dalsi-mrizka { display: flex; overflow-x: auto; margin: 0 -16px; padding: 0 16px 4px; }
  .v4-dalsi-polozka { flex: 0 0 120px; width: 120px; }

  /* profil: hlavička pod sebou, čísla 2 × 2, záložky přes celou šířku */
  .v4-profil-hlava { flex-wrap: wrap; gap: 14px; padding: 16px; }
  .v4-profil-hlava .v4-avatar { width: 72px; height: 72px; }
  .v4-profil-jmeno h1 { font-size: 28px; }
  .v4-profil-akce { flex: 1 1 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .v4-profil-akce .v4-tlacitko:first-child { grid-column: 1 / -1; height: 46px; font-size: 15px; }
  .v4-profil-cisla { grid-template-columns: 1fr 1fr; }
  .v4-profil-cislo { padding: 12px 16px; border-bottom: 1px solid #EEEEEC; }
  .v4-profil-cislo:nth-child(3) { border-right: 0; }
  .v4-profil-rozpad { grid-column: 1 / -1; grid-row: 2; border-right: 0; border-bottom: 0; }
  /* počet "oblíbený" je na mobilu v tlačítku ♡ */
  .v4-profil-cislo:last-child { display: none; }
  .v4-profil-cislo strong { font-size: 26px; }
  .v4-profil-detaily { grid-template-columns: 1fr; gap: 14px; padding: 14px 16px 16px; }
  .v4-profil-lista { padding: 8px; }
  .v4-profil-zalozky { flex: 1 1 100%; }
  .v4-profil-zalozky a { padding: 8px 4px; }
  .v4-profil-filtry { justify-content: stretch; }
  .v4-profil-filtry select { flex: 1; min-width: 0; height: 40px; }
  .v4-sekce-nadpis { font-size: 20px; }
  .v4-hodnoceni { padding: 12px; }
  .v4-oblibene-hry { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .v4-protistrany, .v4-vypis-karty .v4-protistrany { padding-left: 12px; }

  /* vložení: vše pod sebou, popisky nad poli, tlačítko dole přilepené */
  .v4-kroky { gap: 6px; font-size: 12px; }
  .v4-kroky-cara { flex: 1 1 16px; }
  .v4-vyber-hlava { padding: 16px; }
  .v4-vyber-platformy { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px; padding: 0 16px 2px; }
  .v4-vyber-pole { height: 48px; }
  .v4-vysledky-hlava, .v4-vysledky-napoveda { padding-left: 16px; padding-right: 16px; }
  .v4-vysledek { flex-wrap: wrap; padding: 10px 16px; gap: 8px 12px; }
  .v4-vysledek-text { flex: 1 1 calc(100% - 60px); }
  .v4-vysledek .v4-tlacitko { flex: 1; }
  .v4-vysledek-bez .v4-tlacitko { flex-basis: 100%; }
  .v4-vlozeni { grid-template-columns: 1fr; }
  .v4-vlozeni-hra { padding: 12px 14px; }
  .v4-vlozeni-radky { grid-template-columns: 1fr; gap: 6px; padding: 14px; }
  .v4-vlozeni-popisek { padding-top: 10px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.4px; color: var(--v4-text-tlumeny); }
  .v4-prepinac-pole, .v4-pole-uzke, .v4-volby { width: 100%; max-width: none; }
  .v4-vlozeni-pata { position: sticky; bottom: 0; padding: 10px 14px; background: #FFFFFF; box-shadow: 0 -4px 14px rgba(0,0,0,0.06); }
  .v4-vlozeni-pata .v4-tlacitko-velke { flex: 1; }
  .v4-vlozeni-mezera { display: none; }
  .v4-uprava-sekce .v4-podnadpis { padding: 14px 14px 0; }
  .v4-uprava-sekce .v4-vlozeni-radky { padding-top: 6px; }
  .v4-uprava-heslo { grid-template-columns: 1fr; padding: 12px 14px; }
  .v4-pole-kratke { max-width: none; }
}
