/* Fórum (forum.roleplay-activity.eu).
 *
 * Schválně jiný vzhled než staff nástroje (board, soud, dev): ty mají
 * průhledné panely na fotce a světle modrý akcent. Fórum se hlavně čte,
 * takže tady platí:
 *   - pevné tmavé plochy, žádná fotka pod textem,
 *   - jeden akcent — červená z loga — jen na to, co je klikací a důležité,
 *   - barvy stavů (čeká / schváleno / zamítnuto / soukromé) nic jiného nepoužívá —
 *     ani kategorie, ty se rozliší ikonou a názvem,
 *   - běžné písmo, žádné VERZÁLKY na tlačítkách.
 *
 * global.css nastavuje všem prvkům font-weight 400 a font-style normal,
 * proto má tady každý nadpis a tučný text váhu napsanou ručně.
 */

:root {
	--f-bg: #0e0e10;
	--f-panel: #161619;
	--f-raised: #1d1d21;
	--f-inset: #0b0b0d;
	--f-line: #26262c;
	--f-line-2: #36363d;

	--f-text: #ececef;
	--f-text-2: #a6a6b0;
	--f-text-3: #707079;

	--f-accent: #e5383b;
	--f-accent-hover: #f25255;
	--f-accent-soft: rgba(229, 56, 59, 0.14);

	--f-pending: #f2a93b;
	--f-approved: #4cc37a;
	--f-rejected: #f47c7c;
	--f-private: #a993f5;

	--f-radius: 12px;
}

/* ── Stránka ──────────────────────────────────────────────────────────────── */

/* Přebíjí fotku z global.css (background.js se tu nenačítá). */
body.forum-page {
	background: var(--f-bg);
	backdrop-filter: none;
	color: var(--f-text);
	overflow-x: hidden;
}

.forum-page .navbar { border-bottom: 1px solid var(--f-line); }

.f-shell {
	display: grid;
	grid-template-columns: 256px minmax(0, 1fr);
	gap: 36px;
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 32px 20px 56px;
	flex: 1 0 auto;
}

.f-main { min-width: 0; }

.f-loading { padding: 64px 0; text-align: center; }

/* ── Boční panel ──────────────────────────────────────────────────────────── */

.f-side {
	position: sticky;
	top: 100px;
	align-self: start;
}

.f-nav { margin-top: 20px; }

.f-nav-group + .f-nav-group { margin-top: 22px; }

/* Sekce jen pro tým je oddělená čarou, ať je na první pohled jasné, že to
   ostatní nevidí. */
.f-nav-group.staff {
	padding-top: 18px;
	border-top: 1px solid var(--f-line);
}

.f-nav-label {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 0 12px 8px;
	color: var(--f-text-3);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.f-nav-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 12px;
	border-radius: 8px;
	color: var(--f-text-2);
	font-size: 14px;
	font-weight: 500;
	transition: background 0.12s, color 0.12s;
}

.f-nav-item > i {
	flex: none;
	width: 16px;
	color: var(--f-text-3);
	text-align: center;
}

.f-nav-item:hover {
	background: var(--f-raised);
	color: var(--f-text);
	text-decoration: none;
}

.f-nav-item.active {
	background: var(--f-raised);
	box-shadow: inset 3px 0 0 var(--f-accent);
	color: #fff;
	font-weight: 600;
}

.f-nav-item.active > i { color: var(--f-accent); }

.f-nav-count {
	margin-left: auto;
	color: var(--f-text-3);
	font-size: 12px;
	font-variant-numeric: tabular-nums;
}

.f-nav-badge {
	margin-left: auto;
	min-width: 22px;
	padding: 1px 7px;
	border-radius: 999px;
	background: var(--f-pending);
	color: #1c1306;
	font-size: 11.5px;
	font-weight: 700;
	text-align: center;
}

/* ── Tlačítka ─────────────────────────────────────────────────────────────── */

.f-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 38px;
	padding: 0 16px;
	border: 1px solid var(--f-line-2);
	border-radius: 8px;
	background: var(--f-raised);
	color: var(--f-text);
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
	transition: background 0.12s, border-color 0.12s, color 0.12s;
}

