.ovp-callback { width:min(560px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); box-sizing:border-box; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; padding:26px 38px 18px; border:1px solid #b88b3b; border-radius:18px; color:#eef1f6; background:radial-gradient(ellipse at top right,#a5742424,transparent 60%),#102139; box-shadow:0 24px 90px #0007; scrollbar-width:thin; scrollbar-color:#b88b3b66 transparent; }
.ovp-callback::backdrop { background:#07101dd6; backdrop-filter:blur(4px); }
.ovp-callback__close { position:absolute; right:12px; top:12px; display:grid; place-items:center; box-sizing:border-box; width:44px; height:44px; min-width:44px; min-height:44px; max-width:44px; max-height:44px; margin:0; padding:0; border:1px solid #d8bb8770; border-radius:50%; background:transparent; color:#fff; line-height:1; cursor:pointer; appearance:none; }
.ovp-callback__close svg { display:block; width:20px; height:20px; margin:0; pointer-events:none; }
.ovp-callback__close:hover { background:#ffffff12; border-color:#e2c087; transform:none; }

.ovp-callback__eyebrow { text-transform:uppercase; letter-spacing:2px; font-size:11px; color:#e2c087; text-align:center; margin:0 0 6px; }
.ovp-callback h2 { font:400 clamp(28px,4vw,36px)/1.12 Georgia,serif; color:#fff; text-align:center; margin:0 0 8px; }
#ovp-callback-intro { color:#c9d1df; text-align:center; font-size:14px; line-height:1.4; margin:0 0 14px; }
.ovp-callback .ovp-contacts__field { display:block; margin:0 0 9px; }
.ovp-callback .ovp-contacts__field > span:first-child { display:block; font-size:13px; margin-bottom:4px; }
.ovp-callback input[type=text],.ovp-callback input[type=tel] { width:100%; box-sizing:border-box; height:44px; padding:8px 14px; color:#fff; background:#ffffff08; border:1px solid #8290a5; border-radius:6px; font-size:16px; }
.ovp-callback input::placeholder { color:#afb9c8; opacity:1; }
.ovp-callback .ovp-contacts__consent,.ovp-callback .ovp-contacts__privacy { font-size:12px; line-height:1.4; color:#c9d1df; margin:6px 0; }
.ovp-callback a { color:#e2c087; text-underline-offset:3px; }
.ovp-callback .wpcf7-list-item { margin:0; }
.ovp-callback .wpcf7-acceptance label { display:flex; align-items:flex-start; gap:9px; }
.ovp-callback input[type=checkbox] { flex-shrink:0; width:17px; height:17px; margin-top:2px; accent-color:#b58a39; }
.ovp-callback .wpcf7-submit { width:100%; min-height:44px; background:linear-gradient(110deg,#b68b37,#9d7328); border:0; border-radius:6px; color:#fff; font-weight:600; cursor:pointer; margin-top:5px; }
.ovp-callback .wpcf7-submit:disabled { opacity:.6; cursor:wait; }
.ovp-callback .wpcf7 form > p { margin:0; }
.ovp-callback .wpcf7 form p { margin:0; }
.ovp-callback .wpcf7 input[type=checkbox] { min-height:17px; max-height:17px; height:17px; }
.ovp-callback .wpcf7 br { display:none; }
.ovp-callback .wpcf7 label { font-weight:400; }
.ovp-callback .wpcf7-acceptance label { margin:0; line-height:1.5; }
.ovp-callback .wpcf7-acceptance .wpcf7-list-item-label { min-width:0; }
.ovp-callback .wpcf7-spinner { display:none; }
.ovp-callback .submitting .wpcf7-spinner { display:block; margin:8px auto; }
.ovp-callback .wpcf7-not-valid-tip { display:block; margin-top:2px; font-size:11px; line-height:1.25; color:#ffc1b5; }
.ovp-callback .wpcf7 form .wpcf7-response-output { margin:12px 0 0; padding:10px; font-size:13px; border-radius:6px; color:#fff; }
.ovp-callback .wpcf7 form.invalid .wpcf7-response-output { display:none; }
.ovp-callback__divider { display:flex; align-items:center; gap:12px; color:#c9d1df; font-size:12px; margin:12px 0 8px; }
.ovp-callback__divider::before,.ovp-callback__divider::after { content:''; flex:1; height:1px; background:#b88b3b66; }
.ovp-callback__channels { display:flex; justify-content:center; gap:12px; }
.ovp-callback__channels > * { display:flex; flex-direction:column; align-items:center; gap:4px; width:70px; padding:6px 4px; border:1px solid #d8bb8740; border-radius:10px; text-decoration:none; font-size:10px; color:#dce2eb; }
.ovp-callback__channels img { display:block; width:32px; height:32px; object-fit:contain; }
.ovp-callback__channels a:hover { border-color:#e2c087; background:#ffffff0a; }
.ovp-callback__pending { opacity:.55; }
.ovp-callback__phone { display:block; text-align:center; font-size:14px; margin-top:10px; }
.ovp-callback :focus-visible { outline:2px solid #e2c087; outline-offset:3px; }
html:has(.ovp-callback[open]),body:has(.ovp-callback[open]) { overflow:hidden; }
@media(max-width:600px) {
 .ovp-callback { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); padding:48px 16px 14px; border-radius:14px; }
 .ovp-callback__close { top:8px; right:8px; width:40px; height:40px; min-width:40px; min-height:40px; max-width:40px; max-height:40px; }
 .ovp-callback h2 { font-size:clamp(27px,9vw,34px); }
 #ovp-callback-intro { margin-bottom:12px; font-size:13px; }
 .ovp-callback__channels { gap:6px; }
 .ovp-callback__channels > * { flex:1 1 0; min-width:0; width:auto; padding-inline:2px; }
 .ovp-callback__channels img { width:30px; height:30px; }
}

@media(max-width:380px), (max-height:700px) {
 .ovp-callback { padding-top:42px; padding-bottom:10px; }
 .ovp-callback__eyebrow { display:none; }
 .ovp-callback h2 { margin-bottom:6px; font-size:27px; }
 #ovp-callback-intro { margin-bottom:9px; line-height:1.3; }
 .ovp-callback .ovp-contacts__field { margin-bottom:6px; }
 .ovp-callback input[type=text],.ovp-callback input[type=tel] { height:40px; }
 .ovp-callback__divider { margin:8px 0 6px; }
 .ovp-callback__channels > * { padding-block:4px; }
 .ovp-callback__channels img { width:26px; height:26px; }
 .ovp-callback__phone { margin-top:7px; }
}
