.cms-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0.5);display:flex;justify-content:center;align-items:center;z-index:10000;opacity:0;visibility:hidden;transition:opacity 0.3s ease, visibility 0.3s ease}.cms-modal-overlay.show{opacity:1;visibility:visible;backdrop-filter:blur(4px)}.cms-modal-overlay .cms-modal{background:white;border-radius:8px;box-shadow:0 10px 25px rgba(0,0,0,0.2);max-width:90vw;max-height:90vh;width:auto;min-width:300px;transform:scale(0.9) translateY(-20px);transition:transform 0.3s ease;overflow:hidden;position:relative}.cms-modal-overlay.show .cms-modal{transform:scale(1) translateY(0)}.cms-modal-overlay .cms-modal .cms-modal-content{display:flex;flex-direction:column;max-height:90vh;width:100%}.cms-modal-overlay .cms-modal .cms-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #ddd;background-color:#f8f8f8;flex-shrink:0}.cms-modal-overlay .cms-modal .cms-modal-header.hidden{display:none}.cms-modal-overlay .cms-modal .cms-modal-header-content{flex:1;font-size:18px;font-weight:600;color:#000;margin:0;padding:0;line-height:1.4}.cms-modal-overlay .cms-modal .cms-modal-close-btn{background:none;border:none;font-size:24px;font-weight:400;color:#000;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color 0.2s ease, color 0.2s ease;flex-shrink:0}.cms-modal-overlay .cms-modal .cms-modal-close-btn:hover{background-color:#f0f0f0;color:#000}.cms-modal-overlay .cms-modal .cms-modal-close-btn:focus{outline:2px solid #000;outline-offset:2px}.cms-modal-overlay .cms-modal .cms-modal-close-btn:active{background-color:#e0e0e0}.cms-modal-overlay .cms-modal .cms-modal-body{flex:1;padding:24px;overflow-y:auto;overflow-x:hidden}.cms-modal-overlay .cms-modal.alert-modal .cms-modal-body{text-align:center}.cms-modal-overlay .cms-modal.confirm-modal .cms-modal-body{text-align:left}.cms-modal-overlay .cms-modal .modal-btn-cancel,.cms-modal-overlay .cms-modal .modal-btn-confirm{font-family:inherit;font-size:14px;border-radius:4px;cursor:pointer;transition:all 0.2s ease}.cms-modal-overlay .cms-modal .modal-btn-cancel:hover{background-color:#f0f0f0 !important;border-color:#ccc !important}.cms-modal-overlay .cms-modal .modal-btn-confirm:hover{background-color:#333 !important}.cms-modal-overlay .cms-modal .modal-btn-cancel:focus,.cms-modal-overlay .cms-modal .modal-btn-confirm:focus{outline:2px solid #000;outline-offset:2px}@media (max-width: 992px){.cms-modal-overlay .cms-modal{max-width:95vw;margin:10px}.cms-modal-overlay .cms-modal .cms-modal-header{padding:18px 20px}.cms-modal-overlay .cms-modal .cms-modal-body{padding:20px}}@media (max-width: 768px){.cms-modal-overlay .cms-modal{width:100vw !important;max-width:100vw !important;min-width:unset !important;margin:0;border-radius:0;height:100vh;max-height:100vh}.cms-modal-overlay .cms-modal .cms-modal-content{height:100vh;max-height:100vh}.cms-modal-overlay .cms-modal .cms-modal-header{padding:16px 20px;border-radius:0}.cms-modal-overlay .cms-modal .cms-modal-body{padding:20px;flex:1}.cms-modal-overlay .cms-modal .cms-modal-header-content{font-size:16px}.cms-modal-overlay .cms-modal .cms-modal-close-btn{width:32px;height:32px;font-size:26px}}@media (max-width: 768px){.cms-modal-overlay .cms-modal{transform:translateY(100%)}.cms-modal-overlay.show .cms-modal{transform:translateY(0)}}@media (max-width: 480px){.cms-modal-overlay .cms-modal .cms-modal-header{padding:14px 16px}.cms-modal-overlay .cms-modal .cms-modal-body{padding:16px}.cms-modal-overlay .cms-modal .cms-modal-header-content{font-size:15px}}@media (prefers-reduced-motion: reduce){.cms-modal-overlay,.cms-modal-overlay .cms-modal,.cms-modal-overlay .cms-modal .cms-modal-close-btn{transition:none}}@media (prefers-contrast: high){.cms-modal-overlay{background-color:rgba(0,0,0,0.8)}.cms-modal-overlay .cms-modal{border:2px solid #000}.cms-modal-overlay .cms-modal .cms-modal-header{border-bottom:2px solid #000}.cms-modal-overlay .cms-modal .cms-modal-close-btn{border:1px solid #000}}@media print{.cms-modal-overlay{display:none !important}}.cms-modal-overlay .cms-modal:focus{outline:none}.cms-modal-overlay .cms-modal [tabindex="-1"]:focus{outline:none}.cms-modal-overlay .cms-modal .cms-modal-body::-webkit-scrollbar{width:6px}.cms-modal-overlay .cms-modal .cms-modal-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.cms-modal-overlay .cms-modal .cms-modal-body::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.cms-modal-overlay .cms-modal .cms-modal-body::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.cms-modal-overlay .cms-modal.loading::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,0.8);display:flex;align-items:center;justify-content:center;z-index:1}.cms-modal-overlay .cms-modal.loading::after{content:'';position:absolute;top:50%;left:50%;width:32px;height:32px;margin:-16px 0 0 -16px;border:3px solid #f0f0f0;border-top:3px solid #000;border-radius:50%;animation:spin 1s linear infinite;z-index:2}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.cms-modal-overlay .cms-modal.modal-sm{width:300px}.cms-modal-overlay .cms-modal.modal-md{width:500px}.cms-modal-overlay .cms-modal.modal-lg{width:800px}.cms-modal-overlay .cms-modal.modal-xl{width:1140px}.cms-modal-overlay .cms-modal.modal-full{width:95vw;height:95vh}.cms-modal-overlay .cms-modal.modal-full .cms-modal-content{height:100%}body.cms-modal-open{overflow:hidden;padding-right:15px}
