/*
 * Rybárske revíry – portál
 * Všetko je v mennom priestore .ryb, aby sa štýly nepliesli s témou.
 * Rozloženie reaguje na šírku obsahu (container queries), nie na šírku okna.
 */

@font-face {
	font-family: 'Bricolage Grotesque Variable';
	font-style: normal;
	font-display: swap;
	font-weight: 200 800;
	font-stretch: 75% 100%;
	src: url('../fonts/bricolage-grotesque-latin-ext-wdth-normal.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Bricolage Grotesque Variable';
	font-style: normal;
	font-display: swap;
	font-weight: 200 800;
	font-stretch: 75% 100%;
	src: url('../fonts/bricolage-grotesque-latin-wdth-normal.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ------------------------------------------------------------------ tokens */

/*
 * Farby: „ranná voda“. Chladné svetlé plátno, hlboká vodná modrá na hlavičkách, tyrkysová na odkazoch
 * a oranžový splávok ako jediný výrazný akcent (tlačidlá, aktuálna hodnota, čiara revíru na snímke).
 */
.ryb {
	--ryb-ink: #0d2230;
	--ryb-ink-2: #35505f;
	--ryb-mute: #5b7280;
	--ryb-deep: #0a2f45;
	--ryb-river: #0f7b8a;
	--ryb-river-2: #0b5f6b;
	--ryb-shallow: #dcebee;
	--ryb-canvas: #eef3f4;
	--ryb-surface: #ffffff;
	--ryb-line: #d3dfe3;
	--ryb-line-2: #e3ecee;
	--ryb-float: #ff5a1f;
	--ryb-float-ink: #c8380a;
	--ryb-blaze: #ff5a1f;
	--ryb-sun: #f2b632;

	--ryb-r-xl: 20px;
	--ryb-r-lg: 14px;
	--ryb-r: 10px;
	--ryb-r-sm: 7px;

	--ryb-font-display: 'Bricolage Grotesque Variable', 'Bricolage Grotesque', ui-sans-serif, system-ui, sans-serif;

	--ryb-shadow: 0 1px 2px rgba(10, 47, 69, .06), 0 10px 28px -14px rgba(10, 47, 69, .22);
	--ryb-shadow-up: 0 2px 4px rgba(10, 47, 69, .08), 0 18px 36px -16px rgba(10, 47, 69, .32);
	--ryb-ease: cubic-bezier(.2, .7, .2, 1);

	--t: #6a8794;
	--t-ink: #3f5a68;
	--t-bg: #e0eaed;
}

/* typy vody: farba tvaru, farba textu, jemné pozadie */
.ryb .ryb-t-carp,
.ryb.ryb-t-carp {
	--t: #c98f0a;
	--t-ink: #7a5200;
	--t-bg: #fbf0d3;
}
.ryb .ryb-t-trout,
.ryb.ryb-t-trout {
	--t: #2285c9;
	--t-ink: #0f4f7d;
	--t-bg: #dcecf8;
}
.ryb .ryb-t-grayling,
.ryb.ryb-t-grayling {
	--t: #7b5ccc;
	--t-ink: #4c3394;
	--t-bg: #e8e2f7;
}
.ryb .ryb-t-other,
.ryb.ryb-t-other {
	--t: #6a8794;
	--t-ink: #3f5a68;
	--t-bg: #e0eaed;
}

/* ------------------------------------------------------------------- reset */

.ryb {
	box-sizing: border-box;
	container-type: inline-size;
	container-name: ryb;
	position: relative;
	isolation: isolate;
	margin: 0 0 2rem;
	padding: clamp(10px, 2vw, 26px);
	border-radius: 34px;
	background: var(--ryb-canvas);
	color: var(--ryb-ink);
	font-family: 'Bricolage Grotesque Variable', 'Bricolage Grotesque', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	font-size: 16px;
	font-weight: 420;
	line-height: 1.5;
	font-optical-sizing: auto;
	font-variant-numeric: tabular-nums;
	-webkit-font-smoothing: antialiased;
	text-align: left;
	text-transform: none;
	letter-spacing: 0;
	overflow-wrap: break-word;
}
.ryb *,
.ryb *::before,
.ryb *::after {
	box-sizing: border-box;
}
.ryb :where(a, a:hover, a:focus) {
	color: inherit;
	text-decoration: none;
	box-shadow: none;
	border-bottom: 0;
	background-image: none;
}
.ryb :where(h1, h2, h3) {
	margin: 0;
	padding: 0;
	font-family: inherit;
	color: inherit;
	text-transform: none;
	letter-spacing: normal;
	border: 0;
	background: none;
}
.ryb :where(p, ul, ol, dl, dd, dt, figure, li) {
	margin: 0;
	padding: 0;
}
.ryb :where(ul, ol) {
	list-style: none;
}
.ryb :where(li)::marker {
	content: none;
}
.ryb :where(button) {
	font: inherit;
	color: inherit;
	background: none;
	border: 0;
	padding: 0;
	margin: 0;
	cursor: pointer;
	text-transform: none;
	letter-spacing: normal;
	box-shadow: none;
	border-radius: 0;
}
.ryb :where(input, select) {
	font: inherit;
	color: inherit;
	margin: 0;
	max-width: 100%;
	box-shadow: none;
}
.ryb :where(svg) {
	max-width: none;
}
.ryb .ryb-i {
	width: 1.15em;
	height: 1.15em;
	flex: none;
	display: inline-block;
	vertical-align: -.2em;
}
.ryb :where(code) {
	font-family: inherit;
	background: none;
	padding: 0;
	color: inherit;
	font-size: inherit;
}
.ryb :focus-visible {
	outline: 2.5px solid var(--ryb-river);
	outline-offset: 2px;
	border-radius: 8px;
}
.ryb-hero :focus-visible {
	outline-color: #fff;
}
.ryb .ryb-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* roztiahnutie z úzkeho stĺpca témy (nastavenie „Šírka“ alebo shortcode wide="yes") */
.ryb.ryb--wide {
	--ryb-w: min(calc(100vw - 2rem), 1240px);
	width: var(--ryb-w) !important;
	max-width: none !important;
	margin-left: calc(50% - var(--ryb-w) / 2) !important;
	margin-right: 0 !important;
}
body:has(.ryb--wide) {
	overflow-x: clip;
}

/* nadpis témy je v záhlaví pluginu */
body.ryb-hide-title .entry-title,
body.ryb-hide-title .page-title,
body.ryb-hide-title h1.wp-block-post-title,
body.ryb-hide-title .post-title,
body.ryb-hide-title .page-header .title,
body.ryb-hide-title .ast-archive-title {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* ------------------------------------------------------------------- hero */

.ryb-hero {
	position: relative;
	overflow: hidden;
	border-radius: var(--ryb-r-xl);
	color: #fff;
	background: linear-gradient(168deg, #082638 0%, #0b3a52 52%, #0e5a6e 100%);
	isolation: isolate;
	box-shadow: var(--ryb-shadow);
}
.ryb-hero__bg {
	position: absolute;
	inset: 0;
	z-index: -1;
	overflow: hidden;
}
.ryb-contours {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	color: rgba(190, 205, 150, .09);
}
.ryb-water {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 58%;
	min-height: 150px;
}
.ryb-js .ryb-water {
	animation: ryb-rise 1.9s var(--ryb-ease) both;
}
.ryb-water__body {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, #0f7b8a 0%, #0b5f6b 55%, #0e4a5e 100%);
}
.ryb-water__wave {
	position: absolute;
	left: 0;
	width: 200%;
	height: 64px;
	top: -42px;
	fill: #0f7b8a;
	animation: ryb-drift 16s linear infinite;
}
.ryb-water__wave--b {
	fill: rgba(15, 123, 138, .5);
	top: -52px;
	animation-duration: 26s;
	animation-direction: reverse;
}
.ryb-fish {
	position: absolute;
	bottom: 26%;
	left: -70px;
	width: 46px;
	height: auto;
	fill: rgba(255, 255, 255, .13);
}
.ryb-fish circle {
	fill: rgba(17, 26, 13, .65);
}
.ryb-js .ryb-fish {
	animation: ryb-swim 16s cubic-bezier(.4, .1, .4, 1) 2.2s 1 both;
}
@keyframes ryb-rise {
	from { transform: translateY(78%); }
	to { transform: none; }
}
@keyframes ryb-drift {
	to { transform: translateX(-50%); }
}
@keyframes ryb-swim {
	0% { transform: translate(0, 0); opacity: 0; }
	8% { opacity: 1; }
	50% { transform: translate(calc(50cqi + 40px), -14px); }
	92% { opacity: 1; }
	100% { transform: translate(calc(100cqi + 140px), 4px); opacity: 0; }
}

.ryb-hero__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: clamp(20px, 4cqi, 44px);
	min-height: clamp(300px, 36cqi, 440px);
	padding: clamp(18px, 3.2cqi, 40px);
}
.ryb-hero__main {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 28px;
	align-items: flex-end;
	justify-content: space-between;
	margin-top: auto;
}
.ryb-hero__lead {
	min-width: 0;
	flex: 1 1 320px;
}
.ryb-hero__tag {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
	padding: 6px 14px 6px 10px;
	border-radius: 99px;
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .16);
	font-size: .875rem;
	font-weight: 560;
	color: rgba(255, 255, 255, .92);
}
.ryb .ryb-hero__title {
	font-size: clamp(2.3rem, 7.4cqi, 5.2rem);
	font-weight: 720;
	font-stretch: 100%;
	line-height: .95;
	letter-spacing: -.015em;
	color: #fff;
	text-wrap: balance;
	max-width: 18ch;
}
.ryb-hero__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
}
.ryb-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

/* drobečky */
.ryb-crumbs ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
	font-size: .8125rem;
	color: rgba(255, 255, 255, .74);
}
.ryb-crumbs li {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
.ryb-crumbs li + li::before {
	content: '';
	width: 6px;
	height: 6px;
	border: solid currentColor;
	border-width: 1.5px 1.5px 0 0;
	transform: rotate(45deg);
	opacity: .5;
}
.ryb-crumbs a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 2px 0;
}
.ryb-crumbs a:hover span {
	text-decoration: underline;
	text-underline-offset: 3px;
}
.ryb-crumbs [aria-current] {
	color: #fff;
	font-weight: 560;
}

/* odznaky, štítky */
.ryb-badge,
.ryb-chip,
.ryb-ticket {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 34px;
	padding: 0 14px 0 11px;
	border-radius: 99px;
	font-size: .875rem;
	font-weight: 560;
	line-height: 1;
	white-space: nowrap;
}
.ryb-hero .ryb-badge {
	background: rgba(255, 255, 255, .95);
	color: var(--t-ink);
}
.ryb-hero .ryb-badge .ryb-i {
	color: var(--t);
}
.ryb-hero .ryb-chip,
.ryb-hero .ryb-ticket {
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .2);
	color: #fff;
}
.ryb-hero a.ryb-chip:hover {
	background: rgba(255, 255, 255, .22);
}
.ryb-ticket {
	border-style: dashed !important;
	font-variant-numeric: tabular-nums;
}

/* buttons */
.ryb .ryb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 46px;
	padding: 0 20px;
	border-radius: 15px;
	border: 1px solid transparent;
	font-weight: 620;
	font-size: .9375rem;
	line-height: 1;
	cursor: pointer;
	transition: background-color .2s, border-color .2s, transform .2s var(--ryb-ease);
}
.ryb .ryb-btn:active {
	transform: translateY(1px);
}
.ryb .ryb-btn--primary {
	background: var(--ryb-float-ink);
	color: #fff;
}
.ryb .ryb-btn--primary:hover {
	background: #a03c05;
	color: #fff;
}
.ryb .ryb-btn--glass {
	background: rgba(255, 255, 255, .13);
	border-color: rgba(255, 255, 255, .28);
	color: #fff;
}
.ryb .ryb-btn--glass:hover {
	background: rgba(255, 255, 255, .24);
}
.ryb .ryb-btn--ghost {
	background: var(--ryb-surface);
	border-color: var(--ryb-line);
	color: var(--ryb-ink);
}
.ryb .ryb-btn--ghost:hover {
	border-color: var(--ryb-river);
	color: var(--ryb-river-2);
}

/* štatistiky – stupnica vodočtu */
.ryb-stats {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 18px 36px;
	padding-top: 22px;
}
.ryb-stats::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 12px;
	background-image:
		repeating-linear-gradient(90deg, rgba(255, 255, 255, .6) 0 1.5px, transparent 1.5px 40px),
		repeating-linear-gradient(90deg, rgba(255, 255, 255, .3) 0 1px, transparent 1px 8px);
	background-size: 100% 100%, 100% 50%;
	background-repeat: no-repeat;
	-webkit-mask-image: linear-gradient(90deg, #000 60%, transparent);
	mask-image: linear-gradient(90deg, #000 60%, transparent);
}
.ryb-stat {
	min-width: 0;
}
.ryb-stat dt {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: .8125rem;
	color: rgba(255, 255, 255, .72);
	margin-bottom: 2px;
}
.ryb-stat dd {
	display: flex;
	align-items: baseline;
	gap: 6px;
	font-size: clamp(1.9rem, 5.4cqi, 3.1rem);
	font-weight: 700;
	font-stretch: 100%;
	line-height: 1;
	color: #fff;
}
.ryb-stat__unit {
	font-size: .45em;
	font-weight: 560;
	font-stretch: 100%;
	color: rgba(255, 255, 255, .78);
}
.ryb-stat__text {
	font-size: clamp(1.15rem, 2.8cqi, 1.5rem);
	font-weight: 620;
	font-stretch: 100%;
	line-height: 1.15;
	max-width: 22ch;
}

/* pomer typov vody */
.ryb-split {
	display: grid;
	gap: 10px;
}
.ryb-split__bar {
	display: flex;
	gap: 3px;
	height: 12px;
	border-radius: 99px;
	overflow: hidden;
}
.ryb-split__seg {
	flex: 0 0 var(--w);
	min-width: 6px;
	background: var(--t);
	border-radius: 3px;
	transform-origin: left center;
}
.ryb-js .ryb-split__seg {
	animation: ryb-grow 1.1s var(--ryb-ease) .5s both;
}
@keyframes ryb-grow {
	from { transform: scaleX(0); }
	to { transform: none; }
}
.ryb-split__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 22px;
	font-size: .8125rem;
	color: rgba(255, 255, 255, .86);
}
.ryb-split__legend li {
	display: inline-flex;
	align-items: baseline;
	gap: 7px;
}
.ryb-split__legend .ryb-dot {
	align-self: center;
}
.ryb-split__legend b {
	font-weight: 650;
	color: #fff;
}
.ryb-split__legend small {
	color: rgba(255, 255, 255, .6);
	font-size: inherit;
}

.ryb-dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--t);
	flex: none;
}
.ryb-dots {
	display: inline-flex;
	gap: 4px;
}

/* ------------------------------------------------------------------- body */

.ryb-body {
	display: flex;
	flex-direction: column;
	gap: clamp(26px, 4.6cqi, 48px);
	margin-top: clamp(16px, 2.6cqi, 28px);
}

/* ---------------------------------------------------------------- explorer */

.ryb-explore {
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr);
}
.ryb-explore__main {
	min-width: 0;
	container-type: inline-size;
	container-name: ryb-list;
}
.ryb-explore__map {
	display: none;
	min-width: 0;
}
.ryb-explore.map-open .ryb-explore__map {
	display: block;
	height: min(62vh, 440px);
	order: -1;
}
@container ryb (min-width: 1000px) {
	.ryb-explore.has-map {
		grid-template-columns: minmax(0, 1fr) minmax(340px, 38%);
		align-items: start;
		gap: 22px;
	}
	.ryb-explore.has-map .ryb-explore__map {
		display: block;
		order: 0;
		position: sticky;
		top: 18px;
		height: min(74vh, 680px);
	}
	.ryb-toggle--map {
		display: none !important;
	}
}

/* tabs */
.ryb-tabs {
	position: relative;
	display: inline-flex;
	gap: 2px;
	margin-bottom: 14px;
	padding: 4px;
	border-radius: 18px;
	background: #dcebee;
}
.ryb .ryb-tab {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-height: 44px;
	padding: 0 18px 0 14px;
	border-radius: 14px;
	font-weight: 620;
	color: var(--ryb-ink-2);
	transition: color .2s;
}
.ryb .ryb-tab b {
	min-width: 28px;
	padding: 3px 8px;
	border-radius: 99px;
	background: rgba(13, 34, 48, .08);
	font-size: .75rem;
	font-weight: 650;
	text-align: center;
	line-height: 1.3;
	transition: background-color .2s, color .2s;
}
.ryb .ryb-tab.is-active {
	color: var(--ryb-ink);
}
.ryb .ryb-tab.is-active b {
	background: var(--ryb-river);
	color: #fff;
}
.ryb-tabs__ink {
	position: absolute;
	z-index: 0;
	top: 4px;
	bottom: 4px;
	left: 0;
	width: var(--w, 0);
	transform: translateX(var(--x, 0));
	border-radius: 14px;
	background: var(--ryb-surface);
	box-shadow: 0 1px 2px rgba(10, 47, 69, .12), 0 6px 14px -8px rgba(10, 47, 69, .3);
	transition: transform .35s var(--ryb-ease), width .35s var(--ryb-ease);
}
.ryb-tabs:not(.is-ready) .ryb-tabs__ink {
	display: none;
}
.ryb-tabs:not(.is-ready) .ryb-tab.is-active {
	background: var(--ryb-surface);
}

/* filtre */
.ryb-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	padding: 12px;
	border-radius: var(--ryb-r-lg);
	background: var(--ryb-surface);
	border: 1px solid var(--ryb-line);
	box-shadow: var(--ryb-shadow);
}
.ryb-search {
	position: relative;
	display: flex;
	align-items: center;
	flex: 1 1 260px;
	min-width: 0;
}
.ryb-search .ryb-i {
	position: absolute;
	left: 14px;
	color: var(--ryb-mute);
	pointer-events: none;
}
.ryb .ryb-search input {
	width: 100%;
	height: 46px;
	padding: 0 14px 0 42px;
	border-radius: 14px;
	border: 1px solid var(--ryb-line);
	background: #f4f8f9;
	color: var(--ryb-ink);
	font-size: 1rem;
	transition: border-color .2s, background-color .2s;
	-webkit-appearance: none;
	appearance: none;
}
.ryb .ryb-search input::placeholder {
	color: #8aa3ad;
}
.ryb .ryb-search input:focus {
	outline: none;
	border-color: var(--ryb-river);
	background: var(--ryb-surface);
	box-shadow: 0 0 0 3px rgba(15, 123, 138, .18);
}
.ryb .ryb-search input::-webkit-search-cancel-button {
	-webkit-appearance: none;
}
.ryb-bar__right {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-left: auto;
}
.ryb .ryb-toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 46px;
	padding: 0 16px 0 13px;
	border-radius: 14px;
	border: 1px solid var(--ryb-line);
	background: var(--ryb-surface);
	font-weight: 580;
	font-size: .9375rem;
	color: var(--ryb-ink-2);
	transition: background-color .2s, border-color .2s, color .2s;
}
.ryb .ryb-toggle:hover {
	border-color: var(--ryb-river);
}
.ryb .ryb-toggle[aria-pressed='true'],
.ryb .ryb-toggle[aria-expanded='true'] {
	background: var(--ryb-river);
	border-color: var(--ryb-river);
	color: #fff;
}
.ryb-views {
	display: inline-flex;
	padding: 3px;
	border-radius: 14px;
	background: #e4edef;
}
.ryb .ryb-views__btn {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 11px;
	color: var(--ryb-mute);
	transition: background-color .2s, color .2s;
}
.ryb .ryb-views__btn.is-active {
	background: var(--ryb-surface);
	color: var(--ryb-river-2);
	box-shadow: 0 1px 3px rgba(10, 47, 69, .16);
}
.ryb-fchips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	flex: 1 1 100%;
	order: 3;
}
.ryb .ryb-fchip {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	height: 40px;
	padding: 0 14px 0 13px;
	border-radius: 99px;
	border: 1.5px solid var(--ryb-line);
	background: var(--ryb-surface);
	font-weight: 580;
	font-size: .9375rem;
	color: var(--ryb-ink-2);
	transition: background-color .2s, border-color .2s, color .2s;
}
.ryb .ryb-fchip small {
	font-size: .75rem;
	font-weight: 600;
	color: var(--ryb-mute);
}
.ryb .ryb-fchip .ryb-dot {
	transition: transform .25s var(--ryb-ease);
}
.ryb .ryb-fchip:hover {
	border-color: var(--t);
}
.ryb .ryb-fchip[aria-pressed='true'] {
	background: var(--t-bg);
	border-color: var(--t);
	color: var(--t-ink);
}
.ryb .ryb-fchip[aria-pressed='true'] .ryb-dot {
	transform: scale(1.35);
	box-shadow: 0 0 0 3px #fff;
}
.ryb-selects {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	flex: 1 1 100%;
	order: 4;
}
.ryb-select {
	position: relative;
	display: flex;
	align-items: center;
	flex: 1 1 200px;
	min-width: 0;
	max-width: 100%;
}
.ryb-select--sort {
	flex: 0 1 220px;
	margin-left: auto;
}
.ryb-select > .ryb-i:first-of-type {
	position: absolute;
	left: 13px;
	color: var(--ryb-mute);
	pointer-events: none;
}
.ryb-select__caret {
	position: absolute;
	right: 12px;
	width: 1em !important;
	height: 1em !important;
	color: var(--ryb-mute);
	pointer-events: none;
}
.ryb .ryb-select select {
	width: 100%;
	height: 44px;
	padding: 0 34px 0 38px;
	border-radius: 14px;
	border: 1px solid var(--ryb-line);
	background: #f4f8f9;
	color: var(--ryb-ink);
	font-size: .9375rem;
	text-overflow: ellipsis;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	transition: border-color .2s, background-color .2s;
}
.ryb .ryb-select select:hover {
	border-color: var(--ryb-river);
}
.ryb .ryb-select select:focus {
	outline: none;
	border-color: var(--ryb-river);
	box-shadow: 0 0 0 3px rgba(15, 123, 138, .18);
}
.ryb .ryb-select select.is-set {
	background: #e3eff1;
	border-color: var(--ryb-river);
	font-weight: 580;
}

