/* Основной текст: чёрный вместо серого шаблона Editorial */
html {
	scroll-behavior: smooth;
}

body, input, select, textarea {
	color: #111;
}

h1, h2, h3, h4, h5, h6,
strong, b {
	color: #111;
}

/* Listing images: uniform 4:3 aspect ratio */
.image-aspect {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	position: relative;
}

.image-aspect > a {
	display: block;
	width: 100%;
	height: 100%;
	border-bottom: 0;
}

a.image-aspect {
	border-bottom: 0;
}

.image-aspect img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.listing-meta,
.listing-date {
	font-size: 0.9em;
	color: #7f888f;
	margin-top: 0;
	margin-bottom: 1em;
}

.listing-status {
	display: inline-block;
	margin: 0.35em 0;
	padding: 0.25em 0.6em;
	background: #eee;
	color: #555;
	border-radius: 4px;
	font-size: 0.85em;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

h1 + .listing-status,
h3 + .listing-status {
	margin-top: 0;
}

.listing-status + .listing-meta {
	margin-top: 0.35em;
}

.listing-card h3 {
	margin-bottom: 0.35em;
}

.listing-card--archived .image img {
	filter: grayscale(1);
	opacity: 0.85;
}

/* Listing page: компактнее стандартных отступов шаблона Editorial */
#main > .inner > section.listing-page {
	padding: 3em 0 2em 0;
}

@media screen and (max-width: 1680px) {
	#main > .inner > section.listing-page {
		padding: 2.5em 0 1.5em 0;
	}
}

@media screen and (max-width: 1280px) {
	#main > .inner > section.listing-page {
		padding: 2em 0 1em 0;
	}
}

@media screen and (max-width: 736px) {
	#main > .inner > section.listing-page {
		padding: 1.5em 0 0.75em 0;
	}
}

.listing-page header.main h1 {
	margin-bottom: 0.25em;
}

.listing-page header.main > :last-child {
	margin-bottom: 0.5em;
}

.listing-page hr.major {
	margin: 1.25em 0 0.5em 0;
}

.listing-page header.major h2 {
	margin-top: 0.6em;
}

.listing-page header.major > :last-child {
	margin-bottom: 0.75em;
}

.listing-page .row > * {
	max-width: 100%;
	min-width: 0;
}

/* Мобильная галерея: 2×3 превью + «+N», остальное по клику */
.listing-gallery__more {
	display: none;
}

@media screen and (max-width: 980px) {
	.listing-gallery:not(.listing-gallery--expanded) .listing-gallery__item--extra {
		display: none;
	}

	.listing-gallery:not(.listing-gallery--expanded) .listing-gallery__more {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		min-height: 0;
		max-height: none;
		z-index: 2;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		background: rgba(17, 17, 17, 0.62);
		color: #fff !important;
		font-family: "Roboto Slab", serif;
		font-size: 1.75em;
		font-weight: 700;
		letter-spacing: normal;
		line-height: 1;
		text-transform: none;
		white-space: normal;
		cursor: pointer;
		-webkit-appearance: none;
		appearance: none;
	}

	.listing-gallery:not(.listing-gallery--expanded) .listing-gallery__more:hover,
	.listing-gallery:not(.listing-gallery--expanded) .listing-gallery__more:focus,
	.listing-gallery:not(.listing-gallery--expanded) .listing-gallery__more:active {
		background: rgba(17, 17, 17, 0.72);
		color: #fff !important;
		box-shadow: none;
	}
}

.listing-links-note {
	font-size: 0.9em;
	color: #7f888f;
	margin-top: 0.75em;
}

.listing-report {
	margin-top: 2em;
	padding-top: 1.5em;
	border-top: solid 1px rgba(210, 215, 217, 0.75);
	scroll-margin-top: 5em;
	max-width: 100%;
	min-width: 0;
}

.listing-report__text {
	margin-bottom: 1em;
}

.listing-report__details {
	margin: 0;
	max-width: 100%;
	min-width: 0;
}

.listing-report__details > summary {
	display: inline-block;
	list-style: none;
	cursor: pointer;
}

.listing-report__details > summary::-webkit-details-marker {
	display: none;
}

.listing-report__form {
	margin-top: 1em;
	max-width: 100%;
	min-width: 0;
	scroll-margin-top: 5em;
}

.listing-report__form textarea {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin-bottom: 1em;
}

.listing-external-links {
	list-style: none;
	padding-left: 0;
	margin: 0 0 0.5em 0;
}

