/* AOGM Catalog — Professional Industrial Theme */

:root {
	--c-navy: #3d4a8f;
	--c-navy-dark: #2d3769;
	--c-navy-deep: #1e2650;
	--c-blue: #4e61a8;
	--c-blue-light: #6b7ec4;
	--c-surface: #eef1f8;
	--c-surface-2: #e4e9f4;
	--c-white: #ffffff;
	--c-text: #1e2340;
	--c-text-muted: #6b7289;
	--c-border: #d8dff0;
	--c-success: #16a34a;
	--c-error: #dc2626;
	--font: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--radius: 10px;
	--radius-sm: 6px;
	--radius-pill: 50px;
	--shadow: 0 4px 24px rgba(45, 55, 105, 0.08);
	--shadow-lg: 0 12px 48px rgba(45, 55, 105, 0.14);
	--container: 1320px;
	--header-h: 80px;
	--transition: 0.25s ease;
}

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

html { scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: var(--font);
	font-size: 15px;
	line-height: 1.65;
	color: var(--c-text);
	background: var(--c-white);
	-webkit-font-smoothing: antialiased;
}

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

a {
	color: var(--c-blue);
	text-decoration: none;
	transition: color var(--transition);
}

a:hover { color: var(--c-navy); }

.container {
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 24px;
}

/* ─── Buttons ─── */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 28px;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	border: 2px solid transparent;
	border-radius: var(--radius-sm);
	cursor: pointer;
	transition: all var(--transition);
	text-decoration: none;
	white-space: nowrap;
}

.btn--primary {
	background: var(--c-navy);
	color: var(--c-white);
	border-color: var(--c-navy);
}

.btn--primary:hover {
	background: var(--c-navy-dark);
	border-color: var(--c-navy-dark);
	color: var(--c-white);
}

.btn--ghost {
	background: transparent;
	color: var(--c-white);
	border-color: rgba(255,255,255,0.5);
}

.btn--ghost:hover {
	background: rgba(255,255,255,0.12);
	border-color: var(--c-white);
	color: var(--c-white);
}

.btn--submit {
	width: 100%;
	background: var(--c-navy-deep);
	color: var(--c-white);
	border: none;
	padding: 18px;
	font-size: 13px;
	letter-spacing: 0.06em;
}

.btn--submit:hover {
	background: var(--c-navy-dark);
	color: var(--c-white);
}

.btn--sm { padding: 10px 18px; font-size: 12px; }

/* ─── Header ─── */
.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: var(--c-navy);
	transition: box-shadow var(--transition);
}

.site-header.is-scrolled {
	box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}

.header__inner {
	display: flex;
	align-items: center;
	gap: 20px;
	min-height: var(--header-h);
}

/* Logo */
.site-logo {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--c-white);
	flex-shrink: 0;
}

.site-logo:hover { color: var(--c-white); opacity: 0.9; }

.site-logo__mark {
	width: 40px;
	height: 40px;
	color: var(--c-white);
}

.site-logo__text {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	line-height: 1.2;
	max-width: 80px;
}

/* Navigation */
.main-nav {
	flex: 1;
	display: flex;
	justify-content: center;
	position: relative;
}

.main-nav ul {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 2px;
}

.main-nav a {
	display: block;
	padding: 8px 12px 10px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.9);
	border-radius: var(--radius-sm);
	transition: color var(--transition), background var(--transition);
	position: relative;
}

.main-nav a:hover {
	color: var(--c-white);
	background: rgba(255,255,255,0.1);
}

.main-nav .current-menu-item > a,
.main-nav .current-menu-ancestor > a,
.main-nav .current_page_item > a,
.main-nav .current_page_parent > a,
.main-nav .current_page_ancestor > a {
	color: var(--c-white);
	background: rgba(255,255,255,0.16);
	font-weight: 700;
}

.main-nav .current-menu-item > a::after,
.main-nav .current-menu-ancestor > a::after,
.main-nav .current_page_item > a::after,
.main-nav .current_page_parent > a::after,
.main-nav .current_page_ancestor > a::after {
	content: '';
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 5px;
	height: 2px;
	background: var(--c-white);
	border-radius: 1px;
}

.nav-toggle {
	display: none;
	flex-direction: column;
	gap: 5px;
	background: none;
	border: none;
	padding: 8px;
	cursor: pointer;
}