.f-btn:hover { background: #26262b; border-color: #46464e; color: #fff; text-decoration: none; }
.f-btn:disabled { opacity: 0.5; pointer-events: none; }

.f-btn-primary { background: var(--f-accent); border-color: var(--f-accent); color: #fff; }
.f-btn-primary:hover { background: var(--f-accent-hover); border-color: var(--f-accent-hover); }

.f-btn-approve { background: #2c8f52; border-color: #2c8f52; color: #fff; }
.f-btn-approve:hover { background: #34a35f; border-color: #34a35f; }

.f-btn-danger { background: transparent; border-color: rgba(244, 124, 124, 0.4); color: var(--f-rejected); }
.f-btn-danger:hover { background: rgba(244, 124, 124, 0.1); border-color: var(--f-rejected); color: #ffb4b4; }

.f-btn-ghost { background: transparent; border-color: transparent; color: var(--f-text-2); }
.f-btn-ghost:hover { background: var(--f-raised); border-color: transparent; }

.f-btn-block { width: 100%; height: 42px; }

.f-link-btn {
	padding: 0;
	border: 0;
	background: none;
	color: var(--f-text);
	font-size: inherit;
	font-weight: 600;
	text-decoration: underline;
	cursor: pointer;
}

/* ── Klávesnice ───────────────────────────────────────────────────────────── */

.f-nav-item:focus-visible,
.f-item:focus-visible,
.f-btn:focus-visible,
.f-crumbs a:focus-visible {
	outline: 2px solid var(--f-accent);
	outline-offset: 2px;
}

/* ── Hlavička obsahu ──────────────────────────────────────────────────────── */

.f-head { margin-bottom: 20px; }

.f-head-kicker {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 6px;
	color: var(--f-private);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.f-head h1 {
	margin: 0;
	color: #fff;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
}

.f-head p {
	max-width: 640px;
	margin-top: 6px;
	color: var(--f-text-2);
	font-size: 15px;
	line-height: 1.5;
}

/* ── Formulářové prvky ────────────────────────────────────────────────────── */

.f-input,
.f-select,
.f-textarea {
	display: block;
	width: 100%;
	padding: 9px 12px;
	border: 1px solid var(--f-line-2);
	border-radius: 8px;
	background: var(--f-inset);
	color: var(--f-text);
	font-size: 15px;
	line-height: 1.4;
	transition: border-color 0.12s, box-shadow 0.12s;
}

.f-input::placeholder,
.f-textarea::placeholder { color: var(--f-text-3); }

.f-input:focus,
.f-select:focus,
.f-textarea:focus {
	outline: none;
	border-color: var(--f-accent);
	box-shadow: 0 0 0 3px var(--f-accent-soft);
}

.f-select { appearance: auto; height: 40px; }
.f-select option { background: #18181b; color: var(--f-text); }

.f-label {
	display: block;
	margin: 0 0 6px;
	color: var(--f-text);
	font-size: 14px;
	font-weight: 600;
}

.f-help {
	margin: -2px 0 8px;
	color: var(--f-text-3);
	font-size: 13px;
	line-height: 1.45;
}

/* ── Hledání a filtry ─────────────────────────────────────────────────────── */

.f-search { position: relative; margin-bottom: 16px; }

.f-search > i {
	position: absolute;
	top: 50%;
	left: 14px;
	transform: translateY(-50%);
	color: var(--f-text-3);
	pointer-events: none;
}

.f-search .f-input { height: 44px; padding-left: 40px; background: var(--f-panel); }

.f-toolbar {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 180px)) minmax(0, 1fr);
	gap: 8px;
	margin-bottom: 16px;
}

/* ── Seznam příspěvků ─────────────────────────────────────────────────────── */

.f-panel {
	border: 1px solid var(--f-line);
	border-radius: var(--f-radius);
	background: var(--f-panel);
}

.f-list {
	margin: 0;
	padding: 0;
	list-style: none;
	overflow: hidden;
}

.f-list > li + li { border-top: 1px solid var(--f-line); }

.f-item {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr) auto;
	gap: 16px;
	padding: 18px 20px;
	color: var(--f-text);
	transition: background 0.12s;
}

.f-item:hover { background: var(--f-raised); color: var(--f-text); text-decoration: none; }
.f-item:hover .f-item-title { color: #fff; text-decoration: underline; text-decoration-color: var(--f-line-2); text-underline-offset: 3px; }

.f-item-icon {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: var(--f-raised);
	color: var(--f-text-2);
	font-size: 15px;
}

.f-item-kicker {
	color: var(--f-text-3);
	font-size: 12.5px;
	overflow-wrap: anywhere;
}

.f-item-cat { color: var(--f-text-2); font-weight: 600; }

.f-item-title {
	margin: 3px 0 0;
	color: #f4f4f6;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.f-item-excerpt {
	margin-top: 6px;
	color: var(--f-text-2);
	font-size: 14px;
	line-height: 1.55;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.f-item-note {
	display: flex;
	gap: 8px;
	margin-top: 8px;
	padding: 8px 10px;
	border-radius: 8px;
	background: rgba(244, 124, 124, 0.08);
	color: var(--f-text);
	font-size: 13px;
	line-height: 1.45;
}
.f-item-note > i { margin-top: 3px; color: var(--f-rejected); }

.f-item-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 14px;
	margin-top: 10px;
	color: var(--f-text-3);
	font-size: 12.5px;
}

.f-item-side {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
}

.f-author {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--f-text-2);
	vertical-align: middle;
}
.f-author img { flex: none; border-radius: 50%; }

.f-more { margin-top: 16px; text-align: center; }

.f-empty {
	padding: 56px 24px;
	text-align: center;
	color: var(--f-text-2);
}
.f-empty > i { display: block; margin-bottom: 14px; color: var(--f-text-3); font-size: 28px; }
.f-empty strong { display: block; margin-bottom: 4px; color: var(--f-text); font-size: 16px; font-weight: 600; }
.f-empty .f-btn { margin-top: 18px; }

.f-summary {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 14px;
}

/* ── Štítky stavu ─────────────────────────────────────────────────────────── */

.f-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 24px;
	padding: 0 10px;
	border: 1px solid var(--f-line-2);
	border-radius: 999px;
	background: var(--f-raised);
	color: var(--f-text-2);
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
}
.f-pill > i { font-size: 10.5px; }

.f-pill.pending { border-color: rgba(242, 169, 59, 0.35); background: rgba(242, 169, 59, 0.1); color: var(--f-pending); }
.f-pill.approved { border-color: rgba(76, 195, 122, 0.35); background: rgba(76, 195, 122, 0.1); color: var(--f-approved); }
.f-pill.rejected { border-color: rgba(244, 124, 124, 0.35); background: rgba(244, 124, 124, 0.1); color: var(--f-rejected); }
.f-pill.private { border-color: rgba(169, 147, 245, 0.35); background: rgba(169, 147, 245, 0.1); color: var(--f-private); }

/* ── Detail příspěvku ─────────────────────────────────────────────────────── */

.f-crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	margin-bottom: 14px;
	color: var(--f-text-3);
	font-size: 13.5px;
}
.f-crumbs a { color: var(--f-text-2); }
.f-crumbs a:hover { color: #fff; text-decoration: none; }
.f-crumbs > i { font-size: 9px; }

.f-article {
	padding: 36px 44px 32px;
	border: 1px solid var(--f-line);
	border-radius: var(--f-radius);
	background: var(--f-panel);
}

.f-article-kicker {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 8px;
	color: var(--f-text-3);
	font-size: 13.5px;
}
.f-article-kicker .f-item-cat > i { margin-right: 6px; }
.f-article-kicker strong { color: var(--f-text-2); font-weight: 600; }

.f-article-title {
	margin: 10px 0 18px;
	color: #fff;
	font-size: 34px;
	font-weight: 700;
	line-height: 1.2;
	overflow-wrap: anywhere;
}

.f-byline {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 28px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--f-line);
}
.f-byline img { border-radius: 50%; }
.f-byline-name { color: var(--f-text); font-size: 15px; font-weight: 600; }
.f-byline-meta { margin-top: 1px; color: var(--f-text-3); font-size: 13px; }

/* Text příběhu. Sloupec kolem 70 znaků na řádek — čte se to desítky minut. */
.f-prose {
	max-width: 70ch;
	color: #dcdce1;
	font-size: 17px;
	line-height: 1.75;
	overflow-wrap: anywhere;
}
.f-prose p { margin: 0 0 1.15em; }
.f-prose p:last-child { margin-bottom: 0; }
.f-prose strong { color: #fff; font-weight: 700; }
.f-prose em { font-style: italic; }
.f-prose h2,
.f-prose h3 { margin: 1.8em 0 0.6em; color: #fff; font-weight: 700; line-height: 1.3; }
.f-prose h2 { font-size: 23px; }
.f-prose h3 { font-size: 19px; }
.f-prose > :first-child { margin-top: 0; }
.f-prose blockquote {
	margin: 0 0 1.15em;
	padding: 4px 0 4px 18px;
	border-left: 3px solid var(--f-line-2);
	color: var(--f-text-2);
}
.f-prose blockquote,
.f-prose blockquote * { font-style: italic; }
.f-prose hr {
	width: 80px;
	margin: 2.2em 0;
	border: 0;
	border-top: 2px solid var(--f-line-2);
}

.f-article-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 32px;
	padding-top: 20px;
	border-top: 1px solid var(--f-line);
}

/* ── Pruh stavu (autor a tým) ─────────────────────────────────────────────── */

.f-callout {
	display: flex;
	gap: 12px;
	margin-bottom: 28px;
	padding: 14px 16px;
	border: 1px solid var(--tone-line, var(--f-line-2));
	border-radius: 10px;
	background: var(--tone-bg, var(--f-raised));
	color: var(--f-text-2);
	font-size: 14.5px;
	line-height: 1.55;
}
.f-callout > i { margin-top: 3px; color: var(--tone, var(--f-text-2)); }
.f-callout strong { color: var(--f-text); font-weight: 700; }

.f-callout.pending { --tone: var(--f-pending); --tone-bg: rgba(242, 169, 59, 0.07); --tone-line: rgba(242, 169, 59, 0.28); }
.f-callout.approved { --tone: var(--f-approved); --tone-bg: rgba(76, 195, 122, 0.07); --tone-line: rgba(76, 195, 122, 0.28); }
.f-callout.rejected { --tone: var(--f-rejected); --tone-bg: rgba(244, 124, 124, 0.07); --tone-line: rgba(244, 124, 124, 0.28); }
.f-callout.private { --tone: var(--f-private); --tone-bg: rgba(169, 147, 245, 0.07); --tone-line: rgba(169, 147, 245, 0.28); }

.f-callout-note {
	margin-top: 10px;
	padding: 10px 12px;
	border-radius: 8px;
	background: rgba(0, 0, 0, 0.3);
	color: var(--f-text);
}
.f-callout-note span {
	display: block;
	margin-bottom: 2px;
	color: var(--f-text-3);
	font-size: 12px;
	font-weight: 600;
}

/* ── Posouzení (jen tým) ──────────────────────────────────────────────────── */

.f-review {
	margin-top: 20px;
	border: 1px solid rgba(169, 147, 245, 0.3);
	border-radius: var(--f-radius);
	background: var(--f-panel);
	overflow: hidden;
}

.f-review-head {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 24px;
	border-bottom: 1px solid var(--f-line);
	background: rgba(169, 147, 245, 0.06);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
}
.f-review-head > i { color: var(--f-private); }
.f-review-head span { margin-left: auto; color: var(--f-private); font-size: 12px; font-weight: 600; }

.f-review-body { padding: 20px 24px 24px; }

.f-facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 14px 24px;
	margin: 0 0 20px;
}
.f-facts dt { margin: 0; color: var(--f-text-3); font-size: 12.5px; font-weight: 600; }
.f-facts dd { display: flex; flex-wrap: wrap; gap: 6px; margin: 3px 0 0; color: var(--f-text); font-size: 14px; }
.f-facts .f-dim { color: var(--f-text-3); }

.f-info {
	display: flex;
	gap: 10px;
	margin: 0 0 18px;
	padding: 10px 12px;
	border-radius: 8px;
	background: var(--f-raised);
	color: var(--f-text-2);
	font-size: 13.5px;
	line-height: 1.5;
}
.f-info > i { margin-top: 3px; color: var(--f-text-3); }
.f-info strong { color: var(--f-text); font-weight: 700; }

.f-review-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 16px;
}
.f-push-right { margin-left: auto; }

/* ── Editor ───────────────────────────────────────────────────────────────── */

.f-editor-title { margin: 0; color: #fff; font-size: 28px; font-weight: 700; }
.f-editor-lead { margin: 6px 0 28px; color: var(--f-text-2); font-size: 15px; }

.f-field { min-width: 0; margin: 0 0 22px; padding: 0; border: 0; }

.f-field-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
	gap: 0 16px;
}

.f-cats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 10px;
}