.ryb-result {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 14px;
	min-height: 28px;
	margin: 16px 4px 12px;
	font-size: .9375rem;
	color: var(--ryb-mute);
}
.ryb-result strong {
	color: var(--ryb-ink);
	font-weight: 700;
}
.ryb .ryb-linkbtn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	font-size: .875rem;
	color: var(--ryb-river-2);
}
.ryb .ryb-linkbtn[hidden] {
	display: none;
}
.ryb .ryb-linkbtn:hover span {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* zoznam kariet */
.ryb-list {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 248px), 1fr));
}
.ryb-list.is-swap .ryb-item:not([hidden]) {
	animation: ryb-fade .3s ease both;
}
@keyframes ryb-fade {
	from { opacity: .35; }
	to { opacity: 1; }
}
.ryb .ryb-item[hidden] {
	display: none;
}
.ryb-item {
	display: flex;
	min-width: 0;
}

.ryb-line {
	position: relative;
	display: block;
	height: 4px;
	margin: 6px 8px 6px 0;
	border-radius: 4px;
	background: var(--ryb-line-2);
}
.ryb-line i {
	position: relative;
	display: block;
	width: var(--w);
	height: 100%;
	border-radius: 4px;
	background: linear-gradient(90deg, #93aeb8, var(--ryb-river));
}
.ryb-line i::after {
	content: '';
	position: absolute;
	right: -5px;
	top: 50%;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: var(--ryb-float);
	box-shadow: 0 0 0 3px #fff;
	transform: translateY(-50%);
}


.ryb-empty {
	display: grid;
	justify-items: center;
	gap: 6px;
	padding: 44px 20px;
	text-align: center;
	border: 1.5px dashed var(--ryb-line);
	border-radius: var(--ryb-r-lg);
	color: var(--ryb-mute);
}
.ryb-empty[hidden] {
	display: none;
}
.ryb-empty .ryb-i {
	width: 44px;
	height: 44px;
	color: #a3bbc4;
}
.ryb-empty p {
	font-size: 1.15rem;
	font-weight: 640;
	color: var(--ryb-ink);
}
.ryb-more {
	display: flex;
	justify-content: center;
	margin-top: 18px;
}
.ryb .ryb-more [hidden] {
	display: none;
}

/* ------------------------------------------------------------------- mapa */

.ryb-mapbox {
	position: relative;
	height: 100%;
	min-height: 300px;
	border-radius: var(--ryb-r-lg);
	overflow: hidden;
	border: 1px solid var(--ryb-line);
	background: #dcebee;
	box-shadow: var(--ryb-shadow);
	isolation: isolate;
}
.ryb-map {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: transparent;
	font-family: inherit;
}
.ryb-map__skeleton {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: #8aa3ad;
	background:
		repeating-linear-gradient(115deg, rgba(255, 255, 255, .22) 0 14px, transparent 14px 28px),
		#dcebee;
}
.ryb-map__skeleton .ryb-i {
	width: 44px;
	height: 44px;
	animation: ryb-pulse 1.6s ease-in-out infinite;
}
.ryb-mapbox.is-loaded .ryb-map__skeleton {
	display: none;
}
@keyframes ryb-pulse {
	50% { opacity: .35; transform: scale(.92); }
}
.ryb-map .leaflet-tile-pane {
	filter: saturate(.62) hue-rotate(-6deg) brightness(1.03) contrast(.96);
}
.ryb-map .leaflet-container {
	font-family: inherit;
	background: #dcebee;
}
.ryb-detail .ryb-mapbox {
	height: clamp(300px, 46vw, 440px);
}
.ryb-map .leaflet-control-zoom {
	border: 0;
	box-shadow: var(--ryb-shadow);
	border-radius: 12px;
	overflow: hidden;
}
.ryb-map .leaflet-control-zoom a {
	width: 36px;
	height: 36px;
	line-height: 36px;
	color: var(--ryb-ink);
	border-color: var(--ryb-line);
}
.ryb-map .leaflet-control-attribution {
	font-size: 10px;
	background: rgba(255, 255, 255, .78);
	border-radius: 8px 0 0 0;
}
.ryb-map .leaflet-control-attribution a {
	color: var(--ryb-river-2) !important;
}
.ryb-map .leaflet-control-scale-line {
	background: rgba(255, 255, 255, .7);
	border-color: var(--ryb-ink-2);
	color: var(--ryb-ink);
	font-size: 10px;
}

.ryb-pin-wrap {
	background: none !important;
	border: 0 !important;
}
.ryb-pin {
	display: block;
	width: 16px;
	height: 16px;
	margin: 1px;
	border-radius: 50%;
	background: var(--c);
	border: 2.5px solid #fff;
	box-shadow: 0 1px 4px rgba(10, 47, 69, .45);
	transition: transform .2s var(--ryb-ease);
}
.ryb-pin.is-hot {
	transform: scale(1.7);
	box-shadow: 0 0 0 4px rgba(255, 255, 255, .6), 0 2px 8px rgba(10, 47, 69, .5);
}
.ryb-pin--small {
	width: 12px;
	height: 12px;
	border-width: 2px;
	opacity: .85;
}
.ryb-float {
	position: relative;
	display: block;
	width: 26px;
	height: 26px;
}
.ryb-float::before,
.ryb-float::after {
	content: '';
	position: absolute;
	border-radius: 50%;
}
.ryb-float::before {
	inset: 0;
	background: var(--ryb-float);
	border: 4px solid #fff;
	box-shadow: 0 2px 8px rgba(10, 47, 69, .5);
}
.ryb-float::after {
	inset: -2px;
	border: 2px solid var(--ryb-float);
	opacity: 0;
	animation: ryb-ping 2.4s ease-out infinite;
}
@keyframes ryb-ping {
	0% { transform: scale(.7); opacity: .85; }
	80%, 100% { transform: scale(2.3); opacity: 0; }
}
.leaflet-popup.ryb-popup .leaflet-popup-content-wrapper {
	border-radius: 16px;
	box-shadow: var(--ryb-shadow-up);
	padding: 2px;
}
.leaflet-popup.ryb-popup .leaflet-popup-content {
	margin: 12px 14px;
	font-family: 'Bricolage Grotesque Variable', system-ui, sans-serif;
	color: var(--ryb-ink, #0d2230);
}
.ryb-popup strong {
	display: block;
	font-size: 1rem;
	font-weight: 680;
	line-height: 1.2;
}
.ryb-popup span {
	display: block;
	margin-top: 2px;
	font-size: .8125rem;
	color: #5b7280;
}
.ryb-popup a.ryb-popup__go {
	display: inline-flex;
	margin-top: 9px;
	padding: 7px 12px;
	border-radius: 10px;
	background: #0f7b8a;
	color: #fff !important;
	font-size: .8125rem;
	font-weight: 600;
	text-decoration: none;
}
.ryb-layers {
	padding: 10px 12px;
	border-radius: 14px;
	background: rgba(255, 255, 255, .94);
	box-shadow: var(--ryb-shadow);
	font-size: .8125rem;
	font-family: inherit;
}
.ryb-layers label {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 3px 0;
	cursor: pointer;
}
.ryb-layers i {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--c);
}
.ryb-mapbtn {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 12px;
	background: var(--ryb-surface);
	color: var(--ryb-ink, #0d2230);
	box-shadow: var(--ryb-shadow);
	cursor: pointer;
	border: 0;
}
.ryb-map__hint {
	margin-top: 10px;
	font-size: .8125rem;
	color: var(--ryb-mute);
}
.ryb-map__nojs {
	padding: 20px;
	color: var(--ryb-mute);
}

/* ---------------------------------------------------------------- detail */

.ryb-detail {
	display: grid;
	gap: clamp(22px, 3.4cqi, 36px);
	grid-template-columns: minmax(0, 1fr);
}
.ryb-detail__main {
	display: flex;
	flex-direction: column;
	gap: clamp(26px, 4cqi, 42px);
	min-width: 0;
}
.ryb-sticky {
	position: sticky;
	top: 18px;
}
@container ryb (min-width: 920px) {
	.ryb-detail.has-map {
		grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr);
		align-items: start;
	}
	.ryb-detail .ryb-mapbox {
		height: min(70vh, 520px);
	}
}

.ryb-sec__head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
}
.ryb-sec__ico {
	display: grid;
	place-items: center;
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 13px;
	background: var(--ryb-shallow);
	color: var(--ryb-river-2);
}
.ryb-sec__ico .ryb-i {
	width: 20px;
	height: 20px;
}
.ryb .ryb-sec__title {
	font-size: clamp(1.25rem, 2.6cqi, 1.6rem);
	font-weight: 680;
	font-stretch: 100%;
	line-height: 1.1;
	letter-spacing: -.005em;
}
.ryb-sec__sub {
	margin-top: 2px;
	font-size: .9rem;
	color: var(--ryb-mute);
}
.ryb-lead {
	max-width: 62ch;
	padding: 18px 20px;
	border-radius: var(--ryb-r-lg);
	background: var(--ryb-surface);
	border: 1px solid var(--ryb-line);
	font-size: 1.1rem;
	line-height: 1.6;
	color: var(--ryb-ink);
}

.ryb-traits {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
}
.ryb-trait {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 14px;
	border-radius: var(--ryb-r);
	background: var(--ryb-surface);
	border: 1px solid var(--ryb-line);
}
.ryb-trait__ico {
	display: grid;
	place-items: center;
	flex: none;
	width: 38px;
	height: 38px;
	border-radius: 12px;
	background: var(--ryb-canvas);
	color: var(--ryb-river-2);
}
.ryb-trait__txt {
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
	flex: 1;
}
.ryb-trait small {
	font-size: .8125rem;
	color: var(--ryb-mute);
}
.ryb-trait strong {
	font-size: 1.02rem;
	font-weight: 640;
	line-height: 1.3;
}
.ryb-trait--other,
.ryb-trait--veg,
.ryb-trait--struct {
	grid-column: 1 / -1;
	flex-direction: row;
	align-items: flex-start;
	gap: 12px;
	order: 10;
}
.ryb-meter {
	display: block;
	height: 6px;
	margin-top: 7px;
	border-radius: 6px;
	background: var(--ryb-line-2);
	overflow: hidden;
}
.ryb-meter i {
	display: block;
	width: var(--w);
	height: 100%;
	border-radius: 6px;
	background: linear-gradient(90deg, #f6c84c, #e59a1a);
	transform-origin: left;
}
.ryb-js .ryb-meter i {
	animation: ryb-grow 1.1s var(--ryb-ease) .3s both;
}

.ryb-facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	gap: 0 26px;
	padding: 6px 20px;
	border-radius: var(--ryb-r-lg);
	background: var(--ryb-surface);
	border: 1px solid var(--ryb-line);
}
.ryb-fact {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 13px 0;
	border-bottom: 1px solid var(--ryb-line-2);
}
.ryb-fact dt {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: .8125rem;
	color: var(--ryb-mute);
}
.ryb-fact dd {
	font-size: 1.02rem;
	font-weight: 580;
}
.ryb-coords {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 12px;
	margin-top: 12px;
	padding: 0 4px;
	font-size: .875rem;
	color: var(--ryb-ink-2);
}
.ryb-coords span,
.ryb-coords a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}
.ryb-coords code {
	font-variant-numeric: tabular-nums;
}
.ryb-coords a {
	font-weight: 600;
	color: var(--ryb-river-2);
}
.ryb-coords a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ryb-note {
	display: flex;
	gap: 12px;
	padding: 14px 16px;
	border-radius: var(--ryb-r);
	background: #fff5dc;
	border: 1px solid #f0d58a;
	color: #6b4c00;
	font-size: .9rem;
}
.ryb-note .ryb-i {
	margin-top: 2px;
}

/* ----------------------------------------------------------------- panely */

.ryb-panels {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
}
.ryb-panel {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 18px;
	border-radius: var(--ryb-r-lg);
	background: var(--ryb-surface);
	border: 1px solid var(--ryb-line);
	box-shadow: var(--ryb-shadow);
	min-width: 0;
}
.ryb-panel__head {
	display: flex;
	align-items: center;
	gap: 11px;
}
.ryb-panel__ico {
	display: grid;
	place-items: center;
	flex: none;
	width: 38px;
	height: 38px;
	border-radius: 12px;
	background: var(--ryb-shallow);
	color: var(--ryb-river-2);
}
.ryb .ryb-panel__title {
	flex: 1;
	min-width: 0;
	font-size: 1.05rem;
	font-weight: 660;
	font-stretch: 100%;
	line-height: 1.2;
}
.ryb-panel__body {
	flex: 1;
	min-width: 0;
}
.ryb-panel__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
	padding-top: 12px;
	border-top: 1px solid var(--ryb-line-2);
	font-size: .78rem;
	color: var(--ryb-mute);
}
.ryb-panel__foot a {
	text-decoration: underline !important;
	text-underline-offset: 2px;
}
.ryb-panel__sep {
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: currentColor;
	opacity: .5;
}
.ryb-panel__empty,
.ryb-panel__debug {
	font-size: .9rem;
	color: var(--ryb-mute);
}

/* metriky */
.ryb-metrics {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
	gap: 14px;
}
.ryb-metric {
	display: grid;
	gap: 2px;
}
.ryb-metric dt {
	font-size: .8125rem;
	color: var(--ryb-mute);
}
.ryb-metric dd {
	display: flex;
	align-items: baseline;
	gap: 5px;
}
.ryb-metric strong {
	font-size: 1.7rem;
	font-weight: 700;
	font-stretch: 100%;
	line-height: 1.1;
}
.ryb-metric__unit {
	font-size: .875rem;
	color: var(--ryb-mute);
}
.ryb-metric__ico {
	color: var(--ryb-river);
}
.ryb-trend--up {
	color: #c4521b;
}
.ryb-trend--down {
	color: #1d7ab5;
}
.ryb-trend {
	font-size: .7rem;
}

/* vodočet */
.ryb-gauge-wrap {
	display: flex;
	align-items: center;
	gap: 18px;
}
.ryb-gauge {
	width: 100%;
	max-width: 200px;
	height: auto;
	flex: none;
	overflow: visible;
}
.ryb-gauge__staff {
	fill: #fff;
}
.ryb-gauge__band {
	fill: var(--ryb-ink);
}
.ryb-gauge__frame {
	fill: none;
	stroke: var(--ryb-ink);
	stroke-width: 1.5;
}
.ryb-gauge__tick {
	stroke: var(--ryb-ink);
	stroke-width: 1;
}
.ryb-gauge__num {
	fill: var(--ryb-mute);
	font-size: 10px;
	font-family: inherit;
	paint-order: stroke;
	stroke: #fff;
	stroke-width: 3px;
	stroke-linejoin: round;
}
.ryb-gauge__water {
	fill: rgba(15, 123, 138, .62);
	transform-box: fill-box;
	transform-origin: bottom;
}
.ryb-gauge__mark {
	stroke-width: 1.5;
	stroke-dasharray: 5 3;
}
.ryb-gauge__marklabel {
	font-size: 9.5px;
	font-weight: 650;
	font-family: inherit;
}
.ryb-gauge__pointer path {
	fill: var(--ryb-float);
}
.ryb-gauge.is-empty .ryb-gauge__band {
	fill: #cddfe4;
}
.ryb-gauge.is-empty .ryb-gauge__frame {
	stroke: #9fb8c0;
	stroke-dasharray: 4 3;
}
.ryb-gauge.is-empty .ryb-gauge__tick {
	stroke: #9fb8c0;
}
.ryb-gauge.is-empty .ryb-gauge__num {
	display: none;
}
.ryb-gauge-read {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 6px;
}
.ryb-gauge-read strong {
	font-size: 2.6rem;
	font-weight: 720;
	font-stretch: 100%;
	line-height: 1;
}
.ryb-gauge-read span {
	color: var(--ryb-mute);
}
.ryb-gauge-read em {
	flex-basis: 100%;
	font-style: normal;
	font-size: .85rem;
	color: var(--ryb-mute);
}
.ryb-js .ryb-panel .ryb-gauge__water {
	transform: scaleY(0);
	transition: transform 1.4s var(--ryb-ease) .15s;
}
.ryb-js .ryb-panel.is-in .ryb-gauge__water {
	transform: none;
}

/* graf */
.ryb-series {
	display: grid;
	gap: 8px;
}
.ryb-series__now {
	display: flex;
	align-items: baseline;
	gap: 6px;
}
.ryb-series__now strong {
	font-size: 2.2rem;
	font-weight: 720;
	font-stretch: 100%;
	line-height: 1;
}
.ryb-series__now span {
	color: var(--ryb-mute);
}
.ryb-spark {
	width: 100%;
	height: 72px;
	overflow: visible;
}
.ryb-spark__line {
	fill: none;
	stroke: var(--ryb-river);
	stroke-width: 2.5;
	stroke-linecap: round;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
}
.ryb-spark__area {
	fill: rgba(15, 123, 138, .12);
}
.ryb-spark-wrap {
	position: relative;
}
.ryb-spark__dot {
	position: absolute;
	width: 12px;
	height: 12px;
	margin: -6px 0 0 -6px;
	border-radius: 50%;
	background: var(--ryb-float);
	box-shadow: 0 0 0 3px #fff, 0 2px 6px rgba(10, 47, 69, .3);
}
.ryb-js .ryb-panel .ryb-spark__dot {
	opacity: 0;
	transform: scale(.3);
	transition: opacity .3s ease 1.4s, transform .5s var(--ryb-ease) 1.4s;
}
.ryb-js .ryb-panel.is-in .ryb-spark__dot {
	opacity: 1;
	transform: scale(1);
}
.ryb-series__range {
	display: flex;
	justify-content: space-between;
	font-size: .78rem;
	color: var(--ryb-mute);
}
.ryb-js .ryb-panel .ryb-spark__line {
	stroke-dasharray: 1;
	stroke-dashoffset: 1;
	transition: stroke-dashoffset 1.6s var(--ryb-ease) .15s;
}
.ryb-js .ryb-panel.is-in .ryb-spark__line {
	stroke-dashoffset: 0;
}

