/* ==========================================================================
   Vivitsu: header / footer support styles for the redesigned Home and Shop.
   These blocks are copied unchanged from the original index.php and sem.php,
   which carried them inline. Without them the phone sidebar, header
   dropdowns, coupon pop-up, "NEW" badge and footer lose their styling.
   ========================================================================== */
/* stop the page scrolling sideways on phones (the original pages did this with overflow-x:hidden) */
html,body{overflow-x:clip}
/* from original sem.php line 91 */
.dropdown-div{border-left:1.5px solid #c1c1c1;margin:.5rem 1.5rem}@media screen and (max-width:768px){.dropdown-div-mob{border-left:1.5px solid #c1c1c1;margin:-.5rem .5rem}}.dropdown-content{border-bottom-left-radius:10px;border-bottom-right-radius:10px;box-shadow:rgba(0,0,0,.05) 0 6px 24px 0,rgba(0,0,0,.08) 0 0 0 1px}

/* from original sem.php line 97 */
#imageCarouselModal .modal-content{background:0 0;border:none;box-shadow:none}#imageCarouselModal .modal-header{border-bottom:none;padding:.5rem;position:absolute;top:0;right:0;z-index:10}#imageCarouselModal .modal-body{padding:0}#imageCarouselModal .close{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5);opacity:.8;font-size:1.8rem;padding:.5rem;z-index:11;display:none}#imageCarouselModal .close:hover{opacity:1}#imageCarouselModal .carousel-item{transition:transform .6s}#imageCarouselModal .carousel-control-next,#imageCarouselModal .carousel-control-prev{width:10%;opacity:.7}#imageCarouselModal .carousel-control-next:hover,#imageCarouselModal .carousel-control-prev:hover{opacity:.9}.carousel-image{width:100%;height:85vh;border-radius:5px;object-fit:contain}.desktop-img{display:block}.mobile-img{display:none}.carousel-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:1s ease-in-out infinite spin}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.carousel-image{-webkit-backface-visibility:hidden;-ms-transform:translateZ(0);-webkit-transform:translateZ(0);transform:translateZ(0)}.coupon-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:9999;display:none;padding:10px}.coupon-overlay.show{display:flex;align-items:center;justify-content:center;opacity:1;pointer-events:auto}.coupon-box{position:relative;background:#fff;border-radius:8px;max-width:min(700px,96vw);max-height:96vh;box-shadow:0 8px 30px rgba(0,0,0,.35);overflow:hidden;margin:auto}.coupon-img{display:block;width:100%;height:auto;max-height:calc(96vh - 60px);object-fit:contain}.coupon-close{position:absolute;top:8px;right:12px;font-size:28px;color:#333;cursor:pointer;background:#fff;border-radius:50%;width:32px;height:32px;line-height:32px;text-align:center;z-index:1}@media (max-width:768px){.desktop-img{display:none}.mobile-img{display:block}.carousel-image{width:100%;height:70vh;border-radius:5px}#imageCarouselModal .modal-dialog{max-width:95%;margin:1.75rem auto}.course-toggle-btn{font-size:.7rem}.coupon-box{max-width:min(700px,77vw)}}

/* from original sem.php line 103 */
.twinkle::after,.twinkle::before{content:"";position:absolute;pointer-events:none}.twinkle{animation:2.6s cubic-bezier(.2,.7,.2,1) infinite twinkle}.twinkle--fast{animation-duration:1.6s}.twinkle--soft{animation-duration:3.6s;opacity:.98}.twinkle::after{left:50%;top:50%;transform:translate(-50%,-50%);width:140%;height:140%;border-radius:inherit;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.18),rgba(255,255,255,.02) 30%,transparent 50%);filter:blur(6px);mix-blend-mode:screen;opacity:.85;will-change:opacity,transform,filter;animation:2.6s cubic-bezier(.2,.7,.2,1) infinite haloPulse}.twinkle::before{right:6%;top:-10%;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.95);box-shadow:0 0 10px rgba(255,255,255,.9);transform:scale(.6) rotate(25deg);opacity:0;animation:4s steps(1) infinite sparkle}.badge{background-color:#f05969;color:#fff}@keyframes twinkle{0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 rgba(230,0,126,0)}12%{opacity:.85;transform:scale(1.02);box-shadow:0 0 8px rgba(230,0,126,.18)}25%{opacity:.95;transform:scale(1);box-shadow:0 0 4px rgba(230,0,126,.12)}50%{opacity:.7;transform:scale(1.03);box-shadow:0 0 14px rgba(230,0,126,.24)}75%{opacity:.92;transform:scale(1);box-shadow:0 0 6px rgba(230,0,126,.14)}}@keyframes haloPulse{0%,100%{opacity:.85;transform:translate(-50%,-50%) scale(1);filter:blur(6px)}50%{opacity:.6;transform:translate(-50%,-50%) scale(1.05);filter:blur(10px)}}@keyframes sparkle{0%{opacity:0;transform:scale(.6) rotate(25deg);filter:blur(0)}2%{opacity:1;transform:scale(1.2) rotate(25deg);filter:blur(0)}6%{opacity:.35;transform:scale(.9) rotate(25deg);filter:blur(1px)}100%{opacity:0;transform:scale(.6) rotate(25deg)}}

/* from original sem.php line 109 */
.dropdown-menu{display:none;position:absolute;left:100%;top:0;background-color:#fff;z-index:1000;margin:0;overflow-y:auto;max-height:calc(100vh - 70px);width:100%}.sidebar .upper{overflow-y:auto;max-height:60vh}.dropdown-menu li{padding:0 10px;white-space:normal}.dropdown-menu::-webkit-scrollbar{width:4px}.dropdown-menu::-webkit-scrollbar-track{background:#f1f1f1}.dropdown-menu::-webkit-scrollbar-thumb{background:#888;border-radius:2px}.dropdown-menu::-webkit-scrollbar-thumb:hover{background:#555}

/* from original index.php line 347 */
.dropdown-div {



        border-left: 1.5px solid #c1c1c1;



        margin: 0.5rem 1.5rem;



    }



    @media screen and (max-width: 768px) {



        .dropdown-div-mob {



            border-left: 1.5px solid #c1c1c1;



            margin: -0.5rem 0.5rem;



        }



    }



    .dropdown-content {



        border-bottom-left-radius: 10px;



        border-bottom-right-radius: 10px;



        box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;



    }

/* from original index.php line 455 */
/* Mobile dropdown scrollable fix */



.dropdown-menu {



    display: none;



    position: absolute;



    left: 100%;



    top: 0;



    background-color: white;



    z-index: 1000;



    margin: 0;



    overflow-y: auto; /* Enable vertical scrolling */



    max-height: calc(100vh - 70px); /* Limit height to viewport minus header */



    width: 100%; /* Ensure full width */



}







/* For the main sidebar content area */



.sidebar .upper {



    overflow-y: auto; /* Make upper section scrollable */



    max-height: 60vh; /* Limit height to 60% of viewport */



}







/* Ensure dropdown menu items don't get cut off */



.dropdown-menu li {



    padding: 0px 10px;



    white-space: normal; /* Allow text to wrap */



}







/* Better scrolling experience */



.dropdown-menu::-webkit-scrollbar {



    width: 4px;



}







.dropdown-menu::-webkit-scrollbar-track {



    background: #f1f1f1;



}







.dropdown-menu::-webkit-scrollbar-thumb {



    background: #888;



    border-radius: 2px;



}







.dropdown-menu::-webkit-scrollbar-thumb:hover {



    background: #555;



}
.faq-section .accordion-button {
  width: 100%;
  font-size: 1.1rem;
  font-weight: 500;
  text-align: left;
  background-color: #fff;
  border: 0;
  padding: 1rem 1.25rem;
}
.faq-section .accordion-button:not(.collapsed) {
  background-color: #f8f9fa;
  box-shadow: none;
}
.faq-section .accordion-item {
  border: 1px solid #e5e5e5;
  margin-bottom: 8px;
  border-radius: 8px;
  overflow: hidden;
}