/**
 * ILoveTyumen — main styles (airy minimal design)
 */

:root {
	--ilyt-accent: #d45a2a;
	--ilyt-accent-hover: #b84a22;
	--ilyt-bg: #fafafa;
	--ilyt-surface: #ffffff;
	--ilyt-text: #1a1a1a;
	--ilyt-muted: #6b7280;
	--ilyt-border: #e5e7eb;
	--ilyt-radius: 12px;
	--ilyt-gap: 1.5rem;
	--ilyt-gutter: clamp(1rem, 2vw, 1.75rem);
	--ilyt-max: 100%;
	--ilyt-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
	--ilyt-field-padding-y: 0.625rem;
	--ilyt-field-padding-x: 1rem;
	--ilyt-field-radius: 999px;
	--ilyt-field-radius-multiline: 1rem;
	--ilyt-field-font-size: 0.9375rem;
	--ilyt-field-line-height: 1.3;
	--ilyt-field-focus-ring: 0 0 0 2px color-mix(in srgb, var(--ilyt-accent) 25%, transparent);

	/* Semantic tinted surfaces (alerts, notices) */
	--ilyt-success-bg: #ecfdf5;
	--ilyt-success-text: #166534;
	--ilyt-success-border: #bbf7d0;
	--ilyt-error-bg: #fef2f2;
	--ilyt-error-text: #991b1b;
	--ilyt-error-border: #fecaca;
	--ilyt-info-bg: #eff6ff;
	--ilyt-info-text: #1e40af;
	--ilyt-info-border: #bfdbfe;
	--ilyt-warn-bg: #fff8e1;
	--ilyt-warn-text: #92400e;
	--ilyt-warn-border: #ffe082;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, sans-serif;
	background: var(--ilyt-bg);
	color: var(--ilyt-text);
	line-height: 1.6;
	font-size: 1rem;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--ilyt-accent);
	text-decoration: none;
}

a:hover {
	color: var(--ilyt-accent-hover);
}

/* FAB — «Написать новость» (always in main.css, not only modules.css) */
.ilyt-fab-write,
button.ilyt-fab-write,
.ilyt-fab-write:visited,
.ilyt-fab-write:hover,
.ilyt-fab-write:focus-visible {
	position: fixed;
	right: 1.25rem;
	bottom: 5rem;
	z-index: 9100;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--ilyt-accent, #ff5722);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
	font-size: 1.35rem;
	line-height: 1;
	isolation: isolate;
}

button.ilyt-fab-write {
	border: none;
	padding: 0;
	cursor: pointer;
	font: inherit;
}

.ilyt-nav__write {
	white-space: nowrap;
}

.ilyt-fab-write__icon {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	color: #fff;
	pointer-events: none;
}

.ilyt-fab-write__icon svg {
	display: block;
	width: 24px;
	height: 24px;
}

.ilyt-container {
	width: 100%;
	max-width: none;
	margin-inline: auto;
	padding-inline: var(--ilyt-gutter);
	box-sizing: border-box;
}

.ilyt-skip-link {
	position: absolute;
	top: -100%;
	left: 1rem;
	z-index: 9999;
	padding: 0.75rem 1rem;
	background: var(--ilyt-accent);
	color: #fff;
	border-radius: var(--ilyt-radius);
}

.ilyt-skip-link:focus {
	top: 1rem;
}

.ilyt-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Header */
.ilyt-header {
	background: var(--ilyt-surface);
	border-bottom: 1px solid var(--ilyt-border);
	position: sticky;
	top: 0;
	z-index: 200;
}

.ilyt-header__inner {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	padding-block: 1rem;
}

.ilyt-header__mast {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	width: 100%;
}

.ilyt-header__top-row {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	width: 100%;
	min-width: 0;
}

.ilyt-header__brand-block {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex: 0 1 auto;
	min-width: 0;
}

.ilyt-header__actions-bar {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
	margin-left: auto;
	flex: 1 1 auto;
	min-width: 0;
}

.ilyt-header__menu-row {
	display: flex;
	align-items: center;
	width: 100%;
	padding-top: 0.55rem;
	border-top: 1px solid var(--ilyt-border);
}

.ilyt-header__logo {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	line-height: 0;
	text-decoration: none;
	background: transparent;
}

.ilyt-header__logo-stack {
	display: inline-flex;
	align-items: center;
	line-height: 0;
	background: transparent;
}

.ilyt-header__logo-img {
	display: block;
	width: auto;
	height: clamp(3.5rem, 5.5vw, 4.75rem);
	max-width: min(36vw, 10.5rem);
	object-fit: contain;
	background: transparent;
	background-color: transparent;
}

.ilyt-header__logo-img--dark {
	display: none;
}

[data-theme="dark"] .ilyt-header__logo-img--light {
	display: none;
}

[data-theme="dark"] .ilyt-header__logo-img--dark {
	display: block;
}

.ilyt-header__brand {
	flex: 1 1 auto;
	min-width: 0;
}

.ilyt-header__user-actions {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.5rem;
}

.ilyt-header__portal-actions {
	display: none;
	align-items: center;
	flex-wrap: wrap;
	gap: clamp(0.35rem, 1vw, 0.65rem);
}

.ilyt-header__tools {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex: 0 1 auto;
	min-width: 0;
}

.ilyt-header__tools .ilyt-header__cabinet {
	flex-shrink: 0;
	white-space: nowrap;
	min-height: 44px;
	padding-inline: 1rem;
	font-size: 0.9375rem;
}

.ilyt-header__base-nav .ilyt-nav__item--favorites .ilyt-header-favorites {
	min-width: 40px;
	min-height: 40px;
}

.ilyt-header__base-nav {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	min-width: 0;
	width: 100%;
}

.ilyt-header__base-nav .ilyt-nav__list--base {
	flex-wrap: wrap;
}

.ilyt-logo {
	display: block;
	text-decoration: none;
}

.ilyt-header__search {
	flex: 0 0 auto;
	position: relative;
}

.ilyt-header-weather {
	display: none;
	align-items: center;
	gap: 0.35rem 0.5rem;
	flex-wrap: nowrap;
	white-space: nowrap;
	font-size: 0.8125rem;
	line-height: 1.2;
	color: var(--ilyt-text-muted, var(--ilyt-text));
	max-width: min(42vw, 28rem);
	overflow: hidden;
}

.ilyt-header-weather__icon {
	flex: 0 0 auto;
	font-size: 1rem;
	line-height: 1;
}

.ilyt-header-weather__text {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	font-weight: 500;
	color: var(--ilyt-text);
}

.ilyt-header-weather__city {
	flex: 0 0 auto;
	font-size: 0.75rem;
	opacity: 0.75;
}

.ilyt-header-weather__credit {
	flex: 0 0 auto;
	font-size: 0.6875rem;
	opacity: 0.55;
	text-decoration: none;
}

.ilyt-header-weather__credit:hover {
	opacity: 0.85;
	text-decoration: underline;
}

.ilyt-header-weather--rain .ilyt-header-weather__text,
.ilyt-header-weather--storm .ilyt-header-weather__text {
	color: var(--ilyt-accent, #2196f3);
}

.ilyt-header-weather--cold .ilyt-header-weather__text {
	color: #0288d1;
}

.ilyt-header-weather--hot .ilyt-header-weather__text {
	color: #e65100;
}

@media (min-width: 1025px) {
	.ilyt-header-weather {
		display: flex;
	}
}

.ilyt-header__theme {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
}

.ilyt-header-search {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.ilyt-header-search__toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--ilyt-border);
	border-radius: 50%;
	background: var(--ilyt-bg);
	color: var(--ilyt-text);
	cursor: pointer;
}

.ilyt-header-search__toggle:hover {
	border-color: var(--ilyt-accent);
	color: var(--ilyt-accent);
}

.ilyt-header-search__panel {
	width: 100%;
}

.ilyt-search-form {
	width: 100%;
	max-width: 320px;
	margin-left: auto;
}

.ilyt-search-form__field {
	position: relative;
	display: block;
	width: 100%;
}

.ilyt-search-form__input {
	display: block;
	width: 100%;
	padding: var(--ilyt-field-padding-y) 2.75rem var(--ilyt-field-padding-y) var(--ilyt-field-padding-x);
	border: 1px solid var(--ilyt-border);
	border-radius: var(--ilyt-field-radius);
	background: var(--ilyt-bg);
	color: var(--ilyt-text);
	font-size: var(--ilyt-field-font-size);
	font-family: inherit;
	line-height: var(--ilyt-field-line-height);
}

.ilyt-search-form__input:focus {
	outline: none;
	border-color: var(--ilyt-accent);
	box-shadow: var(--ilyt-field-focus-ring);
}

.ilyt-search-form__input::placeholder {
	color: var(--ilyt-muted);
}

.ilyt-search-form__icon {
	position: absolute;
	top: 50%;
	right: 0.625rem;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: transparent;
	color: var(--ilyt-muted);
	cursor: pointer;
}

.ilyt-search-form__icon:hover {
	color: var(--ilyt-accent);
}

/* Inline action field — same chrome as header search (donate, similar forms). */
.ilyt-search-form__field--action {
	display: flex;
	align-items: stretch;
	width: 100%;
	border: 1px solid var(--ilyt-border);
	border-radius: var(--ilyt-field-radius);
	background: var(--ilyt-bg);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ilyt-search-form__field--action:focus-within {
	border-color: var(--ilyt-accent);
	box-shadow: var(--ilyt-field-focus-ring);
}

.ilyt-search-form__field--action .ilyt-search-form__input {
	flex: 1 1 auto;
	min-width: 0;
	width: auto;
	border: none;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	padding-right: 0.75rem;
}

.ilyt-search-form__field--action .ilyt-search-form__input:focus {
	border: none;
	box-shadow: none;
}

.ilyt-search-form__action {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	align-self: stretch;
	padding: 0 1rem;
	margin: 0;
	border: none;
	border-left: 1px solid var(--ilyt-border);
	border-radius: 0;
	background: transparent;
	color: var(--ilyt-accent);
	font-size: var(--ilyt-field-font-size);
	font-weight: 600;
	font-family: inherit;
	line-height: var(--ilyt-field-line-height);
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: color 0.15s ease, background-color 0.15s ease;
}

.ilyt-search-form__action:hover,
.ilyt-search-form__action:focus-visible {
	color: var(--ilyt-accent);
	background: color-mix(in srgb, var(--ilyt-accent) 8%, transparent);
	outline: none;
}

.ilyt-logo__text {
	display: block;
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--ilyt-text);
	line-height: 1.25;
}

.ilyt-tagline {
	display: block;
	margin: 0.2rem 0 0;
	font-size: 0.8125rem;
	color: var(--ilyt-muted);
	line-height: 1.3;
}

.ilyt-nav-toggle {
	display: none;
	flex-direction: column;
	gap: 5px;
	background: none;
	border: none;
	padding: 0.75rem;
	cursor: pointer;
	min-width: 44px;
	min-height: 44px;
	justify-content: center;
}

