/* ============ БАЗА ============ */
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
	font-family: 'Noto Sans', sans-serif;
	font-size: 16px;
	line-height: 1.49;
	color: #102840;
}
img { max-width: 100%; height: auto; display: block; }
a { color: #102840; }
h1, h2, h3, h4, h5, h6 {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
}
h1 { font-size: 64px; text-transform: uppercase; }
h2 { font-size: 32px; text-transform: uppercase; }
h3 { font-size: 24px; }
h4 { font-size: 20px; }
h5 { font-size: 18px; }
.container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }
.separator {
	border-top: 3px solid #102840;
	width: 8%;
	display: inline-block;
}
.text-center { text-align: center; }

/* ============ Флеш-сообщения (после отправки форм) ============ */
.flash-w {
	position: fixed;
	top: 20px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 999;
}
.flash_msg {
	padding: 15px 25px;
	border-radius: 4px;
	font-size: 15px;
	color: #ffffff;
	background: #102840;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
	margin-bottom: 10px;
	text-align: center;
}
.flash_msg--success { background: #7ac142; }
.flash_msg--error { background: #b10000; }
.flash_msg--info { background: #102840; }

/* ============ ШАПКА ============ */
.site-header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 10;
	padding: 15px 0;
}
.site-header .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.site-logo img { width: 120px; height: 120px; }
.main-menu {
	list-style: none;
	display: flex;
	align-items: center;
	gap: 30px;
}
.main-menu a {
	color: #ffffff;
	text-decoration: none;
	font-size: 15px;
}
.main-menu a:hover { color: #b8f2ec; }
.menu-phone a {
	background: #b10000;
	color: #ffffff !important;
	border-radius: 60px;
	padding: 10px 25px;
	font-weight: 700;
}
.menu-phone a:hover { background: #102840; }

/* Шапка на страницах без тёмного героя — иначе белое меню
   теряется на белом фоне */
.site-header-solid { background-color: #102840; }

/* ============ Мобильное меню (без JS) ============ */
.menu-toggle {
	position: absolute;
	top: -9999px;
	left: -9999px;
}
.burger {
	display: none;
	width: 40px;
	height: 30px;
	position: relative;
	cursor: pointer;
}
.burger span {
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	background: #ffffff;
	border-radius: 3px;
	transition: all .25s linear;
}
.burger span:nth-child(1) { top: 0; }
.burger span:nth-child(2) { top: 13px; }
.burger span:nth-child(3) { top: 26px; }

/* ============ Фон-картинки секций (вместо background-image,
   чтобы картинки приходили из админки без инлайн-стилей) ============ */
.bg-img {
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	z-index: 0;
}
/* Параллакс: картинка прибита к вьюпорту, а clip-path
   обрезает её по границам секции — работает без JavaScript */
@media (min-width: 769px) {
	.parallax { clip-path: inset(0); }
	.parallax .bg-img { position: fixed; }
}

/* ============ HERO (главная) ============ */
.hero {
	position: relative;
	overflow: hidden;
}
.hero::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	background-color: rgba(4, 2, 25, 0.6);
	z-index: 1;
}
.hero .container {
	position: relative;
	z-index: 2;
	padding-top: 250px;
	padding-bottom: 230px;
	text-align: center;
}
.hero h1 { color: #ffffff; }

/* ============ HERO страниц услуг ============ */
.page-hero {
	position: relative;
	overflow: hidden;
}
.page-hero .container {
	position: relative;
	z-index: 2;
	text-align: center;
	padding: 0 20px;
}
.page-hero h1 { color: #ffffff; }
/* вариант «на весь экран» — заголовок по центру экрана */
.page-hero-full .container {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
}
/* вариант «с затемнением и отступами» — как у коммерческой медиации */
.page-hero-overlay::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	background-color: rgba(10, 0, 1, 0.35);
	z-index: 1;
}
.page-hero-overlay .container { padding-top: 220px; padding-bottom: 180px; }

/* ============ КОНТЕНТ страниц услуг ============ */
.page-content { padding: 70px 0; }
.page-content p { margin-bottom: 15px; }
.page-content h3 { margin: 30px 0 15px; }

/* ============ КНОПКИ ============ */
.btn {
	display: inline-block;
	font-size: 14px;
	line-height: 1.9;
	text-transform: uppercase;
	text-decoration: none;
	padding: 10px 40px;
	border-radius: 60px;
	transition: all 200ms linear;
}
.btn-red {
	background: #b10000;
	color: #ffffff;
	margin-top: 30px;
}
.btn-red:hover { background: #102840; color: #ffffff; }
.btn-navy {
	background: #102840;
	color: #ffffff;
}
.btn-navy:hover { background: #102840; color: #ffffff; }
.btn i { margin-left: 8px; }

/* ============ DESPRE NOI (тёмно-синяя секция) ============ */
.about {
	background-color: #102840;
	padding: 80px 0;
}
.about-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}
.about-item { text-align: center; color: #ffffff; }
.about-item .icon { font-size: 90px; color: #ffffff; line-height: 90px; }
.about-item h2 { color: #ffffff; text-transform: none; margin: 15px 0; }
.about-item p { color: #ffffff; }

/* ============ SERVICII ============ */
.services { padding: 80px 0 40px; }
.services h2 { margin-bottom: 15px; }
.services-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	margin-top: 50px;
}
.service-item h3 { margin: 20px 0 15px; }
.service-item p { margin-bottom: 20px; }

/* Honeypot — поле-ловушка для ботов, людям невидимо (за экраном, не display:none) */
.hp-field {
	position: absolute;
	left: -9999px;
	top: -9999px;
	width: 0;
	height: 0;
	overflow: hidden;
}

/* Два поля в ряд (Nume/Prenume) */
.form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
}

/* ============ COMANDA (форма на фоне фото) ============ */
.order {
	position: relative;
	overflow: hidden;
	color: #ffffff;
}
.order::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	background-color: rgba(26, 33, 43, 0.3);
	z-index: 1;
}
.order .inner {
	position: relative;
	z-index: 2;
	max-width: 468px;
	margin: 0 auto;
	padding: 70px 20px 100px;
}
.order h2 { color: #ffffff; text-transform: none; margin-bottom: 25px; }
.order .form-field { margin-bottom: 15px; }
.order label { display: block; margin-bottom: 5px; }
.order input[type="text"],
.order input[type="email"],
.order input[type="tel"],
.order textarea {
	width: 100%;
	padding: 10px 15px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-family: 'Noto Sans', sans-serif;
	font-size: 16px;
	color: #333;
	background: #ffffff;
}
.order textarea { resize: vertical; }
.order .btn-submit {
	display: block;
	margin: 20px auto 0;
	background: #b10000;
	color: #ffffff;
	border: none;
	border-radius: 4px;
	padding: 15px 50px;
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: 0 6px 18px rgba(177, 0, 0, .35);
	transition: background .2s;
}
.order .btn-submit:hover { background: #8a0000; }

/* ============ ФОРМА на страницах услуг (светлый фон) ============ */
.page-form { margin-top: 15px; }
.page-form .form-field { margin-bottom: 15px; }
.page-form label { display: block; margin-bottom: 5px; font-weight: 700; }
.page-form input[type="text"],
.page-form input[type="email"],
.page-form input[type="tel"],
.page-form textarea {
	width: 100%;
	padding: 10px 15px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-family: 'Noto Sans', sans-serif;
	font-size: 16px;
	color: #333;
	background: #ffffff;
}
.page-form textarea { resize: vertical; }
.page-form .btn-submit {
	display: block;
	margin: 20px auto 0;
	background: #b10000;
	color: #ffffff;
	border: none;
	border-radius: 4px;
	padding: 15px 50px;
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: 0 6px 18px rgba(177, 0, 0, .35);
	transition: background .2s;
}
.page-form .btn-submit:hover { background: #8a0000; }

/* ============ РЕЕСТР МЕДИАТОРОВ ============ */
/* отступ сверху = высота тёмной шапки (~150px) + воздух,
   иначе шапка наезжает на заголовок */
.mediatori-page { padding: 190px 0 80px; min-height: 60vh; }
.mediatori-sub { color: #667; margin-top: 10px; }

.mediatori-filters {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 1.4fr auto auto;
	gap: 15px;
	align-items: end;
	background: #f6f7f9;
	border: 1px solid #e5e7eb;
	border-radius: 6px;
	padding: 20px;
	margin-top: 35px;
}
.mf-field label { display: block; font-weight: 700; font-size: 13px; margin-bottom: 6px; color: #102840; }
.mf-field input[type="text"], .mf-field select {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-family: 'Noto Sans', sans-serif;
	font-size: 15px;
	background: #fff;
}
.mf-field--check { display: flex; align-items: center; gap: 8px; padding-bottom: 10px; }
.mf-field--check label { margin: 0; font-size: 14px; }
.mf-field--check input { width: 18px; height: 18px; }
.mf-actions { display: flex; align-items: center; gap: 15px; }
.mf-btn {
	background: #b10000; color: #fff; border: none; border-radius: 4px;
	padding: 11px 28px; font-size: 14px; font-weight: 700;
	text-transform: uppercase; cursor: pointer;
}
.mf-btn:hover { background: #8a0000; }
.mf-reset { color: #667; font-size: 14px; }

.mediatori-count { margin: 25px 0 15px; color: #667; }

.mediatori-table-wrap { overflow-x: auto; }
.mediatori-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
	background: #fff;
	box-shadow: 0 4px 20px rgba(16, 40, 64, .08);
	border-radius: 6px;
	overflow: hidden;
}
.mediatori-table th {
	background: #102840; color: #fff;
	padding: 13px 14px; text-align: left;
	font-size: 13px; text-transform: uppercase; letter-spacing: .5px;
}
.mediatori-table td { padding: 13px 14px; border-bottom: 1px solid #eee; vertical-align: top; }
.mediatori-table tr:last-child td { border-bottom: none; }
.mediatori-table tr.inactive { opacity: .55; background: #fafafa; }
.mediatori-table .cert { display: block; color: #889; font-size: 13px; margin-top: 3px; }
.mediatori-table td a { color: #b10000; display: block; }
.mediatori-table td.empty { text-align: center; padding: 40px; color: #889; }

.mediatori-pager { display: flex; justify-content: center; align-items: center; gap: 25px; margin-top: 30px; }
.mediatori-pager a {
	background: #102840; color: #fff;
	padding: 10px 25px; border-radius: 4px; font-size: 14px;
}
.mediatori-pager a:hover { background: #b10000; }
.mediatori-pager span { color: #667; }

@media (max-width: 1100px) {
	.mediatori-filters { grid-template-columns: 1fr 1fr; }
	.mf-actions { grid-column: 1 / -1; }
}
@media (max-width: 768px) {
	.mediatori-filters { grid-template-columns: 1fr; }
	.mediatori-page { padding-top: 150px; }

	/* Таблица -> карточки: строка = блок, ячейка = поле с подписью */
	.mediatori-table, .mediatori-table tbody { display: block; }
	.mediatori-table thead { display: none; }
	.mediatori-table tr {
		display: block;
		padding: 12px 0;
		border-bottom: 2px solid #102840;
	}
	.mediatori-table tr:last-child { border-bottom: none; }
	.mediatori-table td {
		display: block;
		border-bottom: none;
		padding: 5px 15px;
		font-size: 15px;
	}
	.mediatori-table td::before {
		content: attr(data-label);
		display: block;
		font-size: 11px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: .5px;
		color: #889;
		margin-bottom: 2px;
	}
	.mediatori-table td.empty::before { content: none; }
}

/* Плашка «отправлено» — показывается вместо формы, как в оригинале */
.ff-success {
	background: #7ac142;
	color: #ffffff;
	padding: 20px 25px;
	border-radius: 4px;
	font-size: 16px;
	margin-top: 15px;
}

/* ============ RECENZII ============ */
.reviews { padding: 80px 0; }
.reviews h2 { margin-bottom: 15px; }
.reviews-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
	margin-top: 50px;
}
.review-item { text-align: center; padding: 0 15px; }
.review-item img {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	object-fit: cover;
	margin: 0 auto 20px;
}
.review-item .text { color: #333333; margin-bottom: 15px; }
.review-item .name { color: #333333; font-size: 18px; }
.review-item .stars { color: #f3bb00; margin: 5px 0; }
.review-item .company { color: #444444; }

/* ============ CONTACTE ============ */
.contacts { padding: 70px 0; }
.contacts h2 { margin-bottom: 15px; }
.contacts .sub { color: #102840; margin-bottom: 40px; }
.contacts-grid {
	display: flex;
	justify-content: center;
	gap: 120px;
}
.contact-item { text-align: center; }
.contact-item .icon { font-size: 60px; color: #102840; line-height: 60px; margin-bottom: 15px; }
.contact-item h3 { font-size: 18px; margin: 0; }
.contact-item h3 a { color: #102840; text-decoration: none; }

/* ============ ПОДВАЛ ============ */
.footer-main {
	background-color: #191919;
	color: #ffffff;
	padding: 40px 0;
}
.footer-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
	align-items: start;
}
.footer-col h4 { color: #ffffff; margin-bottom: 15px; }
.footer-col a { color: #ffffff; text-decoration: none; }
.footer-col a:hover { color: #ffffff; }
.footer-col p { margin-bottom: 5px; }
.footer-map img { margin: 0 auto; }
.social-icons { display: flex; gap: 15px; margin-bottom: 20px; }
.social-icons a { flex-shrink: 0; }
.social-icons img { width: 48px; height: 48px; }
.subscribe-form input[type="email"] {
	width: 100%;
	padding: 8px 12px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 14px;
	margin-bottom: 10px;
}
.subscribe-form .btn-subscribe {
	background: #b10000;
	color: #ffffff;
	border: none;
	border-radius: 60px;
	padding: 8px 25px;
	font-size: 13px;
	text-transform: uppercase;
	cursor: pointer;
}
.subscribe-form .btn-subscribe:hover { background: #102840; }
.subscribe-form label { display: block; margin-bottom: 5px; font-size: 14px; }
.footer-bottom {
	background-color: #111111;
	color: #ffffff;
	text-align: center;
	padding: 15px 0;
	font-size: 14px;
}

/* ============ БЛОГ (Resurse) ============ */
.blog-page { padding: 190px 0 80px; min-height: 60vh; }
.blog-categories { margin: 35px 0 40px; text-align: center; }
.blog-categories a {
	display: inline-block;
	padding: 8px 22px;
	margin: 5px;
	border: 1px solid #102840;
	border-radius: 60px;
	text-decoration: none;
	transition: all .2s;
	color: #102840;
	font-size: 15px;
}
.blog-categories a:hover,
.blog-categories a.active { background: #102840; color: #ffffff; }

.blog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}
.blog-card {
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 6px;
	overflow: hidden;
	transition: box-shadow .3s;
}
.blog-card:hover { box-shadow: 0 8px 24px rgba(16, 40, 64, .15); }
.blog-card a { text-decoration: none; }
.blog-card img { width: 100%; height: 240px; object-fit: cover; }
.blog-card-body { padding: 22px; }
.blog-card-title { margin: 0 0 10px; font-size: 20px; text-transform: none; }
.blog-card-title a { color: #102840; }
.blog-card-title a:hover { color: #b10000; }
.blog-meta { color: #889; font-size: 14px; margin-bottom: 10px; }
.blog-short { color: #444444; line-height: 1.5; margin: 0; }
.blog-no-image {
	width: 100%; height: 240px;
	background: #f0f0f0;
	display: flex; align-items: center; justify-content: center;
	color: #999;
}
.blog-no-data { text-align: center; padding: 50px; color: #999; }

/* Страница статьи */
.article-page { padding: 190px 0 80px; min-height: 60vh; }
.article-page .container { max-width: 900px; }
.article-breadcrumb { margin-bottom: 30px; font-size: 15px; }
.article-breadcrumb a { color: #102840; text-decoration: none; }
.article-breadcrumb a:hover { text-decoration: underline; }
.article-header { margin-bottom: 30px; }
.article-header h1 { font-size: 36px; text-transform: none; margin: 0 0 15px; }
.article-meta { color: #889; font-size: 14px; }
.article-main-image {
	width: 100%; max-height: 550px; object-fit: cover;
	border-radius: 6px; margin-bottom: 30px;
}
.article-description { color: #444444; line-height: 1.8; font-size: 16px; }
.article-description h2 { font-size: 24px; margin: 30px 0 15px; text-transform: none; }
.article-description h3 { margin: 25px 0 12px; }
.article-description p { margin-bottom: 15px; }
.article-description img { max-width: 100%; height: auto; }
.article-gallery { margin-bottom: 30px; }
.article-gallery img {
	width: 100%; height: auto; border-radius: 6px;
	transition: transform .3s; margin-bottom: 10px;
}
.article-gallery img:hover { transform: scale(1.01); }
.article-gallery-title { margin-bottom: 20px; }
.article-gallery-caption { color: #667; font-style: italic; margin-bottom: 20px; }
.article-navigation {
	display: flex; justify-content: space-between; gap: 15px;
	margin-top: 50px; padding-top: 30px; border-top: 1px solid #e5e7eb;
}
.article-navigation a {
	padding: 12px 28px; background: #ffffff; border: 1px solid #102840;
	color: #102840; text-decoration: none; border-radius: 60px;
	transition: all .2s; max-width: 45%;
}
.article-navigation a:hover { background: #102840; color: #ffffff; }

/* ============ 404 ============ */
.page-404 { padding: 220px 0 120px; min-height: 60vh; }
.page-404 .err-code {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 110px;
	line-height: 1;
	color: #b10000;
}
.page-404 h1 { text-transform: none; margin: 10px 0 15px; }
.page-404 p { color: #667; margin-bottom: 10px; }

/* ============ АДАПТИВ ============ */
@media (max-width: 992px) {
	.blog-grid { grid-template-columns: repeat(2, 1fr); }

	.hero .container { padding-top: 100px; padding-bottom: 100px; }
	.page-hero-overlay .container { padding-top: 100px; padding-bottom: 100px; }
	h1 { font-size: 40px; }
}
@media (max-width: 768px) {
	/* Мобильное меню: бургер справа, список выпадает под шапку */
	.site-header .container { position: relative; }
	.burger { display: block; }
	.site-header nav { position: absolute; top: 100%; left: 0; right: 0; z-index: 20; }
	.main-menu {
		display: none;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		background: #102840;
		padding: 10px 0 20px;
		box-shadow: 0 12px 24px rgba(0, 0, 0, .3);
	}
	.main-menu li { text-align: center; }
	.main-menu a { display: block; padding: 12px 20px; font-size: 17px; }
	.main-menu .menu-phone { margin-top: 10px; }
	.main-menu .menu-phone a { display: inline-block; }
	.menu-toggle:checked ~ nav .main-menu { display: flex; }
	/* Бургер превращается в крестик */
	.menu-toggle:checked ~ .burger span:nth-child(1) { top: 13px; transform: rotate(45deg); }
	.menu-toggle:checked ~ .burger span:nth-child(2) { opacity: 0; }
	.menu-toggle:checked ~ .burger span:nth-child(3) { top: 13px; transform: rotate(-45deg); }

	.hero .container { padding: 80px 10px; }
	.page-hero-overlay .container { padding-top: 95px; padding-bottom: 80px; }
	h1 { font-size: 30px; }
	h2 { font-size: 26px; }
	.about-grid, .services-grid, .reviews-grid, .form-row { grid-template-columns: 1fr; }
	.footer-grid { grid-template-columns: 1fr 1fr; }
	.contacts-grid { flex-direction: column; gap: 40px; }
	.blog-page, .article-page { padding-top: 150px; }
	.blog-grid { grid-template-columns: 1fr; }
	.article-header h1 { font-size: 26px; }
	.article-navigation { flex-direction: column; }
	.article-navigation a { max-width: 100%; text-align: center; }
}
