/* =========================================================================
   RIDEKS — обновлённый дизайн (дочерняя тема Woodmart)
   Только внешний вид. Порядок и текст блоков на страницах не меняются —
   эти стили просто по-новому оформляют существующую структуру Woodmart/WPBakery.
   ========================================================================= */

:root {
	--rk-red: #e31e24;
	--rk-red-dark: #c11217;
	--rk-dark: #151515;
	--rk-yellow: #ffed00;
	--rk-white: #ffffff;
	--rk-gray-50: #f7f7f8;
	--rk-gray-100: #eef0f2;
	--rk-gray-300: #d7dade;
	--rk-gray-500: #8a8f98;
	--rk-gray-700: #4a4f57;

	--rk-radius-sm: 8px;
	--rk-radius-md: 14px;
	--rk-radius-lg: 22px;

	--rk-shadow-sm: 0 2px 10px rgba(21, 21, 21, 0.06);
	--rk-shadow-md: 0 12px 30px rgba(21, 21, 21, 0.10);
	--rk-shadow-red: 0 10px 24px rgba(227, 30, 36, 0.28);

	--rk-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--rk-font: 'Montserrat', Arial, Helvetica, sans-serif;
}

/* -------------------------------------------------------------------------
   1. База и типографика
   ------------------------------------------------------------------------- */

body {
	font-family: var(--rk-font);
	color: var(--rk-dark);
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.wd-title, .vc_custom_heading {
	font-family: var(--rk-font);
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--rk-dark);
}

/* Заголовки секций ("Услуги", "Клиенты", "Новости компании" и т.п.) —
   лёгкий фирменный акцент слева */
.wpb_text_column h2,
.vc_row h2:first-child,
h2.vc_custom_heading {
	position: relative;
	padding-left: 22px;
}

.wpb_text_column h2::before,
.vc_row h2:first-child::before,
h2.vc_custom_heading::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.15em;
	bottom: 0.15em;
	width: 5px;
	border-radius: 3px;
	background: linear-gradient(180deg, var(--rk-red), var(--rk-yellow));
}

a {
	transition: color 0.25s var(--rk-ease), background-color 0.25s var(--rk-ease),
		border-color 0.25s var(--rk-ease), box-shadow 0.25s var(--rk-ease),
		transform 0.25s var(--rk-ease);
}

/* -------------------------------------------------------------------------
   2. Кнопки (глобальный компонент Woodmart .btn / vc_btn3)
   ------------------------------------------------------------------------- */

.btn,
.vc_btn3,
.wpforms-submit,
input[type="submit"] {
	border-radius: 100px !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em;
	text-transform: none;
	padding-left: 28px !important;
	padding-right: 28px !important;
	transition: transform 0.25s var(--rk-ease), box-shadow 0.25s var(--rk-ease),
		background-color 0.25s var(--rk-ease) !important;
}

.btn.btn-color-primary,
.vc_btn3.vc_btn3-color-primary,
.wpforms-submit,
input[type="submit"] {
	background: var(--rk-red) !important;
	border-color: var(--rk-red) !important;
	box-shadow: var(--rk-shadow-red);
}

.btn.btn-color-primary:hover,
.vc_btn3.vc_btn3-color-primary:hover,
.wpforms-submit:hover,
input[type="submit"]:hover {
	background: var(--rk-red-dark) !important;
	border-color: var(--rk-red-dark) !important;
	transform: translateY(-2px);
	box-shadow: 0 16px 30px rgba(227, 30, 36, 0.34);
}

.btn.btn-color-dark {
	background: var(--rk-dark) !important;
	border-color: var(--rk-dark) !important;
}

.btn.btn-color-dark:hover {
	background: #2a2a2a !important;
	transform: translateY(-2px);
}

/* -------------------------------------------------------------------------
   3. Шапка сайта
   ------------------------------------------------------------------------- */

.whb-header {
	background: var(--rk-white);
}

.whb-row.whb-top-bar {
	background: var(--rk-dark) !important;
}

.whb-row.whb-top-bar .info-box-inner,
.whb-row.whb-top-bar p {
	color: var(--rk-white) !important;
}