.nav-toggle span {
	display: block;
	width: 22px;
	height: 2px;
	background: var(--c-white);
	transition: var(--transition);
}

/* Header search */
.header-search {
	display: flex;
	align-items: center;
	background: var(--c-white);
	border-radius: var(--radius-pill);
	padding: 0 4px 0 16px;
	flex-shrink: 0;
	min-width: 140px;
}

.header-search input {
	border: none;
	background: transparent;
	font-family: inherit;
	font-size: 13px;
	color: var(--c-text);
	padding: 10px 0;
	width: 100px;
	outline: none;
}

.header-search input::placeholder { color: var(--c-text-muted); }

.header-search button {
	background: none;
	border: none;
	padding: 8px;
	color: var(--c-text-muted);
	cursor: pointer;
	display: flex;
	align-items: center;
}

.header-search button:hover { color: var(--c-navy); }

/* Header contacts */
.header-contacts {
	flex-shrink: 0;
	display: grid;
	grid-template-columns: auto auto;
	column-gap: 18px;
	row-gap: 3px;
	align-items: center;
	justify-content: end;
}

.header-contacts__phone {
	color: var(--c-white);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
	white-space: nowrap;
	text-align: right;
	justify-self: end;
}

.header-contacts__phone:hover { color: rgba(255,255,255,0.8); }

.header-contacts__callback {
	color: var(--c-white);
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	line-height: 1.35;
	opacity: 0.75;
	white-space: nowrap;
	justify-self: start;
	align-self: center;
}

.header-contacts__callback:hover {
	color: rgba(255,255,255,0.8);
	opacity: 1;
}

.header-contacts__email {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: rgba(255,255,255,0.85);
	font-size: 12px;
	line-height: 1.35;
	white-space: nowrap;
	justify-self: start;
	align-self: center;
}

.header-contacts__email:hover { color: var(--c-white); }

.header-contacts__email svg {
	flex-shrink: 0;
	opacity: 0.85;
}

/* Floating request tab */
.floating-request {
	position: fixed;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 999;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	background: var(--c-blue);
	color: var(--c-white);
	padding: 14px 10px;
	border-radius: var(--radius-sm) 0 0 var(--radius-sm);
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	box-shadow: -4px 0 16px rgba(45,55,105,0.2);
	transition: background var(--transition);
}

.floating-request:hover {
	background: var(--c-navy);
	color: var(--c-white);
}

.floating-request svg { transform: rotate(90deg); }

/* ─── Hero Banner ─── */
.hero-banner {
	position: relative;
	background: linear-gradient(135deg, var(--c-navy-deep) 0%, var(--c-navy) 45%, var(--c-blue) 100%);
	color: var(--c-white);
	padding: 72px 0 88px;
	overflow: hidden;
}

.hero-banner__overlay {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse at 85% 15%, rgba(107,126,196,0.25) 0%, transparent 55%),
		radial-gradient(ellipse at 10% 90%, rgba(255,255,255,0.04) 0%, transparent 40%);
}

.hero-banner--no-gradient .hero-banner__overlay {
	display: none;
}

.hero-banner__inner {
	position: relative;
	max-width: 720px;
}

.hero-banner__label {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.7);
	margin-bottom: 16px;
}

.hero-banner__title {
	font-size: clamp(32px, 5vw, 52px);
	font-weight: 800;
	line-height: 1.1;
	margin: 0 0 16px;
	letter-spacing: -0.02em;
}

.hero-banner__subtitle {
	font-size: 17px;
	opacity: 0.88;
	margin: 0 0 32px;
	line-height: 1.6;
}

.hero-banner__actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 48px;
}

