/* Контакты: компактная связь с разработчиком, социальные каналы и реквизиты. */
.developer-contact-section { padding-top: 23px; padding-bottom: 16px; }
.developer-contact-section > .container > .eyebrow { margin-bottom: 14px; }

/* Левая зона уменьшена примерно на 20% относительно предыдущей компоновки;
   освобождённая ширина передана социальным строкам справа. */
.developer-contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: stretch; }

.developer-mail-list,
.developer-social-list { display: grid; grid-template-rows: repeat(3, 82px); gap: 7px; }

.developer-mail-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; min-height: 82px; padding: 3px 10px 3px 16px; border: 1px solid var(--color-border-soft); border-radius: 12px; background: var(--color-window); }
.developer-mail-card h2,
.developer-social-row p {
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: .96rem;
  font-weight: 620;
  line-height: 1.15;
  letter-spacing: -.025em;
}
.developer-mail-card h2 { margin: 0 0 3px; }
.developer-mail-address { color: var(--color-text-secondary); font-size: .82rem; text-decoration: none; }
.developer-mail-address:hover { color: var(--color-icon); }
.developer-mail-button {
  min-width: 142px;
  min-height: 44px;
  justify-content: center;
  gap: 12px;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: .96rem;
  font-weight: 620;
  line-height: 1.15;
  letter-spacing: -.025em;
}
.developer-mail-button svg { width: 38px; height: 38px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

/* Внешняя оболочка нейтрализована, чтобы три правые строки совпадали по верхней/нижней
   границе и межстрочным зазорам с тремя почтовыми строками слева. */
.developer-socials { padding: 0; overflow: visible; border: 0; background: transparent; }
.developer-social-row { display: grid; grid-template-columns: minmax(max-content, 1fr) 150px; gap: 14px; align-items: center; min-height: 82px; padding: 3px 10px 3px 16px; border: 1px solid var(--color-border-soft); border-radius: 12px; background: var(--color-window); }
.developer-social-row p { margin: 0; color: var(--color-text); white-space: nowrap; }
.developer-social-link { display: grid; width: 150px; min-height: 44px; padding: 8px 12px; place-items: center; border: 1px solid var(--color-border-soft); border-radius: 5px; background: var(--color-window); color: var(--color-text-secondary); font: inherit; font-size: .86rem; font-weight: 700; text-align: center; }
.developer-social-link:disabled { cursor: default; opacity: .72; }
.developer-social-link:not(:disabled):hover { border-color: var(--color-icon); background: var(--color-selection); color: var(--color-text); }

.contact-details-section { padding-top: 16px; padding-bottom: 16px; }
.contact-details-section .eyebrow { margin-bottom: 12px; }
.contact-details-card { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.contact-detail-block { min-width: 0; padding: 14px 18px; }
.contact-detail-block + .contact-detail-block { border-left: 1px solid var(--color-border-soft); }
.contact-detail-block h2 { margin: 0 0 8px; color: var(--color-text); font-size: .92rem; font-weight: 700; line-height: 1.45; letter-spacing: 0; }
.contact-detail-block p { margin: 0; color: var(--color-text-secondary); font-size: .84rem; font-weight: 400; line-height: 1.55; }
.contact-detail-block p + p { margin-top: 3px; }

.page-requisites .contact-details-section { padding-top: 46px; }
.page-requisites .contact-details-section .section-accent-title { margin-bottom: 20px; }
.page-requisites .contact-details-card { padding: 0; overflow: hidden; }

@media (max-width: 1180px) {
  .developer-contact-grid { grid-template-columns: minmax(0, 1fr); }
  .developer-social-list { grid-template-rows: none; }
  .developer-social-row { grid-template-columns: minmax(0, 1fr) 170px; }
}

@media (max-width: 700px) {
  .developer-contact-section { padding-top: 20px; padding-bottom: 12px; }
  .developer-mail-list { grid-template-rows: none; }
  .developer-mail-card { grid-template-columns: minmax(0, 1fr); gap: 8px; min-height: 0; padding: 12px; }
  .developer-mail-button { width: 100%; min-height: 48px; }
  .developer-social-row { grid-template-columns: minmax(0, 1fr); gap: 6px; min-height: 0; padding: 12px; }
  .developer-social-row p { white-space: normal; }
  .developer-social-link { width: 100%; min-height: 48px; }
  .contact-details-section { padding-bottom: 12px; }
  .contact-details-card { grid-template-columns: minmax(0, 1fr); }
  .contact-detail-block + .contact-detail-block { border-top: 1px solid var(--color-border-soft); border-left: 0; }
}


/* Единый контракт кнопок страницы контактов. */
.developer-mail-button,
.developer-social-link {
  box-sizing: border-box;
  width: 150px;
  min-width: 150px;
  height: 44px;
  min-height: 44px;
  padding: 2px 12px;
  border: 1px solid var(--color-icon);
  border-radius: 6px;
  background: var(--color-window);
  color: var(--color-text);
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: .96rem;
  font-weight: 620;
  line-height: 1.15;
  letter-spacing: -.025em;
  transition: background 140ms ease, border-color 140ms ease, color 140ms ease;
}

.developer-mail-button:hover,
.developer-social-link:not(:disabled):hover {
  border-color: var(--color-icon);
  background: var(--color-selection);
  color: var(--color-text);
}

.developer-social-link:disabled {
  border-style: solid;
  cursor: default;
  opacity: 1;
}

@media (max-width: 700px) {
  .developer-mail-button,
  .developer-social-link {
    width: 100%;
    min-width: 0;
    height: 48px;
    min-height: 48px;
  }
}