.ilyt-nav-toggle span {
	display: block;
	width: 24px;
	height: 2px;
	background: var(--ilyt-text);
}

.ilyt-nav {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	width: 100%;
}

.ilyt-nav__list {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ilyt-nav__list a {
	color: var(--ilyt-text);
	font-weight: 500;
}

.ilyt-nav__list a:hover {
	color: var(--ilyt-accent);
}

/* Rubric navigation — parent archive + dropdown sub-rubrics */
.ilyt-rubric-nav {
	align-items: stretch;
}

.ilyt-nav__item {
	position: relative;
}

.ilyt-nav__item-row {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.ilyt-nav__link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.35rem 0;
	font-weight: 500;
	color: var(--ilyt-text);
	text-decoration: none;
}

.ilyt-nav__link:hover,
.ilyt-nav__sublink:hover {
	color: var(--ilyt-accent);
}

.ilyt-nav__icon {
	line-height: 1;
}

.ilyt-nav__subtoggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: none;
	border-radius: var(--ilyt-radius);
	background: transparent;
	color: var(--ilyt-text);
	cursor: pointer;
}

.ilyt-nav__subtoggle-icon {
	display: block;
	width: 0.45rem;
	height: 0.45rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

.ilyt-nav__item--has-children.is-submenu-open > .ilyt-nav__item-row .ilyt-nav__subtoggle-icon {
	transform: rotate(-135deg);
}

.ilyt-nav__submenu {
	display: none;
	list-style: none;
	margin: 0;
	padding: 0.5rem 0;
	min-width: 12rem;
}

.ilyt-nav__subitem {
	margin: 0;
}

.ilyt-nav__sublink {
	display: block;
	padding: 0.45rem 1rem;
	color: var(--ilyt-text);
	text-decoration: none;
	font-weight: 500;
	white-space: nowrap;
}

.ilyt-nav__item.is-current > .ilyt-nav__item-row .ilyt-nav__link,
.ilyt-nav__subitem.is-current .ilyt-nav__sublink {
	color: var(--ilyt-accent);
}

.ilyt-nav__item.is-current-ancestor > .ilyt-nav__item-row .ilyt-nav__link {
	color: var(--ilyt-accent);
}

@media (min-width: 769px) {
	/* Invisible bridge so the cursor can reach the dropdown without closing it. */
	.ilyt-nav__item--has-children::before {
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		height: 0.4rem;
		display: none;
	}

	.ilyt-nav__item--has-children:hover::before,
	.ilyt-nav__item--has-children:focus-within::before,
	.ilyt-nav__item--has-children.is-submenu-open::before {
		display: block;
	}

	.ilyt-nav__item--has-children:hover > .ilyt-nav__submenu,
	.ilyt-nav__item--has-children:focus-within > .ilyt-nav__submenu {
		display: block;
	}

	.ilyt-nav__submenu {
		position: absolute;
		top: calc(100% + 0.35rem);
		left: 0;
		z-index: 50;
		padding: 0.5rem 0;
		background: var(--ilyt-surface);
		border: 1px solid var(--ilyt-border);
		border-radius: var(--ilyt-radius);
		box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
	}

	.ilyt-header .ilyt-nav__submenu {
		z-index: 100;
	}

	.ilyt-nav-overflow-row .ilyt-nav__item--has-children > .ilyt-nav__submenu {
		z-index: 110;
	}

	.ilyt-nav__item--has-children.is-submenu-open > .ilyt-nav__submenu {
		display: block;
	}
}

@media (max-width: 768px) {
	.ilyt-nav__item-row {
		justify-content: space-between;
	}

	.ilyt-nav__subtoggle {
		display: inline-flex;
		flex-shrink: 0;
	}

	.ilyt-nav__item--has-children.is-submenu-open > .ilyt-nav__submenu {
		display: block;
	}

	.ilyt-nav__submenu {
		padding-left: 0.75rem;
		border-left: 2px solid var(--ilyt-border);
		margin: 0.25rem 0 0.5rem;
	}

	.ilyt-nav__sublink {
		padding-left: 0.5rem;
		white-space: normal;
	}
}

/* Secondary rubric subnav — persistent under main menu on category archives */
.ilyt-rubric-subnav {
	border-top: 1px solid var(--ilyt-border);
	background: var(--ilyt-surface);
	padding-top: 0.35rem;
	padding-bottom: 0.35rem;
}

.ilyt-rubric-subnav__list {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.35rem;
	list-style: none;
	margin: 0;
	padding: 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}

.ilyt-rubric-subnav__item {
	flex: 0 0 auto;
	margin: 0;
}

.ilyt-rubric-subnav__link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.45rem 0.85rem;
	border-radius: 999px;
	color: var(--ilyt-text);
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s ease, background 0.2s ease;
}

.ilyt-rubric-subnav__link:hover {
	color: var(--ilyt-accent);
	background: color-mix(in srgb, var(--ilyt-accent) 10%, transparent);
}

.ilyt-rubric-subnav__item.is-current .ilyt-rubric-subnav__link {
	color: var(--ilyt-accent);
	background: color-mix(in srgb, var(--ilyt-accent) 14%, transparent);
}

.ilyt-rubric-subnav__icon {
	line-height: 1;
}

.ilyt-header.is-nav-overflow-pinned .ilyt-rubric-subnav {
	padding-top: 0.65rem;
	border-top: 1px solid var(--ilyt-border);
}

.ilyt-header.is-nav-overflow-pinned .ilyt-rubric-subnav__list {
	flex-wrap: wrap;
	gap: 0.65rem 1.25rem;
	overflow-x: visible;
}

.ilyt-header.is-nav-overflow-pinned .ilyt-rubric-subnav__link {
	padding: 0.35rem 0;
	border-radius: 0;
	background: transparent;
	font-weight: 500;
}

.ilyt-header.is-nav-overflow-pinned .ilyt-rubric-subnav__link:hover,
.ilyt-header.is-nav-overflow-pinned .ilyt-rubric-subnav__item.is-current .ilyt-rubric-subnav__link {
	background: transparent;
	color: var(--ilyt-accent);
}

/* Buttons */
.ilyt-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
	padding: 0.625rem 1.25rem;
	border: none;
	border-radius: var(--ilyt-radius);
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s, transform 0.1s;
}

.ilyt-btn--accent {
	background: var(--ilyt-accent);
	color: #fff;
}

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

.ilyt-nav__cabinet--outline {
	background: transparent;
	border: 2px solid var(--ilyt-border);
	color: var(--ilyt-text);
}

.ilyt-nav__cabinet--outline:hover {
	border-color: var(--ilyt-accent);
	color: var(--ilyt-accent);
}

.ilyt-nav__portal-actions,
.ilyt-nav__user-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
}

.ilyt-header__quick-actions,
.ilyt-nav__portal-actions {
	gap: clamp(0.35rem, 1vw, 0.75rem);
}

/* Portal strip — identical chrome for <button> and <a> */
.ilyt-header__quick-actions .ilyt-nav__action,
.ilyt-header__portal-actions .ilyt-nav__action,
.ilyt-nav__portal-actions .ilyt-nav__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.625rem 1.25rem;
	border: 2px solid var(--ilyt-border);
	border-radius: var(--ilyt-radius);
	background: transparent;
	color: var(--ilyt-text);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.ilyt-header__quick-actions a.ilyt-nav__action:hover,
.ilyt-header__quick-actions a.ilyt-nav__action:focus-visible,
.ilyt-header__portal-actions a.ilyt-nav__action:hover,
.ilyt-header__portal-actions a.ilyt-nav__action:focus-visible,
.ilyt-nav__portal-actions a.ilyt-nav__action:hover,
.ilyt-nav__portal-actions a.ilyt-nav__action:focus-visible,
.ilyt-header__quick-actions button.ilyt-nav__action:hover,
.ilyt-header__quick-actions button.ilyt-nav__action:focus-visible,
.ilyt-header__portal-actions button.ilyt-nav__action:hover,
.ilyt-header__portal-actions button.ilyt-nav__action:focus-visible,
.ilyt-nav__portal-actions button.ilyt-nav__action:hover,
.ilyt-nav__portal-actions button.ilyt-nav__action:focus-visible {
	border-color: var(--ilyt-accent);
	color: var(--ilyt-accent);
	background: transparent;
}

.ilyt-nav__menu {
	flex: 1 1 auto;
	min-width: 0;
}

.ilyt-nav__menu--split {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.5rem;
}

.ilyt-nav__list--base {
	flex-wrap: nowrap;
}

.ilyt-nav__overflow-trigger {
	border: none;
	background: transparent;
	font: inherit;
	cursor: pointer;
	text-align: left;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2rem;
	min-height: 2rem;
	padding: 0.25rem;
	color: inherit;
}

.ilyt-nav__item--overflow-trigger .ilyt-nav__item-row {
	gap: 0.35rem;
}

.ilyt-nav__item--overflow-trigger .ilyt-nav__overflow-trigger:hover,
.ilyt-header.is-nav-overflow-open .ilyt-nav__item--overflow-trigger .ilyt-nav__overflow-trigger,
.ilyt-nav.is-overflow-open .ilyt-nav__item--overflow-trigger .ilyt-nav__overflow-trigger {
	color: var(--ilyt-accent);
}

.ilyt-nav__item.is-current.ilyt-nav__item--overflow-trigger .ilyt-nav__overflow-trigger,
.ilyt-nav__item.is-current-ancestor.ilyt-nav__item--overflow-trigger .ilyt-nav__overflow-trigger {
	color: var(--ilyt-accent);
}

.ilyt-nav-overflow-toggle__icon {
	display: inline-flex;
	flex-direction: column;
	justify-content: space-between;
	width: 0.85rem;
	height: 0.6rem;
	margin-left: 0.15rem;
	flex-shrink: 0;
}

.ilyt-nav-overflow-toggle__icon span {
	display: block;
	height: 2px;
	background: currentColor;
	border-radius: 1px;
}

.ilyt-nav-overflow-row {
	display: none;
	width: 100%;
	margin-top: 0;
	padding-top: 0.65rem;
	border-top: 1px solid var(--ilyt-border);
}

.ilyt-header.is-nav-overflow-open .ilyt-nav-overflow-row,
.ilyt-header.is-nav-overflow-pinned .ilyt-nav-overflow-row {
	display: block;
}

.ilyt-nav-overflow-row .ilyt-nav__list--overflow {
	flex-wrap: wrap;
	gap: 0.65rem 1.25rem;
	align-items: stretch;
}

.ilyt-nav-overflow-row .ilyt-nav__item--has-children > .ilyt-nav__submenu {
	z-index: 110;
}

.ilyt-nav__list--overflow .ilyt-nav__children-hint {
	display: inline-flex;
	align-items: center;
	margin-left: 0.15rem;
}

