/**
 * Idea Bank theme layer — complements legacy Bitrix-export CSS bundle.
 *
 * @package ideabank
 */

/*
 * Sticky footer: short pages keep #colophon at the bottom of the viewport (flex, not fixed).
 * body padding-top for .fixed-top stays inside min-height: 100vh (border-box).
 */
html {
	height: 100%;
}

body:not(.wp-admin) {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

#page.site {
	flex: 1 0 auto;
	display: flex;
	flex-direction: column;
	width: 100%;
	min-height: 0;
}

#masthead.site-header {
	flex-shrink: 0;
}

#primary.site-main,
.site-main {
	flex: 1 0 auto;
}

#colophon.site-footer,
.site-footer {
	flex-shrink: 0;
	margin-top: auto;
}

/* Fixed header clearance + WordPress admin bar (toolbar pushes .fixed-top down). */
body:not(.wp-admin):not(.admin-bar) {
	padding-top: 7.5rem;
}

body.admin-bar:not(.wp-admin) {
	padding-top: calc(32px + 7.5rem);
}

@media screen and (max-width: 782px) {
	body.admin-bar:not(.wp-admin) {
		padding-top: calc(46px + 7.5rem);
	}
}

.admin-bar:not(.wp-admin) .site-header .fixed-top {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar:not(.wp-admin) .site-header .fixed-top {
		top: 46px;
	}
}

/*
 * Bitrix legacy bundle: header { padding-top: 108px; } — лишний отступ на всех экранах
 * (контент уже сдвигается padding-top у body). Перекрываем после ideabank-legacy.
 */
#masthead.site-header {
	padding-top: 0;
}

/*
 * Главная (банк идей): 7.5rem даёт лишний зазор под фиксированной шапкой — баннер визуально «отрывается» от меню.
 * Подгоняем отступ к высоте блока logo + nav (адаптивно).
 */
body:not(.wp-admin):not(.admin-bar):has(#primary.site-main--idea-front) {
	padding-top: 5.2rem;
}

@media (min-width: 992px) {
	body:not(.wp-admin):not(.admin-bar):has(#primary.site-main--idea-front) {
		padding-top: 5.6rem;
	}
}

body.admin-bar:not(.wp-admin):has(#primary.site-main--idea-front) {
	padding-top: calc(32px + 5.2rem);
}

@media screen and (max-width: 782px) {
	body.admin-bar:not(.wp-admin):has(#primary.site-main--idea-front) {
		padding-top: calc(46px + 5.2rem);
	}
}

@media (min-width: 992px) {
	body.admin-bar:not(.wp-admin):has(#primary.site-main--idea-front) {
		padding-top: calc(32px + 5.6rem);
	}
}

#primary.site-main--idea-front {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.site-main--idea-front > .header-jumbotron-section.ideabank-hero:first-child {
	margin-top: 0 !important;
}

.header-top-section {
	background: #fff;
	min-height: 70px;
	position: relative;
	z-index: 70;
	overflow: visible;
	pointer-events: none;
}

.header-top-section .container-lg,
.header-nav-section .container-lg {
	max-width: 1320px;
}

.header-top-section .row {
	position: relative;
	align-items: flex-start;
}

.header-logo-container {
	display: inline-flex;
	align-items: flex-start;
	gap: 0.9rem;
	position: relative;
	z-index: 80;
	margin-top: 0.15rem;
	pointer-events: auto;
}

.header-logo-sign {
	width: 84px;
	height: auto;
	flex: 0 0 auto;
	position: relative;
	z-index: 81;
	transform: translateY(2px);
	pointer-events: none;
}

.header-logo-text {
	width: 220px;
	height: auto;
	flex: 0 0 auto;
	margin-top: 0.15rem;
}

.header-nav-section {
	min-height: 48px;
	position: relative;
	z-index: 60;
}

#header-nav,
#primary-menu.header-nav {
	position: relative;
	z-index: 61;
}

.header-top-section .navbar,
.header-top-section .navbar *,
.header-top-section .header-langs-small,
.header-top-section .header-langs-small *,
.header-top-section .header-langs-large,
.header-top-section .header-langs-large *,
.header-top-section .header-logo-container * {
	pointer-events: auto;
}

@media (min-width: 992px) {
	#primary-menu.header-nav {
		padding-left: 104px;
	}
}

@media (max-width: 1199.98px) {
	.header-logo-sign {
		width: 76px;
		transform: translateY(2px);
	}

	.header-logo-text {
		width: 200px;
	}
}

@media (max-width: 991.98px) {
	.header-top-section {
		min-height: 62px;
	}

	.header-logo-container {
		gap: 0.65rem;
		margin-top: 0.1rem;
	}

	.header-logo-sign {
		width: 64px;
		transform: none;
	}

	.header-logo-text {
		width: 166px;
		margin-top: 0.08rem;
	}

	#primary-menu.header-nav {
		padding-left: 0;
	}

	/*
	 * Mobile menu overlay: legacy bundle paints .header-nav-section blue (currentColor)
	 * and fixes .header-nav at top:63px — causes blue gap and stray spacing.
	 */
	.site-header .header-nav-section {
		min-height: 0;
		height: 0;
		background-color: transparent !important;
		color: #333;
		overflow: hidden;
	}

	.site-header .navbar-expand-lg > .navbar-collapse {
		padding: 0;
		border: 0;
	}

	.site-header .navbar-expand-lg > .navbar-collapse.show,
	.site-header .navbar-expand-lg > .navbar-collapse.collapsing {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		top: 0;
		z-index: 65;
		margin: 0;
		padding: 62px 0 0;
		background: #fff;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	body.admin-bar:not(.wp-admin) .site-header .navbar-expand-lg > .navbar-collapse.show,
	body.admin-bar:not(.wp-admin) .site-header .navbar-expand-lg > .navbar-collapse.collapsing {
		padding-top: calc(46px + 62px);
	}

	@media (min-width: 783px) {
		body.admin-bar:not(.wp-admin) .site-header .navbar-expand-lg > .navbar-collapse.show,
		body.admin-bar:not(.wp-admin) .site-header .navbar-expand-lg > .navbar-collapse.collapsing {
			padding-top: calc(32px + 62px);
		}
	}

	.site-header .navbar-expand-lg > .navbar-collapse.show .header-nav-section,
	.site-header .navbar-expand-lg > .navbar-collapse.collapsing .header-nav-section {
		height: auto;
		min-height: 0;
		overflow: visible;
		background: transparent !important;
	}

	.site-header .header-nav-section .header-nav,
	.site-header #primary-menu.header-nav {
		position: static !important;
		top: auto !important;
		bottom: auto !important;
		left: auto !important;
		right: auto !important;
		width: 100%;
		max-width: 100%;
		margin: 0 !important;
		padding: 0.35rem 0 1rem;
		background: transparent !important;
		list-style: none;
		overflow: visible;
	}

	.site-header #primary-menu.header-nav > .nav-item {
		width: 100%;
		margin: 0;
		list-style: none;
	}

	.site-header #primary-menu.header-nav > .nav-item::before,
	.site-header #primary-menu.header-nav > .nav-item::after {
		content: none !important;
		display: none !important;
	}

	.site-header #primary-menu.header-nav > .nav-item:empty,
	.site-header #primary-menu.header-nav > .nav-item:has(.nav-link:empty) {
		display: none;
	}

	.site-header #primary-menu.header-nav .nav-link {
		display: block;
		width: 100%;
		max-width: 100%;
		padding: 0.65rem 1.25rem;
		color: #333 !important;
		opacity: 1 !important;
		white-space: normal;
		word-break: break-word;
	}

	.site-header #primary-menu.header-nav .nav-link::before,
	.site-header #primary-menu.header-nav .nav-link::after {
		content: none !important;
		display: none !important;
	}

	.site-header #primary-menu.header-nav .nav-link:hover,
	.site-header #primary-menu.header-nav .nav-link:focus,
	.site-header #primary-menu.header-nav .nav-link.active {
		opacity: 1 !important;
		background-color: #f3f5f8;
		color: #009ee3 !important;
	}
}