.hero-banner__stats {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

.hero-stat {
	background: rgba(255,255,255,0.08);
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: var(--radius);
	padding: 16px 20px;
	backdrop-filter: blur(8px);
}

.hero-stat strong {
	display: block;
	font-size: 24px;
	font-weight: 800;
	color: var(--c-white);
	margin-bottom: 2px;
}

.hero-stat span {
	font-size: 12px;
	opacity: 0.8;
}

/* ─── Sections ─── */
.section { padding: 64px 0; }

.section--surface { background: var(--c-surface); }

.section--audience { background: var(--c-surface); padding: 56px 0; }

.section-cta { text-align: center; margin-top: 40px; }

.page-title {
	font-size: clamp(24px, 3vw, 32px);
	font-weight: 800;
	color: var(--c-navy);
	text-transform: uppercase;
	letter-spacing: 0.02em;
	margin: 0 0 8px;
}

.page-title--sm { font-size: 22px; margin-top: 48px; }

.page-subtitle {
	color: var(--c-text-muted);
	margin: 0;
	font-size: 15px;
}

.page-title-row { margin-bottom: 36px; }

/* Features row */
.features-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

.feature-item {
	background: var(--c-white);
	border-radius: var(--radius);
	padding: 28px 24px;
	box-shadow: var(--shadow);
	transition: transform var(--transition), box-shadow var(--transition);
}

.feature-item:hover {
	transform: translateY(-3px);
	box-shadow: var(--shadow-lg);
}

.feature-item__icon {
	color: var(--c-navy);
	margin-bottom: 16px;
}

.feature-item h3 {
	font-size: 14px;
	font-weight: 700;
	color: var(--c-navy);
	margin: 0 0 8px;
}

.feature-item p {
	font-size: 13px;
	color: var(--c-text-muted);
	margin: 0;
	line-height: 1.55;
}

/* ─── Catalog Grid ─── */
.catalog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.catalog-grid--archive {
	grid-template-columns: repeat(4, 1fr);
}

.catalog-card {
	display: block;
	color: var(--c-text);
	transition: transform var(--transition);
}

.catalog-card:hover {
	color: var(--c-text);
	transform: translateY(-4px);
}

.catalog-card__image {
	aspect-ratio: 4/3;
	border-radius: var(--radius);
	overflow: hidden;
	background: var(--c-surface-2);
	margin-bottom: 14px;
	filter: grayscale(80%);
	transition: filter var(--transition);
	position: relative;
}

.catalog-card:hover .catalog-card__image { filter: grayscale(0%); }

.catalog-card__image--0 { background: linear-gradient(135deg, #c8d0e8, #8a9bc4); }
.catalog-card__image--1 { background: linear-gradient(135deg, #b8c4dc, #6b7ea8); }
.catalog-card__image--2 { background: linear-gradient(135deg, #d0d8ec, #9aa8c8); }
.catalog-card__image--3 { background: linear-gradient(135deg, #bcc8e0, #7888b0); }
.catalog-card__image--4 { background: linear-gradient(135deg, #ccd4e8, #8898bc); }
.catalog-card__image--5 { background: linear-gradient(135deg, #b0bcd4, #6878a0); }

.catalog-card__image--has-photo {
	background-size: cover;
	background-position: center;
}

.catalog-card__image::after {
	content: '';
	position: absolute;
	inset: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80' fill='none'%3E%3Crect x='20' y='30' width='40' height='30' rx='2' stroke='rgba(255,255,255,0.4)' stroke-width='2'/%3E%3Cpath d='M30 30V22h20v8' stroke='rgba(255,255,255,0.4)' stroke-width='2'/%3E%3C/svg%3E") center/60px no-repeat;
	opacity: 0.5;
}

.catalog-card__title {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--c-navy);
	margin: 0;
	line-height: 1.4;
}

/* ─── Products Grid ─── */
.products-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.product-card {
	background: var(--c-white);
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	overflow: hidden;
	transition: box-shadow var(--transition), border-color var(--transition);
	display: flex;
	flex-direction: column;
}

.product-card:hover {
	box-shadow: var(--shadow-lg);
	border-color: transparent;
}

.product-card__image {
	display: block;
	aspect-ratio: 4/3;
	overflow: hidden;
	background: var(--c-surface);
}

.product-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.product-card:hover .product-card__image img { transform: scale(1.04); }

.product-card__placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--c-surface-2), var(--c-surface));
}

.product-card__body {
	padding: 18px 20px;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.product-card__title {
	font-size: 15px;
	font-weight: 700;
	margin: 0 0 4px;
}

.product-card__title a { color: var(--c-navy); }
.product-card__title a:hover { color: var(--c-blue); }

.product-card__type {
	font-size: 13px;
	color: var(--c-text-muted);
	margin: 0 0 16px;
}

.product-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
}

.product-card__price span {
	display: block;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--c-text-muted);
}

.product-card__price strong {
	font-size: 14px;
	color: var(--c-navy);
	font-weight: 700;
}

/* ─── Cases Slider ─── */
.cases-section {
	padding: 64px 0 80px;
	background: var(--c-white);
	overflow: hidden;
}

.section-title-block {
	position: relative;
	margin-bottom: 40px;
}

.section-title-block__watermark {
	position: absolute;
	top: -20px;
	left: 0;
	font-size: clamp(48px, 8vw, 96px);
	font-weight: 800;
	text-transform: uppercase;
	color: transparent;
	-webkit-text-stroke: 1px rgba(61,74,143,0.12);
	letter-spacing: 0.02em;
	line-height: 1;
	pointer-events: none;
	user-select: none;
}

.section-title-block__title {
	position: relative;
	font-size: clamp(22px, 3vw, 28px);
	font-weight: 800;
	text-transform: uppercase;
	color: var(--c-navy);
	margin: 0;
	letter-spacing: 0.02em;
}

.cases-slider {
	position: relative;
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 24px;
}

.cases-slider__track {
	position: relative;
}

.case-slide {
	display: none;
	grid-template-columns: 1fr 1fr;
	background: var(--c-white);
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow-lg);
	min-height: 380px;
}

.case-slide.is-active { display: grid; }

.case-slide__image {
	background-size: cover;
	background-position: center;
	min-height: 280px;
}

.case-slide__image--case-1 {
	background: linear-gradient(135deg, #8a9ab8 0%, #5a6a88 100%),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Crect fill='%23f0c040' x='60' y='80' width='80' height='60' rx='4'/%3E%3C/svg%3E");
	background-blend-mode: overlay;
}

.case-slide__image--case-2 {
	background: linear-gradient(135deg, #7a8aaa 0%, #4a5a78 100%);
}

.case-slide__image--case-3 {
	background: linear-gradient(135deg, #9aa8c0 0%, #6a7898 100%);
}

.case-slide__content {
	padding: 40px 44px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.case-slide__content h3 {
	font-size: 20px;
	font-weight: 700;
	color: var(--c-text);
	margin: 0 0 24px;
	line-height: 1.4;
}

.case-slide__meta {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0 0 28px;
}

.case-slide__meta div {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 8px;
}

.case-slide__meta dt {
	font-size: 13px;
	color: var(--c-text-muted);
	margin: 0;
}

.case-slide__meta dd {
	font-size: 14px;
	font-weight: 600;
	color: var(--c-text);
	margin: 0;
}

.case-slide__link {
	font-size: 14px;
	font-weight: 700;
	color: var(--c-blue);
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.case-slide__link::after {
	content: '→';
	transition: transform var(--transition);
}

.case-slide__link:hover::after { transform: translateX(4px); }

.cases-slider__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(61,74,143,0.85);
	color: var(--c-white);
	border: none;
	padding: 16px 20px;
	font-family: inherit;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	border-radius: var(--radius-sm);
	backdrop-filter: blur(4px);
	transition: background var(--transition);
	z-index: 2;
	max-width: 140px;
	line-height: 1.3;
	text-align: left;
}

.cases-slider__nav:hover { background: var(--c-navy); }

.cases-slider__nav--prev { left: 0; }
.cases-slider__nav--next { right: 0; text-align: right; }

/* ─── Request Section ─── */
.request-section {
	position: relative;
	background: linear-gradient(135deg, var(--c-blue) 0%, var(--c-navy) 60%, var(--c-navy-deep) 100%);
	color: var(--c-white);
	padding: 72px 0;
	overflow: hidden;
}

.request-section__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.request-section__watermark {
	position: absolute;
	left: 5%;
	top: 50%;
	transform: translateY(-50%);
	font-size: clamp(80px, 15vw, 200px);
	font-weight: 800;
	text-transform: uppercase;
	color: transparent;
	-webkit-text-stroke: 1px rgba(255,255,255,0.08);
	letter-spacing: 0.05em;
	line-height: 1;
	user-select: none;
}

.request-section__inner {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
}

.request-section__heading {
	font-size: clamp(20px, 3vw, 28px);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	margin: 0 0 28px;
}

.request-form {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.form-field {
	display: flex;
	align-items: center;
	background: var(--c-white);
	border-radius: var(--radius-sm);
	overflow: hidden;
}

.form-field__icon {
	display: flex;
	align-items: center;
	padding: 0 14px;
	color: var(--c-text-muted);
	flex-shrink: 0;
}

.form-field input,
.form-field textarea {
	flex: 1;
	border: none;
	background: transparent;
	font-family: inherit;
	font-size: 14px;
	color: var(--c-text);
	padding: 14px 14px 14px 0;
	outline: none;
	resize: none;
}

.form-field input::placeholder,
.form-field textarea::placeholder { color: #aab0c0; }

.form-product-badge {
	background: rgba(255,255,255,0.15);
	border-radius: var(--radius-sm);
	padding: 10px 14px;
	font-size: 13px;
	font-weight: 600;
}

.form-message {
	padding: 12px 16px;
	border-radius: var(--radius-sm);
	font-size: 13px;
}

.form-message.is-success { background: rgba(22,163,74,0.2); color: #86efac; }
.form-message.is-error { background: rgba(220,38,38,0.2); color: #fca5a5; }

.request-section__info-col {
	position: relative;
}

.request-section__visual {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(255,255,255,0.05), transparent);
	border-radius: var(--radius);
}

.request-section__info {
	position: relative;
	padding: 32px;
}

.request-section__info h3 {
	font-size: clamp(18px, 2.5vw, 24px);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	margin: 0 0 12px;
	line-height: 1.35;
}

.request-section__info p {
	font-size: 15px;
	opacity: 0.85;
	margin: 0;
}

/* ─── About Block ─── */
.about-block {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
}

.about-block__content p {
	color: var(--c-text-muted);
	margin: 0 0 20px;
	font-size: 15px;
}

.link-arrow {
	font-size: 14px;
	font-weight: 700;
	color: var(--c-blue);
}

.link-arrow::after {
	content: ' →';
	transition: transform var(--transition);
}

.link-arrow:hover::after { padding-left: 4px; }

.about-block__timeline {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.timeline-card {
	background: var(--c-surface);
	border-left: 4px solid var(--c-navy);
	border-radius: var(--radius-sm);
	padding: 20px 24px;
}

.timeline-card__year {
	display: block;
	font-size: 28px;
	font-weight: 800;
	color: var(--c-navy);
	margin-bottom: 6px;
}

.timeline-card p {
	margin: 0;
	font-size: 14px;
	color: var(--c-text-muted);
}

/* ─── Audience ─── */
.audience-row,
.audience-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	align-items: stretch;
}

.audience-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--c-navy);
	color: var(--c-white);
	border-radius: var(--radius);
	padding: 36px 32px 32px;
}

.audience-card h3 {
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--c-blue-light);
	margin: 0 0 20px;
}

.audience-card ul {
	margin: 0;
	padding: 0 0 0 20px;
	list-style: disc;
}

.audience-card li {
	font-size: 14px;
	margin-bottom: 10px;
	opacity: 0.92;
	line-height: 1.55;
}

.audience-card li:last-child {
	margin-bottom: 0;
}

.audience-section .audience-row {
	margin-top: 8px;
}

/* ─── Breadcrumbs ─── */
.breadcrumbs {
	background: var(--c-white);
	padding: 14px 0;
	border-bottom: 1px solid var(--c-border);
	font-size: 13px;
	color: var(--c-text-muted);
}

.breadcrumbs a { color: var(--c-text-muted); }
.breadcrumbs a:hover { color: var(--c-blue); }
.breadcrumbs span { margin: 0 6px; opacity: 0.4; }

/* ─── Page Intro ─── */
.page-intro {
	padding: 32px 0 24px;
	background: var(--c-white);
}

.page-intro .page-title { margin-bottom: 20px; }

.catalog-search {
	display: flex;
	align-items: center;
	border: 1px solid var(--c-border);
	border-radius: var(--radius-sm);
	padding: 0 16px;
	max-width: 100%;
}

.catalog-search input {
	flex: 1;
	border: none;
	background: transparent;
	font-family: inherit;
	font-size: 15px;
	padding: 14px 0;
	outline: none;
	color: var(--c-text);
}

.catalog-search input::placeholder { color: var(--c-text-muted); }

.catalog-search button {
	background: none;
	border: none;
	padding: 8px;
	color: var(--c-text-muted);
	cursor: pointer;
	display: flex;
}

/* ─── Product Single ─── */
.product-single__layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	margin-bottom: 48px;
}

.product-single__image,
.product-single__placeholder {
	border-radius: var(--radius);
	overflow: hidden;
	background: var(--c-surface);
}

.product-single__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4/3;
	font-size: 64px;
}

.product-single__sku {
	font-size: 13px;
	color: var(--c-text-muted);
	margin: 0 0 8px;
}

.product-single__title {
	font-size: clamp(24px, 3vw, 32px);
	font-weight: 800;
	color: var(--c-navy);
	margin: 0 0 12px;
}

.product-single__excerpt {
	font-size: 16px;
	color: var(--c-text-muted);
	margin: 0 0 24px;
}

.product-single__price {
	background: var(--c-surface);
	border-radius: var(--radius-sm);
	padding: 16px 20px;
	margin-bottom: 24px;
}

.product-single__price span {
	display: block;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--c-text-muted);
}

.product-single__price strong {
	font-size: 22px;
	color: var(--c-navy);
	font-weight: 800;
}

.product-tabs__nav {
	display: flex;
	gap: 4px;
	border-bottom: 2px solid var(--c-border);
	margin-bottom: 24px;
}

.product-tabs__btn {
	background: none;
	border: none;
	padding: 12px 20px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	color: var(--c-text-muted);
	cursor: pointer;
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
	transition: all var(--transition);
}

.product-tabs__btn.is-active {
	color: var(--c-navy);
	border-bottom-color: var(--c-navy);
}

.product-tabs__panel { display: none; }
.product-tabs__panel.is-active { display: block; }

.product-specs table {
	width: 100%;
	border-collapse: collapse;
}

.product-specs td {
	padding: 12px 16px;
	border-bottom: 1px solid var(--c-border);
	font-size: 14px;
}

.product-specs td:first-child {
	font-weight: 600;
	color: var(--c-navy);
	width: 40%;
	background: var(--c-surface);
}

/* Catalog layout (taxonomy) */
.catalog-layout {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 40px;
	align-items: start;
}

.catalog-sidebar {
	background: var(--c-surface);
	border-radius: var(--radius);
	padding: 24px;
	position: sticky;
	top: calc(var(--header-h) + 16px);
}

.catalog-sidebar h3 {
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--c-navy);
	margin: 0 0 16px;
}

.catalog-menu { list-style: none; margin: 0; padding: 0; }
.catalog-menu > li { margin-bottom: 2px; }

.catalog-menu a {
	display: block;
	padding: 8px 12px;
	font-size: 13px;
	color: var(--c-text);
	border-radius: var(--radius-sm);
	transition: all var(--transition);
}

.catalog-menu a:hover,
.catalog-menu .active > a {
	background: var(--c-white);
	color: var(--c-navy);
	font-weight: 600;
}

.catalog-menu ul { list-style: none; margin: 0; padding: 0 0 0 12px; }
.catalog-menu ul a { font-size: 12px; padding: 6px 12px; }

.subcategories-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 28px;
}

.subcategory-link {
	padding: 8px 16px;
	background: var(--c-surface);
	border: 1px solid var(--c-border);
	border-radius: var(--radius-pill);
	font-size: 12px;
	font-weight: 600;
	color: var(--c-text);
	transition: all var(--transition);
}

.subcategory-link:hover {
	border-color: var(--c-navy);
	color: var(--c-navy);
}

/* Stats grid */
.stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-top: 40px;
}

.stat-block {
	text-align: center;
	background: var(--c-surface);
	border-radius: var(--radius);
	padding: 28px 16px;
}

.stat-block strong {
	display: block;
	font-size: 32px;
	font-weight: 800;
	color: var(--c-navy);
	margin-bottom: 6px;
}

.stat-block span { font-size: 13px; color: var(--c-text-muted); }

/* Contacts page */
.contacts-table-wrap {
	overflow-x: auto;
	margin-bottom: 40px;
	border-radius: var(--radius);
	border: 1px solid var(--c-border);
}

.contacts-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.contacts-table thead {
	background: var(--c-surface);
}

.contacts-table th {
	padding: 14px 16px;
	text-align: left;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--c-navy);
}

.contacts-table td {
	padding: 16px;
	border-top: 1px solid var(--c-border);
	vertical-align: top;
}

.contacts-table td strong {
	display: block;
	color: var(--c-navy);
	margin-bottom: 4px;
}

.contacts-table td span {
	display: block;
	font-size: 12px;
	color: var(--c-text-muted);
}

.contact-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
}

.contact-card {
	background: var(--c-white);
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	padding: 28px;
	box-shadow: var(--shadow);
}

.contact-card h3 {
	font-size: 16px;
	font-weight: 700;
	color: var(--c-navy);
	margin: 0 0 16px;
}

.contact-card__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.contact-card__list li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
	color: var(--c-text-muted);
}

.contact-card__list svg {
	flex-shrink: 0;
	color: var(--c-navy);
	margin-top: 2px;
}

/* Services page */
.services-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	margin-bottom: 40px;
}

.service-card {
	background: var(--c-white);
	border-radius: var(--radius);
	overflow: hidden;
	border: 1px solid var(--c-border);
	transition: box-shadow var(--transition);
}

.service-card:hover { box-shadow: var(--shadow-lg); }

.service-card__image {
	aspect-ratio: 16/10;
	filter: grayscale(70%);
	transition: filter var(--transition);
}

.service-card:hover .service-card__image { filter: grayscale(0%); }

.service-card__image--0 { background: linear-gradient(135deg, #9aa8c0, #5a6888); }
.service-card__image--1 { background: linear-gradient(135deg, #b0bcd4, #6878a0); }
.service-card__image--2 { background: linear-gradient(135deg, #8a98b0, #4a5878); }
.service-card__image--3 { background: linear-gradient(135deg, #a8b4cc, #687890); }

.service-card__image--has-photo {
	background-size: cover;
	background-position: center;
}

.service-card__title {
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--c-navy);
	margin: 0;
	padding: 16px 20px 8px;
}

.service-card__desc {
	font-size: 13px;
	color: var(--c-text-muted);
	margin: 0;
	padding: 0 20px 20px;
	line-height: 1.55;
}

/* Form privacy */
.form-privacy {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 12px;
	color: rgba(255,255,255,0.85);
	cursor: pointer;
}

.form-privacy input { margin-top: 3px; flex-shrink: 0; }

.product-single__placeholder {
	background: linear-gradient(135deg, var(--c-surface-2), var(--c-surface));
}

/* Page content */
.page-content { max-width: 800px; }
.page-content h2 { color: var(--c-navy); margin-top: 28px; }

/* Posts */
.posts-list { display: flex; flex-direction: column; gap: 20px; }

.post-card {
	background: var(--c-surface);
	border-radius: var(--radius);
	padding: 24px;
}

.post-card h2 { margin: 0 0 10px; font-size: 20px; }
.post-card h2 a { color: var(--c-navy); }

/* Pagination */
.pagination, .nav-links {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-top: 40px;
}

.pagination .page-numbers,
.nav-links .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid var(--c-border);
	border-radius: var(--radius-sm);
	font-size: 13px;
	font-weight: 600;
	color: var(--c-text);
}

.pagination .page-numbers.current,
.nav-links .page-numbers.current {
	background: var(--c-navy);
	border-color: var(--c-navy);
	color: var(--c-white);
}

.no-products {
	text-align: center;
	color: var(--c-text-muted);
	padding: 40px;
	grid-column: 1 / -1;
}

/* ─── Footer ─── */
.site-footer {
	background: var(--c-white);
	border-top: 1px solid var(--c-border);
}

.footer__inner {
	display: grid;
	grid-template-columns: 160px 1fr 1fr 200px;
	gap: 40px;
	padding: 48px 24px;
	align-items: start;
}

.footer__brand .site-logo { color: var(--c-navy); }
.footer__brand .site-logo__mark { color: var(--c-navy); }

.footer-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px 24px;
}

.footer-menu a {
	font-size: 13px;
	font-weight: 500;
	color: var(--c-text);
	display: block;
	padding: 4px 0;
}

.footer-menu a:hover { color: var(--c-blue); }

.footer-menu .current-menu-item > a,
.footer-menu .current_page_item > a {
	color: var(--c-blue);
	font-weight: 700;
}

.footer__location strong {
	display: block;
	font-size: 14px;
	color: var(--c-navy);
	margin-bottom: 6px;
}

.footer__location p {
	font-size: 13px;
	color: var(--c-text-muted);
	margin: 0;
	line-height: 1.5;
}

.footer__contacts {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.footer__contacts a {
	font-size: 13px;
	font-weight: 600;
	color: var(--c-text);
}

.footer__contacts a:hover { color: var(--c-blue); }

.footer__callback {
	font-size: 11px !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--c-blue) !important;
}

.footer__email { font-weight: 500 !important; }

.footer__bottom {
	border-top: 1px solid var(--c-border);
	padding: 20px 0;
}

.footer__bottom-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	font-size: 12px;
	color: var(--c-text-muted);
}

.footer__legal-links { display: flex; gap: 20px; }
.footer__legal-links a { color: var(--c-text-muted); font-size: 12px; }
.footer__legal-links a:hover { color: var(--c-blue); }

.footer__company { margin: 0; }
.footer__credit { margin: 0; }
.footer__credit a { color: var(--c-blue); font-weight: 600; }

/* Cookie */
.cookie-notice {
	position: fixed;
	bottom: 20px;
	left: 20px;
	right: 20px;
	max-width: 560px;
	background: var(--c-white);
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	padding: 16px 20px;
	box-shadow: var(--shadow-lg);
	display: flex;
	align-items: center;
	gap: 16px;
	z-index: 9999;
}

.cookie-notice p { margin: 0; font-size: 13px; flex: 1; }
.cookie-notice[hidden] { display: none; }

/* ─── Responsive ─── */
@media (max-width: 1200px) {
	.catalog-grid--archive { grid-template-columns: repeat(3, 1fr); }
	.footer__inner { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 1024px) {
	.header-contacts { display: none; }
	.header-search { min-width: 120px; }
	.header-search input { width: 70px; }

	.features-row,
	.catalog-grid,
	.products-grid,
	.audience-row,
	.audience-grid,
	.stats-grid,
	.services-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.case-slide { grid-template-columns: 1fr; }
	.case-slide__image { min-height: 220px; }

	.request-section__inner,
	.about-block,
	.product-single__layout,
	.catalog-layout {
		grid-template-columns: 1fr;
	}

	.catalog-sidebar { position: static; }

	.cases-slider__nav { display: none; }
}

@media (max-width: 768px) {
	:root { --header-h: 64px; }

	.header__inner {
		justify-content: space-between;
	}

	.main-nav {
		flex: 0 0 auto;
		justify-content: flex-end;
		margin-left: auto;
	}

	.nav-toggle {
		display: flex;
		margin-right: -8px;
	}

	.main-nav ul {
		display: none;
		position: fixed;
		top: var(--header-h);
		left: 0;
		right: 0;
		width: 100%;
		background: var(--c-navy-dark);
		flex-direction: column;
		padding: 12px 24px;
		box-shadow: var(--shadow-lg);
		border-radius: 0;
		z-index: 999;
	}

	.main-nav.is-open ul { display: flex; }

	.main-nav .current-menu-item > a::after,
	.main-nav .current-menu-ancestor > a::after,
	.main-nav .current_page_item > a::after,
	.main-nav .current_page_parent > a::after,
	.main-nav .current_page_ancestor > a::after {
		display: none;
	}

	.main-nav .current-menu-item > a,
	.main-nav .current-menu-ancestor > a,
	.main-nav .current_page_item > a,
	.main-nav .current_page_parent > a,
	.main-nav .current_page_ancestor > a {
		border-left: 3px solid var(--c-white);
		padding-left: 9px;
	}

	.header-search { display: none; }

	.hero-banner { padding: 48px 0 64px; }

	.features-row,
	.catalog-grid,
	.catalog-grid--archive,
	.products-grid,
	.audience-row,
	.audience-grid,
	.stats-grid,
	.services-grid {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.audience-card {
		height: auto;
	}

	.contacts-table th,
	.contacts-table td { padding: 12px; font-size: 13px; }

	.floating-request {
		writing-mode: horizontal-tb;
		top: auto;
		bottom: 80px;
		transform: none;
		flex-direction: row;
		padding: 10px 14px;
		border-radius: var(--radius-sm) 0 0 var(--radius-sm);
	}

	.floating-request svg { transform: none; }

	.footer__inner { grid-template-columns: 1fr; gap: 28px; }
	.footer__bottom-inner { flex-direction: column; text-align: center; }

	.cookie-notice { flex-direction: column; text-align: center; }
}