/* tabuľka */
.ryb-table-wrap {
	overflow-x: auto;
}
.ryb-table {
	width: 100%;
	border-collapse: collapse;
	font-size: .9rem;
	margin: 0;
}
.ryb .ryb-table th,
.ryb .ryb-table td {
	padding: 8px 10px 8px 0;
	border: 0;
	border-bottom: 1px solid var(--ryb-line-2);
	text-align: left;
	background: none;
}
.ryb .ryb-table th {
	font-size: .78rem;
	font-weight: 600;
	color: var(--ryb-mute);
}

/* --------------------------------------------------------- pätička, drobnosti */

.ryb-foot {
	display: grid;
	gap: 6px;
	margin-top: clamp(20px, 3.2cqi, 34px);
	padding: 16px 6px 2px;
	border-top: 1px solid var(--ryb-line);
	font-size: .8125rem;
	color: var(--ryb-mute);
}
.ryb-foot p {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	max-width: 90ch;
}
.ryb-foot .ryb-i {
	margin-top: 1px;
}
.ryb-toast {
	position: fixed;
	left: 50%;
	bottom: 24px;
	z-index: 99999;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 18px;
	border-radius: 14px;
	background: var(--ryb-deep, #0a2f45);
	color: #fff;
	font: 600 .9rem/1.2 'Bricolage Grotesque Variable', system-ui, sans-serif;
	box-shadow: 0 10px 30px rgba(10, 47, 69, .4);
	transform: translate(-50%, 20px);
	opacity: 0;
	pointer-events: none;
	transition: transform .3s var(--ryb-ease), opacity .3s;
}
.ryb-toast.is-on {
	transform: translate(-50%, 0);
	opacity: 1;
}

/* užšie rozloženie */
@container ryb (max-width: 560px) {
	.ryb {
		border-radius: 26px;
	}
	.ryb-hero {
		border-radius: 22px;
	}
	.ryb-hero__actions .ryb-btn {
		flex: 1 1 auto;
	}
	.ryb-select--sort {
		margin-left: 0;
		flex: 1 1 200px;
	}
	.ryb-bar__right {
		flex: 1 1 100%;
		margin-left: 0;
		justify-content: space-between;
	}
	.ryb-stats {
		gap: 16px 26px;
	}
	.ryb-fchips {
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		margin: 0 -4px;
		padding: 2px 4px;
	}
	.ryb-fchips::-webkit-scrollbar {
		display: none;
	}
	.ryb .ryb-fchip {
		flex: none;
	}
}

/* pohyb len ak ho používateľ nevypol */
@media (prefers-reduced-motion: reduce) {
	.ryb *,
	.ryb *::before,
	.ryb *::after {
		animation: none !important;
		transition: none !important;
	}
	.ryb-js .ryb-fish {
		display: none;
	}
	.ryb-js .ryb-panel .ryb-gauge__water {
		transform: none;
	}
	.ryb-js .ryb-panel .ryb-spark__line {
		stroke-dashoffset: 0;
	}
}

/* ======================================================= živé panely (v1.1) */

.ryb-panel.is-loading .ryb-panel__body {
	min-height: 150px;
}
.ryb-skel {
	display: grid;
	gap: 10px;
}
.ryb-skel i {
	display: block;
	height: 16px;
	border-radius: 8px;
	background: linear-gradient(100deg, var(--ryb-line-2) 30%, #f4f8f9 50%, var(--ryb-line-2) 70%);
	background-size: 220% 100%;
	animation: ryb-shimmer 1.4s linear infinite;
}
.ryb-skel i:nth-child(1) {
	width: 55%;
	height: 34px;
}
.ryb-skel i:nth-child(2) {
	width: 90%;
}
.ryb-skel i:nth-child(3) {
	width: 70%;
}
.ryb-skel__txt {
	margin: 10px 0 0;
	font-size: .8125rem;
	color: var(--ryb-mute);
}
@keyframes ryb-shimmer {
	to {
		background-position: -220% 0;
	}
}
.ryb-panel__note {
	margin: 12px 0 0;
	font-size: .8125rem;
	line-height: 1.5;
	color: var(--ryb-mute);
}

/* počasie */
.ryb-wx {
	display: grid;
	gap: 16px;
}
.ryb-wx__now {
	display: flex;
	align-items: center;
	gap: 14px;
}
.ryb-wx__ico {
	display: grid;
	place-items: center;
	flex: none;
	width: 58px;
	height: 58px;
	border-radius: 18px;
	background: linear-gradient(160deg, #e8f1f3, #dcebee);
	color: var(--ryb-river-2);
}
.ryb-wx__ico .ryb-i {
	width: 32px;
	height: 32px;
}
.ryb-wx__t {
	display: block;
	font-size: 2.4rem;
	line-height: 1;
	font-weight: 700;
	font-stretch: 100%;
	letter-spacing: -.02em;
}
.ryb-wx__t small {
	margin-left: 3px;
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--ryb-mute);
}
.ryb-wx__txt {
	display: block;
	margin-top: 4px;
	font-size: .875rem;
	color: var(--ryb-ink-2);
}
.ryb-wx__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
	gap: 8px;
	margin: 0;
}
.ryb-wx__cell {
	padding: 10px 12px;
	border-radius: var(--ryb-r-sm);
	background: var(--ryb-canvas);
}
.ryb-wx__cell dt {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: .75rem;
	color: var(--ryb-mute);
}
.ryb-wx__cell dt .ryb-i {
	width: 14px;
	height: 14px;
}
.ryb-wx__cell dd {
	margin: 4px 0 0;
	font-size: 1.15rem;
	font-weight: 650;
	line-height: 1.2;
}
.ryb-wx__cell dd small {
	font-size: .75rem;
	font-weight: 500;
	color: var(--ryb-mute);
}
.ryb-wx__cell dd em {
	white-space: nowrap;
	display: flex;
	align-items: center;
	gap: 4px;
	margin-top: 2px;
	font-size: .75rem;
	font-style: normal;
	font-weight: 600;
	color: var(--ryb-ink-2);
}
.ryb-wx__cell dd em .ryb-i {
	width: 14px;
	height: 14px;
}
.ryb-wx__arrow {
	display: inline-grid;
	transform: rotate(var(--r, 0deg));
}
.ryb-trend-up {
	color: #b4531a;
}
.ryb-trend-down {
	color: #1b6fb0;
}
.ryb-trend-flat {
	color: var(--ryb-mute);
}
.ryb-wx__cell--p.ryb-trend-up dd em {
	color: #b4531a;
}
.ryb-wx__cell--p.ryb-trend-down dd em {
	color: #1b6fb0;
}
.ryb-wx__cap {
	display: block;
	margin-bottom: 4px;
	font-size: .75rem;
	color: var(--ryb-mute);
}
.ryb-spark--sm {
	height: 56px;
}
.ryb-spark__now {
	stroke: var(--ryb-line);
	stroke-width: 1;
	stroke-dasharray: 3 3;
	vector-effect: non-scaling-stroke;
}
.ryb-wx__days {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ryb-wx__days li {
	display: grid;
	justify-items: center;
	gap: 3px;
	padding: 10px 4px;
	border-radius: var(--ryb-r-sm);
	border: 1px solid var(--ryb-line-2);
	font-size: .8125rem;
}
.ryb-wx__days .ryb-i {
	width: 22px;
	height: 22px;
	color: var(--ryb-river);
}
.ryb-wx__d {
	font-weight: 650;
	color: var(--ryb-ink-2);
}
.ryb-wx__days b {
	font-size: .95rem;
}
.ryb-wx__lo {
	color: var(--ryb-mute);
}
.ryb-wx__rain {
	display: flex;
	align-items: center;
	gap: 2px;
	font-size: .72rem;
	color: #1b6fb0;
}
.ryb-wx__rain .ryb-i {
	width: 11px;
	height: 11px;
	color: inherit;
}

/* slnko a mesiac */
.ryb-sun {
	display: grid;
	gap: 14px;
}
.ryb-sun__times {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ryb-sun__times li {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	column-gap: 10px;
	padding: 10px 12px;
	border-radius: var(--ryb-r-sm);
	background: var(--ryb-canvas);
}
.ryb-sun__times .ryb-i {
	grid-row: span 2;
	width: 22px;
	height: 22px;
	color: #c98f0a;
}
.ryb-sun__times span {
	font-size: .75rem;
	color: var(--ryb-mute);
}
.ryb-sun__times b {
	font-size: 1.1rem;
	font-variant-numeric: tabular-nums;
}
.ryb-sun__len {
	margin: -4px 0 0;
	font-size: .8125rem;
	color: var(--ryb-mute);
}
.ryb-sun__moon {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-top: 14px;
	border-top: 1px dashed var(--ryb-line);
}
.ryb-sun__moon strong {
	display: block;
}
.ryb-sun__moon > div > span,
.ryb-sun__moon > div > small {
	display: block;
	font-size: .8125rem;
	color: var(--ryb-mute);
}
.ryb-moon {
	flex: none;
	width: 54px;
	height: 54px;
}
.ryb-moon__dark {
	fill: #2f4a58;
}
.ryb-moon__lit {
	fill: #f6efd2;
}
.ryb-moon__rim {
	fill: none;
	stroke: #0d2230;
	stroke-opacity: .25;
	stroke-width: 1;
}

/* rizikové miesta */
.ryb-risk {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ryb-risk li {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 12px;
	padding: 8px 10px;
	border-radius: var(--ryb-r-sm);
	background: var(--ryb-canvas);
}
.ryb-risk__ico {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: color-mix(in srgb, var(--c) 16%, #fff);
	color: var(--c);
}
.ryb-risk__ico .ryb-i {
	width: 18px;
	height: 18px;
}
.ryb-risk strong {
	display: block;
	font-size: .9rem;
	line-height: 1.25;
}
.ryb-risk div span {
	display: block;
	font-size: .75rem;
	color: var(--ryb-mute);
}
.ryb-risk b {
	font-size: .85rem;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

/* stanice na toku */
.ryb-table--stations td:first-child {
	font-weight: 600;
}
.ryb-table--stations .ryb-i {
	width: 18px;
	height: 18px;
}
@media (prefers-reduced-motion: reduce) {
	.ryb-skel i {
		animation: none;
	}
}

/* ==========================================================================
   v1.1 – mapa, úvodná stránka, úlovky, rebríčky
   ========================================================================== */

.ryb .ryb-btn--sm {
	min-height: 38px;
	padding: 0 14px;
	border-radius: 12px;
	font-size: .875rem;
}
.ryb .ryb-btn[disabled] {
	opacity: .55;
	cursor: progress;
}
.ryb-panel__btns {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 14px;
}
.ryb-chip--ok,
.ryb-chip--wait,
.ryb-chip--no {
	min-height: 26px;
	padding: 0 10px;
	font-size: .75rem;
	font-weight: 640;
}
.ryb-chip--ok {
	background: #dff3e8;
	color: #14663f;
}
.ryb-chip--wait {
	background: #fff0d6;
	color: #85560a;
}
.ryb-chip--no {
	background: #fbe3df;
	color: #9b2c1c;
}
.ryb-iconbtn {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border: 0;
	border-radius: 11px;
	background: transparent;
	color: var(--ryb-mute);
	cursor: pointer;
}
.ryb-iconbtn:hover {
	background: #fbe3df;
	color: #9b2c1c;
}
.ryb :focus-visible {
	outline: 3px solid rgba(15, 123, 138, .5);
	outline-offset: 2px;
}

/* ------------------------------------------------------------- formuláre */

.ryb-field {
	display: grid;
	align-content: start;
	gap: 6px;
	min-width: 0;
}
.ryb-field--wide {
	grid-column: 1 / -1;
}
.ryb-field > label {
	font-size: .875rem;
	font-weight: 620;
	color: var(--ryb-ink-2);
}
.ryb-field > label em {
	font-style: normal;
	font-weight: 450;
	color: var(--ryb-mute);
}
.ryb .ryb-field input[type='text'],
.ryb .ryb-field input[type='date'],
.ryb .ryb-field select,
.ryb .ryb-field textarea,
.ryb .ryb-combo input[type='text'] {
	width: 100%;
	min-height: 48px;
	padding: 0 14px;
	border-radius: 14px;
	border: 1px solid var(--ryb-line);
	background: #f4f8f9;
	color: var(--ryb-ink);
	font: inherit;
	font-size: 1rem;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color .2s, background-color .2s, box-shadow .2s;
}
.ryb .ryb-field textarea {
	padding: 12px 14px;
	resize: vertical;
	min-height: 78px;
}
.ryb .ryb-field select {
	padding-right: 38px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2356737a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 13px center;
}
.ryb .ryb-field input:focus,
.ryb .ryb-field select:focus,
.ryb .ryb-field textarea:focus,
.ryb .ryb-combo input:focus {
	outline: none;
	border-color: var(--ryb-river);
	background-color: var(--ryb-surface);
	box-shadow: 0 0 0 3px rgba(15, 123, 138, .18);
}
.ryb .ryb-field--sm select {
	min-height: 42px;
	font-size: .9375rem;
}
.ryb-field.has-err input,
.ryb-field.has-err select,
.ryb-field.has-err .ryb-drop {
	border-color: var(--ryb-float-ink) !important;
	background-color: #fff6f4 !important;
}
.ryb-field__err {
	min-height: 0;
	margin: 0;
	font-size: .8125rem;
	color: var(--ryb-float-ink);
}
.ryb-field__err:empty {
	display: none;
}
.ryb-unit {
	position: relative;
}
.ryb .ryb-unit input {
	padding-right: 44px;
	text-align: left;
}
.ryb-unit span {
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	font-size: .875rem;
	color: var(--ryb-mute);
	pointer-events: none;
}
.ryb-check {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font-weight: 520;
}
.ryb-check input {
	width: 20px;
	height: 20px;
	accent-color: var(--ryb-river);
}
.ryb-check .ryb-i {
	width: 18px;
	height: 18px;
	margin-right: 6px;
	vertical-align: -3px;
	color: var(--ryb-river-2);
}

.ryb-combo {
	position: relative;
}
.ryb-combo__list {
	position: absolute;
	z-index: 30;
	left: 0;
	right: 0;
	top: calc(100% + 6px);
	max-height: 320px;
	margin: 0;
	padding: 6px;
	overflow: auto;
	list-style: none;
	border-radius: 16px;
	background: var(--ryb-surface);
	border: 1px solid var(--ryb-line);
	box-shadow: var(--ryb-shadow-up);
}
.ryb-combo__list li {
	display: grid;
	gap: 1px;
	padding: 9px 12px;
	border-radius: 11px;
	cursor: pointer;
}
.ryb-combo__list li.is-on,
.ryb-combo__list li:hover {
	background: #e3eff1;
}
.ryb-combo__list small {
	color: var(--ryb-mute);
	font-size: .8125rem;
}
.ryb-combo__none {
	color: var(--ryb-mute);
	cursor: default !important;
}

.ryb-drop {
	position: relative;
	display: block;
	border-radius: 18px;
	border: 1.5px dashed #9fb8c0;
	background: #f4f8f9;
	cursor: pointer;
	overflow: hidden;
	transition: border-color .2s, background-color .2s;
}
.ryb-drop:hover,
.ryb-drop:focus-within {
	border-color: var(--ryb-river);
	background: #eaf2f4;
}
.ryb-drop input[type='file'] {
	position: absolute;
	inset: 0;
	opacity: 0;
	cursor: pointer;
}
.ryb-drop__empty {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px;
}
.ryb-drop__empty .ryb-i {
	flex: none;
	width: 30px;
	height: 30px;
	color: var(--ryb-river);
}
.ryb-drop__empty strong {
	display: block;
	font-weight: 640;
}
.ryb-drop__empty small {
	display: block;
	color: var(--ryb-mute);
	font-size: .8125rem;
}
.ryb-drop__preview {
	position: relative;
	display: block;
	max-height: 280px;
}
.ryb-drop__preview[hidden] {
	display: none;
}
.ryb-drop__preview img {
	display: block;
	width: 100%;
	max-height: 280px;
	object-fit: cover;
}
.ryb-drop__x {
	position: absolute;
	z-index: 2;
	top: 10px;
	right: 10px;
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border: 0;
	border-radius: 50%;
	background: rgba(10, 47, 69, .75);
	color: #fff;
	cursor: pointer;
}
.ryb-cform__grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
}
.ryb-cform__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	margin-top: 8px;
}
.ryb-cform__hint {
	font-size: .875rem;
	color: var(--ryb-mute);
}
.ryb-cform__status {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 0;
	margin: 14px 0 0;
	font-weight: 560;
}
.ryb-cform__status:empty {
	display: none;
}
.ryb-cform__status.is-err {
	color: var(--ryb-float-ink);
}
.ryb-cform__status.is-ok {
	padding: 14px 16px;
	border-radius: 14px;
	background: #dff3e8;
	color: #14663f;
}
.ryb-cform__status.is-ok a {
	margin-left: 10px;
	text-decoration: underline !important;
}
.ryb-cform__status .ryb-i {
	flex: none;
}
.ryb-form {
	max-width: 880px;
	margin-inline: auto;
}
.ryb-form > .ryb-sec__head {
	margin-bottom: 20px;
}
.ryb-cform {
	padding: clamp(16px, 3cqi, 28px);
	border-radius: var(--ryb-r-lg);
	background: var(--ryb-surface);
	border: 1px solid var(--ryb-line);
	box-shadow: var(--ryb-shadow);
}
.ryb-gate {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 20px;
	padding: clamp(18px, 3cqi, 28px);
	border-radius: var(--ryb-r-lg);
	background: var(--ryb-surface);
	border: 1px solid var(--ryb-line);
	box-shadow: var(--ryb-shadow);
}
.ryb-gate > .ryb-i {
	flex: none;
	width: 38px;
	height: 38px;
	color: var(--ryb-river);
}
.ryb-gate > div:not(.ryb-gate__btns) {
	flex: 1 1 260px;
}
.ryb-gate p {
	margin: 2px 0 0;
	color: var(--ryb-mute);
}
.ryb-gate__btns {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.ryb-mine {
	margin-top: 28px;
}
.ryb-mine__t {
	margin: 0 0 10px;
	font-size: 1.05rem;
	font-weight: 660;
}
.ryb-mine__list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ryb-mine__row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 10px 10px 16px;
	border-radius: 16px;
	background: var(--ryb-surface);
	border: 1px solid var(--ryb-line);
}
.ryb-mine__what {
	flex: 1;
	min-width: 0;
}
.ryb-mine__what strong,
.ryb-mine__what small {
	display: block;
}
.ryb-mine__what small {
	color: var(--ryb-mute);
	font-size: .8125rem;
}

/* --------------------------------------------------------------- úlovky */

.ryb-catches {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr));
}
.ryb-catch {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: var(--ryb-r-lg);
	background: var(--ryb-surface);
	border: 1px solid var(--ryb-line);
	box-shadow: var(--ryb-shadow);
}
.ryb-catch__pic {
	position: relative;
	aspect-ratio: 4 / 3;
	background: linear-gradient(160deg, #e8f1f3, #dcebee);
}
.ryb-catch.is-nophoto .ryb-catch__pic {
	aspect-ratio: 16 / 7;
}
.ryb-catch__pic img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.ryb-catch__nophoto {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	color: #8aa3ad;
}
.ryb-catch__nophoto .ryb-i {
	width: 54px;
	height: 54px;
	stroke-width: 1.25;
}
.ryb-catch__rel {
	position: absolute;
	left: 10px;
	bottom: 10px;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 10px 4px 8px;
	border-radius: 99px;
	background: rgba(255, 255, 255, .94);
	font-size: .75rem;
	font-weight: 640;
	color: var(--ryb-river-2);
}
.ryb-catch__rel .ryb-i {
	width: 13px;
	height: 13px;
}
.ryb-catch__body {
	display: grid;
	gap: 4px;
	padding: 14px 16px 16px;
}
.ryb .ryb-catch__sp {
	font-size: 1.05rem;
	font-weight: 680;
	font-stretch: 100%;
	line-height: 1.2;
}
.ryb-catch__size {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin: 0;
}
.ryb-catch__size strong {
	font-size: 1.6rem;
	font-weight: 720;
	font-stretch: 100%;
	line-height: 1;
}
.ryb-catch__size span {
	color: var(--ryb-mute);
}
.ryb-catch__who,
.ryb-catch__where {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	font-size: .8125rem;
	color: var(--ryb-mute);
}
.ryb-catch__who .ryb-i,
.ryb-catch__where .ryb-i {
	flex: none;
	width: 14px;
	height: 14px;
}
.ryb-catch__where a {
	color: var(--ryb-river-2);
	font-weight: 580;
}
.ryb-catch__where a:hover {
	text-decoration: underline !important;
}
.ryb-catch__note {
	margin: 4px 0 0;
	font-size: .875rem;
	color: var(--ryb-ink-2);
}
.ryb-catches--compact {
	grid-template-columns: 1fr;
	gap: 8px;
}
.ryb-catches--compact .ryb-catch {
	flex-direction: row;
	align-items: center;
	box-shadow: none;
	border-radius: var(--ryb-r);
}
.ryb-catches--compact .ryb-catch__pic {
	flex: none;
	width: 84px;
	aspect-ratio: 1;
}
.ryb-catches--compact .ryb-catch__body {
	padding: 8px 12px;
	gap: 2px;
}
.ryb-catches--compact .ryb-catch__size strong {
	font-size: 1.25rem;
}
.ryb-catches--compact .ryb-catch__rel {
	display: none;
}
.ryb-cstat {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 28px;
	margin-bottom: 14px;
}
.ryb-cstat b {
	display: block;
	font-size: 1.7rem;
	font-weight: 720;
	font-stretch: 100%;
	line-height: 1;
}
.ryb-cstat span {
	font-size: .8125rem;
	color: var(--ryb-mute);
}
.ryb-recent {
	margin-bottom: 2rem;
}

/* ------------------------------------------------------------- rebríček */

.ryb-board__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
}
.ryb-seg {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 4px;
	padding: 4px;
	border-radius: 16px;
	background: var(--ryb-shallow);
}
.ryb .ryb-seg__btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 40px;
	padding: 0 14px;
	border: 0;
	border-radius: 12px;
	background: transparent;
	color: var(--ryb-ink-2);
	font: inherit;
	font-size: .9375rem;
	font-weight: 580;
	cursor: pointer;
	transition: background-color .2s, color .2s, box-shadow .2s;
}
.ryb .ryb-seg__btn .ryb-i {
	width: 17px;
	height: 17px;
}
.ryb .ryb-seg__btn:hover {
	background: rgba(255, 255, 255, .6);
}
.ryb .ryb-seg__btn.is-on {
	background: var(--ryb-surface);
	color: var(--ryb-ink);
	box-shadow: 0 1px 3px rgba(10, 47, 69, .12);
}
.ryb-board__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.ryb-board__filters .ryb-field {
	min-width: 150px;
}
.ryb-board__body {
	transition: opacity .2s;
}
.ryb-board__body.is-loading {
	opacity: .45;
}
.ryb-lb {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ryb-lb__row {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 18px 12px 12px;
	border-radius: 18px;
	background: var(--ryb-surface);
	border: 1px solid var(--ryb-line);
}
.ryb-lb__row:first-child {
	background: linear-gradient(100deg, #fff8e6, #fff 55%);
	border-color: #f0d58f;
}
.ryb-lb__rank {
	display: grid;
	place-items: center;
	flex: none;
	width: 36px;
	height: 36px;
	border-radius: 12px;
	background: var(--ryb-canvas);
	font-size: 1rem;
	font-weight: 720;
	font-stretch: 100%;
	color: var(--ryb-ink-2);
}
.ryb-lb__rank--1 {
	background: #f4c542;
	color: #4a3200;
}
.ryb-lb__rank--2 {
	background: #c4d6dc;
	color: #35505f;
}
.ryb-lb__rank--3 {
	background: #e0a877;
	color: #4a2a0e;
}
.ryb-lb__pic {
	flex: none;
	width: 54px;
	height: 54px;
	overflow: hidden;
	border-radius: 14px;
	background: var(--ryb-shallow);
}
.ryb-lb__pic img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.ryb-lb__pic .ryb-catch__nophoto .ryb-i {
	width: 26px;
	height: 26px;
}
.ryb-lb__who {
	flex: 1;
	min-width: 0;
}
.ryb-lb__who strong,
.ryb-lb__who small {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.ryb-lb__who strong {
	font-weight: 640;
}
.ryb-lb__who a:hover {
	text-decoration: underline !important;
}
.ryb-lb__who small {
	font-size: .8125rem;
	color: var(--ryb-mute);
}
.ryb-lb__val {
	flex: none;
	text-align: right;
}
.ryb-lb__val b {
	display: block;
	font-size: 1.45rem;
	font-weight: 720;
	font-stretch: 100%;
	line-height: 1.05;
}
.ryb-lb__val small {
	display: block;
	font-size: .75rem;
	color: var(--ryb-mute);
}
.ryb-lb__empty {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 22px;
	border-radius: 18px;
	background: var(--ryb-surface);
	border: 1px dashed var(--ryb-line);
}
.ryb-board__cta {
	margin: 18px 0 0;
}
.ryb-board {
	max-width: 960px;
	margin-inline: auto;
}

/* ----------------------------------------------------- národná mapa */

.ryb-nm__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	padding: 12px;
	border-radius: var(--ryb-r-lg);
	background: var(--ryb-surface);
	border: 1px solid var(--ryb-line);
	box-shadow: var(--ryb-shadow);
}
.ryb-nm__bar .ryb-selects {
	order: 5;
}
.ryb-nm__bar .ryb-select {
	flex: 1 1 180px;
}
.ryb-nm__geo.is-on {
	background: #e3eff1;
	border-color: var(--ryb-river);
	color: var(--ryb-river-2);
}
.ryb-nm__stage {
	display: grid;
	gap: 14px;
	margin-top: 14px;
}
.ryb-nm__map {
	position: relative;
	height: min(var(--nm-h, 640px), 72vh);
	min-height: 340px;
	overflow: hidden;
	border-radius: var(--ryb-r-lg);
	background: #d9e8ec;
	border: 1px solid var(--ryb-line);
	box-shadow: var(--ryb-shadow);
	z-index: 0;
}
.ryb-nm__loading {
	position: absolute;
	inset: 0;
	z-index: 500;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	color: var(--ryb-mute);
	font-weight: 560;
}
.ryb-nm__loading .ryb-i {
	animation: ryb-spin 1s linear infinite;
}
@keyframes ryb-spin {
	to {
		transform: rotate(360deg);
	}
}
.ryb-nm__side {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-height: 0;
}
.ryb-nm__count {
	padding: 2px 4px;
	font-size: .9375rem;
	color: var(--ryb-mute);
}
.ryb-nm__count strong {
	color: var(--ryb-ink);
	font-size: 1.1rem;
}
.ryb-nm__list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 6px;
	margin: 0;
	padding: 0 4px 0 0;
	list-style: none;
	overflow-y: auto;
	max-height: 440px;
	overscroll-behavior: contain;
}
.ryb .ryb-nm__item {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	padding: 10px 14px;
	border-radius: 14px;
	border: 1px solid var(--ryb-line);
	background: var(--ryb-surface);
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition: border-color .15s, background-color .15s, transform .15s var(--ryb-ease);
}
.ryb-nm__list li.is-hot .ryb-nm__item,
.ryb .ryb-nm__item:hover {
	border-color: var(--t);
	background: var(--t-bg);
}
.ryb-nm__list li.is-sel .ryb-nm__item {
	border-color: var(--t);
	background: var(--t-bg);
	box-shadow: inset 4px 0 0 var(--t);
}
.ryb-nm__item .ryb-dot {
	flex: none;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: var(--t);
}
.ryb-nm__t {
	flex: 1;
	min-width: 0;
	font-weight: 600;
	line-height: 1.25;
}
.ryb-nm__t small {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-weight: 440;
	font-size: .8125rem;
	color: var(--ryb-mute);
}
.ryb-nm__r {
	flex: none;
	font-size: .8125rem;
	color: var(--ryb-mute);
}
.ryb-nm__none {
	display: grid;
	justify-items: start;
	gap: 10px;
	padding: 18px;
	border-radius: 16px;
	border: 1px dashed var(--ryb-line);
	color: var(--ryb-mute);
}
.ryb-nm__more {
	align-self: center;
}
.ryb-nm__card {
	position: relative;
	display: grid;
	gap: 8px;
	padding: 16px 16px 16px 20px;
	border-radius: var(--ryb-r-lg);
	background: var(--ryb-surface);
	border: 1px solid var(--ryb-line);
	box-shadow: var(--ryb-shadow-up);
	overflow: hidden;
}
.ryb-nm__card::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 6px;
	background: var(--t);
}
.ryb-nm__card h3 {
	margin: 0;
	padding-right: 36px;
	font-size: 1.3rem;
	font-weight: 700;
	font-stretch: 100%;
	line-height: 1.15;
}
.ryb-nm__kind {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: .8125rem;
	font-weight: 600;
	color: var(--t-ink);
}
.ryb-nm__kind .ryb-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--t);
}
.ryb-nm__x {
	position: absolute;
	top: 8px;
	right: 8px;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 11px;
	background: transparent;
	color: var(--ryb-mute);
	cursor: pointer;
}
.ryb-nm__x:hover {
	background: var(--ryb-canvas);
}
.ryb-nm__meta {
	display: grid;
	gap: 6px;
	margin: 4px 0 2px;
	padding: 0;
	list-style: none;
	font-size: .9375rem;
}
.ryb-nm__meta li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}
.ryb-nm__meta .ryb-i {
	flex: none;
	width: 17px;
	height: 17px;
	margin-top: 3px;
	color: var(--ryb-mute);
}
.ryb-nm__meta small {
	display: block;
	font-size: .75rem;
	color: var(--ryb-mute);
}
.ryb-nm__meta a {
	color: var(--ryb-river-2);
	font-weight: 600;
}
.ryb-nm__meta a:hover {
	text-decoration: underline !important;
}
.ryb-nm__btns {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 6px;
}
.ryb-nm__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin: 12px 4px 0;
	font-size: .8125rem;
	color: var(--ryb-mute);
}
.ryb-nm__legend span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}
.ryb-nm__legend .ryb-dot {
	width: 22px;
	height: 5px;
	border-radius: 3px;
	background: var(--t);
}
.leaflet-tooltip.ryb-nm-tip {
	padding: 6px 10px;
	border: 0;
	border-radius: 10px;
	background: #0a2f45;
	color: #fff;
	font: 600 13px/1.2 'Bricolage Grotesque Variable', system-ui, sans-serif;
	box-shadow: 0 6px 18px rgba(10, 47, 69, .35);
}
.leaflet-tooltip.ryb-nm-tip::before {
	display: none;
}