@media (min-width: 992px) {
	.site-header .header-nav-section {
		color: #0083bc;
		background-color: currentColor;
		min-height: 48px;
		height: 45px;
		overflow: visible;
	}
}

@media (max-width: 575.98px) {
	.header-top-section {
		min-height: 56px;
	}

	.site-header .navbar-expand-lg > .navbar-collapse.show,
	.site-header .navbar-expand-lg > .navbar-collapse.collapsing {
		padding-top: 56px;
	}

	body.admin-bar:not(.wp-admin) .site-header .navbar-expand-lg > .navbar-collapse.show,
	body.admin-bar:not(.wp-admin) .site-header .navbar-expand-lg > .navbar-collapse.collapsing {
		padding-top: calc(46px + 56px);
	}

	.header-logo-sign {
		width: 56px;
	}

	.header-logo-text {
		display: none;
	}
}

/* Front: hero stays underneath; filters card stacks above (overlap). */
.site-main--idea-front {
	position: relative;
	overflow: visible;
}

/* Front hero: background image (place header_bgr.jpg in assets/images/). */
.site-main--idea-front .header-jumbotron-section.ideabank-hero {
	position: relative;
	z-index: 1;
	overflow: visible;
	padding: 0 0 10rem;
	color: #fff;
	background-color: #0f2844;
	background-image:
		linear-gradient(rgba(15, 40, 75, 0.1), rgba(15, 40, 75, 0.1)),
		url("../images/header_bgr.jpg");
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.site-main--idea-front .ideabank-front-filters-overlap-wrap {
	position: relative;
	z-index: 5;
	margin-top: clamp(-1rem, -2.5vw, -1.875rem);
	margin-bottom: 1.25rem;
}

.site-main--idea-front .ideabank-front-login-wrap {
	position: relative;
	z-index: 6;
	margin-top: clamp(-3.25rem, -8vw, -5.5rem);
}

.site-main--idea-front .ideabank-front-login-wrap #ideabank-login {
	margin-bottom: 0;
}

.site-main--idea-front .ideabank-front-login-wrap .ideabank-bitrix-auth {
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 0.35rem 1.25rem rgba(15, 40, 75, 0.12), 0 0.125rem 0.35rem rgba(0, 0, 0, 0.06);
	padding: 1rem 1.15rem;
	width: 100%;
	max-width: none;
}

@media (min-width: 992px) {
	.site-main--idea-front .ideabank-front-login-wrap .ideabank-bitrix-auth {
		padding: 1.1rem 1.25rem;
	}
}

/* Front page: compact horizontal login block. */
.site-main--idea-front .ideabank-front-auth__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35rem 0.85rem;
	margin-bottom: 0.65rem;
}

.site-main--idea-front .ideabank-front-auth__title {
	margin-bottom: 0;
	font-size: 1.35rem;
	line-height: 1.25;
}

.site-main--idea-front .ideabank-front-auth__intro {
	font-size: 0.9rem;
}

.site-main--idea-front .ideabank-front-auth__error {
	margin-bottom: 0.5rem;
}

.site-main--idea-front .ideabank-front-auth__row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.65rem 0.85rem;
}

.site-main--idea-front .ideabank-front-auth__field {
	flex: 1 1 11rem;
	min-width: 0;
	margin: 0;
}

.site-main--idea-front .ideabank-front-auth__field .form-label {
	margin-bottom: 0.2rem;
	font-size: 0.875rem;
	line-height: 1.2;
}

.site-main--idea-front .ideabank-front-auth__field .form-control {
	max-width: none;
	width: 100%;
	min-height: 2.375rem;
}

.site-main--idea-front .ideabank-front-auth__remember {
	flex: 0 1 auto;
	align-self: center;
	margin: 0;
	max-width: 100%;
}

.site-main--idea-front .ideabank-front-auth__remember .form-check-label {
	font-size: 0.8125rem;
	line-height: 1.3;
}

.site-main--idea-front .ideabank-front-auth__submit {
	flex: 0 0 auto;
	margin: 0;
}

.site-main--idea-front .ideabank-front-auth__submit .btn {
	white-space: nowrap;
	min-height: 2.375rem;
	padding-left: 1.35rem;
	padding-right: 1.35rem;
}

.site-main--idea-front .ideabank-front-auth__footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 1rem;
	margin-top: 0.55rem;
	margin-bottom: 0;
	font-size: 0.9rem;
	line-height: 1.35;
}

.site-main--idea-front .ideabank-front-auth__footer a {
	text-decoration: none;
}

.site-main--idea-front .ideabank-front-auth__footer a:hover {
	text-decoration: underline;
}

.site-main--idea-front .ideabank-front-auth__hint {
	margin-top: 0.45rem;
	font-size: 0.8125rem;
	line-height: 1.35;
}

@media (min-width: 768px) and (max-width: 991.98px) {
	.site-main--idea-front .ideabank-front-auth__field--log,
	.site-main--idea-front .ideabank-front-auth__field--pwd {
		flex: 1 1 calc(50% - 0.5rem);
	}

	.site-main--idea-front .ideabank-front-auth__remember {
		flex: 1 1 100%;
		align-self: flex-start;
		padding-top: 0.15rem;
	}

	.site-main--idea-front .ideabank-front-auth__submit {
		flex: 0 0 auto;
		margin-left: auto;
	}
}

@media (min-width: 992px) {
	.site-main--idea-front .ideabank-front-auth__field--log {
		flex: 1.15 1 12rem;
	}

	.site-main--idea-front .ideabank-front-auth__field--pwd {
		flex: 1.15 1 12rem;
	}

	.site-main--idea-front .ideabank-front-auth__remember {
		flex: 0 1 13.5rem;
		align-self: flex-end;
		padding-bottom: 0.45rem;
	}

	.site-main--idea-front .ideabank-front-auth__remember .form-check-label {
		white-space: nowrap;
	}

	.site-main--idea-front .ideabank-front-auth__submit {
		align-self: flex-end;
	}
}

