/*
Theme Name:   Astra Child — Землемер
Theme URI:    https://zemlemer54.ru/
Description:  Дочерняя тема Astra для zemlemer54.ru. Хранит кастомный код и правки производительности, чтобы они переживали обновления родительской темы.
Author:       ООО «Землемер»
Template:     astra
Version:      1.0.1
Text Domain:  astra-child
*/

/* =========================================================================
   ЭТАП 2.5 — ПЕРЕНОС КАСТОМНЫХ СТИЛЕЙ

   Сюда переносится содержимое Customizer → «Дополнительные стили CSS»
   (сейчас это 12 КБ, которые отдаются инлайном в <head> при каждой загрузке
   и не кэшируются браузером).

   После переноса поле в Customizer нужно ОЧИСТИТЬ — иначе стили задвоятся.

   Восстановлено 27.08.2026 из сохранённой копии страницы: поле Customizer
   было очищено, а содержимое не перенесено, из-за чего пропали все
   пользовательские стили (в т.ч. лента брендов .marquee-inner).
   ========================================================================= */

html, body { 
	width: 100%; 
	max-width: 100%; 
	overflow-x: hidden; 
	overscroll-behavior-x: none;
	touch-action: pan-y;
} 

.marquee-section { 
	position: relative; 
	width: 100vw; 
	left: 50%; 
	margin-left: -50vw; 
	overflow: hidden; 
	padding: 40px 0; 
} 

.marquee-inner { 
	display: flex; 
	gap: 20px; 
	will-change: transform; 
} 

.marquee-inner img { 
	width: 300px; 
	flex-shrink: 0; 
	border-radius: 8px; 
}

/* Общие стили таблицы с ценами - начало*/
.custom-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed; 
}

.custom-table th {
  font-size: 30px;       
  font-weight: 700;
  text-align: left;
  padding: 14px;
}

.custom-table td {
  font-size: 23px;
  padding: 12px;
  vertical-align: top;
}

.custom-table th:first-child,
.custom-table td:first-child {
  width: 70%;
}

.custom-table th:nth-child(2),
.custom-table td:nth-child(2) {
  width: 30%;
}
/* Общие стили таблицы с ценами - конец*/
/*Адаптация блока "специализированный сервисный..." - начало*/
@media (max-width: 1024px) {
h3.wp-block-heading.has-ast-global-color-4-color.has-text-color.has-link-color.wp-elements-a7e4b44be1d49842ff439d5730754347{
	font-size: 22px;
	}
	.wp-block-spacer {
	height: 10px !important;
	}
	.wp-block-columns {
    align-items: stretch;
  }

  .wp-block-columns > .wp-block-column {
    flex: 1 1 33.333%;
    display: flex;
  }

  .wp-block-column figure,
  .wp-block-column .wp-block-image {
    width: 100%;
    height: 100%;
    margin: 0;
  }

  .wp-block-column img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
}

@media (max-width: 768px) {
	.wp-block-spacer {
	height: 7px !important;
	}
  .wp-block-columns {
    flex-wrap: nowrap !important;
    align-items: stretch;
  }

  .wp-block-columns > .wp-block-column {
  flex: 1 1 0 !important;
  min-width: 0;
  display: flex;
}

  .wp-block-column figure,
  .wp-block-column .wp-block-image {
    width: 100%;
    height: 100%;
    margin: 0;
  }

  .wp-block-column img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
}

@media (max-width: 425px) {
h3.wp-block-heading.has-ast-global-color-4-color.has-text-color.has-link-color.wp-elements-a7e4b44be1d49842ff439d5730754347{
	font-size: 18px;
	}
  .wp-block-columns {
    flex-wrap: wrap !important;
    justify-content: center;
    align-items: stretch;
    overflow: visible;
  }

  .wp-block-columns > .wp-block-column {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    display: flex;
    justify-content: center;
  }

  .wp-block-column figure,
  .wp-block-column .wp-block-image {
    width: 85%;
    height: 260px;
    margin: 0 auto 16px;
  }

  .wp-block-column img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
}
/*Адаптация блока "специализированный сервисный..." - конец*/

/*Адаптация блока "Бесплатная диагностика" - начало*/
@media (max-width: 1024px) {
	h3.wp-block-heading.has-text-color.has-link-color.wp-elements-15b22b316d1ccd6dcfd55edfe330d6ec{
		font-size: 22px;
	}
	p.has-text-color.has-link-color.wp-elements-07d4816bc2e1fed79ae5bb5629878cda{
		font-size: 22px !important;
	}
}

