/* myPractice popups (free Elementor). */
.mpw-popup { width: min(var(--mpw-popup-width, 640px), calc(100vw - 32px)); max-width: none; height: var(--mpw-popup-height, auto); max-height: calc(100vh - 40px); padding: 0; border: 0; border-radius: var(--mpw-popup-radius, 12px); background: var(--mpw-popup-bg, #fff); color: inherit; overflow: auto; box-shadow: 0 20px 60px rgba(0, 0, 0, .25); }
.mpw-popup::backdrop { background: var(--mpw-popup-overlay, rgba(0, 0, 0, .6)); }
.mpw-popup[open] { animation: mpw-popup-in .25s ease-out; }
.mpw-popup__body > .elementor { width: 100%; }
/* Specific enough to win over Elementor's Theme Style for buttons. */
dialog.mpw-popup > button.mpw-popup__close { position: absolute; top: 8px; right: 10px; z-index: 5; width: 36px; height: 36px; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; box-shadow: none; color: var(--mpw-popup-close, #333); font: 400 30px/36px sans-serif; letter-spacing: 0; cursor: pointer; }
dialog.mpw-popup > button.mpw-popup__close:hover, dialog.mpw-popup > button.mpw-popup__close:focus { background: transparent; color: var(--mpw-popup-close, #333); opacity: .7; }
/* Side panels (e.g. a mobile menu). */
.mpw-popup--left, .mpw-popup--right { height: 100vh; max-height: 100vh; margin: 0; border-radius: 0; inset: 0 auto 0 0; }
.mpw-popup--right { inset: 0 0 0 auto; }
.mpw-popup--left[open] { animation-name: mpw-popup-left; }
.mpw-popup--right[open] { animation-name: mpw-popup-right; }
html.mpw-popup-open { overflow: hidden; }
@media (max-width: 767px) {
	.mpw-popup { width: min(var(--mpw-popup-width-mobile, calc(100vw - 24px)), calc(100vw - 24px)); height: var(--mpw-popup-height-mobile, var(--mpw-popup-height, auto)); }
	.mpw-popup--left, .mpw-popup--right { height: 100vh; }
}
@keyframes mpw-popup-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes mpw-popup-left { from { transform: translateX(-100%); } to { transform: none; } }
@keyframes mpw-popup-right { from { transform: translateX(100%); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) { .mpw-popup[open] { animation: none; } }
