.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);display:flex;justify-content:center;z-index:10000;animation:modalFadeIn .2s ease-out;box-sizing:border-box}.modal-overlay.modal-scroll-outside{flex-direction:column;align-items:center;justify-content:flex-start;overflow-y:auto;padding:40px 20px}.modal-overlay.modal-scroll-outside .modal-container{margin:auto;height:auto;max-height:none;overflow:visible;flex-shrink:0}.modal-overlay.modal-scroll-outside .modal-content{overflow:visible}.modal-overlay.modal-scroll-outside .modal-content>:first-child{overflow:visible;height:auto;max-height:none}.modal-overlay.modal-scroll-inside{align-items:center;overflow:hidden;padding:20px}.modal-overlay.modal-scroll-inside .modal-container{max-height:90vh;display:flex;flex-direction:column}.modal-overlay.modal-scroll-inside .modal-content{overflow:hidden;display:flex;flex-direction:column;flex:1;min-height:0}.modal-overlay.modal-scroll-inside .modal-content>:first-child{overflow-y:auto;overflow-x:hidden}.modal-container{position:relative;background:transparent;border-radius:12px}.modal-overlay--above-poster{z-index:10001}.modal-overlay.modal-dialog-mode{align-items:flex-end;background:transparent;backdrop-filter:none;padding-bottom:40px;overflow:hidden}.modal-container.modal-small{max-width:400px;width:90%}.modal-container.modal-medium{max-width:600px;width:90%}.modal-container.modal-large{max-width:900px;width:95%}.modal-container.modal-full{width:98%;max-width:1400px}.modal-close{position:absolute;top:10px;right:10px;background:#fff;border:1px solid #ddd;font-size:24px;line-height:1;cursor:pointer;color:#333;z-index:110;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.15)}.modal-close:hover{background:#F58220;color:#fff;border-color:#F58220;transform:scale(1.1)}.modal-content{width:100%;position:relative}.modal-content>:first-child{background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.1)}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.program-detail-modal .modal-content{padding:0}.program-detail-modal .modal-container{background:transparent;box-shadow:none}