/* HR Racing – styly (frontend + admin) */

/* tabulky */
.hrr-table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1.5em;
	font-variant-numeric: tabular-nums;
}
.hrr-table th,
.hrr-table td {
	padding: 8px 12px;
	text-align: left;
	border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}
.hrr-table thead th {
	text-transform: uppercase;
	font-size: 0.78em;
	letter-spacing: 0.06em;
	border-bottom: 2px solid currentColor;
}
.hrr-table tbody tr:nth-child(odd) { background: rgba(0, 0, 0, 0.03); }
.hrr-table tbody tr:first-child td { font-weight: 700; } /* lídr tabulky */

/* Podniky jako KARTY (název → čas → tratě → celkem km, vše vycentrované).
   PC: 3 karty v řadě, tablet 2, mobil 1. Poslední neúplná řada se vždy
   roztáhne přes celou šířku (flex-grow) – platí pro libovolný počet podniků. */
.hrr-events-table { display: block; width: 100%; }
.hrr-events-table thead { display: none; }
.hrr-events-table tbody { display: flex; flex-wrap: wrap; gap: 20px; }
.hrr-events-table tbody tr {
	display: flex;
	flex-direction: column;
	text-align: center;
	flex: 1 1 calc(33.333% - 14px);   /* 3 v řadě; flex-grow dotáhne poslední řadu */
	min-width: 220px;
	box-sizing: border-box;
	padding: 20px 16px;
	background: rgba(255, 255, 255, 0.02);
	border: 1px solid #26262c;
	border-radius: 10px;
}
.hrr-events-table tbody tr:nth-child(odd) { background: rgba(255, 255, 255, 0.02); } /* přebít zebru z .hrr-table */
.hrr-events-table tbody tr td { display: block; width: 100%; border: 0; padding: 0; }
.hrr-events-table tbody tr:first-child td { font-weight: 400; } /* sjednotit váhu karet */
.hrr-events-table tbody tr td:first-child { display: none; }    /* pořadové číslo skryto */
/* 1) název + čas nahoře */
.hrr-events-table td.hrr-event-cell { order: 1; margin-bottom: 14px; }
.hrr-events-table td.hrr-event-cell strong { font-size: 1.15rem; }
.hrr-events-table .hrr-event-when { margin-top: 6px; font-size: 0.9em; }
/* 2) tratě uprostřed */
.hrr-events-table tbody tr td:nth-child(3) { order: 2; line-height: 1.7; }
.hrr-events-table tbody tr td:nth-child(3) .hrr-service-zone { margin: 8px 0; }
/* 3) celkem km dole */
.hrr-events-table tbody tr td:nth-child(4) {
	order: 3;
	margin-top: 16px;
	padding-top: 12px;
	border-top: 1px solid #26262c;
	font-weight: 700;
}
.hrr-events-table tbody tr td:nth-child(4)::before { content: "Celkem km: "; font-weight: 400; color: #9a9aa2; }

/* tablet: 2 karty v řadě */
@media (max-width: 900px) {
	.hrr-events-table tbody tr { flex-basis: calc(50% - 10px); }
}
/* mobil: 1 karta v řadě (přes celou šířku) */
@media (max-width: 600px) {
	.hrr-events-table tbody tr { flex-basis: 100%; }
}

/* tlačítka */
.hrr-btn {
	display: inline-block;
	padding: 10px 22px;
	background: #d40000;
	color: #fff !important;
	text-decoration: none;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border: 0;
	border-radius: 3px;
	cursor: pointer;
}
.hrr-btn:hover { background: #a80000; }
.hrr-btn-secondary { background: #444; }
.hrr-btn-club { background: #111; }
.hrr-btn-disabled { background: #888; cursor: not-allowed; }

/* hlášky */
.hrr-msg { padding: 10px 14px; margin: 0 0 1em; border-left: 4px solid; }
.hrr-msg-ok  { border-color: #2e7d32; background: rgba(46, 125, 50, 0.08); }
.hrr-msg-err { border-color: #c62828; background: rgba(198, 40, 40, 0.08); }
.hrr-note { font-style: italic; }

/* registrační formulář */
.hrr-reg-form input[type="text"] { width: 100%; max-width: 360px; padding: 8px 10px; }

/* historie šampionátů */
.hrr-history-item {
	display: flex;
	gap: 20px;
	align-items: center;
	padding: 16px 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}
.hrr-history-image img { max-width: 220px; height: auto; display: block; border-radius: 4px; }
.hrr-history-body h3 { margin: 0 0 4px; }

/* karty (dashboard, profil) */
.hrr-cards { display: flex; gap: 16px; flex-wrap: wrap; margin: 1em 0; }
.hrr-card {
	flex: 1 1 160px;
	max-width: 240px;
	padding: 16px;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 4px;
	text-align: center;
	font-size: 0.85em;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.hrr-card .hrr-num { display: block; font-size: 2.2em; font-weight: 800; line-height: 1.2; }

/* odznaky */
.hrr-badges { display: flex; gap: 16px; flex-wrap: wrap; }
.hrr-badge-item {
	position: relative;
	text-align: center;
	max-width: 110px;
	font-size: 0.85em;
	cursor: pointer;
	outline: none;
}
.hrr-badge-item img { display: block; margin: 0 auto 6px; border-radius: 50%; }
.hrr-badge-item:hover img,
.hrr-badge-item.open img { transform: scale(1.06); transition: transform 0.15s; }
.hrr-badge-desc {
	display: none;
	position: absolute;
	left: 50%;
	bottom: calc(100% + 8px);
	transform: translateX(-50%);
	width: 200px;
	background: #111;
	color: #fff;
	padding: 8px 12px;
	border-radius: 4px;
	font-size: 0.92em;
	line-height: 1.4;
	z-index: 10000;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}
.hrr-badge-desc::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	border: 6px solid transparent;
	border-top-color: #111;
}
.hrr-badge-item.open .hrr-badge-desc { display: block; }
.hrr-hint { margin: -0.4em 0 0.6em; opacity: 0.7; }

/* přehled všech odznaků ([hrr_badges]) */
.hrr-badges-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 16px;
	margin: 1em 0;
}
.hrr-badge-card {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 6px;
	padding: 14px;
}
.hrr-badge-card img { width: 64px; height: 64px; object-fit: contain; border-radius: 50%; flex: 0 0 auto; }
.hrr-badge-card-body strong { display: block; margin-bottom: 4px; }
.hrr-badge-card-body p { margin: 0 0 4px; font-size: 0.92em; }
.hrr-badge-condition { font-weight: 600; }

/* vyhledávání */
.hrr-search { margin: 0 0 0.6em; }
.hrr-search input,
.hrr-filter { padding: 8px 10px; width: 100%; max-width: 280px; }
.hrr-filter-empty { font-style: italic; margin-top: 0.5em; }

/* scrollovací tabulky (cca 15 řádků, pak scroll) */
.hrr-scroll {
	max-height: calc(var(--hrr-rows, 15) * 2.62em + 2.8em); /* řádky + hlavička */
	overflow-y: auto;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 3px;
}
.hrr-scroll .hrr-table { margin: 0; }
.hrr-scroll .hrr-table thead th {
	position: sticky;
	top: 0;
	background: #fff;
	z-index: 1;
	box-shadow: 0 2px 0 currentColor;
	border-bottom: 0;
}

/* admin: podniky a tratě */
.hrr-event-block {
	border: 1px solid #ccd0d4;
	background: #fff;
	padding: 10px 14px;
	margin-bottom: 12px;
	max-width: 640px;
}
.hrr-event-block .hrr-stage-row { margin: 4px 0 4px 14px; }
.hrr-event-total { color: #666; font-style: italic; margin-left: 8px; }

/* záložky výsledků */
.hrr-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 1em; }
.hrr-tab {
	padding: 8px 16px;
	border: 1px solid rgba(0, 0, 0, 0.2);
	background: transparent;
	color: inherit;
	border-radius: 3px;
	cursor: pointer;
	font-weight: 600;
	font-size: 0.85em;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}
.hrr-tab:hover { border-color: #d40000; }
.hrr-tab.active { background: #d40000; border-color: #d40000; color: #fff; }
.hrr-tab-standings { font-weight: 800; }

/* štítek probíhajícího šampionátu */
.hrr-tag-live { background: #2e7d32; }
.hrr-history-active { background: rgba(46, 125, 50, 0.05); }
.hrr-history-item h3 a { text-decoration: none; }
.hrr-history-item h3 a:hover { text-decoration: underline; }

/* rank – jeden řádek, na profilu větší logo */
.hrr-rank { display: flex; align-items: center; gap: 10px; margin: 0 0 1em; }
.hrr-rank small { opacity: 0.75; }
.hrr-rank .hrr-rank-icon { height: 2.6em; }
.hrr-rank-icon {
	height: 1.25em;
	width: auto;
	vertical-align: text-bottom;
	display: inline-block;
}
.hrr-player-rank .hrr-rank-icon { height: 1.1em; margin-right: 6px; vertical-align: -0.15em; }

/* stav registrace v seznamu jezdců */
.hrr-status {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 12px;
	font-size: 0.8em;
	font-weight: 600;
	white-space: nowrap;
}
.hrr-status-ok { background: rgba(46, 125, 50, 0.15); color: #2e7d32; }
.hrr-status-pending { background: rgba(230, 145, 0, 0.15); color: #b36b00; }

/* neschválená registrace ve výsledcích */
.hrr-unpaid { cursor: help; }
.hrr-legend { margin-top: 0.5em; opacity: 0.85; }

/* výherní ceny – prestižní rámeček */
.hrr-prizes {
	position: relative;
	margin: 1.5em 0;
	padding: 20px 24px;
	border: 2px solid #c9a227;
	border-radius: 8px;
	background:
		linear-gradient(135deg, rgba(201, 162, 39, 0.10) 0%, rgba(201, 162, 39, 0.03) 45%, rgba(201, 162, 39, 0.12) 100%);
	box-shadow: 0 2px 14px rgba(201, 162, 39, 0.25), inset 0 0 0 1px rgba(255, 223, 128, 0.35);
}
.hrr-prizes-title {
	margin: 0 0 12px;
	font-size: 1.05em;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #a8821a;
}
.hrr-prizes ul { margin: 0; padding-left: 1.3em; }
.hrr-prizes li {
	margin: 6px 0;
	font-weight: 600;
	font-size: 1.02em;
}
.hrr-prizes li::marker { content: '🏆 '; }

/* startovné */
.hrr-fee {
	display: inline-block;
	padding: 8px 16px;
	border: 2px solid #d40000;
	border-radius: 4px;
	font-size: 1.05em;
	margin: 0 0 1em;
}

/* klikací jméno hráče */
a.hrr-player { text-decoration: underline dotted; cursor: pointer; }
a.hrr-player:hover { text-decoration: underline; }

/* karta hráče – modal */
.hrr-modal-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
.hrr-modal {
	position: relative;
	background: #fff;
	color: #222;
	max-width: 520px;
	width: 100%;
	max-height: 85vh;
	overflow-y: auto;
	border-radius: 6px;
	padding: 24px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}
.hrr-modal-close {
	position: absolute;
	top: 8px;
	right: 12px;
	border: 0;
	background: none;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	color: #666;
}
.hrr-modal-close:hover { color: #000; }
.hrr-modal-loading { margin: 30px 0; text-align: center; font-style: italic; }

.hrr-player-head { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 14px; }
.hrr-player-head h3 { margin: 0; }
.hrr-player-rank,
.hrr-rank-name {
	display: inline-block;
	padding: 2px 12px;
	background: #d40000;
	color: #fff;
	border-radius: 12px;
	font-weight: 700;
	font-size: 0.85em;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.hrr-player-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	gap: 10px;
	margin-bottom: 14px;
}
.hrr-player-stats > div {
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 4px;
	padding: 10px;
	text-align: center;
	font-size: 0.78em;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}
.hrr-player-stats > div span { display: block; font-size: 1.9em; font-weight: 800; }

/* štítky hra / typ rally */
.hrr-champ-meta { margin: 0 0 1em; }
.hrr-tag {
	display: inline-block;
	padding: 3px 12px;
	background: #111;
	color: #fff;
	border-radius: 12px;
	font-size: 0.75em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.hrr-tag-type { background: #d40000; }

/* seznam odjetých šampionátů */
.hrr-champ-list { margin: 0 0 1em; padding-left: 1.2em; }
.hrr-champ-list li { margin: 4px 0; }
.hrr-champ-list small { opacity: 0.7; }

/* admin */
.hrr-wrap .hrr-cols { display: flex; gap: 40px; flex-wrap: wrap; margin-bottom: 1.5em; }
.hrr-wrap .hrr-box { background: #fff; border: 1px solid #ccd0d4; padding: 12px 16px; margin-bottom: 16px; }
.hrr-wrap .hrr-badge {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 12px;
	background: #e0e0e0;
	font-size: 12px;
}
.hrr-wrap .hrr-open,
.hrr-wrap .hrr-approved { background: #c8e6c9; }
.hrr-wrap .hrr-pending { background: #ffe0b2; }
.hrr-wrap .hrr-rejected { background: #ffcdd2; }

/* DNF ve výsledcích */
.hrr-dnf { color: #ff2a2a; font-weight: 800; letter-spacing: 0.05em; cursor: help; }
.hrr-fav-vehicle { margin: 0.4em 0 1em; }

.hrr-prize-winner { font-weight: 700; margin-left: 6px; white-space: nowrap; }

/* Tlačítko "Přidat šampionát do kalendáře" (mezi bannerem a názvem) */
.hrr-champ-cal { margin: 14px 0 4px; }
.hrr-cal-btn {
	display: inline-block;
	background: #e3001b;
	color: #fff;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 11px 20px;
	border-radius: 6px;
	text-decoration: none;
	transition: background .15s;
}
.hrr-cal-btn:hover { background: #a80000; color: #fff; }
@media (max-width: 600px) { .hrr-cal-btn { display: block; text-align: center; } }

/* Bannery šampionátů – jednotný poměr 3:1 (např. 2160x720) */
.hrr-champ-image img,
.hrr-history-image img {
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 1;
	object-fit: cover;
	display: block;
	border-radius: 6px;
}
.hrr-tag-dlc { background: #4a2a7a; color: #fff; }


/* ---------------- otočné karty šampionátů ---------------- */
.hrr-history-filter { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 22px; }
.hrr-filter-btn {
	padding: 8px 20px;
	background: transparent;
	border: 2px solid #e3001b;
	color: inherit;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	cursor: pointer;
	clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
}
.hrr-filter-btn:hover, .hrr-filter-btn.is-active { background: #e3001b; color: #fff; }

.hrr-flip-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 480px)); gap: 28px 26px; justify-content: center; }
.hrr-flip-wrap.hrr-hidden { display: none; }
.hrr-flip-status {
	margin: 0 0 8px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	font-size: 13px;
}
.hrr-flip-status-live { color: #ff2a2a; }
.hrr-flip-status-past { opacity: 0.6; }

.hrr-flip { perspective: 1400px; cursor: pointer; outline: none; }
.hrr-flip-inner {
	position: relative;
	width: 100%;
	aspect-ratio: 2 / 1;
	min-height: 190px;
	transform-style: preserve-3d;
	transition: transform 0.55s cubic-bezier(0.4, 0.1, 0.2, 1);
}
@media (hover: hover) { .hrr-flip:hover .hrr-flip-inner, .hrr-flip:focus-visible .hrr-flip-inner { transform: rotateY(180deg); } }
.hrr-flip.is-flipped .hrr-flip-inner { transform: rotateY(180deg); }

.hrr-flip-front, .hrr-flip-back {
	position: absolute;
	inset: 0;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid rgba(227,0,27,0.35);
	box-shadow: 0 14px 34px rgba(0,0,0,0.45);
}
.hrr-flip-front img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	display: block;
	aspect-ratio: auto;
}
.hrr-flip-noimg {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding: 16px;
	background: linear-gradient(135deg, #1b1b20, #0c0c0e);
	color: #f2f0ec;
	font-size: 26px;
	font-weight: 800;
	font-style: italic;
	text-transform: uppercase;
	text-align: center;
}
.hrr-flip-cat {
	position: absolute;
	top: 10px; left: 10px;
	background: #e3001b;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	padding: 4px 12px;
	clip-path: polygon(6px 0, 100% 0, calc(100% - 6px) 100%, 0 100%);
}
.hrr-flip-back {
	transform: rotateY(180deg);
	background:
		radial-gradient(420px 200px at 85% 110%, rgba(227,0,27,0.25), transparent 70%),
		linear-gradient(135deg, #17171b, #0c0c0e);
	color: #f2f0ec;
	padding: 18px 22px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	justify-content: center;
}
.hrr-flip-back h3 { margin: 0 0 4px; font-size: 22px; text-transform: uppercase; font-style: italic; }
.hrr-flip-back p { margin: 0; font-size: 14px; opacity: 0.9; }
.hrr-flip-tags { display: flex; gap: 6px; flex-wrap: wrap; }
.hrr-flip-btn { margin-top: 8px; align-self: flex-start; }
.hrr-tag-cat { background: #e3001b; color: #fff; }
@media (max-width: 560px) {
	.hrr-flip-inner { aspect-ratio: auto; min-height: 220px; }
	.hrr-flip-back { padding: 14px 16px; }
}

/* logo 1:1 na přední straně karty (historie) – vycentrované na tmavém podkladu */
.hrr-flip-front-logo { background: radial-gradient(circle at 50% 40%, #1b1b20, #0c0c0e); display: flex; align-items: center; justify-content: center; }
.hrr-flip-front-logo img { width: auto !important; height: 78% !important; max-width: 78%; object-fit: contain; aspect-ratio: auto; }

/* banner 3:1 na přední straně karty (historie) – celý vidět, vycentrovaný */
.hrr-flip-front-banner { background: radial-gradient(circle at 50% 40%, #1b1b20, #0c0c0e); display: flex; align-items: center; justify-content: center; }
.hrr-flip-front-banner img { width: 100% !important; height: 100% !important; max-height: 100%; object-fit: cover !important; aspect-ratio: 2/1; }

/* FAQ s kategoriemi (levé menu + skupiny) */
.hrr-faq-layout { display: grid; grid-template-columns: 260px 1fr; gap: 28px; align-items: start; }
.hrr-faq-nav { position: sticky; top: 90px; }
.hrr-faq-nav h4 { margin: 0 0 12px; text-transform: uppercase; letter-spacing: 0.08em; font-size: 14px; opacity: 0.7; }
.hrr-faq-nav ul { list-style: none; margin: 0 0 22px; padding: 0; }
.hrr-faq-nav li { margin: 2px 0; }
.hrr-faq-nav a { display: block; padding: 11px 16px; border-left: 3px solid transparent; font-weight: 600; }
.hrr-faq-nav a:hover, .hrr-faq-nav a.is-active { border-left-color: #e3001b; background: rgba(227,0,27,0.10); }
.hrr-faq-help { border: 1px solid rgba(227,0,27,0.4); padding: 20px 18px; text-align: center; border-radius: 6px; }
.hrr-faq-help-ico { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; border: 2px solid #e3001b; border-radius: 50%; color: #e3001b; font-size: 22px; font-weight: 800; margin-bottom: 10px; }
.hrr-faq-help strong { display: block; text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 6px; }
.hrr-faq-help p { margin: 0; font-size: 14px; opacity: 0.8; }
.hrr-faq-cat-title { margin: 0 0 14px; color: #e3001b; text-transform: uppercase; letter-spacing: 0.06em; }
.hrr-faq-group { margin-bottom: 30px; scroll-margin-top: 90px; }

/* MOBIL: FAQ kompletně statické – nic se nelepí ani nepřekrývá */
@media (max-width: 820px) {
	.hrr-faq-layout { display: block !important; }
	.hrr-faq-nav { position: static !important; top: auto !important; margin-bottom: 24px; display: block; }
	.hrr-faq-nav ul { margin-bottom: 10px; }
	.hrr-faq-main { display: block; }
}

/* ============ Šampionáty – stránka (Várka 2) ============ */
.hrr-champ-page { }
.hrr-champ-section { margin: 0 0 50px; }
.hrr-champ-h2 { display: flex; align-items: center; gap: 10px; font-family: var(--font-display, sans-serif); font-size: clamp(1.6rem,3vw,2.2rem); text-transform: uppercase; font-style: italic; margin: 0 0 4px; color: #e3001b; }
.hrr-champ-h2-ico { font-style: normal; }
.hrr-champ-sub { color: #9a9aa2; margin: 0 0 22px; }

.hrr-active-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px,100%),1fr)); gap: 26px; }
@media (min-width: 1100px) { .hrr-active-grid { grid-template-columns: repeat(3, 1fr); } }
.hrr-active-card { background: #141418; border: 1px solid #26262c; border-radius: 8px; overflow: hidden; box-shadow: 0 14px 34px rgba(0,0,0,0.45); }
.hrr-active-banner { position: relative; }
.hrr-active-banner img { width: 100%; aspect-ratio: 2/1; object-fit: cover; display: block; }
.hrr-active-badge { position: absolute; top: 14px; left: 14px; font-size: 12px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; padding: 5px 12px; border-radius: 4px; color: #fff; }
.hrr-active-badge.is-open { background: #2e9e4f; }
.hrr-active-badge.is-run { background: #e3001b; }
.hrr-active-info { padding: 18px 22px 22px; }
.hrr-active-meta { display: flex; flex-wrap: wrap; gap: 18px 26px; margin-bottom: 18px; }
.hrr-active-meta span { display: flex; flex-direction: column; font-size: 15px; color: #f2f0ec; }
.hrr-active-meta b { font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; color: #9a9aa2; font-weight: 700; margin-bottom: 2px; }
.hrr-active-btn { display: inline-block; }

.hrr-prepare-card { position: relative; background: linear-gradient(135deg, #11151f, #0c0c0e); border: 1px solid #26262c; border-radius: 8px; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 30px 32px; min-height: 170px; }
.hrr-prepare-bg { position: absolute; inset: 0; opacity: 0.28; }
.hrr-prepare-bg img { width: 100%; height: 100%; object-fit: cover; }
.hrr-prepare-body { position: relative; z-index: 2; max-width: 60%; }
.hrr-prepare-badge { display: inline-block; background: #2f6cc9; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; padding: 4px 12px; border-radius: 4px; margin-bottom: 10px; }
.hrr-prepare-body h3 { margin: 0 0 8px; font-size: clamp(1.5rem,3vw,2.2rem); font-style: italic; text-transform: uppercase; color: #fff; }
.hrr-prepare-desc { color: #c9c9d2; font-size: 15px; }
.hrr-prepare-start { position: relative; z-index: 2; text-align: right; }
.hrr-prepare-start span { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: #9a9aa2; }
.hrr-prepare-start strong { font-size: 22px; font-style: italic; text-transform: uppercase; color: #fff; }
@media (max-width: 640px) { .hrr-prepare-card { flex-direction: column; align-items: flex-start; } .hrr-prepare-body { max-width: 100%; } .hrr-prepare-start { text-align: left; } }

.hrr-flip-stats { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 6px 0 10px; }
.hrr-flip-stats span { display: flex; flex-direction: column; font-size: 14px; }
.hrr-flip-stats b { font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; color: #9a9aa2; font-weight: 700; }

/* ============ Žebříčky – ALL TIME STANDINGS ============ */
.hrr-standings-wrap { overflow-x: auto; }
.hrr-standings { width: 100%; border-collapse: collapse; }
.hrr-standings thead th { text-align: left; padding: 14px 16px; font-family: var(--font-display, sans-serif); text-transform: uppercase; letter-spacing: 0.06em; font-size: 14px; color: #9a9aa2; border-bottom: 2px solid #e3001b; }
.hrr-standings .hrr-st-pts, .hrr-standings .hrr-st-ch { text-align: right; }
.hrr-standings tbody td { padding: 12px 16px; border-bottom: 1px solid #1f1f24; vertical-align: middle; }
.hrr-standings tbody tr:hover { background: rgba(255,255,255,0.03); }
.hrr-st-top { background: rgba(227,0,27,0.05); }
.hrr-st-pos { font-family: var(--font-display, sans-serif); font-weight: 800; font-size: 18px; width: 90px; }
.hrr-st-pos span { vertical-align: middle; }
.hrr-st-medal { font-style: normal; margin-right: 6px; }
.hrr-st-driver { display: flex; align-items: center; gap: 12px; }
.hrr-st-ava img, .hrr-st-noava { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; border: 2px solid #e3001b; display: inline-flex; align-items: center; justify-content: center; background: #0c0c0e; }
.hrr-standings .hrr-player { font-family: var(--font-display, sans-serif); font-weight: 700; font-size: 17px; color: #f2f0ec; }
.hrr-standings .hrr-player:hover { color: #ff2a2a; }
.hrr-st-pts { color: #e3001b; font-weight: 800; font-size: 17px; }
.hrr-st-ch { color: #c9c9d2; }
.hrr-standings-note { text-align: center; color: #9a9aa2; font-size: 14px; margin-top: 18px; }

/* ============ Naše šampionáty – kategorie jako flip karty + modal ============ */
/* PC: všech 5 šampionátů v jedné řadě vedle sebe (poměr 1:1 zůstává). Mobil/tablet beze změny. */
.hrr-cat-flip-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
@media (max-width: 900px) { .hrr-cat-flip-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .hrr-cat-flip-grid { grid-template-columns: 1fr; } }
.hrr-catf-flip { perspective: 1200px; cursor: pointer; outline: none; }
.hrr-catf-inner { position: relative; width: 100%; aspect-ratio: 1 / 1; transform-style: preserve-3d; transition: transform 0.5s cubic-bezier(0.4,0.1,0.2,1); }
@media (hover: hover) { .hrr-catf-flip:hover .hrr-catf-inner, .hrr-catf-flip:focus-visible .hrr-catf-inner { transform: rotateY(180deg); } }
.hrr-catf-flip.is-flipped .hrr-catf-inner { transform: rotateY(180deg); }
.hrr-catf-front, .hrr-catf-back { position: absolute; inset: 0; backface-visibility: hidden; -webkit-backface-visibility: hidden; border: 1px solid #26262c; border-radius: 10px; overflow: hidden; }
.hrr-catf-front { display: flex; align-items: center; justify-content: center; background: radial-gradient(circle at 50% 40%, #1b1b20, #0c0c0e); }
.hrr-catf-front img { width: 82%; height: 82%; object-fit: contain; }
.hrr-catf-name { font-family: var(--font-display, sans-serif); font-weight: 800; font-style: italic; font-size: 26px; text-transform: uppercase; color: #f2f0ec; text-align: center; padding: 12px; }
.hrr-catf-back { transform: rotateY(180deg); background: linear-gradient(135deg, #17171b, #0c0c0e); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 22px; gap: 10px; }
.hrr-catf-back h3 { margin: 0; font-style: italic; text-transform: uppercase; font-size: 1.5rem; color: #fff; }
.hrr-catf-back p { margin: 0; color: #c9c9d2; font-size: 14px; }
.hrr-catf-more { margin-top: 6px; }
/* barevné akcenty kategorií */
.hrr-catf-amateur .hrr-catf-back { border-bottom: 3px solid #2e9e4f; } .hrr-catf-amateur .hrr-catf-back h3 { color: #4fd07a; }
.hrr-catf-open .hrr-catf-back { border-bottom: 3px solid #e3001b; } .hrr-catf-open .hrr-catf-back h3 { color: #ff2a2a; }
.hrr-catf-historic .hrr-catf-back { border-bottom: 3px solid #c9a227; } .hrr-catf-historic .hrr-catf-back h3 { color: #e8c558; }
.hrr-catf-world .hrr-catf-back { border-bottom: 3px solid #2f6cc9; } .hrr-catf-world .hrr-catf-back h3 { color: #5b9bff; }

/* modal */
.hrr-catf-modal { position: fixed; inset: 0; z-index: 9999; background: rgba(0,0,0,0.78); display: flex; align-items: center; justify-content: center; padding: 20px; }
.hrr-catf-modal[hidden] { display: none; }
.hrr-catf-modal-box { position: relative; max-width: 560px; width: 100%; background: linear-gradient(135deg, #17171b, #0c0c0e); border: 1px solid #e3001b; border-radius: 10px; padding: 32px 30px; max-height: 85vh; overflow-y: auto; box-shadow: 0 24px 60px rgba(0,0,0,0.6); }
.hrr-catf-modal-close { position: absolute; top: 12px; right: 16px; background: none; border: 0; color: #9a9aa2; font-size: 30px; line-height: 1; cursor: pointer; }
.hrr-catf-modal-close:hover { color: #fff; }
.hrr-catf-modal-logo { width: 90px; height: 90px; object-fit: contain; display: block; margin: 0 auto 14px; }
.hrr-catf-modal-box h3 { text-align: center; margin: 0 0 14px; font-style: italic; text-transform: uppercase; color: #fff; }
.hrr-catf-modal-info { color: #d6d6de; line-height: 1.7; }

/* ================= ACHIEVEMENTY ================= */
.hrr-ach-section { margin: 0 0 44px; background: #141418; border: 1px solid #26262c; border-radius: 10px; padding: 26px 28px; }
.hrr-ach-h2 { margin: 0 0 20px; font-family: var(--font-display, sans-serif); text-transform: uppercase; font-style: italic; font-size: 1.5rem; color: #fff; border-left: 4px solid #e3001b; padding-left: 12px; }
.hrr-ach-note { text-align: center; color: #9a9aa2; font-style: italic; margin: 16px 0 0; }
.hrr-ach-empty { text-align: center; color: #9a9aa2; padding: 20px; }
.hrr-rank-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 6px; flex-wrap: wrap; }
.hrr-rank-item { flex: 1; min-width: 90px; text-align: center; }
.hrr-rank-badge { height: 84px; display: flex; align-items: center; justify-content: center; margin-bottom: 8px; }
.hrr-rank-badge img { max-height: 84px; width: auto; }
.hrr-rank-ph { width: 64px; height: 64px; border-radius: 50%; background: #1b1b20; border: 2px solid #e3001b; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 24px; color: #e3001b; margin: 0 auto; }
.hrr-rank-name { font-family: var(--font-display, sans-serif); font-weight: 800; text-transform: uppercase; font-size: 15px; color: #fff; }
.hrr-rank-range { font-size: 12px; color: #9a9aa2; margin-top: 2px; }
.hrr-rank-arrow { align-self: center; color: #e3001b; font-size: 28px; font-weight: 800; }
@media (max-width: 700px) { .hrr-rank-arrow { display: none; } .hrr-rank-item { min-width: 30%; } }

.hrr-ach-cats { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
@media (max-width: 900px) { .hrr-ach-cats { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 520px) { .hrr-ach-cats { grid-template-columns: repeat(2, 1fr); } }
.hrr-ach-cat { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 18px 10px; background: #1b1b20; border: 1px solid #26262c; border-radius: 8px; text-decoration: none; color: #f2f0ec; text-align: center; transition: border-color 0.15s, transform 0.15s; }
.hrr-ach-cat:hover { border-color: #e3001b; transform: translateY(-3px); color: #f2f0ec; }
.hrr-ach-cat-ico { font-size: 26px; }
.hrr-ach-cat strong { font-family: var(--font-display, sans-serif); text-transform: uppercase; font-size: 14px; }
.hrr-ach-cat-count { font-size: 12px; color: #9a9aa2; }

.hrr-ach-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 900px) { .hrr-ach-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .hrr-ach-grid { grid-template-columns: 1fr; } }
.hrr-ach-card { display: flex; align-items: center; gap: 14px; background: #1b1b20; border: 1px solid #26262c; border-radius: 8px; padding: 16px; }
.hrr-ach-badge { flex: 0 0 auto; width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; }
.hrr-ach-badge img { max-width: 64px; max-height: 64px; }
.hrr-ach-ph { font-size: 30px; color: #e3001b; }
.hrr-ach-info strong { display: block; font-family: var(--font-display, sans-serif); text-transform: uppercase; font-size: 15px; }
.hrr-ach-desc { color: #9a9aa2; font-size: 13px; font-style: italic; }
.hrr-ach-legend { border-color: #c9a227; background: linear-gradient(135deg, rgba(201,162,39,0.12), #1b1b20); }

/* ================= MOJE STATISTIKY (profil) ================= */
.hrr-profile-head { display: flex; align-items: center; gap: 22px; margin: 0 0 28px; }
.hrr-profile-ava img { width: 110px; height: 110px; border-radius: 50%; object-fit: cover; border: 3px solid #e3001b; }
.hrr-profile-name { margin: 0; font-style: italic; text-transform: uppercase; font-size: clamp(1.6rem,3vw,2.4rem); }
.hrr-profile-racenet { margin: 4px 0; color: #9a9aa2; }
.hrr-profile-rank { display: flex; align-items: center; gap: 8px; margin: 6px 0 0; }
.hrr-profile-rank img { width: 32px; height: 32px; object-fit: contain; }
.hrr-profile-rank span { font-family: var(--font-display, sans-serif); font-weight: 800; text-transform: uppercase; color: #e3001b; }
.hrr-profile-rank small { color: #9a9aa2; }
.hrr-profile-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; margin: 0 0 22px; }
@media (max-width: 900px) { .hrr-profile-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .hrr-profile-grid { grid-template-columns: repeat(2, 1fr); } }
.hrr-profile-card { background: #141418; border: 1px solid #26262c; border-radius: 8px; padding: 20px 14px; text-align: center; }
.hrr-profile-ico { font-size: 24px; display: block; margin-bottom: 8px; }
.hrr-profile-card strong { display: block; font-family: var(--font-display, sans-serif); font-size: 30px; font-style: italic; color: #fff; line-height: 1; }
.hrr-profile-lbl { font-size: 12px; color: #9a9aa2; text-transform: uppercase; letter-spacing: 0.04em; }
.hrr-profile-row { background: #141418; border: 1px solid #26262c; border-left: 4px solid #e3001b; border-radius: 6px; padding: 14px 18px; margin: 0 0 12px; }
.hrr-profile-row-ico { margin-right: 8px; }
.hrr-profile-row-label { color: #9a9aa2; text-transform: uppercase; font-size: 14px; letter-spacing: 0.04em; }
.hrr-profile-h3 { margin-top: 30px; }

/* ================= O NÁS ================= */
.hrr-about-quote { border: 1px solid #e3001b; border-left: 4px solid #e3001b; background: rgba(227,0,27,0.06); padding: 18px 22px; margin: 22px 0; font-style: italic; color: #f2f0ec; border-radius: 6px; }
.hrr-values { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (max-width: 700px) { .hrr-values { grid-template-columns: repeat(2, 1fr); } }
.hrr-value { text-align: center; padding: 22px 14px; background: #141418; border: 1px solid #26262c; border-radius: 8px; }
.hrr-value-ico { font-size: 30px; display: block; margin-bottom: 10px; }
.hrr-value strong { display: block; font-family: var(--font-display, sans-serif); text-transform: uppercase; margin-bottom: 6px; }
.hrr-value span { color: #9a9aa2; font-size: 14px; }

/* ============ Partneři – mřížka log + sekce o partnerech ============ */
.hrr-partners-h2 { display: flex; align-items: center; gap: 10px; margin-top: 40px; }
.hrr-partners-h2:first-child { margin-top: 0; }
.hrr-partners-ico { font-style: normal; }
.hrr-partner-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; margin: 0 0 10px; }
@media (max-width: 900px) { .hrr-partner-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .hrr-partner-grid { grid-template-columns: repeat(2, 1fr); } }
.hrr-pg-item { display: flex; }
.hrr-pg-cell { width: 100%; aspect-ratio: 16/9; background: #141418; border: 1px solid #26262c; border-radius: 8px; display: flex; align-items: center; justify-content: center; padding: 18px; transition: border-color 0.15s, transform 0.15s; }
.hrr-pg-item:hover .hrr-pg-cell { border-color: #e3001b; transform: translateY(-3px); }
.hrr-pg-logo { max-width: 80%; max-height: 60px; width: auto; height: auto; filter: brightness(1.5) grayscale(0.2); }
.hrr-pg-name { font-family: var(--font-display, sans-serif); font-weight: 800; color: #f2f0ec; text-transform: uppercase; }
.hrr-partner-rows { display: flex; flex-direction: column; gap: 0; border: 1px solid #26262c; border-radius: 8px; overflow: hidden; }
.hrr-partner-row { display: flex; align-items: center; gap: 22px; padding: 20px 24px; border-bottom: 1px solid #26262c; background: #141418; }
.hrr-partner-row:last-child { border-bottom: 0; }
.hrr-partner-row-logo { flex: 0 0 150px; display: flex; align-items: center; justify-content: center; }
.hrr-partner-row-logo img { max-width: 150px; max-height: 60px; width: auto; filter: brightness(1.4); }
.hrr-partner-row-info { flex: 1; }
.hrr-partner-row-info h3 { margin: 0 0 6px; font-family: var(--font-display, sans-serif); text-transform: uppercase; }
.hrr-partner-row-desc { color: #9a9aa2; font-size: 14px; }
.hrr-partner-row-desc p { margin: 0; }
.hrr-partner-row-btn { flex: 0 0 auto; }
@media (max-width: 700px) { .hrr-partner-row { flex-direction: column; text-align: center; gap: 12px; } }

/* ================= TÝMY ================= */
.hrr-team-notice { background: rgba(46,158,79,0.12); border: 1px solid #2e9e4f; color: #cfead7; padding: 12px 18px; border-radius: 6px; margin: 0 0 22px; }
.hrr-teams-toolbar { margin: 0 0 24px; }
.hrr-teams-search { display: flex; gap: 10px; flex-wrap: wrap; }
.hrr-teams-search input[type=text] { flex: 1; min-width: 200px; background: #141418; border: 1px solid #26262c; color: #f2f0ec; padding: 10px 14px; border-radius: 6px; }
.hrr-teams-search select { background: #141418; border: 1px solid #26262c; color: #f2f0ec; padding: 10px 14px; border-radius: 6px; }
.hrr-teams-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin: 0 0 44px; }
@media (max-width: 900px) { .hrr-teams-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .hrr-teams-grid { grid-template-columns: 1fr; } }
.hrr-team-card { background: #141418; border: 1px solid #26262c; border-radius: 10px; padding: 24px 20px; text-align: center; transition: border-color 0.15s, transform 0.15s; }
.hrr-team-card:hover { border-color: #e3001b; transform: translateY(-4px); }
.hrr-team-card-logo { height: 110px; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; }
.hrr-team-card-logo img { max-height: 110px; max-width: 90%; width: auto; }
.hrr-team-logo-ph { width: 90px; height: 90px; border-radius: 50%; background: #1b1b20; border: 2px solid #e3001b; display: flex; align-items: center; justify-content: center; font-family: var(--font-display, sans-serif); font-weight: 800; font-size: 40px; color: #e3001b; }
.hrr-team-card-name { margin: 0 0 14px; font-family: var(--font-display, sans-serif); text-transform: uppercase; font-size: 1.3rem; }
.hrr-team-card-stats { display: flex; justify-content: space-around; margin: 0 0 16px; }
.hrr-team-card-stats span { display: flex; flex-direction: column; font-size: 11px; color: #9a9aa2; text-transform: uppercase; letter-spacing: 0.04em; }
.hrr-team-card-stats b { font-family: var(--font-display, sans-serif); font-size: 18px; font-style: italic; color: #e3001b; }
.hrr-team-card-stats span:first-child b { color: #fff; }
.hrr-teams-empty { text-align: center; color: #9a9aa2; padding: 30px; }

/* CTA / kroky */
.hrr-team-cta { background: linear-gradient(135deg, rgba(227,0,27,0.12), #141418); border: 1px solid #e3001b; border-radius: 12px; padding: 32px 30px; margin: 30px 0; }
.hrr-team-cta h2 { margin: 0 0 8px; font-style: italic; text-transform: uppercase; }
.hrr-team-cta > p { color: #c9c9d2; margin: 0 0 22px; }
.hrr-team-cta-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
@media (max-width: 760px) { .hrr-team-cta-steps { grid-template-columns: repeat(2, 1fr); } }
.hrr-team-cta-steps > div { text-align: center; }
.hrr-team-cta-steps span { font-size: 30px; display: block; margin-bottom: 8px; }
.hrr-team-cta-steps strong { display: block; font-family: var(--font-display, sans-serif); text-transform: uppercase; margin-bottom: 4px; }
.hrr-team-cta-steps small { color: #9a9aa2; }

/* formuláře a panel */
.hrr-team-form label { font-weight: 600; }
.hrr-team-form input[type=text], .hrr-team-form textarea { width: 100%; max-width: 480px; background: #0e0e11; border: 1px solid #26262c; color: #f2f0ec; padding: 10px 14px; border-radius: 6px; }
.hrr-team-manage { margin-top: 30px; }
.hrr-team-panel { background: #141418; border: 1px solid #26262c; border-radius: 12px; padding: 26px 28px; }
.hrr-team-panel h2 { margin: 0 0 18px; font-style: italic; text-transform: uppercase; }
.hrr-team-cap { color: #e3001b; font-size: 0.7em; }
.hrr-team-members { width: 100%; border-collapse: collapse; margin: 0 0 20px; }
.hrr-team-members th { text-align: left; padding: 10px 12px; border-bottom: 2px solid #e3001b; font-size: 13px; text-transform: uppercase; color: #9a9aa2; }
.hrr-team-members td { padding: 10px 12px; border-bottom: 1px solid #1f1f24; }
.hrr-team-ok { color: #4fd07a; font-size: 13px; }
.hrr-team-wait { color: #d99a00; font-size: 13px; }
.hrr-link-danger { background: none; border: 0; color: #e3001b; cursor: pointer; font-weight: 700; padding: 0; }
.hrr-team-actions { margin-top: 16px; }
.hrr-team-invite { margin: 0 0 14px; }
.hrr-team-invite input { background: #0e0e11; border: 1px solid #26262c; color: #f2f0ec; padding: 9px 12px; border-radius: 6px; }
.hrr-team-hint { color: #9a9aa2; font-size: 13px; margin: 6px 0 0; }
.hrr-team-edit summary { cursor: pointer; color: #e3001b; font-weight: 700; margin: 10px 0; }
.hrr-team-pending { background: rgba(217,154,0,0.1); border: 1px solid #d99a00; border-radius: 8px; padding: 16px 20px; margin: 0 0 20px; }

/* detail */
.hrr-team-back { display: inline-block; margin: 0 0 18px; color: #9a9aa2; font-weight: 700; }
.hrr-team-back:hover { color: #e3001b; }
.hrr-team-detail-head { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; background: #141418; border: 1px solid #26262c; border-top: 3px solid #e3001b; border-radius: 12px; padding: 32px 28px; margin: 0 0 26px; }
.hrr-team-detail-head > div { width: 100%; display: flex; flex-direction: column; align-items: center; }
.hrr-team-detail-logo { flex: 0 0 auto; height: 130px; display: flex; align-items: center; justify-content: center; margin-bottom: 6px; }
.hrr-team-detail-logo img { max-height: 130px; max-width: 130px; border-radius: 10px; }
.hrr-team-detail-head h2 { margin: 0 0 4px; font-style: italic; text-transform: uppercase; font-size: 2rem; }
.hrr-team-level { justify-content: center; }
.hrr-team-detail-desc { color: #c9c9d2; margin: 10px auto 0; max-width: 620px; text-align: center; }
.hrr-team-detail-stats { display: flex; flex-wrap: wrap; gap: 18px 30px; }
.hrr-team-detail-stats span { display: flex; flex-direction: column; font-size: 12px; color: #9a9aa2; text-transform: uppercase; }
.hrr-team-detail-stats b { font-family: var(--font-display, sans-serif); font-size: 26px; font-style: italic; color: #e3001b; }
@media (max-width: 600px) {
	.hrr-team-detail-stats { gap: 14px 0; }
	.hrr-team-detail-stats span { flex: 0 0 33.333%; }
	.hrr-team-detail-stats b { font-size: 22px; }
}
.hrr-team-detail-h3 { margin: 0 0 16px; }
.hrr-team-roster { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.hrr-team-roster-item { display: flex; align-items: center; gap: 12px; background: #141418; border: 1px solid #26262c; border-radius: 8px; padding: 12px 14px; }
.hrr-team-roster-ava img { width: 46px; height: 46px; border-radius: 50%; border: 2px solid #e3001b; object-fit: cover; }
.hrr-team-roster-name { font-family: var(--font-display, sans-serif); font-weight: 700; color: #f2f0ec; }
.hrr-team-roster-name:hover { color: #e3001b; }
.hrr-team-roster-pts { margin-left: auto; color: #9a9aa2; font-size: 13px; font-weight: 700; }
.hrr-btn-ghost { background: transparent; border: 1px solid #e3001b; color: #e3001b; }

/* týmové umístění ve výsledcích/žebříčcích + Můj tým v profilu */
.hrr-team-tag { display: inline-block; background: rgba(227,0,27,0.14); border: 1px solid rgba(227,0,27,0.4); color: #ff6b6b; font-size: 12px; font-weight: 700; padding: 2px 8px; border-radius: 4px; white-space: nowrap; }
.hrr-team-none { color: #555; }
.hrr-myteam { display: flex; align-items: center; gap: 18px; background: #141418; border: 1px solid #26262c; border-left: 4px solid #e3001b; border-radius: 8px; padding: 18px 20px; }
.hrr-myteam-logo { flex: 0 0 auto; }
.hrr-myteam-logo img, .hrr-myteam .hrr-team-logo-ph { width: 72px; height: 72px; object-fit: contain; border-radius: 8px; }
.hrr-myteam-info strong { display: block; font-family: var(--font-display, sans-serif); font-size: 1.3rem; text-transform: uppercase; font-style: italic; }
.hrr-myteam-stats { color: #9a9aa2; font-size: 14px; margin: 4px 0 10px; }
.hrr-myteam-empty { justify-content: space-between; }
.hrr-team-transfer { margin: 12px 0; }
.hrr-team-transfer select { background: #0e0e11; border: 1px solid #26262c; color: #f2f0ec; padding: 9px 12px; border-radius: 6px; }
/* Můj tým na stránce Můj účet */
.hrreg-myteam-card .hrr-team-manage { margin-top: 0; }
.hrreg-myteam-card .hrr-team-cta { margin: 0; }

/* Žebříčky – přepínač Celkové/Týmové + hledání */
.hrr-sw-bar { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; margin: 0 0 20px; }
.hrr-sw-tabs { display: inline-flex; border: 1px solid #26262c; border-radius: 8px; overflow: hidden; }
.hrr-sw-tab { background: #141418; border: 0; color: #9a9aa2; font-family: var(--font-display, sans-serif); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; padding: 11px 20px; cursor: pointer; font-size: 14px; }
.hrr-sw-tab.is-active { background: #e3001b; color: #fff; }
.hrr-sw-search { flex: 1; min-width: 220px; background: #141418; border: 1px solid #26262c; color: #f2f0ec; padding: 11px 16px; border-radius: 8px; }
.hrr-st-teamlogo { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; }
.hrr-st-team { white-space: nowrap; }

/* ===== Admin: rozbalovací nahrávání CSV (accordion) ===== */
.hrr-csv-accordion { max-width: 1000px; }
.hrr-csv-champ { background: #fff; border: 1px solid #ccd0d4; border-radius: 6px; margin: 0 0 10px; }
.hrr-csv-champ > summary { cursor: pointer; padding: 14px 16px; font-size: 15px; font-weight: 600; list-style: none; display: flex; align-items: center; gap: 12px; }
.hrr-csv-champ > summary::-webkit-details-marker { display: none; }
.hrr-csv-champ > summary::before { content: '▸'; color: #b32d2e; font-size: 14px; transition: transform 0.15s; }
.hrr-csv-champ[open] > summary::before { transform: rotate(90deg); }
.hrr-csv-champ-name { font-size: 16px; }
.hrr-csv-progress { margin-left: auto; font-weight: normal; color: #777; font-size: 13px; }
.hrr-csv-champ-body { padding: 4px 18px 16px; border-top: 1px solid #eee; }
.hrr-csv-event { background: #f6f7f7; border: 1px solid #e0e0e0; border-radius: 5px; margin: 8px 0; }
.hrr-csv-event > summary { cursor: pointer; padding: 11px 14px; font-weight: 600; list-style: none; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.hrr-csv-event > summary::-webkit-details-marker { display: none; }
.hrr-csv-event > summary::before { content: '▸'; color: #b32d2e; transition: transform 0.15s; }
.hrr-csv-event[open] > summary::before { transform: rotate(90deg); }
.hrr-csv-event-meta { font-weight: normal; color: #777; font-size: 13px; }
.hrr-csv-event-body { padding: 6px 14px 12px; }
.hrr-csv-ok { color: #1a7f37; font-weight: 600; font-size: 13px; }
.hrr-csv-todo { color: #999; font-size: 13px; }
.hrr-badge-active { background: #1a7f37 !important; }

/* servisní zóna nad tratí */
.hrr-service-zone { display: inline-block; font-family: var(--hrr-font-display, inherit); font-weight: 700; font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; padding: 3px 10px; border-radius: 4px; margin: 2px 0; border: 1px solid; }
.hrr-service-short  { color: #ffd24a; border-color: #ffd24a; background: rgba(255,210,74,0.10); }
.hrr-service-medium { color: #ff9f40; border-color: #ff9f40; background: rgba(255,159,64,0.10); }
.hrr-service-long   { color: #4ad1ff; border-color: #4ad1ff; background: rgba(74,209,255,0.10); }
.hrr-service-sel { margin-left: 4px; }

/* penalty čas – červeně */
.hrr-penalty-time { color: #ff2a2a; font-weight: 700; }

/* přepínač výsledků na stránce šampionátu */
.hrr-results-switch { margin-top: 30px; }
.hrr-rs-title { margin: 0 0 14px; text-transform: uppercase; font-style: italic; }
.hrr-rs-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.hrr-rs-tab {
	background: #141418;
	color: #f2f0ec;
	border: 1px solid rgba(227,0,27,0.35);
	font-family: var(--hrr-font-display, inherit);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 13px;
	padding: 9px 16px;
	border-radius: 6px;
	cursor: pointer;
	transition: background .15s, border-color .15s, color .15s;
}
.hrr-rs-tab:hover { border-color: #e3001b; color: #ff2a2a; }
.hrr-rs-tab.is-active { background: #e3001b; border-color: #e3001b; color: #fff; }
.hrr-rs-panel { display: none; }
.hrr-rs-panel.is-active { display: block; }
.hrr-rs-panel .hrr-results > h3:first-child { margin-top: 0; }

/* forma jezdce (šipky posunu v žebříčku) */
.hrr-form { font-weight: 700; font-size: 13px; text-align: center; white-space: nowrap; }
.hrr-form-up   { color: #2ecc71; }
.hrr-form-down { color: #ff2a2a; }
.hrr-form-same { color: #9a9aa2; }
.hrr-form-new  { color: #ffd24a; }

/* sdílecí karta – tlačítko */
.hrr-share-wrap { text-align: center; margin: 18px 0 26px; }
.hrr-share-btn {
	background: #e3001b; color: #fff; border: 0;
	font-family: var(--hrr-font-display, inherit); font-weight: 700;
	text-transform: uppercase; letter-spacing: 0.05em; font-size: 15px;
	padding: 13px 26px; border-radius: 8px; cursor: pointer;
	transition: background .15s, transform .1s;
}
.hrr-share-btn:hover { background: #ff2a2a; }
.hrr-share-btn:active { transform: scale(0.97); }

/* Hlava vs Hlava */
.hrr-h2h { margin: 30px 0; background: #141418; border: 1px solid var(--line, #26262c); border-top: 3px solid #e3001b; padding: 22px 24px; }
.hrr-h2h-title { margin: 0 0 6px; text-transform: uppercase; font-style: italic; }
.hrr-h2h-hint { color: #9a9aa2; margin: 0 0 16px; font-size: 14px; }
.hrr-h2h-selects { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.hrr-h2h-selects select { flex: 1; min-width: 140px; padding: 10px; background: #0c0c0e; color: #f2f0ec; border: 1px solid #33333a; border-radius: 6px; }
.hrr-h2h-vs { font-family: var(--hrr-font-display, inherit); font-weight: 800; color: #e3001b; font-size: 20px; }
.hrr-h2h-result { margin-top: 18px; }
.hrr-h2h-table { width: 100%; border-collapse: collapse; }
.hrr-h2h-table td { padding: 10px 8px; border-bottom: 1px solid #26262c; text-align: center; }
.hrr-h2h-table td.lbl { color: #9a9aa2; font-size: 13px; text-transform: uppercase; }
.hrr-h2h-win { color: #2ecc71; font-weight: 800; }
.hrr-h2h-duel { text-align: center; font-size: 22px; font-weight: 800; margin: 14px 0; }
.hrr-h2h-duel .a { color: #4ad1ff; } .hrr-h2h-duel .b { color: #ffd24a; }

/* Tipovačka */
.hrr-predict { margin: 26px 0; background: #141418; border: 1px solid var(--line, #26262c); border-top: 3px solid #ffd24a; padding: 22px 24px; }
.hrr-predict h3 { margin: 0 0 10px; text-transform: uppercase; font-style: italic; }
.hrr-predict-form { display: flex; flex-direction: column; gap: 12px; max-width: 420px; }
.hrr-predict-form label { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-weight: 600; }
.hrr-predict-form select { flex: 1; max-width: 280px; padding: 10px; background: #0c0c0e; color: #f2f0ec; border: 1px solid #33333a; border-radius: 6px; }
.hrr-predict-btn { background: #ffd24a; color: #0c0c0e; border: 0; font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; padding: 12px 20px; border-radius: 7px; cursor: pointer; }
.hrr-predict-btn:hover { background: #ffdf6b; }
.hrr-predict-ok { color: #2ecc71; font-weight: 700; }
.hrr-predict-mine { font-size: 16px; }

/* XP / Level */
.hrr-level { margin-top: 10px; }
.hrr-level-badge {
	display: inline-block; background: #e3001b; color: #fff;
	font-family: var(--hrr-font-display, inherit); font-weight: 800;
	font-size: 15px; letter-spacing: 0.04em; padding: 4px 12px; border-radius: 6px;
	vertical-align: middle;
}
.hrr-level-badge-sm { font-size: 12px; padding: 2px 8px; margin-left: 8px; }
.hrr-level-bar { margin-top: 8px; height: 10px; background: #26262c; border-radius: 6px; overflow: hidden; max-width: 320px; }
.hrr-level-bar > span { display: block; height: 100%; background: linear-gradient(90deg, #e3001b, #ff2a2a); border-radius: 6px; transition: width .4s; }
.hrr-level-xp { display: block; margin-top: 5px; color: #9a9aa2; }

/* „Jak získat víc XP" – rozbalovací */
.hrr-xp-help { margin-top: 10px; max-width: 420px; }
.hrr-xp-help summary {
	cursor: pointer; display: inline-block; color: #9a9aa2;
	font-size: 13px; font-weight: 600; padding: 4px 0;
	list-style: none; user-select: none; transition: color .15s;
}
.hrr-xp-help summary::-webkit-details-marker { display: none; }
.hrr-xp-help summary:hover { color: #ff2a2a; }
.hrr-xp-help[open] summary { color: #e3001b; margin-bottom: 8px; }
.hrr-xp-help-body { background: #0c0c0e; border: 1px solid #26262c; border-radius: 8px; padding: 14px 16px; }
.hrr-xp-help-body > p { margin: 0 0 12px; font-size: 14px; }
.hrr-xp-table { width: 100%; border-collapse: collapse; }
.hrr-xp-table td { padding: 8px 6px; border-bottom: 1px solid #1e1e24; vertical-align: top; }
.hrr-xp-table tr:last-child td { border-bottom: 0; }
.hrr-xp-ico { font-size: 20px; width: 32px; text-align: center; }
.hrr-xp-name small { color: #9a9aa2; }
.hrr-xp-val { color: #ff2a2a; font-weight: 800; white-space: nowrap; text-align: right; font-family: var(--hrr-font-display, inherit); }
.hrr-xp-note { margin: 12px 0 0; color: #9a9aa2; }

/* Rekordy RZ (TOP STAGES) */
.hrr-topstages { margin: 10px 0; }
.hrr-ts-event { margin-bottom: 12px; background: #141418; border: 1px solid #26262c; border-radius: 8px; overflow: hidden; }
.hrr-ts-event > summary { cursor: pointer; padding: 16px 20px; font-family: var(--hrr-font-display, inherit); font-weight: 700; font-size: 18px; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; transition: background .15s; }
.hrr-ts-event > summary::-webkit-details-marker { display: none; }
.hrr-ts-event > summary:hover { background: #1b1b20; }
.hrr-ts-event[open] > summary { border-bottom: 2px solid #e3001b; }
.hrr-ts-champ { font-size: 12px; font-weight: 700; text-transform: uppercase; color: #fff; background: #e3001b; padding: 3px 10px; border-radius: 4px; }
.hrr-ts-event-body { padding: 8px 20px 18px; }
.hrr-ts-stage { padding: 14px 0; border-bottom: 1px solid #1e1e24; }
.hrr-ts-stage:last-child { border-bottom: 0; }
.hrr-ts-stage-head { margin-bottom: 8px; }
.hrr-ts-stage-name { font-family: var(--hrr-font-display, inherit); font-weight: 700; font-size: 16px; color: #f2f0ec; text-transform: uppercase; }
.hrr-ts-km { color: #9a9aa2; font-size: 13px; margin-left: 6px; }
.hrr-ts-king { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; background: #0c0c0e; border-left: 3px solid #ffd24a; padding: 10px 14px; border-radius: 6px; }
.hrr-ts-crown { font-size: 18px; }
.hrr-ts-king-name { font-weight: 800; color: #ffd24a !important; text-decoration: none; }
.hrr-ts-king-time { font-family: var(--hrr-font-display, inherit); font-weight: 700; color: #f2f0ec; }
.hrr-ts-king-car { color: #9a9aa2; font-size: 13px; }
.hrr-ts-others { margin-top: 10px; }
.hrr-ts-others > summary { cursor: pointer; color: #9a9aa2; font-size: 13px; font-weight: 600; padding: 4px 0; list-style: none; }
.hrr-ts-others > summary::-webkit-details-marker { display: none; }
.hrr-ts-others > summary:hover { color: #ff2a2a; }
.hrr-ts-table { margin-top: 8px; }
.hrr-ts-row-king td { color: #ffd24a; }

/* H2H – vyhledávání jezdců */
.hrr-h2h-pick { flex: 1; min-width: 140px; display: flex; flex-direction: column; gap: 6px; }
.hrr-h2h-search { padding: 9px 10px; background: #0c0c0e; color: #f2f0ec; border: 1px solid #33333a; border-radius: 6px; font-size: 14px; }
.hrr-h2h-search:focus { outline: none; border-color: #e3001b; }
.hrr-h2h-pick select { width: 100%; }

/* Rekordy RZ – kde rekord padl */
.hrr-ts-king-where { color: #9a9aa2; font-size: 12px; font-style: italic; }
.hrr-ts-where { color: #9a9aa2; font-size: 12px; }

/* Rekordy – vodorovné posouvání tabulky na mobilu */
.hrr-ts-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin-top: 8px; }
.hrr-ts-scroll .hrr-ts-table { margin-top: 0; min-width: 560px; }

/* Podporovatelé / Donator */
.hrr-donator-name, .hrr-donator-name a, a.hrr-donator-name {
	color: #ffcf3a !important;
	text-shadow: 0 0 6px rgba(255,207,58,0.45);
	font-weight: 800;
}
.hrr-donator-badge {
	display: inline-block; background: linear-gradient(90deg, #b8860b, #ffcf3a);
	color: #1a1400; font-family: var(--hrr-font-display, inherit); font-weight: 800;
	font-size: 13px; letter-spacing: 0.05em; padding: 3px 10px; border-radius: 6px;
	vertical-align: middle;
}

/* stránka Podporovatelé */
.hrr-supporters { margin: 10px 0; }
.hrr-sup-intro { font-size: 17px; color: var(--hrr-steel, #9a9aa2); margin-bottom: 22px; }
.hrr-sup-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.hrr-sup-card { display: flex; align-items: center; gap: 10px; background: #141418; border: 1px solid #26262c; border-left: 3px solid #ffcf3a; border-radius: 8px; padding: 12px 16px; }
.hrr-sup-heart { font-size: 18px; }
.hrr-sup-name { font-size: 16px; }

/* stránka Podpořit (donate) */
.hrr-donate { margin: 10px 0; max-width: 720px; }
.hrr-donate-lead { font-size: 17px; color: var(--hrr-steel, #9a9aa2); margin-bottom: 24px; }
.hrr-donate-box { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; background: #141418; border: 1px solid #26262c; border-top: 3px solid #ffcf3a; border-radius: 10px; padding: 24px; }
.hrr-donate-qr img { width: 200px; height: 200px; object-fit: contain; background: #fff; padding: 8px; border-radius: 8px; }
.hrr-donate-details { flex: 1; min-width: 220px; }
.hrr-donate-details p { margin: 0 0 14px; display: flex; flex-direction: column; gap: 2px; }
.hrr-donate-lbl { color: #9a9aa2; font-size: 12px; text-transform: uppercase; letter-spacing: 0.05em; }
.hrr-donate-details strong { font-size: 18px; color: #f2f0ec; word-break: break-all; }
.hrr-donate-howto { margin-top: 26px; }
.hrr-donate-howto h3 { text-transform: uppercase; font-style: italic; }
.hrr-donate-howto ol { padding-left: 20px; }
.hrr-donate-howto li { margin-bottom: 10px; color: #c8c8d0; }

/* donate button (CTA) */
.hrr-donate-btn {
	display: inline-block; background: linear-gradient(90deg, #b8860b, #ffcf3a);
	color: #1a1400 !important; font-family: var(--hrr-font-display, inherit); font-weight: 800;
	text-transform: uppercase; letter-spacing: 0.05em; padding: 12px 24px; border-radius: 8px;
	text-decoration: none;
}
.hrr-donate-btn:hover { filter: brightness(1.08); }

/* ručně přidělený odznak – zvýraznění (vždy první) */
.hrr-badge-manual { position: relative; }
.hrr-badge-manual img, .hrr-badge-manual span:first-of-type { }
.hrr-badge-manual::after { content: "★"; position: absolute; top: -4px; right: -4px; color: #ffcf3a; font-size: 14px; text-shadow: 0 0 4px rgba(0,0,0,0.6); }

/* podporovatelé – částky (jen na stránce Podporovatelé) */
.hrr-sup-total { text-align: center; margin: 0 0 24px; padding: 16px; background: #141418; border: 1px solid #26262c; border-radius: 10px; }
.hrr-sup-total-lbl { display: block; color: #9a9aa2; font-size: 13px; text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 4px; }
.hrr-sup-total strong { font-family: var(--hrr-font-display, inherit); font-size: 32px; color: #ffcf3a; }
.hrr-sup-card { flex-direction: column; align-items: flex-start; }
.hrr-sup-amount { color: #ffcf3a; font-weight: 700; font-size: 14px; }
.hrr-sup-note { display: block; margin-top: 3px; font-size: 12px; color: #9a9aa2; }

/* Platba startovného */
.hrr-payment { margin: 10px 0; max-width: 720px; }
.hrr-pay-lead { font-size: 17px; color: var(--hrr-steel, #9a9aa2); margin-bottom: 24px; }
.hrr-pay-box { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; background: #141418; border: 1px solid #26262c; border-top: 3px solid #e3001b; border-radius: 10px; padding: 24px; }
.hrr-pay-qr img { width: 200px; height: 200px; object-fit: contain; background: #fff; padding: 8px; border-radius: 8px; }
.hrr-pay-details { flex: 1; min-width: 220px; }
.hrr-pay-details p { margin: 0 0 14px; display: flex; flex-direction: column; gap: 2px; }
.hrr-pay-lbl { color: #9a9aa2; font-size: 12px; text-transform: uppercase; letter-spacing: 0.05em; }
.hrr-pay-details strong { font-size: 18px; color: #f2f0ec; word-break: break-all; }
.hrr-pay-howto { margin-top: 26px; }
.hrr-pay-howto h3 { text-transform: uppercase; font-style: italic; }
.hrr-pay-howto ul { padding-left: 20px; }
.hrr-pay-howto li { margin-bottom: 10px; color: #c8c8d0; }
.hrr-pay-luck { margin-top: 18px; font-weight: 700; color: #e3001b; font-size: 18px; }

/* Startovné jako klikací dlaždice → platba */
a.hrr-fee-link { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; transition: border-color .15s, background .15s; cursor: pointer; }
a.hrr-fee-link:hover { border-color: #ff2a2a; background: rgba(227,0,27,0.08); }
.hrr-fee-cta { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: #e3001b; }
a.hrr-fee-link:hover .hrr-fee-cta { color: #ff2a2a; }

/* Countdown konce registrací (stránka šampionátu) */
.hrr-regcd { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; background: #141418; border: 1px solid #26262c; border-left: 3px solid #e3001b; border-radius: 8px; padding: 10px 16px; margin: 0 0 16px; }
.hrr-regcd-label { color: #9a9aa2; font-size: 13px; text-transform: uppercase; letter-spacing: 0.04em; font-weight: 600; }
.hrr-regcd-time { font-family: var(--hrr-font-display, inherit); font-weight: 800; font-size: 18px; color: #ff2a2a; }
.hrr-regcd-closed { color: #9a9aa2; font-weight: 700; }

/* Ke stažení */
.hrr-downloads { margin: 10px 0; }
.hrr-dl-intro { color: #9a9aa2; font-size: 16px; margin-bottom: 22px; }
.hrr-dl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; }
.hrr-dl-card { background: #141418; border: 1px solid #26262c; border-radius: 10px; overflow: hidden; display: flex; flex-direction: column; transition: border-color .15s, transform .15s; }
.hrr-dl-card:hover { border-color: #e3001b; transform: translateY(-3px); }
.hrr-dl-thumb { aspect-ratio: 16/10; background: #0c0c0e; overflow: hidden; }
.hrr-dl-thumb img { width: 100%; height: 100%; object-fit: cover; }
.hrr-dl-body { padding: 16px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.hrr-dl-title { margin: 0; font-size: 18px; text-transform: uppercase; font-style: italic; }
.hrr-dl-desc { color: #c8c8d0; font-size: 14px; margin: 0; flex: 1; }
.hrr-dl-btn { display: inline-block; text-align: center; background: #e3001b; color: #fff; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; padding: 10px 16px; border-radius: 6px; text-decoration: none; margin-top: 6px; transition: background .15s; }
.hrr-dl-btn:hover { background: #ff2a2a; }
.hrr-dl-count { font-size: 12px; color: #9a9aa2; text-align: center; }
.hrr-dl-soon { color: #9a9aa2; font-style: italic; font-size: 14px; }

/* Jezdci – seznam registrovaných členů */
.hrr-members { margin: 10px 0; }
.hrr-members-intro { color: #9a9aa2; font-size: 16px; margin-bottom: 22px; }
.hrr-members-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
.hrr-member-card { display: flex; align-items: center; gap: 14px; background: #141418; border: 1px solid #26262c; border-radius: 10px; padding: 14px; transition: border-color .15s, transform .15s; }
.hrr-member-card:hover { border-color: #e3001b; transform: translateY(-2px); }
.hrr-member-av { position: relative; flex: 0 0 auto; }
.hrr-member-av img { width: 56px; height: 56px; border-radius: 50%; display: block; }
.hrr-member-lvl { position: absolute; bottom: -6px; left: 50%; transform: translateX(-50%); background: #e3001b; color: #fff; font-size: 10px; font-weight: 800; padding: 1px 6px; border-radius: 10px; white-space: nowrap; }
.hrr-member-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.hrr-member-name { font-family: var(--hrr-font-display, inherit); font-weight: 700; font-size: 17px; color: #f2f0ec; text-decoration: none; }
.hrr-member-name:hover { color: #ff2a2a; }
.hrr-member-real { font-size: 13px; color: #9a9aa2; }

/* Tým – level, založení, highlights, role (fáze 1) */
.hrr-team-level { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 6px 0 10px; }
.hrr-team-level-badge { background: #e3001b; color: #fff; font-weight: 800; font-size: 14px; padding: 3px 12px; border-radius: 20px; font-family: var(--hrr-font-display, inherit); }
.hrr-team-level-title { color: #ffcf3a; font-weight: 700; font-style: italic; text-transform: uppercase; letter-spacing: 0.03em; font-size: 15px; }
.hrr-team-level .hrr-level-bar { flex: 1 1 140px; height: 8px; background: #26262c; border-radius: 5px; overflow: hidden; min-width: 120px; }
.hrr-team-level .hrr-level-bar span { display: block; height: 100%; background: linear-gradient(90deg,#e3001b,#ff2a2a); }
.hrr-team-founded { color: #9a9aa2; font-size: 14px; margin: 4px 0 12px; }
.hrr-team-founded strong { color: #f2f0ec; }
.hrr-team-highlights { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 14px; }
.hrr-team-highlights span { color: #c8c8d0; font-size: 14px; }
.hrr-team-highlights strong { color: #fff; }
.hrr-team-roster-role { font-size: 12px; color: #9a9aa2; text-transform: uppercase; letter-spacing: 0.04em; margin-left: auto; padding-right: 12px; }

/* Tým – historie týmových šampionátů */
.hrr-team-history { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.hrr-team-history-row { display: flex; align-items: center; gap: 14px; background: #141418; border: 1px solid #26262c; border-left: 3px solid #e3001b; border-radius: 8px; padding: 12px 16px; }
.hrr-th-name { font-weight: 700; color: #f2f0ec; flex: 1; }
.hrr-th-name a { color: #f2f0ec; text-decoration: none; }
.hrr-th-name a:hover { color: #ff2a2a; }
.hrr-th-pos { color: #ffcf3a; font-weight: 700; font-size: 14px; }
.hrr-th-pts { color: #9a9aa2; font-size: 14px; }

/* Týmový šampionát – odznak */
.hrr-team-champ-badge { display: inline-block; background: linear-gradient(90deg,#e3001b,#ff2a2a); color: #fff; font-weight: 800; text-transform: uppercase; letter-spacing: 0.03em; font-size: 14px; padding: 8px 16px; border-radius: 8px; margin: 0 0 14px; }

/* Registrace týmu do týmového šampionátu */
.hrr-team-reg-form .hrr-team-reg-pick { display: flex; flex-direction: column; gap: 8px; margin: 12px 0; }
.hrr-team-reg-driver { display: flex; align-items: center; gap: 10px; background: #141418; border: 1px solid #26262c; border-radius: 8px; padding: 12px 14px; cursor: pointer; transition: border-color .15s; }
.hrr-team-reg-driver:hover { border-color: #e3001b; }
.hrr-team-reg-driver input { width: 18px; height: 18px; accent-color: #e3001b; }
.hrr-team-reg-driver span { color: #f2f0ec; font-weight: 600; }
.hrr-team-reg-driver small { color: #9a9aa2; font-weight: 400; }

/* Žebříček – vysvětlující text nad přepínačem */
.hrr-sw-intro { background: #141418; border: 1px solid #26262c; border-left: 3px solid #e3001b; border-radius: 10px; padding: 16px 20px; margin: 0 0 18px; }
.hrr-sw-intro p { margin: 0 0 8px; color: #c9c9d2; font-size: 14px; line-height: 1.5; }
.hrr-sw-intro p:last-child { margin-bottom: 0; }
.hrr-sw-intro strong { color: #f2f0ec; }
.hrr-sw-intro em { color: #9a9aa2; font-style: italic; }

/* Klikací tým v žebříčku */
.hrr-team-link { color: #f2f0ec; text-decoration: none; font-weight: 600; border-bottom: 1px dotted transparent; transition: color .15s, border-color .15s; }
.hrr-team-link:hover { color: #ff2a2a; border-bottom-color: #ff2a2a; }

/* Karta týmu v popupu */
.hrr-team-card { text-align: left; }
.hrr-tc-head { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; margin-bottom: 18px; }
.hrr-tc-logo-wrap { width: 96px; height: 96px; display: flex; align-items: center; justify-content: center; }
.hrr-tc-logo { max-width: 96px; max-height: 96px; border-radius: 10px; }
.hrr-tc-logo-ph { width: 96px; height: 96px; display: flex; align-items: center; justify-content: center; background: #26262c; border-radius: 10px; font-size: 40px; font-weight: 800; color: #e3001b; font-family: var(--hrr-font-display, sans-serif); }
.hrr-tc-name { margin: 0; font-style: italic; text-transform: uppercase; font-size: 1.5rem; }
.hrr-tc-level { display: flex; align-items: center; gap: 8px; }
.hrr-tc-head .hrr-level-bar { width: 100%; max-width: 240px; height: 8px; background: #26262c; border-radius: 5px; overflow: hidden; }
.hrr-tc-head .hrr-level-bar span { display: block; height: 100%; background: linear-gradient(90deg,#e3001b,#ff2a2a); }
.hrr-tc-founded { color: #9a9aa2; font-size: 13px; margin: 4px 0 0; }
.hrr-tc-grid { margin-bottom: 12px; }
.hrr-tc-more { text-align: center; margin: 16px 0 0; }
.hrr-tc-more a { color: #e3001b; font-weight: 700; text-decoration: none; }
.hrr-tc-more a:hover { color: #ff2a2a; }

/* Přepínač Jednotlivci / Týmy ve výsledcích */
.hrr-view-toggle { margin: 0 0 10px; }
.hrr-vt-tabs { display: inline-flex; gap: 4px; background: #0c0c0e; border: 1px solid #26262c; border-radius: 10px; padding: 4px; margin: 0 0 14px; }
.hrr-vt-tab { background: none; border: 0; color: #9a9aa2; font-family: var(--hrr-font-display, inherit); font-weight: 700; font-size: 14px; text-transform: uppercase; letter-spacing: 0.03em; padding: 8px 16px; border-radius: 7px; cursor: pointer; transition: background .15s, color .15s; }
.hrr-vt-tab:hover { color: #f2f0ec; }
.hrr-vt-tab.is-active { background: #e3001b; color: #fff; }
.hrr-table-teams .hrr-team-drivers { color: #9a9aa2; font-size: 13px; }

/* Neregistrovaný / neschválený jezdec ve výsledcích */
.hrr-player.hrr-unreg { color: #ffcc33 !important; font-weight: 700; }
.hrr-player.hrr-unreg:hover { color: #ffd85a !important; }
.hrr-unreg-warn { color: #ffcc33; font-weight: 800; cursor: help; }
.hrr-unreg-legend { color: #ffcc33; font-weight: 700; }
.hrr-unreg-tag { display: inline-block; margin-left: 8px; padding: 1px 8px; border-radius: 10px; background: rgba(255,204,51,0.14); color: #ffcc33; border: 1px solid rgba(255,204,51,0.5); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; vertical-align: middle; white-space: nowrap; }
.hrr-table tr.hrr-row-unreg td { background: rgba(255,204,51,0.06); }

/* Správa rolí týmu */
.hrr-role-form { margin: 0; }
.hrr-role-form select { background: #0c0c0e; color: #f2f0ec; border: 1px solid #26262c; border-radius: 6px; padding: 5px 8px; font-size: 13px; }
.hrr-role-badge { display: inline-block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; padding: 3px 10px; border-radius: 12px; }
.hrr-role-founder { background: rgba(255,207,58,0.15); color: #ffcf3a; }
.hrr-role-member { background: rgba(227,0,27,0.15); color: #ff6b6b; }
.hrr-role-rookie { background: rgba(154,154,162,0.15); color: #9a9aa2; }

/* Tým hráče na kartě (pod jménem) */
.hrr-player-team { display: inline-block; margin: 2px 0 4px; color: #ff6b6b; font-weight: 700; font-size: 14px; text-decoration: none; border-bottom: 1px dotted transparent; transition: color .15s, border-color .15s; }
.hrr-player-team:hover { color: #ff2a2a; border-bottom-color: #ff2a2a; }

/* ============ KOMUNITNÍ SEKCE (klipy / galerie / setupy) ============ */
.hrr-community { margin: 1em 0; }
.hrr-community .hrr-login-note { color: #9a9aa2; font-size: 0.92em; }
.hrr-community .hrr-empty { color: #9a9aa2; padding: 24px 0; text-align: center; }

/* formulář pro přidání */
.hrr-add-box {
	border: 1px solid #26262c;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.02);
	padding: 6px 16px;
	margin-bottom: 24px;
}
.hrr-add-box summary {
	cursor: pointer;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #e3001b;
	padding: 10px 0;
}
.hrr-add-form { padding: 8px 0 16px; }
.hrr-add-form label { font-size: 0.9em; color: #c9c9d2; }
.hrr-add-form input[type=text],
.hrr-add-form input[type=url],
.hrr-add-form textarea,
.hrr-comment-form textarea {
	width: 100%;
	box-sizing: border-box;
	margin-top: 4px;
	padding: 9px 11px;
	background: #15151a;
	border: 1px solid #34343c;
	border-radius: 7px;
	color: #f0f0f3;
	font: inherit;
}

/* mřížka klipů */
.hrr-clip-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
@media (max-width: 800px) { .hrr-clip-grid { grid-template-columns: 1fr; } }
.hrr-clip-card {
	border: 1px solid #26262c;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.02);
	padding: 16px;
}
.hrr-clip-title { margin: 12px 0 2px; font-size: 1.15rem; }
.hrr-clip-meta { margin: 0 0 8px; color: #9a9aa2; font-size: 0.85em; }
.hrr-clip-desc { color: #c9c9d2; font-size: 0.95em; }

/* responsivní YouTube 16:9 */
.hrr-video { position: relative; width: 100%; padding-top: 56.25%; border-radius: 8px; overflow: hidden; background: #000; }
.hrr-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* hodnocení – hvězdičky */
.hrr-rating { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 12px 0; padding: 10px 0; border-top: 1px solid #26262c; }
.hrr-rating-stars { font-size: 1.1em; letter-spacing: 1px; }
.hrr-star { color: #4a4a52; }
.hrr-star.on { color: #f5b301; }
.hrr-rating-meta { color: #9a9aa2; font-size: 0.85em; }
.hrr-rate-form { display: inline-flex; align-items: center; gap: 2px; margin: 0; }
.hrr-rate-label { color: #9a9aa2; font-size: 0.85em; margin-right: 4px; }
.hrr-rate-btn {
	background: none; border: 0; cursor: pointer; padding: 0 1px;
	font-size: 1.25em; line-height: 1; color: #4a4a52; transition: color .1s;
}
.hrr-rate-btn:hover, .hrr-rate-btn.on { color: #f5b301; }

/* komentáře */
.hrr-comments { margin-top: 8px; }
.hrr-comments-title { margin: 0 0 8px; font-size: 0.95rem; color: #c9c9d2; }
.hrr-comment-list { list-style: none; margin: 0 0 12px; padding: 0; }
.hrr-comment { padding: 8px 0; border-bottom: 1px solid #1f1f24; }
.hrr-comment-head { font-size: 0.88em; }
.hrr-comment-head strong { color: #f0f0f3; }
.hrr-comment-date { color: #777; margin-left: 6px; font-size: 0.85em; }
.hrr-comment-body { color: #c9c9d2; font-size: 0.95em; margin-top: 2px; }
.hrr-comment-form { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.hrr-comment-form .hrr-btn { align-self: flex-start; }

/* pomocné prvky */
.hrr-inline-del { display: inline; margin: 0; }
.hrr-link-btn { background: none; border: 0; color: #c0392b; cursor: pointer; font-size: 0.82em; text-decoration: underline; padding: 0; }
.hrr-link-btn:hover { color: #e3001b; }

/* ============ GALERIE ============ */
.hrr-gallery-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
@media (max-width: 800px) { .hrr-gallery-grid { grid-template-columns: 1fr; } }
.hrr-gallery-card {
	position: relative;
	border: 1px solid #26262c;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.02);
	padding: 16px;
}
.hrr-cat-badge {
	display: inline-block;
	background: #e3001b;
	color: #fff;
	font-size: 0.72em;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 3px 9px;
	border-radius: 5px;
	margin-bottom: 10px;
}
.hrr-thumbs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.hrr-thumb { display: block; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 8px; }
.hrr-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .15s; }
.hrr-thumb:hover img { transform: scale(1.05); }
.hrr-gallery-meta { margin: 12px 0 4px; color: #9a9aa2; font-size: 0.85em; }
.hrr-gallery-text { color: #c9c9d2; font-size: 0.95em; margin: 0 0 4px; }

/* lightbox přes CSS :target (bez JS) */
.hrr-lightbox {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 99999;
	background: rgba(0, 0, 0, 0.92);
	align-items: center;
	justify-content: center;
	padding: 20px;
	cursor: zoom-out;
}
.hrr-lightbox:target { display: flex; }
.hrr-lightbox img { max-width: 96%; max-height: 92vh; border-radius: 8px; box-shadow: 0 10px 50px rgba(0,0,0,.6); }

/* ============ FILTRAČNÍ LIŠTA (klipy / galerie) ============ */
.hrr-filter-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-bottom: 22px;
	padding: 12px 14px;
	background: rgba(255, 255, 255, 0.02);
	border: 1px solid #26262c;
	border-radius: 10px;
}
.hrr-filter-bar select {
	padding: 8px 11px;
	background: #15151a;
	border: 1px solid #34343c;
	border-radius: 7px;
	color: #f0f0f3;
	font: inherit;
}
.hrr-filter-clear { color: #9a9aa2; font-size: 0.88em; text-decoration: underline; }
.hrr-filter-clear:hover { color: #e3001b; }

/* ============ SETUPY ============ */
.hrr-setup-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
@media (max-width: 900px) { .hrr-setup-grid { grid-template-columns: 1fr; } }
.hrr-setup-card {
	border: 1px solid #26262c;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.02);
	padding: 16px;
}
.hrr-setup-car { margin: 8px 0 2px; font-size: 1.25rem; }
.hrr-setup-loc { margin: 0 0 2px; color: #e3001b; font-weight: 700; font-size: 0.95em; }
.hrr-setup-meta { margin: 0 0 10px; color: #9a9aa2; font-size: 0.85em; }
.hrr-setup-body { white-space: pre-wrap; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 0.9em; background: #15151a; border: 1px solid #26262c; border-radius: 8px; padding: 12px; overflow-x: auto; }

/* zobrazeni setupu po sekcich */
.hrr-setup-sheet { margin: 6px 0 4px; }
.hrr-setup-section { margin-bottom: 14px; }
.hrr-setup-section h4 {
	margin: 0 0 6px;
	text-align: center;
	font-size: 0.82rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #9a9aa2;
	border-bottom: 1px solid #26262c;
	padding-bottom: 5px;
}
.hrr-setup-row { display: flex; justify-content: space-between; gap: 12px; padding: 5px 6px; font-size: 0.92em; }
.hrr-setup-row:nth-child(even) { background: rgba(255, 255, 255, 0.02); border-radius: 5px; }
.hrr-setup-row > span { color: #c9c9d2; }
.hrr-setup-row > strong { color: #f0f0f3; white-space: nowrap; }
.hrr-setup-unit { color: #9a9aa2; font-weight: 400; font-size: 0.9em; }

/* formularova pole setupu */
.hrr-sf-wrap { margin: 6px 0 12px; }
.hrr-sf-hint { color: #9a9aa2; font-size: 0.85em; margin: 0 0 10px; }
.hrr-sf-section { border: 1px solid #26262c; border-radius: 9px; margin: 0 0 14px; padding: 8px 12px 12px; }
.hrr-sf-section legend {
	padding: 0 8px;
	font-size: 0.82rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #e3001b;
}
.hrr-sf-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 4px 0; }
.hrr-sf-label { color: #c9c9d2; font-size: 0.9em; }
.hrr-sf-field { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.hrr-sf-field input {
	width: 92px;
	padding: 7px 9px;
	background: #15151a;
	border: 1px solid #34343c;
	border-radius: 6px;
	color: #f0f0f3;
	font: inherit;
	text-align: right;
}
.hrr-sf-unit { color: #9a9aa2; font-size: 0.85em; min-width: 34px; }

/* ============ ROLE VE VÝSLEDCÍCH (mimo soutěž / pořadatel) + podium amatérů ============ */
.hrr-role-tag { display: inline-block; font-size: 0.7em; font-weight: 800; text-transform: uppercase; letter-spacing: 0.03em; padding: 2px 7px; border-radius: 4px; vertical-align: middle; }
.hrr-role-pro { background: #27406b; color: #cfe0ff; }
.hrr-role-org { background: #5a2b6b; color: #f0d6ff; }
.hrr-amateur-podium { margin: 12px 0 4px; font-size: 1.02em; }
.hrr-podium-item { display: inline-block; margin-right: 14px; white-space: nowrap; }

/* typ vozu u podniku (Historic šampionát) */
.hrr-event-car { display: block; margin-top: 5px; font-size: 0.85em; font-weight: 700; color: #e3001b; }

/* setupy: klikací karty v seznamu + detail */
.hrr-setup-listcard {
	display: block;
	border: 1px solid #26262c;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.02);
	padding: 16px;
	text-decoration: none;
	color: inherit;
	transition: border-color .12s, transform .12s;
}
.hrr-setup-listcard:hover { border-color: #e3001b; transform: translateY(-2px); }
.hrr-setup-listcard .hrr-setup-car { margin-top: 8px; }
.hrr-setup-open { display: inline-block; margin-top: 10px; color: #e3001b; font-weight: 800; font-size: 0.9em; text-transform: uppercase; letter-spacing: 0.03em; }
.hrr-setup-back { margin: 0 0 16px; }
.hrr-setup-back a { color: #9a9aa2; text-decoration: none; font-weight: 700; }
.hrr-setup-back a:hover { color: #e3001b; }

/* ============ SDÍLENÉ NÁHLEDOVÉ KARTY (klipy / galerie) ============ */
.hrr-listcard { display: block; border: 1px solid #26262c; border-radius: 12px; background: rgba(255,255,255,0.02); overflow: hidden; text-decoration: none; color: inherit; transition: border-color .12s, transform .12s; }
.hrr-listcard:hover { border-color: #e3001b; transform: translateY(-2px); }
.hrr-listcard-thumb { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #0c0c0f; overflow: hidden; }
.hrr-listcard-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hrr-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 2.6rem; color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,.7); opacity: .92; pointer-events: none; }
.hrr-img-count { position: absolute; right: 8px; bottom: 8px; background: rgba(0,0,0,.7); color: #fff; font-size: 0.78em; font-weight: 700; padding: 2px 8px; border-radius: 5px; }
.hrr-listcard-body { padding: 14px 16px 16px; }
.hrr-listcard-body .hrr-cat-badge { margin-bottom: 8px; }
.hrr-listcard-body h3 { margin: 2px 0; font-size: 1.1rem; }
.hrr-listcard-text { margin: 4px 0; color: #c9c9d2; font-size: 0.92em; }
.hrr-listcard-meta { margin: 4px 0 2px; color: #9a9aa2; font-size: 0.85em; }
.hrr-listcard-stats { margin: 4px 0 0; color: #c9c9d2; font-size: 0.9em; }
.hrr-listcard-stats .hrr-star { color: #f5b301; }

/* prázdné pole setupu = default */
.hrr-setup-default { color: #6f6f78; font-weight: 400; font-style: italic; }

/* ============ MESSENGER ============ */
.hrr-messenger { max-width: 720px; }
.hrr-msg-title { margin: 4px 0 12px; font-size: 1.3rem; }

/* seznam konverzací */
.hrr-conv-list { display: flex; flex-direction: column; gap: 8px; }
.hrr-conv { display: flex; flex-direction: column; gap: 3px; padding: 12px 16px; border: 1px solid #26262c; border-radius: 10px; background: rgba(255,255,255,0.02); text-decoration: none; color: inherit; transition: border-color .12s, transform .12s; }
.hrr-conv:hover { border-color: #e3001b; transform: translateY(-2px); }
.hrr-conv-name { font-weight: 700; font-size: 1.05rem; }
.hrr-conv-snippet { color: #9a9aa2; font-size: 0.9em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hrr-conv-unread { border-color: #e3001b; background: rgba(227,0,27,0.06); }
.hrr-conv-badge { display: inline-block; min-width: 20px; padding: 0 6px; margin-left: 6px; background: #e3001b; color: #fff; font-size: 0.78em; font-weight: 700; line-height: 20px; text-align: center; border-radius: 10px; vertical-align: middle; }

/* vlákno (bubliny) */
.hrr-msg-thread { display: flex; flex-direction: column; gap: 8px; padding: 14px; border: 1px solid #26262c; border-radius: 12px; background: rgba(0,0,0,0.25); max-height: 60vh; overflow-y: auto; margin-bottom: 12px; }
.hrr-msg { max-width: 78%; padding: 8px 12px; border-radius: 14px; }
.hrr-msg-in { align-self: flex-start; background: #1d1d22; border: 1px solid #26262c; border-bottom-left-radius: 4px; }
.hrr-msg-out { align-self: flex-end; background: #e3001b; border-bottom-right-radius: 4px; }
.hrr-msg-out .hrr-msg-time { color: rgba(255,255,255,.75); }
.hrr-msg-body { font-size: 0.98em; line-height: 1.35; word-wrap: break-word; }
.hrr-msg-time { margin-top: 3px; font-size: 0.72em; color: #9a9aa2; text-align: right; }

/* odesílací formulář */
.hrr-msg-form { display: flex; gap: 8px; align-items: flex-end; }
.hrr-msg-form textarea { flex: 1; resize: vertical; }

/* odkaz na zprávy v profilu */
.hrr-profile-messages { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 14px; padding: 8px 14px; border: 1px solid #26262c; border-radius: 999px; background: rgba(255,255,255,0.02); color: inherit; text-decoration: none; font-weight: 600; transition: border-color .12s; }
.hrr-profile-messages:hover { border-color: #e3001b; }
.hrr-profile-messages .hrr-pm-ico { font-size: 1.15em; }
.hrr-profile-messages.hrr-has-unread { border-color: #e3001b; background: rgba(227,0,27,0.08); }
.hrr-profile-messages .hrr-pm-count { color: #e3001b; font-weight: 800; }

/* ===== FILTR PODLE HRY (nad vším) ===== */
.hrr-game-filter { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-start; margin: 0 0 14px; }
.hrr-active-card.hrr-hidden, .hrr-champ-section.hrr-hidden { display: none; }
.hrr-gamef-btn {
	padding: 8px 20px;
	background: transparent;
	border: 2px solid #e3001b;
	color: inherit;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	cursor: pointer;
	clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
}
.hrr-gamef-btn:hover, .hrr-gamef-btn.is-active { background: #e3001b; color: #fff; }

/* hra v pravém dolním rohu banneru / karty */
.hrr-active-game {
	position: absolute; right: 14px; bottom: 14px;
	background: rgba(0,0,0,0.78); color: #fff;
	font-size: 12px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase;
	padding: 5px 12px; border-radius: 4px;
}
.hrr-flip-game {
	position: absolute; right: 10px; bottom: 10px; z-index: 2;
	background: rgba(0,0,0,0.78); color: #fff;
	font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase;
	padding: 4px 10px; border-radius: 4px;
}

/* ===== PŘEPÍNAČ HER nad AllTime žebříčkem ===== */
.hrr-game-switch { display: inline-flex; flex-wrap: wrap; gap: 6px; border: 1px solid #26262c; border-radius: 10px; padding: 5px; background: #0f0f12; margin: 0 0 10px; }
.hrr-gs-tab { background: transparent; border: 0; color: #9a9aa2; font-family: var(--font-display, sans-serif); font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; padding: 10px 22px; cursor: pointer; font-size: 14px; border-radius: 7px; }
.hrr-gs-tab:hover { color: #fff; }
.hrr-gs-tab.is-active { background: #e3001b; color: #fff; }
.hrr-gs-note { margin: 0 0 18px; color: #8a8a92; font-size: 13px; max-width: 660px; line-height: 1.4; }

/* značka hry u odjetých šampionátů na kartě/profilu */
.hrr-champ-game { color: #e3001b; font-weight: 700; font-size: 0.85em; }
.hrr-profile-row-label em { color: #9a9aa2; font-style: normal; font-size: 0.9em; }

/* dárci (donate) – zlatý rámeček karty na stránce Jezdci */
.hrr-member-supporter { border-color: #ffcf3a; box-shadow: 0 0 0 1px rgba(255,207,58,0.35), 0 0 16px rgba(255,207,58,0.12); }
.hrr-member-supporter:hover { border-color: #ffdf70; transform: translateY(-2px); }

/* admin – červený rámeček karty na stránce Jezdci */
.hrr-member-admin { border-color: #e3001b; box-shadow: 0 0 0 1px rgba(227,0,27,0.40), 0 0 16px rgba(227,0,27,0.15); }
.hrr-member-admin:hover { border-color: #ff2a2a; transform: translateY(-2px); }

/* Registrované týmy na stránce šampionátu */
.hrr-reg-teams { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; margin: 10px 0 6px; }
.hrr-reg-team { display: flex; align-items: center; gap: 12px; background: var(--carbon, #141418); border: 1px solid var(--line, #26262b); border-radius: 10px; padding: 10px 14px; }
.hrr-reg-team-logo { width: 40px; height: 40px; border-radius: 8px; object-fit: cover; flex: 0 0 auto; background: #0c0c0e; }
.hrr-reg-team-nologo { display: flex; align-items: center; justify-content: center; font-size: 20px; }
.hrr-reg-team-name { font-weight: 700; flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