@media (max-width: 768px) {
	h3.wp-block-heading.has-text-color.has-link-color.wp-elements-15b22b316d1ccd6dcfd55edfe330d6ec{
		font-size: 22px;
	}
  .text-image-block.wp-block-columns {
    flex-wrap: nowrap;
  }

  .text-image-block .wp-block-column:first-child {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .text-image-block .wp-block-column:last-child {
    display: none !important;
  }
}

@media (max-width: 425px) {
		h3.wp-block-heading.has-text-color.has-link-color.wp-elements-15b22b316d1ccd6dcfd55edfe330d6ec{
		font-size: 18px !important;
	}
	p.has-text-color.has-link-color.wp-elements-07d4816bc2e1fed79ae5bb5629878cda{
		font-size: 18px !important;
	}
}
/*Адаптация блока "Бесплатная диагностика" - конец*/

/*Адаптация блока "Поверка - начало*/
@media (max-width: 1024px) {
	h3.wp-block-heading.has-text-align-center.has-ast-global-color-4-color.has-text-color.has-link-color.wp-elements-e85339cb5528fbb62ed11bd5373737cc{
		font-size: 22px;
	}
	p.has-ast-global-color-4-color.has-text-color.has-link-color.wp-elements-6f1eaaef4386d87f938027271e838aea{
	
	    margin-top: var(--wp--preset--spacing--70);
    margin-right: var(--wp--preset--spacing--30) !important;
    margin-bottom: var(--wp--preset--spacing--70);
    margin-left: var(--wp--preset--spacing--30) !important;
    font-size: 21px;
	}}
@media (max-width: 425px) {	
	h3.wp-block-heading.has-text-align-center.has-ast-global-color-4-color.has-text-color.has-link-color.wp-elements-e85339cb5528fbb62ed11bd5373737cc{
		font-size: 18px;
	}
	p.has-ast-global-color-4-color.has-text-color.has-link-color.wp-elements-6f1eaaef4386d87f938027271e838aea{
	    margin-top: var(--wp--preset--spacing--70);
    margin-right: var(--wp--preset--spacing--30) !important;
    margin-bottom: var(--wp--preset--spacing--70);
    margin-left: var(--wp--preset--spacing--30) !important;
    font-size: 18px !important;
}
	}
/*Адаптация блока "Поверка" - конец*/

/*Адаптация таблицы с ценами на услуги - начало*/
@media (max-width: 1024px) {
.custom-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed; 
}

.custom-table th {
  font-size: 25px;       
  font-weight: 600;
  text-align: left;
  padding: 10px;
}

.custom-table td {
  font-size: 22px;
  padding: 10px;
  vertical-align: top;
}

.custom-table th:first-child,
.custom-table td:first-child {
  width: 70%;
}

.custom-table th:nth-child(2),
.custom-table td:nth-child(2) {
  width: 30%;
}
	
	p.has-ast-global-color-4-color.has-text-color.has-link-color.wp-elements-33e032208f2b08a8c917c55cc371c5d1{
		font-size: 22px !important;
	}
}

@media (max-width: 768px) {
.custom-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed; 
}

.custom-table th {
  font-size: 25px;       
  font-weight: 600;
  text-align: left;
  padding: 7px;
}

.custom-table td {
  font-size: 22px;
  padding: 7px;
  vertical-align: top;
}

.custom-table th:first-child,
.custom-table td:first-child {
  width: 60%;
}

.custom-table th:nth-child(2),
.custom-table td:nth-child(2) {
  width: 40%;
}
	
	p.has-ast-global-color-4-color.has-text-color.has-link-color.wp-elements-33e032208f2b08a8c917c55cc371c5d1{
		font-size: 22px !important;
	}
}

@media (max-width: 425px) {
.custom-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed; 
}

.custom-table th {
  font-size: 20px !important;       
  font-weight: 600;
  text-align: left;
  padding: 7px;
}

.custom-table td {
  font-size: 18px;
  padding: 7px;
  vertical-align: top;
}

.custom-table th:first-child,
.custom-table td:first-child {
  width: 60%;
}

.custom-table th:nth-child(2),
.custom-table td:nth-child(2) {
  width: 40%;
}
	
	p.has-ast-global-color-4-color.has-text-color.has-link-color.wp-elements-33e032208f2b08a8c917c55cc371c5d1{
		font-size: 18px !important;
	}
}

@media (max-width: 375px) {
.custom-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed; 
}

.custom-table th {
  font-size: 15px !important;       
  font-weight: 600;
  text-align: left;
  padding: 7px;
}

.custom-table td {
  font-size: 14px;
  padding: 7px;
  vertical-align: top;
}

.custom-table th:first-child,
.custom-table td:first-child {
  width: 60%;
}