.whb-sticky-shadow.whb-sticked .whb-general-header {
	box-shadow: var(--rk-shadow-md);
}

.main-nav .menu-item > a,
.main-nav > ul > li > a {
	font-weight: 600;
	position: relative;
}

.main-nav .item-level-0 > a::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -4px;
	height: 2px;
	background: var(--rk-red);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.25s var(--rk-ease);
}

.main-nav .item-level-0:hover > a::after {
	transform: scaleX(1);
}

.info-box-title {
	font-weight: 700;
}

/* -------------------------------------------------------------------------
   4. Секции и вертикальный ритм
   ------------------------------------------------------------------------- */

.vc_row {
	position: relative;
}

/* Мягкое разделение чередующихся секций фирменным серым фоном */
.wpb_row.vc_row-o-equal-height:nth-of-type(even):not(.wd-hero):not([data-vc-full-width]) {
	background-color: var(--rk-gray-50);
}

/* -------------------------------------------------------------------------
   5. Карточки-иконки (Услуги, 5 причин, направления)
   ------------------------------------------------------------------------- */

.woodmart-info-box.box-style-base {
	border-radius: var(--rk-radius-md);
	transition: transform 0.3s var(--rk-ease), box-shadow 0.3s var(--rk-ease);
}

.woodmart-info-box.box-style-base:hover {
	transform: translateY(-4px);
	box-shadow: var(--rk-shadow-md);
}

.box-icon-wrapper .info-box-icon {
	transition: transform 0.3s var(--rk-ease);
}

.woodmart-info-box:hover .box-icon-wrapper .info-box-icon {
	transform: scale(1.08) rotate(-3deg);
}

/* -------------------------------------------------------------------------
   6. Карточки новостей
   ------------------------------------------------------------------------- */

/* Архив /news/: структура повторяет карточки .news-grid на главной. */
.woodmart-archive-blog .news-card {
	display: flex;
	height: 100%;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--rk-gray-100);
	background: var(--rk-white);
	box-shadow: none;
}

.woodmart-archive-blog .news-media {
	position: relative;
	height: 200px;
	overflow: hidden;
}

.woodmart-archive-blog .news-media > a {
	display: block;
	height: 100%;
}

.woodmart-archive-blog .news-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s var(--rk-ease);
}

.woodmart-archive-blog .news-card:hover .news-media img {
	transform: scale(1.05);
}

.woodmart-archive-blog .news-tag {
	position: absolute;
	z-index: 2;
	top: 14px;
	left: 14px;
	padding: 6px 12px;
	background: var(--rk-red);
	color: var(--rk-white);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.4;
	text-transform: uppercase;
	transition: opacity 0.2s var(--rk-ease);
}

.woodmart-archive-blog .news-card:hover .news-tag {
	opacity: 0;
}

.woodmart-archive-blog .news-tag a {
	color: inherit;
}

.woodmart-archive-blog .news-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 12px;
	padding: 26px 26px 30px;
	text-align: left;
}

.woodmart-archive-blog .news-date {
	color: var(--rk-gray-500);
	font-size: 12.5px;
	font-weight: 600;
}

.woodmart-archive-blog .news-body h3 {
	margin: 0;
	font-size: 17px;
	line-height: 1.35;
}

.woodmart-archive-blog .news-body h3 a {
	color: inherit;
}

.woodmart-archive-blog .news-body h3 a:hover,
.woodmart-archive-blog .news-link:hover {
	color: var(--rk-red-dark);
}

.woodmart-archive-blog .news-body p {
	flex: 1;
	margin: 0;
	color: var(--rk-gray-700);
	font-size: 14px;
}

.woodmart-archive-blog .news-link {
	align-self: flex-start;
	color: var(--rk-red);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

/* WoodMart 5.3 выводит /news/ своим старым шаблоном content.php.
   Эти правила дают его фактической разметке тот же вид, что у .news-card. */
.woodmart-archive-blog .woodmart-blog-holder {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
	height: auto !important;
	margin-right: 0;
	margin-left: 0;
}

.woodmart-archive-blog .woodmart-blog-holder .blog-post-loop {
	position: static !important;
	top: auto !important;
	left: auto !important;
	width: auto !important;
	max-width: none;
	margin: 0;
	padding: 0;
	transform: none !important;
}

.woodmart-archive-blog .blog-post-loop .article-inner {
	position: relative;
	display: flex;
	height: 100%;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--rk-gray-100);
	background: var(--rk-white);
	box-shadow: none;
}

