/* Dop. vizualnye pravki -- proscanium.ru */
/* 1) karuseli vysota (mob); 2) otzyvy paddingi+otstup (mob); 3) partnery odinakovaya vysota logo; 4) faq-title razmer + centr na mob */
@media (max-width:768px){
  .equipment-card{ height:auto !important; min-height:200px; }
  .review-card{ height:auto !important; min-height:380px; }
}
@media (max-width:480px){
  .equipment-card{ height:auto !important; min-height:180px; }
  .review-card{ height:auto !important; min-height:320px; }
}
@media (max-width:768px){
  .review-card{ padding:38px 24px 28px !important; }
  .review-card .review-title{ margin-bottom:-4px !important; }
}
@media (max-width:480px){ .review-card{ padding:30px 20px 24px !important; } }
.partners-logo{ width:auto !important; min-width:0 !important; }
.partners-logo img{ height:60px !important; width:auto !important; max-width:180px !important; max-height:none !important; }
@media (max-width:1024px){ .partners-logo img{ height:54px !important; } }
@media (max-width:768px){ .partners-logo img{ height:46px !important; max-width:150px !important; } }
@media (max-width:480px){ .partners-logo img{ height:48px !important; } }
.faq-title{ font-size:var(--font-size-4xl) !important; }
@media (max-width:768px){
  .faq-title{ font-size:var(--font-size-3xl) !important; }
  .faq-info{ text-align:center !important; }
}
@media (max-width:480px){ .faq-title{ font-size:var(--font-size-2xl) !important; } }

/* zagolovki voprosov akkordeona -- chut menshe na mobile */
@media (max-width:768px){ .faq-question-text{ font-size:16px !important; } }
@media (max-width:480px){ .faq-question-text{ font-size:15px !important; } }

/* 5. otstup zagolovok->kontent na mobile = 24px (slayder-bloki otzyvy/partnery) */
@media (max-width:768px){
  .reviews-header{ margin-bottom:0 !important; }
  .review-card{ margin-top:24px !important; }
  .partners-header{ margin-bottom:24px !important; }
}

/* 6. zagolovok->tekst na mobile = 24px (tekstovye sekcii) */
@media (max-width:768px){
  .hero__text{ gap:24px !important; }
  .scanning__title{ margin-bottom:0 !important; }
  .advantages__title{ margin-bottom:0 !important; }
  .about-history__title{ margin-bottom:24px !important; }
}

/* 7. O kompanii: bokovye otstupy kak u ostalnyh (mob) */
@media (max-width:480px){ .about-history__text-block{ padding-left:0 !important; padding-right:0 !important; } }
/* 8. Cifry: odinakovyy razmer fonovoy cifry (mob) */
@media (max-width:768px){ .about-company__stat-number-bg{ font-size:5rem !important; } }
/* 9. Slaydery: kartochka po centru po vysote (mob) */
@media (max-width:768px){ .equipment-swiper .swiper-wrapper, .reviews-swiper .swiper-wrapper{ align-items:center !important; } }
/* 10. Futer: ubrat razdeliteli / na mobile */
@media (max-width:768px){ .footer__legal-separator{ display:none !important; } }

/* 11. Blok formy: ubrat kartinku inzhenera na mobile */
@media (max-width:768px){ .contact-form__engineer{ display:none !important; } }

/* 12. Spisok uslug (.service-grid): v kolonku na mobile */
@media (max-width:768px){ .service-grid{ grid-template-columns:1fr !important; } }

/* 13. Hero stranic uslug: foto na vsyu shirinu na mobile */
@media (max-width:768px){ .service-image{ width:100% !important; max-width:100% !important; height:auto !important; } }

