/* Arctis refresh — косметическое обновление поверх темы Arctecture */
:root {
	--a-ink: #1f1f1f;
	--a-text: #3d3d3d;
	--a-muted: #6b6b6b;
	--a-line: #e4e4e4;
	--a-accent: #f5b301;
	--a-dark: #171717;
	--a-serif: "Playfair Display", Georgia, serif;
	--a-sans: Montserrat, Arial, sans-serif;
}

/* ---------- Типографика ---------- */
body {
	font-family: var(--a-sans);
	font-size: 16px;
	line-height: 1.65;
	color: var(--a-text);
	-webkit-font-smoothing: antialiased;
}
[style*="Playfair Display SC"],
.cms-heading-tag, .cms-textbox-title, .entry-title.single-title, .cms-banner h1 {
	font-family: var(--a-serif) !important;
}
.cms-heading-tag, .cms-textbox-title {
	letter-spacing: .06em !important;
	line-height: 1.2 !important;
}
.cms-textbox-description, .cms-textbox-description p,
.entry-content .wpb_text_column p, .cms-textbox p {
	font-size: 17px !important;
	line-height: 1.7 !important;
	color: var(--a-text) !important;
}
.cms-textbox-description {
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}
.cms-textbox-description ul { padding-left: 1.2em; margin: .6em 0 1em; }
.cms-textbox-description li { margin: .25em 0; }
.cms-textbox-description li::marker { color: var(--a-accent); }
.cms-textbox-description strong { color: var(--a-ink); font-weight: 600; }

/* Заголовки: тёмные по умолчанию, белые на тёмных секциях оставляем белыми */
.cms-heading-tag:not([style*="#ffffff"]):not([style*="#fff;"]), .cms-textbox-title:not([style*="#ffffff"]) { color: var(--a-ink) !important; }

/* Декор из демо-шаблона: «олень» под текстом и иконка-карандаш */
.cms-img-transparent, .cms-textbox-icon { display: none !important; }