@container ryb (min-width: 880px) {
	.ryb-nm__stage.has-list {
		grid-template-columns: minmax(0, 1fr) 360px;
		align-items: start;
	}
	.ryb-nm__stage.has-list .ryb-nm__side {
		max-height: min(var(--nm-h, 640px), 72vh);
		overflow-y: auto;
		padding-right: 4px;
		overscroll-behavior: contain;
	}
	.ryb-nm__stage.has-list .ryb-nm__list {
		max-height: none;
		overflow: visible;
		padding: 0;
	}
}

/* --------------------------------------------------- úvodná stránka */

.ryb-home {
	padding: clamp(8px, 1.6vw, 20px);
}
.ryb-home__hero {
	position: relative;
	display: grid;
	gap: 8px;
	overflow: hidden;
	border-radius: var(--ryb-r-xl);
	color: #fff;
	background:
		radial-gradient(120% 90% at 85% 40%, #0b6a78 0%, rgba(11, 95, 107, 0) 60%),
		linear-gradient(168deg, #082638 0%, #0c3347 60%, #0e4a5e 100%);
	box-shadow: var(--ryb-shadow);
	isolation: isolate;
}
.ryb-home__lead {
	position: relative;
	z-index: 2;
	display: grid;
	align-content: center;
	gap: 18px;
	padding: clamp(26px, 5cqi, 64px) clamp(20px, 5cqi, 64px) clamp(8px, 2cqi, 20px);
}
.ryb .ryb-home__title {
	max-width: 11ch;
	font-size: clamp(2.8rem, 9cqi, 5.6rem);
	font-weight: 760;
	font-stretch: 100%;
	line-height: .94;
	letter-spacing: -.025em;
	text-wrap: balance;
}
.ryb-home__sub {
	max-width: 44ch;
	margin: 0;
	font-size: clamp(1.02rem, 1.5cqi + .6rem, 1.2rem);
	line-height: 1.5;
	color: rgba(236, 233, 212, .82);
}
.ryb-hsearch {
	position: relative;
	max-width: 560px;
}
.ryb-hsearch__field {
	position: relative;
	display: flex;
	align-items: center;
}
.ryb-hsearch__field .ryb-i {
	position: absolute;
	left: 18px;
	width: 22px;
	height: 22px;
	color: var(--ryb-river-2);
	pointer-events: none;
}
.ryb .ryb-hsearch input {
	width: 100%;
	height: 60px;
	padding: 0 20px 0 52px;
	border: 0;
	border-radius: 20px;
	background: var(--ryb-surface);
	color: var(--ryb-ink);
	font: inherit;
	font-size: 1.0625rem;
	font-weight: 520;
	box-shadow: 0 14px 34px -12px rgba(0, 0, 0, .55);
	-webkit-appearance: none;
	appearance: none;
}
.ryb .ryb-hsearch input::placeholder {
	color: #7b95a1;
	font-weight: 440;
}
.ryb .ryb-hsearch input:focus {
	outline: 3px solid #9ad3dc;
	outline-offset: 2px;
}
.ryb .ryb-hsearch input::-webkit-search-cancel-button {
	-webkit-appearance: none;
}
.ryb-hsearch__list {
	position: absolute;
	z-index: 40;
	left: 0;
	right: 0;
	top: calc(100% + 8px);
	margin: 0;
	padding: 6px;
	list-style: none;
	border-radius: 20px;
	background: var(--ryb-surface);
	color: var(--ryb-ink);
	box-shadow: 0 24px 48px -16px rgba(0, 0, 0, .6);
}
.ryb-hsearch__list[hidden] {
	display: none;
}
.ryb-hsearch__list li a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border-radius: 14px;
	color: inherit;
}
.ryb-hsearch__list li.is-on a,
.ryb-hsearch__list li a:hover {
	background: #e3eff1;
}
.ryb-hsearch__list .ryb-i {
	flex: none;
	width: 20px;
	height: 20px;
	color: var(--ryb-river);
}
.ryb-hsearch__t {
	flex: 1;
	min-width: 0;
	font-weight: 620;
	line-height: 1.25;
}
.ryb-hsearch__t small {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-weight: 440;
	font-size: .8125rem;
	color: var(--ryb-mute);
}
.ryb-hsearch__list em {
	flex: none;
	font-style: normal;
	font-size: .75rem;
	font-weight: 600;
	color: var(--ryb-mute);
}
.ryb-hsearch__none {
	padding: 14px;
	color: var(--ryb-mute);
}
.ryb-home__quick {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.ryb-home__quick .ryb-btn {
	min-height: 42px;
	padding: 0 16px;
	border-radius: 13px;
}
.ryb .ryb-fchip--hero {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-height: 42px;
	padding: 0 16px 0 13px;
	border-radius: 13px;
	border: 1px solid rgba(255, 255, 255, .22);
	background: rgba(255, 255, 255, .08);
	color: #fff;
	font-size: .9375rem;
	font-weight: 560;
}
.ryb .ryb-fchip--hero:hover {
	background: rgba(255, 255, 255, .18);
}
.ryb-fchip--hero .ryb-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--t);
	box-shadow: 0 0 0 3px rgba(255, 255, 255, .22);
}
.ryb-home__near {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font-size: .9375rem;
	color: rgba(236, 233, 212, .9);
}
.ryb-home__near[hidden] {
	display: none;
}
.ryb-home__near-h {
	flex: 1 1 100%;
	font-size: .8125rem;
	font-weight: 620;
	color: rgba(236, 233, 212, .7);
}
.ryb-near {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 12px 7px 10px;
	border-radius: 12px;
	background: rgba(255, 255, 255, .12);
	color: #fff;
	font-weight: 560;
}
.ryb-near:hover {
	background: rgba(255, 255, 255, .22);
}
.ryb-near .ryb-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--t);
}
.ryb-near b {
	font-weight: 640;
	color: #b8e0e6;
}
.ryb-home__land {
	position: relative;
	z-index: 1;
	min-height: 220px;
	padding: 0 clamp(10px, 3cqi, 40px) clamp(14px, 3cqi, 30px);
}
.ryb-land {
	display: block;
	width: 100%;
	height: auto;
	max-height: 520px;
	overflow: visible;
}
.ryb-land__l {
	fill: none;
	stroke: var(--t);
	stroke-width: 2.1;
	stroke-linecap: round;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
	stroke-dasharray: 1;
	stroke-dashoffset: 0;
	opacity: .95;
	transition: stroke-width .15s;
}
.ryb-home__land .ryb-t-carp {
	--t: #f2b632;
}
.ryb-home__land .ryb-t-trout {
	--t: #55b4f7;
}
.ryb-home__land .ryb-t-grayling {
	--t: #b39df2;
}
.ryb-home__land .ryb-t-other {
	--t: #9db6bf;
}
.ryb-land__l.is-hot {
	stroke-width: 5;
	stroke: #fff;
	opacity: 1;
	filter: drop-shadow(0 0 6px rgba(255, 255, 255, .6));
}
.ryb-land__hit {
	fill: none;
	stroke: transparent;
	stroke-width: 12;
	stroke-linecap: round;
	vector-effect: non-scaling-stroke;
	pointer-events: stroke;
	cursor: pointer;
}
.ryb-land__tip {
	position: absolute;
	z-index: 5;
	display: grid;
	gap: 1px;
	padding: 7px 11px;
	border-radius: 11px;
	background: var(--ryb-surface);
	color: var(--ryb-ink);
	font-size: .875rem;
	line-height: 1.25;
	pointer-events: none;
	transform: translate(-50%, calc(-100% - 12px));
	box-shadow: 0 10px 24px -8px rgba(0, 0, 0, .55);
	white-space: nowrap;
}
.ryb-land__tip[hidden] {
	display: none;
}
.ryb-land__tip span {
	font-size: .75rem;
	color: var(--ryb-mute);
}
@media (prefers-reduced-motion: no-preference) {
	.ryb-land.is-drawn .ryb-land__l {
		animation: ryb-flow 1.15s cubic-bezier(.4, 0, .2, 1) both;
	}
}
@keyframes ryb-flow {
	from {
		stroke-dashoffset: 1;
		opacity: 0;
	}
	12% {
		opacity: .95;
	}
	to {
		stroke-dashoffset: 0;
	}
}
@container ryb (min-width: 900px) {
	.ryb-home__hero {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
		align-items: center;
	}
	.ryb-home__lead {
		padding-bottom: clamp(26px, 5cqi, 64px);
	}
	.ryb-home__land {
		padding: clamp(16px, 3cqi, 32px) clamp(16px, 3cqi, 40px) clamp(16px, 3cqi, 32px) 0;
	}
}
.ryb-hstats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 8px;
	margin: 14px 0 0;
}
.ryb-hstats > div {
	padding: 16px 18px;
	border-radius: var(--ryb-r-lg);
	background: var(--ryb-surface);
	border: 1px solid var(--ryb-line);
}
.ryb-hstats dt {
	order: 2;
	font-size: .8125rem;
	color: var(--ryb-mute);
}
.ryb-hstats dd {
	margin: 0;
	font-size: clamp(1.9rem, 4cqi, 2.6rem);
	font-weight: 740;
	font-stretch: 100%;
	line-height: 1.05;
	letter-spacing: -.01em;
}
.ryb-hstats > div {
	display: flex;
	flex-direction: column;
}
.ryb-home__sec {
	margin-top: clamp(34px, 5cqi, 56px);
}
.ryb-home__sec .ryb-nm {
	margin: 0;
	padding: 0;
	background: transparent;
	border-radius: 0;
}
.ryb-home__note {
	margin: 12px 4px 0;
	font-size: .8125rem;
	color: var(--ryb-mute);
}
.ryb-home__note a {
	text-decoration: underline !important;
}
.ryb-types {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
}
.ryb-type {
	position: relative;
	display: grid;
	gap: 2px;
	height: 100%;
	padding: 18px 18px 16px;
	overflow: hidden;
	border-radius: var(--ryb-r-lg);
	background: var(--ryb-surface);
	border: 1px solid var(--ryb-line);
	transition: transform .25s var(--ryb-ease), box-shadow .25s, border-color .25s;
}
.ryb-type::before {
	content: '';
	position: absolute;
	inset: 0 0 auto 0;
	height: 5px;
	background: var(--t);
}
.ryb-type:hover {
	transform: translateY(-3px);
	border-color: var(--t);
	box-shadow: var(--ryb-shadow-up);
}
.ryb-type__dot {
	display: none;
}
.ryb-type strong {
	font-size: 1.1rem;
	font-weight: 680;
	font-stretch: 100%;
}
.ryb-type__n {
	font-size: 1.7rem;
	font-weight: 730;
	font-stretch: 100%;
	line-height: 1.15;
	color: var(--t-ink);
}
.ryb-type__len {
	font-size: .875rem;
	color: var(--ryb-mute);
}
.ryb-tiles {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}
.ryb-tile {
	position: relative;
	display: grid;
	gap: 6px;
	height: 100%;
	padding: 16px 44px 16px 18px;
	border-radius: var(--ryb-r);
	background: var(--ryb-surface);
	border: 1px solid var(--ryb-line);
	transition: border-color .2s, background-color .2s;
}
.ryb-tile:hover {
	border-color: var(--ryb-river);
	background: #f6fafb;
}
.ryb-tile strong {
	font-size: 1.05rem;
	font-weight: 660;
	font-stretch: 100%;
	line-height: 1.2;
}
.ryb-tile__n {
	font-size: .8125rem;
	color: var(--ryb-mute);
}
.ryb-tile__bar {
	height: 5px;
	border-radius: 3px;
	background: linear-gradient(90deg, var(--ryb-river) var(--w, 0%), var(--ryb-line-2) var(--w, 0%));
}
.ryb-tile .ryb-tile__go {
	position: absolute;
	top: 16px;
	right: 14px;
	width: 20px;
	height: 20px;
	color: var(--ryb-mute);
	transition: transform .25s var(--ryb-ease), color .2s;
}
.ryb-tile:hover .ryb-tile__go {
	transform: translate(2px, -2px);
	color: var(--ryb-river);
}
.ryb-gauges {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
}
.ryb .ryb-gauge {
	color: var(--ryb-ink);
}
.ryb-gauge {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 4px 12px;
	align-items: center;
	height: 100%;
	padding: 14px 16px;
	border-radius: var(--ryb-r);
	background: var(--ryb-surface);
	border: 1px solid var(--ryb-line);
}
.ryb-gauge:hover {
	border-color: var(--ryb-river);
}
.ryb-gauge__name {
	font-weight: 620;
	line-height: 1.25;
}
.ryb-gauge__name small {
	display: block;
	font-weight: 440;
	font-size: .8125rem;
	color: var(--ryb-mute);
}
.ryb-gauge__val {
	text-align: right;
	color: var(--ryb-mute);
	font-size: .8125rem;
}
.ryb-gauge__val b {
	font-size: 1.6rem;
	font-weight: 730;
	font-stretch: 100%;
	color: var(--ryb-ink);
}
.ryb-gauge__tr,
.ryb-gauge__temp {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: .8125rem;
	font-weight: 600;
}
.ryb-gauge__tr .ryb-i,
.ryb-gauge__temp .ryb-i {
	width: 15px;
	height: 15px;
}
.ryb-gauge__temp {
	justify-self: end;
	color: var(--ryb-mute);
}
.ryb-gauge.ryb-trend-up .ryb-gauge__tr {
	color: #b4531a;
}
.ryb-gauge.ryb-trend-down .ryb-gauge__tr {
	color: #1b6fb0;
}
.ryb-gauge.ryb-trend-flat .ryb-gauge__tr {
	color: var(--ryb-mute);
}
.ryb-mos {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ryb-mo {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 42px;
	padding: 0 8px 0 16px;
	border-radius: 14px;
	background: var(--ryb-surface);
	border: 1px solid var(--ryb-line);
	font-weight: 560;
	transition: border-color .2s;
}
.ryb-mo:hover {
	border-color: var(--ryb-river);
}
.ryb-mo b {
	display: grid;
	place-items: center;
	min-width: 28px;
	height: 28px;
	padding: 0 7px;
	border-radius: 9px;
	background: var(--ryb-shallow);
	color: var(--ryb-river-2);
	font-size: .8125rem;
}
.ryb-home__split {
	display: grid;
	gap: 18px;
}
.ryb-home__board {
	align-self: start;
	padding: 18px;
	border-radius: var(--ryb-r-lg);
	background: var(--ryb-surface);
	border: 1px solid var(--ryb-line);
	box-shadow: var(--ryb-shadow);
}
.ryb-home__board h3 {
	margin: 0 0 12px;
	font-size: 1.05rem;
	font-weight: 680;
}
.ryb-home__board .ryb-lb__row {
	padding: 8px 12px 8px 8px;
	border-radius: 14px;
}
.ryb-home__board .ryb-lb__pic {
	width: 44px;
	height: 44px;
	border-radius: 11px;
}
.ryb-home__btns {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 14px;
}
@container ryb (min-width: 900px) {
	.ryb-home__split {
		grid-template-columns: minmax(0, 1fr) 380px;
	}
}
.ryb-home .ryb-foot {
	margin-top: 40px;
}

/* stránky s aplikáciou: nadpis témy je zbytočný */
.ryb-app-page .entry-title,
.ryb-app-page .wp-block-post-title {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

@media (max-width: 640px) {
	.ryb-nm__bar .ryb-fchips {
		flex: 1 1 100%;
	}
	.ryb-lb__pic {
		display: none;
	}
	.ryb-lb__row {
		padding-right: 14px;
	}
}

/* ------------------------------------------------ podrobné filtre revírov */

.ryb-nm__bar .ryb-adv {
	flex: 1 1 100%;
	min-width: 0;
	max-width: 100%;
	order: 6;
	border-top: 1px dashed var(--ryb-line);
	padding-top: 6px;
}
.ryb-adv > summary {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 0 4px;
	cursor: pointer;
	list-style: none;
	font-weight: 640;
	color: var(--ryb-ink);
	border-radius: var(--ryb-r-sm);
}
.ryb-adv > summary::-webkit-details-marker {
	display: none;
}
.ryb-adv > summary:hover {
	color: var(--ryb-river-2);
}
.ryb-adv > summary > small {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: .8125rem;
	font-weight: 480;
	color: var(--ryb-mute);
}
.ryb-adv__n {
	display: inline-grid;
	place-items: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 99px;
	background: var(--ryb-float-ink);
	color: #fff;
	font-size: .75rem;
	font-weight: 700;
}
.ryb-adv__n[hidden] {
	display: none;
}
.ryb-adv__caret {
	margin-left: auto;
	transition: transform .25s var(--ryb-ease);
}
.ryb-adv[open] .ryb-adv__caret {
	transform: rotate(180deg);
}
.ryb-adv__body {
	display: grid;
	gap: 14px 22px;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
	padding: 10px 2px 6px;
}
.ryb-adv__g {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}
.ryb-adv__g > legend {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
	padding: 0;
	font-weight: 680;
	font-size: .9375rem;
	color: var(--ryb-deep);
}
.ryb-adv__g > legend .ryb-i {
	width: 18px;
	height: 18px;
	color: var(--ryb-river);
}
.ryb-adv__g > legend small {
	font-size: .75rem;
	font-weight: 480;
	color: var(--ryb-mute);
}
.ryb-adv__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.ryb-adv__foot {
	display: flex;
	justify-content: flex-end;
	padding-top: 6px;
}
.ryb-adv__foot [hidden] {
	display: none;
}

/* ==========================================================================
 * Vzhľad 1.3 „ranná voda“
 * Plná šírka stĺpca, čitateľné nadpisy (bez stencilu a stlačeného písma), svetlé plátno,
 * hlboká vodná modrá na hlavičkách, tyrkysová na odkazoch a oranžový splávok ako jediný akcent.
 * ========================================================================== */

/* plná šírka: obsah sa roztiahne do celého stĺpca, po bokoch zostáva miesto len pre bannery témy */
.ryb {
	width: 100%;
	max-width: none;
	margin: 0 0 2rem;
	padding: clamp(10px, 1.4vw, 22px);
	border-radius: 0;
}

/* nadpisy: štandardná šírka písma, malé písmená, dostatočná veľkosť */
.ryb :where(h1, h2, h3, h4) {
	font-stretch: 100%;
	text-transform: none;
	letter-spacing: -.012em;
	text-wrap: balance;
}
.ryb .ryb-hero__title {
	max-width: 24ch;
	font-size: clamp(1.9rem, 1.1rem + 3.2cqi, 3.5rem);
	font-weight: 760;
	font-stretch: 100%;
	line-height: 1.06;
	letter-spacing: -.022em;
}
.ryb .ryb-home__title {
	max-width: 17ch;
	font-size: clamp(2.1rem, 1.2rem + 3.8cqi, 4.2rem);
	font-weight: 780;
	font-stretch: 100%;
	line-height: 1.04;
	letter-spacing: -.026em;
}
.ryb .ryb-sec__title {
	font-size: clamp(1.4rem, 1.1rem + 1.1cqi, 1.95rem);
	font-weight: 740;
	font-stretch: 100%;
	line-height: 1.15;
	letter-spacing: -.014em;
}
.ryb .ryb-panel__title {
	font-size: 1.1rem;
	font-weight: 700;
	font-stretch: 100%;
	line-height: 1.25;
}
.ryb .ryb-card__title {
	font-size: 1.14rem;
	font-weight: 700;
	font-stretch: 100%;
	line-height: 1.22;
	letter-spacing: -.008em;
}
.ryb .ryb-stat dd,
.ryb .ryb-hstats dd,
.ryb .ryb-metric strong,
.ryb .ryb-gauge-read strong,
.ryb .ryb-series__now strong {
	font-stretch: 100%;
	letter-spacing: -.02em;
}
.ryb .ryb-stat dd {
	font-size: clamp(1.7rem, 1rem + 2.2cqi, 2.6rem);
	font-weight: 740;
}
.ryb .ryb-hstats dd {
	font-size: clamp(1.7rem, 1rem + 2cqi, 2.4rem);
	font-weight: 760;
}
.ryb .ryb-stat__text {
	font-stretch: 100%;
	font-size: clamp(1.05rem, .9rem + .7cqi, 1.35rem);
}
.ryb .ryb-nm__card h3,
.ryb .ryb-home__board h3 {
	font-stretch: 100%;
}
.ryb-sec__ico,
.ryb-panel__ico {
	border-radius: 12px;
	background: var(--ryb-shallow);
	color: var(--ryb-river-2);
}
.ryb-sec__head {
	gap: 14px;
	margin-bottom: 18px;
}
.ryb-sec__sub {
	max-width: 70ch;
	font-size: .95rem;
	line-height: 1.5;
	color: var(--ryb-ink-2);
}
.ryb-lead {
	max-width: 80ch;
}

/* roztiahnutie z úzkeho stĺpca cudzej témy; s témou Rybárska téma sa nepoužíva (ona je už na celú šírku) */
.ryb.ryb--wide {
	--ryb-w: min(calc(100vw - 2rem), 1800px);
}
body.wp-theme-rybarsky-tema .ryb.ryb--wide,
body.rybarsky-tema .ryb.ryb--wide,
body.ryb-fullwidth .ryb.ryb--wide {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* ------------------------------------------------------------------- hero */

.ryb-hero {
	background:
		radial-gradient(90% 120% at 100% 0%, rgba(15, 123, 138, .55) 0%, rgba(15, 123, 138, 0) 60%),
		linear-gradient(165deg, #072234 0%, #0a3249 55%, #0c4a5e 100%);
}
.ryb-hero__inner {
	min-height: 0;
	gap: clamp(16px, 2.4cqi, 28px);
	padding: clamp(18px, 2.6cqi, 36px);
}
.ryb-hero__cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(18px, 3cqi, 40px);
	margin-top: auto;
}
.ryb-hero__txt {
	display: flex;
	flex-direction: column;
	gap: clamp(18px, 2.6cqi, 30px);
	min-width: 0;
	justify-content: flex-end;
}
.ryb-hero__main {
	margin-top: 0;
}
.ryb-hero__media {
	min-width: 0;
}
@container ryb (min-width: 880px) {
	.ryb-hero.has-media .ryb-hero__cols {
		grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
		align-items: end;
	}
}
@container ryb (min-width: 1500px) {
	.ryb-hero.has-media .ryb-hero__cols {
		grid-template-columns: minmax(0, 1.35fr) minmax(420px, .65fr);
	}
}
.ryb-hero__tag {
	background: rgba(255, 255, 255, .1);
	border-color: rgba(255, 255, 255, .18);
}
.ryb .ryb-btn {
	border-radius: 12px;
}
.ryb .ryb-btn--primary {
	background: var(--ryb-float);
	color: #1c0a02;
	border-color: rgba(255, 255, 255, .22);
}
.ryb .ryb-btn--primary:hover {
	background: #ff7a45;
	color: #1c0a02;
}
.ryb .ryb-hero .ryb-btn--primary,
.ryb .ryb-home__hero .ryb-btn--primary {
	background: var(--ryb-float);
	color: #1c0a02;
}

/* satelitná snímka v hlavičke a vo veľkej podobe */
.ryb-satfig {
	display: grid;
	gap: 9px;
	width: 100%;
	margin: 0;
}
.ryb-satfig__frame {
	position: relative;
	aspect-ratio: 8 / 5;
	overflow: hidden;
	border-radius: var(--ryb-r-lg);
	border: 1px solid rgba(255, 255, 255, .24);
	background: linear-gradient(135deg, #0d3d52, #0f6a78);
	box-shadow: 0 16px 36px -16px rgba(2, 14, 22, .75);
}
/* tablet: snímka pod textom je nižšia a širšia, aby neodtlačila obsah */
@container ryb (min-width: 560px) and (max-width: 879.98px) {
	.ryb-hero .ryb-satfig__frame {
		aspect-ratio: 21 / 8;
	}
}
.ryb-satfig figcaption {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 4px 14px;
	font-size: .78rem;
	line-height: 1.4;
	color: rgba(255, 255, 255, .8);
}
.ryb-satfig figcaption a {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}
.ryb-satfig figcaption a .ryb-i {
	width: 1em;
	height: 1em;
}

/* všetky satelitné snímky: pozadie a zástupný symbol, kým sa snímka nenačíta */
.ryb-sat {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	background: transparent;
}
.ryb-sat.is-bad {
	display: none;
}
.ryb-card__ph {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: rgba(10, 47, 69, .26);
	pointer-events: none;
	transition: opacity .3s;
}
.ryb-satfig .ryb-card__ph {
	color: rgba(255, 255, 255, .35);
}
.ryb-card__ph .ryb-i {
	width: 34px;
	height: 34px;
}
.ryb-sat.is-ok + .ryb-card__ph {
	opacity: 0;
}

/* --------------------------------------------------- karty revírov a tokov */

.ryb-list {
	gap: clamp(12px, 1.4vw, 18px);
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr));
}
.ryb-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
	padding: 0;
	overflow: hidden;
	border-radius: var(--ryb-r-lg);
	background: var(--ryb-surface);
	border: 1px solid var(--ryb-line);
	box-shadow: var(--ryb-shadow);
	transition: border-color .2s, box-shadow .25s var(--ryb-ease), transform .25s var(--ryb-ease);
}
.ryb-card::before {
	display: none;
}
.ryb a.ryb-card:hover,
.ryb a.ryb-card:focus-visible {
	border-color: var(--t);
	box-shadow: var(--ryb-shadow-up);
	transform: translateY(-2px);
}
.ryb-card__media {
	position: relative;
	display: block;
	flex: none;
	aspect-ratio: 16 / 7;
	overflow: hidden;
	background: linear-gradient(135deg, #cfe3e8 0%, #e6f0f2 100%);
}
.ryb-card__media::after {
	content: '';
	position: absolute;
	inset: auto 0 0 0;
	height: 4px;
	background: var(--t);
}
.ryb-card__body {
	position: relative;
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
	padding: 16px 16px 14px 20px;
}
.ryb-card__body::before {
	content: '';
	position: absolute;
	left: 0;
	top: 16px;
	bottom: 16px;
	width: 4px;
	border-radius: 0 4px 4px 0;
	background: var(--t);
}
.ryb-card.has-media .ryb-card__body::before {
	display: none;
}
.ryb-card.has-media .ryb-card__body {
	padding-left: 16px;
}
.ryb-card__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 24px;
}
.ryb .ryb-card__title {
	padding-right: 30px;
	color: var(--ryb-ink);
}
.ryb-card__kod {
	font-size: .8125rem;
	font-weight: 560;
	color: var(--ryb-mute);
	letter-spacing: .01em;
}
.ryb-card__typ {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: .8125rem;
	font-weight: 600;
	color: var(--t-ink);
	text-align: right;
}
.ryb-card__typ .ryb-i {
	color: var(--t);
}
.ryb .ryb-card__title {
	padding-right: 30px;
	font-size: 1.2rem;
	font-weight: 680;
	font-stretch: 100%;
	line-height: 1.15;
	letter-spacing: -.005em;
	color: var(--ryb-ink);
	text-wrap: balance;
}
.ryb-card__loc {
	display: flex;
	align-items: flex-start;
	gap: 7px;
	font-size: .9rem;
	color: var(--ryb-ink-2);
}
.ryb-card__loc .ryb-i {
	margin-top: 2px;
	color: var(--ryb-mute);
}
.ryb-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	margin-top: auto;
	padding-top: 12px;
	font-size: .84rem;
	color: var(--ryb-ink-2);
}
.ryb-meta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
}
.ryb-meta .ryb-i {
	color: var(--ryb-mute);
}
.ryb-meta--och {
	color: #1b6a4b;
	font-weight: 580;
}
.ryb-meta--och .ryb-i {
	color: #1f8a5f;
}
.ryb-card.has-media .ryb-card__title {
	padding-right: 0;
}
.ryb-card__meta {
	margin-top: auto;
	padding-top: 12px;
	border-top: 1px dashed var(--ryb-line);
}
.ryb-card--revir .ryb-card__meta::before,
.ryb-card--revir .ryb-card__meta::after {
	display: none;
}
.ryb-card--revir .ryb-card__meta:empty {
	display: none;
}
.ryb-card__go {
	position: absolute;
	right: 14px;
	top: 14px;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--ryb-canvas);
	color: var(--ryb-river-2);
	transition: background-color .2s, color .2s;
}
.ryb-card.has-media .ryb-card__go {
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 2px 8px rgba(5, 25, 38, .28);
}
.ryb-card--tok .ryb-card__go {
	top: 14px;
}
.ryb-card--revir .ryb-card__go {
	top: 14px;
}
.ryb a.ryb-card:hover .ryb-card__go {
	background: var(--ryb-float);
	color: #fff;
}
.ryb-card--tok .ryb-card__top {
	justify-content: flex-start;
	gap: 12px;
}
.ryb-card__ico {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 11px;
	background: var(--t-bg);
	color: var(--t-ink);
}
.ryb-card__count {
	font-size: .9375rem;
	color: var(--ryb-ink-2);
}
.ryb-card__count b {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--ryb-ink);
}

