.bookDemo {position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 3; background: rgba(0,0,0,.5); display: none;}
.bookDemo.show {display: block; z-index: 100;}
.bookDemo .close {position: absolute; top: 0; right: 0; font-size: 20px; display: block; width: 40px; line-height: 40px; text-align: center; cursor: pointer; background: #fff;}
.bookDemo .close:hover {background: #526cf4; color: #fff;}
.bookDemo h4 {font-size: 20px; margin-bottom: 12px;}
.bookDemo .inner {width: 90%; max-width: 400px; background: #fff; padding: 40px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); border-radius: 20px;}
.bookDemo .inner .field {margin-bottom: 12px;}
.bookDemo .inner .field label {display: block; margin-bottom: 4px;}
.bookDemo .inner .field input[type=text], .bookDemo .inner .field input[type=number] {display: block; height: 40px; padding: 0 8px; width: 100%; border: 1px solid #000;}
.bookDemo .inner .submit input[type=submit] {display: block; height: 40px; padding: 0 8px; width: 100%; border: 0; background: #526cf4; color: #fff;}

/* Video Popup Modal Styles */
.videoPopup { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 99999; background-color: rgba(8, 0, 60, 0.7); /* Deep dark blue overlay matched to theme color #08003c */ backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: opacity 0.4s ease, visibility 0.4s ease;}
.videoPopup.show { opacity: 1; visibility: visible;}
.videoPopup .inner { position: relative; width: 90%; max-width: 850px; background: #000; border-radius: 16px; box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5); overflow: hidden; transform: scale(0.8); transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); border: 1px solid rgba(255, 255, 255, 0.1);}
.videoPopup.show .inner { transform: scale(1);}
.videoPopup .close { position: absolute; top: 15px; right: 20px; font-size: 36px; color: rgba(255, 255, 255, 0.7); cursor: pointer; z-index: 10; transition: color 0.2s ease, transform 0.2s ease; line-height: 1; font-weight: 300;}
.videoPopup .close:hover { color: #ed312f; /* Red from theme */ transform: scale(1.1);}
.videoPopup .videoWrapper { position: relative; padding-top: 56.25%; /* 16:9 Aspect Ratio */ height: 0;}
.videoPopup .videoWrapper video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: contain; border-radius: 0 0 16px 16px;}


/* Mobile Navigation Menu */
@media (max-width: 767px) {
  header.open .mobile-menu {display: flex;}
  header .mobile-menu {
    display: none;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    padding-top: 0;
    padding-bottom: 0;
    transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s ease, padding 0.35s ease;
  }
  header.open .mobile-menu {
    max-height: 350px;
    opacity: 1;
    padding-top: 16px;
    padding-bottom: 16px;
  }
}
@media (max-width: 420px) {
  .bookDemoBtn {padding-left: .5rem !important; padding-right: .5rem !important;}
}