.ilyt-nav__list--narodnye {
	flex-wrap: wrap;
	align-items: center;
}

.ilyt-nav__list--narodnye .ilyt-nav__item.is-current > .ilyt-nav__link,
.ilyt-nav__list--narodnye .ilyt-nav__item.is-current-ancestor > .ilyt-nav__link {
	color: var(--ilyt-accent);
}

.ilyt-nav__children-hint {
	display: inline-flex;
	align-items: center;
	margin-left: 0.2rem;
	font-size: 1.05em;
	line-height: 1;
	color: var(--ilyt-muted);
	font-weight: 600;
}

.ilyt-nav-overflow-panel {
	display: none;
	width: 100%;
}

.ilyt-mobile-menu--base {
	margin-bottom: 0.75rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--ilyt-border);
}

@media (min-width: 769px) {
	.ilyt-nav {
		position: relative;
	}

	.ilyt-nav__list--overflow {
		flex-wrap: wrap;
	}
}

.ilyt-nav__portal-actions {
	margin-left: 0;
}

.ilyt-header__quick-actions {
	display: none;
}

@media (min-width: 769px) {
	.ilyt-nav--drawer {
		display: none !important;
	}

	.ilyt-header__portal-actions {
		display: flex;
	}

	.ilyt-header__portal-actions .ilyt-nav__action {
		min-height: 44px;
	}
}

.ilyt-nav__mobile-actions {
	display: none;
}

.ilyt-btn--block {
	width: 100%;
}

.ilyt-btn--outline {
	background: transparent;
	border: 2px solid var(--ilyt-border);
	color: var(--ilyt-text);
}

.ilyt-btn--outline:hover {
	border-color: var(--ilyt-accent);
	color: var(--ilyt-accent);
}

.ilyt-map-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1rem;
}

.ilyt-section-title {
	margin: 2.5rem 0 1.25rem;
	font-size: 1.25rem;
}

.ilyt-problems-map--archive {
	margin-bottom: 0.5rem;
}

.ilyt-push-group {
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--ilyt-border);
}

/* Layout */
.ilyt-main {
	padding-block: 2rem 4rem;
}

.ilyt-layout {
	display: grid;
	grid-template-columns: 1fr min(320px, 22vw);
	gap: clamp(1.5rem, 2.5vw, 2.5rem);
	align-items: start;
}

.ilyt-layout__main {
	min-width: 0;
}

/* Single post — 15% category rail / 70% article / 15% sidebar */
.ilyt-layout--single-post.ilyt-layout--has-rail {
	grid-template-columns: minmax(0, 15fr) minmax(0, 70fr) minmax(0, 15fr);
	gap: clamp(1rem, 1.5vw, 1.75rem);
}

.ilyt-layout--single-post:not(.ilyt-layout--has-rail) {
	grid-template-columns: minmax(0, 70fr) minmax(0, 15fr);
	gap: clamp(1rem, 1.5vw, 1.75rem);
}

.ilyt-layout--single-post.ilyt-layout--has-rail .ilyt-layout__main {
	grid-column: 2;
}

.ilyt-layout--single-post:not(.ilyt-layout--has-rail) .ilyt-layout__main {
	grid-column: 1;
}

.ilyt-layout--single-post.ilyt-layout--has-rail .ilyt-sidebar {
	grid-column: 3;
}

.ilyt-layout--single-post:not(.ilyt-layout--has-rail) .ilyt-sidebar {
	grid-column: 2;
}

.ilyt-layout--single-post .ilyt-sidebar {
	min-width: 0;
}

.ilyt-single-rail {
	grid-column: 1;
	grid-row: 1;
	min-width: 0;
}

.ilyt-single-rail__stack {
	position: sticky;
	top: 1.25rem;
	max-height: calc(100vh - 5rem);
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.ilyt-single-rail__title {
	margin: 0 0 0.5rem;
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1.35;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	text-align: left;
}

.ilyt-single-rail__title a {
	color: var(--ilyt-text);
	text-decoration: none;
}

.ilyt-single-rail__title a:hover {
	color: var(--ilyt-accent);
}

.ilyt-single-rail__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.ilyt-single-rail__item + .ilyt-single-rail__item {
	border-top: none;
}

.ilyt-single-rail__card {
	display: flex;
	align-items: stretch;
	gap: 0.5rem;
	padding: 0.625rem;
	background: var(--ilyt-surface);
	border: 1px solid var(--ilyt-border);
	border-radius: var(--ilyt-radius);
	box-shadow: var(--ilyt-shadow);
	text-align: left;
}

.ilyt-single-rail__thumb-link {
	flex: 0 0 4.5rem;
	display: block;
	color: inherit;
	text-decoration: none;
}

.ilyt-single-rail__thumb {
	position: relative;
	display: block;
	width: 4.5rem;
	height: 100%;
	min-height: 4.5rem;
	border-radius: calc(var(--ilyt-radius) * 0.65);
	overflow: hidden;
	background: var(--ilyt-border);
}

.ilyt-single-rail__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ilyt-single-rail__thumb--placeholder {
	background: linear-gradient(135deg, var(--ilyt-border), var(--ilyt-surface));
}

.ilyt-single-rail__video-badge {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.75rem;
	color: #fff;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
	pointer-events: none;
}

.ilyt-single-rail__body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 0.35rem;
	text-align: left;
}

.ilyt-single-rail__headline {
	display: block;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--ilyt-text);
	text-decoration: none;
	text-align: left;
}

.ilyt-single-rail__headline:hover {
	color: var(--ilyt-accent);
}

.ilyt-single-rail__meta {
	margin: 0;
	font-size: 0.6875rem;
	line-height: 1.35;
	color: var(--ilyt-muted);
	text-align: left;
}

.ilyt-single-rail__author {
	color: var(--ilyt-text);
	font-weight: 600;
	text-decoration: none;
}

a.ilyt-single-rail__author:hover {
	color: var(--ilyt-accent);
}

.ilyt-single-rail__sep {
	color: var(--ilyt-muted);
}

.ilyt-single-rail__date {
	color: var(--ilyt-muted);
}

.ilyt-single-rail__more {
	margin: 0;
	padding: 0;
	border-top: none;
	font-size: 0.75rem;
	font-weight: 600;
	text-align: left;
}

.ilyt-layout--single-post .ilyt-sidebar .widget {
	padding: 1rem;
	margin-bottom: 1rem;
}

.ilyt-layout--single-post .ilyt-sidebar .widget-title {
	font-size: 0.8125rem;
}

.ilyt-layout--single-post .ilyt-sidebar {
	font-size: 0.8125rem;
}

/* Hero */
.ilyt-hero {
	margin-bottom: 2.5rem;
	padding: 2rem 0;
}

.ilyt-hero__title {
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 800;
	margin: 0 0 0.5rem;
	line-height: 1.2;
}

.ilyt-hero__subtitle {
	font-size: 1.125rem;
	color: var(--ilyt-muted);
	margin: 0;
}

/* Grid */
.ilyt-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--ilyt-gap);
}

@media (min-width: 1400px) {
	.ilyt-grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

@media (min-width: 1920px) {
	.ilyt-grid {
		grid-template-columns: repeat(5, 1fr);
	}
}

.ilyt-card {
	background: var(--ilyt-surface);
	border-radius: var(--ilyt-radius);
	overflow: hidden;
	box-shadow: var(--ilyt-shadow);
	display: flex;
	flex-direction: column;
	transition: transform 0.2s, box-shadow 0.2s;
}

.ilyt-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.ilyt-card__image {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--ilyt-border);
}

.ilyt-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ilyt-card__image--placeholder {
	background: linear-gradient(135deg, #f3f4f6, #e5e7eb);
}

.ilyt-card__body {
	padding: 1.25rem;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.ilyt-card__category {
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--ilyt-accent);
}

.ilyt-card__title {
	font-size: 1.125rem;
	margin: 0;
	line-height: 1.35;
}

.ilyt-card__title a {
	color: var(--ilyt-text);
}

.ilyt-card__title a:hover {
	color: var(--ilyt-accent);
}

.ilyt-card__excerpt {
	font-size: 0.9375rem;
	color: var(--ilyt-muted);
	margin: 0;
	flex: 1;
}

.ilyt-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	font-size: 0.8125rem;
	color: var(--ilyt-muted);
}

.ilyt-card__counts {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-left: auto;
}

.ilyt-card-stat {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-weight: 600;
	color: var(--ilyt-text);
	line-height: 1;
}

.ilyt-card-stat__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.125rem;
	height: 1.125rem;
	color: var(--ilyt-accent);
	flex-shrink: 0;
}

.ilyt-card-stat__icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.ilyt-card-stat__value {
	font-variant-numeric: tabular-nums;
	min-width: 1ch;
}

/* Article */
.ilyt-article {
	background: var(--ilyt-surface);
	border-radius: var(--ilyt-radius);
	padding: 2rem;
	box-shadow: var(--ilyt-shadow);
}

.ilyt-article__header {
	margin-bottom: 1.5rem;
}

.ilyt-article__category {
	display: inline-block;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--ilyt-accent);
	margin-bottom: 0.75rem;
}

.ilyt-article__title {
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	margin: 0 0 1rem;
	line-height: 1.25;
}

.ilyt-article__author-line {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.65rem;
	margin: 0 0 1.25rem;
	font-size: clamp(0.75rem, 2.4vw, 0.9rem);
	line-height: 1.35;
	color: var(--ilyt-muted);
}

.ilyt-article__author-name {
	font-weight: 700;
	color: var(--ilyt-text);
	text-decoration: none;
	white-space: nowrap;
}

.ilyt-article__author-name:hover {
	color: var(--ilyt-accent);
}

.ilyt-article__author-meta {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 0.35rem;
	min-width: 0;
}

.ilyt-article__stats {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	margin: 0 0 1.25rem;
	color: var(--ilyt-muted);
	font-size: 0.9rem;
}

.ilyt-article-stat {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-weight: 600;
	color: var(--ilyt-text);
}

.ilyt-article-stat__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.125rem;
	height: 1.125rem;
	color: var(--ilyt-accent);
}

.ilyt-article-stat__value {
	font-variant-numeric: tabular-nums;
}

.ilyt-article__body {
	display: grid;
	gap: 1.5rem;
	margin-bottom: 1.5rem;
}

.ilyt-article__body--has-media {
	grid-template-columns: minmax(180px, 40%) 1fr;
	align-items: start;
}

.ilyt-article__media .ilyt-post-gallery,
.ilyt-article__media .ilyt-article__figure {
	margin: 0;
}

.ilyt-article__media .ilyt-post-gallery__item img {
	max-width: 100%;
}

.ilyt-article__actions {
	margin-top: 1.25rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
}

.ilyt-share-actions-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 0.5rem;
	width: 100%;
}

/* Unified post action row — compact buttons (~50% of default .ilyt-btn) */
.ilyt-post-actions {
	width: 100%;
}

