/* ==========================================================================
   Adaraneo – téma "minimal material"
   Navrstveno nad Bootstrap 5.3 (dist/css/bootstrap.css). Mobile-first.
   Světlý/tmavý režim přes data-bs-theme (nastavuje se v <head> podle systému).
   ========================================================================== */

/* ---------- Design tokeny ------------------------------------------------ */
:root,
[data-bs-theme="light"] {
	--md-primary: #2d6a7b;
	--md-on-primary: #ffffff;
	--md-primary-container: #cfe8ef;
	--md-on-primary-container: #001f27;
	--md-secondary-container: #e2ecef;
	--md-bg: #f7f9fa;
	--md-surface: #ffffff;
	--md-surface-1: #f0f4f5;
	--md-surface-2: #e8eef0;
	--md-on-surface: #191c1d;
	--md-on-surface-variant: #4f595c;
	--md-outline: #70797c;
	--md-outline-variant: #d3dbde;
	--md-error: #ba1a1a;
	--md-success: #2e7d4f;
	--md-warning: #8a6100;
	--md-inverse-surface: #2e3132;
	--md-inverse-on-surface: #eff1f2;
	--md-shadow-1: 0 1px 2px rgb(0 0 0 / .08), 0 1px 3px 1px rgb(0 0 0 / .05);
	--md-shadow-2: 0 2px 6px 2px rgb(0 0 0 / .08), 0 1px 2px rgb(0 0 0 / .1);

	--md-radius-s: .5rem;
	--md-radius-m: .75rem;
	--md-radius-l: 1.25rem;
	--md-radius-xl: 1.75rem;

	--appbar-h: 3.75rem;

	--bs-body-bg: var(--md-bg);
	--bs-body-bg-rgb: 247, 249, 250;
	--bs-body-color: var(--md-on-surface);
	--bs-body-color-rgb: 25, 28, 29;
	--bs-secondary-color: var(--md-on-surface-variant);
	--bs-secondary-bg: var(--md-surface-1);
	--bs-tertiary-bg: var(--md-surface-1);
	--bs-emphasis-color: var(--md-on-surface);
	--bs-border-color: var(--md-outline-variant);
	--bs-border-color-translucent: var(--md-outline-variant);
	--bs-link-color: var(--md-primary);
	--bs-link-color-rgb: 45, 106, 123;
	--bs-link-hover-color: #1d4d5b;
	--bs-link-hover-color-rgb: 29, 77, 91;
	--bs-primary: var(--md-primary);
	--bs-primary-rgb: 45, 106, 123;
	--bs-danger: var(--md-error);
	--bs-danger-rgb: 186, 26, 26;
	--bs-success: var(--md-success);
	--bs-success-rgb: 46, 125, 79;
	--bs-border-radius: var(--md-radius-m);
	--bs-border-radius-lg: var(--md-radius-l);
	--bs-focus-ring-color: rgb(45 106 123 / .3);
	--bs-font-sans-serif: Roboto, "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
	--bs-body-font-family: var(--bs-font-sans-serif);
	--bs-body-line-height: 1.65;
}

[data-bs-theme="dark"] {
	color-scheme: dark;
	--md-primary: #8bcfe3;
	--md-on-primary: #00363f;
	--md-primary-container: #124e5c;
	--md-on-primary-container: #cfe8ef;
	--md-secondary-container: #26363b;
	--md-bg: #101415;
	--md-surface: #151a1c;
	--md-surface-1: #1b2123;
	--md-surface-2: #232b2e;
	--md-on-surface: #e1e3e4;
	--md-on-surface-variant: #b4bdc0;
	--md-outline: #8a9396;
	--md-outline-variant: #333c3f;
	--md-error: #ffb4ab;
	--md-success: #8fd5a6;
	--md-warning: #f0c35a;
	--md-inverse-surface: #e1e3e4;
	--md-inverse-on-surface: #2e3132;
	--md-shadow-1: 0 1px 2px rgb(0 0 0 / .4), 0 1px 3px 1px rgb(0 0 0 / .25);
	--md-shadow-2: 0 2px 6px 2px rgb(0 0 0 / .35), 0 1px 2px rgb(0 0 0 / .4);

	--bs-body-bg: var(--md-bg);
	--bs-body-bg-rgb: 16, 20, 21;
	--bs-body-color: var(--md-on-surface);
	--bs-body-color-rgb: 225, 227, 228;
	--bs-secondary-color: var(--md-on-surface-variant);
	--bs-secondary-bg: var(--md-surface-1);
	--bs-tertiary-bg: var(--md-surface-1);
	--bs-emphasis-color: #fff;
	--bs-border-color: var(--md-outline-variant);
	--bs-border-color-translucent: var(--md-outline-variant);
	--bs-link-color: var(--md-primary);
	--bs-link-color-rgb: 139, 207, 227;
	--bs-link-hover-color: #b5e3f0;
	--bs-link-hover-color-rgb: 181, 227, 240;
	--bs-primary: var(--md-primary);
	--bs-primary-rgb: 139, 207, 227;
	--bs-danger: var(--md-error);
	--bs-danger-rgb: 255, 180, 171;
	--bs-success: var(--md-success);
	--bs-success-rgb: 143, 213, 166;
	--bs-focus-ring-color: rgb(139 207 227 / .35);
}

/* ---------- Základ ------------------------------------------------------- */
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--appbar-h) + 1rem); }

body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100dvh;
	background: var(--md-bg);
	color: var(--md-on-surface);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

main { flex: 1 0 auto; }

h1, h2, h3, h4, h5, h6 {
	font-weight: 500;
	letter-spacing: -.01em;
	line-height: 1.2;
	color: var(--md-on-surface);
}
h1, .h1 { font-size: clamp(2rem, 1.4rem + 3vw, 3.25rem); letter-spacing: -.025em; }
h2, .h2 { font-size: clamp(1.5rem, 1.2rem + 1.5vw, 2.1rem); }
h3, .h3 { font-size: clamp(1.3rem, 1.1rem + 1vw, 1.6rem); }
h4, .h4 { font-size: 1.2rem; }
h5, .h5 { font-size: 1.05rem; }

p { max-width: 68ch; }
a { text-underline-offset: .2em; text-decoration-thickness: 1px; }
::selection { background: var(--md-primary-container); color: var(--md-on-primary-container); }
:focus-visible { outline: 2px solid var(--md-primary); outline-offset: 2px; border-radius: 4px; }

.icon { width: 1.25em; height: 1.25em; flex: none; vertical-align: -.25em; }

/* Layout stránky */
.page { width: 100%; max-width: 52rem; margin-inline: auto; padding: 1.5rem 1rem 4rem; }
.page-wide { max-width: 72rem; }
.page-narrow { max-width: 30rem; }
@media (min-width: 768px) { .page { padding-block: 2.5rem 5rem; } }

.page-title { margin-bottom: .5rem; }
.page-lead { font-size: 1.1rem; color: var(--md-on-surface-variant); margin-bottom: 2rem; }
.section-title { margin: 2.5rem 0 1rem; }
.eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: .75rem; font-weight: 500; color: var(--md-primary); margin-bottom: .5rem; }
.divider { border: 0; border-top: 1px solid var(--md-outline-variant); margin: 2rem 0; opacity: 1; }

/* ---------- App bar ------------------------------------------------------ */
.appbar {
	position: sticky;
	top: 0;
	z-index: 1030;
	background: color-mix(in srgb, var(--md-surface) 88%, transparent);
	-webkit-backdrop-filter: saturate(1.4) blur(14px);
	backdrop-filter: saturate(1.4) blur(14px);
	border-bottom: 1px solid var(--md-outline-variant);
}
.appbar .navbar { --bs-navbar-padding-y: 0; min-height: var(--appbar-h); padding-inline: .5rem; background: transparent !important; }
.appbar .navbar > .container { max-width: 72rem; padding-inline: .5rem; }
.navbar-brand {
	display: inline-flex; align-items: center; gap: .6rem;
	font-weight: 500; font-size: 1.2rem; letter-spacing: -.01em; color: var(--md-on-surface);
}
.brand-mark {
	display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%;
	background: var(--md-primary); color: var(--md-on-primary); font-weight: 600; font-size: 1rem;
}
.appbar-toggle {
	display: inline-grid; place-items: center; width: 3rem; height: 3rem; border: 0; border-radius: 50%;
	background: transparent; color: var(--md-on-surface); transition: background .2s;
}
.appbar-toggle:hover { background: var(--md-surface-2); }

.navbar-nav { --bs-nav-link-padding-x: 1rem; --bs-nav-link-padding-y: .6rem; gap: .125rem; }
.navbar .nav-link {
	color: var(--md-on-surface-variant); font-weight: 500; font-size: .95rem;
	border-radius: 999px; transition: background .2s, color .2s;
}
.navbar .nav-link:hover,
.navbar .nav-link:focus-visible,
.navbar .nav-link.show { background: var(--md-surface-2); color: var(--md-on-surface); }
.navbar .nav-link.active { background: var(--md-secondary-container); color: var(--md-on-primary-container); }