@media (max-width: 767.98px) {
	.site-main--idea-front .ideabank-front-auth__row {
		flex-direction: column;
		align-items: stretch;
		gap: 0.55rem;
	}

	.site-main--idea-front .ideabank-front-auth__field {
		flex: 1 1 100%;
	}

	.site-main--idea-front .ideabank-front-auth__remember {
		align-self: flex-start;
	}

	.site-main--idea-front .ideabank-front-auth__remember .form-check-label {
		white-space: normal;
	}

	.site-main--idea-front .ideabank-front-auth__submit .btn {
		width: 100%;
	}
}

@media (min-width: 576px) {
	.site-main--idea-front .ideabank-front-filters-overlap-wrap {
		margin-top: clamp(-1.25rem, -3vw, -2rem);
	}
}

@media (min-width: 992px) {
	.site-main--idea-front .ideabank-front-login-wrap {
		margin-top: -6.25rem;
		padding:0;
	}

	.site-main--idea-front .ideabank-front-filters-overlap-wrap {
		margin-top: -1.875rem;
	}
}

.site-main--idea-front .ideabank-filters-section--hero-overlap .ideabank-filters-card--overlap {
	border-radius: 6px;
	box-shadow: 0 0.35rem 1.25rem rgba(15, 40, 75, 0.12), 0 0.125rem 0.35rem rgba(0, 0, 0, 0.06);
	padding-top: 1.25rem;
	padding-bottom: 1.25rem;
}

@media (min-width: 992px) {
	.site-main--idea-front .ideabank-filters-section--hero-overlap .ideabank-filters-card--overlap {
		padding-top: 1.5rem;
		padding-bottom: 1.5rem;
	}
}

.site-main--idea-front .ideabank-filters-section--hero-overlap .ideabank-filters-section__docs {
	align-self: flex-start;
	padding-top: 0;
}

@media (max-width: 991.98px) {
	.site-main--idea-front .ideabank-filters-section--hero-overlap .ideabank-filters-section__docs {
		padding-top: 0.25rem;
	}
}

/*
 * «Регламентирующие документы»: разметка в wp_footer (вне #page), чтобы .modal-backdrop (конец body)
 * не оказывался поверх окна из‑за stacking #page / overlap-wrap (z-index + position).
 * Ниже — догонка над легаси-шапкой; вертикальное центрирование — класс .modal-dialog-centered в разметке.
 */
#ideabank-reg-docs.modal {
	z-index: 1060;
}

body > .modal-backdrop {
	z-index: 1055;
}

body.admin-bar #ideabank-reg-docs.modal {
	z-index: 100060;
}

body.admin-bar > .modal-backdrop {
	z-index: 100050;
}

#ideabank-reg-docs .modal-dialog {
	pointer-events: auto;
}

#ideabank-reg-docs .modal-content a {
	pointer-events: auto;
}

.ideabank-hero-title,
.ideabank-hero-text,
.ideabank-hero-muted,
.ideabank-stat-number,
.ideabank-stat-label {
	color: #fff;
}

.ideabank-hero-text {
	font-size: 1rem;
	line-height: 1.55;
	max-width: 52rem;
}

.ideabank-hero-muted {
	opacity: 0.95;
}

.ideabank-hero-btn-primary {
	background-color: #0099e5;
	border-color: #0099e5;
	color: #fff;
	font-weight: 600;
	border-radius: 2px;
}

.ideabank-hero-btn-primary:hover,.ideabank-hero-btn-primary:visited {
	background-color: #0086cc;
	border-color: #0086cc;
	color: #fff;
}

.ideabank-hero-btn-secondary {
	background-color: #0099e5;
	border-color: #0099e5;
	color: #fff;
	font-weight: 600;
	border-radius: 2px;
	max-width: 22rem;
}

.ideabank-hero-btn-secondary:hover,.ideabank-hero-btn-secondary:visited {
	background-color: #0086cc;
	border-color: #0086cc;
	color: #fff;
}

.ideabank-stat-number {
	line-height: 1.1;
}

.ideabank-stat-label {
	font-size: 0.95rem;
	line-height: 1.35;
	max-width: 18rem;
	margin-left: auto;
}

@media (max-width: 991.98px) {
	.ideabank-stat-label {
		margin-left: 0;
	}
}

.header-jumbotron-small-section {
	background: #f3f5f8;
}

.footer-main-section {
	background: #343a40;
	color: #ced4da;
	padding: 2.75rem 0 2.25rem;
	font-size: 0.9375rem;
	line-height: 1.55;
}

.footer-brand {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin-bottom: 1.25rem;
}

.footer-brand__sign {
	flex-shrink: 0;
	width: 48px;
	height: auto;
}

.footer-brand__type {
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #fff;
	line-height: 1.3;
}

.footer-brand__name {
	font-size: 1.625rem;
	font-weight: 700;
	color: #fff;
	line-height: 1.15;
}

.footer-brand__about {
	color: #ced4da;
	font-size: 0.875rem;
	line-height: 1.6;
}

.footer-col__title {
	font-size: 1rem;
	font-weight: 700;
	color: #fff;
	margin: 0 0 1rem;
}

.footer-dl dt {
	font-weight: 600;
	color: #fff;
	margin-top: 0.65rem;
}

.footer-dl dt:first-child {
	margin-top: 0;
}

.footer-dl dd {
	margin: 0.15rem 0 0;
	color: #ced4da;
}

.footer-dl a,
.footer-main-section a {
	color: #ced4da;
	text-decoration: none;
}

.footer-dl a:hover,
.footer-main-section a:hover,
.footer-dl a:focus,
.footer-main-section a:focus {
	color: #fff;
	text-decoration: underline;
}

.footer-hotline-note {
	margin-top: 1rem;
	color: #ced4da;
	font-size: 0.875rem;
	line-height: 1.55;
}

.footer-main-section .widget-title,
.footer-main-section h4 {
	color: #fff;
}

.footer-copyright-section {
	background: #2b3035;
	color: #adb5bd;
	padding: 0.85rem 0;
	font-size: 0.875rem;
}

.footer-social-nav {
	gap: 0.35rem;
}

.footer-social-nav .nav-link {
	padding: 0.25rem;
	line-height: 1;
}

.footer-social-nav .nav-link img {
	display: block;
	width: 2rem;
	height: 2rem;
	padding: 0.35rem;
	border: 1px solid rgba(255, 255, 255, 0.75);
	border-radius: 50%;
	box-sizing: border-box;
}

.site-main--idea-archive .main-table-section,
.site-main--idea-single .idea-meta-table {
	background: #fff;
}

/* Single idea card: title + edit action on separate rows. */
.ideabank-idea-header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
}