.woodmart-archive-blog .blog-post-loop:hover .article-inner,
.woodmart-archive-blog .blog-post-loop .article-inner:hover {
	box-shadow: none !important;
	transform: none !important;
}

.woodmart-archive-blog .blog-post-loop .entry-header {
	position: relative;
	height: 200px;
	overflow: hidden;
}

.woodmart-archive-blog .blog-post-loop .entry-thumbnail,
.woodmart-archive-blog .blog-post-loop .post-img-wrapp,
.woodmart-archive-blog .blog-post-loop .post-img-wrapp > a {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
}

.woodmart-archive-blog .blog-post-loop .entry-thumbnail img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s var(--rk-ease);
}

.woodmart-archive-blog .blog-post-loop:hover .entry-thumbnail img {
	transform: scale(1.05);
}

.woodmart-archive-blog .blog-post-loop .woodmart-post-date {
	display: none;
}

.woodmart-archive-blog .blog-post-loop .article-body-container {
	position: static;
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 12px;
	padding: 26px 26px 30px;
	text-align: left;
}

.woodmart-archive-blog .blog-post-loop .meta-categories-wrapp {
	position: absolute;
	z-index: 2;
	top: 14px;
	left: 14px;
	margin: 0;
}

.woodmart-archive-blog .blog-post-loop .meta-post-categories {
	padding: 6px 12px;
	background: var(--rk-red);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.4;
	text-transform: uppercase;
}

.woodmart-archive-blog .blog-post-loop .meta-post-categories a {
	color: var(--rk-white);
}

.woodmart-archive-blog .blog-post-loop .entry-title {
	order: 2;
	margin: 0;
	font-size: 17px;
	line-height: 1.35;
	text-align: left;
}

.woodmart-archive-blog .blog-post-loop .entry-title a {
	color: var(--rk-dark);
}

.woodmart-archive-blog .blog-post-loop .entry-title a:hover {
	color: var(--rk-red-dark);
}

.woodmart-archive-blog .blog-post-loop .woodmart-entry-meta {
	display: block;
	order: 1;
	margin: 0;
	color: var(--rk-gray-500);
	font-size: 12.5px;
	font-weight: 600;
	text-align: left;
}

.woodmart-archive-blog .blog-post-loop .entry-meta-list {
	display: block;
	margin: 0;
}

.woodmart-archive-blog .blog-post-loop .entry-meta-list .modified-date {
	display: inline-block !important;
}

.woodmart-archive-blog .blog-post-loop .entry-meta-list li::after,
.woodmart-archive-blog .blog-post-loop .meta-author,
.woodmart-archive-blog .blog-post-loop .hovered-social-icons {
	display: none;
}

.woodmart-archive-blog .blog-post-loop .woodmart-entry-content {
	order: 3;
	margin: 0;
	color: var(--rk-gray-700);
	font-size: 14px;
	text-align: left;
}

.woodmart-archive-blog .blog-post-loop .read-more-section {
	margin: 12px 0 0;
	text-align: left;
}