/* Mobilní zásuvka (drawer) */
.offcanvas { background: var(--md-surface); color: var(--md-on-surface); border: 0; --bs-offcanvas-width: min(20rem, 85vw); }
.offcanvas-header { min-height: var(--appbar-h); padding-inline: 1.25rem; }
.offcanvas-title { font-weight: 500; }
.offcanvas-body { padding: .5rem .75rem 1.5rem; }
@media (max-width: 767.98px) {
	.offcanvas { border-radius: var(--md-radius-xl) 0 0 var(--md-radius-xl); }
	.navbar .nav-link { padding: .9rem 1.25rem; font-size: 1rem; }
	.navbar-nav .dropdown-menu {
		position: static; float: none; border: 0; box-shadow: none; background: transparent;
		padding: 0 0 .5rem 1rem; margin: 0;
	}
	.navbar-nav .dropdown-item { padding: .7rem 1.25rem; border-radius: 999px; }
}

/* Dropdown (desktop) */
.dropdown-menu {
	--bs-dropdown-bg: var(--md-surface-1);
	--bs-dropdown-border-width: 0;
	--bs-dropdown-border-radius: var(--md-radius-m);
	--bs-dropdown-padding-y: .5rem;
	--bs-dropdown-link-hover-bg: var(--md-surface-2);
	--bs-dropdown-link-active-bg: var(--md-secondary-container);
	--bs-dropdown-link-active-color: var(--md-on-primary-container);
	--bs-dropdown-color: var(--md-on-surface);
	--bs-dropdown-link-color: var(--md-on-surface);
	--bs-dropdown-link-hover-color: var(--md-on-surface);
	box-shadow: var(--md-shadow-2);
}
.dropdown-item { padding: .6rem 1.1rem; font-size: .95rem; }

