/* V21 consultation form. Isolated so existing V20 visual features remain untouched. */
.contact-dialog:has(.consult-form-v21){
  width:min(900px,calc(100vw - 20px));max-height:min(94dvh,950px);
  overflow-y:auto;overscroll-behavior:contain;padding:clamp(16px,3vw,30px);
  border-radius:25px;background:#fff;box-shadow:0 26px 90px rgba(12,38,88,.28);
}
.contact-dialog:has(.consult-form-v21) .dialog-title{margin-right:38px}
.contact-dialog:has(.consult-form-v21) .contact-info-grid{margin:14px 0}
.consult-form-v21{display:grid;gap:13px;color:#173466;font-family:inherit}
.v21-form-header{display:flex;gap:12px;align-items:center;padding:15px 18px;border-radius:18px;background:linear-gradient(110deg,#eaf4ff,#fff0f7);border:1px solid #e0ecfd}
.v21-form-header b{display:block;font-size:1.14rem;font-weight:900;color:#153c84}
.v21-form-header small{display:block;font-size:.8rem;line-height:1.5;color:#506b95;margin-top:5px}
.v21-form-icon{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#ff2072,#ff76a5);display:grid;place-items:center;color:white;font-size:22px;flex:0 0 auto}
.v21-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.v21-field{font-weight:700;font-size:.88rem;color:#18386d;display:flex;flex-direction:column;gap:7px;min-width:0}
.v21-field input,.v21-field select{border:1px solid #d6e4f7;background:#fff;color:#153466;border-radius:12px;padding:12px 13px;width:100%;min-height:46px;font:inherit;outline-offset:2px}
.v21-field input:focus,.v21-field select:focus{outline:2px solid #7eadfb;outline-offset:1px;border-color:#5894ef}
.v21-field input:disabled{background:#f3f6fa;color:#8290a9}
.v21-required{color:#f72d6f;font-weight:900}
.v21-education{margin:0;padding:12px 15px 14px;border:1px solid #e1eafa;background:linear-gradient(135deg,#fff,#f9fbff);border-radius:17px;min-width:0}
.v21-education legend{padding:0 9px;font-size:.91rem;font-weight:900;color:#15458f}
.v21-radio-caption{font-size:.87rem;font-weight:800;margin-top:10px;margin-bottom:8px}
.v21-choice-group{display:flex;gap:9px;flex-wrap:wrap}
.v21-choice{position:relative;display:inline-flex;cursor:pointer}
.v21-choice input{position:absolute;opacity:0;width:1px;height:1px}
.v21-choice span{display:block;border:1px solid #d9e7fa;background:#fff;border-radius:12px;padding:10px 13px;color:#38578c;font-weight:700;font-size:.82rem;transition:background .17s,box-shadow .17s,border-color .17s;white-space:nowrap}
.v21-choice input:checked + span{background:#eaf2ff;border-color:#4188ed;color:#1551b2;box-shadow:0 4px 12px rgba(37,105,215,.12)}
.v21-choice input:focus-visible + span{outline:3px solid #fda7c7;outline-offset:2px}
.v21-consent{font-weight:500;display:flex;gap:10px;align-items:flex-start;color:#526c96;font-size:.76rem;line-height:1.65;cursor:pointer}
.v21-consent input{width:17px;height:17px;margin-top:2px;flex:0 0 auto;accent-color:#165de6}
.v21-submit-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.v21-submit{border:none;background:linear-gradient(105deg,#f41065,#ff5695);color:#fff;border-radius:14px;padding:13px 22px;min-height:48px;font-weight:900;font-size:.89rem;cursor:pointer;box-shadow:0 10px 21px rgba(247,25,103,.2)}
.v21-submit span{margin-left:12px}
.v21-submit-row small{font-size:.76rem;color:#697d9f}
.v21-result{margin-top:12px;padding:17px;background:#f8fbff;border:1px solid #cfe0f6;border-radius:18px}
.v21-result-title{font-size:1.05rem;color:#1365bd;font-weight:900}
.v21-result p{font-size:.82rem;line-height:1.7;color:#526d9b;margin:5px 0 12px}
.v21-result textarea{box-sizing:border-box;display:block;width:100%;background:#fff;border:1px solid #dbe8f8;border-radius:12px;padding:12px;font:500 .86rem/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;min-height:160px;max-height:240px;resize:vertical;color:#153365}
.v21-result-buttons{display:flex;gap:9px;flex-wrap:wrap;margin-top:11px}
.v21-result-buttons>*{border:none;border-radius:12px;padding:11px 15px;text-decoration:none;cursor:pointer;font-weight:800;font-size:.81rem;text-align:center;font-family:inherit}
.v21-messenger{color:#fff;background:linear-gradient(115deg,#1664ea,#5a7ef3)}
.v21-email{color:#fff;background:#13946e}
.v21-copy{color:#1b59b3;background:#e9f1ff}
.v21-status{margin-top:8px;color:#1760aa;font-size:.8rem;font-weight:700}
.v21-result .v21-hint{margin:8px 0 0;font-size:.76rem;color:#6a7693}
@media(max-width:650px){
  .v21-form-grid{grid-template-columns:1fr}
  .v21-choice-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .v21-choice span{text-align:center;white-space:normal}
  .v21-submit,.v21-result-buttons>*{width:100%}
  .v21-result-buttons{display:grid;grid-template-columns:1fr}
  .contact-dialog:has(.consult-form-v21) .contact-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){.v21-choice span{transition:none}}

.v21-facebook{color:#2057ba;background:#e9f1ff;border:1px solid #cfe0ff;}
