
/* Native Bitrix form layer; shared with inline and modal templates. */
.impl-native-form [hidden], .impl-native-form[hidden], .impl-modal [hidden] { display: none !important; }
.impl-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip-path: inset(50%); }
.impl-modal-overlay { position: fixed; inset: 0; z-index: 10020; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgb(0 0 0 / 55%); }
.impl-modal { position: relative; width: min(620px,100%); max-height: calc(100dvh - 48px); overflow: auto; overscroll-behavior: contain; border-radius: 16px; background: white; box-shadow: 0 12px 48px #0004; padding: 42px 32px 30px; color: #333638; }
.impl-modal-close { position: absolute; top: 8px; right: 12px; z-index: 1; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #edf0f4; color: #555; font: 30px/32px sans-serif; cursor: pointer; }
.impl-native-form .impl-form { width: 100%; max-width: none; margin: 0; }
.impl-native-form h2 { margin: 0 0 16px; }
.impl-native-form h3 { margin: 24px 0 16px; }
.impl-native-form .impl-fields { display: grid; grid-template-columns: 1fr; gap: 16px; padding: 20px 0; }
.impl-native-form .impl-field { position: relative; display: block; margin: 0 !important; width: 100% !important; max-width: none !important; }
.impl-native-form .impl-field > span { display: block; position: static !important; visibility: visible !important; opacity: 1 !important; font-size: 13px !important; line-height: 1.4 !important; color: #555; margin: 0 0 6px; order: -1; }
.impl-native-form .impl-field { display: flex; flex-direction: column; }
.impl-native-form .impl-field input, .impl-native-form .impl-field select, .impl-native-form .impl-field textarea { box-sizing: border-box; position: static; display: block; width: 100%; max-width: 100%; min-width: 0; margin: 0; padding: 12px; border: 1px solid #c9cdd2; background: #fff; color: #333638; border-radius: 5px; font: inherit; min-height: 46px; box-shadow: none; }
.impl-native-form .impl-field input[readonly] { background: #f1f3f6; }
.impl-native-form .impl-field textarea { min-height: 120px; resize: vertical; }
.impl-native-form input:focus, .impl-native-form select:focus, .impl-native-form textarea:focus { outline: 2px solid #782f40; outline-offset: 1px; }
.impl-native-form .impl-check { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; line-height: 1.5; cursor: pointer; margin: 8px 0 20px; }
.impl-native-form .impl-check input, .impl-native-form .impl-years input { position: static !important; appearance: auto; display: inline-block !important; visibility: visible !important; width: 18px !important; height: 18px; min-height: 18px; flex: 0 0 18px; margin: 1px 0 0; accent-color: #782f40; }
.impl-native-form .submit_wrapper { display: flex; flex-direction: column; align-items: flex-start; width: 100%; }
.impl-native-form .submit_wrapper button { max-width: 280px; width: 100%; margin: 0; }
.impl-native-form .submit_wrapper button:disabled { opacity: .6; cursor: wait; }
.impl-native-form .impl-form-errors { border: 1px solid #b30028; color: #9d0022; background: #fff0f3; border-radius: 6px; padding: 12px 16px; margin: 12px 0; }
.impl-native-form .impl-form-errors ul { margin: 0; padding-left: 18px; }
.impl-native-form [aria-invalid=true] { border-color: #b30028 !important; }
.impl-native-form .impl-form-success { text-align: center; padding: 24px 0; }
.impl-native-form .impl-form-success p { margin: 16px 0 24px; }
.impl-native-form .impl-years { border: 1px solid #c9cdd2; padding: 12px; border-radius: 6px; }
.impl-native-form .impl-years label { display: inline-flex; align-items: center; gap: 6px; margin: 6px 16px 6px 0; }
.impl-native-form .impl-years legend { font-size: 13px; padding: 0 4px; }
@media(min-width:768px) { .impl-native-form.impl-form-nalog .impl-fields { grid-template-columns: repeat(2,minmax(0,1fr)); } .impl-native-form.impl-form-nalog .impl-fields > h3, .impl-native-form.impl-form-nalog .impl-years, .impl-native-form.impl-form-nalog .impl-check, .impl-native-form.impl-form-nalog .impl-textarea { grid-column: 1/-1; } }
@media(max-width:767px) { .impl-modal-overlay { padding: 12px; } .impl-modal { max-height: calc(100dvh - 24px); padding: 42px 20px 24px; } .impl-native-form .submit_wrapper button { max-width: none; } .impl-native-form.content_block { padding-left: 0; padding-right: 0; } }

.impl-native-form form.impl-form .impl-fields{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:none!important;grid-template-areas:none!important;grid-auto-flow:row!important;gap:16px!important;width:100%!important;min-width:0!important;margin:0!important;padding:20px 0!important;box-sizing:border-box;}
.impl-native-form .impl-fields>*{grid-area:auto!important;order:0!important;min-width:0;max-width:100%;}
@media(min-width:768px){.impl-native-form.impl-form-nalog form.impl-form .impl-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.impl-native-form.impl-form-nalog .impl-fields>h3,.impl-native-form.impl-form-nalog .impl-fields>.impl-years,.impl-native-form.impl-form-nalog .impl-fields>.impl-check,.impl-native-form.impl-form-nalog .impl-fields>.impl-textarea{grid-column:1/-1!important;}}

.impl-native-form.impl-form-inline{box-sizing:border-box;margin-top:32px;margin-bottom:40px;padding:32px;background:#f3f5f6;border-radius:8px;}
.impl-native-form .impl-field{height:auto!important;min-height:0!important;overflow:visible!important;float:none!important;transform:none!important;}
.impl-native-form .impl-field>span{white-space:normal!important;order:-1!important;}
@media(max-width:767px){.impl-native-form.impl-form-inline{padding:24px 16px!important;}}
