/* MedGyd frontend theme. Keep UM's validation, visibility and icon fonts intact. */
.um.um { --md-um-ink:#182a48; --md-um-muted:#637187; --md-um-blue:#087fc5; --md-um-red:#fe5252; --md-um-line:#e1e8f0; color:var(--md-um-ink); font-family:Montserrat,sans-serif; font-size:14px; line-height:1.65; max-width:100%; }
.um.um :is(.um-form,.um-field,.um-field-area,.um-account-main,.um-account-side,.um-account-tab) { box-sizing:border-box; min-width:0; }
.um.um :is(.um-field-label label,.um-field-checkbox-option,.um-field-radio-option,.um-field-value,.um-field-block,.um-account-title,.um-account-name a,.um-button) { font-family:Montserrat,sans-serif!important; }
.um.um :is(.um-field-label label,.um-field-label) { color:var(--md-um-ink)!important; font-size:13px!important; line-height:1.5!important; font-weight:600; }
.um.um .um-field-label { margin-bottom:7px; }
.um.um .um-field { padding-top:18px; }
.um.um .um-field-area :is(input:where(:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=file]):not([type=range]):not([type=color])),textarea,select) {
 box-sizing:border-box!important; width:100%; max-width:100%; min-width:0; height:46px!important; min-height:46px; margin:0; padding:11px 13px!important; border:1px solid #d8e2ed!important; border-radius:12px!important; background:#f8fafc!important; color:var(--md-um-ink)!important; font:400 14px/1.5 Montserrat,sans-serif!important; box-shadow:none!important; transition:border-color .2s,box-shadow .2s,background-color .2s;
}
.um.um .um-field-area textarea { height:auto!important; min-height:130px; resize:vertical; }
.um.um .um-field-area :is(input,textarea)::placeholder { color:#8b98ac; opacity:1; }
.um.um .um-field-area :is(input,textarea,select):focus { border-color:var(--md-um-blue)!important; background:#fff!important; box-shadow:0 0 0 3px rgb(8 127 197 / 12%)!important; outline:0; }
.um.um .um-field-area input.um-iconed { padding-left:44px!important; }
.um.um .um-field-area-password input { padding-right:44px!important; }
.um.um :is(.um-field-icon,.um-toggle-password,.um-field-label-icon) { color:var(--md-um-blue); }
.um.um .um-field-icon { top:0; height:46px; line-height:46px; }
.um.um .um-toggle-password { width:44px; height:46px; line-height:46px; }
.um.um .um-field-area :is(input,textarea,select):disabled { opacity:.6; cursor:not-allowed; }
.um.um .um-field-area :is(input,textarea)[readonly] { background:#edf2f7!important; }
.um.um .um-field-area input[type=file] { max-width:100%; padding:8px; border:1px solid var(--md-um-line); border-radius:12px; background:#f8fafc; color:var(--md-um-muted); font-family:inherit; }
.um.um .um-field-area input[type=file]::file-selector-button { padding:8px 12px; margin-right:10px; border:0; border-radius:8px; background:#edf5ff; color:var(--md-um-blue); font-family:inherit; cursor:pointer; }
.um.um :is(.um-field-checkbox-option,.um-field-radio-option) { color:var(--md-um-muted)!important; font-size:13px; line-height:1.6; }
.um.um :is(.um-field-checkbox-state,.um-field-radio-state) i { color:#a8bbce; }
.um.um :is(.um-field-checkbox.active,.um-field-radio.active) i { color:var(--md-um-blue)!important; }
.um.um :is(input[type=checkbox],input[type=radio]) { accent-color:var(--md-um-blue); }
.um.um :is(.um-field-checkbox,.um-field-radio):focus-within { outline:2px solid var(--md-um-blue); outline-offset:3px; border-radius:4px; }
/* UM uses Select2 as well as native selects; do not replace its behavior. */
.um.um .um-field .select2-container { max-width:100%; }
.um.um .um-field .select2-container .select2-selection { min-height:46px!important; border:1px solid #d8e2ed!important; border-radius:12px!important; background:#f8fafc!important; font:400 14px/1.5 Montserrat,sans-serif!important; box-shadow:none; }
.um.um .um-field .select2-container .select2-selection--single { height:46px!important; }
.um.um .um-field .select2-container .select2-selection__rendered { color:var(--md-um-ink)!important; line-height:44px!important; }
.um.um .um-field .select2-container .select2-selection--multiple .select2-selection__rendered { line-height:1.5!important; }
.um.um .um-field .select2-container .select2-selection__choice { border:1px solid #cce4f4!important; border-radius:8px!important; background:#edf5ff!important; color:#075b91!important; }
.um.um .um-field .select2-container .select2-selection__arrow { top:0!important; height:44px!important; }
.um.um .um-field .select2-container--focus .select2-selection { border-color:var(--md-um-blue)!important; box-shadow:0 0 0 3px rgb(8 127 197 / 12%); }
/* Specificity overrides UM's generated form colors without changing unrelated buttons. */
.um.um :is(a.um-button,input.um-button,button.um-button,.um-request-button,.um-upload-button) { box-sizing:border-box!important; min-height:46px; height:auto!important; padding:12px 18px!important; border:1px solid transparent!important; border-radius:12px!important; background:var(--md-um-blue)!important; color:#fff!important; -webkit-text-fill-color:currentColor; font-size:14px!important; font-weight:600!important; line-height:1.5!important; text-decoration:none!important; white-space:normal; box-shadow:none!important; transition:background-color .2s,border-color .2s,color .2s; }
.um.um :is(a.um-button,input.um-button,button.um-button).um-alt { background:#edf5ff!important; color:#075b91!important; border-color:#d5e8f6!important; }
.um.um :is(a.um-button,input.um-button,button.um-button,.um-request-button,.um-upload-button):hover:not(:disabled) { background:var(--md-um-red)!important; border-color:var(--md-um-red)!important; color:#fff!important; }
.um.um :is(a.um-button,input.um-button,button.um-button):disabled { opacity:.55; cursor:not-allowed; }
.um.um :is(a.um-button,input.um-button,button.um-button):focus-visible,.um.um a:focus-visible { outline:2px solid var(--md-um-blue)!important; outline-offset:3px; }
.um.um :is(a.um-link,.um-account-name a,.um-account-profile-link a,.um-field-value a) { color:var(--md-um-blue)!important; text-decoration:none; transition:color .2s; }
.um.um :is(a.um-link,.um-account-name a,.um-account-profile-link a,.um-field-value a):hover { color:var(--md-um-red)!important; text-decoration:underline!important; }
.um.um :is(.um-col-alt,.um-col-alt-b) { margin-top:20px; }
.um.um .um-field-error { padding:10px 13px; border:1px solid #f5c9c9; border-radius:10px; background:#fff1f1!important; color:#b33434!important; font-size:12px; line-height:1.6; }
.um.um .um-field-error a { color:#b33434!important; }
.um.um .um-field-error .um-field-arrow { color:#fff1f1!important; }
.um.um .um-field-area :is(input,textarea,select).um-error { border-color:#df7474!important; }
.um.um :is(.um-notice,.um-field-success) { box-sizing:border-box; padding:12px 16px!important; border:1px solid #cce4f4; border-radius:12px; background:#edf5ff!important; color:#075b91!important; font-size:13px; line-height:1.6; }
.um.um .um-notice.err { border-color:#f5c9c9; background:#fff1f1!important; color:#b33434!important; }
/* Login, registration and password recovery use a single card. */
.um.um:is(.um-login,.um-register,.um-password) .um-form { padding:28px; border:1px solid var(--md-um-line); border-radius:20px; background:#fff; box-shadow:0 6px 24px rgb(24 42 72 / 6%); }
.um.um:is(.um-login,.um-register,.um-password) .um-form :is(h2,h3) { margin:0 0 16px; color:var(--md-um-ink); font-family:inherit; font-weight:700; line-height:1.4; }
/* Account: preserve native tabs and their mobile accordion. */
.um.um-account { width:100%!important; max-width:100%!important; }
.um.um-account>.um-form { width:100%; max-width:none!important; }
.um.um-account>.um-form>form { width:100%!important; max-width:none!important; }
.um.um-account .um-account-side { width:28%; padding:20px; border:1px solid var(--md-um-line); border-radius:20px; background:#fff; box-shadow:0 6px 24px rgb(24 42 72 / 6%); }
.um.um-account .um-account-main { width:72%; max-width:none!important; padding:0 0 0 24px; }
.um.um-account .um-account-side li { margin-bottom:6px!important; border-radius:12px; background:transparent; }
.um.um-account .um-account-side li a { box-sizing:border-box; height:auto; min-height:46px; padding:12px 34px 12px 40px; border-radius:12px; color:var(--md-um-muted)!important; font-size:13px; line-height:1.6; transition:background-color .2s,color .2s; }
.um.um-account .um-account-side li a.current { background:#edf5ff; color:var(--md-um-blue)!important; font-weight:600; }
.um.um-account .um-account-side li a:hover { background:#fff1f1; color:#c63535!important; }
.um.um-account .um-account-side :is(.um-account-icon,.um-account-icontip) { position:absolute; left:12px; top:12px; color:var(--md-um-blue)!important; }
.um.um-account .um-account-side li a .um-account-arrow { top:12px; right:10px; font-size:20px; }
.um.um-account .um-account-meta img { border-radius:50%; max-width:100%; }
.um.um-account .um-account-tab { padding:24px; border:1px solid var(--md-um-line); border-radius:20px; background:#fff; box-shadow:0 6px 24px rgb(24 42 72 / 6%); }
.um.um-account .um-account-main { width:100%!important; max-width:none!important; min-width:0; }
.um.um-account :is(.um-account-tab-general,.um-account-tab-password) { box-sizing:border-box!important; width:100%!important; max-width:none!important; margin-left:0!important; margin-right:0!important; }
.um.um-account :is(.um-account-tab-general,.um-account-tab-password) :is(.um-row,.um-col-1) { box-sizing:border-box; width:100%!important; max-width:none!important; }
/* Elementor already supplies the surrounding profile card. Keep only its inner cards. */
.um.um-account .um-account-tab-medgyd_doctor { width:100%!important; max-width:none!important; padding:0!important; border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; }
.um.um-account .um-account-heading { margin:0 0 16px!important; padding-bottom:16px; border-bottom:1px solid var(--md-um-line); color:var(--md-um-ink)!important; font-family:Montserrat,sans-serif!important; font-size:18px!important; font-weight:700; line-height:1.5!important; }
.um.um-account .um-account-heading i { color:var(--md-um-blue); }
.um.um-account .um-account-nav a { height:auto; min-height:46px; padding:12px 36px 12px 42px; border:1px solid var(--md-um-line)!important; border-radius:12px; background:#fff; color:var(--md-um-ink)!important; line-height:1.5; }
.um.um-account .um-account-nav a.current { background:#edf5ff; color:var(--md-um-blue)!important; }
.um.um-account .um-account-nav span.ico { left:12px; top:12px; color:var(--md-um-blue); }
.um.um-account .um-account-nav span.arr { right:12px; top:10px; }
/* Override UM's broad account paragraph margins inside our existing components. */
.um.um-account #medgyd-portal p { margin:0 0 14px!important; }
.um.um-account #medgyd-portal { width:100%; max-width:none; }
.um.um-account .medgyd-reviews-panel { width:100%; max-width:100%; border-color:var(--md-um-line); border-radius:20px; background:#fff; box-sizing:border-box; box-shadow:0 6px 24px rgb(24 42 72 / 6%); }
.um.um-account .medgyd-reviews-heading h2 { color:var(--md-um-ink); font-size:20px; }
.um.um-account .medgyd-review-stars { color:var(--md-um-blue); }
.um.um-account .medgyd-review-reply button { border:0; border-radius:12px; background:var(--md-um-blue); color:#fff; }
.um.um-account .medgyd-review-reply button:hover { background:var(--md-um-red); }
/* Profile editing fields share the form theme; public profile layout stays native. */
.um.um-profile.um-editing :is(.um-profile-body,.um-profile-note) { border-radius:20px; background:#fff; }
/* UM switches these classes by component width, not by viewport width.
   Keep text navigation above the mobile breakpoint, including narrow Elementor columns. */
@media(min-width:768px) {
 .um.um-account>.um-form>form { display:grid; grid-template-columns:clamp(220px,26%,280px) minmax(0,1fr); align-items:start; gap:24px; width:100%!important; max-width:none!important; margin:0!important; }
 .um.um-account>.um-form>form>.um-account-side { grid-column:1; }
 .um.um-account>.um-form>form>.um-account-main { grid-column:2; }
 .um.um-account>.um-form>form>:not(.um-account-side):not(.um-account-main) { grid-column:1/-1; }
 .um.um-account>.um-form>form>.um-clear { display:none; }
 .um.um-account :is(.um-account-side,.um-account-main) { float:none!important; width:100%!important; max-width:none!important; margin:0!important; }
 .um.um-account .um-account-main { padding:0!important; }
 .um.um-account .um-account-side :is(.um-account-title,.um-account-icon,.um-account-name,.um-account-meta-img) { display:block!important; }
 .um.um-account .um-account-side :is(.um-account-icontip,.um-account-meta-img-b) { display:none!important; }
 .um.um-account .um-account-side ul { border:0!important; }
 .um.um-account .um-account-side li a { display:grid!important; grid-template-columns:24px minmax(0,1fr) 12px; align-items:center; gap:10px; height:auto!important; min-height:46px; padding:12px!important; border-radius:12px!important; text-align:left; line-height:1.5; }
 .um.um-account .um-account-side li a .um-account-icon { position:static!important; float:none!important; box-sizing:border-box!important; width:24px!important; height:auto!important; margin:0!important; padding:0!important; border:0!important; line-height:1.5!important; }
 .um.um-account .um-account-side li a .um-account-icon i { height:auto!important; line-height:1.5!important; }
 .um.um-account .um-account-side li a .um-account-title { position:static!important; float:none!important; width:auto!important; min-width:0; height:auto!important; border:0!important; margin:0!important; padding:0!important; color:inherit!important; font-size:13px!important; line-height:1.5!important; white-space:normal!important; word-break:normal!important; overflow-wrap:normal!important; }
 .um.um-account .um-account-side li a .um-account-arrow { display:block!important; position:static!important; float:none!important; width:auto!important; margin:0!important; font-size:18px; line-height:1.5; }
 .um.um-account .um-account-meta a { border:0!important; }
}
@media(max-width:767px) {
 .um.um:is(.um-login,.um-register,.um-password) .um-form { padding:20px 16px; }
 .um.um-account .um-account-side { display:none!important; }
 .um.um-account .um-account-main { float:none; width:100%!important; padding:0!important; }
 .um.um-account .um-account-nav { display:block!important; margin-bottom:10px; }
 .um.um-account .um-account-tab { padding:20px 16px; margin-bottom:16px; }
 .um.um-account>.um-form>form>.um-account-meta { display:block!important; }
 .um.um-account .um-account-heading { font-size:16px!important; }
 .um.um .um-field-area :is(input,textarea,select),.um.um .um-field .select2-container .select2-selection { font-size:16px!important; }
 .um.um .um-field-error { overflow-wrap:anywhere; }
 .um.um:is(.um-login,.um-register,.um-password) .um-col-alt :is(.um-left,.um-right) { float:none; width:100%; margin-bottom:10px; }
}
@media(prefers-reduced-motion:reduce) { .um.um :is(input,textarea,select,a,.um-button) { transition:none!important; } }