.ilyt-post-actions--card {
	margin-top: 0.35rem;
}

.ilyt-post-actions__row {
	gap: 0.35rem;
}

.ilyt-post-actions__row > .ilyt-btn,
.ilyt-post-actions__row .ilyt-post-action-dropdown__toggle,
.ilyt-post-actions__row .ilyt-post-action-btn {
	min-height: 22px;
	min-width: 22px;
	padding: 0.3rem 0.55rem;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.2;
	border-width: 1px;
	gap: 0.25rem;
}

.ilyt-post-actions__row .ilyt-btn__emoji {
	font-size: 0.85rem;
	line-height: 1;
}

.ilyt-post-actions__row .ilyt-btn__label {
	white-space: nowrap;
}

.ilyt-post-action-btn__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1rem;
	margin-left: 0.15rem;
	padding: 0 0.3rem;
	border-radius: 999px;
	font-size: 0.65rem;
	font-weight: 700;
	background: var(--ilyt-border);
}

.ilyt-post-actions__row .ilyt-competition-like-btn.is-liked {
	border-color: color-mix(in srgb, var(--ilyt-accent) 45%, var(--ilyt-border));
	background: color-mix(in srgb, var(--ilyt-accent) 12%, transparent);
	color: var(--ilyt-accent);
}

.ilyt-post-actions__row .ilyt-competition-like-btn.is-liked .ilyt-post-action-btn__count {
	background: color-mix(in srgb, var(--ilyt-accent) 22%, var(--ilyt-border));
}

.ilyt-post-action-dropdown {
	position: relative;
	display: inline-flex;
	z-index: 3;
}

.ilyt-post-action-dropdown__menu {
	position: absolute;
	top: calc(100% + 0.25rem);
	left: 0;
	z-index: 50;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.2rem;
	min-width: 7.5rem;
	padding: 0.35rem;
	background: var(--ilyt-surface);
	border: 1px solid var(--ilyt-border);
	border-radius: var(--ilyt-radius);
	box-shadow: var(--ilyt-shadow);
}

.ilyt-post-action-dropdown__menu[hidden] {
	display: none !important;
}

.ilyt-post-action-dropdown--dropup .ilyt-post-action-dropdown__menu {
	top: auto;
	bottom: calc(100% + 0.25rem);
}

.ilyt-post-actions--card:has([data-post-action-dropdown].is-open) {
	position: relative;
	z-index: 4;
}

.ilyt-card:has(.ilyt-post-actions--card [data-post-action-dropdown].is-open),
.ilyt-card.is-actions-open {
	overflow: visible;
	z-index: 5;
}

.ilyt-post-action-dropdown__item {
	display: block;
	width: 100%;
	padding: 0.35rem 0.55rem;
	border: none;
	border-radius: calc(var(--ilyt-radius) - 2px);
	background: transparent;
	color: var(--ilyt-text);
	font: inherit;
	font-size: 0.75rem;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

.ilyt-post-action-dropdown__item:hover:not(:disabled) {
	background: color-mix(in srgb, var(--ilyt-accent) 10%, transparent);
	color: var(--ilyt-accent);
}

.ilyt-post-action-dropdown__item:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

.ilyt-post-action-dropdown__item.ilyt-karma-thanks-btn {
	width: 100%;
	height: auto;
	min-width: 0;
	padding: 0.35rem 0.55rem;
	display: block;
	font-size: 0.75rem;
	font-weight: 600;
	border-radius: calc(var(--ilyt-radius) - 2px);
}

.ilyt-post-action-dropdown__hint {
	margin: 0;
	padding: 0.25rem 0.35rem;
	font-size: 0.7rem;
	color: var(--ilyt-muted);
	text-align: center;
}

.ilyt-post-actions__row .ilyt-post-feedback-btn.is-active {
	border-color: var(--ilyt-accent);
	background: color-mix(in srgb, var(--ilyt-accent) 12%, transparent);
	color: var(--ilyt-accent);
}

.ilyt-post-actions .ilyt-share-panel {
	width: 100%;
	margin-top: 0;
}

.ilyt-post-actions[data-share-wrap].is-share-open .ilyt-share-panel:not([hidden]) {
	margin-top: 0.5rem;
}

.ilyt-post-feedback-btn.is-active {
	border-color: var(--ilyt-accent);
	background: color-mix(in srgb, var(--ilyt-accent) 12%, transparent);
	color: var(--ilyt-accent);
}

.ilyt-post-feedback-btn.is-busy {
	opacity: 0.65;
	pointer-events: none;
}

.ilyt-post-bayan__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.25rem;
	margin-left: 0.35rem;
	padding: 0 0.35rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	background: var(--ilyt-border);
}

.ilyt-post-feedback-btn.is-active .ilyt-post-bayan__count {
	background: color-mix(in srgb, var(--ilyt-accent) 22%, var(--ilyt-border));
}

.ilyt-article__actions .ilyt-share-panel {
	width: 100%;
	margin-top: 0;
}

[data-share-wrap].is-share-open .ilyt-share-panel:not([hidden]) {
	display: block;
	margin-top: 0.75rem;
	animation: ilyt-share-panel-in 0.32s ease;
}

.ilyt-share-panel[hidden] {
	display: none !important;
}

@keyframes ilyt-share-panel-in {
	from {
		opacity: 0;
		transform: translateY(-12px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.ilyt-share-panel__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	gap: 0.65rem;
}

.ilyt-share-panel .ilyt-share-panel__item.ilyt-share__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	color: inherit;
	cursor: pointer;
	box-shadow: none;
	transition: transform 0.15s ease, filter 0.15s ease;
}

.ilyt-share-panel .ilyt-share-panel__item.ilyt-share__link:hover {
	transform: translateY(-2px) scale(1.06);
	filter: brightness(1.05);
}

.ilyt-share-panel__item .ilyt-share__icon {
	display: inline-flex;
	width: 2.25rem;
	height: 2.25rem;
	line-height: 0;
}

.ilyt-share-panel__item .ilyt-share__icon svg,
.ilyt-share-panel__item .ilyt-share__icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ilyt-share-panel__item .ilyt-share__name {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.ilyt-article__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	font-size: 0.875rem;
	color: var(--ilyt-muted);
}

.ilyt-article__author {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.ilyt-article__author img {
	border-radius: 50%;
}

.ilyt-article__figure {
	margin: 0 0 1.5rem;
	border-radius: var(--ilyt-radius);
	overflow: hidden;
}

.ilyt-article__figure img {
	width: 100%;
	height: auto;
	display: block;
}

/* Post gallery ribbon */
.ilyt-post-gallery {
	margin: 0 0 1.5rem;
}

.ilyt-post-gallery__track {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 0.75rem;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x proximity;
	padding-bottom: 0.35rem;
	scrollbar-width: thin;
}

.ilyt-post-gallery__item {
	flex: 0 0 auto;
	border: none;
	padding: 0;
	margin: 0;
	background: none;
	cursor: zoom-in;
	border-radius: var(--ilyt-radius);
	overflow: hidden;
	scroll-snap-align: start;
	line-height: 0;
}

.ilyt-post-gallery__item img {
	display: block;
	max-width: 500px;
	max-height: 500px;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: var(--ilyt-radius);
}

.ilyt-post-gallery__lightbox-img {
	display: block;
	max-width: min(1024px, 92vw);
	max-height: min(1024px, 85vh);
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: var(--ilyt-radius);
}

.ilyt-post-gallery__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	border: none;
	background: rgba(255, 255, 255, 0.92);
	color: #1a1a1a;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	font-size: 1.75rem;
	line-height: 1;
	cursor: pointer;
	z-index: 2;
}

.ilyt-post-gallery__nav--prev {
	left: 0.25rem;
}

.ilyt-post-gallery__nav--next {
	right: 0.25rem;
}

.ilyt-post-gallery__counter {
	position: absolute;
	bottom: 0.5rem;
	left: 50%;
	transform: translateX(-50%);
	margin: 0;
	color: #fff;
	font-size: 0.875rem;
}

.ilyt-article__content img,
.ilyt-post-photo img {
	max-width: 100%;
	height: auto;
	display: block;
	border-radius: var(--ilyt-radius);
}

.ilyt-post-photo {
	margin: 0 0 1.5rem;
}

.ilyt-article__content {
	font-size: 1.0625rem;
	line-height: 1.75;
}

.ilyt-article__content p {
	margin: 0 0 1.25rem;
}

/* Share — single post */
.ilyt-share--post {
	margin: 2rem 0 0;
	padding: 1.25rem 1.5rem;
	background: var(--ilyt-bg);
	border: 1px solid var(--ilyt-border);
	border-radius: var(--ilyt-radius);
}

.ilyt-share__title {
	margin: 0 0 1rem;
	font-size: 1rem;
	font-weight: 700;
	color: var(--ilyt-text);
}

.ilyt-share__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
}

.ilyt-share__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 0.875rem;
	border-radius: 999px;
	border: 1px solid var(--ilyt-border);
	background: var(--ilyt-surface);
	color: var(--ilyt-text);
	font-size: 0.875rem;
	font-weight: 600;
	font-family: inherit;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.ilyt-share__link:hover {
	transform: translateY(-1px);
	box-shadow: var(--ilyt-shadow);
}

.ilyt-share__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.25rem;
	height: 1.25rem;
	flex-shrink: 0;
}