.ideabank-idea-header__title,
.ideabank-idea-header__actions {
	width: 100%;
}

.ideabank-idea-header__heading {
	font-size: 2rem;
	line-height: 1.25;
}

.wp-block-group {
	max-width: 100%;
}

/* Filters: single regulatory button column. */
.ideabank-filters-section .ideas-table-filter {
	border-radius: 4px;
}

.ideabank-filters-section__docs .ideabank-reg-docs-btn {
	white-space: normal;
	max-width: 100%;
}

@media (max-width: 991.98px) {
	.ideabank-filters-section__docs {
		padding-top: 0 !important;
	}

	.ideabank-filters-section__docs .ideabank-reg-docs-btn {
		width: 100%;
	}
}

/* Ideas table (Bitrix-like). */
.ideas-table--bitrix thead th {
	background: #e8edf2;
	color: #333;
	font-weight: 600;
	font-size: 0.9rem;
	border-bottom: 2px solid #cfd8e3;
	vertical-align: middle;
	padding: 0.65rem 0.75rem;
}

.ideas-table--bitrix tbody td {
	border-color: #dee6ee;
	font-size: 0.925rem;
	vertical-align: middle;
	padding: 0.6rem 0.75rem;
}

.ideas-table--bitrix.table-hover tbody tr:hover {
	background-color: #f3f7fb;
}

/* Ideas list tables (front page + cabinet): full-cell status background. */
.ideabank-ideas-table-wrap .ideas-table .ideabank-status-cell {
	font-weight: 600;
	font-size: 0.875rem;
	line-height: 1.35;
	text-align: center;
	vertical-align: middle;
	border-color: #dee6ee;
}

.ideabank-ideas-table-wrap .ideas-table .ideabank-status-cell__label {
	display: block;
}

.ideabank-ideas-table-wrap .ideas-table .ideabank-status-cell--draft,
.ideabank-ideas-table-wrap .ideas-table .ideabank-status-cell--new {
	background-color: #e8eaed;
	color: #495057;
}

.ideabank-ideas-table-wrap .ideas-table .ideabank-status-cell--pending_review {
	background-color: #f5ecd6;
	color: #5c4a24;
}

.ideabank-ideas-table-wrap .ideas-table .ideabank-status-cell--revision {
	background-color: #e3f2f8;
	color: #2a5f75;
}

.ideabank-ideas-table-wrap .ideas-table .ideabank-status-cell--rejected_registration {
	background-color: #ebe6f0;
	color: #524a62;
}

.ideabank-ideas-table-wrap .ideas-table .ideabank-status-cell--in_departments {
	background-color: #e6edf6;
	color: #2f4a6e;
}

.ideabank-ideas-table-wrap .ideas-table .ideabank-status-cell--in_nts {
	background-color: #ebe8f2;
	color: #4a3f63;
}

.ideabank-ideas-table-wrap .ideas-table .ideabank-status-cell--nts_expertise {
	background-color: #e4f0f2;
	color: #2a5c66;
}

.ideabank-ideas-table-wrap .ideas-table .ideabank-status-cell--nts_trial {
	background-color: #e6f2ec;
	color: #2f5545;
}

.ideabank-ideas-table-wrap .ideas-table .ideabank-status-cell--approved,
.ideabank-ideas-table-wrap .ideas-table .ideabank-status-cell--publish {
	background-color: #e8f0e0;
	color: #3d5230;
}

.ideabank-ideas-table-wrap .ideas-table .ideabank-status-cell--rejected {
	background-color: #d8dce0;
	color: #2f3439;
}

.ideabank-ideas-table-wrap .ideas-table .ideabank-status-cell--unknown {
	background-color: #eceff1;
	color: #495057;
}

.ideabank-table-responsive {
	border: 1px solid #dee6ee;
	border-radius: 4px;
	background: #fff;
}

/* Pagination (numeric + arrows, no visible “Next” label). */
.ideabank-pagination-wrap .navigation.pagination {
	display: block;
}

.ideabank-pagination-wrap .nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	padding: 0.5rem 0;
}

.ideabank-pagination-wrap .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	min-height: 2.5rem;
	padding: 0.25rem 0.6rem;
	border: 1px solid #cfd8e3;
	border-radius: 4px;
	background: #fff;
	color: #333;
	text-decoration: none;
	font-size: 0.95rem;
	line-height: 1;
}

.ideabank-pagination-wrap .page-numbers.current {
	background: #0099e5;
	border-color: #0099e5;
	color: #fff;
	font-weight: 600;
}

.ideabank-pagination-wrap .page-numbers:hover:not(.current):not(.dots) {
	background: #eef5fb;
	border-color: #9cb8d6;
}

.ideabank-pagination-wrap .page-numbers.prev,
.ideabank-pagination-wrap .page-numbers.next {
	min-width: 2.5rem;
	font-size: 1.25rem;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}

.ideabank-pagination-wrap .page-numbers.dots {
	border: none;
	background: transparent;
	min-width: auto;
}

/* --------------------------------------------------------------------------
   Breadcrumbs (Bitrix-style strip under main menu)
   Background: themes/ideabank/assets/images/breadcrumbs_bgr.jpg (optional)
   -------------------------------------------------------------------------- */

.breadcrumb-section.ideabank-breadcrumbs {
	padding: 0;
	margin: 0;
	border: 0;
}

