dialog::backdrop { background: rgba(0, 0, 0, 0.5); }
dialog{border:none;border-radius:12px;padding:2rem;width:90%;max-width:500px;box-shadow:0 10px 30px rgba(0,0,0,0.3);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;z-index:1000;}
.callback-modal-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; }
.callback-modal-header-title { margin: 0; font-size: 1.2rem; }
.callback-close-btn { background: none; border: none; font-size: 1.5rem; cursor: pointer; outline: none; }
.callback-close-btn:focus, .callback-close-btn:focus-visible { outline: none; box-shadow: none; }
.callback-label { display: block; margin: 1rem 0 0.3rem; font-weight: 500; }
.callback-input-tel, input[type="radio"] + .callback-radio-label { font-size: 1rem; }
.callback-radio-group { display: flex; flex-direction: column; gap: 0.5rem; }
.callback-radio-group .callback-label { font-weight: normal; display: flex; align-items: center; gap: 0.5rem; color: #333; }
.callback-input-tel { width: 100%; padding: 0.5rem; border: 1px solid #ccc; border-radius: 6px; }
.callback-consent { font-size: 0.85rem; margin-top: 1rem; color: #555; }
.callback-consent a { color: #0b7285; text-decoration: underline; }
.callback-submit-btn { margin-top: 1.5rem; padding: 0.6rem 1.2rem; font-size: 1rem; background: #0b7285; color: white; border: none; border-radius: 8px; cursor: pointer; }
.callback-submit-btn:hover { background: #095c6c; }