/* 14. Kontaktnaya forma: doverie + messendzhery + mikro-offer */
.contact-form__trust{ text-align:center; font-size:14px; color:#6b7280; margin:0 0 14px; }
.contact-form__trust strong{ color:#1C1F26; font-weight:700; }
.contact-form__aside{ margin-top:14px; text-align:center; }
.contact-form__reassure{ font-size:13px; color:#9aa0ab; margin:0; }
.contact-form__messengers{ display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; }
.contact-form__messengers-label{ font-size:13px; color:#9aa0ab; flex-basis:100%; margin-bottom:2px; }
.msgr-btn{ display:inline-flex; align-items:center; gap:6px; padding:8px 18px; border-radius:10px; font-weight:600; font-size:14px; text-decoration:none; border:1px solid #DCDDE2; color:#1C1F26; background:#fff; transition:border-color .15s ease,color .15s ease,transform .15s ease; }
.msgr-btn:hover{ transform:translateY(-1px); }
.msgr-btn--tg:hover{ border-color:#229ED9; color:#229ED9; }
.msgr-btn--max:hover{ border-color:#1C1F26; }
/* 15. modalki: dop-blok */
.contact-form__reassure strong{ color:#1C1F26; font-weight:700; }
.modal-form-extras{ margin-top:14px; text-align:center; }
.modal-form-extras .contact-form__reassure{ margin-bottom:0; }
/* 16. trust zametnee + modal submit na vsyu shirinu */
.contact-form__trust, .form-trust{ text-align:center; font-size:15px; color:#4b5563; margin:0 0 14px; font-weight:500; }
.contact-form__trust strong, .form-trust strong{ color:#1C1F26; font-weight:800; }
.form--modal button[type="submit"]{ width:100% !important; display:flex !important; justify-content:center !important; }


/* --- 17. Состояние загрузки кнопок форм (FetchIt) --- */
.btn-spinner{ display:inline-block; width:15px; height:15px; margin-right:8px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; vertical-align:-2px; animation:btnspin .6s linear infinite; }
@keyframes btnspin{ to{ transform:rotate(360deg); } }
button.is-loading{ opacity:.85; cursor:wait; pointer-events:none; }


/* --- 18. Модалки: компактнее — меньше отступ от линии заголовка до полей --- */
.modal__body{ padding-top:18px !important; }


/* --- 19. Валидация согласия: подсветка незаполненного чекбокса --- */
.consent-error .form__checkbox-custom{ border-color:#e11d48 !important; box-shadow:0 0 0 3px rgba(225,29,72,.18) !important; }
.consent-error .form__checkbox-text{ color:#e11d48 !important; }
.consent-error .contact-form__checkbox-label{ color:#e11d48 !important; }
.consent-error .contact-form__checkbox-input{ outline:2px solid #e11d48 !important; outline-offset:2px; }
.consent-error-msg{ display:none; color:#e11d48; font-size:13px; font-weight:600; margin-top:6px; }
.consent-error .consent-error-msg{ display:block; }


/* --- 20. Валидация телефона: подсветка поля --- */
.field-error .form__input, .field-error .contact-form__input{ border-color:#e11d48 !important; box-shadow:0 0 0 3px rgba(225,29,72,.15) !important; }
.field-error-msg{ display:none; color:#e11d48; font-size:13px; font-weight:600; margin-top:6px; }
.field-error .field-error-msg{ display:block; }


/* --- 21. FAQ: убрать наследуемые отступы заголовка вопроса (h3 внутри .article-body страниц услуг) --- */
.faq-question-text{ margin-top:0 !important; margin-bottom:0 !important; }


/* --- 22. О компании: инженер-фон на планшете/мобиле бледнее (0.3 -> 0.15) --- */
@media (max-width:1024px){ .about-history__engineer-img{ opacity:0.15 !important; } }


/* --- 23. Projects hero: больше отступа снизу — текст не наезжает на волну (волна 120px, было padding-bottom 64px) --- */
.projects-hero{ padding-bottom:160px !important; }


/* --- 24. Цены: CTA после каждой группы услуг --- */
.prices-cta-row td{ text-align:right; padding:16px 20px 22px; background:#fbfbfb; border-top:1px dashed #e5e5e5; }
.prices-cta-btn{ display:inline-flex; align-items:center; gap:8px; }
@media (max-width:768px){ .prices-cta-row td{ text-align:center; padding:14px 12px 18px; } .prices-cta-btn{ width:100%; justify-content:center; } }

/* --- 25. Контакты: кнопка «Оставить сообщение» uppercase (как остальные CTA) --- */
.contacts__message-btn{ text-transform:uppercase; }


/* --- 26. О компании: тёмная карточка со скруглением всех углов (как карточки статов) + нижний отступ как сверху --- */
.about-company__left{ border-radius:12px !important; overflow:hidden !important; }
.about-company{ padding-bottom:64px !important; }


/* --- 27. Унификация hero-CTA .cta-button под кнопки главной (.btn--primary.btn--lg): размер/скругление/бренд-жёлтый #FCC021/uppercase; выравниваем и контактную кнопку --- */
.cta-button{
  background:var(--color-primary) !important;
  color:var(--color-dark) !important;
  padding:0.75rem var(--spacing-lg) !important;
  font-size:var(--font-size-base) !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  border-radius:8px !important;
  text-transform:uppercase !important;
  letter-spacing:0.5px !important;
  min-width:0 !important;
  box-shadow:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  transition:all var(--transition-base) !important;
}
.cta-button:hover{
  background:var(--color-primary-dark) !important;
  transform:translateY(-2px) !important;
  box-shadow:var(--shadow-lg) !important;
}
.contacts__message-btn{ padding:0.75rem var(--spacing-lg) !important; font-size:var(--font-size-base) !important; }
@media (max-width:768px){
  .cta-button{ width:100% !important; }
}


/* --- 28. Инпуты финальной контакт-формы (.contact-form__input) под стиль модалок (.form__input) --- */
.contact-form__input{
  width:100% !important;
  padding:var(--spacing-sm) var(--spacing-md) !important;
  border:1px solid rgba(0,0,0,0.2) !important;
  border-radius:8px !important;
  font-size:var(--font-size-sm) !important;
  line-height:1.5 !important;
  background:var(--color-white) !important;
  color:var(--color-dark) !important;
  transition:all var(--transition-base) !important;
}
.contact-form__input::placeholder{ color:rgba(0,0,0,0.6) !important; }
.contact-form__input:focus{
  outline:none !important;
  border-color:var(--color-primary) !important;
  box-shadow:0 0 0 2px rgba(252,192,33,0.2) !important;
  background:var(--color-white) !important;
}

@media (max-width:767px){
  .contact-form__input{ font-size:16px !important; }
}


/* --- 29. Кнопка «Оставить свой отзыв» (.reviews-btn): текст чёрный вместо белого (контраст на жёлтом) --- */
.reviews-btn{ color:var(--color-dark) !important; }


/* --- 30. Карусель «Примеры работ» (.example-image img): на всю ширину карточки + cover (было object-fit:contain / width:auto — картинка в рамке по центру) --- */
.example-image img{ width:100% !important; height:100% !important; object-fit:cover !important; }


/* --- 31. Hero-заголовок: чуть меньше шрифт на очень узких экранах (<=400px) --- */
@media (max-width:400px){
  .hero__title{ font-size:1.9rem !important; }
}


/* --- 32. white-space:nowrap на кнопках (фикс переноса текста/стрелки в Safari) --- */
.btn,
.cta-button,
.contacts__message-btn,
.reviews-btn{ white-space:nowrap; }