/* ---------- Tlačítka ----------------------------------------------------- */
.btn {
	--bs-btn-padding-x: 1.4rem;
	--bs-btn-padding-y: .6rem;
	--bs-btn-font-weight: 500;
	--bs-btn-font-size: .95rem;
	--bs-btn-border-radius: 999px;
	--bs-btn-focus-box-shadow: 0 0 0 .2rem var(--bs-focus-ring-color);
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	letter-spacing: .01em;
	transition: background-color .2s, box-shadow .2s, color .2s, border-color .2s;
}
.btn-primary {
	--bs-btn-bg: var(--md-primary); --bs-btn-border-color: var(--md-primary); --bs-btn-color: var(--md-on-primary);
	--bs-btn-hover-bg: color-mix(in srgb, var(--md-primary) 88%, var(--md-on-surface));
	--bs-btn-hover-border-color: color-mix(in srgb, var(--md-primary) 88%, var(--md-on-surface));
	--bs-btn-hover-color: var(--md-on-primary);
	--bs-btn-active-bg: color-mix(in srgb, var(--md-primary) 80%, var(--md-on-surface));
	--bs-btn-active-border-color: transparent; --bs-btn-active-color: var(--md-on-primary);
}
.btn-primary:hover, .btn-primary:focus-visible { box-shadow: var(--md-shadow-1); }
.btn-tonal {
	--bs-btn-bg: var(--md-secondary-container); --bs-btn-border-color: transparent; --bs-btn-color: var(--md-on-primary-container);
	--bs-btn-hover-bg: var(--md-primary-container); --bs-btn-hover-border-color: transparent; --bs-btn-hover-color: var(--md-on-primary-container);
	--bs-btn-active-bg: var(--md-primary-container); --bs-btn-active-border-color: transparent; --bs-btn-active-color: var(--md-on-primary-container);
}
.btn-outline-secondary, .btn-outline-primary {
	--bs-btn-color: var(--md-primary); --bs-btn-border-color: var(--md-outline);
	--bs-btn-hover-bg: var(--md-secondary-container); --bs-btn-hover-color: var(--md-on-primary-container); --bs-btn-hover-border-color: var(--md-outline);
	--bs-btn-active-bg: var(--md-primary-container); --bs-btn-active-color: var(--md-on-primary-container); --bs-btn-active-border-color: var(--md-outline);
}
.btn-text, .btn-link {
	--bs-btn-color: var(--md-primary); --bs-btn-bg: transparent; --bs-btn-border-color: transparent;
	--bs-btn-hover-bg: var(--md-secondary-container); --bs-btn-hover-color: var(--md-on-primary-container); --bs-btn-hover-border-color: transparent;
	--bs-btn-active-bg: var(--md-primary-container); --bs-btn-active-color: var(--md-on-primary-container); --bs-btn-active-border-color: transparent;
	text-decoration: none; padding-inline: 1rem;
}
.btn-danger {
	--bs-btn-bg: var(--md-error); --bs-btn-border-color: var(--md-error); --bs-btn-color: var(--md-surface);
	--bs-btn-hover-bg: color-mix(in srgb, var(--md-error) 85%, #000); --bs-btn-hover-border-color: transparent; --bs-btn-hover-color: var(--md-surface);
	--bs-btn-active-bg: color-mix(in srgb, var(--md-error) 75%, #000); --bs-btn-active-border-color: transparent; --bs-btn-active-color: var(--md-surface);
}
.btn-outline-danger {
	--bs-btn-color: var(--md-error); --bs-btn-border-color: var(--md-error);
	--bs-btn-hover-bg: var(--md-error); --bs-btn-hover-color: var(--md-surface); --bs-btn-hover-border-color: var(--md-error);
	--bs-btn-active-bg: var(--md-error); --bs-btn-active-color: var(--md-surface);
}
.btn-sm { --bs-btn-padding-y: .35rem; --bs-btn-padding-x: 1rem; --bs-btn-font-size: .85rem; }
.btn-lg { --bs-btn-padding-y: .8rem; --bs-btn-padding-x: 1.8rem; --bs-btn-font-size: 1rem; }
.btn-icon {
	--bs-btn-padding-x: 0; --bs-btn-padding-y: 0; width: 2.5rem; height: 2.5rem; border-radius: 50%; flex: none;
}
.btn-close { filter: none; opacity: .6; }
[data-bs-theme="dark"] .btn-close { filter: invert(1) grayscale(100%) brightness(200%); }

/* Rozložení tlačítek ve formulářích: na mobilu přes celou šířku */
.form-actions { display: flex; flex-direction: column-reverse; gap: .75rem; margin-top: 1.5rem; align-items: stretch; }
.form-actions .form-note { margin: 0; font-size: .85rem; color: var(--md-on-surface-variant); align-self: center; }
@media (min-width: 576px) {
	.form-actions { flex-direction: row; justify-content: flex-end; align-items: center; }
	.form-actions .form-note { margin-right: auto; }
}

/* ---------- Karty -------------------------------------------------------- */
.card {
	--bs-card-bg: var(--md-surface);
	--bs-card-border-width: 0;
	--bs-card-border-radius: var(--md-radius-l);
	--bs-card-inner-border-radius: var(--md-radius-l);
	--bs-card-spacer-x: 1.25rem;
	--bs-card-spacer-y: 1.25rem;
	--bs-card-title-color: var(--md-on-surface);
	--bs-card-cap-bg: transparent;
	box-shadow: var(--md-shadow-1);
	transition: box-shadow .25s, transform .25s;
}
.card-flat { box-shadow: none; background: var(--md-surface-1); }
.card-outlined { box-shadow: none; border: 1px solid var(--md-outline-variant); background: transparent; }
a.card { text-decoration: none; color: inherit; }
a.card:hover, a.card:focus-visible { box-shadow: var(--md-shadow-2); transform: translateY(-2px); }
.card-title { font-size: 1.1rem; font-weight: 500; margin-bottom: .5rem; }
.card-title .icon { color: var(--md-primary); margin-right: .35rem; }

.card-icon {
	display: grid; place-items: center; width: 3rem; height: 3rem; margin-bottom: 1rem; border-radius: var(--md-radius-m);
	background: var(--md-primary-container); color: var(--md-on-primary-container);
}
.card-icon .icon { width: 1.5rem; height: 1.5rem; }

/* ---------- Hero (úvodní stránka) --------------------------------------- */
.hero { padding: 2.5rem 0 1.5rem; }
.hero h1 { margin-bottom: 1rem; }
.hero .lead { font-size: 1.15rem; color: var(--md-on-surface-variant); max-width: 36rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
@media (min-width: 768px) { .hero { padding: 4rem 0 2.5rem; } }

.feature-grid { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .feature-grid { grid-template-columns: repeat(2, 1fr); } }
.feature-grid .card { height: 100%; }
.feature-grid .card-body { display: flex; flex-direction: column; align-items: flex-start; }
.feature-grid .card-body p { color: var(--md-on-surface-variant); }
.feature-grid .card-body .btn { margin-top: auto; margin-left: -1rem; }

/* Banner s fotografií */
.photo-banner {
	position: relative; margin: 0 -1rem 1.5rem; aspect-ratio: 16 / 7; max-height: 20rem; overflow: hidden;
	background: var(--md-surface-2);
}
.photo-banner img { width: 100%; height: 100%; object-fit: cover; display: block; }
.photo-banner figcaption {
	position: absolute; inset-inline: 0; bottom: 0; padding: 1.5rem 1rem .5rem; font-size: .75rem; color: #fff;
	background: linear-gradient(transparent, rgb(0 0 0 / .55));
}
@media (min-width: 768px) {
	.photo-banner { margin-inline: 0; border-radius: var(--md-radius-xl); }
	.photo-banner figcaption { padding-inline: 1.25rem; }
}

/* ---------- Časová osa --------------------------------------------------- */
.timeline { list-style: none; margin: 0; padding: 0 0 0 1.25rem; border-left: 2px solid var(--md-outline-variant); }
.timeline-item { position: relative; padding: 0 0 1.75rem 1.25rem; }
.timeline-item::before {
	content: ""; position: absolute; left: calc(-1.25rem - 1px - 6px + 1px); top: .45rem;
	width: .75rem; height: .75rem; border-radius: 50%; background: var(--md-primary);
	box-shadow: 0 0 0 4px var(--md-bg);
}
.timeline-year { font-size: 1.25rem; font-weight: 500; margin-bottom: .5rem; }
.timeline-item ul { list-style: none; padding: 0; margin: 0; }
.timeline-item li { position: relative; padding: .25rem 0; color: var(--md-on-surface-variant); }
.timeline-item li strong { color: var(--md-on-surface); font-weight: 500; }

/* ---------- Seznamy, tabulky, details ----------------------------------- */
.check-list { list-style: none; padding: 0; }
.check-list li { position: relative; padding: .35rem 0 .35rem 1.6rem; }
.check-list li::before {
	content: ""; position: absolute; left: .15rem; top: 1rem; width: .5rem; height: .5rem; border-radius: 50%; background: var(--md-primary);
}

.table-wrap { overflow-x: auto; border-radius: var(--md-radius-m); border: 1px solid var(--md-outline-variant); background: var(--md-surface); }
.table {
	--bs-table-bg: transparent; --bs-table-color: var(--md-on-surface); --bs-table-border-color: var(--md-outline-variant);
	--bs-table-hover-bg: var(--md-surface-1); --bs-table-hover-color: var(--md-on-surface);
	margin: 0;
}
.table > :not(caption) > * > * { padding: .85rem 1rem; }
.table thead th { font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; font-weight: 500; color: var(--md-on-surface-variant); background: var(--md-surface-1); border-bottom-width: 1px; }
.table tbody tr:last-child td { border-bottom: 0; }

.list-group {
	--bs-list-group-bg: var(--md-surface); --bs-list-group-border-color: var(--md-outline-variant);
	--bs-list-group-color: var(--md-on-surface); --bs-list-group-border-radius: var(--md-radius-m);
	--bs-list-group-action-hover-bg: var(--md-surface-1);
}
.list-group-item { padding: .85rem 1rem; }

/* <details> jako "accordion" (changelogy verzí) */
.disclosure { display: grid; gap: .5rem; padding: 0; list-style: none; }
.disclosure details { background: var(--md-surface); border: 1px solid var(--md-outline-variant); border-radius: var(--md-radius-m); overflow: hidden; }
.disclosure details[open] { border-color: var(--md-outline); }
.disclosure summary {
	display: flex; align-items: center; justify-content: space-between; gap: 1rem;
	padding: .9rem 1.1rem; cursor: pointer; font-weight: 500; list-style: none;
}
.disclosure summary::-webkit-details-marker { display: none; }
.disclosure summary::after {
	content: ""; width: .55rem; height: .55rem; flex: none; margin-right: .25rem;
	border-right: 2px solid var(--md-on-surface-variant); border-bottom: 2px solid var(--md-on-surface-variant);
	transform: rotate(45deg); transition: transform .2s;
}
.disclosure details[open] summary::after { transform: rotate(-135deg); }
.disclosure summary:hover { background: var(--md-surface-1); }
.disclosure .disclosure-body { padding: 0 1.1rem 1rem; color: var(--md-on-surface-variant); }
.disclosure .disclosure-body ul { margin: 0; padding-left: 1.1rem; }

/* ---------- Záložky / chipy --------------------------------------------- */
.nav-tabs {
	--bs-nav-tabs-border-width: 0; --bs-nav-tabs-link-active-bg: transparent;
	border-bottom: 1px solid var(--md-outline-variant); flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-bottom: 1.5rem;
}
.nav-tabs::-webkit-scrollbar { display: none; }
.nav-tabs .nav-link {
	color: var(--md-on-surface-variant); font-weight: 500; white-space: nowrap; border: 0; border-bottom: 3px solid transparent;
	border-radius: 0; padding: .85rem 1.1rem; margin: 0;
}
.nav-tabs .nav-link:hover { color: var(--md-on-surface); background: var(--md-surface-1); border-bottom-color: transparent; }
.nav-tabs .nav-link.active { color: var(--md-primary); background: transparent; border-bottom-color: var(--md-primary); }
.nav-pills { gap: .5rem; flex-wrap: wrap; }
.nav-pills .nav-link { border-radius: 999px; color: var(--md-on-surface-variant); border: 1px solid var(--md-outline); padding: .45rem 1rem; font-size: .9rem; }
.nav-pills .nav-link.active { background: var(--md-secondary-container); color: var(--md-on-primary-container); border-color: transparent; }

.chip {
	display: inline-flex; align-items: center; gap: .4rem; padding: .25rem .75rem; border-radius: var(--md-radius-s);
	background: var(--md-secondary-container); color: var(--md-on-primary-container); font-size: .8rem; font-weight: 500;
}

/* ---------- Formuláře (filled text field + floating label) --------------- */
.form-control, .form-select {
	--bs-border-color: var(--md-outline);
	background-color: var(--md-surface-1); color: var(--md-on-surface);
	border: 1px solid transparent; border-bottom: 2px solid var(--md-outline);
	border-radius: var(--md-radius-s) var(--md-radius-s) 0 0;
	transition: background-color .2s, border-color .2s, box-shadow .2s;
}
.form-control:hover, .form-select:hover { background-color: var(--md-surface-2); }
.form-control:focus, .form-select:focus {
	background-color: var(--md-surface-1); color: var(--md-on-surface);
	border-color: transparent; border-bottom-color: var(--md-primary); box-shadow: 0 1px 0 0 var(--md-primary);
}
.form-control::placeholder { color: var(--md-on-surface-variant); opacity: .7; }
.form-control:disabled, .form-control[readonly] { background-color: var(--md-surface-1); opacity: .65; }
.form-floating > label { color: var(--md-on-surface-variant); }
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-select ~ label { color: var(--md-on-surface-variant); }
.form-floating > .form-control:focus ~ label { color: var(--md-primary); }
.form-floating > .form-control:focus ~ label::after,
.form-floating > .form-control:not(:placeholder-shown) ~ label::after,
.form-floating > .form-select ~ label::after { background: transparent; }
.form-floating > textarea.form-control { min-height: 9rem; }
.form-label { font-size: .85rem; color: var(--md-on-surface-variant); font-weight: 500; }
.form-text { color: var(--md-on-surface-variant); }
.form-check-input { border-color: var(--md-outline); background-color: transparent; }
.form-check-input:checked { background-color: var(--md-primary); border-color: var(--md-primary); }
.form-check-input:focus { border-color: var(--md-primary); box-shadow: 0 0 0 .2rem var(--bs-focus-ring-color); }
[data-bs-theme="dark"] .form-select { --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23b4bdc0' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); }

.form-panel { background: var(--md-surface); border-radius: var(--md-radius-l); padding: 1.25rem; box-shadow: var(--md-shadow-1); }
.form-panel + .form-panel { margin-top: 1.5rem; }
.form-panel-danger { box-shadow: none; border: 1px solid color-mix(in srgb, var(--md-error) 40%, transparent); }
@media (min-width: 768px) { .form-panel { padding: 2rem; } }

/* ---------- Komentáře a reference --------------------------------------- */
.quote-card .quote-icon { color: var(--md-primary); opacity: .55; }
.quote-card blockquote { margin: .5rem 0 1rem; font-size: 1.05rem; }
.quote-card .quote-by { display: flex; align-items: center; gap: .75rem; }
.avatar {
	display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; flex: none;
	background: var(--md-primary-container); color: var(--md-on-primary-container); font-weight: 500; text-transform: uppercase;
}
.quote-by small { color: var(--md-on-surface-variant); display: block; line-height: 1.3; }
.stack { display: grid; gap: 1rem; }

/* ---------- Snackbar (hlášky) ------------------------------------------- */
.snackbar-stack {
	position: fixed; z-index: 1090; left: 0; right: 0; bottom: 0; display: grid; justify-items: center; gap: .5rem;
	padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom, 0px)); pointer-events: none;
}
.snackbar {
	display: flex; align-items: center; gap: .75rem; width: 100%; max-width: 34rem; padding: .85rem 1.1rem;
	background: var(--md-inverse-surface); color: var(--md-inverse-on-surface); border-radius: var(--md-radius-s);
	box-shadow: var(--md-shadow-2); pointer-events: auto; font-size: .95rem;
	animation: snack-in .25s ease-out;
}
.snackbar.is-leaving { opacity: 0; transform: translateY(.5rem); transition: opacity .2s, transform .2s; }
.snackbar::before { content: ""; width: .6rem; height: .6rem; flex: none; border-radius: 50%; background: var(--snack-accent, var(--md-outline)); }
.snackbar-green  { --snack-accent: #6fcf97; }
.snackbar-red    { --snack-accent: #ff8a80; }
.snackbar-yellow { --snack-accent: #f2c94c; }
.snackbar-close { margin-left: auto; border: 0; background: transparent; color: inherit; opacity: .7; padding: 0; line-height: 0; }
.snackbar-close:hover { opacity: 1; }
@keyframes snack-in { from { opacity: 0; transform: translateY(.75rem); } }

/* ---------- Modal -------------------------------------------------------- */
.modal-content { background: var(--md-surface); border: 0; border-radius: var(--md-radius-xl); box-shadow: var(--md-shadow-2); }
.modal-header, .modal-footer { border: 0; padding: 1.5rem 1.5rem .5rem; }
.modal-footer { padding: .5rem 1rem 1rem; gap: .25rem; }
.modal-body { padding: .5rem 1.5rem 1rem; color: var(--md-on-surface-variant); }
.modal-title { font-size: 1.4rem; }

/* ---------- Patička ------------------------------------------------------ */
.site-footer { margin-top: auto; background: var(--md-surface-1); }
.site-footer .container { max-width: 72rem; padding: 1.5rem 1rem calc(1.5rem + env(safe-area-inset-bottom, 0px)); }
.site-footer .footer-inner { display: flex; flex-direction: column; gap: 1rem; align-items: flex-start; }
.site-footer .footer-brand { font-weight: 500; }
.site-footer .footer-brand small { display: block; font-weight: 400; color: var(--md-on-surface-variant); }
.site-footer .footer-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
@media (min-width: 576px) { .site-footer .footer-inner { flex-direction: row; justify-content: space-between; align-items: center; } }

/* Alert / hlášky ve views */
.state-title-error { color: var(--md-error); }
.state-title-success { color: var(--md-success); }
.state-title-warning { color: var(--md-warning); }
.text-success { color: var(--md-success) !important; }
.text-danger { color: var(--md-error) !important; }
.text-warning { color: var(--md-warning) !important; }
.text-muted, .text-secondary { color: var(--md-on-surface-variant) !important; }

.empty-state { text-align: center; padding: 3rem 1rem; color: var(--md-on-surface-variant); }
.error-code { font-size: clamp(4rem, 3rem + 8vw, 8rem); font-weight: 300; letter-spacing: -.04em; color: var(--md-primary); line-height: 1; }

/* ---------- Editor / administrace --------------------------------------- */
.manage-list { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .5rem; }
.manage-item {
	display: flex; align-items: center; gap: .25rem; padding: .35rem .35rem .35rem 1rem; min-height: 3.25rem;
	background: var(--md-surface); border: 1px solid var(--md-outline-variant); border-radius: var(--md-radius-m);
}
.manage-item > a.manage-link { flex: 1; min-width: 0; text-decoration: none; color: var(--md-on-surface); overflow-wrap: anywhere; padding: .35rem 0; }
.manage-item .btn-icon { color: var(--md-on-surface-variant); }
.manage-item .btn-icon:hover { background: var(--md-surface-2); color: var(--md-on-surface); }
.manage-item .btn-icon.is-danger:hover { color: var(--md-error); }
.manage-group { margin: 0 0 .5rem; padding-left: .75rem; border-left: 2px solid var(--md-outline-variant); }
.manage-group-title { font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: var(--md-on-surface-variant); margin: 1rem 0 .5rem; }

.stats-actions a { text-decoration: none; }

/* TinyMCE v tmavém režimu zůstane světlý, jen ho zaoblíme */
.tox-tinymce { border-radius: var(--md-radius-m) !important; border-color: var(--md-outline-variant) !important; }

/* ---------- Pomocné ------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
@media print {
	.appbar, .site-footer, .snackbar-stack { display: none !important; }
	body { background: #fff; }
}


/* ==========================================================================
   v2 – "Glass": lehčí, tenčí, průsvitné povrchy nad barevnou scénou
   (přepisuje hodnoty výše; třídy zůstávají stejné)
   ========================================================================== */
:root, [data-bs-theme="light"] {
	--glass: rgb(255 255 255 / .52);
	--glass-strong: rgb(255 255 255 / .72);
	--glass-border: rgb(255 255 255 / .75);
	--glass-edge: rgb(25 60 70 / .10);
	--glass-shadow: 0 8px 32px rgb(30 70 85 / .10);
	--scene-1: #9fd9e6; --scene-2: #c7b8f0; --scene-3: #f2d3c4;
	--md-bg: #eef4f6;
	--bs-body-bg: #eef4f6;
	--bs-body-line-height: 1.7;
}
[data-bs-theme="dark"] {
	--glass: rgb(28 38 43 / .50);
	--glass-strong: rgb(28 38 43 / .72);
	--glass-border: rgb(255 255 255 / .12);
	--glass-edge: rgb(0 0 0 / .35);
	--glass-shadow: 0 8px 32px rgb(0 0 0 / .35);
	--scene-1: #14556a; --scene-2: #3b2f74; --scene-3: #5a3a3a;
	--md-bg: #0b1012;
	--bs-body-bg: #0b1012;
}
:root { --glass-blur: blur(18px) saturate(1.5); --md-radius-l: .9rem; --md-radius-xl: 1.1rem; --md-radius-m: .6rem; --appbar-h: 3.25rem; }

body { font-size: .95rem; font-weight: 300; background: var(--md-bg); }
b, strong, .fw-medium { font-weight: 500; }

/* Barevná scéna s parallaxou (dist/js/parallax.js) */
.bg-scene { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; background: var(--md-bg); }
.bg-scene i {
	position: absolute; display: block; border-radius: 50%; filter: blur(70px); opacity: .75;
	will-change: transform;
}
.bg-scene i:nth-child(1) { width: 46rem; height: 46rem; left: -14rem; top: -12rem; background: var(--scene-1); }
.bg-scene i:nth-child(2) { width: 38rem; height: 38rem; right: -12rem; top: 28vh; background: var(--scene-2); }
.bg-scene i:nth-child(3) { width: 34rem; height: 34rem; left: 20vw; bottom: -16rem; background: var(--scene-3); opacity: .6; }
@media (max-width: 575.98px) { .bg-scene i { filter: blur(50px); } .bg-scene i:nth-child(1) { width: 26rem; height: 26rem; } .bg-scene i:nth-child(2) { width: 22rem; height: 22rem; } .bg-scene i:nth-child(3) { width: 20rem; height: 20rem; } }

/* Typografie – tenčí a menší */
h1, h2, h3, h4, h5, h6 { font-weight: 300; letter-spacing: -.02em; }
h1, .h1 { font-size: clamp(1.9rem, 1.3rem + 2.6vw, 3rem); font-weight: 200; letter-spacing: -.035em; }
h2, .h2 { font-size: clamp(1.35rem, 1.1rem + 1.2vw, 1.8rem); }
h3, .h3 { font-size: clamp(1.15rem, 1rem + .8vw, 1.4rem); }
h4, .h4 { font-size: 1.05rem; font-weight: 400; }
h5, .h5 { font-size: .95rem; font-weight: 400; }
.page-lead, .hero .lead { font-size: 1rem; font-weight: 300; }
.eyebrow { font-size: .68rem; letter-spacing: .2em; font-weight: 400; }
.page { padding-block: 1.25rem 3rem; }
@media (min-width: 768px) { .page { padding-block: 2rem 4rem; } }
.hero { padding: 1.75rem 0 1rem; }
@media (min-width: 768px) { .hero { padding: 3rem 0 1.5rem; } }
.section-title { margin: 2rem 0 .85rem; }
.divider { border-top-color: var(--glass-edge); }

/* Skleněné povrchy */
.appbar, .card, .form-panel, .table-wrap, .disclosure details, .list-group,
.dropdown-menu, .offcanvas, .modal-content, .snackbar, .manage-item, .site-footer {
	background: var(--glass);
	-webkit-backdrop-filter: var(--glass-blur);
	backdrop-filter: var(--glass-blur);
	border: 1px solid var(--glass-border);
	box-shadow: var(--glass-shadow), inset 0 1px 0 rgb(255 255 255 / .35);
}
[data-bs-theme="dark"] .appbar, [data-bs-theme="dark"] .card, [data-bs-theme="dark"] .form-panel,
[data-bs-theme="dark"] .table-wrap, [data-bs-theme="dark"] .disclosure details, [data-bs-theme="dark"] .list-group,
[data-bs-theme="dark"] .dropdown-menu, [data-bs-theme="dark"] .offcanvas, [data-bs-theme="dark"] .modal-content,
[data-bs-theme="dark"] .snackbar, [data-bs-theme="dark"] .manage-item, [data-bs-theme="dark"] .site-footer {
	box-shadow: var(--glass-shadow), inset 0 1px 0 rgb(255 255 255 / .06);
}
.appbar { border-width: 0 0 1px; box-shadow: none; background: var(--glass); }
.site-footer { border-width: 1px 0 0; border-radius: 0; box-shadow: none; }
.card-flat { background: var(--glass); box-shadow: var(--glass-shadow); }
.card-outlined { background: transparent; }
.card { --bs-card-spacer-x: 1.1rem; --bs-card-spacer-y: 1.1rem; }
.card-title { font-weight: 400; }
a.card:hover, a.card:focus-visible { transform: translateY(-2px); background: var(--glass-strong); box-shadow: 0 14px 40px rgb(30 70 85 / .16); }
.card-icon { width: 2.4rem; height: 2.4rem; margin-bottom: .75rem; border-radius: 50%; background: transparent; border: 1px solid var(--md-primary); color: var(--md-primary); }
.card-icon .icon { width: 1.2rem; height: 1.2rem; }
.form-panel { padding: 1.1rem; } @media (min-width: 768px) { .form-panel { padding: 1.6rem; } }
.offcanvas { border-radius: 0; } 
@media (max-width: 767.98px) { .offcanvas { border-radius: var(--md-radius-xl) 0 0 var(--md-radius-xl); } }
.modal-content { border-radius: var(--md-radius-xl); }
.disclosure details[open] { background: var(--glass-strong); }
.dropdown-menu { --bs-dropdown-bg: transparent; }

/* App bar a navigace – subtilnější */
.brand-mark { width: 1.6rem; height: 1.6rem; font-size: .8rem; font-weight: 400; background: transparent; border: 1px solid var(--md-primary); color: var(--md-primary); }
.navbar-brand { font-size: 1.05rem; font-weight: 400; letter-spacing: .02em; }
.navbar .nav-link { font-size: .88rem; font-weight: 400; padding-block: .4rem; }
.navbar .nav-link.active { background: var(--glass-strong); box-shadow: inset 0 0 0 1px var(--glass-border); color: var(--md-on-surface); }
.navbar .nav-link:hover { background: var(--glass); }
.appbar-toggle:hover { background: var(--glass); }

/* Tlačítka – tenčí */
.btn { --bs-btn-padding-y: .42rem; --bs-btn-padding-x: 1.1rem; --bs-btn-font-size: .86rem; --bs-btn-font-weight: 400; letter-spacing: .02em; }
.btn-lg { --bs-btn-padding-y: .55rem; --bs-btn-padding-x: 1.4rem; --bs-btn-font-size: .92rem; }
.btn-sm { --bs-btn-padding-y: .25rem; --bs-btn-padding-x: .8rem; --bs-btn-font-size: .8rem; }
.btn-primary { background-image: linear-gradient(135deg, color-mix(in srgb, var(--md-primary) 100%, #fff 12%), color-mix(in srgb, var(--md-primary) 100%, #6a5acd 22%)); box-shadow: 0 4px 16px color-mix(in srgb, var(--md-primary) 35%, transparent); }
.btn-tonal, .btn-outline-secondary, .btn-outline-primary, .btn-outline-danger {
	--bs-btn-bg: var(--glass); --bs-btn-border-color: var(--glass-border);
	-webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
}
.btn-tonal { --bs-btn-hover-bg: var(--glass-strong); --bs-btn-active-bg: var(--glass-strong); --bs-btn-color: var(--md-on-surface); --bs-btn-hover-color: var(--md-on-surface); --bs-btn-active-color: var(--md-on-surface); --bs-btn-hover-border-color: var(--md-outline); --bs-btn-active-border-color: var(--md-outline); }
.btn-outline-danger { --bs-btn-hover-bg: var(--md-error); }
.btn-text, .btn-link { --bs-btn-hover-bg: var(--glass); --bs-btn-active-bg: var(--glass-strong); --bs-btn-hover-color: var(--md-primary); }
.btn-icon { width: 2.1rem; height: 2.1rem; }

/* Formulářová pole – hairline sklo */
.form-control, .form-select {
	background: rgb(255 255 255 / .35); border: 1px solid var(--glass-edge); border-bottom-width: 1px; border-radius: var(--md-radius-m);
	font-weight: 300; box-shadow: none;
}
[data-bs-theme="dark"] .form-control, [data-bs-theme="dark"] .form-select { background: rgb(255 255 255 / .05); border-color: var(--glass-border); }
.form-control:hover, .form-select:hover { background: rgb(255 255 255 / .5); }
[data-bs-theme="dark"] .form-control:hover, [data-bs-theme="dark"] .form-select:hover { background: rgb(255 255 255 / .08); }
.form-control:focus, .form-select:focus { background: var(--glass-strong); border-color: var(--md-primary); box-shadow: 0 0 0 3px var(--bs-focus-ring-color); }
.form-floating > label { font-weight: 300; font-size: .9rem; }
.form-floating > .form-control, .form-floating > .form-select { min-height: 3.2rem; height: 3.2rem; }
.form-floating > .form-control:focus ~ label, .form-floating > .form-control:not(:placeholder-shown) ~ label, .form-floating > .form-select ~ label { transform: scale(.78) translateY(-.55rem) translateX(.15rem); }
.form-floating > textarea.form-control { height: auto; min-height: 8rem; }

/* Tabulky, záložky, chipy */
.table thead th { background: transparent; font-weight: 400; font-size: .72rem; }
.table > :not(caption) > * > * { padding: .65rem .9rem; }
.nav-tabs { border-bottom-color: var(--glass-edge); }
.nav-tabs .nav-link { font-weight: 400; font-size: .88rem; padding: .6rem .95rem; }
.nav-tabs .nav-link:hover { background: var(--glass); }
.chip { background: var(--glass-strong); box-shadow: inset 0 0 0 1px var(--glass-border); font-weight: 400; font-size: .72rem; }
.disclosure summary { padding: .7rem 1rem; font-weight: 400; }
.disclosure .disclosure-body { padding: 0 1rem .85rem; }
.manage-item { min-height: 2.8rem; box-shadow: none; }

/* Hero a banner */
.hero h1 { margin-bottom: .75rem; }
.feature-grid { gap: .85rem; }
.photo-banner { aspect-ratio: 16 / 8; max-height: 22rem; background: transparent; border-bottom: 1px solid var(--glass-border); }
.photo-banner img { height: 125%; will-change: transform; }
@media (min-width: 768px) { .photo-banner { border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); } }

/* ---------- Časová osa v2: sklo + parallax ------------------------------- */
.timeline { position: relative; padding: 0; border: 0; }
.timeline::before {
	content: ""; position: absolute; top: 0; bottom: 0; left: .55rem; width: 1px;
	background: linear-gradient(transparent, var(--md-primary) 8%, var(--md-primary) 92%, transparent); opacity: .55;
}
.timeline-item { position: relative; padding: 0 0 1.1rem 2rem; }
.timeline-item::before {
	left: .55rem; top: 1.35rem; transform: translateX(-50%); width: .6rem; height: .6rem;
	background: var(--md-bg); border: 1px solid var(--md-primary); box-shadow: 0 0 0 4px color-mix(in srgb, var(--md-primary) 18%, transparent), 0 0 14px var(--md-primary);
}
.timeline-card {
	padding: 1rem 1.15rem; border-radius: var(--md-radius-l); background: var(--glass); border: 1px solid var(--glass-border);
	-webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: var(--glass-shadow), inset 0 1px 0 rgb(255 255 255 / .3);
}
.timeline-year { font-size: 1.6rem; font-weight: 200; letter-spacing: -.03em; margin: 0 0 .35rem; color: var(--md-primary); }
.timeline-item li { padding: .15rem 0; font-size: .9rem; }
.timeline-item li strong { font-weight: 500; }

/* Reveal při scrollu (JS přidá .in) */
.js .reveal { opacity: 0; transition: opacity .7s ease; }
.js .reveal.in { opacity: 1; }

@media (min-width: 992px) {
	.timeline::before { left: 50%; }
	.timeline-item { width: 50%; padding: 0 2.5rem 1.5rem 0; }
	.timeline-item::before { left: auto; right: 0; transform: translateX(50%); top: 1.5rem; }
	.timeline-item:nth-child(even) { margin-left: 50%; padding: 0 0 1.5rem 2.5rem; }
	.timeline-item:nth-child(even)::before { right: auto; left: 0; transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
	.js .reveal { opacity: 1; transition: none; }
}


/* ==========================================================================
   v3 – Celostránkový fixní obrázek (backdrop) + scroll-driven animace
   ========================================================================== */
.backdrop { position: fixed; inset: 0; height: 100lvh; z-index: -1; overflow: hidden; background: #0b1012; }
.backdrop img {
	position: absolute; inset: -8% 0; width: 100%; height: 116%; object-fit: cover; object-position: 50% 40%;
	transform: translate3d(0, 0, 0) scale(1.06); will-change: transform; filter: saturate(1.05);
}
.backdrop-scrim {
	position: absolute; inset: 0; will-change: opacity;
	background: linear-gradient(180deg, rgb(8 14 18 / .25) 0%, rgb(8 14 18 / .35) 55%, rgb(8 14 18 / .6) 100%);
}
[data-bs-theme="light"] .backdrop-scrim { background: linear-gradient(180deg, rgb(8 14 18 / .15), rgb(238 244 246 / .25) 60%, rgb(238 244 246 / .5)); }

/* Úvodní plná obrazovka s titulkem přes fotku */
.hero-full {
	position: relative; min-height: calc(100svh - var(--appbar-h)); display: flex; align-items: flex-end;
	padding: 0 1rem 12vh; max-width: 72rem; margin-inline: auto;
}
.hero-full-inner { max-width: 38rem; color: #fff; text-shadow: 0 2px 24px rgb(0 0 0 / .45); }
.hero-full h1 { color: #fff; font-size: clamp(2.4rem, 1.4rem + 5vw, 5rem); font-weight: 200; letter-spacing: -.04em; margin-bottom: .6rem; }
.hero-full .eyebrow { color: rgb(255 255 255 / .85); }
.hero-full .lead { font-size: 1.05rem; color: rgb(255 255 255 / .9); margin-bottom: 1.25rem; }
.hero-full .btn-tonal { --bs-btn-color: #fff; --bs-btn-hover-color: #fff; --bs-btn-bg: rgb(255 255 255 / .14); --bs-btn-border-color: rgb(255 255 255 / .4); text-shadow: none; }
.photo-credit {
	position: absolute; right: 1rem; bottom: 1rem; font-size: .68rem; letter-spacing: .04em; color: rgb(255 255 255 / .75);
	writing-mode: vertical-rl; transform: rotate(180deg); text-shadow: 0 1px 6px rgb(0 0 0 / .6);
}
/* Obsah jako skleněný panel nad fotkou */
.page-over { max-width: 56rem; }
.page-over > :not(.timeline):not(.divider) { position: relative; }
@media (min-width: 768px) {
	.page-over { margin-top: 0; padding-top: 2rem; }
}
.page-over > p, .page-over > .check-list, .page-over > h2, .page-over > h3 { text-shadow: none; }
.page-over > p:not(.eyebrow), .page-over > .check-list {
	background: var(--glass); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
	border: 1px solid var(--glass-border); border-radius: var(--md-radius-l); padding: 1rem 1.15rem; max-width: none;
}
.page-over > h2 { display: inline-block; padding: .35rem .9rem; border-radius: 999px; background: var(--glass); border: 1px solid var(--glass-border); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); }

/* Moderní scroll-driven animace (bez JS) */
@supports (animation-timeline: scroll()) {
	@keyframes bd-drift { to { transform: translate3d(0, -7%, 0) scale(1.16); } }
	@keyframes bd-scrim { from { opacity: .55; } to { opacity: 1; } }
	@keyframes hero-out { to { opacity: 0; transform: translate3d(0, -40px, 0); } }
	.backdrop img { animation: bd-drift linear both; animation-timeline: scroll(root); }
	.backdrop-scrim { animation: bd-scrim linear both; animation-timeline: scroll(root); animation-range: 0 90vh; }
	.hero-full-inner { animation: hero-out linear both; animation-timeline: view(); animation-range: exit 0% exit 70%; }
}
@media (prefers-reduced-motion: reduce) {
	.backdrop img, .backdrop-scrim, .hero-full-inner { animation: none !important; }
}


.timeline-card { will-change: transform; }

/* Nové obsahové bloky (home, a-s-e) */
.hero-home { min-height: calc(78svh - var(--appbar-h)); }
.hero-home .hero-full-inner { max-width: 44rem; }
.home-card { margin-top: 0; }
.home-card .card-body { padding: 1.25rem 1.35rem 1.35rem; }
.home-card p { max-width: none; font-size: 1rem; }
@media (min-width: 768px) { .home-card .card-body { padding: 1.75rem 2rem 2rem; } }
.gear-list { display: grid; gap: 0 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 576px) { .gear-list { grid-template-columns: repeat(2, 1fr); } }

/* Rozmazané barevné skvrny na pozadí vypnuty */
.bg-scene i { display: none; }


/* ==========================================================================
   v5 – Menu: tichá textová lišta (desktop) + spodní navigace (mobil)
   Sklo je na ::before / na samotném fixním prvku, nikdy na rodiči s fixními potomky.
   ========================================================================== */
.topbar { position: sticky; top: 0; z-index: 1030; isolation: isolate; padding-top: env(safe-area-inset-top, 0px); }
.topbar::before {
	content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .3s;
	background: var(--glass-strong); border-bottom: 1px solid var(--glass-border);
	-webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
}
.topbar.is-scrolled::before { opacity: 1; }
.topbar-inner { display: flex; align-items: center; justify-content: space-between; max-width: 72rem; min-height: 3.5rem; margin-inline: auto; padding-inline: 1rem; }

.brand { display: inline-flex; align-items: center; gap: .55rem; color: var(--md-on-surface); text-decoration: none; font-size: 1.05rem; }
.brand-word { letter-spacing: .08em; font-weight: 300; }
.brand-mark { width: 1.6rem; height: 1.6rem; font-size: .8rem; font-weight: 400; background: transparent; border: 1px solid var(--md-primary); color: var(--md-primary); }

.nav-desktop { align-items: center; gap: .15rem; }
.nav-desktop .nl {
	position: relative; padding: .5rem .8rem; font-size: .86rem; letter-spacing: .03em; font-weight: 400;
	color: var(--md-on-surface-variant); text-decoration: none; transition: color .2s;
}
.nav-desktop .nl::after {
	content: ""; position: absolute; left: .8rem; right: .8rem; bottom: .2rem; height: 1px; background: currentColor;
	transform: scaleX(0); transition: transform .3s cubic-bezier(.3, .8, .3, 1);
}
.nav-desktop .nl:hover, .nav-desktop .nl:focus-visible, .nav-desktop .nl.show { color: var(--md-on-surface); }
.nav-desktop .nl:hover::after, .nav-desktop .nl:focus-visible::after, .nav-desktop .nl.active::after { transform: scaleX(1); }
.nav-desktop .nl.active { color: var(--md-primary); }
.nav-desktop .dropdown-toggle::after { display: none; }
.nav-desktop .dropdown-toggle::before { content: none; }

/* Nad fotkou (před odrolováním) bílé písmo */
.has-backdrop .topbar:not(.is-scrolled) .brand,
.has-backdrop .topbar:not(.is-scrolled) .nl { color: rgb(255 255 255 / .88); text-shadow: 0 1px 10px rgb(0 0 0 / .45); }
.has-backdrop .topbar:not(.is-scrolled) .nl:hover,
.has-backdrop .topbar:not(.is-scrolled) .nl.active { color: #fff; }
.has-backdrop .topbar:not(.is-scrolled) .brand-mark { border-color: rgb(255 255 255 / .8); color: #fff; }

/* Rozbalovací menu uživatele (jen desktop) */
.dropdown-menu {
	min-width: 13rem; margin-top: .4rem !important; padding: .35rem; border-radius: 1rem;
	background: var(--glass-strong) !important; border: 1px solid var(--glass-border);
	-webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
	box-shadow: 0 18px 50px rgb(20 50 65 / .18);
}
.dropdown-item { display: flex; align-items: center; gap: .7rem; padding: .5rem .65rem; border-radius: .7rem; font-size: .9rem; font-weight: 400; }
.dropdown-item:hover { background: var(--glass); }
.di-icon { display: grid; place-items: center; width: 2rem; height: 2rem; flex: none; border-radius: 50%; border: 1px solid var(--glass-border); background: var(--glass); color: var(--md-primary); }
.di-icon .icon { width: 1rem; height: 1rem; }

/* Mobil: horní lišta jen s logem, ovládání dole */
.bottom-nav {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030; display: grid; grid-template-columns: repeat(var(--n, 5), 1fr);
	padding: .35rem .35rem calc(.35rem + env(safe-area-inset-bottom, 0px));
	background: var(--glass-strong); border-top: 1px solid var(--glass-border);
	-webkit-backdrop-filter: blur(24px) saturate(1.6); backdrop-filter: blur(24px) saturate(1.6);
}
.bn-item {
	display: flex; flex-direction: column; align-items: center; gap: .15rem; padding: .15rem 0; min-width: 0;
	color: var(--md-on-surface-variant); font: inherit; font-size: .66rem; font-weight: 400; letter-spacing: .02em;
	text-decoration: none; background: none; border: 0; -webkit-tap-highlight-color: transparent;
}
.bn-ico { display: grid; place-items: center; width: 3.5rem; height: 1.75rem; border-radius: 999px; transition: background .25s, color .25s; }
.bn-ico .icon { width: 1.25rem; height: 1.25rem; }
.bn-item:active .bn-ico { background: var(--glass); }
.bn-item.active { color: var(--md-on-surface); }
.bn-item.active .bn-ico { background: color-mix(in srgb, var(--md-primary) 20%, transparent); color: var(--md-primary); }
@media (max-width: 767.98px) {
	body { padding-bottom: calc(3.9rem + env(safe-area-inset-bottom, 0px)); }
	.snackbar-stack { bottom: calc(3.9rem + env(safe-area-inset-bottom, 0px)); padding-bottom: 1rem; }
}

/* Panel "Více" (spodní list) */
.more-sheet {
	--bs-offcanvas-height: auto; padding: .5rem .5rem calc(.75rem + env(safe-area-inset-bottom, 0px));
	border-radius: 1.4rem 1.4rem 0 0 !important; border: 1px solid var(--glass-border) !important; border-bottom: 0 !important;
	background: var(--glass-strong) !important;
	-webkit-backdrop-filter: blur(28px) saturate(1.6); backdrop-filter: blur(28px) saturate(1.6);
}
.sheet-handle { width: 2.25rem; height: .25rem; margin: .25rem auto .5rem; border-radius: 999px; background: var(--md-outline-variant); }
.sheet-link { display: flex; align-items: center; gap: .9rem; padding: .7rem .9rem; border-radius: .9rem; color: var(--md-on-surface); text-decoration: none; font-size: 1rem; font-weight: 300; }
.sheet-link small { margin-left: auto; color: var(--md-on-surface-variant); font-size: .75rem; }
.sheet-link:active, .sheet-link.active { background: var(--glass); }
.sheet-link.active .di-icon { background: var(--md-primary); color: var(--md-on-primary); }
@media print { .topbar, .bottom-nav, .more-sheet { display: none !important; } }


/* Snackbar (hlášky): pevné kontrastní pozadí místo skla – čitelné v obou režimech */
.snackbar {
	background: var(--md-inverse-surface);
	color: var(--md-inverse-on-surface);
	-webkit-backdrop-filter: none; backdrop-filter: none;
	border: 1px solid rgb(255 255 255 / .08);
	box-shadow: 0 8px 28px rgb(0 0 0 / .32);
	font-size: .95rem; font-weight: 400; line-height: 1.4;
	padding: .8rem 1rem .8rem 1.1rem;
}
[data-bs-theme="dark"] .snackbar { border-color: rgb(0 0 0 / .12); box-shadow: 0 8px 28px rgb(0 0 0 / .5); }
.snackbar::before { width: .55rem; height: .55rem; box-shadow: 0 0 0 3px color-mix(in srgb, var(--snack-accent, var(--md-outline)) 30%, transparent); }
.snackbar-green  { --snack-accent: #2e9e5b; }
.snackbar-red    { --snack-accent: #d93a3a; }
.snackbar-yellow { --snack-accent: #c28a00; }
[data-bs-theme="dark"] .snackbar-green  { --snack-accent: #1f7a45; }
[data-bs-theme="dark"] .snackbar-red    { --snack-accent: #c0302f; }
[data-bs-theme="dark"] .snackbar-yellow { --snack-accent: #9a6d00; }
.snackbar-close { opacity: .75; }
.snackbar-close:hover, .snackbar-close:focus-visible { opacity: 1; }


/* Snackbar: téměř pevné pozadí (čitelnost) + průsvitný skleněný okraj */
.snackbar {
	background: color-mix(in srgb, var(--md-inverse-surface) 92%, transparent);
	-webkit-backdrop-filter: blur(14px) saturate(1.4); backdrop-filter: blur(14px) saturate(1.4);
	border: 1px solid rgb(255 255 255 / .28);
	box-shadow: 0 8px 28px rgb(0 0 0 / .30), inset 0 1px 0 rgb(255 255 255 / .22);
}
[data-bs-theme="dark"] .snackbar {
	border: 1px solid rgb(255 255 255 / .55);
	box-shadow: 0 8px 28px rgb(0 0 0 / .45), inset 0 1px 0 rgb(255 255 255 / .6);
}


/* ==========================================================================
   v6 – Formuláře: popisek nad polem, stavy validace, přilepená lišta, sekce
   ========================================================================== */
:root, [data-bs-theme="light"] { --field-edge: rgb(25 60 70 / .26); --field-bg: rgb(255 255 255 / .55); }
[data-bs-theme="dark"] { --field-edge: rgb(255 255 255 / .20); --field-bg: rgb(255 255 255 / .06); }

.field { display: grid; gap: .4rem; min-width: 0; align-content: start; }
.field > .form-label, .form-label { margin: 0; font-size: .78rem; font-weight: 400; letter-spacing: .05em; color: var(--md-on-surface-variant); transition: color .2s; }
.field:focus-within > .form-label { color: var(--md-primary); }
.req::after { content: ""; display: inline-block; width: .34rem; height: .34rem; margin-left: .35rem; border-radius: 50%; background: var(--md-primary); vertical-align: .18em; }
.form-note .req::after { margin: 0 .35rem 0 0; }

.form-control, .form-select {
	min-height: 2.75rem; padding: .6rem .85rem; font-size: .95rem; font-weight: 300; color: var(--md-on-surface);
	background-color: var(--field-bg); border: 1px solid var(--field-edge); border-radius: .75rem; box-shadow: none;
	transition: border-color .2s, box-shadow .2s, background-color .2s;
}
.form-control:hover, .form-select:hover { border-color: color-mix(in srgb, var(--md-primary) 45%, var(--field-edge)); background-color: var(--field-bg); }
.form-control:focus, .form-select:focus {
	background-color: var(--glass-strong); border-color: var(--md-primary); box-shadow: 0 0 0 3px var(--bs-focus-ring-color); outline: 0;
}
.form-control::placeholder { color: var(--md-on-surface-variant); opacity: .6; }
.form-select { padding-right: 2.4rem; }
textarea.form-control { min-height: 8rem; max-height: 26rem; resize: vertical; field-sizing: content; }
input[type="date"].form-control { min-height: 2.75rem; }
.form-text { margin: 0; font-size: .76rem; color: var(--md-on-surface-variant); }

/* Stavy validace */
.field-msg { display: none; font-size: .78rem; line-height: 1.35; color: var(--md-error); }
.field.has-error .field-msg { display: flex; gap: .4rem; align-items: flex-start; }
.field.has-error .field-msg::before {
	content: "!"; flex: none; display: grid; place-items: center; width: 1rem; height: 1rem; margin-top: .05rem;
	border-radius: 50%; background: var(--md-error); color: var(--md-surface); font-size: .68rem; font-weight: 600; line-height: 1;
}
.field.has-error .form-control, .field.has-error .form-select { border-color: var(--md-error); box-shadow: 0 0 0 3px color-mix(in srgb, var(--md-error) 16%, transparent); }
.field.has-error > .form-label { color: var(--md-error); }
.field.is-ok .form-control, .field.is-ok .form-select { border-color: color-mix(in srgb, var(--md-success) 60%, var(--field-edge)); }
.field.is-ok > .form-label::after { content: "✓"; margin-left: .45rem; color: var(--md-success); font-weight: 600; }

/* Antispam jako doplňující otázka */
.field-antispam { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem .9rem; padding: .6rem .85rem; border: 1px dashed var(--field-edge); border-radius: .85rem; }
.field-antispam > .form-label { flex: 1 1 10rem; }
.field-antispam .form-control { flex: 0 0 6.5rem; width: 6.5rem; min-height: 2.35rem; text-align: center; letter-spacing: .12em; }
.field-antispam .field-msg { flex: 1 0 100%; }

/* Přepínač a zaškrtávátko */
.form-check-input { width: 1.15rem; height: 1.15rem; margin-top: .2rem; background-color: var(--field-bg); border: 1px solid var(--field-edge); }
.form-switch .form-check-input { width: 2.4rem; height: 1.35rem; margin-top: .1rem; }
.form-check-input:checked { background-color: var(--md-primary); border-color: var(--md-primary); }
.form-check-label { font-size: .92rem; font-weight: 300; }

/* Sekce dlouhých formulářů */
.form-section { display: grid; gap: 1rem; }
.form-section + .form-section { margin-top: 1.75rem; padding-top: 1.5rem; border-top: 1px solid var(--glass-edge); }
.form-section-title { margin: 0; font-size: .7rem; font-weight: 400; letter-spacing: .18em; text-transform: uppercase; color: var(--md-on-surface-variant); }

/* Přilepená lišta s tlačítky (nad spodní navigací na mobilu) */
.form-actions-sticky {
	position: sticky; bottom: calc(4.4rem + env(safe-area-inset-bottom, 0px)); z-index: 5;
	margin-top: 1.5rem; padding: .7rem .9rem; border-radius: 1rem;
	background: color-mix(in srgb, var(--md-surface) 88%, transparent); border: 1px solid var(--glass-border);
	-webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: var(--glass-shadow);
}
@media (min-width: 768px) { .form-actions-sticky { bottom: 1rem; } }

/* Odesílání: točící kolečko v tlačítku */
.btn.is-loading { position: relative; pointer-events: none; opacity: .85; }
.btn.is-loading::after { content: ""; width: 1em; height: 1em; margin-left: .15rem; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: btn-spin .7s linear infinite; }
@keyframes btn-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .btn.is-loading::after { animation-duration: 2s; } }


/* Formuláře: jemnější okraje a záře (méně výrazné) */
:root, [data-bs-theme="light"] { --field-edge: rgb(25 60 70 / .15); }
[data-bs-theme="dark"] { --field-edge: rgb(255 255 255 / .12); }

.form-control:hover, .form-select:hover { border-color: color-mix(in srgb, var(--md-primary) 28%, var(--field-edge)); }
.form-control:focus, .form-select:focus {
	border-color: color-mix(in srgb, var(--md-primary) 65%, var(--field-edge));
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--md-primary) 13%, transparent);
}
.field.has-error .form-control, .field.has-error .form-select {
	border-color: color-mix(in srgb, var(--md-error) 70%, var(--field-edge));
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--md-error) 9%, transparent);
}
.field.has-error .form-control:focus, .field.has-error .form-select:focus {
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--md-error) 14%, transparent);
}
.field.is-ok .form-control, .field.is-ok .form-select { border-color: color-mix(in srgb, var(--md-success) 38%, var(--field-edge)); }

/* zaškrtávátka a přepínače zůstanou dobře vidět i při světlejším okraji */
.form-check-input { border-color: color-mix(in srgb, var(--md-on-surface-variant) 45%, transparent); }
.form-check-input:focus { box-shadow: 0 0 0 2px color-mix(in srgb, var(--md-primary) 13%, transparent); border-color: var(--md-primary); }


/* ==========================================================================
   Carousel (reference) – nativní scroll-snap, bez knihovny
   ========================================================================== */
.carousel-wrap { margin: 2.5rem 0 1rem; }
.carousel-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .85rem; }
.carousel-head h2 { margin: 0; }
.carousel-controls { display: flex; gap: .4rem; }
.carousel-controls .btn[disabled] { opacity: .35; pointer-events: none; }
.carousel-wrap.is-static .carousel-controls, .carousel-wrap.is-static .carousel-dots { display: none; }

.carousel-track {
	display: flex; gap: 1rem; overflow-x: auto; overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory; scroll-padding-inline: .25rem; scrollbar-width: none; -webkit-overflow-scrolling: touch;
	padding: .35rem .25rem 1rem; margin-inline: -.25rem;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 .9rem, #000 calc(100% - .9rem), transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 .9rem, #000 calc(100% - .9rem), transparent 100%);
}
.carousel-track::-webkit-scrollbar { display: none; }
.carousel-track:focus-visible { outline: 2px solid var(--md-primary); outline-offset: 2px; border-radius: 1rem; }
.carousel-slide { flex: 0 0 min(88%, 26rem); scroll-snap-align: start; margin: 0; display: flex; flex-direction: column; }
.carousel-slide .card-body { display: flex; flex-direction: column; flex: 1; }
.carousel-slide blockquote { flex: 1; margin-bottom: 1rem; }
@media (min-width: 768px) { .carousel-slide { flex-basis: calc((100% - 1rem) / 2); } }

.carousel-foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.carousel-dots { display: flex; gap: .45rem; flex-wrap: wrap; min-height: 1.5rem; align-items: center; }
.carousel-dot {
	width: .5rem; height: .5rem; padding: 0; border: 0; border-radius: 999px; background: var(--md-outline-variant);
	transition: width .3s, background .3s; position: relative;
}
.carousel-dot::after { content: ""; position: absolute; inset: -.6rem -.25rem; }          /* větší dotyková plocha */
.carousel-dot.is-active { width: 1.4rem; background: var(--md-primary); }
@media (prefers-reduced-motion: reduce) { .carousel-dot { transition: none; } }

/* Carousel: oříznutí dlouhých citátů + "Zobrazit celé" */
.carousel-slide blockquote.quote-clamp {
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 7; line-clamp: 7; overflow: hidden;
}
.quote-more { align-self: flex-start; margin: -.5rem 0 .75rem -1rem; }
.quote-more[hidden] { display: none; }

/* Carousel: rozbalení jedné karty neprodlužuje ostatní */
.carousel-track { align-items: flex-start; }
.carousel-slide { min-height: var(--slide-h, 0); }

/* Carousel: čitelný nadpis, tečky i odkaz i nad fotkou (skleněný podklad) */
.carousel-head h2 {
	display: inline-block; padding: .4rem 1rem; border-radius: 999px; font-weight: 400; color: var(--md-on-surface);
	background: var(--glass-strong); border: 1px solid var(--glass-border);
	-webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: var(--glass-shadow);
}
.carousel-dots {
	padding: .45rem .7rem; border-radius: 999px; min-height: 0;
	background: var(--glass-strong); border: 1px solid var(--glass-border);
	-webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
}
.carousel-dot { background: color-mix(in srgb, var(--md-on-surface) 28%, transparent); }
.carousel-wrap.is-static .carousel-dots { display: none; }


/* Mobil: tlačítka v patičce skrytá (jsou ve spodní navigaci / v panelu "Více") */
@media (max-width: 767.98px) {
	.site-footer .footer-actions { display: none; }
}

/* ==========================================================================
   Rozbalovací seznamy (.disclosure): redakční styl – linky, plus/křížek, typografie
   (bez karet, bez barevných pruhů)
   ========================================================================== */
.disclosure {
	--rule: color-mix(in srgb, var(--md-on-surface) 16%, transparent);
	gap: 0; border-top: 1px solid var(--rule);
}
.disclosure > details,
[data-bs-theme="dark"] .disclosure > details {
	background: none; border: 0; border-bottom: 1px solid var(--rule); border-radius: 0; box-shadow: none;
	-webkit-backdrop-filter: none; backdrop-filter: none; transition: border-color .3s;
}
.disclosure > details[open] { background: none; }
.disclosure > details[open]:not(.is-closing) { border-bottom-color: color-mix(in srgb, var(--md-on-surface) 70%, transparent); }

.disclosure summary {
	justify-content: flex-start; gap: .75rem; padding: 1.05rem .1rem; font-size: 1.05rem; font-weight: 300;
	color: var(--md-on-surface); transition: color .25s, font-weight .25s;
}
.disclosure summary:hover { background: none; color: var(--md-primary); }
.disclosure > details[open]:not(.is-closing) > summary { font-weight: 400; color: var(--md-on-surface); }

/* plus -> křížek (dvě čáry), místo šipky */
.disclosure summary::after {
	content: ""; width: 1rem; height: 1rem; flex: none; margin: 0 .1rem 0 auto; border: 0;
	background:
		linear-gradient(currentColor, currentColor) center / 100% 1px no-repeat,
		linear-gradient(currentColor, currentColor) center / 1px 100% no-repeat;
	color: var(--md-on-surface-variant); transform: rotate(0deg);
	transition: transform .3s cubic-bezier(.3, .8, .3, 1), color .25s;
}
.disclosure summary:hover::after { color: var(--md-primary); }
.disclosure > details[open]:not(.is-closing) > summary::after { transform: rotate(45deg); color: var(--md-primary); }

/* vyrovnání se staršími pravidly pro [open] (otáčení šipky, barva okraje) při zavírání */
.disclosure > details[open] > summary::after { transform: rotate(0deg); }
.disclosure > details[open] { border-color: var(--rule); }

.disclosure .disclosure-body { margin: 0; padding: 0 2.4rem 1.4rem .1rem; border-top: 0; max-width: 64ch; color: var(--md-on-surface-variant); }
.disclosure .disclosure-body ul { padding-left: 1.1rem; }

@media (prefers-reduced-motion: reduce) {
	.disclosure > details, .disclosure summary, .disclosure summary::after { transition: none; }
}


/* ==========================================================================
   Malé zaoblení (3–4 px): karty, panely, pole, menu, modály; kulaté zůstává
   jen to, co má být kulaté (tlačítka, štítky, avatary, tečky, ikony)
   ========================================================================== */
:root, [data-bs-theme="light"], [data-bs-theme="dark"] {
	--md-radius-s: 2px;
	--md-radius-m: 3px;
	--md-radius-l: 4px;
	--md-radius-xl: 4px;
}
.dropdown-menu { border-radius: var(--md-radius-m); }
.dropdown-item { border-radius: var(--md-radius-s); }
.sheet-link { border-radius: var(--md-radius-m); }
.more-sheet { border-radius: var(--md-radius-xl) var(--md-radius-xl) 0 0 !important; }
.form-control, .form-select { border-radius: var(--md-radius-m); }
.field-antispam { border-radius: var(--md-radius-m); }
.form-actions-sticky { border-radius: var(--md-radius-l); }
.carousel-track:focus-visible { border-radius: var(--md-radius-l); }
.snackbar { border-radius: var(--md-radius-m); }
.page-over > h2, .carousel-head h2 { border-radius: var(--md-radius-m); }
.form-check-input[type="checkbox"] { border-radius: var(--md-radius-s); }
.chip { border-radius: 999px; }


/* Tlačítka a pilulky: stejné malé zaoblení jako karty (kulaté zůstávají jen tečky, avatary, ikonové kroužky) */
.btn, .btn-sm, .btn-lg { --bs-btn-border-radius: var(--md-radius-m); }
.btn-icon { border-radius: var(--md-radius-m); }
.chip { border-radius: var(--md-radius-s); }
.nav-pills .nav-link { border-radius: var(--md-radius-m); }
.bn-ico { border-radius: var(--md-radius-m); }
.carousel-dots { border-radius: var(--md-radius-m); }
.carousel-dot { border-radius: 1px; }
.sheet-handle { border-radius: 2px; }


/* ==========================================================================
   Logo Adaraneo (SVG písmeno A podle originálního loga, s neonovou září)
   ========================================================================== */
:root, [data-bs-theme="light"] { --logo-fill: #0b7a6c; --logo-glow: rgb(0 200 170 / .40); }
[data-bs-theme="dark"] { --logo-fill: #e6fff8; --logo-glow: rgb(0 229 200 / .85); }
.brand { gap: .65rem; }
.brand-logo {
	height: 1.75rem; width: auto; flex: none; fill: var(--logo-fill);
	filter: drop-shadow(0 0 3px var(--logo-glow)) drop-shadow(0 0 9px color-mix(in srgb, var(--logo-glow) 55%, transparent));
	transition: filter .35s;
}
.brand:hover .brand-logo, .brand:focus-visible .brand-logo {
	filter: drop-shadow(0 0 4px var(--logo-glow)) drop-shadow(0 0 14px var(--logo-glow));
}
/* nad fotkou (před odrolováním) vždy světlé s září */
.has-backdrop .topbar:not(.is-scrolled) .brand-logo { fill: #e6fff8; --logo-glow: rgb(0 229 200 / .85); }
@media (prefers-reduced-motion: reduce) { .brand-logo { transition: none; } }