/* riadkové zobrazenie: snímka vľavo, údaje v stĺpcoch */
@container ryb-list (min-width: 680px) {
	.ryb-list[data-view='list'] {
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
	}
	.ryb-list[data-view='list'] .ryb-card {
		flex-direction: row;
		align-items: stretch;
	}
	.ryb-list[data-view='list'] .ryb-card__media {
		flex: 0 0 168px;
		aspect-ratio: auto;
		min-height: 88px;
	}
	.ryb-list[data-view='list'] .ryb-card__media::after {
		inset: 0 auto 0 0;
		width: 4px;
		height: auto;
	}
	.ryb-list[data-view='list'] .ryb-card__body {
		display: grid;
		align-items: center;
		gap: 14px;
		padding: 10px 64px 10px 20px;
	}
	.ryb-list[data-view='list'] .ryb-card--revir .ryb-card__body {
		grid-template-columns: 6.5rem minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1.4fr);
	}
	.ryb-list[data-view='list'] .ryb-card--tok .ryb-card__body {
		grid-template-columns: 74px minmax(0, 1.4fr) 8rem minmax(60px, 1fr) 6rem;
	}
	.ryb-list[data-view='list'] .ryb-card__top {
		display: contents;
	}
	.ryb-list[data-view='list'] .ryb-card--revir .ryb-card__kod { order: 1; }
	.ryb-list[data-view='list'] .ryb-card--revir .ryb-card__title { order: 2; }
	.ryb-list[data-view='list'] .ryb-card--revir .ryb-card__typ { order: 3; justify-content: flex-start; text-align: left; }
	.ryb-list[data-view='list'] .ryb-card--revir .ryb-card__loc { order: 4; }
	.ryb-list[data-view='list'] .ryb-card--revir .ryb-card__meta { display: none; }
	.ryb-list[data-view='list'] .ryb-card__title {
		padding: 0;
		font-size: 1.05rem;
	}
	.ryb-list[data-view='list'] .ryb-card--tok .ryb-card__meta {
		display: contents;
		border: 0;
	}
	.ryb-list[data-view='list'] .ryb-card--tok .ryb-meta--kraj { display: none; }
	.ryb-list[data-view='list'] .ryb-card--tok .ryb-line { margin: 0 8px 0 0; }
	.ryb-list[data-view='list'] .ryb-card--tok .ryb-dots { order: 0; }
	.ryb-list[data-view='list'] .ryb-card__go {
		top: 50%;
		margin-top: -16px;
	}
	.ryb-list[data-view='list'] .ryb-card__body::before {
		top: 10px;
		bottom: 10px;
	}
}

