/* Rychlý výběr auta na homepage (templates/render/rychly_vyber.tpl, js/rychly-vyber.js) */
.rv { background: linear-gradient(180deg, #f4f4f4 0%, #fff 100%); border-bottom: 1px solid #e0e0e0; padding: 28px 15px 22px; font-family: 'Roboto', sans-serif; color: #211d1e; }
.rv-in { max-width: 1120px; margin: 0 auto; }
.rv [hidden] { display: none !important; }
.rv-h { font-size: 28px; line-height: 1.2; font-weight: 700; margin: 0 0 6px; text-align: center; text-transform: none; color: #211d1e; text-wrap: balance; }
.rv-sub { font-size: 15px; color: #707070; margin: 0 0 16px; text-align: center; text-wrap: balance; }
.rv-sub b { color: #211d1e; }

.rv-search { position: relative; max-width: 720px; margin: 0 auto; z-index: 5; } /* pod fixní #header (z-index 10) */
.rv-ico { position: absolute; left: 18px; top: 50%; width: 22px; height: 22px; margin-top: -11px; color: #8a8a8a; pointer-events: none; }
/* .rv .rv-q: musí přebít globální input[type="text"] ze style.css (šířka 197px, padding 15px) */
.rv .rv-q { display: block; width: 100%; box-sizing: border-box; height: 58px; padding: 0 52px 0 52px; font: 400 18px 'Roboto', sans-serif; color: #211d1e;
	background: #fff; border: 2px solid #d6d6d6; border-radius: 3px; outline: none; box-shadow: 0 4px 16px rgba(0,0,0,.06); -webkit-appearance: none; transition: border-color .15s, box-shadow .15s; }
.rv .rv-q:focus { border-color: #ff0000; box-shadow: 0 4px 20px rgba(255,0,0,.14); }
.rv-q::placeholder { color: #8a8a8a; }
.rv.is-open .rv-q { border-radius: 3px 3px 0 0; border-bottom-color: #e0e0e0; }
.rv-clear { position: absolute; right: 12px; top: 50%; width: 34px; height: 34px; margin-top: -17px; border: 0; border-radius: 50%; background: #f2f2f2; color: #707070; font-size: 22px; line-height: 34px; cursor: pointer; padding: 0; }
.rv-clear:hover { background: #e0e0e0; color: #211d1e; }

.rv-list { position: absolute; left: 0; right: 0; top: 100%; max-height: 460px; overflow-y: auto; -webkit-overflow-scrolling: touch; background: #fff;
	border: 2px solid #ff0000; border-top: 0; border-radius: 0 0 3px 3px; box-shadow: 0 16px 32px rgba(0,0,0,.14); text-align: left; }
.rv.is-open .rv-q { border-color: #ff0000; }
.rv-head { display: flex; align-items: center; gap: 12px; padding: 12px 18px; background: #f7f7f7; border-bottom: 1px solid #e0e0e0; position: sticky; top: 0; z-index: 2; }
.rv-head .rv-logo { width: 44px; height: 40px; }
.rv-head-t { font-size: 17px; font-weight: 700; }
.rv-head-c { font-size: 13px; color: #8a8a8a; margin-left: auto; }
.rv-grp { padding: 10px 18px 4px; font-size: 12px; font-weight: 700; letter-spacing: .04em; color: #8a8a8a; }
.rv-row { display: flex; align-items: center; gap: 12px; padding: 9px 18px; border-top: 1px solid #f2f2f2; cursor: pointer; }
.rv-grp + .rv-row { border-top: 0; }
.rv-row:hover, .rv-row.is-active { background: #fff3f3; }
.rv-row .rv-logo { width: 36px; height: 33px; flex: 0 0 36px; }
.rv-car { flex: 1 1 auto; min-width: 0; }
.rv-car-n { display: block; font-size: 16px; font-weight: 500; color: #211d1e; overflow: hidden; text-overflow: ellipsis; }
.rv-car-n mark { background: none; color: #ff0000; font-weight: 700; }
.rv-car-b { font-weight: 400; color: #707070; }
.rv-car-p { display: block; font-size: 12px; color: #8a8a8a; margin-top: 1px; }
.rv-sizes { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; flex: 0 1 auto; max-width: 55%; }
.rv-size { display: inline-block; min-width: 36px; padding: 8px 6px; box-sizing: border-box; text-align: center; font-size: 14px; font-weight: 700; line-height: 1;
	color: #211d1e !important; background: #fff; border: 1.5px solid transparent; border-radius: 9px; box-shadow: 0 2px 8px rgba(0,0,0,.12); text-decoration: none !important; transition: all .12s; }
.rv-size:hover, .rv-size.is-active { background: #ff0000; border-color: #ff0000; color: #fff !important; }
.rv-size.is-hit { border-color: #ff0000; color: #ff0000; }
.rv-hint { padding: 10px 18px; font-size: 13px; color: #8a8a8a; border-top: 1px solid #f2f2f2; background: #fafafa; }
.rv-hint a { color: #ff0000; }
.rv-empty { padding: 18px; font-size: 15px; color: #707070; }
.rv-empty a { color: #ff0000; font-weight: 500; }
.rv-loading { padding: 18px; color: #8a8a8a; }

.rv-logo { display: inline-flex; align-items: center; justify-content: center; background: #fff; border-radius: 10px; overflow: hidden; }
.rv-logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.rv-mono { font-size: 20px; font-weight: 700; color: #8a8a8a; }

.rv-brands, .rv-all { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 18px auto 0; }
.rv-brand { display: flex; flex-direction: column; align-items: center; width: 72px; padding: 6px 2px 4px; border: 1px solid transparent; border-radius: 12px; background: none;
	text-decoration: none !important; color: #211d1e; cursor: pointer; font: inherit; transition: background .12s, border-color .12s, transform .12s; }
.rv-brand:hover, .rv-brand:focus-visible, .rv-brand.is-active { background: #fff; border-color: #ff0000; transform: translateY(-1px); outline: none; }
.rv-brand .rv-logo { width: 58px; height: 53px; border: 1px solid #ececec; }
.rv-bname { margin-top: 5px; font-size: 12px; line-height: 1.2; text-align: center; color: #211d1e; max-width: 70px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rv-plus { font-size: 16px; color: #ff0000; }
.rv-all { padding-top: 14px; border-top: 1px dashed #d6d6d6; }
.rv-brand-s { width: 64px; }
.rv-brand-s .rv-logo { width: 48px; height: 44px; }

@media (max-width: 700px) {
	.rv { padding: 18px 10px 14px; }
	.rv-h { font-size: 21px; }
	.rv-sub { font-size: 13px; margin-bottom: 12px; }
	.rv .rv-q { height: 52px; font-size: 16px; padding-left: 46px; }
	.rv-ico { left: 15px; }
	.rv-list { max-height: 62vh; }
	/* mobil: kompaktní řádky bez velikostí – klepnutí otevře krok s dlaždicemi */
	.rv-row { padding: 11px 12px; min-height: 48px; box-sizing: border-box; }
	.rv-row[data-i] .rv-sizes { display: none; }
	.rv-row[data-i]::after, .rv-row-brand::after { content: '›'; margin-left: auto; padding-left: 8px; font-size: 24px; line-height: 1; color: #b0b0b0; }
	.rv-head { padding: 8px 12px; }
	.rv-head .rv-logo { width: 34px; height: 31px; }
	.rv-brands { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 4px; margin-top: 14px; }
	.rv-brand { flex: 0 0 64px; width: 64px; }
	.rv-brand .rv-logo { width: 50px; height: 46px; }
}

/* 2. krok: velikost disku (dlaždice) */
.rv-pick { padding: 14px 18px 18px; }
.rv-back { border: 0; background: none; padding: 4px 0; font: 500 14px 'Roboto', sans-serif; color: #707070; cursor: pointer; }
.rv-back:hover { color: #ff0000; }
.rv-pick-car { display: flex; align-items: center; gap: 12px; margin: 10px 0 4px; font-size: 17px; }
.rv-pick-car .rv-logo { width: 44px; height: 40px; flex: 0 0 44px; }
.rv-pick-car small { display: block; font-size: 12px; color: #8a8a8a; margin-top: 2px; }
.rv-pick-q { margin: 16px 0 12px; font-size: 18px; font-weight: 700; text-align: center; }
.rv-pick-tiles { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }
.rv-tile { display: flex; align-items: center; justify-content: center; width: 60px; height: 60px; box-sizing: border-box; border-radius: 14px; background: #fff;
	border: 2px solid transparent; box-shadow: 0 4px 14px rgba(0,0,0,.13); font-size: 18px; font-weight: 700; color: #211d1e !important; text-decoration: none !important;
	transition: transform .12s, box-shadow .12s, border-color .12s, color .12s; }
.rv-tile:hover, .rv-tile.is-active { border-color: #ff0000; color: #ff0000 !important; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(255,0,0,.18); }
.rv-tile:active { background: #ff0000; color: #fff !important; }
.rv-pick-help { margin: 18px auto 0; max-width: 460px; font-size: 13px; line-height: 1.45; color: #8a8a8a; text-align: center; }
.rv-pick-help b { color: #211d1e; }
@media (max-width: 700px) {
	.rv-pick { padding: 12px 12px 16px; }
	.rv-pick-tiles { gap: 10px; }
	.rv-tile { width: 62px; height: 62px; }
}

/* ztmavení stránky při aktivním vyhledávání (jako na velkých e-shopech) */
.rv-dim { position: fixed; top: 0; right: 0; bottom: 0; left: 0; background: rgba(0,0,0,.5); z-index: 9990; opacity: 0; visibility: hidden; transition: opacity .18s, visibility 0s .18s; }
.rv-dim.is-on { opacity: 1; visibility: visible; transition: opacity .18s; }
.rv.is-dim .rv-search { z-index: 9991; }

/* dotyk: žádné „přilepené“ hover zvýraznění po klepnutí */
@media (hover: none) {
	.rv-row:hover { background: none; }
	.rv-size:hover { background: #fff; border-color: #d6d6d6; color: #211d1e !important; }
	.rv-tile:hover { border-color: transparent; color: #211d1e !important; transform: none; box-shadow: 0 4px 14px rgba(0,0,0,.13); }
	.rv-brand:hover { background: none; border-color: transparent; transform: none; }
}

/* tlačítko „Zobrazit další značky“ – jen na mobilu (na desktopu je dlaždice +80 v řadě) */
.rv-more-m { display: none; }
@media (max-width: 700px) {
	.rv-brands .rv-more { display: none; }
	.rv-more-m { display: block; width: fit-content; box-sizing: border-box; text-align: center; text-decoration: none !important; margin: 10px auto 0; padding: 9px 18px; border: 1px solid #d6d6d6; border-radius: 3px; background: #fff;
		font: 500 14px 'Roboto', sans-serif; color: #211d1e; cursor: pointer; }
	.rv-more-m[aria-expanded="true"] { color: #707070; }
	/* jemný gradient na krajích swipovací řady log (maska – layout se nemění) */
	.rv-brands { --rv-l: 0px; --rv-r: 0px;
		-webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--rv-l), #000 calc(100% - var(--rv-r)), transparent 100%);
		mask-image: linear-gradient(to right, transparent 0, #000 var(--rv-l), #000 calc(100% - var(--rv-r)), transparent 100%); }
	.rv-brands.is-l { --rv-l: 28px; }
	.rv-brands.is-r { --rv-r: 28px; }
}

/* mobil: mřížka dalších značek – 3 na řádek, celá sekce bílá, velká loga bez rámečků a podkladu */
@media (max-width: 700px) {
	.rv-all { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px 14px; margin: 14px -10px -14px; padding: 28px 18px 32px; background: #fff; border-top: 1px solid #ececec; }
	.rv-all .rv-brand-s, .rv-all .rv-brand-s:hover, .rv-all .rv-brand-s:focus-visible { width: auto; padding: 4px 2px; background: none; border: 0; box-shadow: none; transform: none; }
	.rv-all .rv-brand-s .rv-logo { width: 76px; height: 60px; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
	.rv-all .rv-brand-s .rv-mono { font-size: 28px; }
	.rv-all .rv-bname { max-width: 100%; margin-top: 10px; font-size: 16px; font-weight: 500; }
}

/* odsazení pod fixní hlavičku hned z CSS (bez poskočení po načtení a i při obnovení odscrollované stránky);
   jen když nad blokem není vykreslený slider. JS clearHeader() zůstává jako pojistka pro prohlížeče bez :has() */
#video:not(:has(.revslider > *)) ~ .rv { margin-top: 140px; }
@media (max-width: 1002px) { #video:not(:has(.revslider > *)) ~ .rv { margin-top: 7px; } }

.rv-strip { position: relative; }
.rv-strip-hint { display: none; }
@media (max-width: 700px) {
	/* šipka u pravého gradientu: poskakuje doprava, po prvním posunu řady zmizí */
	.rv-strip-hint { display: block; position: absolute; right: 0; top: 18px; width: 22px; text-align: center; font-size: 30px; line-height: 1; color: #707070;
		pointer-events: none; transition: opacity .35s; animation: rv-nudge 1.1s ease-in-out infinite; }
	.rv-strip-hint.is-gone { opacity: 0; animation: none; }
}
@keyframes rv-nudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(5px); } }
@media (prefers-reduced-motion: reduce) { .rv-strip-hint { animation: none; } }

/* mobil: procházení značka → řada → generace → velikost (místo mřížky, bez vyhledávacího pole) */
.rv-browse { margin: 14px -10px -14px; padding: 16px 16px 28px; background: #fff; border-top: 1px solid #ececec; text-align: left; }
.rv-b-back { border: 0; background: none; padding: 6px 0; font: 500 15px 'Roboto', sans-serif; color: #707070; cursor: pointer; }
.rv-b-head { display: flex; align-items: center; gap: 14px; margin: 10px 0 18px; }
.rv-b-head .rv-logo { width: 64px; height: 52px; flex: 0 0 64px; }
.rv-b-head b { display: block; font-size: 22px; line-height: 1.2; color: #211d1e; }
.rv-b-head small { display: block; margin-top: 2px; font-size: 13px; color: #8a8a8a; }
.rv-b-fams { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.rv-b-fam { display: flex; flex-direction: column; justify-content: center; min-height: 64px; padding: 10px 14px; box-sizing: border-box; border: 1px solid #e2e2e2; border-radius: 3px;
	background: #fff; font: 700 17px 'Roboto', sans-serif; color: #211d1e; text-align: left; cursor: pointer; }
.rv-b-fam small { margin-top: 3px; font-size: 12px; font-weight: 400; color: #8a8a8a; }
.rv-b-gen { display: flex; align-items: center; width: 100%; min-height: 64px; padding: 12px 4px; box-sizing: border-box; border: 0; border-bottom: 1px solid #f0f0f0;
	background: none; font: 500 18px 'Roboto', sans-serif; color: #211d1e; text-align: left; cursor: pointer; }
.rv-b-gen small { display: block; margin-top: 3px; font-size: 13px; font-weight: 400; color: #8a8a8a; }
.rv-b-gen::after { content: '›'; margin-left: auto; padding-left: 10px; font-size: 26px; color: #b0b0b0; }
.rv-b-fam:active, .rv-b-gen:active { background: #fff3f3; }

/* dlaždice „Všechny značky“: popisek na dva řádky místo „Všechny zn…“ */
.rv-more .rv-bname { white-space: normal; line-height: 1.15; }