.listing-contacts {
	list-style: none;
	padding-left: 0;
	margin: 0 0 0.5em 0;
}

.listing-contacts li {
	margin-bottom: 0.35em;
}

.listing-external-links li {
	padding: 0.35em 0;
}

.listing-specs {
	margin-bottom: 1em;
}

.listing-specs p {
	margin: 0.25em 0;
}

.listing-specs__title {
	font-weight: 600;
	margin-bottom: 0.5em !important;
}

.listing-editorial,
.listing-seller-content {
	margin-bottom: 0;
}

.listing-editorial p,
.listing-seller-content p {
	margin-bottom: 1em;
}

/* Главная: логотип в шапке скрыт в разметке; на мобилке чуть меньше воздуха над полосой. */
@media screen and (max-width: 736px) {
	#header.header--home {
		padding-top: 4.5em;
	}

	#banner .content > p {
		display: none;
	}

	#banner header p {
		margin-top: 0.75em;
	}

	/* padding шапки над оранжевой полосой — снизу от неё нужен отступ у баннера */
	#main > .inner > section#banner {
		padding-top: 2.25em;
		padding-bottom: 1.25em;
	}
}

/*
 * Баннер главной: маскот-иллюстрация, не фото-заглушка.
 * Тема Editorial режет картинку через object-fit:cover и на portrait
 * ставит высокий блок на всю ширину — кот обрезается и «прижимается» вправо.
 */
#main > .inner > section#banner {
	align-items: center;
	padding: 2em 0 2em 0;
}

#banner .image {
	width: 50%;
	margin: 0 0 0 2em;
	height: auto;
	max-height: none;
	min-height: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

#banner .image img {
	width: 100%;
	height: auto;
	max-height: 22em;
	object-fit: contain;
	object-position: center;
}

/* Планшет / телефон: кот рядом с текстом, кроп по бокам */
@media screen and (max-width: 980px), screen and (orientation: portrait) {
	#main > .inner > section#banner {
		flex-direction: row;
		align-items: center;
		padding: 1.25em 0 1.25em 0;
	}

	#banner .content {
		width: 58%;
		flex: 1 1 auto;
		order: 0;
	}

	#banner .image {
		width: 38%;
		flex: 0 0 38%;
		margin: 0 0 0 0.75em;
		height: 11em;
		max-height: none;
		min-height: 0;
		order: 0;
	}

	#banner .image img {
		width: 100%;
		height: 100%;
		max-height: none;
		object-fit: cover;
		object-position: center top;
	}
}

@media screen and (max-width: 480px) {
	#main > .inner > section#banner {
		padding: 2em 0 1em 0;
	}

	#banner .content {
		width: 55%;
	}

	#banner .image {
		width: 42%;
		flex-basis: 42%;
		height: 9.5em;
		margin-left: 0.5em;
	}

	#banner h1 {
		font-size: 1.6em;
	}
}

/* Static content pages */
.content-page header.main h1 {
	margin-bottom: 0.35em;
}

.content-page p {
	margin-bottom: 1em;
}

.content-page header.major > :last-child {
	margin-bottom: 1em;
}

.content-page .box {
	margin-bottom: 1.5em;
}

.idea-kicker {
	color: #f56a6a;
	font-family: "Roboto Slab", serif;
	font-size: 0.85em;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 0 0 0.5em 0;
}

.idea-page header.main h1 {
	font-size: 2.25em;
}

.idea-quote {
	margin: 0;
	border-left: 4px solid #f56a6a;
	padding: 0.25em 0 0.25em 1.1em;
	font-family: "Roboto Slab", serif;
	font-size: 1.05em;
	font-weight: 400;
	line-height: 1.6;
	color: #3d4449;
}

.idea-page .features {
	margin-bottom: 0.5em;
}

.idea-page .features article {
	align-items: flex-start;
}

.idea-page .features article .icon {
	height: 6.5em;
	line-height: 6.5em;
	width: 6.5em;
	margin-right: 1.25em;
}

.idea-page .features article .icon:before {
	font-size: 1.75rem;
}

.idea-page .features article .icon:after {
	height: 5em;
	width: 5em;
	margin: -2.5em 0 0 -2.5em;
}

.idea-page .features h3 {
	margin-bottom: 0.35em;
}

.idea-page .features p {
	margin-bottom: 0;
	font-size: 0.95em;
}