.custom-table th:nth-child(2),
.custom-table td:nth-child(2) {
  width: 40%;
}
	
	p.has-ast-global-color-4-color.has-text-color.has-link-color.wp-elements-33e032208f2b08a8c917c55cc371c5d1{
		font-size: 14px !important;
	}
}
/*Адаптация таблицы с ценами на услуги - конец*/

/*Адаптация блока "Техничесское обслуживание" - начало*/
@media (max-width: 1024px) {
	h3.wp-block-heading.has-text-align-center.has-ast-global-color-2-color.has-text-color.has-link-color.wp-elements-4dcdda892bd18f4acf9234e5ce8ed55d{
		font-size: 22px;
	}
	p.has-text-align-left{
	    margin-top: var(--wp--preset--spacing--70);
    margin-right: var(--wp--preset--spacing--30) !important;
    margin-bottom: var(--wp--preset--spacing--70);
    margin-left: var(--wp--preset--spacing--30) !important;
    font-size: 21px;
	}}
@media (max-width: 425px) {	
	h3.wp-block-heading.has-text-align-center.has-ast-global-color-2-color.has-text-color.has-link-color.wp-elements-4dcdda892bd18f4acf9234e5ce8ed55d{
		font-size: 18px;
	}
	p.has-text-align-left{
	    margin-top: var(--wp--preset--spacing--70);
    margin-right: var(--wp--preset--spacing--30) !important;
    margin-bottom: var(--wp--preset--spacing--70);
    margin-left: var(--wp--preset--spacing--30) !important;
    font-size: 18px !important;
}
	}
/*Адаптация блока "Техническое обслуживание" - конец*/

/*Адаптация блока "Гарантийное обслуживание" - начало*/
@media (max-width: 1024px) {	
	li.has-text-color.has-link-color.wp-elements-867046c1401aebafa76bee11dcff8d65, li.has-text-color.has-link-color.wp-elements-4885e8c3b7c56d5119412a0045616f22, li.has-text-color.has-link-color.wp-elements-3bce673ee97d1ff06f8193d698abc902, li.has-text-color.has-link-color.wp-elements-50cb41ce6a2300b0e027a31e535c127b, li.has-text-color.has-link-color.wp-elements-64808765635dd2e3723e5dec94291c12, li.has-text-color.has-link-color.wp-elements-893da7451f0b60509b8a6abddc14ef02, li.has-text-color.has-link-color.wp-elements-d06c250922071b133dc9818ff7c6248b, li.has-text-color.has-link-color.wp-elements-f49a51e0028fbac19e6e9a00c2ffd821, li.has-text-color.has-link-color.wp-elements-14d87d7d0264a49abf65d4e790cb1f20, li.has-text-color.has-link-color.wp-elements-34366009402c318e5e822f857b730a95, li.has-text-color.has-link-color.wp-elements-22cabea9d23a1e5dbff6d4b003782193, li.has-text-color.has-link-color.wp-elements-e422dd4d2499fc1ecadd8dca41f9b9c3 {
		font-size: 22px !important;
	}
}