/* ---------- Шапка ---------- */
.topbar-panel { background: #0f0f0f !important; }
.topbar-panel, .topbar-panel a, .site-header-slogan li { color: #a8a8a8 !important; font-size: 12px; letter-spacing: .02em; }
.topbar-panel a:hover { color: #fff !important; }
.site-header-slogan { display: flex; flex-wrap: wrap; column-gap: 32px; }
.site-header-slogan li { white-space: nowrap; margin-right: 0 !important; }
@media (min-width: 992px) { .topbar-panel .col-lg-8 { flex: 0 0 100%; max-width: 100%; } .topbar-panel .col-lg-4 { display: none; } .site-header-slogan { flex-wrap: nowrap; } }
#site-header-wrap .site-header-main,
#site-header-wrap.header-transparent .site-header-main {
	background: rgba(23, 23, 23, .96) !important;
	border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.primary-menu > li::after { display: none !important; }
.primary-menu > li > a {
	font-weight: 600 !important;
	letter-spacing: .06em !important;
	font-size: 12px !important;
	color: #e9e9e9 !important;
	transition: color .2s;
}
.primary-menu > li > a:hover,
.primary-menu > li.current-menu-item > a { color: #fff !important; }

/* ---------- Кнопки: одна основная, одна второстепенная ---------- */
.btn-custom {
	border-radius: 0 !important;
	font-weight: 600 !important;
	font-size: 12px !important;
	letter-spacing: .12em !important;
	padding: 14px 30px !important;
	transition: background .2s, color .2s, border-color .2s;
}
.btn-custom.btn-outline-primary {
	background: var(--a-accent) !important;
	border: 1px solid var(--a-accent) !important;
	color: var(--a-ink) !important;
}
.btn-custom.btn-outline-primary:hover { background: var(--a-ink) !important; border-color: var(--a-ink) !important; color: #fff !important; }
.btn-custom.btn-default {
	background: transparent !important;
	border: 1px solid var(--a-ink) !important;
	color: var(--a-ink) !important;
}
.btn-custom.btn-default:hover { background: var(--a-ink) !important; color: #fff !important; }
.btn-custom::before, .btn-custom::after { display: none !important; }

/* ---------- Карточки услуг ---------- */
.cms-service-carousel .entry-featured { display: block !important; margin: 0 0 18px !important; text-align: center; background: none !important; border: 0 !important; }
.cms-service-carousel .entry-featured a, .cms-service-carousel .entry-featured a::before, .cms-service-carousel .entry-featured a::after { background: none !important; border: 0 !important; box-shadow: none !important; }
.cms-service-carousel .entry-featured img { width: 56px !important; height: 56px !important; max-width: none; display: inline-block; opacity: 1 !important; }
.cms-service-carousel .inner-item {
	border: 1px solid var(--a-line) !important;
	background: #fff !important;
	padding: 36px 30px 32px !important;
	height: 100%;
	transition: box-shadow .25s, transform .25s;
}
.cms-service-carousel .inner-item:hover { box-shadow: 0 14px 34px rgba(0, 0, 0, .08); transform: translateY(-3px); }
.cms-service-carousel .entry-holder-sv::before, .cms-service-carousel .entry-title-sv::before,
.cms-service-carousel .entry-title-sv::after { display: none !important; }
.cms-service-carousel .entry-holder-sv { border-top: 0 !important; padding-top: 0 !important; margin-top: 0 !important; }
.cms-service-carousel .entry-title-sv, .cms-service-carousel .entry-title-sv a {
	font-family: var(--a-sans) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: .06em !important;
	line-height: 1.4 !important;
	color: var(--a-ink) !important;
	text-transform: uppercase;
}
.cms-service-carousel .service-excerpt {
	font-size: 14px !important;
	line-height: 1.65 !important;
	color: var(--a-muted) !important;
}
.cms-service-carousel .btn-text-readmore {
	display: inline-block;
	background: none !important;
	border: 0 !important;
	border-bottom: 1px solid var(--a-accent) !important;
	color: var(--a-ink) !important;
	padding: 0 0 3px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: .12em !important;
	box-shadow: none !important;
	width: auto !important;
	height: auto !important;
	line-height: 1.4 !important;
}
.cms-service-carousel .btn-text-readmore::after { content: " →"; }
.cms-service-carousel .btn-text-readmore:hover { color: #000 !important; border-bottom-color: var(--a-ink) !important; }

/* ---------- Счётчики ---------- */
.cms-counter-digit { font-family: var(--a-serif) !important; font-weight: 700 !important; letter-spacing: .02em; }
.cms-counter-title { font-size: 12px !important; letter-spacing: .14em !important; color: var(--a-muted) !important; }

/* ---------- Слайдер ---------- */
.tparrows.gyges {
	background: rgba(0, 0, 0, .25) !important;
	border: 1px solid rgba(255, 255, 255, .45);
	border-radius: 50% !important;
	width: 46px !important;
	height: 46px !important;
	transition: background .2s;
}
.tparrows.gyges:hover { background: rgba(0, 0, 0, .55) !important; }
.tparrows.gyges::before { line-height: 44px !important; }

/* ---------- Портфолио ---------- */
.grid-item-inner .item-featured { overflow: hidden; }
.grid-item-inner .item-featured img { transition: transform .6s ease; }
.grid-item-inner:hover .item-featured img { transform: scale(1.04); }
.portfolio-title-custome .single-title {
	text-transform: none !important;
	letter-spacing: .01em !important;
	font-size: 36px !important;
	line-height: 1.25 !important;
	max-width: 900px;
	margin: 0 auto;
}
.grap-portfolio-info .innerb-box { border-radius: 0 !important; box-shadow: 0 10px 30px rgba(0, 0, 0, .07) !important; }
.grap-portfolio-info .title-port-info { font-size: 12px !important; letter-spacing: .14em !important; color: var(--a-muted) !important; }
.grap-portfolio-info .innerb-box span:not(.title-port-info) {
	font-family: var(--a-serif);
	font-size: 20px !important;
	font-weight: 700;
	color: var(--a-ink) !important;
}
.portfolio-excerpt {
	max-width: 820px;
	margin: 0 auto !important;
	text-align: left !important;
	font-size: 17px !important;
	line-height: 1.75 !important;
	color: var(--a-text) !important;
	box-shadow: none !important;
	border-left: 2px solid var(--a-accent);
	padding: 6px 0 6px 28px !important;
	background: transparent !important;
}

/* ---------- Подвал ---------- */
.top-footer { padding-top: 64px !important; padding-bottom: 36px !important; min-height: 0 !important; height: auto !important; }
.top-footer .widget-title {
	font-size: 12px !important;
	letter-spacing: .16em !important;
	color: var(--a-accent) !important;
	border: 0 !important;
	padding-bottom: 0 !important;
	margin-bottom: 14px !important;
}
.top-footer .widget-title::before, .top-footer .widget-title::after { display: none !important; }
.top-footer .textwidget, .top-footer .textwidget p, .top-footer .textwidget a {
	font-size: 15px !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	line-height: 1.7 !important;
	color: #d6d6d6 !important;
}
.top-footer .textwidget a:hover { color: #fff !important; }
.bottom-footer { border-top: 1px solid rgba(255, 255, 255, .08); }
.copyright-content { font-size: 13px !important; color: #8a8a8a !important; }

/* ---------- Форма ---------- */
.grecaptcha-badge { visibility: hidden !important; }
.arctis-recaptcha-note { font-size: 12px; line-height: 1.5; color: #8a8a8a; margin-top: 14px; }
.arctis-recaptcha-note a { color: #8a8a8a; text-decoration: underline; }

/* ---------- Мобильная версия ---------- */
@media (max-width: 767px) {
	body { font-size: 15px; }
	.cms-space { max-height: 36px; }
	.vc_custom_1523866908399 { padding-left: 0 !important; padding-right: 0 !important; }
	.cms-textbox-inner { padding: 36px 22px !important; margin-top: -60px !important; }
	.cms-textbox-description, .cms-textbox-description p { font-size: 16px !important; }
	.cms-heading-tag, .cms-textbox-title { font-size: 24px !important; margin-bottom: 24px !important; }
	.portfolio-title-custome .single-title { font-size: 24px !important; }
	.portfolio-excerpt { font-size: 15px !important; padding-left: 18px !important; }
	/* портфолио на главной — сетка 2 колонки, без огромной ленты */
	.cms-grid-portfolio .grid-item, .cms-grid-portfolio .grid-sizer { width: 50% !important; max-width: 50% !important; flex: 0 0 50% !important; }
	.cms-grid-portfolio .grid-item .item-title { font-size: 12px !important; line-height: 1.35 !important; }
	.cms-counter-digit { font-size: 38px !important; }
	.top-footer { padding-top: 44px !important; padding-bottom: 16px !important; }
	.top-footer .cms-footer-item { margin-bottom: 18px; }
	.top-footer .container, .bottom-footer .container { padding-left: 22px !important; padding-right: 22px !important; }
	.copyright-content { text-align: center; display: block; padding: 0 16px; }
}

/* ---------- Контакты ---------- */
.arctis-contact-top { padding-top: 20px; margin-bottom: 56px !important; }
.arctis-contact-lead p { font-size: 18px !important; color: var(--a-muted) !important; max-width: 640px; margin: 4px 0 30px !important; }
.acc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; margin-bottom: 64px; }
.arctis-contact-cards p { margin: 0 !important; }
.acc-grid br { display: none; }
.acc {
	position: relative; display: flex; flex-direction: column; gap: 6px;
	padding: 28px 26px 24px 26px; padding-top: 82px;
	border: 1px solid var(--a-line); background: #fff; color: var(--a-ink) !important; text-decoration: none !important;
	transition: border-color .2s, box-shadow .25s, transform .25s;
}
.acc:hover { border-color: var(--a-accent); box-shadow: 0 14px 34px rgba(0,0,0,.07); transform: translateY(-2px); }
.acc::before {
	content: ""; position: absolute; left: 26px; top: 26px; width: 40px; height: 40px;
	background: no-repeat center / contain;
}
.acc-address::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%231f1f1f' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 36s11-10.5 11-19a11 11 0 0 0-22 0c0 8.5 11 19 11 19z'/%3E%3Ccircle cx='20' cy='17' r='4' stroke='%23f5b301'/%3E%3C/svg%3E"); }
.acc-phone::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%231f1f1f' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='11' y='4' width='18' height='32' rx='3'/%3E%3Cpath d='M17 31h6' stroke='%23f5b301'/%3E%3C/svg%3E"); }
.acc-mail::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%231f1f1f' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='9' width='30' height='22'/%3E%3Cpath d='M5 10l15 12 15-12' stroke='%23f5b301'/%3E%3C/svg%3E"); }
.acc-label { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--a-muted); }
.acc-val { font-size: 17px; font-weight: 500; line-height: 1.45; color: var(--a-ink); }
.acc-sub { margin-top: 6px; font-size: 12px; font-weight: 600; letter-spacing: .08em; color: var(--a-ink); border-bottom: 1px solid var(--a-accent); align-self: flex-start; padding-bottom: 2px; }
.arctis-contact-main { padding-bottom: 80px; }
.arctis-contact-main > .wpb_column { margin-bottom: 30px; }
.arctis-contact-map .wpb_wrapper, .arctis-map, .arctis-map > * { width: 100% !important; }
.arctis-contact-map ymaps, .arctis-contact-map iframe { width: 100% !important; }
.arctis-contact-map .vc_column-inner { padding-top: 0 !important; }
.arctis-contact-map .arctis-map { border: 1px solid var(--a-line); line-height: 0; }

/* Форма */
.wpcf7-form .col-form { margin-bottom: 14px; }
.wpcf7-form input[type=text], .wpcf7-form input[type=email], .wpcf7-form input[type=tel], .wpcf7-form textarea {
	width: 100%; border: 1px solid var(--a-line) !important; border-radius: 0 !important; background: #fafafa !important;
	padding: 14px 16px !important; font: 15px/1.4 var(--a-sans) !important; color: var(--a-ink) !important; height: auto !important;
	box-shadow: none !important; transition: border-color .2s, background .2s;
}
.wpcf7-form textarea { min-height: 150px; resize: vertical; }
.wpcf7-form input:focus, .wpcf7-form textarea:focus { outline: none; border-color: var(--a-ink) !important; background: #fff !important; }
.wpcf7-form ::placeholder { color: #9a9a9a; }
.wpcf7-form .wpcf7-submit {
	margin-top: 10px; background: var(--a-accent) !important; border: 1px solid var(--a-accent) !important; color: var(--a-ink) !important;
	border-radius: 0 !important; padding: 15px 38px !important; font: 600 12px/1 var(--a-sans) !important; letter-spacing: .14em; text-transform: uppercase;
	height: auto !important; width: auto !important; cursor: pointer; transition: background .2s, color .2s;
}
.wpcf7-form .wpcf7-submit:hover { background: var(--a-ink) !important; border-color: var(--a-ink) !important; color: #fff !important; }
.wpcf7-form br { display: none; }
@media (max-width: 767px) {
	.acc-grid { grid-template-columns: 1fr; gap: 12px; margin-bottom: 36px; }
	.acc { padding: 20px 20px 18px 78px; min-height: 0; }
	.acc::before { left: 20px; top: 22px; width: 36px; height: 36px; }
	.arctis-contact-lead p { font-size: 16px !important; }
	.arctis-contact-main { padding-bottom: 40px; }
}

/* ---------- Страница услуги ---------- */
.single-service-media .service-title { font-family: var(--a-serif) !important; letter-spacing: .06em !important; color: var(--a-ink) !important; }
.single-service-media .service-excerpt {
	font-size: 19px !important;
	line-height: 1.7 !important;
	color: var(--a-text) !important;
	max-width: 760px;
	margin: 0 auto !important;
}
.single-service-media .img-icon { border: 0 !important; background: none !important; box-shadow: none !important; padding: 0 !important; margin-top: 28px !important; }
.single-service-media .img-icon img { width: 64px !important; height: 64px !important; border: 0 !important; padding: 0 !important; background: none !important; box-shadow: none !important; }
.single-service-media .img-icon::before, .single-service-media .img-icon::after { display: none !important; }
.single-service-media { padding-bottom: 56px !important; }
@media (max-width: 767px) { .single-service-media .service-excerpt { font-size: 16px !important; } }

/* Меню: компактнее, чтобы логотип и пункты стояли в одну строку на всех языках (отступы у темы на li, не на a) */
@media (min-width: 992px) {
	.primary-menu > li { padding-left: 24px !important; padding-right: 24px !important; }
	.primary-menu > li > a { padding-left: 0 !important; padding-right: 0 !important; }
	#site-navigation .primary-menu > li.lang-item { padding-left: 8px !important; padding-right: 8px !important; }
	#site-navigation .primary-menu > li.lang-item > a { padding-left: 0 !important; padding-right: 0 !important; }
	.primary-menu { white-space: nowrap; }
}
@media (min-width: 992px) and (max-width: 1239px) {
	.primary-menu > li { padding-left: 13px !important; padding-right: 13px !important; }
	.primary-menu > li > a { font-size: 11px !important; letter-spacing: .04em !important; }
	.primary-menu { padding-left: 20px !important; }
}

/* Шапка: меню растянуто на всю ширину справа от логотипа, пункты распределены равномерно */
@media (min-width: 992px) {
	#site-navigation { flex: 1 1 auto; min-width: 0; }
	#site-navigation .primary-menu { display: flex !important; justify-content: space-between; align-items: center; padding-left: 48px !important; }
	#site-navigation .primary-menu > li { padding-left: 0 !important; padding-right: 0 !important; }
	#site-navigation .primary-menu > li.lang-item { padding-left: 0 !important; padding-right: 0 !important; }
}

/* Подвал: колонки по центру, одинаковой ширины, текст по центру (в EN/ES колонок две — тоже по центру) */
.top-footer .row { display: flex !important; flex-wrap: wrap; justify-content: center; align-items: flex-start; }
.top-footer .cms-footer-item { flex: 0 0 320px !important; max-width: 320px !important; text-align: center; padding-left: 20px !important; padding-right: 20px !important; }
.top-footer .cms-footer-item:empty, .top-footer .cms-footer-item:not(:has(.widget)) { display: none !important; }
.top-footer .widget-title { text-align: center; }
@media (max-width: 767px) { .top-footer .cms-footer-item { flex: 0 0 100% !important; max-width: 100% !important; } }

/* Портфолио: подпись при наведении — внизу на тёмном градиенте, читается на любом фото */
.cms-grid-portfolio .grid-item-inner { position: relative; }
.cms-grid-portfolio .entry-holder {
	top: auto !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
	transform: none !important; width: auto !important; height: auto !important;
	padding: 70px 26px 22px !important; margin: 0 !important; text-align: left !important;
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,.55) 45%, rgba(0,0,0,.85) 100%) !important;
	pointer-events: none; transition: opacity .3s;
}
.cms-grid-portfolio .entry-holder .item-title { margin: 0 !important; }
.cms-grid-portfolio .entry-holder .item-title a {
	pointer-events: auto; color: #fff !important; font-family: var(--a-sans) !important;
	font-size: 16px !important; font-weight: 600 !important; line-height: 1.4 !important; letter-spacing: .01em !important;
	text-transform: none !important; text-shadow: 0 1px 2px rgba(0,0,0,.5);
}
.cms-grid-portfolio .entry-holder .bd-bottom-holder { display: block; width: 36px; height: 2px; background: var(--a-accent) !important; margin: 10px 0 0 !important; position: static !important; }
.cms-grid-portfolio .item-featured .overlay::before { background: rgba(0,0,0,.15) !important; }
.cms-grid-portfolio .icon-zoom { display: none !important; }
/* на сенсорных экранах наведения нет — подпись видна всегда */
@media (hover: none), (max-width: 991px) {
	.cms-grid-portfolio .entry-holder { opacity: 1 !important; visibility: visible !important; padding: 50px 14px 12px !important; }
	.cms-grid-portfolio .entry-holder .item-title a { font-size: 13px !important; }
}

/* Иконки услуг без рамки темы */
.cms-service-carousel .entry-featured a.readmore-icon, .cms-service-carousel .entry-featured img { border: 0 !important; padding: 0 !important; box-shadow: none !important; background: none !important; width: auto !important; height: auto !important; }
.cms-service-carousel .entry-featured img { width: 56px !important; height: 56px !important; }
