/* Extracted from include/menu.php for HTML validity. */

.modal {
     position: fixed;
     width: 100vw;
     height: 100vh;
     opacity: 0;
     visibility: hidden;
     transition: all 0.3s ease;
     top: 0;
     left: 0;
     display: flex;
     align-items: center;
     justify-content: center;
   }
   .modal.open {
     visibility: visible;
     opacity: 1;
     transition-delay: 0s;
   }
   .modal-bg {
     position: absolute;
     background: #000000ad;
     width: 100%;
     height: 100%;
   }
   .modal-container {
     border-radius: 10px;
     background: #fff;
     position: relative;
     padding: 30px;
   }
   .modal-close {
     position: absolute;
     right: 15px;
     top: 15px;
     outline: none;
     appearance: none;
     color: red;
     background: none;
     border: 0px;
     font-weight: bold;
     cursor: pointer;
   }

   /* Fix: Keep entire header fixed - navbar stays inside */
   .navbar-area.style2 {
       position: relative !important;
   }
   .navbar-area.style2.is-sticky {
       position: relative !important;
       animation: none !important;
       box-shadow: none !important;
   }

   .header-spacer {
       height: 187px;
   }
   /* Homepage banner slider doesn't need spacer */
   .banner-slider-area {
       margin-top: -187px;
       padding-top: 187px;
   }
   /* Reduce banner padding since spacer handles the offset */
   .page-banner-area {
       padding-top: 80px !important;
       margin-top: 0 !important;
   }
   .class-hero {
       padding-top: 80px !important;
   }
   .hapkido-hero-area {
       padding-top: 0 !important;
   }

   /* Ensure top header phone/address links are clickable on mobile */
   .top-header-info a {
       display: inline-block;
       position: relative;
       z-index: 2;
       pointer-events: auto;
       -webkit-tap-highlight-color: rgba(232,176,6,0.3);
   }
   .top-header-info {
       white-space: nowrap;
       min-width: max-content;
   }
   /* Mobile action bar - hidden on desktop */
   .mobile-action-bar { display: none; }
   @media (max-width: 991px) {
       .header-right-content { display: none !important; }
       .top-header-info a { font-size: 13px; display: flex; align-items: center; }
       .header-left-content ul { flex-direction: row !important; flex-wrap: wrap; }
       .header-left-content ul li { margin-bottom: 0 !important; }
       .top-header-info { padding-left: 0 !important; margin-right: 15px !important; white-space: normal; min-width: 0; }
   }
   @media (max-width: 767px) {
       html, body { overflow-x: hidden; }
       /* Hide the default top header on mobile */
       .top-header-area { display: none !important; }
       /* Mobile action bar */
       .mobile-action-bar {
           display: flex !important;
           position: fixed;
           top: 0;
           left: 0;
           right: 0;
           z-index: 999998;
           background: #e8b006;
           border-bottom: none;
       }
       .mobile-action-bar a {
           flex: 1;
           display: flex;
           align-items: center;
           justify-content: center;
           gap: 6px;
           padding: 10px 5px;
           color: #212226;
           text-decoration: none;
           font-family: "Oxanium", sans-serif;
           font-weight: 700;
           font-size: 13px;
           text-transform: uppercase;
           letter-spacing: 0.5px;
           transition: background 0.3s ease;
           border-right: 1px solid rgba(0,0,0,0.15);
       }
       .mobile-action-bar a:last-child { border-right: none; }
       .mobile-action-bar a:active { background: #c99b05; }
       .mobile-action-bar a i { font-size: 16px; color: #212226; }
       /* Push content down for action bar - handled by top:42px in fixed positioning */
       /* Keep entire header fixed on mobile */
       .header-area { position: fixed !important; top: 42px; left: 0; right: 0; z-index: 999; }
       .navbar-area.style2 { position: relative !important; }
       /* Spacer to push content below fixed header */
       .header-spacer { display: block !important; height: 105px; }
       .banner-slider-area { margin-top: -105px; padding-top: 105px; }
   }

   /* Member's Portal as button in mobile menu */
   .mean-container .mean-nav ul li a.mobile-members-btn {
       background: #e8b006;
       color: #212226;
       text-align: center;
       font-weight: 600;
       font-family: "Oxanium", sans-serif;
       margin: 10px auto;
       width: 80%;
       float: none;
       display: block;
       border-radius: 5px;
       padding: 12px 10px;
       border: none;
       text-transform: uppercase;
       letter-spacing: 0.5px;
       box-sizing: border-box;
   }
   .mean-container .mean-nav ul li a.mobile-members-btn:hover {
       background: #c99b05;
   }

   /* Hamburger - hide default, use custom toggle */
   .mean-container a.meanmenu-reveal {
       display: none !important;
   }
   .custom-menu-toggle {
       display: none;
   }
   @media (max-width: 767px) {
       .custom-menu-toggle {
           display: flex;
           align-items: center;
           gap: 8px;
           position: absolute;
           right: 15px;
           top: 50%;
           transform: translateY(-50%);
           z-index: 9999;
           cursor: pointer;
           padding: 8px;
           background: none;
           border: none;
       }
       .custom-menu-toggle .hamburger-lines {
           display: flex;
           flex-direction: column;
           gap: 4px;
       }
       .custom-menu-toggle .hamburger-lines span {
           display: block;
           width: 22px;
           height: 3px;
           background: #e8b006;
           border-radius: 2px;
           transition: all 0.3s ease;
       }
       .custom-menu-toggle.open .hamburger-lines span:nth-child(1) {
           transform: rotate(45deg) translate(5px, 5px);
       }
       .custom-menu-toggle.open .hamburger-lines span:nth-child(2) {
           opacity: 0;
       }
       .custom-menu-toggle.open .hamburger-lines span:nth-child(3) {
           transform: rotate(-45deg) translate(5px, -5px);
       }
       .custom-menu-toggle .menu-text {
           font-family: "Oxanium", sans-serif;
           font-size: 13px;
           font-weight: 600;
           color: #e8b006;
           letter-spacing: 0.5px;
           text-transform: uppercase;
       }
       .custom-menu-toggle.open .menu-text {
           color: #fff;
       }
       .custom-menu-toggle.open .hamburger-lines span {
           background: #fff;
       }
       /* Hide default responsive options on mobile */
       .others-option-for-responsive { display: none !important; }

       /* Cart + Menu toggle inline on right */
       .mobile-responsive-nav .container {
           position: relative;
       }
       .mobile-header-right {
           display: flex;
           align-items: center;
           gap: 12px;
           position: absolute;
           right: 15px;
           top: 50%;
           transform: translateY(-50%);
           z-index: 9999;
       }
       .mobile-cart-icon {
           width: 38px;
           height: 38px;
           border-radius: 50%;
           border: 2px solid #e8b006;
           display: flex;
           align-items: center;
           justify-content: center;
           color: #fff;
           font-size: 16px;
           position: relative;
           text-decoration: none;
       }
       .mobile-cart-icon:hover { color: #e8b006; text-decoration: none; }
       .mobile-cart-icon .badge-circle {
           position: absolute;
           top: -5px;
           right: -5px;
           background: #c0392b;
           color: #fff;
           font-size: 10px;
           width: 18px;
           height: 18px;
           border-radius: 50%;
           display: flex;
           align-items: center;
           justify-content: center;
           font-weight: 600;
       }
       .custom-menu-toggle {
           position: static !important;
           transform: none !important;
       }
   }
