/* Общий нижний блок локального предпросмотра. */
#footer.ds-shared-footer {
  padding: 46px 24px 42px !important;
  background: #303539 !important;
  color: #f3f7f3 !important;
}
#footer.ds-shared-footer .ds-inner-footer__wrap {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: clamp(28px, 5vw, 72px) !important;
  max-width: 1200px;
  margin: 0 auto;
  align-items: start;
}
#footer.ds-shared-footer .ds-inner-footer__identity { display: flex; align-items: flex-start; gap: 18px; }
#footer.ds-shared-footer .ds-inner-footer__identity img { width: 98px; height: 98px; flex: 0 0 98px; border-radius: 50%; object-fit: cover; }
#footer.ds-shared-footer .ds-inner-footer__identity p { margin: 0; color: #e8f0e9; font-size: 17px; line-height: 1.6; }
#footer.ds-shared-footer .ds-shared-footer__details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; margin-top: 30px; padding-top: 22px; border-top: 1px solid #62736a; }
#footer.ds-shared-footer .ds-shared-footer__details > div { min-width: 0; }
#footer.ds-shared-footer .ds-shared-footer__social-block { grid-column: 1 / -1; justify-self: center; margin-top: 10px; text-align: center; }
body.ds-inner-redesign #footer.ds-shared-footer .ds-inner-footer__phones { margin-top: 0; padding-top: 0; border-top: 0; }
#footer.ds-shared-footer h2 { margin: 0 0 12px; color: #fff !important; font-size: 21px; line-height: 1.25; font-weight: 700; }
#footer.ds-shared-footer .ds-shared-footer__details a { display: block; width: fit-content; margin: 6px 0; color: #e1f4e8; font-size: 16px; line-height: 1.35; text-decoration: none; overflow-wrap: anywhere; }
#footer.ds-shared-footer .ds-shared-footer__details a:hover { color: #fff; text-decoration: underline; }
#footer.ds-shared-footer .ds-inner-footer__phones a:nth-of-type(2) { margin-left: 1ch; }
#footer.ds-shared-footer .ds-shared-footer__details small { display: block; color: #d0ddd3; font-size: 12px; font-weight: 400; }
#footer.ds-shared-footer .ds-shared-footer__social { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
#footer.ds-shared-footer .ds-shared-footer__social a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0; border: 1px solid #d5e5d9; border-radius: 50%; background: #eef5ef; color: #263a33; line-height: 1; text-decoration: none; transition: background-color .18s ease, transform .18s ease; }
#footer.ds-shared-footer .ds-shared-footer__social a svg { display: block; width: 26px; height: 26px; }
#footer.ds-shared-footer .ds-shared-footer__social a[aria-label="Telegram"] svg { width: 29px; height: 29px; }
#footer.ds-shared-footer .ds-shared-footer__max { font-size: 13px; font-weight: 900; letter-spacing: -.08em; }
#footer.ds-shared-footer .ds-shared-footer__social a:hover { background: #d9e9dd; color: #263a33; text-decoration: none; transform: translateY(-2px); }
#footer.ds-shared-footer .ds-shared-footer__social a:focus-visible { outline: 3px solid #a8d8b6; outline-offset: 3px; }
#footer.ds-shared-footer .ds-inner-consult-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
#footer.ds-shared-footer .ds-inner-consult-form label { display: block; min-width: 0; color: #e8f0e9; font-size: 13px; line-height: 1.4; }
#footer.ds-shared-footer .ds-inner-consult-form label span { display: block; margin-bottom: 5px; }
#footer.ds-shared-footer .ds-inner-consult-form .ds-inner-consult-form__wide,
#footer.ds-shared-footer .ds-inner-consult-form .ds-privacy-consent,
#footer.ds-shared-footer .ds-inner-consult-form button,
#footer.ds-shared-footer .ds-inner-consult-form__status { grid-column: 1 / -1; }
#footer.ds-shared-footer .ds-inner-consult-form input:not([type="checkbox"]),
#footer.ds-shared-footer .ds-inner-consult-form textarea { display: block; width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #b9cec0; border-radius: 7px; background: #fff; color: #263a33; font: inherit; box-sizing: border-box; }
#footer.ds-shared-footer .ds-inner-consult-form textarea { min-height: 104px; resize: vertical; }
#footer.ds-shared-footer .ds-inner-consult-form .ds-privacy-consent { display: flex; gap: 9px; margin: 0; }
#footer.ds-shared-footer .ds-inner-consult-form .ds-privacy-consent input { flex: 0 0 auto; margin: 2px 0 0; }
#footer.ds-shared-footer .ds-inner-consult-form .ds-privacy-consent span { margin: 0; }
#footer.ds-shared-footer .ds-inner-consult-form .ds-privacy-consent a { display: inline; color: #d4f3dd; }
#footer.ds-shared-footer .ds-inner-consult-form button { width: fit-content; min-width: 160px; min-height: 44px; padding: 9px 20px; border: 0; border-radius: 7px; background: #347559; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
#footer.ds-shared-footer .ds-inner-consult-form button:hover { background: #438c68; }
#footer.ds-shared-footer .ds-inner-consult-form__status { margin: 0; color: #e8f0e9; font-size: 13px; }