/* ----------------------------------------------- prieskumník: širšie rozloženie */

.ryb-bar {
	border-radius: var(--ryb-r-lg);
}
@container ryb (min-width: 1500px) {
	.ryb-explore.has-map {
		grid-template-columns: minmax(0, 1fr) minmax(440px, 34%);
	}
}
.ryb-adv {
	margin-top: 10px;
	padding: 2px 16px 6px;
	border-radius: var(--ryb-r-lg);
	background: var(--ryb-surface);
	border: 1px solid var(--ryb-line);
}
.ryb-adv[open] {
	padding-bottom: 14px;
}
.ryb-adv > summary {
	gap: 10px;
	color: var(--ryb-deep);
}
.ryb-adv > summary > .ryb-i:first-child {
	color: var(--ryb-river);
}
.ryb-adv__body {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap: 18px 26px;
	padding: 12px 0 4px;
	border-top: 1px solid var(--ryb-line-2);
}
.ryb-adv__hint {
	grid-column: 1 / -1;
	max-width: 90ch;
	font-size: .8125rem;
	line-height: 1.5;
	color: var(--ryb-mute);
}
.ryb-adv__body > .ryb-linkbtn {
	grid-column: 1 / -1;
	justify-self: start;
}
.ryb-adv__g > legend {
	position: relative;
}
.ryb .ryb-adv .ryb-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 36px;
	padding: 0 12px;
	border-radius: 99px;
	border: 1.5px solid var(--ryb-line);
	background: var(--ryb-surface);
	font-size: .875rem;
	font-weight: 560;
	color: var(--ryb-ink-2);
	white-space: normal;
	text-align: left;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color .2s, border-color .2s, color .2s;
}
.ryb .ryb-adv .ryb-chip:hover {
	border-color: var(--ryb-river);
}
.ryb .ryb-adv .ryb-chip[aria-pressed='true'] {
	background: var(--ryb-deep);
	border-color: var(--ryb-deep);
	color: #fff;
}
.ryb .ryb-adv .ryb-chip small {
	font-size: .6875rem;
	font-weight: 640;
	color: var(--ryb-mute);
}
.ryb .ryb-adv .ryb-chip[aria-pressed='true'] small {
	color: rgba(255, 255, 255, .72);
}
.ryb-nm__bar .ryb-adv {
	padding: 6px 0 0;
	border: 0;
	border-top: 1px dashed var(--ryb-line);
	border-radius: 0;
	background: transparent;
}
.ryb-nm__bar .ryb-adv__body {
	border-top: 0;
}

/* ---------------------------------------------------- infopopisky (ⓘ) */

.ryb-info {
	position: relative;
	display: inline-block;
	margin-left: 4px;
	vertical-align: middle;
	line-height: 1;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 480;
}
.ryb .ryb-info__btn {
	display: inline-grid;
	place-items: center;
	width: 24px;
	height: 24px;
	margin: -4px 0;
	border-radius: 50%;
	color: var(--ryb-river);
	transition: background-color .15s, color .15s;
}
.ryb .ryb-info__btn .ryb-i {
	width: 16px;
	height: 16px;
	vertical-align: 0;
}
.ryb .ryb-info__btn:hover,
.ryb .ryb-info.is-open .ryb-info__btn {
	background: var(--ryb-shallow);
	color: var(--ryb-river-2);
}
.ryb-info__tip {
	position: absolute;
	z-index: 40;
	top: calc(100% + 8px);
	left: -12px;
	display: none;
	width: min(300px, calc(100vw - 32px));
	padding: 11px 14px 12px;
	border-radius: 12px;
	background: var(--ryb-deep);
	color: #eef6f8;
	font-size: .8125rem;
	font-weight: 460;
	line-height: 1.5;
	text-align: left;
	white-space: normal;
	box-shadow: 0 14px 30px -10px rgba(3, 18, 28, .6);
}
.ryb .ryb-info .ryb-info__tip {
	color: #eef6f8;
	font-size: .8125rem;
	font-weight: 460;
	line-height: 1.5;
	letter-spacing: 0;
	text-transform: none;
}
.ryb .ryb-info .ryb-info__tip strong {
	display: block;
	margin-bottom: 3px;
	font-size: .875rem;
	font-weight: 700;
	color: #fff;
}
.ryb-info:hover .ryb-info__tip,
.ryb-info:focus-within .ryb-info__tip,
.ryb-info.is-open .ryb-info__tip {
	display: block;
	animation: ryb-tip .16s var(--ryb-ease) both;
}
@keyframes ryb-tip {
	from { opacity: 0; transform: translateY(-4px); }
}
.ryb-info.is-right .ryb-info__tip {
	left: auto;
	right: -12px;
}
.ryb-info.is-left .ryb-info__tip {
	left: -12px;
	right: auto;
}
.ryb-info.is-up .ryb-info__tip {
	top: auto;
	bottom: calc(100% + 8px);
}
@media (hover: none) {
	.ryb-info:hover:not(.is-open):not(:focus-within) .ryb-info__tip {
		display: none;
	}
}

/* ------------------------------------------------ čo to znamená (revír) */

.ryb-explain {
	margin-top: 14px;
	border-radius: var(--ryb-r-lg);
	background: var(--ryb-surface);
	border: 1px solid var(--ryb-line);
}
.ryb-explain > summary {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 16px;
	cursor: pointer;
	list-style: none;
	font-weight: 680;
	color: var(--ryb-deep);
}
.ryb-explain > summary::-webkit-details-marker {
	display: none;
}
.ryb-explain > summary > .ryb-i:first-child {
	color: var(--ryb-river);
}
.ryb-explain > summary small {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: .8125rem;
	font-weight: 480;
	color: var(--ryb-mute);
}
.ryb-explain__caret {
	margin-left: auto;
	transition: transform .25s var(--ryb-ease);
}
.ryb-explain[open] .ryb-explain__caret {
	transform: rotate(180deg);
}
.ryb-explain__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
	gap: 14px 22px;
	padding: 6px 16px 16px;
	border-top: 1px solid var(--ryb-line-2);
}
.ryb-explain__list > li {
	display: flex;
	gap: 12px;
	padding-top: 12px;
}
.ryb-explain__ico {
	display: grid;
	place-items: center;
	flex: none;
	width: 36px;
	height: 36px;
	border-radius: 11px;
	background: var(--ryb-shallow);
	color: var(--ryb-river-2);
}
.ryb-explain__list strong {
	display: block;
	margin-bottom: 2px;
	font-size: .98rem;
	font-weight: 680;
}
.ryb-explain__list p {
	font-size: .9rem;
	line-height: 1.55;
	color: var(--ryb-ink-2);
}
.ryb-explain__note {
	padding: 0 16px 14px;
	font-size: .8125rem;
	line-height: 1.5;
	color: var(--ryb-mute);
}

/* slovník pojmov (Metodika) */
.ryb-gloss__h {
	margin: 26px 0 10px;
	font-size: 1.2rem;
	font-weight: 720;
	color: var(--ryb-deep);
}
.ryb-gloss {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
	gap: 12px;
}
.ryb-gloss__i {
	padding: 14px 16px 16px;
	border-radius: var(--ryb-r);
	background: var(--ryb-surface);
	border: 1px solid var(--ryb-line);
	scroll-margin-top: 90px;
}
.ryb-gloss__i:target {
	border-color: var(--ryb-river);
	box-shadow: 0 0 0 3px rgba(15, 123, 138, .18);
}
.ryb-gloss__i dt {
	font-size: 1.02rem;
	font-weight: 700;
	color: var(--ryb-deep);
}
.ryb-gloss__i dd p {
	margin-top: 5px;
	font-size: .92rem;
	line-height: 1.55;
	color: var(--ryb-ink-2);
}
.ryb-gloss__i .ryb-gloss__tip {
	padding: 8px 10px;
	border-radius: 8px;
	background: var(--ryb-canvas);
	color: var(--ryb-ink);
}

/* ------------------------------------------------------------- panely */

.ryb-panels {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
	gap: clamp(12px, 1.4vw, 18px);
	align-items: start;
}
.ryb-panel {
	container: ryb-panel / inline-size;
	padding: 20px;
}
.ryb-panel--podmienky {
	grid-column: 1 / -1;
}
.ryb-panel__head {
	gap: 12px;
}
.ryb-panel__note {
	margin-top: 10px;
	font-size: .8125rem;
	line-height: 1.5;
	color: var(--ryb-mute);
}
.ryb-cap {
	display: block;
	margin: 4px 0 6px;
	font-size: .8125rem;
	font-weight: 640;
	line-height: 1.4;
	color: var(--ryb-ink-2);
}

/* hladina vody */
.ryb-level {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
}
.ryb-level__gauge {
	min-width: 0;
}
.ryb-level__gauge .ryb-gauge-wrap {
	gap: 16px;
}
.ryb-level__gauge .ryb-gauge {
	width: 150px;
	max-width: 150px;
}
.ryb-level__main {
	display: grid;
	gap: 12px;
	min-width: 0;
}
@container ryb-panel (min-width: 640px) {
	.ryb-level {
		grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
		align-items: start;
		gap: 24px;
	}
}
.ryb-verdict {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 14px;
	border-radius: var(--ryb-r);
	background: var(--ryb-canvas);
	border: 1px solid var(--ryb-line);
}
.ryb-verdict__ico {
	display: grid;
	place-items: center;
	flex: none;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #fff;
	color: var(--ryb-mute);
	border: 1.5px solid currentColor;
}
.ryb-verdict > div {
	display: grid;
	gap: 1px;
	min-width: 0;
}
.ryb-verdict strong {
	font-size: 1.02rem;
	font-weight: 700;
}
.ryb-verdict span:not(.ryb-verdict__ico) {
	font-size: .875rem;
	color: var(--ryb-ink-2);
}
.ryb-verdict.is-good {
	background: #e6f4ec;
	border-color: #b9dcc8;
}
.ryb-verdict.is-good .ryb-verdict__ico {
	color: #1b6a4b;
}
.ryb-verdict.is-mid {
	background: #fff4d9;
	border-color: #ecd08a;
}
.ryb-verdict.is-mid .ryb-verdict__ico {
	color: #8a6100;
}
.ryb-verdict.is-bad {
	background: #fde9e1;
	border-color: #f0b9a4;
}
.ryb-verdict.is-bad .ryb-verdict__ico {
	color: #b3380c;
}
.ryb-level__txt,
.ryb-temp__txt {
	font-size: .95rem;
	line-height: 1.55;
	color: var(--ryb-ink-2);
}