@media (max-width: 425px) {	
	h3.wp-block-heading.has-text-color.has-link-color.wp-elements-01666e201b0b6258410426474446d359{
		font-size: 18px;
	}
	li.has-text-color.has-link-color.wp-elements-867046c1401aebafa76bee11dcff8d65, li.has-text-color.has-link-color.wp-elements-4885e8c3b7c56d5119412a0045616f22, li.has-text-color.has-link-color.wp-elements-3bce673ee97d1ff06f8193d698abc902, li.has-text-color.has-link-color.wp-elements-50cb41ce6a2300b0e027a31e535c127b, li.has-text-color.has-link-color.wp-elements-64808765635dd2e3723e5dec94291c12, li.has-text-color.has-link-color.wp-elements-893da7451f0b60509b8a6abddc14ef02, li.has-text-color.has-link-color.wp-elements-d06c250922071b133dc9818ff7c6248b, li.has-text-color.has-link-color.wp-elements-f49a51e0028fbac19e6e9a00c2ffd821, li.has-text-color.has-link-color.wp-elements-14d87d7d0264a49abf65d4e790cb1f20, li.has-text-color.has-link-color.wp-elements-34366009402c318e5e822f857b730a95, li.has-text-color.has-link-color.wp-elements-22cabea9d23a1e5dbff6d4b003782193, li.has-text-color.has-link-color.wp-elements-e422dd4d2499fc1ecadd8dca41f9b9c3 {
		font-size: 18px !important;
	
}
/*Адаптация блока "Гарантийное обслуживание" - конец*/
	
/*Адаптация блока "Свяжитесь с нами" - начало*/
	/* Обложка с формой — 1024px */
@media (max-width: 1024px) {

  .form-cover.wp-block-cover {
    min-height: auto;
  }

  .form-cover .wp-block-cover__image-background {
    object-fit: contain !important;
    width: 100%;
    height: 100%;
  }

  .form-cover .wp-block-cover__inner-container {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}


/*Адаптация блока "Свяжитесь с нами" - конец*/
	
	

/* НАСТОЯЩИЙ FULL-BLEED */
.marquee-wrapper {
  position: relative;
  left: 50%;
  right: 50%;
  width: 100vw;
  margin-left: -50vw;
  margin-right: -50vw;

  overflow: hidden;
  padding: 40px 0;
}

/* лента */
.marquee-track {
  display: flex;
  gap: 20px;
  will-change: transform;
}

/* картинки */
.marquee-track img {
  width: 300px;
  flex-shrink: 0;
  border-radius: 8px;
}



/* =========================================================================
   ФОРМА ЗАЯВКИ (Contact Form 7)

   Внешний вид повторяет прежнюю самописную форму: тёмно-синие поля #2A5378,
   белый текст, крупный кегль. Селекторы переписаны под разметку CF7 —
   у неё свои классы (.wpcf7-form, .wpcf7-form-control), старые .cf-form
   к ней не применились бы.

   Обёртка .cf-form оставлена для совместимости: если где-то в контенте
   остался блок со старым классом, оформление не развалится.
   ========================================================================= */

.wpcf7,
.cf-form {
	max-width: 500px;
	margin: 0 auto;
	font-family: inherit;
}

/* CF7 оборачивает каждое поле в <p> — убираем его отступы, чтобы шаг между
   полями задавался одним правилом, а не суммой margin абзаца и поля. */
.wpcf7-form p {
	margin: 0 0 15px;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"] {
	width: 100%;
	padding: 20px 12px;
	border: 1px solid #2a5378;
	border-radius: 6px;
	background: #2a5378;
	color: #fff;
	font-size: 19px;
}

/* Плейсхолдеры в тёмных полях: без этого браузер рисует их почти чёрными
   по тёмно-синему, и подписи «Имя», «Телефон» становятся нечитаемы. */
.wpcf7-form input::placeholder {
	color: rgba(255, 255, 255, 0.75);
	opacity: 1;
}

/* Видимая рамка фокуса — обязательна для доступности: поле и так тёмное,
   без явного контура пользователь клавиатуры теряет позицию. */
.wpcf7-form input:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

/* Согласие на обработку персональных данных */
.wpcf7-form .wpcf7-acceptance,
.wpcf7-form .wpcf7-list-item {
	margin: 0;
	font-size: 19px;
	line-height: 1.4;
	color: #fff;
}

.wpcf7-form .wpcf7-list-item-label {
	color: #fff;
}

.wpcf7-form .wpcf7-acceptance input[type="checkbox"] {
	margin-right: 8px;
}

/* Кнопка отправки */
.wpcf7-form input[type="submit"],
.wpcf7-form .wpcf7-submit {
	width: 100%;
	margin-top: 20px;
	padding: 15px;
	font-size: 16px;
	border: none;
	border-radius: 6px;
	background-color: #0073aa;
	color: #fff;
	cursor: pointer;
}

.wpcf7-form input[type="submit"]:disabled {
	background-color: #ccc;
	color: #666;
	cursor: not-allowed;
}

/* Виджет Turnstile: центрируем и даём отступ от кнопки. */
.wpcf7-form .cf-turnstile {
	margin: 15px 0;
	display: flex;
	justify-content: center;
}

/* --- Сообщения CF7 -------------------------------------------------------
   По умолчанию CF7 рисует их тёмным текстом на цветной рамке. На тёмно-синем
   фоне секции это нечитаемо, поэтому переопределяем цвета. */

.wpcf7-form .wpcf7-response-output {
	margin: 15px 0 0;
	padding: 10px 12px;
	border-radius: 6px;
	font-size: 16px;
	color: #fff;
}

.wpcf7-form.sent .wpcf7-response-output {
	border-color: #4caf50;
	background: rgba(76, 175, 80, 0.15);
}

.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output,
.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.spam .wpcf7-response-output {
	border-color: #ffb4b4;
	background: rgba(255, 180, 180, 0.15);
}

/* Подсказка у конкретного незаполненного поля */
.wpcf7-form .wpcf7-not-valid-tip {
	margin-top: 6px;
	font-size: 15px;
	color: #ffb4b4;
}

.wpcf7-form .wpcf7-not-valid {
	border-color: #ffb4b4 !important;
}

/* Индикатор отправки */
.wpcf7-spinner {
	background-color: #fff;
}