@media (min-width: 1000px) {
  #footer.ds-shared-footer .ds-shared-footer__details > .ds-inner-footer__phones { position: relative; left: -12px; }
  #footer.ds-shared-footer .ds-shared-footer__details > div:nth-child(2) { position: relative; left: 22px; }
}

@media (min-width: 1200px) {
  #footer.ds-shared-footer .ds-inner-footer__identity { gap: 18px; }
  #footer.ds-shared-footer .ds-inner-footer__identity img {
    width: clamp(132px, 11vw, 150px);
    height: clamp(132px, 11vw, 150px);
    flex: 0 0 clamp(132px, 11vw, 150px);
    margin-left: 0;
    transform: none;
    object-fit: contain;
  }
  #footer.ds-shared-footer .ds-shared-footer__details > div:nth-child(2) { left: 32px; }
  #footer.ds-shared-footer .ds-shared-footer__social-block { position: relative; left: -30px; }
}

/* Главная: форма вопроса слева, карта справа. */
.home .ds-home-contact-layout { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 22px; align-items: stretch; }
.home .ds-home-question-card { height: 100%; min-height: 470px; padding: 28px; border: 1px solid #d5e3d8; border-radius: 16px; background: #edf3ee; box-sizing: border-box; }
.home .ds-home-question-card h3 { margin: 0 0 10px; color: #263a33; font-size: 26px; line-height: 1.25; }
.home .ds-home-question-card > p { margin: 0 0 22px; color: #516b5b; font-size: 15px; line-height: 1.5; }
.home .ds-home-question-card .ds-question-form label span { color: #263a33; }
.home .ds-home-question-card .ds-question-form__status,
.home .ds-home-question-card .ds-question-form__preview-note { color: #3a5947; }
.home .ds-home-map { min-height: 470px; }
@media (max-width: 900px) {
  #footer.ds-shared-footer .ds-inner-footer__wrap { grid-template-columns: minmax(0, 1fr) !important; }
  #footer.ds-shared-footer .ds-shared-footer__social-block { justify-self: stretch; text-align: left; }
  #footer.ds-shared-footer .ds-shared-footer__social { justify-content: flex-start; }
  .home .ds-home-contact-layout { grid-template-columns: minmax(0, 1fr); }
  .home .ds-home-question-card { min-height: 0; }
}
@media (max-width: 580px) {
  #footer.ds-shared-footer { padding: 32px 18px 38px !important; }
  #footer.ds-shared-footer .ds-inner-footer__identity { flex-direction: column; }
  #footer.ds-shared-footer .ds-inner-footer__identity img { width: 82px; height: 82px; flex-basis: 82px; }
  #footer.ds-shared-footer .ds-shared-footer__details { grid-template-columns: minmax(0, 1fr); }
  #footer.ds-shared-footer .ds-inner-consult-form { grid-template-columns: minmax(0, 1fr); }
  .home .ds-home-question-card { padding: 22px; }
}