/* teplota vody */
.ryb-temp {
	display: grid;
	gap: 12px;
}
.ryb-temp__now {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
}
.ryb-temp__now > strong {
	display: inline-flex;
	align-items: baseline;
	gap: 3px;
	font-size: 2.6rem;
	font-weight: 760;
	line-height: 1;
	letter-spacing: -.03em;
}
.ryb-temp__now small {
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--ryb-mute);
	letter-spacing: 0;
}
.ryb-badge--cold,
.ryb-badge--cool,
.ryb-badge--ideal,
.ryb-badge--warm,
.ryb-badge--hot {
	min-height: 30px;
	padding: 0 12px 0 10px;
	background: var(--bg);
	color: var(--ink);
	border: 1px solid var(--bd);
}
.ryb-badge--cold,
.ryb-badge--cool,
.ryb-badge--ideal,
.ryb-badge--warm,
.ryb-badge--hot,
.ryb-legend__sw--cold,
.ryb-legend__sw--cool,
.ryb-legend__sw--ideal,
.ryb-legend__sw--warm,
.ryb-legend__sw--hot,
.ryb-fact--cold,
.ryb-fact--cool,
.ryb-fact--ideal,
.ryb-fact--warm,
.ryb-fact--hot,
.ryb-chart__band--cold,
.ryb-chart__band--cool,
.ryb-chart__band--ideal,
.ryb-chart__band--warm,
.ryb-chart__band--hot {
	--c: #8aa3ad;
	--bg: #eef3f4;
	--bd: #d3dfe3;
	--ink: #35505f;
}
.ryb-badge--cold, .ryb-legend__sw--cold, .ryb-fact--cold, .ryb-chart__band--cold { --c: #3b82c4; --bg: #e3eef9; --bd: #b9d3ee; --ink: #1d4f80; }
.ryb-badge--cool, .ryb-legend__sw--cool, .ryb-fact--cool, .ryb-chart__band--cool { --c: #2a9bb0; --bg: #e0f3f6; --bd: #b0dde5; --ink: #11606f; }
.ryb-badge--ideal, .ryb-legend__sw--ideal, .ryb-fact--ideal, .ryb-chart__band--ideal { --c: #2e9b62; --bg: #e3f4ea; --bd: #b5dcc6; --ink: #1b6a43; }
.ryb-badge--warm, .ryb-legend__sw--warm, .ryb-fact--warm, .ryb-chart__band--warm { --c: #e0a21a; --bg: #fff3d6; --bd: #ecd08a; --ink: #7a5600; }
.ryb-badge--hot, .ryb-legend__sw--hot, .ryb-fact--hot, .ryb-chart__band--hot { --c: #de5a2f; --bg: #fde8df; --bd: #f0b9a4; --ink: #9a2f0a; }
.ryb-badge[class*='ryb-badge--']::before {
	content: '';
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--c);
}

/* legenda grafov */
.ryb-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	margin-top: 8px;
	font-size: .8125rem;
	color: var(--ryb-ink-2);
}
.ryb-legend__i {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}
.ryb-legend__sw {
	display: inline-block;
	width: 14px;
	height: 14px;
	border-radius: 4px;
	background: var(--c, #8aa3ad);
	opacity: .85;
}
.ryb-legend__sw--gold { background: #f2b632; opacity: .55; }
.ryb-legend__sw--major { background: #0a2f45; opacity: .22; }
.ryb-legend__sw--minor {
	background: transparent;
	opacity: 1;
	border: 1.5px dashed rgba(10, 47, 69, .55);
}

/* ------------------------------------------------------------- grafy */

.ryb-chart {
	position: relative;
	max-width: 600px;
	margin: 0;
	touch-action: pan-y;
}
.ryb-chart__svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
	cursor: crosshair;
}
.ryb-chart__band {
	fill: var(--c);
	opacity: .13;
}
.ryb-chart__grid {
	stroke: var(--ryb-line);
	stroke-width: 1;
}
.ryb-chart__tick {
	fill: var(--ryb-mute);
	font-size: 11px;
	font-weight: 500;
	font-family: inherit;
}
.ryb-chart__mark {
	stroke-width: 1.4;
	stroke-dasharray: 5 4;
}
.ryb-chart__marklabel {
	font-size: 11px;
	font-weight: 650;
	font-family: inherit;
	paint-order: stroke;
	stroke: #fff;
	stroke-width: 3px;
	stroke-linejoin: round;
}
.ryb-chart__area {
	fill: rgba(15, 123, 138, .1);
}
.ryb-chart__line {
	fill: none;
	stroke: var(--ryb-river);
	stroke-width: 2.2;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.ryb-chart__now {
	stroke: var(--ryb-ink-2);
	stroke-width: 1;
	stroke-dasharray: 3 3;
	opacity: .7;
}
.ryb-chart__nowlabel {
	fill: var(--ryb-ink-2);
	font-size: 11px;
	font-weight: 600;
	font-family: inherit;
}
.ryb-chart__last {
	fill: var(--ryb-float);
	stroke: #fff;
	stroke-width: 2;
}
.ryb-chart__cross {
	stroke: var(--ryb-ink-2);
	stroke-width: 1;
	opacity: .55;
}
.ryb-chart__dot {
	fill: #fff;
	stroke: var(--ryb-river);
	stroke-width: 2.4;
}
.ryb-chart__tip {
	position: absolute;
	z-index: 5;
	left: 0;
	top: 0;
	padding: 5px 9px;
	border-radius: 8px;
	background: var(--ryb-deep);
	color: #fff;
	font-size: .78rem;
	font-weight: 560;
	line-height: 1.3;
	white-space: nowrap;
	pointer-events: none;
	box-shadow: 0 6px 16px -6px rgba(3, 18, 28, .6);
}
.ryb-chart__tip[hidden] {
	display: none;
}
/* stĺpcový graf aktivity: jeden odtieň, tmavší = vyššia aktivita (číslo je v bubline) */
.ryb-chart__bar {
	fill: #7fb3bd;
}
.ryb-chart__bar.is-low { fill: #b9d3d8; }
.ryb-chart__bar.is-mid { fill: #7fb3bd; }
.ryb-chart__bar.is-high { fill: #3a93a1; }
.ryb-chart__bar.is-top { fill: #0b5f6b; }
.ryb-chart__mk {
	pointer-events: none;
}
.ryb-chart__mk--gold { fill: #f2b632; opacity: .26; }
.ryb-chart__mk--major { fill: #0a2f45; opacity: .12; }
.ryb-chart__mk--minor { fill: #0a2f45; opacity: .05; stroke: rgba(10, 47, 69, .5); stroke-width: 1; stroke-dasharray: 3 3; }

/* ------------------------------------------------ podmienky a index aktivity */

.ryb-act {
	display: grid;
	gap: 16px;
}
.ryb-act__top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 20px;
}
.ryb-score {
	display: grid;
	place-items: center;
	align-content: center;
	flex: none;
	width: 108px;
	height: 108px;
	border-radius: 50%;
	background: var(--sbg);
	border: 7px solid var(--sc);
	color: var(--ryb-ink);
	text-align: center;
	line-height: 1;
}
.ryb-score strong {
	font-size: 2.5rem;
	font-weight: 780;
	letter-spacing: -.03em;
}
.ryb-score small {
	margin-top: 2px;
	font-size: .75rem;
	font-weight: 600;
	color: var(--ryb-ink-2);
}
.ryb-score--top { --sc: #0b5f6b; --sbg: #dcf0f2; }
.ryb-score--high { --sc: #3a93a1; --sbg: #e4f2f4; }
.ryb-score--mid { --sc: #7fb3bd; --sbg: #eef5f7; }
.ryb-score--low { --sc: #b9d3d8; --sbg: #f3f7f8; }
.ryb-act__sum {
	display: grid;
	gap: 4px;
	min-width: 0;
	flex: 1 1 260px;
}
.ryb-act__sum > strong {
	font-size: 1.3rem;
	font-weight: 740;
	letter-spacing: -.012em;
}
.ryb-act__sum > span {
	font-size: .98rem;
	color: var(--ryb-ink);
}
.ryb-act__sum > small {
	font-size: .8125rem;
	line-height: 1.45;
	color: var(--ryb-mute);
}
.ryb-act__chart {
	min-width: 0;
}
.ryb-why {
	border-radius: var(--ryb-r);
	border: 1px solid var(--ryb-line);
	background: var(--ryb-canvas);
}
.ryb-why > summary {
	display: flex;
	align-items: center;
	gap: 9px;
	min-height: 46px;
	padding: 0 14px;
	cursor: pointer;
	list-style: none;
	font-weight: 650;
	color: var(--ryb-deep);
}
.ryb-why > summary::-webkit-details-marker {
	display: none;
}
.ryb-why > summary > .ryb-i:first-child {
	color: var(--ryb-river);
}
.ryb-why__caret {
	margin-left: auto;
	transition: transform .25s var(--ryb-ease);
}
.ryb-why[open] .ryb-why__caret {
	transform: rotate(180deg);
}
.ryb-why__list {
	display: grid;
	padding: 0 14px;
}
.ryb-why__list > li {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
	padding: 10px 0;
	border-top: 1px solid var(--ryb-line);
	font-size: .9rem;
	line-height: 1.5;
	color: var(--ryb-ink-2);
}
.ryb-why__list > li strong {
	color: var(--ryb-ink);
}
.ryb-why__list > li > b {
	flex: none;
	min-width: 44px;
	padding: 2px 9px;
	border-radius: 99px;
	background: #fff;
	border: 1px solid var(--ryb-line);
	font-size: .8125rem;
	font-weight: 700;
	text-align: center;
	color: var(--ryb-ink);
}
.ryb-why__list > li.is-up > b { background: #e3f4ea; border-color: #b5dcc6; color: #1b6a43; }
.ryb-why__list > li.is-down > b { background: #fde8df; border-color: #f0b9a4; color: #9a2f0a; }
.ryb-why__list > li.is-base > b { background: var(--ryb-deep); border-color: var(--ryb-deep); color: #fff; }
.ryb-why > .ryb-panel__note {
	padding: 0 14px 12px;
	margin: 0;
}
.ryb-act > .ryb-facts {
	padding: 4px 16px;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
}
.ryb-act .ryb-fact {
	padding: 12px 0 12px 12px;
	border-left: 3px solid var(--c, var(--ryb-line));
}
.ryb-act .ryb-fact dt {
	font-size: .8125rem;
	font-weight: 640;
	color: var(--ryb-ink-2);
}
.ryb-act .ryb-fact dd {
	display: grid;
	gap: 2px;
	margin: 0;
}
.ryb-act .ryb-fact dd strong {
	font-size: 1.12rem;
	font-weight: 720;
}
.ryb-act .ryb-fact dd span {
	font-size: .84rem;
	font-weight: 440;
	line-height: 1.45;
	color: var(--ryb-ink-2);
}
@container ryb-panel (min-width: 820px) {
	.ryb-act {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: start;
	}
	.ryb-act__top,
	.ryb-act > .ryb-facts {
		grid-column: 1 / -1;
	}
	.ryb-act > .ryb-why {
		grid-column: 2;
	}
	.ryb-act__chart {
		grid-column: 1;
	}
}

/* slnko, zlatá hodinka a solunárne obdobia */
.ryb-sun__plan {
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid var(--ryb-line-2);
}
.ryb-sun__plan h4 {
	display: flex;
	align-items: center;
	margin: 10px 0 6px;
	font-size: .9rem;
	font-weight: 700;
	color: var(--ryb-deep);
}
.ryb-times {
	display: grid;
	gap: 6px;
}
.ryb-times > li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 12px;
	border-radius: 9px;
	background: var(--ryb-canvas);
	font-size: .9rem;
}
.ryb-times > li > span {
	color: var(--ryb-ink-2);
}
.ryb-times > li > b {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
.ryb-times > li.is-major {
	background: #e2ebf0;
}
.ryb-times > li.is-minor {
	background: transparent;
	border: 1px dashed rgba(10, 47, 69, .35);
}
.ryb-wx__press,
.ryb-flow__chart {
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid var(--ryb-line-2);
}

/* ----------------------------------------------------------- novinky z MO */

.ryb-news {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
	gap: clamp(10px, 1.2vw, 16px);
	margin: 0;
	padding: 0;
	list-style: none;
}
.ryb-news__item {
	display: flex;
	flex-direction: column;
	gap: 0;
	min-width: 0;
	overflow: hidden;
	border-radius: var(--ryb-r);
	border: 1px solid var(--ryb-line);
	background: var(--ryb-surface);
	transition: border-color .2s, box-shadow .2s;
}
.ryb-news__item:hover {
	border-color: var(--ryb-river);
	box-shadow: var(--ryb-shadow);
}
.ryb-news__thumb {
	position: relative;
	display: block;
	flex: none;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--ryb-shallow);
}
.ryb-news__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s var(--ryb-ease);
}
.ryb-news__item:hover .ryb-news__img {
	transform: scale(1.03);
}
.ryb-news__body {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
	padding: 14px 16px 16px;
}
.ryb-news__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 10px;
	font-size: .8125rem;
	color: var(--ryb-mute);
}
.ryb-news__meta time {
	font-weight: 650;
	color: var(--ryb-river-2);
}
.ryb-news__org {
	font-weight: 600;
	color: var(--ryb-ink-2);
}
a.ryb-news__org:hover {
	color: var(--ryb-float-ink);
}
.ryb-news__title {
	display: block;
	font-size: 1.06rem;
	font-weight: 700;
	line-height: 1.32;
	color: var(--ryb-ink);
	text-wrap: pretty;
}
.ryb-news__title:hover {
	color: var(--ryb-river-2);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.ryb-news__ext {
	display: inline-block;
	width: .8em;
	height: .8em;
	margin-left: .35em;
	vertical-align: -.02em;
	color: var(--ryb-mute);
}
.ryb-news__x {
	display: -webkit-box;
	margin: 0;
	font-size: .9rem;
	line-height: 1.5;
	color: var(--ryb-ink-2);
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
/* kompaktný zoznam v paneli revíru: malý náhľad vľavo, 5 noviniek pod sebou */
.ryb-news--compact {
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
}
.ryb-news--compact .ryb-news__item {
	flex-direction: row;
	align-items: flex-start;
	gap: 12px;
	padding: 12px 0;
	border: 0;
	border-bottom: 1px solid var(--ryb-line-2);
	border-radius: 0;
	background: transparent;
	overflow: visible;
}
.ryb-news--compact .ryb-news__item:hover {
	box-shadow: none;
}
.ryb-news--compact .ryb-news__item:last-child {
	border-bottom: 0;
}
.ryb-news--compact .ryb-news__thumb {
	flex: 0 0 96px;
	aspect-ratio: 4 / 3;
	border-radius: 9px;
}
.ryb-news--compact .ryb-news__body {
	flex: 1;
	padding: 0;
	gap: 3px;
}
.ryb-news--compact .ryb-news__title {
	font-size: .95rem;
}
.ryb-news--compact .ryb-news__x {
	display: none;
}
.ryb-news__item.has-img.is-noimg .ryb-news__thumb {
	display: none;
}
/* novinka bez obrázka sa nerozťahuje na výšku susedných kariet s obrázkom */
.ryb-news:not(.ryb-news--compact) .ryb-news__item:not(.has-img),
.ryb-news:not(.ryb-news--compact) .ryb-news__item.is-noimg {
	align-self: start;
	border-inline-start: 3px solid var(--ryb-river);
}

/* -------------------------------------------------- stránky organizácií a metodika */

.ryb-mopage > .ryb-sec,
.ryb-mopage > .ryb-newsbox,
.ryb-hub > .ryb-sec,
.ryb-molist > .ryb-sec,
.ryb-method > .ryb-sec {
	margin-top: clamp(28px, 4cqi, 48px);
}
.ryb-molist__head {
	position: relative;
	overflow: hidden;
	padding: clamp(22px, 3.4cqi, 40px);
	border-radius: var(--ryb-r-xl);
	color: #fff;
	background:
		radial-gradient(90% 120% at 100% 0%, rgba(15, 123, 138, .55) 0%, rgba(15, 123, 138, 0) 60%),
		linear-gradient(165deg, #072234 0%, #0a3249 55%, #0c4a5e 100%);
	box-shadow: var(--ryb-shadow);
}
.ryb .ryb-molist__title {
	max-width: 24ch;
	margin: 0;
	font-size: clamp(1.9rem, 1.1rem + 3cqi, 3.3rem);
	font-weight: 760;
	line-height: 1.06;
	letter-spacing: -.022em;
	color: #fff;
}
.ryb-molist__lead {
	max-width: 66ch;
	margin: 14px 0 0;
	font-size: clamp(1rem, .9rem + .5cqi, 1.15rem);
	line-height: 1.6;
	color: rgba(236, 244, 246, .9);
}
.ryb-prose {
	max-width: 72ch;
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--ryb-ink-2);
}
.ryb-prose p {
	margin: 0 0 .95em;
}
.ryb-prose p:last-child {
	margin-bottom: 0;
}
.ryb .ryb-prose ul {
	margin: 0 0 .95em;
	padding-left: 1.25em;
	list-style: disc;
}
.ryb .ryb-prose li {
	margin: .45em 0;
}
.ryb .ryb-prose li::marker {
	content: normal;
	color: var(--ryb-river);
}
.ryb-prose strong {
	color: var(--ryb-ink);
}
.ryb-prose a,
.ryb-facts a,
.ryb-src a,
.ryb-table a,
.ryb-mo__about a {
	color: var(--ryb-river-2);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.ryb-prose a:hover,
.ryb-facts a:hover,
.ryb-src a:hover,
.ryb-table a:hover,
.ryb-mo__about a:hover {
	color: var(--ryb-float-ink);
}
.ryb-mo__about .ryb-facts {
	margin-top: 18px;
}
.ryb-mo__about .ryb-facts > div {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 13px 0;
	border-bottom: 1px solid var(--ryb-line-2);
}
.ryb-mo__about .ryb-facts dt {
	font-size: .8125rem;
	color: var(--ryb-mute);
}
.ryb-mo__about .ryb-facts dd {
	margin: 0;
	font-size: 1.02rem;
	font-weight: 580;
	overflow-wrap: anywhere;
}
.ryb-molist__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ryb-mocard {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 3px;
	height: 100%;
	padding: 14px 44px 14px 16px;
	border-radius: var(--ryb-r);
	border: 1px solid var(--ryb-line);
	border-left: 4px solid var(--ryb-river);
	background: var(--ryb-surface);
	color: var(--ryb-ink);
	transition: border-color .2s, box-shadow .2s;
}
.ryb-mocard strong {
	font-size: 1.02rem;
	font-weight: 700;
	line-height: 1.25;
}
.ryb-mocard span {
	font-size: .8125rem;
	color: var(--ryb-mute);
}
.ryb-mocard__go {
	position: absolute;
	top: 50%;
	right: 14px;
	width: 18px;
	height: 18px;
	margin-top: -9px;
	color: var(--ryb-mute);
	transition: color .2s, transform .2s var(--ryb-ease);
}
a.ryb-mocard:hover {
	border-color: var(--ryb-river);
	border-left-color: var(--ryb-float);
	box-shadow: var(--ryb-shadow);
}
a.ryb-mocard:hover .ryb-mocard__go {
	color: var(--ryb-float-ink);
	transform: translate(2px, -2px);
}
div.ryb-mocard {
	border-left-color: var(--ryb-line);
}
.ryb-mo__groups {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
	gap: 14px;
	align-items: start;
}
.ryb-mo__group {
	padding: 16px 18px 8px;
	border-radius: var(--ryb-r-lg);
	border: 1px solid var(--ryb-line);
	background: var(--ryb-surface);
}
.ryb .ryb-mo__group h3 {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 2px 10px;
	margin: 0;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--ryb-river);
	font-size: 1.15rem;
	font-weight: 720;
	line-height: 1.2;
}
.ryb-mo__group h3 a:hover {
	color: var(--ryb-river-2);
}
.ryb-mo__group h3 small {
	font-size: .75rem;
	font-weight: 560;
	color: var(--ryb-mute);
}
.ryb-mo__group ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.ryb-mo__group li a {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 10px 0;
	border-bottom: 1px dashed var(--ryb-line);
	font-size: .9375rem;
	font-weight: 560;
}
.ryb-mo__group li:last-child a {
	border-bottom: 0;
}
.ryb-mo__group li a:hover span {
	color: var(--ryb-river-2);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.ryb-mo__group li small {
	margin-left: auto;
	font-size: .75rem;
	font-weight: 600;
	color: var(--ryb-mute);
	white-space: nowrap;
}
.ryb-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ryb-pills > li > a,
.ryb-pills > li > span,
.ryb-pill--place {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	border-radius: 99px;
	border: 1px solid var(--ryb-line);
	background: var(--ryb-surface);
	font-size: .9rem;
	font-weight: 600;
	color: var(--ryb-ink);
	transition: border-color .2s, background-color .2s;
}
.ryb-pills > li > a:hover {
	border-color: var(--ryb-river);
	background: var(--ryb-canvas);
}
.ryb-pill--place a:hover {
	color: var(--ryb-river-2);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.ryb-tablewrap {
	overflow-x: auto;
	border-radius: var(--ryb-r-lg);
	border: 1px solid var(--ryb-line);
	background: var(--ryb-surface);
}
.ryb-tablewrap .ryb-table {
	min-width: 620px;
	font-size: .9375rem;
	line-height: 1.45;
}
.ryb .ryb-tablewrap .ryb-table th {
	padding: 12px 16px;
	font-size: .8125rem;
	font-weight: 700;
	color: #fff;
	background: var(--ryb-deep);
	border: 0;
}
.ryb .ryb-tablewrap .ryb-table td {
	padding: 13px 16px;
	vertical-align: top;
	border-bottom: 1px solid var(--ryb-line-2);
}
.ryb-tablewrap .ryb-table tbody tr:last-child td {
	border-bottom: 0;
}
.ryb-tablewrap .ryb-table td:first-child {
	font-weight: 600;
	color: var(--ryb-ink);
}
.ryb-mo__src {
	padding-top: 14px;
	border-top: 1px dashed var(--ryb-line);
}
.ryb-src {
	display: grid;
	gap: 4px;
	margin: 0;
	padding: 0 0 0 1.1em;
	list-style: disc;
	font-size: .8125rem;
	color: var(--ryb-mute);
}
.ryb-home__news .ryb-news {
	margin-top: 4px;
}
.ryb-newsbox {
	padding: 0;
	margin-bottom: 0;
}
.ryb-foot {
	border-top: 1px solid var(--ryb-line);
}

/* ------------------------------------------------------ úvodná stránka */

.ryb-home {
	padding: clamp(8px, 1.2vw, 18px);
}
.ryb-home__hero {
	background:
		radial-gradient(100% 120% at 90% 10%, rgba(15, 123, 138, .6) 0%, rgba(15, 123, 138, 0) 62%),
		linear-gradient(165deg, #072234 0%, #0a3249 55%, #0c4a5e 100%);
}
.ryb-home__lead {
	padding-top: clamp(24px, 4cqi, 52px);
}
.ryb .ryb-home__sub {
	color: rgba(236, 244, 246, .88);
}
.ryb .ryb-hsearch input:focus {
	outline: 3px solid var(--ryb-float);
	outline-offset: 2px;
}
.ryb-home__land {
	min-height: 260px;
}
.ryb-land {
	max-height: 600px;
}
@container ryb (min-width: 900px) {
	.ryb-home__hero {
		grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr);
	}
}
.ryb-nm__thumb,
.ryb-nm__big {
	position: relative;
	display: block;
	overflow: hidden;
	background: linear-gradient(135deg, #cfe3e8 0%, #e6f0f2 100%);
}
.ryb-nm__thumb {
	flex: none;
	width: 72px;
	height: 48px;
	border-radius: 8px;
}
.ryb-nm__big {
	aspect-ratio: 2 / 1;
	border-radius: var(--ryb-r);
	margin: 0 0 4px;
}
.ryb .ryb-nm__item.has-thumb .ryb-dot {
	display: none;
}

@media (prefers-reduced-motion: reduce) {
	.ryb-mocard,
	.ryb-mocard__go,
	.ryb-news__item,
	.ryb-news__img,
	.ryb-card {
		transition: none;
	}
	.ryb-info__tip {
		animation: none !important;
	}
	.ryb a.ryb-card:hover {
		transform: none;
	}
}

/* v úzkych paneloch sa graf zmenší, preto sa popisky v jeho súradniciach zväčšia */
@container ryb-panel (max-width: 400px) {
	.ryb-chart__tick,
	.ryb-chart__marklabel,
	.ryb-chart__nowlabel {
		font-size: 14.5px;
	}
}

/* domovské ukazovatele vodných stavov: názov triedy .ryb-gauge je spoločný s vodočtom v paneli, tu sa jeho obmedzenie ruší */
.ryb-gauges .ryb-gauge {
	max-width: none;
	overflow: visible;
}

/* úzke obrazovky */
.ryb-tabs {
	max-width: 100%;
}
.ryb-bar__right {
	flex-wrap: wrap;
}
@container ryb (max-width: 420px) {
	.ryb .ryb-tab {
		gap: 6px;
		padding: 0 10px 0 9px;
	}
	.ryb .ryb-tab b {
		min-width: 24px;
		padding: 3px 6px;
	}
	.ryb .ryb-toggle {
		padding: 0 12px 0 10px;
	}
	.ryb-panel {
		padding: 16px;
	}
	.ryb-score {
		width: 92px;
		height: 92px;
		border-width: 6px;
	}
	.ryb-score strong {
		font-size: 2.1rem;
	}
}

/* ======================================================================
 * 1.4 – kompaktné rozloženie
 * Hlavička je nízka (text vľavo, snímka vpravo), obsah je v troch stĺpcoch
 * kariet rovnakého vzhľadu, novinky sú v rade a súvisiace revíry v malých
 * kartách. Šírka sa riadi šírkou samotného bloku (container query), takže
 * rozloženie funguje rovnako v úzkom stĺpci cudzej témy aj na veľkom monitore.
 * ====================================================================== */

/* snímka je pod zástupným symbolom len kým sa nenačíta; zlyhanie ju skryje (.is-bad) */
.ryb-sat {
	z-index: 1;
}
.ryb-card__ph {
	z-index: 0;
}

/* ----- nadpisy sekcií a medzery */
.ryb-body {
	gap: clamp(14px, 1.8cqi, 24px);
	margin-top: clamp(12px, 1.6cqi, 20px);
}
.ryb-sec__head {
	gap: 10px;
	margin-bottom: 10px;
}
.ryb-sec__ico {
	width: 34px;
	height: 34px;
	border-radius: 11px;
}
.ryb .ryb-sec__title {
	font-size: clamp(1.15rem, 1.1rem + .4cqi, 1.45rem);
	line-height: 1.15;
}
.ryb-sec__sub {
	font-size: .875rem;
	line-height: 1.4;
}

/* ----- hlavička */
.ryb-hero {
	border-radius: var(--ryb-r-lg);
}
.ryb-hero__inner {
	gap: 10px;
	padding: clamp(14px, 1.8cqi, 24px) clamp(16px, 2.2cqi, 30px) clamp(16px, 2cqi, 26px);
}
.ryb-hero__cols {
	gap: clamp(14px, 2cqi, 28px);
	margin-top: 4px;
	align-items: center;
}
.ryb-hero__txt {
	gap: 14px;
	justify-content: center;
}
.ryb-hero__main {
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 14px;
	margin-top: 0;
}
.ryb-hero__lead {
	flex: none;
	width: 100%;
}
.ryb-hero__tag {
	margin-bottom: 8px;
	padding: 4px 12px 4px 9px;
	font-size: .8125rem;
}
.ryb .ryb-hero__title {
	font-size: clamp(1.75rem, 1.2rem + 1.6cqi, 2.9rem);
	line-height: 1.04;
	letter-spacing: -.012em;
	max-width: 26ch;
}
.ryb-hero__chips {
	gap: 6px;
	margin-top: 10px;
}
.ryb-hero .ryb-badge,
.ryb-hero .ryb-chip,
.ryb-hero .ryb-ticket {
	min-height: 30px;
	padding: 0 12px 0 9px;
	font-size: .8125rem;
}
.ryb-hero__actions {
	gap: 8px;
}
.ryb .ryb-hero__actions .ryb-btn {
	min-height: 40px;
	padding-inline: 14px;
	font-size: .9rem;
}
.ryb-stats {
	gap: 8px 30px;
	padding-top: 12px;
	border-top: 1px solid rgba(255, 255, 255, .16);
}
.ryb-stats::before {
	display: none;
}
.ryb-stat dt {
	font-size: .78rem;
	margin-bottom: 1px;
}
.ryb-stat dd {
	font-size: clamp(1.4rem, 1.1rem + .9cqi, 2rem);
}
.ryb-stat__text {
	font-size: 1.02rem;
	font-weight: 620;
}
@container ryb (min-width: 820px) {
	.ryb-hero.has-media .ryb-hero__cols {
		grid-template-columns: minmax(0, 1fr) minmax(300px, 440px);
	}
}
@container ryb (min-width: 1500px) {
	.ryb-hero.has-media .ryb-hero__cols {
		grid-template-columns: minmax(0, 1fr) minmax(360px, 480px);
	}
}
.ryb-satfig {
	gap: 6px;
}
.ryb-hero .ryb-satfig__frame {
	aspect-ratio: 16 / 9;
	border-radius: var(--ryb-r);
}
@container ryb (max-width: 819.98px) {
	.ryb-hero .ryb-satfig__frame {
		aspect-ratio: 2 / 1;
	}
}
.ryb-satfig figcaption {
	font-size: .72rem;
	line-height: 1.35;
}

/* ----- karty na stránke revíru
 * Karty (panely, mapa, údaje) sa skladajú do 1–3 stĺpcov. Rozdelenie robí rybar.js podľa skutočnej výšky kariet
 * (vždy do najkratšieho stĺpca), takže stĺpce sú vyvážené. Bez JavaScriptu to isté približne spraví CSS stĺpcovanie. */
.ryb-dash {
	display: block;
}
.ryb-dash:not(.is-masonry) > .ryb-panel,
.ryb-dash:not(.is-masonry) > .ryb-box {
	break-inside: avoid;
	margin-bottom: clamp(10px, 1.2cqi, 16px);
}
@container ryb (min-width: 760px) {
	.ryb-dash:not(.is-masonry) {
		columns: 2;
		column-gap: clamp(10px, 1.2cqi, 16px);
	}
}
@container ryb (min-width: 1180px) {
	.ryb-dash:not(.is-masonry) {
		columns: 3;
	}
}
.ryb-dash.is-masonry {
	display: grid;
	grid-template-columns: repeat(var(--n, 1), minmax(0, 1fr));
	gap: clamp(10px, 1.2cqi, 16px);
	align-items: start;
}
.ryb-dash__col {
	display: flex;
	flex-direction: column;
	gap: clamp(10px, 1.2cqi, 16px);
	min-width: 0;
}
.ryb-dash .ryb-panel,
.ryb-dash__wide .ryb-panel,
.ryb-box {
	width: 100%;
	padding: 16px;
	gap: 12px;
	border-radius: var(--ryb-r-lg);
}
.ryb-panel__ico {
	width: 34px;
	height: 34px;
	border-radius: 11px;
}
.ryb .ryb-panel__title {
	font-size: 1rem;
}
.ryb-panel--podmienky {
	grid-column: auto;
}
.ryb-box .ryb-lead {
	max-width: none;
	font-size: .95rem;
	line-height: 1.55;
	margin: 0;
}
/* kým sa živý panel načíta, drží si približnú výšku, aby sa stĺpce po načítaní nepremiešali */
.ryb-dash .ryb-panel--podmienky.is-loading { min-height: 760px; }
.ryb-dash .ryb-panel--prietok.is-loading { min-height: 400px; }
.ryb-dash .ryb-panel--pocasie.is-loading { min-height: 640px; }

/* mapa v karte */
.ryb-box--map {
	display: block;
	padding: 0;
	overflow: hidden;
}
.ryb-box--map .ryb-mapbox,
.ryb-dash .ryb-mapbox {
	height: clamp(260px, 30cqi, 400px);
	border-radius: 0;
	box-shadow: none;
}
.ryb-box--map .ryb-map__skeleton {
	border-radius: 0;
}
.ryb-box__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 4px 12px;
	padding: 10px 16px 0;
	font-size: .8125rem;
	color: var(--ryb-ink-2);
}
.ryb-box__foot .ryb-coords {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	padding: 0;
}
.ryb-box__foot a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	color: var(--ryb-river-2);
}
.ryb-box__foot a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}
.ryb-box--map .ryb-map__hint {
	margin: 0;
	padding: 4px 16px 12px;
	font-size: .78rem;
	line-height: 1.45;
}

/* charakteristika: malé vodorovné dlaždice */
.ryb-box .ryb-traits {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr));
	gap: 8px;
}
.ryb-box .ryb-trait {
	flex-direction: row;
	align-items: center;
	gap: 10px;
	padding: 9px 11px;
	border-radius: 12px;
	background: var(--ryb-canvas);
	border-color: var(--ryb-line-2);
}
.ryb-box .ryb-trait__ico {
	width: 32px;
	height: 32px;
	border-radius: 10px;
	background: #fff;
}
.ryb-box .ryb-trait small {
	font-size: .75rem;
	line-height: 1.25;
}
.ryb-box .ryb-trait strong {
	font-size: .95rem;
	line-height: 1.25;
}
.ryb-box .ryb-trait--other,
.ryb-box .ryb-trait--veg,
.ryb-box .ryb-trait--struct {
	grid-column: 1 / -1;
}
.ryb-box .ryb-meter {
	margin-top: 5px;
}

/* údaje o revíri: riadky popis | hodnota */
.ryb-box .ryb-facts {
	display: block;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
}
.ryb-box .ryb-fact {
	display: grid;
	grid-template-columns: minmax(112px, 36%) minmax(0, 1fr);
	align-items: baseline;
	gap: 2px 12px;
	padding: 9px 0;
}
.ryb-box .ryb-fact:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}
.ryb-box .ryb-fact dt {
	font-size: .8125rem;
}
.ryb-box .ryb-fact dd {
	font-size: .95rem;
	font-weight: 560;
	line-height: 1.35;
	overflow-wrap: anywhere;
}
@container ryb-panel (max-width: 300px) {
	.ryb-box .ryb-fact {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* panely v úzkom stĺpci: menšie čísla a rozumné medzery */
.ryb-dash .ryb-panel__foot {
	padding-top: 9px;
}
.ryb-dash .ryb-panel__note {
	margin-top: 6px;
}

/* ----- celoplošné panely pod stĺpcami (novinky, úlovky) */
.ryb-dash__wide {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(10px, 1.2cqi, 16px);
}

/* novinky: rad kariet s obrázkom; na užších šírkach sa posúvajú do strany */
.ryb-news--row {
	display: grid;
	grid-template-columns: none;
	grid-auto-flow: column;
	grid-auto-columns: minmax(220px, 62%);
	gap: 12px;
	margin: 0 -4px;
	padding: 2px 4px 8px;
	overflow-x: auto;
	scroll-snap-type: x proximity;
	scrollbar-width: thin;
}
.ryb-news--row .ryb-news__item,
.ryb-news--grid .ryb-news__item {
	scroll-snap-align: start;
	align-self: stretch;
	border-radius: 14px;
	border-inline-start: 1px solid var(--ryb-line);
	box-shadow: none;
}
.ryb-news--row .ryb-news__thumb,
.ryb-news--grid .ryb-news__thumb {
	aspect-ratio: 16 / 9;
}
.ryb-news--row .ryb-news__img,
.ryb-news--grid .ryb-news__img {
	object-position: center 28%;
}
.ryb-news--row .ryb-news__item:not(.has-img)::before,
.ryb-news--grid .ryb-news__item:not(.has-img)::before {
	content: '';
	display: block;
	flex: none;
	aspect-ratio: 16 / 9;
	background:
		radial-gradient(70% 90% at 82% 18%, rgba(15, 123, 138, .22), transparent 70%),
		linear-gradient(135deg, #d6e8ec, #eaf3f5);
}
.ryb-news--row .ryb-news__body,
.ryb-news--grid .ryb-news__body {
	flex: 1;
	gap: 4px;
	padding: 10px 12px 12px;
}
.ryb-news--row .ryb-news__meta,
.ryb-news--grid .ryb-news__meta {
	font-size: .78rem;
}
.ryb-news--row .ryb-news__title,
.ryb-news--grid .ryb-news__title {
	font-size: .95rem;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.ryb-news--row .ryb-news__x,
.ryb-news--grid .ryb-news__x {
	display: none;
}
@container ryb-panel (min-width: 520px) {
	.ryb-news--row {
		grid-auto-columns: minmax(200px, 36%);
	}
}
@container ryb-panel (min-width: 900px) {
	.ryb-news--row {
		grid-auto-flow: row;
		grid-auto-columns: auto;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		overflow: visible;
		margin: 0;
		padding: 0;
	}
	.ryb-news--row .ryb-news__title {
		font-size: .92rem;
	}
}

/* ----- súvisiace revíry: malé vodorovné karty */
.ryb-sec--rel .ryb-list {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr));
	gap: 10px;
}
.ryb-sec--rel .ryb-card {
	flex-direction: row;
	align-items: stretch;
	border-radius: 14px;
	box-shadow: none;
}
.ryb-sec--rel .ryb-card__media {
	flex: 0 0 38%;
	max-width: 132px;
	aspect-ratio: auto;
	min-height: 78px;
}
.ryb-sec--rel .ryb-card__media::after {
	display: none;
}
.ryb-sec--rel .ryb-card__body {
	justify-content: center;
	gap: 3px;
	padding: 10px 40px 10px 12px;
}
.ryb-sec--rel .ryb-card:not(.has-media) .ryb-card__body {
	padding-left: 18px;
}
.ryb-sec--rel .ryb-card__top {
	min-height: 0;
	justify-content: flex-start;
	gap: 8px;
}
.ryb-sec--rel .ryb-card__typ {
	font-size: .75rem;
}
.ryb .ryb-sec--rel .ryb-card__title {
	padding-right: 0;
	font-size: 1rem;
	line-height: 1.2;
}
.ryb-sec--rel .ryb-card__loc,
.ryb-sec--rel .ryb-meta--org,
.ryb-sec--rel .ryb-meta--och span {
	display: none;
}
.ryb-sec--rel .ryb-card__meta {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
	font-size: .8125rem;
}
.ryb-sec--rel .ryb-card__go {
	top: 8px;
	right: 8px;
	width: 26px;
	height: 26px;
}

/* nízka hlavička: hladina je len pri spodku, aby nadpis a štítky ležali na tmavom pozadí */
.ryb-hero .ryb-water {
	height: 36%;
	min-height: 80px;
}
.ryb-hero .ryb-fish {
	bottom: 14%;
}
.ryb-box .ryb-lead {
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}

/* ----- zoznamy kariet (revíry, toky): nižšie karty, viac stĺpcov */
.ryb-list:not(.ryb-list--static)[data-view='grid'] {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 232px), 1fr));
	gap: 12px;
}
.ryb-list:not(.ryb-list--static)[data-view='grid'] .ryb-card {
	border-radius: 16px;
}
.ryb-list:not(.ryb-list--static)[data-view='grid'] .ryb-card__media {
	aspect-ratio: 16 / 6.4;
}
.ryb-list:not(.ryb-list--static)[data-view='grid'] .ryb-card__body {
	gap: 4px;
	padding: 11px 14px 12px;
}
.ryb .ryb-list:not(.ryb-list--static)[data-view='grid'] .ryb-card__title {
	font-size: 1.05rem;
	line-height: 1.18;
}
.ryb-list:not(.ryb-list--static)[data-view='grid'] .ryb-card__meta {
	padding-top: 7px;
	gap: 4px 12px;
	font-size: .8rem;
}
.ryb-list:not(.ryb-list--static)[data-view='grid'] .ryb-card__loc {
	font-size: .84rem;
}
.ryb-list:not(.ryb-list--static)[data-view='grid'] .ryb-line {
	margin: 2px 0 0;
}
.ryb-list:not(.ryb-list--static)[data-view='grid'] .ryb-card__go {
	top: auto;
	bottom: 10px;
	right: 10px;
	width: 28px;
	height: 28px;
}
.ryb-list:not(.ryb-list--static)[data-view='grid'] .ryb-card.has-media .ryb-card__go {
	top: 8px;
	bottom: auto;
	right: 8px;
	background: rgba(255, 255, 255, .92);
}

/* ----- stránka organizácie */
.ryb-news--grid {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
	gap: 12px;
}
.ryb-news--grid .ryb-news__item:not(.has-img) {
	align-self: stretch;
	border-inline-start: 1px solid var(--ryb-line);
}
.ryb-mo__top {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(10px, 1.2cqi, 16px);
	align-items: start;
}
@container ryb (min-width: 900px) {
	.ryb-mo__top {
		grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
	}
}
.ryb-mo__about .ryb-prose {
	max-width: none;
	font-size: 1rem;
	line-height: 1.6;
}
.ryb-mo__about .ryb-prose p {
	margin-bottom: .7em;
}
.ryb-mo__about .ryb-facts {
	margin-top: 0;
}
.ryb-mo__contact .ryb-fact {
	grid-template-columns: minmax(96px, 32%) minmax(0, 1fr);
}
.ryb-mo__groups {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
	gap: 12px;
}
.ryb-mo__group {
	padding: 12px 16px 4px;
}
.ryb .ryb-mo__group h3 {
	padding-bottom: 8px;
	font-size: 1.05rem;
}
.ryb-mo__group li a {
	padding: 8px 0;
}
.ryb-mopage > .ryb-sec,
.ryb-mopage > .ryb-newsbox,
.ryb-hub > .ryb-sec,
.ryb-molist > .ryb-sec,
.ryb-method > .ryb-sec,
.ryb-mopage > .ryb-mo__top {
	margin-top: clamp(14px, 2cqi, 24px);
}
.ryb-molist__grid {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr));
	gap: 10px;
}
.ryb-mocard {
	padding: 11px 40px 11px 14px;
}

/* ----- úvodná stránka */
.ryb-home {
	padding: 0;
}
.ryb-home__hero {
	border-radius: var(--ryb-r-lg);
}
.ryb-home__lead {
	gap: 12px;
	padding: clamp(20px, 3cqi, 40px) clamp(18px, 3.4cqi, 48px) clamp(6px, 1.4cqi, 16px);
}
.ryb .ryb-home__title {
	max-width: 13ch;
	font-size: clamp(2.2rem, 1.2rem + 3.4cqi, 4rem);
	line-height: .98;
}
.ryb-home__sub {
	font-size: 1rem;
	line-height: 1.45;
}
.ryb-home__land {
	min-height: 0;
}
.ryb-land {
	max-height: 340px;
}
@container ryb (min-width: 900px) {
	.ryb-home__hero {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
	}
	.ryb-home__lead {
		padding-bottom: clamp(20px, 3cqi, 40px);
	}
	.ryb-home__land {
		padding: clamp(10px, 1.6cqi, 22px) clamp(14px, 2.4cqi, 36px) clamp(10px, 1.6cqi, 22px) 0;
	}
}
.ryb-hstats {
	margin-top: clamp(8px, 1.1cqi, 14px);
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.ryb-hstats > div {
	flex-direction: column-reverse;
	padding: 10px 14px;
	border-radius: var(--ryb-r);
}
.ryb-hstats dd {
	font-size: clamp(1.5rem, 1rem + 1.6cqi, 2.1rem);
}
.ryb-hstats dt {
	font-size: .78rem;
	line-height: 1.25;
}
@container ryb (max-width: 520px) {
	.ryb-hstats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
.ryb-home__sec {
	margin-top: clamp(16px, 2.2cqi, 28px);
}
.ryb-home__sec .ryb-sec__head {
	margin-bottom: 10px;
}

/* povodia a typy vody vľavo, vodné stavy vpravo */
.ryb-home__duo {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0 clamp(14px, 2cqi, 28px);
	align-items: start;
}
.ryb-home__stack {
	min-width: 0;
}
@container ryb (min-width: 1000px) {
	.ryb-home__duo:not(.is-single) {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}
}
.ryb-home__duo .ryb-gauges {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
}
.ryb-home__duo .ryb-tiles {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
}
.ryb-home__duo .ryb-types {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
@container ryb (max-width: 560px) {
	.ryb-home__duo .ryb-types {
		grid-template-columns: minmax(0, 1fr);
	}
}
.ryb-type {
	padding: 14px 16px 12px;
	border-radius: var(--ryb-r);
}
.ryb-type strong {
	font-size: 1rem;
}
.ryb-type__n {
	font-size: 1.35rem;
}
.ryb-tile {
	padding: 12px 40px 12px 14px;
	gap: 4px;
}
.ryb-gauge {
	padding: 10px 14px;
}
.ryb-gauge__val b {
	font-size: 1.35rem;
}

/* úlovky na úvodnej stránke */
.ryb-home__split .ryb-catches {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 190px), 1fr));
	gap: 10px;
}
.ryb-home__split .ryb-catch.is-nophoto .ryb-catch__pic {
	aspect-ratio: 16 / 5;
}
.ryb-home__split .ryb-catch__nophoto .ryb-i {
	width: 36px;
	height: 36px;
}
@container ryb (min-width: 900px) {
	.ryb-home__split {
		grid-template-columns: minmax(0, 1fr) 340px;
	}
}
.ryb-home__duo .ryb-tiles {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
@container ryb (max-width: 460px) {
	.ryb-home__duo .ryb-tiles {
		grid-template-columns: minmax(0, 1fr);
	}
}