.idea-steps {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25em 1.5em;
	list-style: none;
	counter-reset: idea-step;
	padding: 0;
	margin: 0 0 1.25em 0;
}

.idea-steps li {
	flex: 1 1 10em;
	counter-increment: idea-step;
	position: relative;
	padding-top: 2.25em;
}

.idea-steps li::before {
	content: counter(idea-step);
	position: absolute;
	top: 0;
	left: 0;
	width: 1.75em;
	height: 1.75em;
	border-radius: 50%;
	background: #f56a6a;
	color: #fff;
	font-size: 0.85em;
	font-weight: 700;
	line-height: 1.75em;
	text-align: center;
}

.idea-steps strong {
	display: block;
	margin-bottom: 0.25em;
}

.idea-steps span {
	display: block;
	font-size: 0.95em;
}

.idea-cta {
	overflow: hidden;
}

.idea-cta h3 {
	margin-bottom: 0.4em;
}

.idea-cta-points {
	margin: 0.75em 0 0 0;
	padding-left: 1.2em;
}

.idea-cta-actions {
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.idea-cta-actions .actions {
	margin-bottom: 0.5em;
	width: 100%;
}

.idea-cta-actions .actions.fit {
	width: 100%;
}

.idea-cta-actions .button {
	white-space: normal;
	text-align: center;
}

@media screen and (max-width: 980px) {
	.idea-quote {
		margin-top: 1.25em;
	}

	.idea-cta-actions {
		margin-top: 1.5em;
	}
}

/* Чуть крупнее основной текст на телефоне (шаблон сжимает до 10pt / 9pt) */
@media screen and (max-width: 736px) {
	.content-page {
		font-size: 1.15em;
	}

	.idea-page header.main h1 {
		font-size: 1.85em;
	}
}

@media screen and (max-width: 360px) {
	.content-page {
		font-size: 1.25em;
	}
}

#submit-feedback {
	scroll-margin-top: 5em;
}

#contacts-feedback {
	scroll-margin-top: 5em;
}

.form-flash {
	scroll-margin-top: 5em;
	padding: 1em 1.25em;
	margin: 0 0 1.5em 0;
	border-radius: 4px;
}

.form-flash p,
.form-flash ul {
	margin-bottom: 0.5em;
}

.form-flash > :last-child {
	margin-bottom: 0;
}

.form-flash--success {
	background: #e8f5e9;
	border-left: 4px solid #2e7d32;
	color: #1b5e20;
}

.form-flash--error {
	background: #fdecea;
	border-left: 4px solid #c62828;
	color: #b71c1c;
}

.form-flash--error strong {
	color: #b71c1c;
}

/* Catalog filters */
.catalog-filters {
	margin-bottom: 1.5em;
}

.catalog-filters__row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.75em 1em;
}

.catalog-filters__field {
	flex: 1 1 10em;
	min-width: 0;
	margin: 0;
}

.catalog-filters__field--search {
	flex: 2 1 14em;
}

.catalog-filters__field--year {
	flex: 0 1 7em;
}

.catalog-filters__label {
	display: block;
	font-size: 0.85em;
	margin-bottom: 0.35em;
	color: #7f888f;
}

.catalog-filters__field select,
.catalog-filters__field input {
	width: 100%;
	margin: 0;
}

.catalog-filters__actions {
	flex: 0 0 auto;
}

.catalog-filters__actions .actions {
	margin: 0;
	flex-wrap: nowrap;
}

.catalog-filters__error {
	color: #b71c1c;
	font-size: 0.9em;
	margin: 0.75em 0 0 0;
}

.catalog-page .posts {
	margin-top: 0;
}

@media screen and (max-width: 736px) {
	.catalog-filters__field,
	.catalog-filters__field--year {
		flex: 1 1 100%;
	}

	.catalog-filters__actions {
		width: 100%;
	}

	.catalog-filters__actions .actions {
		flex-wrap: wrap;
	}
}

/* GLightbox: дата съёмки в нижнем углу фото */
.glightbox-container .gslide-media.gslide-image {
	position: relative;
	width: fit-content;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.glightbox-taken-at {
	position: absolute;
	right: 0.75rem;
	bottom: 0.75rem;
	z-index: 2;
	padding: 0.4em 0.75em;
	background: rgba(0, 0, 0, 0.55);
	color: #fff;
	border-radius: 4px;
	font-size: 0.9rem;
	line-height: 1.3;
	pointer-events: none;
}