.woodmart-archive-blog .blog-post-loop .btn-read-more {
	padding: 0;
	border: 0;
	color: var(--rk-red);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.woodmart-archive-blog .blog-post-loop .btn-read-more::after {
	content: ' →';
}

.woodmart-archive-blog .blog-post-loop .btn-read-more:hover {
	color: var(--rk-red-dark);
}

@media (max-width: 1024px) {
	.woodmart-archive-blog .woodmart-blog-holder {
		grid-template-columns: 1fr;
	}
}

.slide-post,
.woodmart-carousel-container.slider-type-post .post-elm {
	border-radius: var(--rk-radius-md);
	overflow: hidden;
	box-shadow: var(--rk-shadow-sm);
	transition: box-shadow 0.3s var(--rk-ease), transform 0.3s var(--rk-ease);
}

.slide-post:hover {
	box-shadow: var(--rk-shadow-md);
	transform: translateY(-4px);
}

.slide-post img {
	transition: transform 0.5s var(--rk-ease);
}

.slide-post:hover img {
	transform: scale(1.06);
}

.slide-post .post-title a,
.slide-post .entry-title a {
	font-weight: 700;
}

.slide-post .post-cat-links a,
.slide-post .meta-categories a {
	color: var(--rk-red) !important;
	font-weight: 600;
}

/* -------------------------------------------------------------------------
   7. Форма обратной связи на страницах статей
   ------------------------------------------------------------------------- */

.rk-article-contact {
	padding: 80px 0;
	background: var(--rk-gray-50);
}

.rk-article-contact .contact-grid {
	display: grid;
	grid-template-columns: 1fr 0.85fr;
	border: 1px solid var(--rk-gray-100);
}

.rk-article-contact .form-panel {
	padding: 56px;
	background: var(--rk-white);
}

.rk-article-contact .eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
	color: var(--rk-red);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.rk-article-contact .eyebrow::before {
	display: inline-block;
	width: 22px;
	height: 2px;
	background: var(--rk-red);
	content: '';
}

.rk-article-contact .form-panel h2 {
	margin-bottom: 10px;
	padding-left: 0;
	font-size: 26px;
	font-weight: 800;
	line-height: 1.15;
}

.rk-article-contact .form-panel h2::before {
	display: none;
}

.rk-article-contact .form-panel .sub {
	margin-bottom: 32px;
	color: var(--rk-gray-700);
	font-size: 14.5px;
}

.rk-article-contact .form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin-bottom: 18px;
}

.rk-article-contact .field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.rk-article-contact .field-space-lg {
	margin-bottom: 18px;
}

.rk-article-contact .field-space-sm {
	margin-bottom: 12px;
}

.rk-article-contact .field-space-xl {
	margin-bottom: 22px;
}

.rk-article-contact .field label {
	margin: 0;
	color: var(--rk-dark);
	font-size: 13px;
	font-weight: 700;
}

.rk-article-contact .req {
	color: var(--rk-red);
}

.rk-article-contact .field input,
.rk-article-contact .field textarea {
	width: 100%;
	padding: 14px 16px;
	border: 2px solid var(--rk-gray-300);
	background: var(--rk-white);
	font-size: 14.5px;
	transition: border-color 0.15s;
}

.rk-article-contact .field input:focus,
.rk-article-contact .field textarea:focus {
	border-color: var(--rk-red);
	outline: none;
}

.rk-article-contact .field textarea {
	min-height: 96px;
	resize: vertical;
}

.rk-article-contact .check-group {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 22px;
}

.rk-article-contact .check-item {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	font-size: 14px;
	font-weight: 600;
}

.rk-article-contact .check-item input {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--rk-red);
}

.rk-article-contact .consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 26px;
	color: var(--rk-gray-500);
	font-size: 12.5px;
}

.rk-article-contact .consent input {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin-top: 2px;
	accent-color: var(--rk-red);
}

.rk-article-contact .consent a {
	color: var(--rk-red);
	text-decoration: underline;
}

.rk-article-contact .form-msg {
	display: none;
	margin-bottom: 18px;
	padding: 14px 16px;
	font-size: 14px;
	font-weight: 600;
}

.rk-article-contact .form-msg.show {
	display: block;
}

.rk-article-contact .form-msg.ok {
	background: #e9f8ee;
	color: #1a7d3a;
}

.rk-article-contact .form-msg.err {
	background: #fdeceb;
	color: #b8151a;
}

.rk-article-contact .form-panel .btn-block {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 20px 40px !important;
	border: 2px solid var(--rk-red) !important;
	border-radius: 0 !important;
	background: var(--rk-red) !important;
	box-shadow: none !important;
	color: var(--rk-white) !important;
	font-size: 15px;
	font-weight: 700 !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	transform: none;
}

