/* Customer request dialog; the page remains visible behind it. */
body.op-design .lead-modal {padding:20px;background:none;}
body.op-design #request.lead-modal {background:none;}
body.op-design .lead-modal__backdrop {background:rgba(12,14,18,.64);backdrop-filter:blur(2px);}
body.op-design .lead-modal__dialog {width:min(100%,660px);padding:28px;background:#22252a;color:#f4f5f7;border:1px solid #474c55;border-radius:20px;box-shadow:0 24px 80px #00000066;max-height:calc(100dvh - 40px);}
body.op-design .lead-modal__dialog h2 {color:#f4f5f7;font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1.18;margin:0 44px 10px 0;}
body.op-design .lead-modal__intro {color:#b9bec8;font-size:15px;line-height:1.45;margin:0 32px 22px 0;}
body.op-design .lead-modal__close {background:#30343b;color:#e5e7eb;border:1px solid #59606b;width:40px;height:40px;top:16px;right:16px;}
body.op-design .lead-modal__dialog .form {display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;padding:0;margin:0;background:transparent;color:#f4f5f7;}
body.op-design .lead-modal__dialog .form>label {margin:0;gap:7px;color:#f4f5f7;font-size:14px;font-weight:500;line-height:1.4;min-width:0;}
body.op-design .lead-modal__dialog .form>label:has(textarea),body.op-design .lead-modal__dialog .form>label:has([name="city"]),body.op-design .lead-modal__dialog .form>fieldset,body.op-design .lead-modal__dialog .form>.consent,body.op-design .lead-modal__dialog .form>.form__status,body.op-design .lead-modal__dialog .form>button {grid-column:1/-1;}
body.op-design .lead-modal__dialog .form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),body.op-design .lead-modal__dialog .form textarea,body.op-design .lead-modal__dialog .form select {background:#2c3037;border:1px solid #838b97;color:#fff;border-radius:10px;min-height:48px;font-size:16px;line-height:1.4;padding:11px 12px;box-shadow:none;}
body.op-design .lead-modal__dialog .form input::placeholder,body.op-design .lead-modal__dialog .form textarea::placeholder {color:#b9bec8;opacity:1;}
body.op-design .lead-modal__dialog .form input:-webkit-autofill {-webkit-text-fill-color:#fff;box-shadow:0 0 0 1000px #2c3037 inset;caret-color:#fff;}
body.op-design .lead-modal__dialog .form input:focus-visible,body.op-design .lead-modal__dialog .form textarea:focus-visible,body.op-design .lead-modal__dialog button:focus-visible {outline:3px solid #8cdba6;outline-offset:3px;}
body.op-design .lead-modal__dialog .form fieldset {margin:0;min-width:0;}
body.op-design .lead-modal__dialog .form legend {color:#f4f5f7;font-size:14px;font-weight:500;margin:0 0 8px;}
body.op-design .lead-modal__dialog .contact-methods__grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
body.op-design .lead-modal__dialog .contact-method {background:#2c3037;color:#e5e7eb;border:1px solid #838b97;font-size:14px;min-height:46px;padding:8px 6px;gap:5px;border-radius:9px;}
body.op-design .lead-modal__dialog .contact-method:has(input:checked) {background:#e7eaef;color:#22252a;border-color:#e7eaef;}
body.op-design .lead-modal__dialog .contact-method:has(input:focus-visible) {outline:3px solid #8cdba6;outline-offset:2px;}
body.op-design .contact-method__icon--outline {background:#eef0f3;color:#414751;border-radius:7px;width:24px;height:24px;}
body.op-design .contact-method__icon--outline svg {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
body.op-design .lead-modal__dialog .form .consent,body.op-design .lead-modal__dialog .form .consent a {color:#bdc2cc;font-size:12px;line-height:1.5;}
body.op-design .lead-modal__dialog .form .consent {align-items:start;gap:10px;}
body.op-design .lead-modal__dialog .form .consent input {accent-color:#12c143;width:18px;height:18px;margin:1px 0 0;}
body.op-design .lead-modal__dialog .form>button {margin:0;min-height:48px;font-size:16px;}
body.op-design .lead-modal__dialog .form__status {color:#f4e2be;margin:0;}
body.op-design .lead-modal__dialog .form__status:empty {display:none;}
.phone-error {color:#9f221c;font-size:13px;line-height:1.4;}
body.op-design .lead-modal__dialog .phone-error {color:#ffd3c1;}
body.op-design .lead-modal__dialog [hidden] {display:none!important;}
body.op-design .lead-modal__dialog .form>.consent-row,body.op-design .lead-modal__dialog .form>.op-calc-request {grid-column:1/-1;}
body.op-design .lead-modal__dialog .form .consent-row,body.op-design .lead-modal__dialog .form .consent-row a {color:#bdc2cc;font-size:12px;line-height:1.5;}
body.op-design .lead-modal__dialog .form .consent-row {align-items:start;gap:10px;}
body.op-design .lead-modal__dialog .form .consent-row input {accent-color:#12c143;width:18px;height:18px;margin:1px 0 0;}
body.op-design .lead-modal__dialog .op-calc-request {background:#2c3037;border-color:#838b97;color:#f4f5f7;}
@media(max-width:560px) {
 body.op-design .lead-modal {padding:12px;}
 body.op-design .lead-modal__dialog {padding:22px 18px;max-height:calc(100dvh - 24px);border-radius:16px;}
 body.op-design .lead-modal__dialog h2 {font-size:25px;}
 body.op-design .lead-modal__intro {font-size:14px;margin:0 16px 18px 0;}
 body.op-design .lead-modal__dialog .form {grid-template-columns:1fr;gap:14px;}
 body.op-design .lead-modal__dialog .contact-methods__grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}

body.op-design .lead-modal__dialog .contact-method__icon--outline {background:transparent;color:inherit;}
body.op-design .lead-modal__dialog .lead-modal__close:hover {background:#414751;}
body.op-design .lead-modal__dialog .contact-method:hover {border-color:#a6aeba;}
body.op-design .lead-modal__dialog .form input[type="checkbox"] {accent-color:#d8dee8;}

body.op-design .lead-modal__dialog .contact-method {position:relative;}
body.op-design .lead-modal__dialog .contact-method:has(input:checked) {box-shadow:inset 0 0 0 1px #22252a;}
body.op-design .lead-modal__dialog .contact-method:has(input:checked)::after {content:"✓" / "";position:absolute;right:4px;top:0;font-size:11px;line-height:1.3;font-weight:600;}

/* Communication choices: messengers first, call and email second. */
body.op-design .lead-modal__dialog .contact-method {justify-content:flex-start;padding:9px 14px;gap:10px;min-height:54px;font-size:15px;}
body.op-design .lead-modal__dialog .contact-method__icon {width:32px;height:32px;flex:0 0 32px;}
body.op-design .lead-modal__dialog .contact-method__icon img {width:32px;height:32px;}
body.op-design .lead-modal__dialog .contact-method__icon--phone {border-radius:10px;background:#35465c;color:#b8d6ff;}
body.op-design .lead-modal__dialog .contact-method__icon--email {border-radius:10px;background:#423d55;color:#d6c9ff;}
body.op-design .lead-modal__dialog .contact-method__icon--outline svg {width:21px;height:21px;fill:currentColor;stroke:none;}
body.op-design .lead-modal__dialog .contact-method:has(input:checked) .contact-method__icon--phone {background:#dde9fa;color:#38669e;}
body.op-design .lead-modal__dialog .contact-method:has(input:checked) .contact-method__icon--email {background:#e9e4f7;color:#66528a;}

body.op-design .form .contact-methods__grid {grid-template-columns:repeat(2,minmax(0,1fr));}
body.op-design .form .contact-method {gap:10px!important;}
body.op-design .form .contact-method__icon--max {border-radius:9px;background:transparent;}
body.op-design .form .contact-method__icon--telegram {background:transparent;}
body.op-design .contact-method__icon--phone svg,body.op-design .contact-method__icon--email svg {fill:currentColor;stroke:none;width:21px;height:21px;}

@media(max-width:360px) {body.op-design .lead-modal__dialog .contact-method {padding:8px;font-size:14px;gap:7px!important;}body.op-design .lead-modal__dialog .contact-method__icon {width:28px;height:28px;flex-basis:28px;}body.op-design .lead-modal__dialog .contact-method__icon img {width:28px;height:28px;}}