.ilyt-share__icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ilyt-share__link--vk { color: #0077ff; border-color: rgba(0, 119, 255, 0.35); }
.ilyt-share__link--ok { color: #ee8208; border-color: rgba(238, 130, 8, 0.35); }
.ilyt-share__link--mail { color: #005ff9; border-color: rgba(0, 95, 249, 0.35); }
.ilyt-share__link--yandex { color: #fc3f1d; border-color: rgba(252, 63, 29, 0.35); }
.ilyt-share__link--copy { color: var(--ilyt-accent); border-color: rgba(212, 90, 42, 0.35); }

.ilyt-share--profile {
	margin-top: 1.25rem;
	padding: 0;
	border: 0;
	background: transparent;
}

.ilyt-share--profile .ilyt-share__title {
	font-size: 0.95rem;
}

/* Share — compact icons on post cards */
.ilyt-share--compact {
	margin: 0.75rem 0 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.ilyt-share--compact .ilyt-share__grid {
	gap: 0.5rem;
}

.ilyt-share--compact .ilyt-share__link {
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.ilyt-share--compact .ilyt-share__link:hover {
	transform: translateY(-2px) scale(1.06);
	box-shadow: none;
	background: transparent;
	filter: brightness(1.05);
}

.ilyt-share--compact .ilyt-share__icon {
	width: 2rem;
	height: 2rem;
}

.ilyt-share--compact .ilyt-share__icon svg,
.ilyt-share--compact .ilyt-share__icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ilyt-share--compact .ilyt-share__name {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.ilyt-share-dropdown {
	position: relative;
	display: inline-block;
	overflow: visible;
	z-index: 2;
}

.ilyt-share-dropdown__menu {
	position: absolute;
	top: calc(100% + 0.35rem);
	left: 50%;
	transform: translateX(-50%);
	z-index: 50;
	min-width: 14rem;
	padding: 0.5rem;
	background: var(--ilyt-surface);
	border: 1px solid var(--ilyt-border);
	border-radius: var(--ilyt-radius);
	box-shadow: var(--ilyt-shadow);
}

.ilyt-share-dropdown__menu[hidden] {
	display: none !important;
}

.ilyt-share-dropdown.is-open .ilyt-share-dropdown__menu,
.ilyt-share-dropdown__menu:not([hidden]) {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.35rem;
}

.ilyt-share-dropdown__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.15s ease, filter 0.15s ease;
}

.ilyt-share-dropdown__item:hover {
	transform: translateY(-2px) scale(1.06);
	background: transparent;
	filter: brightness(1.05);
}

.ilyt-share-dropdown__item .ilyt-share__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	width: 2.25rem;
	height: 2.25rem;
}

.ilyt-share-dropdown__item .ilyt-share__icon svg,
.ilyt-share-dropdown__item .ilyt-share__icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ilyt-share-dropdown__item .ilyt-share__name {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.ilyt-share__link--copy.is-copied {
	background: var(--ilyt-success-bg, rgba(34, 197, 94, 0.15));
	border-color: var(--ilyt-success-border, rgba(34, 197, 94, 0.35));
	color: var(--ilyt-success-text, #16a34a);
}

/* Sidebar */
.ilyt-sidebar .widget {
	background: var(--ilyt-surface);
	border-radius: var(--ilyt-radius);
	padding: 1.25rem;
	margin-bottom: 1.5rem;
	box-shadow: var(--ilyt-shadow);
}

.widget-title {
	font-size: 1rem;
	margin: 0 0 1rem;
}

.ilyt-top-authors {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ilyt-top-authors__item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 2.75rem 3rem;
	gap: 0.35rem 0.5rem;
	align-items: center;
	padding: 0.5rem 0;
	border-bottom: 1px solid var(--ilyt-border);
}

.ilyt-top-authors__item:last-child {
	border-bottom: none;
}

.ilyt-top-authors__name {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ilyt-top-authors__level {
	justify-self: center;
	text-align: center;
}

.ilyt-top-authors__level .ilyt-karma-badge {
	justify-content: center;
	min-width: 2.75rem;
}

.ilyt-top-authors__level .ilyt-karma-badge__level {
	display: inline-block;
	min-width: 1ch;
	text-align: center;
	font-variant-numeric: tabular-nums;
}

.ilyt-top-authors__score {
	justify-self: end;
	font-weight: 700;
	color: var(--ilyt-accent);
	text-align: right;
	font-variant-numeric: tabular-nums;
	min-width: 3rem;
}

.ilyt-widget-link {
	margin: 0.75rem 0 0;
	font-size: 0.875rem;
}

/* Emotional thermometer (homepage sidebar) */
.ilyt-emotion-thermometer__subtitle {
	margin: -0.35rem 0 0.85rem;
	font-size: 0.875rem;
	color: var(--ilyt-muted);
}

.ilyt-emotion-thermometer__bar {
	display: flex;
	width: 100%;
	height: 0.75rem;
	border-radius: 999px;
	overflow: hidden;
	background: var(--ilyt-border);
}

.ilyt-emotion-thermometer__seg {
	display: block;
	height: 100%;
	min-width: 0;
	transition: width 0.35s ease;
}

.ilyt-emotion-thermometer__seg--pos {
	background: #22c55e;
}

.ilyt-emotion-thermometer__seg--neu {
	background: #94a3b8;
}

.ilyt-emotion-thermometer__seg--neg {
	background: #ef4444;
}

.ilyt-emotion-thermometer__seg--empty {
	width: 100%;
	background: linear-gradient(90deg, #94a3b8 0%, #cbd5e1 100%);
}

.ilyt-emotion-thermometer__status {
	margin: 0.75rem 0 0.35rem;
	font-weight: 700;
	font-size: 0.9375rem;
}

.ilyt-emotion-thermometer--good .ilyt-emotion-thermometer__status {
	color: #16a34a;
}

.ilyt-emotion-thermometer--calm .ilyt-emotion-thermometer__status {
	color: var(--ilyt-text);
}

.ilyt-emotion-thermometer--tense .ilyt-emotion-thermometer__status {
	color: #dc2626;
}

.ilyt-emotion-thermometer__meta {
	margin: 0 0 1rem;
	font-size: 0.8125rem;
	line-height: 1.4;
}

.ilyt-emotion-thermometer__cta {
	margin-top: 0.25rem;
	font-size: 0.875rem;
	padding: 0.55rem 0.85rem;
	min-height: auto;
}

/* Sidebar feed widgets (Свежее / Комментарии) */
.ilyt-widget-feed {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.ilyt-widget-feed__item {
	margin: 0;
}

.ilyt-widget-feed__card {
	background: var(--ilyt-bg, #f8fafc);
	border: 1px solid var(--ilyt-border);
	border-radius: calc(var(--ilyt-radius) - 2px);
	padding: 0.75rem 0.875rem;
}

.ilyt-widget-feed__title {
	margin: 0 0 0.35rem;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.35;
}

.ilyt-widget-feed__title a,
.ilyt-widget-feed__teaser,
.ilyt-widget-feed__post-title,
.ilyt-widget-feed__author {
	color: inherit;
	text-decoration: none;
}

.ilyt-widget-feed__title a:hover,
.ilyt-widget-feed__teaser:hover,
.ilyt-widget-feed__post-title:hover,
.ilyt-widget-feed__author:hover {
	color: var(--ilyt-accent);
	text-decoration: underline;
}

.ilyt-widget-feed__teaser {
	display: block;
	font-size: 0.8125rem;
	line-height: 1.4;
	color: var(--ilyt-muted);
}

.ilyt-widget-feed__comment-line {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.45;
}

.ilyt-widget-feed__sep {
	color: var(--ilyt-muted);
}

.ilyt-widget-feed__author {
	font-weight: 600;
}

/* Breadcrumbs */
.ilyt-breadcrumbs {
	margin-bottom: 1.5rem;
	font-size: 0.875rem;
}

.ilyt-breadcrumbs__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ilyt-breadcrumbs__item:not(:last-child)::after {
	content: "/";
	margin-left: 0.5rem;
	color: var(--ilyt-muted);
}

.ilyt-breadcrumbs a {
	color: var(--ilyt-muted);
}

/* Footer */
.ilyt-footer {
	background: var(--ilyt-surface);
	border-top: 1px solid var(--ilyt-border);
	padding: 2.5rem 0;
	margin-top: 2rem;
}

.ilyt-footer__inner {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	justify-content: space-between;
}

.ilyt-footer__brand p {
	color: var(--ilyt-muted);
	margin: 0.5rem 0 0;
	font-size: 0.875rem;
}

.ilyt-footer__menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.ilyt-footer__copy {
	width: 100%;
	font-size: 0.8125rem;
	color: var(--ilyt-muted);
	margin: 1rem 0 0;
}

.ilyt-footer__link-btn,
.ilyt-footer__legal-link {
	display: inline;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	color: var(--ilyt-accent, #2563eb);
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.ilyt-footer__link-btn:hover,
.ilyt-footer__legal-link:hover {
	opacity: 0.85;
}

.ilyt-footer__legal {
	width: 100%;
	margin: 0.75rem 0 0;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	font-size: 0.8125rem;
}

.ilyt-footer__legal-link {
	text-align: left;
	color: var(--ilyt-muted);
}

/* Cookie consent banner */
.ilyt-cookie-banner {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10040;
	padding: 0.85rem 0 calc(0.85rem + env(safe-area-inset-bottom, 0px));
	background: var(--ilyt-surface, #fff);
	border-top: 1px solid var(--ilyt-border, #e5e7eb);
	box-shadow: 0 -8px 32px rgba(15, 23, 42, 0.12);
}

.ilyt-cookie-banner[hidden] {
	display: none;
}

.ilyt-cookie-banner__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.85rem 1.25rem;
}

.ilyt-cookie-banner__text {
	flex: 1 1 18rem;
	margin: 0;
	font-size: 0.8125rem;
	line-height: 1.45;
	color: var(--ilyt-text, #111827);
}

.ilyt-cookie-banner__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	flex-shrink: 0;
}

.ilyt-cookie-banner__accept,
.ilyt-cookie-banner__details {
	white-space: nowrap;
}

@media (max-width: 640px) {
	.ilyt-cookie-banner__inner {
		flex-direction: column;
		align-items: stretch;
	}

	.ilyt-cookie-banner__actions {
		width: 100%;
	}

	.ilyt-cookie-banner__accept,
	.ilyt-cookie-banner__details {
		flex: 1;
	}
}

/* Site-wide modals (footer, etc.) */
body.ilyt-modal-open {
	overflow: hidden;
}

.ilyt-modal {
	position: fixed;
	inset: 0;
	z-index: 10050;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: max(1rem, env(safe-area-inset-top, 0px)) max(1rem, env(safe-area-inset-right, 0px)) max(1rem, env(safe-area-inset-bottom, 0px)) max(1rem, env(safe-area-inset-left, 0px));
	background: rgba(15, 23, 42, 0.55);
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.ilyt-modal[hidden] {
	display: none !important;
}

.ilyt-modal__dialog {
	position: relative;
	width: 100%;
	max-width: min(28rem, calc(100vw - 2rem));
	max-height: calc(100dvh - 2rem);
	margin: auto;
	flex-shrink: 0;
	padding: 1.5rem;
	border-radius: 12px;
	background: var(--ilyt-bg, #fff);
	color: var(--ilyt-text, #111);
	box-shadow: 0 20px 40px rgba(15, 23, 42, 0.18);
	overflow-x: hidden;
	overflow-y: auto;
	box-sizing: border-box;
}

.ilyt-modal__dialog--legal {
	width: min(66.666vw, calc(var(--ilyt-vw, 100vw) - 2rem));
	max-width: none;
	max-height: 85vh;
	overflow-y: auto;
	background: #fff;
	color: #111;
}

.ilyt-modal--legal .ilyt-modal__close {
	color: #111;
}

.ilyt-modal__close {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	font-size: 1.5rem;
	line-height: 1;
	color: var(--ilyt-muted);
	cursor: pointer;
}

.ilyt-modal__close:hover {
	background: rgba(0, 0, 0, 0.06);
}

.ilyt-modal__dialog h2,
.ilyt-modal__dialog h3 {
	margin: 0 0 1rem;
	padding-right: 2rem;
	font-size: 1.125rem;
}

.ilyt-modal__dialog--legal h2 {
	font-size: 1.25rem;
}

.ilyt-modal .ilyt-form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.ilyt-modal .ilyt-form__group {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.ilyt-modal .ilyt-form__group label {
	font-weight: 600;
	font-size: 0.9375rem;
}

.ilyt-modal .ilyt-form__group textarea {
	min-height: 7.5rem;
	resize: vertical;
}

.ilyt-modal .ilyt-form__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.ilyt-modal.ilyt-modal--gallery {
	background: rgba(0, 0, 0, 0.88);
}

.ilyt-modal.ilyt-modal--gallery .ilyt-modal__dialog--gallery {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: min(96vw, 1080px);
	width: auto;
	padding: 2.5rem 3rem;
	background: transparent;
	box-shadow: none;
	color: #fff;
}

.ilyt-modal.ilyt-modal--gallery .ilyt-modal__close {
	color: #fff;
	background: rgba(0, 0, 0, 0.45);
}

.ilyt-form__alert {
	margin: 0;
	padding: 0.75rem 1rem;
	border-radius: 8px;
	font-size: 0.875rem;
}

.ilyt-form__alert.is-success {
	background: var(--ilyt-success-bg);
	color: var(--ilyt-success-text);
}

.ilyt-form__alert.is-error {
	background: var(--ilyt-error-bg);
	color: var(--ilyt-error-text);
}

/* Auto-close alert timer */
.ilyt-cabinet__alert.is-auto-close,
.ilyt-comments__alert.is-auto-close,
.ilyt-form__alert.is-auto-close,
.ilyt-moderation__alert.is-auto-close,
.ilyt-toast.is-auto-close {
	position: relative;
	overflow: hidden;
	padding-bottom: 0.85rem;
}

.ilyt-alert__text {
	display: block;
}

.ilyt-alert__timer-track {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: rgba(0, 0, 0, 0.08);
}

.ilyt-alert__timer-bar {
	display: block;
	height: 100%;
	width: 100%;
	transform-origin: left center;
	animation-name: ilyt-alert-timer-shrink;
	animation-timing-function: linear;
	animation-fill-mode: forwards;
}

.is-success .ilyt-alert__timer-bar {
	background: currentColor;
	opacity: 0.45;
}

.is-info .ilyt-alert__timer-bar {
	background: currentColor;
	opacity: 0.4;
}

@keyframes ilyt-alert-timer-shrink {
	from {
		transform: scaleX(1);
	}
	to {
		transform: scaleX(0);
	}
}

.ilyt-toast-host {
	position: fixed;
	bottom: 1.5rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10060;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	pointer-events: none;
	width: min(420px, calc(var(--ilyt-vw, 100vw) - 2rem));
}

.ilyt-toast {
	pointer-events: auto;
	padding: 0.75rem 1rem;
	border-radius: 10px;
	font-size: 0.875rem;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.18);
	border: 1px solid var(--ilyt-border, #e5e7eb);
	background: var(--ilyt-surface, #fff);
	color: var(--ilyt-text, #111);
}

.ilyt-toast.is-success {
	background: var(--ilyt-success-bg);
	color: var(--ilyt-success-text);
	border-color: var(--ilyt-success-border);
}

.ilyt-toast.is-error {
	background: var(--ilyt-error-bg);
	color: var(--ilyt-error-text);
	border-color: var(--ilyt-error-border);
}

.ilyt-toast.is-info {
	background: var(--ilyt-info-bg);
	color: var(--ilyt-info-text);
	border-color: var(--ilyt-info-border);
}

.ilyt-legal-doc h3 {
	margin: 1.25rem 0 0.5rem;
	font-size: 1rem;
	color: #111;
}

.ilyt-legal-doc p,
.ilyt-legal-doc li {
	font-size: 0.9375rem;
	line-height: 1.6;
	color: #111;
}

.ilyt-legal-doc ul {
	margin: 0.5rem 0 0;
	padding-left: 1.25rem;
}

.ilyt-visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Pagination */
.ilyt-pagination {
	margin-top: 2.5rem;
}

.ilyt-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
}

.ilyt-pagination a,
.ilyt-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 0.75rem;
	border-radius: var(--ilyt-radius);
	background: var(--ilyt-surface);
	border: 1px solid var(--ilyt-border);
	color: var(--ilyt-text);
}

.ilyt-pagination .current {
	background: var(--ilyt-accent);
	border-color: var(--ilyt-accent);
	color: #fff;
}

.ilyt-muted {
	color: var(--ilyt-muted);
}

.ilyt-empty {
	text-align: center;
	padding: 3rem;
	color: var(--ilyt-muted);
}

.ilyt-404 {
	text-align: center;
	padding: 4rem 1rem;
}

.ilyt-404__title {
	font-size: 4rem;
	margin: 0;
	color: var(--ilyt-accent);
}

/* Event meta */
.ilyt-event-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 2rem;
	margin-top: 1.5rem;
	padding: 1rem 1.25rem;
	background: var(--ilyt-bg);
	border-radius: var(--ilyt-radius);
	font-size: 0.9375rem;
}

/* Map */
.ilyt-map-block {
	margin-top: 1.5rem;
}

.ilyt-map-block__address {
	margin: 0 0 0.75rem;
	font-size: 0.9375rem;
}

.ilyt-map,
.ilyt-geo-map {
	height: 280px;
	border-radius: var(--ilyt-radius);
	overflow: hidden;
	background: var(--ilyt-border);
	z-index: 1;
}

/* Comments */
.ilyt-comments__count {
	margin: 2rem 0 1rem;
	padding: 0;
	border: none;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--ilyt-text);
}

.ilyt-comments {
	margin-top: 0;
	background: var(--ilyt-surface);
	border-radius: var(--ilyt-radius);
	padding: 2rem;
	box-shadow: var(--ilyt-shadow);
}

.ilyt-comments__title {
	margin: 0 0 1.25rem;
	font-size: 1.25rem;
}

.ilyt-comments__form {
	margin-bottom: 0;
}

.ilyt-comments__form .ilyt-form__group textarea {
	width: 100%;
	min-height: 120px;
	resize: vertical;
}

.ilyt-comments__form-actions {
	display: flex;
	justify-content: flex-start;
}

.ilyt-comments .ilyt-form {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.ilyt-comments .ilyt-form__group {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
}

.ilyt-comments .ilyt-form__group label {
	font-weight: 600;
	font-size: 0.9375rem;
}

.ilyt-comments__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.ilyt-comment__header {
	display: flex;
	gap: 0.75rem;
	align-items: flex-start;
	margin-bottom: 0.5rem;
}

.ilyt-comment__header img {
	border-radius: 50%;
	flex-shrink: 0;
}

.ilyt-comment__headline {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.2rem 0.45rem;
	min-width: 0;
	font-size: clamp(0.8125rem, 2.2vw, 0.9375rem);
	line-height: 1.4;
}

.ilyt-comment__author {
	font-weight: 700;
	color: var(--ilyt-text);
	text-decoration: none;
}

a.ilyt-comment__author:hover {
	color: var(--ilyt-accent);
}

.ilyt-comment__status {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.2rem;
	color: var(--ilyt-muted);
}

.ilyt-comment__sep {
	color: var(--ilyt-muted);
}

.ilyt-comment__date {
	font-size: inherit;
	color: var(--ilyt-muted);
}

.ilyt-comment__footer {
	margin-top: 0.5rem;
}

.ilyt-comment__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
}

.ilyt-comment__report {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	background: none;
	border: none;
	color: var(--ilyt-muted);
	font-size: 0.875rem;
	cursor: pointer;
	padding: 0.25rem 0;
	min-height: 44px;
}

.ilyt-comment__report:hover {
	color: var(--ilyt-accent);
}

.ilyt-comment__author {
	display: inline;
}

.ilyt-comment__content {
	font-size: 0.9375rem;
	line-height: 1.6;
}

.ilyt-comment__reply {
	background: none;
	border: none;
	color: var(--ilyt-accent);
	font-weight: 600;
	cursor: pointer;
	padding: 0.25rem 0;
	min-height: 44px;
}

.ilyt-comments__reply-context {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.625rem 0.875rem;
	margin-bottom: 0.75rem;
	background: var(--ilyt-surface-alt, #f3f4f6);
	border-radius: var(--ilyt-radius);
	font-size: 0.875rem;
}

.ilyt-comments__reply-context[hidden] {
	display: none !important;
}

.ilyt-comments__reply-context-text {
	margin: 0;
	flex: 1;
	min-width: 0;
}

.ilyt-comments__reply-cancel {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border: none;
	border-radius: 50%;
	background: transparent;
	color: var(--ilyt-muted);
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
}

.ilyt-comments__reply-cancel:hover {
	color: var(--ilyt-text);
	background: rgba(0, 0, 0, 0.06);
}

.ilyt-comment-branch {
	margin-top: 0.75rem;
}

.ilyt-comment-branch__toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: none;
	border: none;
	color: var(--ilyt-accent);
	font-weight: 600;
	font-size: 0.875rem;
	cursor: pointer;
	padding: 0.25rem 0;
	min-height: 44px;
}

.ilyt-comment-branch__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	border: 1px solid currentColor;
	border-radius: 4px;
	font-size: 1rem;
	line-height: 1;
}

.ilyt-comment-branch__list {
	list-style: none;
	margin: 0.75rem 0 0;
	padding: 0 0 0 1rem;
	border-left: 2px solid var(--ilyt-border, #e5e7eb);
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.ilyt-comment-branch.is-collapsed .ilyt-comment-branch__list {
	display: none;
}

.ilyt-comments__alert {
	padding: 0.75rem 1rem;
	border-radius: var(--ilyt-radius);
	margin-bottom: 1rem;
}

.ilyt-comments__alert.is-success {
	background: var(--ilyt-success-bg);
	color: var(--ilyt-success-text);
}

.ilyt-comments__alert.is-error {
	background: var(--ilyt-error-bg);
	color: var(--ilyt-error-text);
}

.ilyt-comments__alert.is-info {
	background: var(--ilyt-info-bg);
	color: var(--ilyt-info-text);
}

.ilyt-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

@media (max-width: 768px) {
	.ilyt-article__body--has-media {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.ilyt-form__row {
		grid-template-columns: 1fr;
	}
}

/* Problems map page */
.ilyt-page-header--map {
	margin-bottom: 1.5rem;
}

.ilyt-page-desc {
	color: var(--ilyt-muted);
	margin: 0.5rem 0 0;
}

.ilyt-mobile-shell {
	display: none;
}

.ilyt-map-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

.ilyt-map-toolbar__filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	flex: 0 1 auto;
}

.ilyt-map-toolbar__search {
	flex: 1 1 12rem;
	min-width: min(100%, 12rem);
	max-width: 22rem;
	margin-left: auto;
}

.ilyt-map-toolbar--actions {
	align-items: stretch;
}

.ilyt-map-toolbar__actions {
	flex: 0 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem 0.85rem;
}

.ilyt-map-toolbar__search-group {
	flex: 1 1 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	min-width: min(100%, 12rem);
}

.ilyt-map-toolbar__search-group .ilyt-search-form {
	flex: 1 1 12rem;
	min-width: min(100%, 12rem);
	max-width: none;
	margin: 0;
}

.ilyt-map-toolbar__search--full {
	max-width: none;
	margin-left: 0;
	flex: 1 1 100%;
}

.ilyt-map-toolbar .ilyt-search-form {
	max-width: none;
	margin-left: 0;
	width: 100%;
}

.ilyt-map-toolbar .ilyt-map-search__input {
	min-height: 44px;
	height: 44px;
	padding-top: 0;
	padding-bottom: 0;
	border-radius: 999px;
	box-sizing: border-box;
	font-size: 0.875rem;
	font-weight: 500;
}

.ilyt-map-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.ilyt-map-filters__btn {
	min-height: 44px;
	padding: 0 1rem;
	border: 1px solid var(--ilyt-border);
	border-radius: 999px;
	background: var(--ilyt-bg);
	color: var(--ilyt-text);
	font-family: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	white-space: nowrap;
	transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.ilyt-map-filters__btn:hover:not(.is-active) {
	border-color: var(--ilyt-accent);
	color: var(--ilyt-accent);
}

.ilyt-map-filters__btn.is-active {
	background: var(--ilyt-accent);
	border-color: var(--ilyt-accent);
	color: var(--ilyt-on-accent, #fff);
}

.ilyt-map-popup__title {
	margin: 0.5rem 0.75rem 0.35rem;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--ilyt-text);
	text-align: center;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	word-break: break-word;
}

.ilyt-map-popup__address {
	margin: 0.35rem 0 0.5rem;
	font-size: 0.85rem;
	color: var(--ilyt-muted, #666);
}

.ilyt-problems-map:not(.ilyt-home-skidki-map__canvas),
.ilyt-kindness-map:not(.ilyt-home-skidki-map__canvas) {
	height: min(70vh, 560px);
	border-radius: var(--ilyt-radius);
	overflow: hidden;
	background: var(--ilyt-border);
	z-index: 1;
}

.ilyt-map-legend {
	margin-top: 0.75rem;
	font-size: 0.875rem;
}

.ilyt-map-popup strong {
	font-size: 0.9375rem;
}

.ilyt-map-marker {
	background: transparent;
	border: 0;
}

.ilyt-map-marker__pin {
	display: block;
	width: 48px;
	height: 48px;
	border-radius: 10px;
	overflow: hidden;
	border: 3px solid #fff;
	box-shadow: 0 4px 14px rgb(0 0 0 / 35%);
	background: var(--ilyt-card-bg, #fff);
}

.ilyt-map-marker__pin img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ilyt-map-marker__pin--kindness {
	border-color: #22c55e;
	background: #ecfdf5;
}

.ilyt-map-marker--kindness .ilyt-map-marker__pin:empty {
	background: linear-gradient(135deg, #22c55e, #16a34a);
	min-width: 32px;
	min-height: 32px;
	border-radius: 50% 50% 50% 0;
	transform: rotate(-45deg);
}

.ilyt-map-toolbar--city {
	align-items: center;
	gap: 0.75rem 1rem;
	margin-bottom: 1rem;
}

.ilyt-map-toolbar--city .ilyt-city-map-nav {
	flex: 1 1 auto;
	margin: 0;
	gap: 0.5rem;
}

.ilyt-map-toolbar--city .ilyt-city-map-nav__link {
	min-height: 2.25rem;
	padding: 0.45rem 0.9rem;
	font-size: 0.9375rem;
	line-height: 1.2;
	box-sizing: border-box;
}

.ilyt-map-toolbar--city .ilyt-map-toolbar__search {
	flex: 0 1 16rem;
	min-width: min(100%, 12rem);
	max-width: 20rem;
	margin-left: auto;
}

@media (min-width: 641px) {
	.ilyt-map-toolbar--city {
		flex-wrap: nowrap;
	}
}

.ilyt-city-map-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
	margin: 0 0 1rem;
}

.ilyt-city-map-nav__link {
	display: inline-flex;
	align-items: center;
	padding: 0.45rem 0.9rem;
	border: 1px solid var(--ilyt-border);
	border-radius: var(--ilyt-radius);
	background: var(--ilyt-surface);
	color: var(--ilyt-text);
	font-weight: 500;
	text-decoration: none;
}

.ilyt-city-map-nav__link:hover {
	border-color: var(--ilyt-accent);
	color: var(--ilyt-accent);
}

.ilyt-city-map-nav__link.is-active {
	border-color: var(--ilyt-accent);
	background: var(--ilyt-accent);
	color: var(--ilyt-white, #fff);
	pointer-events: none;
}

.ilyt-city-map-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 1rem;
}

.ilyt-city-map-tabs__btn {
	padding: 0.5rem 1rem;
	border: 2px solid var(--ilyt-border);
	border-radius: var(--ilyt-radius);
	background: var(--ilyt-card-bg, #fff);
	color: var(--ilyt-text);
	font-size: 0.9375rem;
	font-weight: 600;
	cursor: pointer;
	transition: border-color 0.2s, color 0.2s, background 0.2s;
}

.ilyt-city-map-tabs__btn:hover,
.ilyt-city-map-tabs__btn:focus-visible {
	border-color: var(--ilyt-accent);
	color: var(--ilyt-accent);
}

.ilyt-city-map-tabs__btn.is-active {
	border-color: var(--ilyt-accent);
	background: var(--ilyt-accent);
	color: var(--ilyt-on-accent, #fff);
}

.ilyt-city-map-tabs--archive .ilyt-city-map-tabs__btn.is-active[data-city-map-mode="kindness"] {
	border-color: #16a34a;
	background: #16a34a;
}

.ilyt-btn--kindness.ilyt-btn--accent {
	background: #16a34a;
}

.ilyt-btn--kindness.ilyt-btn--accent:hover {
	background: #15803d;
	color: #fff;
}

.ilyt-btn--kindness.ilyt-btn--outline {
	border-color: #16a34a;
	color: #16a34a;
}

.ilyt-btn--kindness.ilyt-btn--outline:hover {
	background: #ecfdf5;
}

.ilyt-kindness-map.is-kindness-mode,
#ilyt-city-map.is-kindness-mode {
	box-shadow: inset 0 0 0 2px rgb(34 197 94 / 25%);
}

.ilyt-map-popup-wrap .leaflet-popup-content {
	margin: 0;
}

.ilyt-map-popup {
	display: flex;
	flex-direction: column;
	gap: 0;
	min-width: 200px;
}

.ilyt-map-popup__media {
	line-height: 0;
	background: #111;
}

.ilyt-map-popup__media img {
	display: block;
	width: 100%;
	max-height: 180px;
	object-fit: cover;
}

.ilyt-map-popup__link {
	display: block;
	padding: 0.75rem 1rem;
	font-weight: 600;
	font-size: 0.9rem;
	text-align: center;
	text-decoration: none;
	color: var(--ilyt-accent, #f97316);
	background: var(--ilyt-card-bg, #fff);
}

.ilyt-map-popup__link:hover,
.ilyt-map-popup__link:focus-visible {
	text-decoration: underline;
}

.ilyt-map-posts {
	margin-top: 2.5rem;
}

.ilyt-map-posts .ilyt-section-title {
	margin-bottom: 1.25rem;
}

/* Top authors page */
.ilyt-month-nav {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 1rem;
}

.ilyt-month-nav__link {
	font-weight: 600;
	color: var(--ilyt-muted);
}

.ilyt-top-list {
	list-style: none;
	margin: 2rem 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.ilyt-top-list__item {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1rem 1.25rem;
	background: var(--ilyt-surface);
	border-radius: var(--ilyt-radius);
	box-shadow: var(--ilyt-shadow);
}

.ilyt-top-list__rank {
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--ilyt-accent);
	min-width: 2rem;
	text-align: center;
}

.ilyt-top-list__avatar {
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

.ilyt-top-list__info {
	flex: 1;
	min-width: 0;
}

.ilyt-top-list__name {
	display: block;
	font-size: 1.0625rem;
}

.ilyt-top-list__meta {
	font-size: 0.8125rem;
	color: var(--ilyt-muted);
}

.ilyt-top-list__score {
	font-size: 1.5rem;
	font-weight: 800;
	color: var(--ilyt-accent);
}

/* Responsive */
@media (max-width: 1100px) {
	.ilyt-layout--single-post {
		grid-template-columns: 1fr;
	}

	.ilyt-layout--single-post .ilyt-single-rail,
	.ilyt-layout--single-post .ilyt-layout__main,
	.ilyt-layout--single-post .ilyt-sidebar {
		grid-column: auto;
		grid-row: auto;
	}

	.ilyt-single-rail__stack {
		position: static;
		max-height: none;
	}

	.ilyt-single-rail__list {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
		gap: 0.625rem;
	}
}

@media (max-width: 1024px) {
	.ilyt-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.ilyt-layout:not(.ilyt-layout--single-post) {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.ilyt-header__top-row {
		flex-wrap: nowrap;
		gap: 0.65rem;
	}

	.ilyt-header__brand-block {
		flex: 1 1 auto;
		min-width: 0;
		gap: 0.65rem;
	}

	.ilyt-header__logo-img {
		height: clamp(2.25rem, 9vw, 3rem);
		max-width: 5.5rem;
	}

	.ilyt-header__actions-bar {
		flex: 0 0 auto;
		gap: 0.35rem;
	}

	.ilyt-header__menu-row {
		flex-direction: column;
		align-items: stretch;
		padding-top: 0.45rem;
	}

	.ilyt-header__base-nav {
		width: 100%;
	}

	.ilyt-header__brand {
		flex: 0 1 auto;
		max-width: 38%;
	}

	.ilyt-header__brand .ilyt-tagline {
		display: none;
	}

	.ilyt-header__brand .ilyt-logo__text {
		font-size: clamp(0.875rem, 4vw, 1.125rem);
		line-height: 1.2;
	}

	.ilyt-header__portal-actions {
		display: none;
	}

	.ilyt-header__tools .ilyt-header__cabinet {
		display: none;
	}

	.ilyt-header__search {
		order: 0;
		flex: 0 0 auto;
		margin-left: 0;
		margin-right: 0;
	}

	.ilyt-nav__list--narodnye {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 0.15rem;
		scrollbar-width: thin;
	}

	.ilyt-header-search__toggle {
		display: inline-flex;
	}

	.ilyt-header-search__panel {
		display: none;
		position: absolute;
		top: calc(100% + 0.5rem);
		right: 0;
		width: min(calc(var(--ilyt-vw, 100vw) - 2rem), 320px);
		padding: 0.75rem;
		border: 1px solid var(--ilyt-border);
		border-radius: var(--ilyt-radius);
		background: var(--ilyt-surface);
		box-shadow: var(--ilyt-shadow);
		z-index: 120;
	}

	.ilyt-header-search.is-open .ilyt-header-search__panel {
		display: block;
	}

	.ilyt-header-search.is-open .ilyt-header-search__toggle {
		border-color: var(--ilyt-accent);
		color: var(--ilyt-accent);
	}

	.ilyt-search-form {
		max-width: none;
		margin-left: 0;
	}

	.ilyt-nav-toggle {
		display: flex;
		flex-shrink: 0;
	}

	.ilyt-nav--drawer {
		display: none;
		width: 100%;
		flex-direction: column;
		align-items: stretch;
	}

	.ilyt-nav--drawer.is-open {
		display: flex;
	}

	.ilyt-nav-toggle {
		flex-direction: column;
	}

	.ilyt-grid {
		grid-template-columns: 1fr;
	}

	.ilyt-article {
		padding: 1.25rem;
	}
}

/* Growth features */
.ilyt-card { position: relative; }

.ilyt-card__image {
	position: relative;
}

.ilyt-card__media-link {
	display: block;
	height: 100%;
}

.ilyt-card__media-link img,
.ilyt-card__media-link .ilyt-card__video-placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ilyt-card__overlays {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 2;
}

.ilyt-card__overlays > * {
	pointer-events: auto;
}

.ilyt-favorite-btn {
	position: absolute;
	top: 0.5rem;
	left: 0.5rem;
	z-index: 3;
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: none;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	color: #dc2626;
	cursor: pointer;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
	transition: color 0.15s, transform 0.15s;
}

.ilyt-favorite-btn:hover {
	transform: scale(1.05);
}

.ilyt-favorite-btn.is-saved {
	color: #dc2626;
}

.ilyt-card__author {
	position: absolute;
	top: 0.5rem;
	right: 0.5rem;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem;
	max-width: 5.5rem;
	text-decoration: none;
	color: inherit;
}

.ilyt-card__author-avatar {
	width: 40px;
	height: 40px;
	border-radius: 999px;
	object-fit: cover;
	border: 2px solid #fff;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
}

.ilyt-card__author-name {
	display: block;
	max-width: 100%;
	padding: 0.1rem 0.35rem;
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.92);
	font-size: 0.65rem;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	color: #1a1a1a;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.ilyt-favorite-toast {
	position: fixed;
	bottom: 5rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 9999;
	padding: 0.65rem 1rem;
	border-radius: 999px;
	background: rgba(26, 26, 26, 0.92);
	color: #fff;
	font-size: 0.875rem;
	pointer-events: none;
}

.ilyt-favorites-list {
	display: grid;
	gap: 0.75rem;
}

.ilyt-favorite-item {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem;
	border: 1px solid var(--ilyt-border);
	border-radius: var(--ilyt-radius);
	background: var(--ilyt-surface);
}

.ilyt-favorite-item__thumb {
	width: 72px;
	height: 48px;
	border-radius: 6px;
	object-fit: cover;
	background: var(--ilyt-border);
	flex-shrink: 0;
}

.ilyt-favorite-item__body {
	flex: 1;
	min-width: 0;
}

.ilyt-favorite-item__title {
	font-weight: 600;
	color: var(--ilyt-text);
	text-decoration: none;
}

.ilyt-favorite-item__title:hover {
	color: var(--ilyt-accent);
}

.ilyt-favorite-item__meta {
	font-size: 0.8125rem;
	color: var(--ilyt-muted);
	margin-top: 0.15rem;
}

.ilyt-bookmark-btn {
	position: absolute;
	top: 0.5rem;
	left: 0.5rem;
	z-index: 3;
	width: 32px;
	height: 32px;
	border: none;
	border-radius: 999px;
	background: rgba(255,255,255,0.92);
	cursor: pointer;
	font-size: 1rem;
	line-height: 1;
}
.ilyt-bookmark-btn.is-saved { color: var(--ilyt-accent); }
.ilyt-partner-badge {
	display: inline-block;
	font-size: 0.65rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--ilyt-muted);
	margin-bottom: 0.35rem;
}
.ilyt-achievements { display: inline-flex; gap: 0.25rem; margin-left: 0.35rem; }
.ilyt-user-avatar-block {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem;
}
.ilyt-user-bonus-status {
	display: block;
	font-size: 0.7rem;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	color: var(--ilyt-muted, #666);
	max-width: 10rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.ilyt-user-bonus-status--preview {
	color: #fff;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55);
}
.ilyt-user-avatar-block--chip .ilyt-user-bonus-status {
	max-width: 5rem;
	font-size: 0.55rem;
}
.ilyt-user-avatar-caption {
	display: block;
	text-align: center;
	max-width: 100%;
}
.ilyt-user-avatar-caption__meta {
	color: var(--ilyt-muted, #666);
	white-space: nowrap;
}
.ilyt-user-avatar-caption .ilyt-user-status:not(.ilyt-user-status--karma) {
	color: var(--ilyt-accent, #d45a2a);
	font-weight: 600;
}
.ilyt-user-avatar-caption .ilyt-user-status--karma {
	color: var(--ilyt-muted, #666);
	font-weight: 500;
}
.ilyt-user-avatar-block--author .ilyt-user-avatar-caption {
	max-width: 220px;
	font-size: 0.75rem;
}
.ilyt-user-avatar-block--chip .ilyt-user-avatar-caption,
.ilyt-user-avatar-block--inline .ilyt-user-avatar-caption {
	max-width: 120px;
	font-size: 0.55rem;
}
.ilyt-user-avatar-block--comment .ilyt-user-avatar-caption,
.ilyt-user-avatar-block--chat .ilyt-user-avatar-caption {
	max-width: 96px;
	font-size: 0.5rem;
}
.ilyt-user-status {
	font-size: 0.7rem;
	line-height: 1.2;
	font-weight: 600;
	color: var(--ilyt-accent, #d45a2a);
	text-align: center;
	max-width: 10rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.ilyt-user-avatar-block--author .ilyt-user-status {
	max-width: 160px;
}
.ilyt-user-avatar-block--chip .ilyt-user-status,
.ilyt-user-avatar-block--inline .ilyt-user-status {
	max-width: 72px;
	font-size: 0.6rem;
}
.ilyt-user-avatar-block--comment .ilyt-user-status,
.ilyt-user-avatar-block--chat .ilyt-user-status,
.ilyt-user-status--chat {
	max-width: 64px;
	font-size: 0.55rem;
}
.ilyt-user-status--karma {
	color: var(--ilyt-muted, #666);
	font-weight: 500;
}
.ilyt-user-profile-name .ilyt-achievements { margin-left: 0; }
.ilyt-user-profile-level {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
	margin: 0.25rem 0;
	color: var(--ilyt-muted, #666);
	font-size: 0.9rem;
}
.ilyt-cabinet-score.ilyt-user-profile-level {
	justify-content: center;
}
.ilyt-karma-thanks { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--ilyt-border); }
.ilyt-karma-thanks__title { margin: 0 0 0.75rem; font-weight: 700; }
.ilyt-karma-thanks__hint { margin: 0; }
.ilyt-karma-thanks__btns {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 0.75rem;
}
.ilyt-karma-thanks-btn {
	width: 4rem;
	height: 4rem;
	min-width: 4rem;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 1.1rem;
	border-radius: 10px;
}
.ilyt-factcheck-badge { font-weight: 600; padding: 0.5rem 0.75rem; border-radius: 8px; background: var(--ilyt-surface); }
.ilyt-bookmarks-list { list-style: none; padding: 0; }
.ilyt-bookmarks-list li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.75rem 0; border-bottom: 1px solid var(--ilyt-border); }

/* Homepage: meme of the day + discounts map row (always in main.css) */
.ilyt-grid--meme-slot {
	--ilyt-home-meme-row-h: 350px;
	margin-bottom: var(--ilyt-gap, 1.5rem);
}

.ilyt-grid--meme-slot .ilyt-meme-of-day {
	grid-column: auto;
}

@media (min-width: 1025px) {
	.ilyt-grid.ilyt-grid--meme-slot {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
		grid-template-rows: var(--ilyt-home-meme-row-h);
		height: var(--ilyt-home-meme-row-h) !important;
		max-height: var(--ilyt-home-meme-row-h) !important;
		overflow: hidden;
		align-items: stretch;
	}

	.ilyt-grid.ilyt-grid--meme-slot:not(:has(.ilyt-meme-of-day)) {
		grid-template-columns: 1fr;
	}

	.ilyt-grid--meme-slot .ilyt-meme-of-day,
	.ilyt-grid--meme-slot .ilyt-home-skidki-map {
		min-height: 0 !important;
		max-height: 100% !important;
		height: 100% !important;
		overflow: hidden;
	}

	.ilyt-grid--meme-slot .ilyt-meme-of-day__link {
		flex: 1 1 auto;
		min-height: 0;
		display: flex;
		flex-direction: column;
		overflow: hidden;
	}

	.ilyt-grid--meme-slot .ilyt-meme-of-day__media {
		flex: 1 1 auto;
		min-height: 0;
		aspect-ratio: auto !important;
		overflow: hidden;
	}

	.ilyt-grid--meme-slot .ilyt-meme-of-day__media img {
		width: 100% !important;
		height: 100% !important;
		max-width: none !important;
		object-fit: cover !important;
		object-position: center center;
	}

	.ilyt-grid--meme-slot .ilyt-meme-of-day__footer {
		flex-shrink: 0;
		padding: 0.35rem 0.65rem;
		gap: 0.25rem;
	}

	.ilyt-grid--meme-slot .ilyt-meme-of-day__meta {
		font-size: 0.8125rem;
	}

	.ilyt-grid--meme-slot .ilyt-meme-of-day__vote {
		padding: 0.3rem 0.65rem;
		font-size: 0.8125rem;
		line-height: 1.2;
	}

	.ilyt-grid--meme-slot .ilyt-meme-of-day__badge,
	.ilyt-grid--meme-slot .ilyt-home-skidki-map__badge {
		top: 0.5rem;
		left: 0.5rem;
		padding: 0.25rem 0.6rem;
		font-size: 0.75rem;
	}

	.ilyt-grid--meme-slot .ilyt-home-skidki-map {
		min-height: 350px;
		max-height: var(--ilyt-home-meme-row-h);
	}

	.ilyt-grid--meme-slot .ilyt-home-skidki-map__canvas,
	.ilyt-grid--meme-slot .ilyt-home-skidki-map .ilyt-home-skidki-map__canvas.ilyt-problems-map {
		height: 100% !important;
		min-height: 275px;
		max-height: 100% !important;
	}

	.ilyt-grid--meme-slot .ilyt-home-skidki-map .leaflet-container {
		height: 100% !important;
		min-height: 0 !important;
		max-height: 100% !important;
		z-index: 0 !important;
	}
}

@media (max-width: 1024px) {
	.ilyt-grid.ilyt-grid--meme-slot {
		grid-template-columns: 1fr;
	}
}