.rk-article-contact .form-panel .btn-block:hover {
	border-color: var(--rk-red-dark) !important;
	background: var(--rk-red-dark) !important;
	box-shadow: none !important;
	transform: none;
}

.rk-article-contact .hp-field {
	position: absolute;
	top: -9999px;
	left: -9999px;
}

.rk-article-contact .contact-panel {
	display: flex;
	flex-direction: column;
	padding: 56px 48px;
	background-color: #15161a;
	background-position: center;
	background-size: cover;
	color: var(--rk-white);
}

.rk-article-contact .contact-panel h3 {
	margin-bottom: 8px;
	color: var(--rk-white) !important;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.15;
}

.rk-article-contact .contact-heading p {
	margin-bottom: 10px;
	color: #b6b8c0;
	font-size: 14px;
}

.rk-article-contact .contact-item {
	display: flex;
	gap: 16px;
	padding: 20px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.rk-article-contact .c-ic {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(255, 255, 255, 0.3);
}

.rk-article-contact .c-ic svg {
	width: 20px;
	height: 20px;
	stroke: var(--rk-white);
}

.rk-article-contact .contact-item strong,
.rk-article-contact .contact-item span {
	display: block;
}

.rk-article-contact .contact-item strong {
	margin-bottom: 4px;
	font-size: 15.5px;
}

.rk-article-contact .contact-item span {
	color: #b6b8c0;
	font-size: 13.5px;
}

.rk-article-contact .contact-item a {
	color: inherit;
}

.rk-article-contact .map-plate {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 150px;
	margin-top: 28px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.04) 0 2px, transparent 2px 18px);
}

.rk-article-contact .map-plate::before {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 14px;
	background: var(--rk-red);
	content: '';
	transform: translate(-50%, -50%);
}

.rk-article-contact .map-plate span {
	position: absolute;
	bottom: 12px;
	left: 12px;
	padding: 4px 8px;
	background: var(--rk-dark);
	color: #b6b8c0;
	font-size: 11.5px;
}

@media (max-width: 1080px) {
	.rk-article-contact .contact-grid {
		grid-template-columns: 1fr;
	}

	.rk-article-contact .form-panel,
	.rk-article-contact .contact-panel {
		padding: 36px 24px;
	}
}

@media (max-width: 640px) {
	.rk-article-contact {
		padding: 56px 0;
	}

	.rk-article-contact .form-row {
		grid-template-columns: 1fr;
	}
}

/* -------------------------------------------------------------------------
   8. Подвал
   ------------------------------------------------------------------------- */

.footer-container {
	background: var(--rk-dark) !important;
}

.footer-container .footer-widget a {
	color: var(--rk-gray-300);
}

.footer-container .footer-widget a:hover {
	color: var(--rk-yellow);
}

.copyrights-wrapper {
	background: #0f0f0f !important;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* -------------------------------------------------------------------------
   8. Формы
   ------------------------------------------------------------------------- */

.wpforms-field input[type="text"],
.wpforms-field input[type="email"],
.wpforms-field input[type="tel"],
.wpforms-field textarea {
	border-radius: var(--rk-radius-sm) !important;
	border: 1px solid var(--rk-gray-300) !important;
	transition: border-color 0.25s var(--rk-ease), box-shadow 0.25s var(--rk-ease);
}

.wpforms-field input:focus,
.wpforms-field textarea:focus {
	border-color: var(--rk-red) !important;
	box-shadow: 0 0 0 3px rgba(227, 30, 36, 0.12) !important;
}

/* -------------------------------------------------------------------------
   9. Плавное появление блоков при скролле
   ------------------------------------------------------------------------- */

.rk-reveal {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.6s var(--rk-ease), transform 0.6s var(--rk-ease);
}

.rk-reveal.rk-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.rk-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* -------------------------------------------------------------------------
   10. Адаптив
   ------------------------------------------------------------------------- */

@media (max-width: 767px) {
	.btn, .vc_btn3 {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.wpb_text_column h2::before,
	.vc_row h2:first-child::before {
		top: 0.05em;
	}
}

body.blog .site-content {
	margin-top: 30px;
	margin-bottom: 30px;
}