.f-cat { position: relative; margin: 0; cursor: pointer; }

/* Rádio zůstává v DOMu kvůli klávesnici a čtečkám, jen je neviditelné. */
.f-cat input { position: absolute; opacity: 0; pointer-events: none; }

.f-cat-box {
	display: grid;
	grid-template-columns: 40px 1fr;
	gap: 2px 12px;
	height: 100%;
	padding: 14px;
	border: 1px solid var(--f-line-2);
	border-radius: 10px;
	background: var(--f-inset);
	transition: border-color 0.12s, background 0.12s;
}
.f-cat-box .f-item-icon { grid-row: span 2; align-self: center; }
.f-cat-box strong { color: #fff; font-size: 15px; font-weight: 600; }
.f-cat-box small { color: var(--f-text-3); font-size: 13px; line-height: 1.45; }

.f-cat:hover .f-cat-box { border-color: #4a4a52; }
.f-cat input:checked + .f-cat-box {
	border-color: var(--f-accent);
	background: color-mix(in srgb, var(--f-accent) 7%, var(--f-inset));
	box-shadow: inset 0 0 0 1px var(--f-accent);
}
.f-cat input:checked + .f-cat-box .f-item-icon {
	background: var(--f-accent-soft);
	color: var(--f-accent);
}
.f-cat input:focus-visible + .f-cat-box { outline: 2px solid var(--f-accent); outline-offset: 2px; }

.f-body-bar {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 6px;
}
.f-body-bar .f-label { margin: 0; }

.f-mode {
	display: inline-flex;
	padding: 3px;
	border: 1px solid var(--f-line-2);
	border-radius: 8px;
	background: var(--f-inset);
}
.f-mode-btn {
	padding: 4px 12px;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: var(--f-text-3);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
}
.f-mode-btn.active { background: var(--f-raised); color: var(--f-text); }

.f-textarea.f-body {
	min-height: 360px;
	padding: 14px 16px;
	font-size: 16px;
	line-height: 1.7;
	resize: vertical;
}

.f-preview {
	min-height: 360px;
	max-width: none;
	padding: 14px 16px;
	border: 1px dashed var(--f-line-2);
	border-radius: 8px;
}

.f-body-foot {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 6px 12px;
	margin-top: 8px;
	color: var(--f-text-3);
	font-size: 12.5px;
}
.f-hint code {
	padding: 1px 5px;
	border-radius: 4px;
	background: var(--f-raised);
	color: var(--f-text-2);
	font-size: 12px;
}
.f-count { margin-left: auto; font-variant-numeric: tabular-nums; }
.f-count.under { color: var(--f-pending); }
.f-count.over { color: var(--f-rejected); font-weight: 700; }

/* Volba „nepřeji si zveřejňovat" — výrazně, je to rozhodnutí, ne drobnost. */
.f-private {
	display: flex;
	gap: 14px;
	margin: 0 0 22px;
	padding: 16px;
	border: 1px solid var(--f-line-2);
	border-radius: 10px;
	background: var(--f-inset);
	cursor: pointer;
	transition: border-color 0.12s, background 0.12s;
}
.f-private:hover { border-color: #4a4a52; }
.f-private:has(input:checked) { border-color: var(--f-private); background: rgba(169, 147, 245, 0.07); }
.f-private input { flex: none; width: 18px; height: 18px; margin-top: 2px; accent-color: #8f74f0; }
.f-private strong { display: block; color: #fff; font-size: 15px; font-weight: 600; }
.f-private strong i { margin-right: 6px; color: var(--f-private); }
.f-private small { display: block; margin-top: 3px; color: var(--f-text-2); font-size: 13.5px; line-height: 1.5; }

.f-editor-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding-top: 20px;
	border-top: 1px solid var(--f-line);
}

/* ── Přístupová hláška ────────────────────────────────────────────────────── */

.f-gate { padding: 56px 24px; text-align: center; }
.f-gate > i { display: block; margin-bottom: 14px; color: var(--f-text-3); font-size: 30px; }
.f-gate h2 { margin: 0 0 6px; color: #fff; font-size: 22px; font-weight: 700; }
.f-gate p { color: var(--f-text-2); }
.f-gate .f-btn { margin-top: 20px; }

.f-error { padding: 16px 20px; color: var(--f-rejected); }

/* ── Toast ────────────────────────────────────────────────────────────────── */

.f-toast {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 1080;
	max-width: 420px;
	padding: 12px 16px;
	border: 1px solid var(--f-line-2);
	border-left: 3px solid var(--f-text-3);
	border-radius: 10px;
	background: #1b1b1f;
	color: var(--f-text);
	font-size: 14px;
	line-height: 1.45;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}
.f-toast.error { border-left-color: var(--f-rejected); }
.f-toast.success { border-left-color: var(--f-approved); }

/* ── Tablet a mobil ───────────────────────────────────────────────────────── */

@media (max-width: 899px) {
	.f-shell { grid-template-columns: minmax(0, 1fr); gap: 20px; padding-top: 20px; }

	/* Panel se složí nad obsah: tlačítko a pod ním vodorovně posuvné sekce. */
	.f-side { position: static; }
	.f-nav {
		display: flex;
		gap: 6px;
		margin: 14px -20px 0;
		padding: 0 20px 4px;
		overflow-x: auto;
		scrollbar-width: none;
	}
	.f-nav::-webkit-scrollbar { display: none; }
	.f-nav-group { display: flex; flex: none; gap: 6px; }
	.f-nav-group + .f-nav-group { margin-top: 0; padding-left: 8px; border-left: 1px solid var(--f-line); }
	.f-nav-group.staff { padding-top: 0; border-top: 0; }
	.f-nav-label { display: none; }
	.f-nav-item { padding: 7px 12px; border: 1px solid var(--f-line); background: var(--f-panel); white-space: nowrap; }
	.f-nav-item.active { box-shadow: inset 0 -2px 0 var(--f-accent); }
	.f-nav-count, .f-nav-badge { margin-left: 4px; }

	.f-toolbar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.f-toolbar .f-input { grid-column: 1 / -1; }
}

@media (max-width: 575px) {
	.f-shell { padding: 16px 14px 40px; }
	.f-nav { margin-left: -14px; margin-right: -14px; padding-left: 14px; padding-right: 14px; }

	.f-head h1, .f-editor-title { font-size: 24px; }

	.f-item { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 16px; }
	.f-item-icon { display: none; }
	.f-item-side { flex-direction: row; flex-wrap: wrap; align-items: center; order: -1; }
	.f-item-side:empty { display: none; }

	.f-article { padding: 22px 18px; }
	.f-article-title { font-size: 26px; }
	.f-prose { font-size: 16.5px; }

	.f-review-head, .f-review-body { padding-left: 18px; padding-right: 18px; }
	.f-field-row { grid-template-columns: minmax(0, 1fr); }
	.f-toolbar { grid-template-columns: minmax(0, 1fr); }
	.f-push-right { margin-left: 0; }

	.f-toast { left: 14px; right: 14px; max-width: none; }
}