.ideabank-breadcrumbs {
	min-height: 52px;
	display: flex;
	align-items: center;
	background-color: #0c3558;
	background-image: url("../images/breadcrumbs_bgr.jpg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.ideabank-breadcrumbs__inner {
	box-sizing: border-box;
	width: 100%;
	max-width: 1320px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
}

@media (max-width: 767.98px) {

	.ideabank-breadcrumbs__inner {
		padding-left: 16px;
		padding-right: 16px;
	}
}

.ideabank-breadcrumbs__nav {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.35;
	color: #fff;
}

.ideabank-breadcrumbs__home,
.ideabank-breadcrumbs__home:visited {
	color: #fff;
	text-decoration: underline;
}

.ideabank-breadcrumbs__home:hover,
.ideabank-breadcrumbs__home:focus,
.ideabank-breadcrumbs__home:hover:visited,
.ideabank-breadcrumbs__home:focus:visited {
	color: #fff;
	text-decoration: underline;
}

.ideabank-breadcrumbs__link,
.ideabank-breadcrumbs__link:visited {
	color: #fff;
	text-decoration: none;
}

.ideabank-breadcrumbs__link:hover,
.ideabank-breadcrumbs__link:focus,
.ideabank-breadcrumbs__link:hover:visited,
.ideabank-breadcrumbs__link:focus:visited {
	color: #fff;
	text-decoration: underline;
}

.ideabank-breadcrumbs__sep {
	margin: 0 0.35em;
	color: rgba(255, 255, 255, 0.9);
}

.ideabank-breadcrumbs__current {
	color: #fff;
	font-weight: 400;
}

/* --------------------------------------------------------------------------
   Feedback page (full width within 1320px container)
   -------------------------------------------------------------------------- */

.ideabank-feedback-page {
	padding-top: 1.5rem;
	padding-bottom: 2.5rem;
}

.ideabank-feedback-page__title {
	font-size: 1.85rem;
	font-weight: 700;
	color: #222;
	margin-bottom: 1.25rem;
	text-align: left;
}

.ideabank-feedback-page__alert {
	margin-bottom: 1rem;
}

.ideabank-feedback-form .ideabank-bitrix-form {
	max-width: none;
	width: 100%;
}

.ideabank-feedback-form .form-control,
.ideabank-feedback-form .ideabank-bitrix-form .form-control {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}

.ideabank-feedback-form__message {
	min-height: 150px;
	resize: vertical;
}

.ideabank-feedback-form__actions {
	text-align: left;
}

.ideabank-feedback-card {
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	padding: 1.5rem 1.75rem 1.75rem;
	max-width: 720px;
}

.ideabank-feedback-message {
	margin-bottom: 1rem;
	border-radius: 8px;
}

.ideabank-feedback-field .form-label {
	font-weight: 600;
	color: #333;
	margin-bottom: 0.35rem;
}

.ideabank-feedback-captcha {
	padding: 1rem 1.1rem;
	background: #f8f9fa;
	border: 1px solid #e9ecef;
	border-radius: 8px;
}

.ideabank-feedback-captcha__label {
	margin-bottom: 0;
	color: #333;
}

.ideabank-feedback-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* --------------------------------------------------------------------------
   Registration page: localized labels + captcha alignment
   -------------------------------------------------------------------------- */

.ideabank-registration-page__container {
	max-width: 560px;
}

.ideabank-register-form__field .form-control,
.ideabank-register-captcha__answer .form-control {
	width: 100%;
}

.ideabank-register-captcha {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: 24px;
	row-gap: 12px;
	align-items: start;
}

.ideabank-register-captcha__challenge,
.ideabank-register-captcha__answer {
	display: flex;
	flex-direction: column;
	align-items: stretch;
}

.ideabank-register-captcha__label {
	margin-bottom: 0.5rem;
	min-height: 3rem;
}

.ideabank-register-captcha__box {
	min-height: 42px;
	height: 42px;
	display: flex;
	align-items: center;
}

.ideabank-register-captcha__answer .form-control {
	min-height: 42px;
}

.ideabank-register-form__actions {
	text-align: left;
}

.ideabank-registration-step2-fio {
	font-size: 1.125rem;
	line-height: 1.35;
}

.ideabank-registration-done {
	margin-bottom: 1rem;
}

.ideabank-registration-done__actions {
	text-align: left;
	margin-top: 0.75rem;
}

@media (max-width: 767.98px) {
	.ideabank-register-captcha {
		grid-template-columns: 1fr;
		column-gap: 0;
		row-gap: 14px;
	}

	.ideabank-register-captcha__label {
		min-height: 0;
	}
}

/* --------------------------------------------------------------------------
   Idea Bank — Login (template-idea-login.php)
   -------------------------------------------------------------------------- */

.ideabank-login-page__wrap {
	max-width: 1320px;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--bs-gutter-x, 0.75rem);
	padding-right: var(--bs-gutter-x, 0.75rem);
}

