/* RR Selector — styled exclusively through the site's design tokens,
   with plain fallbacks. Status colors arrive as --rr-stav-* custom props
   (inline style from plugin settings). */

/* ---------- maps (aerial + floor) ---------- */
.rr-map-stage { position: relative; line-height: 0; }
.rr-map-img { width: 100%; height: auto; display: block; }
.rr-map-svg { position: absolute; inset: 0; width: 100%; height: 100%; }

.rr-map-svg .rr-hot > * ,
.rr-map-svg .rr-hot { cursor: pointer; }
.rr-map-svg [id] { fill: transparent; stroke: transparent; transition: fill .15s ease; }
.rr-map-svg .rr-hot:hover [id],
.rr-map-svg .rr-hot:focus-visible [id],
.rr-map-svg .rr-hot.rr-active [id] { fill: var(--rr-hover-fill, rgba(240, 106, 20, 0.2)); }
.rr-map-svg .rr-hot.rr-stav-prodane:hover [id],
.rr-map-svg .rr-hot.rr-stav-prodane.rr-active [id] { fill: var(--rr-stav-prodane, #A39A8F); fill-opacity: .35; }
.rr-map-svg .rr-disabled [id] { fill: var(--rr-stav-prodane, #A39A8F); fill-opacity: .25; }
.rr-map-svg .rr-hot:focus-visible [id] { stroke: var(--rr-orange, #F06B32); stroke-width: 2; }
.rr-map-svg .rr-sync [id] { fill: var(--rr-hover-fill, rgba(240, 106, 20, 0.2)); }

/* hover card */
.rr-card {
	position: absolute; z-index: 20; pointer-events: none;
	min-width: 180px; max-width: 260px; line-height: 1.45;
	background: var(--white, #fff); color: var(--rr-dark-grey, #25262A);
	border: 1px solid var(--rr-light-grey, #D8D6C9); border-radius: 8px;
	padding: 12px 14px; box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
	font-family: var(--body, inherit); font-size: var(--text-body-s, 14px);
}
.rr-card .rr-card-title { font-weight: 600; font-size: var(--text-body, 16px); margin-bottom: 4px; }
.rr-card .rr-card-line { color: inherit; opacity: .8; }
.rr-card .rr-badge { margin-top: 6px; }

/* badges */
.rr-badge {
	display: inline-block; font-size: var(--text-tag, 12px); font-weight: 600;
	line-height: 1; padding: 5px 12px; border-radius: 999px;
	color: #fff; background: var(--rr-stav-prodane, #A39A8F);
	font-family: var(--body, inherit);
}
.rr-stav-volne.rr-badge, .rr-badge.rr-stav-volne { background: var(--rr-stav-volne, #4C9A62); }
.rr-badge.rr-stav-rezervovano { background: var(--rr-stav-rezervovano, #D9A441); }
.rr-badge.rr-stav-prodane { background: var(--rr-stav-prodane, #A39A8F); }

/* ---------- aerial fallback list ---------- */
.rr-areal-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; margin-top: 16px; }
.rr-list-row {
	display: flex; flex-direction: column; gap: 2px; text-decoration: none;
	border: 1px solid var(--rr-light-grey, #D8D6C9); border-radius: 10px;
	padding: 12px 16px; color: var(--rr-dark-grey, #25262A);
	font-family: var(--body, inherit); font-size: var(--text-body-s, 14px);
	transition: border-color .15s ease;
}
a.rr-list-row:hover, a.rr-list-row:focus-visible { border-color: var(--rr-orange, #F06B32); }
.rr-list-title { font-weight: 600; font-size: var(--text-body, 16px); }
.rr-list-sub { opacity: .7; }
.rr-list-disabled { opacity: .55; }
/* with JS active, the list is a mobile fallback only */
.rr-js .rr-areal-list { display: none; }
.rr-js.rr-static .rr-areal-list { display: grid; }
.rr-static .rr-map-svg { pointer-events: none; }
.rr-static .rr-card { display: none !important; }

/* ---------- floor flat list ---------- */
.rr-seznam { display: flex; flex-direction: column; }
.rr-seznam-row {
	display: flex; justify-content: space-between; gap: 16px; align-items: baseline;
	padding: 9px 2px; text-decoration: none; color: var(--rr-dark-grey, #25262A);
	border-bottom: 1px solid var(--rr-light-grey, #D8D6C9);
	font-family: var(--body, inherit); font-size: var(--text-body-s, 14px);
}
.rr-seznam-row:hover .rr-seznam-name, .rr-seznam-row:focus-visible .rr-seznam-name { color: var(--rr-orange, #F06B32); }
.rr-seznam-row.rr-stav-prodane { opacity: .5; }
.rr-seznam-area { font-variant-numeric: tabular-nums; white-space: nowrap; }

/* ---------- floor tabs + building switch ---------- */
.rr-taby { display: flex; flex-wrap: wrap; gap: 8px; }
.rr-tab {
	display: inline-block; text-decoration: none; font-family: var(--body, inherit);
	font-size: var(--text-body-s, 14px); line-height: 1; padding: 9px 16px;
	border: 1px solid var(--rr-dark-grey, #25262A); border-radius: 999px;
	color: var(--rr-dark-grey, #25262A); transition: all .15s ease;
}
a.rr-tab:hover, a.rr-tab:focus-visible { border-color: var(--rr-orange, #F06B32); color: var(--rr-orange, #F06B32); }
.rr-tab-active { background: var(--rr-orange, #F06B32); border-color: var(--rr-orange, #F06B32); color: #fff; }
.rr-prepinac {
	text-decoration: none; color: var(--rr-dark-grey, #25262A);
	font-family: var(--heading, inherit); font-size: var(--title-h3, 28px);
}
.rr-prepinac:hover, .rr-prepinac:focus-visible { color: var(--rr-orange, #F06B32); }

/* ---------- flat parameters ---------- */
.rr-parametry { margin: 0; font-family: var(--body, inherit); }
.rr-parametry-row {
	display: flex; justify-content: space-between; gap: 24px; align-items: baseline;
	padding: 9px 0; border-bottom: 1px solid var(--rr-light-grey, #D8D6C9);
	font-size: var(--text-body-s, 14px);
}
.rr-parametry dt { color: var(--rr-dark-grey, #25262A); opacity: .7; }
.rr-parametry dd { margin: 0; font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; }

/* ---------- back link ---------- */
.rr-zpet {
	display: inline-block; text-decoration: none; color: var(--rr-dark-grey, #25262A);
	font-family: var(--heading, inherit); font-size: var(--title-h3, 28px);
}
.rr-zpet:hover, .rr-zpet:focus-visible { color: var(--rr-orange, #F06B32); }

/* ---------- building graphics ---------- */
.rr-grafika img { max-width: 100%; height: auto; }

/* ---------- ceník ---------- */
.rr-cenik { font-family: var(--body, inherit); }
.rr-cenik-filtry { display: flex; flex-wrap: wrap; gap: 14px 20px; align-items: flex-end; margin-bottom: 18px; }
.rr-filtr { display: flex; flex-direction: column; gap: 4px; font-size: var(--text-tag, 12px); text-transform: uppercase; letter-spacing: .06em; color: var(--rr-dark-grey, #25262A); }
.rr-filtr select {
	min-width: 130px; padding: 8px 10px; font-size: var(--text-body-s, 14px);
	border: 1px solid var(--rr-light-grey, #D8D6C9); border-radius: 8px;
	background: var(--white, #fff); color: var(--rr-dark-grey, #25262A);
}
.rr-cenik-count { font-size: var(--text-body-s, 14px); opacity: .65; margin-left: auto; }
.rr-cenik-scroll { overflow-x: auto; }
.rr-cenik-tabulka { width: 100%; border-collapse: collapse; font-size: var(--text-body-s, 14px); min-width: 900px; }
.rr-cenik-tabulka th {
	text-align: left; font-size: var(--text-tag, 12px); font-weight: 500;
	color: var(--rr-dark-grey, #25262A); opacity: .65; padding: 10px 12px;
	white-space: nowrap; border-bottom: 1px solid var(--rr-light-grey, #D8D6C9);
}
.rr-cenik-tabulka th[data-rr-sort] { cursor: pointer; }
.rr-cenik-tabulka th[data-rr-sort]::after { content: " ↕"; opacity: .5; }
.rr-cenik-tabulka th.rr-sort-asc::after { content: " ↑"; opacity: 1; }
.rr-cenik-tabulka th.rr-sort-desc::after { content: " ↓"; opacity: 1; }
.rr-cenik-tabulka td {
	padding: 12px; border-bottom: 1px solid var(--rr-light-grey, #D8D6C9);
	white-space: nowrap; font-variant-numeric: tabular-nums; color: var(--rr-dark-grey, #25262A);
}
.rr-cenik-tabulka td a { color: inherit; font-weight: 600; text-decoration: none; }
.rr-cenik-row { cursor: pointer; transition: background .12s ease; }
.rr-cenik-row:hover { background: var(--rr-orange-semi-trans, rgba(240, 106, 20, .08)); }
.rr-cenik-row.rr-sold td { opacity: .5; }
.rr-cenik-row[hidden] { display: none; }
.rr-karta { display: inline-block; text-decoration: none; font-weight: 700; color: var(--rr-orange, #F06B32); }

@media (max-width: 767px) {
	.rr-cenik-filtry { gap: 10px; }
	.rr-filtr select { min-width: 110px; }
}
