/* ============================================================
   СПБ Переезд — страница контактов (page-contacts.php)
   ============================================================ */

/* --- шапка --- */
.sp-contacts-hero{background:linear-gradient(135deg,var(--ink),var(--brand-dk));
  color:#fff;padding:110px 0 100px;position:relative;background-size:cover;background-position:center}
.sp-contacts-hero__overlay{position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(12,22,38,.85),rgba(31,95,240,.55));pointer-events:none}
.sp-contacts-hero__content{position:relative;z-index:1}
.sp-contacts-hero h1{font-size:clamp(26px,4vw,42px);font-weight:800;margin:0 0 12px;line-height:1.15}
.sp-contacts-hero p{font-size:16.5px;color:rgba(255,255,255,.85);margin:0;max-width:640px;line-height:1.5}

/* --- реквизиты --- */
.sp-contacts-req{padding:48px 0}
.sp-contacts-req__table{width:100%}
.sp-contacts-req__table td{padding:12px 16px;border-bottom:1px solid var(--line-2);
  font-size:14px;vertical-align:top}
.sp-contacts-req__k{color:var(--ink-3);width:38%}
.sp-contacts-req__v{color:var(--ink);font-weight:500}
.sp-contacts-req__table tr:last-child td{border-bottom:none}
.sp-contacts-req__table tr:nth-child(even) td{background:var(--bg-2)}
.sp-contacts-req__dl{margin-top:20px}
.sp-contacts-req__dl svg{width:18px;height:18px}

/* --- карта --- */
.sp-contacts-map{padding:0}
.sp-contacts-map iframe,
.sp-contacts-map ymaps,
.sp-contacts-map > div:not(.sp-wrap){width:100%!important;display:block}
.sp-contacts-map iframe{min-height:420px;border:0}
.sp-contacts-map .sp-wrap{padding-top:32px;padding-bottom:48px}

/* --- адаптив --- */
@media(max-width:860px){
  .sp-contacts-form-box{grid-template-columns:1fr;gap:24px;padding:26px 24px}
}
@media(max-width:600px){
  .sp-contacts-hero{padding:54px 0 48px}
  .sp-contacts-grid{grid-template-columns:1fr;gap:14px}
  .sp-contacts-req__table td{padding:10px 12px;font-size:13.5px}
  .sp-contacts-req__k{width:45%}
  .sp-contacts-map iframe{min-height:320px}
  .sp-contacts-req__dl{width:100%;justify-content:center}
}

/* ============================================================
   Фото слева от формы
   ============================================================ */
.sp-contacts-form-box__photo{margin-top:24px;border-radius:var(--r);
  background-size:cover;background-position:center;min-height:280px}

/* ============================================================
   Мессенджеры кнопками в карточке контактов
   ============================================================ */
.sp-contact-card--msg .sp-contact-card__label{margin-bottom:12px}
.sp-msg-btns{display:flex;flex-direction:column;gap:8px}
.sp-msg-btn{display:inline-flex;align-items:center;gap:9px;
  padding:11px 14px;border:1px solid var(--line);border-radius:var(--r-sm);
  font-size:14px;font-weight:600;color:var(--ink-2);text-decoration:none;
  transition:var(--dur) var(--ease)}
.sp-msg-btn svg{width:18px;height:18px;flex:none}
.sp-msg-btn:hover{border-color:currentColor}
.sp-msg-btn--wa:hover{color:#25d366;background:#eefbf3}
.sp-msg-btn--tg:hover{color:#229ed9;background:#eaf6fd}
.sp-msg-btn--max:hover{color:var(--brand);background:var(--brand-soft)}

@media(max-width:860px){
  .sp-contacts-form-box__photo{min-height:200px;margin-top:18px}
}

/* ============================================================
   Контакты: слева данные, справа форма
   ============================================================ */
.sp-contacts-main{padding:40px 0 48px}
.sp-contacts-layout{display:grid;grid-template-columns:0.85fr 1.15fr;gap:0;
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;box-shadow:var(--sh)}

/* --- левая колонка --- */
.sp-contacts-side{padding:34px 32px;background:var(--bg-2);
  border-right:1px solid var(--line)}
.sp-contacts-side__title{font-size:21px;font-weight:800;color:var(--ink);
  margin:0 0 24px;line-height:1.3}
.sp-contacts-side__note{margin:22px 0 0;padding-top:18px;
  border-top:1px solid var(--line);font-size:13px;color:var(--ink-3);line-height:1.55}

/* строка контакта */
.sp-cline{display:flex;gap:14px;align-items:flex-start;
  padding:16px 0;border-bottom:1px solid var(--line)}
.sp-cline:last-of-type{border-bottom:none;padding-bottom:0}
.sp-cline:first-of-type{padding-top:0}
.sp-cline__ic{flex:none;width:40px;height:40px;border-radius:11px;background:var(--brand-soft);
  display:flex;align-items:center;justify-content:center}
.sp-cline__ic svg{width:19px;height:19px;stroke:var(--brand)}
.sp-cline__body{flex:1;min-width:0}
.sp-cline__label{display:block;font-size:11.5px;color:var(--ink-3);
  text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-bottom:6px}
.sp-cline__val{display:block;font-size:15px;font-weight:600;color:var(--ink);
  text-decoration:none;line-height:1.45}
a.sp-cline__val:hover{color:var(--brand)}
.sp-cline__val--big{font-family:var(--f-display);font-size:21px;font-weight:700;letter-spacing:-.01em}
.sp-cline__val--text{font-weight:500;font-size:14px;color:var(--ink-2)}

/* --- правая колонка: форма --- */
.sp-contacts-formcol{padding:34px 34px 36px}
.sp-contacts-formcol h2{font-size:24px;font-weight:800;color:var(--ink);margin:0 0 8px;line-height:1.25}
.sp-contacts-formcol__lead{font-size:14.5px;color:var(--ink-3);margin:0 0 22px;line-height:1.55}

/* --- кнопки мессенджеров --- */
.sp-msg-btns{display:flex;flex-direction:column;gap:8px}
.sp-msg-btn{display:inline-flex;align-items:center;gap:9px;
  padding:11px 14px;border:1px solid var(--line);border-radius:var(--r-sm);
  background:var(--card);font-size:14px;font-weight:600;color:var(--ink-2);
  text-decoration:none;transition:var(--dur) var(--ease)}
.sp-msg-btn svg{width:18px;height:18px;flex:none}
.sp-msg-btn:hover{border-color:currentColor}
.sp-msg-btn--wa:hover{color:#25d366;background:#eefbf3}
.sp-msg-btn--tg:hover{color:#229ed9;background:#eaf6fd}
.sp-msg-btn--max:hover{color:var(--brand);background:var(--brand-soft)}

/* --- адаптив --- */
@media(max-width:900px){
  .sp-contacts-layout{grid-template-columns:1fr}
  .sp-contacts-side{border-right:none;border-bottom:1px solid var(--line);padding:26px 24px}
  .sp-contacts-formcol{padding:26px 24px 30px}
  .sp-msg-btns{flex-direction:row;flex-wrap:wrap}
  .sp-msg-btn{flex:1 1 auto;justify-content:center}
}
@media(max-width:520px){
  .sp-contacts-main{padding:26px 0 36px}
  .sp-cline__val--big{font-size:19px}
  .sp-msg-btns{flex-direction:column}
}