.ideabank-login-card {
	max-width: 480px;
	margin-left: auto;
	margin-right: auto;
	padding: 1.5rem 1.75rem;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 0.5rem;
	background: #fff;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}

.ideabank-login-card .login-username,
.ideabank-login-card .login-password,
.ideabank-login-card .login-remember {
	margin-bottom: 1rem;
}

.ideabank-login-card .login-username label,
.ideabank-login-card .login-password label {
	display: block;
	font-weight: 500;
	margin-bottom: 0.35rem;
}

.ideabank-login-card .input {
	display: block;
	width: 100%;
	padding: 0.5rem 0.75rem;
	font-size: 1rem;
	line-height: 1.5;
	border: 1px solid #ced4da;
	border-radius: 0.375rem;
	box-sizing: border-box;
}

.ideabank-login-card .login-submit {
	margin-bottom: 0;
	margin-top: 1rem;
}

.ideabank-login-card .login-submit .button.button-primary {
	display: inline-block;
	width: 100%;
	padding: 0.55rem 1rem;
	font-size: 1rem;
	font-weight: 600;
	border-radius: 2px;
	cursor: pointer;
	box-sizing: border-box;
	background-color: #0099e5;
	border: 1px solid #0099e5;
	color: #fff;
}

.ideabank-login-card .login-submit .button.button-primary:hover {
	background-color: #0086cc;
	border-color: #0086cc;
	color: #fff;
}

.ideabank-login-card .login-submit .button.button-primary:focus-visible {
	outline: 2px solid rgba(0, 153, 229, 0.45);
	outline-offset: 2px;
}

.ideabank-login-links {
	font-size: 0.9375rem;
	text-align: center;
}

.ideabank-login-links a {
	color: #0099e5;
	text-decoration: none;
}

.ideabank-login-links a:hover {
	text-decoration: underline;
}

.ideabank-login-page__error {
	margin-bottom: 1rem;
}

.ideabank-login-page__notice--error,
.ideabank-auth-message--error {
	max-width: 480px;
	margin-left: auto;
	margin-right: auto;
	padding: 0.75rem 1rem;
	font-size: 0.95rem;
	line-height: 1.45;
	color: #7a1535;
	background: #fde8ef;
	border: 1px solid #f3b8cb;
	border-radius: 0.375rem;
	box-sizing: border-box;
}

.ideabank-auth-message.ideabank-auth-message--success,
.ideabank-auth-message--success {
	max-width: 480px;
	margin-left: auto;
	margin-right: auto;
	padding: 0.75rem 1rem;
	font-size: 0.95rem;
	line-height: 1.45;
	color: #14532d;
	background: #e8f7ec;
	border: 1px solid #a8d4b8;
	border-radius: 0.375rem;
	box-sizing: border-box;
}

.ideabank-lostpassword-page .ideabank-lostpassword-form__submit {
	margin-bottom: 0;
	margin-top: 1rem;
}

.ideabank-reset-password-card.ideabank-login-card .ideabank-reset-password-form__field {
	margin-bottom: 1rem;
}

.ideabank-reset-password-card.ideabank-login-card .ideabank-reset-password-form__field label {
	display: block;
	font-weight: 500;
	margin-bottom: 0.35rem;
}

.ideabank-reset-password-card.ideabank-login-card .ideabank-reset-password-form__field .input {
	display: block;
	width: 100%;
	padding: 0.5rem 0.75rem;
	font-size: 1rem;
	line-height: 1.5;
	border: 1px solid #ced4da;
	border-radius: 0.375rem;
	box-sizing: border-box;
}

.ideabank-reset-password-page .ideabank-reset-password-form__submit {
	margin-bottom: 0;
	margin-top: 1rem;
}

.ideabank-lostpassword-page .ideabank-lostpassword-form__submit .button.button-primary,
.ideabank-reset-password-page .ideabank-reset-password-form__submit .button.button-primary {
	display: inline-block;
	width: 100%;
	padding: 0.55rem 1rem;
	font-size: 1rem;
	font-weight: 600;
	border-radius: 2px;
	cursor: pointer;
	box-sizing: border-box;
	background-color: #0099e5;
	border: 1px solid #0099e5;
	color: #fff;
}

.ideabank-lostpassword-page .ideabank-lostpassword-form__submit .button.button-primary:hover,
.ideabank-reset-password-page .ideabank-reset-password-form__submit .button.button-primary:hover {
	background-color: #0086cc;
	border-color: #0086cc;
	color: #fff;
}

.ideabank-login-page__logged-in {
	font-size: 1.05rem;
}

@media (max-width: 575.98px) {
	.ideabank-login-card {
		padding: 1.25rem 1rem;
		max-width: 100%;
	}
}

/* Single idea: status summary + review history timeline. */
.site-main--idea-single .ideabank-status-summary .idea-status-badge {
	vertical-align: middle;
}

.site-main--idea-single .ideabank-status-updated {
	white-space: nowrap;
}

.ideabank-status-timeline {
	background: #fff;
	border: 1px solid #dee6ee;
	border-radius: 6px;
	padding: 1.25rem 1.5rem;
	max-width: 100%;
	overflow-x: hidden;
}

.ideabank-status-timeline__title {
	margin-bottom: 1rem;
}

.ideabank-status-timeline__list {
	position: relative;
	margin: 0;
	padding: 0;
}

.ideabank-status-timeline__item {
	position: relative;
	padding: 0 0 1.25rem 1.5rem;
	border-left: 2px solid #cfd8e3;
	margin-left: 0.35rem;
}

.ideabank-status-timeline__item:last-child {
	padding-bottom: 0;
	border-left-color: transparent;
}

.ideabank-status-timeline__item::before {
	content: "";
	position: absolute;
	left: -6px;
	top: 0.35rem;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #779ccf;
	border: 2px solid #fff;
	box-shadow: 0 0 0 1px #cfd8e3;
}

.ideabank-status-timeline__date {
	display: block;
	font-size: 0.875rem;
	font-weight: 600;
	color: #333;
	margin-bottom: 0.35rem;
}

.ideabank-status-timeline__status {
	font-size: 0.925rem;
	color: #212529;
	margin-bottom: 0.25rem;
}

.ideabank-status-timeline__transition {
	font-weight: 500;
}

.ideabank-status-timeline__comment {
	font-size: 0.875rem;
	color: #495057;
	margin-bottom: 0.25rem;
	word-break: break-word;
}

.ideabank-status-timeline__comment-text {
	display: inline;
}

.ideabank-status-timeline__user {
	font-size: 0.8125rem;
	margin-top: 0.15rem;
}

.ideabank-status-timeline__empty {
	font-size: 0.925rem;
}

@media (max-width: 575.98px) {
	.ideabank-status-timeline {
		padding: 1rem;
	}

	.ideabank-status-timeline__item {
		padding-left: 1.15rem;
		margin-left: 0.15rem;
	}
}

/* Single idea: moderation status form (staff). */
.ideabank-moderation-card {
	background: #fff;
	border: 1px solid #dee6ee;
	border-radius: 6px;
	padding: 1.25rem 1.5rem;
	max-width: 100%;
	overflow-x: hidden;
}

.ideabank-moderation-form .form-select,
.ideabank-moderation-form .form-control {
	max-width: 100%;
}

.ideabank-moderation-current-status .idea-status-badge {
	vertical-align: middle;
}

.ideabank-moderation-message {
	margin-bottom: 1rem;
}

.ideabank-nts-decision-field[hidden] {
	display: none !important;
}

.ideabank-nts-decision-note {
	margin-top: 0.35rem;
}

.ideabank-nts-decision-value {
	max-width: 42rem;
}

.ideabank-moderation-actions {
	margin-top: 0.5rem;
}

@media (max-width: 575.98px) {
	.ideabank-moderation-card {
		padding: 1rem;
	}

	.ideabank-moderation-actions .btn {
		width: 100%;
	}
}

/* Cabinet left column: status change block (sibling of .ideabank-cabinet-sidebar menu). */
.ideabank-cabinet-sidebar-col .ideabank-cabinet-sidebar-moderation {
	margin-top: 1rem;
	width: 100%;
	max-width: 100%;
}

.ideabank-cabinet-sidebar-moderation-card {
	background: #fff;
	border: 1px solid #dee6ee;
	border-radius: 6px;
	padding: 1rem;
	max-width: 100%;
	overflow-x: hidden;
}

.ideabank-cabinet-sidebar-moderation .ideabank-moderation-form .form-select,
.ideabank-cabinet-sidebar-moderation .ideabank-moderation-form .form-control {
	width: 100%;
	max-width: 100%;
}

.ideabank-cabinet-sidebar-moderation .ideabank-moderation-comment {
	min-height: 90px;
	max-height: 120px;
	resize: vertical;
}

.ideabank-cabinet-sidebar-moderation .ideabank-moderation-actions .btn {
	width: 100%;
}

.ideabank-cabinet-sidebar-moderation .ideabank-moderation-field {
	margin-bottom: 0.75rem !important;
}

.ideabank-cabinet-sidebar-moderation .ideabank-moderation-message {
	font-size: 0.875rem;
}

/* Cabinet sidebar: no distinct visited link color on menu buttons */
.ideabank-cabinet-sidebar a.btn.btn-primary,
.ideabank-cabinet-sidebar a.btn.btn-primary:visited,
.ideabank-cabinet-sidebar a.btn.btn-primary:hover:visited,
.ideabank-cabinet-sidebar a.btn.btn-primary:focus:visited {
	color: #fff;
	background-color: var(--bs-primary, #009ee3);
	border-color: var(--bs-primary, #009ee3);
}

.ideabank-cabinet-sidebar a.btn.btn-outline-primary,
.ideabank-cabinet-sidebar a.btn.btn-outline-primary:visited,
.ideabank-cabinet-sidebar a.btn.btn-outline-primary:hover:visited,
.ideabank-cabinet-sidebar a.btn.btn-outline-primary:focus:visited {
	color: var(--bs-primary, #009ee3);
	background-color: transparent;
	border-color: var(--bs-primary, #009ee3);
}

.ideabank-cabinet-sidebar a.btn.btn-outline-secondary,
.ideabank-cabinet-sidebar a.btn.btn-outline-secondary:visited,
.ideabank-cabinet-sidebar a.btn.btn-outline-secondary:hover:visited,
.ideabank-cabinet-sidebar a.btn.btn-outline-secondary:focus:visited {
	color: var(--bs-secondary, #6c757d);
	background-color: transparent;
	border-color: var(--bs-secondary, #6c757d);
}

/* Cabinet profile */
.ideabank-cabinet-actions .btn.active {
	pointer-events: none;
}

.ideabank-profile-card {
	max-width: 100%;
	overflow-x: hidden;
}

.ideabank-profile-layout {
	align-items: flex-start;
}

.ideabank-profile-avatar__preview {
	display: inline-block;
	max-width: 100%;
}

.ideabank-profile-avatar__img {
	width: 160px;
	height: 160px;
	max-width: 100%;
	object-fit: cover;
	border-radius: 50%;
	border: 2px solid #dee6ee;
}

.ideabank-profile-readonly .form-label {
	color: #6c757d;
	margin-bottom: 0.25rem;
}

.ideabank-profile-message {
	max-width: 100%;
}

.ideabank-profile-form .form-control[type="file"] {
	max-width: 100%;
}

/* Front edit idea */
.ideabank-edit-idea-form {
	max-width: 100%;
	overflow-x: hidden;
}

.ideabank-edit-idea-link {
	white-space: nowrap;
}

/* Cabinet table: edit action column */
.ideabank-ideas-table-wrap .ideabank-table-actions,
.ideas-table .ideabank-table-actions {
	width: 2.75rem;
	min-width: 2.75rem;
	max-width: 2.75rem;
	padding-left: 0.25rem;
	padding-right: 0.25rem;
	text-align: center;
	vertical-align: middle;
}

.ideabank-edit-icon-link,
.ideabank-edit-icon-link:link,
.ideabank-edit-icon-link:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 2.125rem;
	height: 2.125rem;
	border: 1px solid #b8d9f0;
	border-radius: 6px;
	background-color: #edf6fc;
	color: #5ba3d4;
	text-decoration: none;
	line-height: 1;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.ideabank-edit-icon-link:hover,
.ideabank-edit-icon-link:focus,
.ideabank-edit-icon-link:hover:visited,
.ideabank-edit-icon-link:focus:visited {
	border-color: #8ec5ea;
	background-color: #dceefb;
	color: #5ba3d4;
	text-decoration: none;
}

.ideabank-edit-icon-link:focus-visible {
	outline: 2px solid #009ee3;
	outline-offset: 2px;
}

.ideabank-edit-icon {
	display: block;
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
}

.ideabank-existing-attachments ul {
	max-width: 100%;
	word-break: break-word;
}

.ideabank-edit-idea-message {
	max-width: 100%;
}

@media (max-width: 767.98px) {
	.ideabank-cabinet-actions {
		display: flex;
		width: 100%;
	}

	.ideabank-cabinet-actions .btn {
		flex: 1 1 auto;
	}

	.ideabank-profile-avatar__img {
		width: 120px;
		height: 120px;
	}
}

/* Single idea: problem / solution text cards. */
.ideabank-idea-text-card {
	background: #fff;
	border: 1px solid #e1e5ea;
	border-radius: 8px;
	padding: 1.25rem 1.5rem;
	margin-bottom: 1.25rem;
	max-width: 100%;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.ideabank-idea-text-card__title {
	margin: 0 0 0.75rem;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.3;
}

.ideabank-idea-text-card__body {
	color: #333;
	line-height: 1.6;
	word-break: break-word;
	overflow-wrap: anywhere;
}

.ideabank-idea-text-card__body > :last-child {
	margin-bottom: 0;
}

.ideabank-idea-text-card__body img,
.ideabank-idea-text-card__body table,
.ideabank-idea-text-card__body iframe,
.ideabank-idea-text-card__body video {
	max-width: 100%;
	height: auto;
}

.ideabank-idea-text-card__body table {
	display: block;
	overflow-x: auto;
}

/* Single idea: unified meta + attachments card. */
.ideabank-idea-info-card {
	background: #fff;
	border: 1px solid #e1e5ea;
	border-radius: 10px;
	padding: 20px 24px;
	margin-bottom: 24px;
	max-width: 100%;
	overflow: hidden;
}

.ideabank-idea-info-row {
	align-items: stretch;
}

.ideabank-idea-info-main {
	min-width: 0;
}

.ideabank-idea-info-card .idea-meta-table,
.ideabank-idea-info-card .idea-meta-table.idea-meta-table {
	margin-bottom: 0;
	background: transparent;
}

.ideabank-idea-info-card .idea-meta-table td,
.ideabank-idea-info-card .idea-meta-table th {
	word-break: break-word;
	overflow-wrap: anywhere;
}

.ideabank-idea-info-files {
	min-width: 0;
}

.ideabank-idea-attachments-card {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
	max-width: 100%;
}

.ideabank-idea-attachments-card__title {
	margin-top: 0;
}

.ideabank-idea-attachments-list {
	margin-bottom: 0;
}

.ideabank-idea-attachments-empty {
	color: #6c757d;
	font-size: 14px;
	line-height: 1.5;
}

.ideabank-idea-attachments-list__item {
	padding: 0.35rem 0;
	border-bottom: 1px solid #e8eef4;
}

.ideabank-idea-attachments-list__item:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.ideabank-idea-attachment-link {
	display: block;
	word-break: break-word;
	overflow-wrap: anywhere;
	text-decoration: none;
}

.ideabank-idea-attachment-link:hover {
	text-decoration: underline;
}

@media (min-width: 992px) {
	.ideabank-idea-info-files {
		border-left: 1px solid #e8eef4;
		padding-left: 24px;
	}

	.ideabank-idea-info-main {
		padding-right: 24px;
	}
}

@media (max-width: 991.98px) {
	.ideabank-idea-info-files {
		border-left: 0;
		border-top: 1px solid #e8eef4;
		margin-top: 16px;
		padding-top: 16px;
		padding-left: 0;
	}

	.ideabank-idea-info-main {
		padding-right: 0;
	}
}

.ideabank-cabinet-idea-view .ideabank-idea-single-content {
	max-width: 100%;
}

/* --------------------------------------------------------------------------
   404 page
   -------------------------------------------------------------------------- */

.ideabank-404 {
	padding-top: 1.5rem;
	padding-bottom: 2.5rem;
}

.ideabank-404__card {
	background: #fff;
	border: 1px solid #e1e5ea;
	border-radius: 10px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
	padding: 2.5rem 2rem;
	margin: 0 auto;
	max-width: 720px;
	text-align: center;
}

.ideabank-404__title {
	margin: 0 0 1rem;
	font-size: clamp(1.5rem, 4vw, 2rem);
	font-weight: 600;
	line-height: 1.25;
}

.ideabank-404__text {
	margin: 0 0 0.75rem;
	font-size: 1rem;
	line-height: 1.55;
	color: #333;
}

.ideabank-404__hint {
	margin-bottom: 1.5rem;
	font-size: 0.9375rem;
}

.ideabank-404__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
}

.ideabank-404__button {
	min-width: 10rem;
	max-width: 100%;
}

@media (max-width: 575.98px) {
	.ideabank-404__card {
		padding: 1.75rem 1.25rem;
	}

	.ideabank-404__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.ideabank-404__button {
		width: 100%;
		min-width: 0;
	}
}

/* Screen: print-only blocks hidden. */
.ideabank-print-only {
	display: none !important;
}

/* Idea card print layout (single idea + cabinet view). */
@media print {
	@page {
		margin: 12mm 14mm;
	}

	body.single-idea,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) {
		background: #fff !important;
		color: #000 !important;
		padding-top: 0 !important;
		margin: 0 !important;
	}

	body.single-idea #wpadminbar,
	body.single-idea .skip-link,
	body.single-idea .screen-reader-text,
	body.single-idea .site-header,
	body.single-idea #masthead,
	body.single-idea .site-footer,
	body.single-idea #colophon,
	body.single-idea .ideabank-breadcrumbs,
	body.single-idea .breadcrumb-section,
	body.single-idea .header-top-section,
	body.single-idea .header-nav-section,
	body.single-idea .navbar-toggler,
	body.single-idea #header-nav,
	body.single-idea .ideabank-cabinet-sidebar-col,
	body.single-idea .ideabank-cabinet-sidebar,
	body.single-idea .ideabank-no-print,
	body.single-idea .d-print-none,
	body.single-idea .idea-bank-alert,
	body.single-idea .ideabank-moderation-card,
	body.single-idea .ideabank-moderation-form,
	body.single-idea .comments-area,
	body.single-idea #comments,
	body.single-idea #respond,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) #wpadminbar,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .skip-link,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .screen-reader-text,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .site-header,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) #masthead,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .site-footer,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) #colophon,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-breadcrumbs,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .breadcrumb-section,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .header-top-section,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .header-nav-section,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .navbar-toggler,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) #header-nav,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-cabinet-sidebar-col,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-cabinet-sidebar,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-no-print,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .d-print-none,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .idea-bank-alert,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-moderation-card,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-moderation-form,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .comments-area,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) #comments,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) #respond {
		display: none !important;
	}

	body.single-idea #page,
	body.single-idea .site,
	body.single-idea #primary,
	body.single-idea .site-main,
	body.single-idea .site-main--idea-single,
	body.single-idea .site-main--idea-cabinet,
	body.single-idea .ideabank-cabinet-main,
	body.single-idea .container,
	body.single-idea .container-lg,
	body.single-idea .row,
	body.single-idea .ideabank-cabinet-content-col,
	body.single-idea .ideabank-cabinet-idea-view,
	body.single-idea .ideabank-print-content,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) #page,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .site,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) #primary,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .site-main,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .site-main--idea-cabinet,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-cabinet-main,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .container,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .container-lg,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .row,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-cabinet-content-col,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-cabinet-idea-view,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-print-content {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
	}

	body.single-idea .col-12,
	body.single-idea .col-lg-8,
	body.single-idea .col-lg-9,
	body.single-idea .col-lg-4,
	body.single-idea .col-sm-12,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .col-12,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .col-lg-8,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .col-lg-9,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .col-lg-4,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .col-sm-12 {
		flex: none !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	body.single-idea .ideabank-print-only,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-print-only {
		display: block !important;
	}

	body.single-idea .ideabank-print-header,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-print-header {
		margin: 0 0 16px;
		padding: 0 0 12px;
		border-bottom: 1px solid #ccc;
		break-inside: avoid;
		page-break-inside: avoid;
	}

	body.single-idea .ideabank-print-header__brand,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-print-header__brand {
		display: flex;
		align-items: center;
		gap: 10px;
	}

	body.single-idea .ideabank-print-header__logo-sign,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-print-header__logo-sign {
		height: 40px;
		width: auto;
	}

	body.single-idea .ideabank-print-header__logo-text,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-print-header__logo-text {
		height: 28px;
		width: auto;
		max-width: 100%;
	}

	body.single-idea .ideabank-idea-single-content,
	body.single-idea .ideabank-idea-text-card,
	body.single-idea .ideabank-idea-info-card,
	body.single-idea .ideabank-status-timeline,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-idea-single-content,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-idea-text-card,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-idea-info-card,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-status-timeline {
		box-shadow: none !important;
		background: #fff !important;
		border-color: #ccc !important;
		break-inside: avoid;
		page-break-inside: avoid;
	}

	body.single-idea .ideabank-idea-info-card .row,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-idea-info-card .row {
		display: block !important;
	}

	body.single-idea .ideabank-idea-info-main,
	body.single-idea .ideabank-idea-info-files,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-idea-info-main,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-idea-info-files {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		border: 0 !important;
		margin: 0 !important;
	}

	body.single-idea .ideabank-idea-info-files,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-idea-info-files {
		margin-top: 12px !important;
		padding-top: 12px !important;
		border-top: 1px solid #ccc !important;
	}

	body.single-idea .ideabank-idea-single-content h1,
	body.single-idea .ideabank-idea-single-content h2,
	body.single-idea .ideabank-idea-single-content h3,
	body.single-idea .ideabank-idea-single-content h4,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-idea-single-content h1,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-idea-single-content h2,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-idea-single-content h3,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-idea-single-content h4 {
		color: #000 !important;
	}

	body.single-idea .ideabank-idea-single-content .text-primary,
	body.single-idea .ideabank-idea-single-content .text-muted,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-idea-single-content .text-primary,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-idea-single-content .text-muted {
		color: #000 !important;
	}

	body.single-idea .ideabank-idea-single-content .border-bottom,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-idea-single-content .border-bottom {
		border-color: #ccc !important;
	}

	body.single-idea .idea-meta-table,
	body.single-idea .idea-meta-table td,
	body.single-idea .idea-meta-table th,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .idea-meta-table,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .idea-meta-table td,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .idea-meta-table th {
		background: transparent !important;
		color: #000 !important;
		border-color: #ccc !important;
	}

	body.single-idea .idea-status-badge,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .idea-status-badge {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}

	body.single-idea .ideabank-idea-single-content a,
	body.single-idea .ideabank-idea-attachment-link,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-idea-single-content a,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-idea-attachment-link {
		color: #000 !important;
		text-decoration: underline;
	}

	body.single-idea .ideabank-idea-single-content a[href]::after,
	body.single-idea .ideabank-idea-attachment-link[href]::after,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-idea-single-content a[href]::after,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-idea-attachment-link[href]::after {
		content: none !important;
	}

	body.single-idea .ideabank-status-timeline__item::before,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-status-timeline__item::before {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}

	body.single-idea .ideabank-idea-single-content img,
	body.single-idea .ideabank-idea-single-content table,
	body.single-idea .ideabank-idea-text-card__body,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-idea-single-content img,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-idea-single-content table,
	body.page-template-template-idea-cabinet:has(.ideabank-print-content) .ideabank-idea-text-card__body {
		max-width: 100% !important;
	}
}
