/* Дополнение к spb28.css. Шапка, футер и формы на других страницах не меняются. */
#gg-contacts [hidden] { display: none !important; }
#gg-contacts .ggspb28-hero-grid { gap: 38px; }
#gg-contacts .ggct28-photo { margin: 0; }
#gg-contacts .ggct28-photo figcaption { padding-top: 8px; font-size: 11px; color: #687169; }
#gg-contacts .ggct28-quick-links { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 18px; font-size: 12px; }
#gg-contacts .ggct28-connect { padding-top: 12px; padding-bottom: 28px; }
#gg-contacts .ggct28-contact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; border-top: 1px solid #e1e6df; border-bottom: 1px solid #e1e6df; padding-top: 21px; padding-bottom: 21px; }
#gg-contacts .ggct28-contact { min-width: 0; }
#gg-contacts .ggct28-label { display: block; color: #687169; font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; margin-bottom: 8px; }
#gg-contacts .ggct28-phone, #gg-contacts .ggct28-mail, #gg-contacts .ggct28-messenger { display: block; width: fit-content; color: #242b27; font-size: clamp(17px, 1.8vw, 21px); font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; }
#gg-contacts .ggct28-messenger { color: #56714f; }
#gg-contacts .ggct28-secondary-phone { display: block; width: fit-content; font-size: 15px; font-weight: 700; margin-top: 8px; }
#gg-contacts .ggct28-small { display: block; color: #687169; font-size: 11px; line-height: 1.7; }
#gg-contacts .ggct28-contact p { color: #687169; font-size: 12px; line-height: 1.75; max-width: 300px; margin: 8px 0 0; }
#gg-contacts .ggct28-request-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); gap: 45px; align-items: start; }
#gg-contacts .ggct28-request-grid h2 { margin-top: 10px; }
#gg-contacts .ggct28-request-grid > div > p { max-width: 500px; font-size: 14px; line-height: 1.8; }
#gg-contacts .ggct28-location-links { display: flex; flex-wrap: wrap; gap: 10px 22px; font-size: 12px; margin: 16px 0 25px; }
#gg-contacts .ggct28-preparation { padding-top: 21px; border-top: 1px solid #e1e6df; }
#gg-contacts .ggct28-preparation h3 { font-size: 17px; }
#gg-contacts .ggct28-preparation ul { padding-left: 19px; margin: 10px 0 15px; }
#gg-contacts .ggct28-preparation li { padding-left: 2px; margin: 6px 0; font-size: 13px; line-height: 1.75; }
#gg-contacts .ggct28-preparation p { font-size: 12px; color: #687169; }
#gg-contacts .ggct28-help-links { display: flex; flex-wrap: wrap; gap: 11px 19px; font-size: 12px; }
#gg-contacts .ggct28-form-card { min-width: 0; padding: 24px; border: 1px solid #d3dece; border-radius: 9px; background: #fff; }
#gg-contacts .ggct28-form-card h3 { font-size: 20px; margin: 0 0 7px; }
#gg-contacts .ggct28-form-card > p { color: #687169; font-size: 12px; margin-bottom: 20px; }
/* Адаптация штатной формы №4: имена полей, captcha, согласие и отправка сохраняются. */
#gg-contacts .ggct28-form-card form { margin: 0 !important; }
#gg-contacts .ggct28-form-card .ggform491-wrap { margin: 0 !important; }
#gg-contacts .ggct28-form-card .ggform491-box { padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
#gg-contacts .ggct28-form-card .ggform491-title, #gg-contacts .ggct28-form-card .ggform491-text { display: none !important; }
#gg-contacts .ggct28-form-card .ggform491-row { gap: 12px !important; }
#gg-contacts .ggct28-form-card .ggform491-field { min-width: 0 !important; margin-bottom: 11px !important; }
#gg-contacts .ggct28-form-card .ggform491-input, #gg-contacts .ggct28-form-card .ggform491-textarea {
  width: 100% !important; height: 48px !important; margin: 0 !important; padding: 11px 12px !important;
  border: 1px solid #d1d9ce !important; border-radius: 6px !important; background: #fff !important;
  color: #242b27 !important; font: 400 14px/1.5 'Open Sans', Arial, sans-serif !important; box-shadow: none !important;
}
#gg-contacts .ggct28-form-card .ggform491-textarea { height: 110px !important; min-height: 110px !important; resize: vertical !important; }
#gg-contacts .ggct28-form-card .ggform491-input:focus, #gg-contacts .ggct28-form-card .ggform491-textarea:focus { border-color: #6d8a67 !important; outline: 3px solid #e1eadc !important; }
#gg-contacts .ggct28-form-card .ggform491-help, #gg-contacts .ggct28-form-card .ggform491-note, #gg-contacts .ggct28-form-card .ggform491-agree { color: #687169 !important; font: 400 11px/1.6 'Open Sans', Arial, sans-serif !important; }
#gg-contacts .ggct28-form-card .ggform491-agree a { color: #56714f !important; text-decoration: underline !important; }
#gg-contacts .ggct28-form-card .ggform491-btn { width: 100% !important; min-height: 46px !important; height: auto !important; margin-top: 13px !important; border-radius: 6px !important; background: #56714f !important; color: #fff !important; font: 700 13px/1.5 'Open Sans', Arial, sans-serif !important; text-transform: none !important; box-shadow: none !important; }
#gg-contacts .ggct28-form-card .ggform491-btn:hover { background: #425a3d !important; }
#gg-contacts .ggct28-details-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 24px; align-items: start; }
#gg-contacts .ggct28-details-card { min-width: 0; padding: 21px; border: 1px solid #e1e6df; border-radius: 8px; }
#gg-contacts .ggct28-details-card h3 { font-size: 18px; line-height: 1.6; margin-bottom: 15px; }
#gg-contacts .ggct28-details-card dl { margin: 0; }
#gg-contacts .ggct28-row { display: grid; grid-template-columns: 117px minmax(0, 1fr) 34px; align-items: start; gap: 8px; padding: 11px 0; border-top: 1px solid #e1e6df; }
#gg-contacts .ggct28-row dt { color: #687169; font-size: 11px; line-height: 1.8; }
#gg-contacts .ggct28-row dd { margin: 0; min-width: 0; font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
#gg-contacts .ggct28-row .ggct28-number { font-family: ui-monospace, 'Courier New', monospace; font-size: 13px; font-variant-numeric: tabular-nums; }
#gg-contacts .ggct28-copy { display: flex; width: 34px; height: 34px; align-items: center; justify-content: center; padding: 0; margin: -3px 0 0; border: 1px solid #dce3d9; border-radius: 5px; background: #fff; color: #56714f; cursor: pointer; }
#gg-contacts .ggct28-copy:hover { background: #edf2e9; }
#gg-contacts .ggct28-details-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
#gg-contacts .ggct28-details-actions button { font-family: 'Open Sans', Arial, sans-serif; cursor: pointer; }
#gg-contacts .ggct28-copy-status { margin-top: 12px; font-size: 11px; color: #687169; line-height: 1.75; }
#gg-contacts button:focus-visible, #gg-contacts a:focus-visible, #gg-contacts input:focus-visible, #gg-contacts textarea:focus-visible { outline: 3px solid #739367; outline-offset: 3px; }
@media (max-width: 960px) {
  #gg-contacts .ggct28-request-grid { gap: 25px; }
  #gg-contacts .ggct28-details-grid { grid-template-columns: 1fr 1fr; gap: 17px; }
  #gg-contacts .ggct28-row { grid-template-columns: minmax(0, 1fr) 34px; gap: 5px 8px; }
  #gg-contacts .ggct28-row dt { grid-column: 1 / -1; }
  #gg-contacts .ggct28-copy-cell { grid-column: 2; }
}
@media (max-width: 740px) {
  #gg-contacts .ggct28-contact-grid { grid-template-columns: 1fr; gap: 18px; }
  #gg-contacts .ggct28-contact + .ggct28-contact { padding-top: 17px; border-top: 1px solid #e1e6df; }
  #gg-contacts .ggct28-phone, #gg-contacts .ggct28-mail, #gg-contacts .ggct28-messenger { font-size: 21px; }
  #gg-contacts .ggct28-connect { padding-bottom: 10px; }
  #gg-contacts .ggct28-request-grid, #gg-contacts .ggct28-details-grid { grid-template-columns: 1fr; gap: 23px; }
  #gg-contacts .ggct28-form-card, #gg-contacts .ggct28-details-card { padding: 18px; }
  #gg-contacts .ggct28-form-card .ggform491-row { flex-direction: column !important; gap: 0 !important; }
  #gg-contacts .ggct28-form-card .ggform491-input, #gg-contacts .ggct28-form-card .ggform491-textarea { font-size: 16px !important; }
  #gg-contacts .ggct28-details-actions .ggspb28-button { width: 100%; }
  #gg-contacts .ggct28-quick-links { font-size: 11px; gap: 11px 18px; }
  #gg-contacts .ggct28-copy { width: 34px; height: 38px; }
}
