/* Единый блок обратной связи для внутренних страниц. PSD: приёмка с отделкой. */
.contact-section {padding-block:clamp(40px,5.8vw,76px); background:#fff;}
.contact-panel {display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.28fr);gap:clamp(20px,2.9vw,42px);min-height:366px;padding:clamp(24px,3.5vw,46px);border-radius:24px;background:#f5f4f7;overflow:hidden;}
.contact-panel__intro {position:relative;min-width:0;min-height:260px;display:flex;flex-direction:column;align-items:flex-start;}
.contact-panel__title {margin:0;font-size:clamp(24px,2.7vw,31px);line-height:1.13;font-weight:750;letter-spacing:-.028em;color:#36383a;}
.contact-panel__description {max-width:360px;margin:14px 0 0;font-size:14px;line-height:1.55;color:#555b60;}
.contact-panel__mark {position:absolute;left:0;bottom:-46px;width:min(100%,246px);height:auto;pointer-events:none;user-select:none;}
.contact-panel__card {align-self:center;min-width:0;padding:clamp(24px,2.25vw,28px) clamp(24px,2.7vw,34px);border-radius:22px;background:#fff;}
.contact-panel__heading,.contact-panel__messenger-title {margin:0;font-weight:750;letter-spacing:-.02em;line-height:1.23;color:#37393a;}
.contact-panel__heading {font-size:clamp(20px,2vw,25px);}
.contact-panel__form {display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;margin-top:13px;}
.contact-panel__phone {position:relative;display:flex;align-items:center;min-width:0;min-height:51px;}
.contact-panel__phone svg {position:absolute;left:18px;top:50%;transform:translateY(-50%);width:23px;height:23px;fill:#9fa2a8;pointer-events:none;}
.contact-panel__phone input {width:100%;height:51px;min-width:0;border:1px solid #d6d7d9;border-radius:13px;padding:11px 13px 11px 53px;background:#fff;color:#34383b;font:500 14px Montserrat,Arial,sans-serif;}
.contact-panel__phone input::placeholder {color:#95979b;opacity:1;}
.contact-panel__phone input[aria-invalid=true] {border-color:#b34131;}
.contact-panel__phone input:focus-visible {outline:2px solid #987b87;outline-offset:2px;}
.contact-panel__submit {min-height:51px;border:0;border-radius:13px;padding:10px 18px;background:#343a3c;color:#fff;font:700 14px Montserrat,Arial,sans-serif;transition:background .2s ease;}
.contact-panel__submit:hover:not(:disabled) {background:#1e282c;}
.contact-panel__submit:disabled {background:#a4acb0;color:#fff;cursor:not-allowed;}
.contact-panel__submit:focus-visible,.contact-panel__messenger:focus-visible {outline:3px solid #a5748d;outline-offset:3px;}
.contact-panel__privacy {grid-column:1/-1;display:flex;gap:9px;align-items:flex-start;margin:0;font-size:11px;line-height:1.5;color:#4e565b;text-align:left;cursor:pointer;}
.contact-panel__privacy input {width:17px;height:17px;flex:none;margin:0;accent-color:#343d42;cursor:pointer;}
.contact-panel__privacy a {text-underline-offset:2px;color:#354650;}
.contact-panel__privacy input:focus-visible,.contact-panel__privacy a:focus-visible {outline:2px solid #436e89;outline-offset:2px;}
.contact-panel__status {margin:0;color:#9a312d;font-size:12px;line-height:1.45;}
.contact-panel__status:not(:empty) {margin-top:8px;}
.contact-panel__messenger-title {margin-top:17px;font-size:clamp(17px,1.8vw,22px);}
.contact-panel__messengers {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:13px;}
.contact-panel__messenger {min-width:0;min-height:48px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #e2e3e6;border-radius:12px;text-decoration:none;color:#303639;background:#fff;box-shadow:0 1px 3px #27272b0b;font-size:12px;font-weight:700;transition:border-color .2s ease,background .2s ease;}
.contact-panel__messenger:hover {border-color:#c3b7c2;background:#faf9fb;}
.contact-panel__messenger img {width:24px;height:24px;object-fit:contain;}
.contact-panel .visually-hidden {position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;padding:0;margin:-1px;border:0;}
@media(max-width:970px) {
  .contact-panel {grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:18px;padding:30px;}
  .contact-panel__intro {min-height:260px;}
  .contact-panel__card {padding:22px;}
  .contact-panel__form {grid-template-columns:minmax(0,1fr);gap:10px;}
  .contact-panel__messengers {gap:8px;}
  .contact-panel__messenger {gap:5px;font-size:11px;}
  .contact-panel__messenger img {width:20px;height:20px;}
}
@media(max-width:700px) {
  .contact-section {padding-block:35px;}
  .contact-panel {grid-template-columns:1fr;gap:22px;padding:24px 16px 17px;border-radius:20px;}
  .contact-panel__intro {min-height:132px;}
  .contact-panel__title {font-size:clamp(24px,6.2vw,30px);}
  .contact-panel__description {max-width:350px;font-size:13px;margin-top:12px;}
  .contact-panel__mark {width:150px;left:auto;right:-16px;bottom:-22px;opacity:.24;}
  .contact-panel__card {padding:24px 16px;border-radius:16px;}
  .contact-panel__heading {font-size:20px;}
  .contact-panel__messenger-title {font-size:18px;margin-top:20px;}
  .contact-panel__messenger {min-height:46px;}
}
@media(max-width:370px) {
  .contact-panel__messenger {flex-direction:column;gap:3px;padding:7px 2px;font-size:10px;}
}
@media(prefers-reduced-motion:reduce){.contact-panel__submit,.contact-panel__messenger {transition:none;}}

/* Page-specific ACF contact intro may be empty: avoid an unused grid column. */
.contact-panel--no-intro {grid-template-columns:minmax(0,1fr);min-height:0;}
.contact-panel--no-intro .contact-panel__card {width:100%;max-width:760px;justify-self:center;}
