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; }

.modal_input { margin-bottom: 20px; }
.modal_input .caption { font-size: 14px; color: var(--opdev-gray-800); margin-bottom: 8px; }
.modal_input input[type="text"] { width: 100%; padding: 10px; border: 1px solid var(--opdev-gray-400); border-radius: 6px; }


/* Simple Form Styles */
.simple_form { display: flex; flex-direction: column; }
.simple_form__label { display: block; margin-bottom: 0px; font-size: 14px; color: var(--opdev-gray-800); white-space: normal; line-height: 1.4; }
.simple_form__label div { white-space: normal; }
.simple_form__label--required { color: var(--opdev-danger); margin-left: 2px; }
.simple_form__input { width: 100%; padding: 10px; border: 1px solid var(--opdev-gray-400); border-radius: 6px; margin-bottom: 15px; font-size: 16px; }
.simple_form__checkbox-group { margin: 10px 0; }
.simple_form__checkbox-group label { display: flex; align-items: flex-start; gap: 8px; cursor: pointer; white-space: normal; font-size: 14px; color: var(--opdev-gray-700); }
.simple_form__checkbox { width: 18px; height: 18px; margin-top: 2px; flex-shrink: 0; accent-color: var(--opdev-primary); }