@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&display=swap');



/* brand variables */
:root {
  --brand-primary: #BD0101;
  --brand-secondary: #FFC000;
  --brand-background: #f5f7fb;
  --brand-text-color-black: #000000;
  --brand-text-color-white: #ffffff;
  
  --font-primary: 'Jost', sans-serif;
}



/* bootstrap overrides */

.btn-danger {
    background: red !important;
    color: white !important;
}

.btn-danger:hover {
    background: black !important;
    color: white !important;
}

.btn-primary {
    background: var(--brand-secondary) !important;
    color: var(--brand-text-color-black) !important;
}

.btn-primary:hover {
    background: var(--brand-text-color-black) !important;
    color: var(--brand-text-color-white) !important;
}

.btn-success {
    background: lime !important;
    color: var(--brand-text-color-black) !important;
}

.btn-success:hover {
    background: var(--brand-text-color-black) !important;
    color: var(--brand-text-color-white) !important;
}

/* bootstrap overrides */



body{
  font-family: var(--font-primary);
  background-color: var(--brand-background);
  padding-top: 0px;
}

.dropdown-menu {
   z-index: 2000 !important; 
}



/* HEADER CSS */

.header{
  padding-top: 0px;
  padding-bottom: 0px;
  border-bottom: none;
  border-color: transparent;
  background-color: white;
  color: var(--brand-text-color-black);
}

.header .navbar-brand img{
  height: 40px;
}

.header .navbar .navbar-nav .nav-link{
  color: var(--brand-text-color-black);
  font-weight: 400;
  padding: 7px 0;
  cursor: pointer;
  position: relative;
  background: transparent;
}

.header .navbar .navbar-nav .active > .nav-link{
  color: var(--brand-primary);
  width: 100%;
  font-weight: 600;
}

.header .navbar .navbar-nav .nav-link:hover{
  color: var(--brand-primary);
  width: 100%;
  font-weight: 600;
}

.header .navbar li {
  position: relative;
  line-height: 1em;
  padding: 10px 20px;
}

.header .navbar ul.navbar-nav li.nav-item.active:before, .header .navbar ul.navbar-nav li.nav-item:hover:before{
  content: "";
  height: 5px;
  margin: 0 auto;
  width: 90%;
  position: absolute;
  background-color: var(--brand-background);
  background: linear-gradient(45deg,#fff 0,#fff 100%);
  left: 0;
  top: 0;
  right: 0;
  border-radius: 10px;
}


.header .navbar .menu-item-list .dropdown-menu .dropdown-item{
 padding: 1rem 1.5rem;
}

.header .navbar .menu-item-list .dropdown-menu {
  margin-top: 2px;
  padding: 0;
  background-color: var(--brand-background);
  border: 1px solid #ccc;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 4px;
  -webkit-box-shadow: 0 6px 12px rgba(0,0,0,0.175);
  box-shadow: 0 6px 12px rgba(0,0,0,0.175);
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
}

.header .navbar .navbar-toggler {
  font-size: 24px;
  color: #fff;
  border: none;
}

.header .btn-login{
  padding-left: 20px;
  padding-right: 10px;
  color: var(--brand-text-color-black);
}

.header .sign-up{
  padding: 2px 15px;
}

.header .btn-outline-primary.sign-up{
  border-color: var(--brand-primary);
  color: var(--brand-text-color-black);
  z-index: 9999;
}

.header a.btn-outline-primary.sign-up:hover{
  background: var(--brand-background);
  color: var(--brand-secondary);
  z-index: 9999;
}

/* HEADER CSS */





/* FOOTER CSS */

.footer {
  padding: 0.5rem 0;
}

.footer a:not(.btn) {
  color: var(--brand-text-color-white);
}

.footer .title{
  color: var(--brand-text-color-white);
}

.footer_top.dark{
  background-color: var(--brand-primary) !important;
}

.footer_top.dark .site-logo img{
  max-height: 40px;
}

.footer_top.dark .quick-link li a:hover{
  color: var(--brand-secondary);
}

.footer_bottom.dark{
  background-color: var(--brand-primary) !important;
}
.footer_bottom.dark .container{
  padding: 20px;
  border-top: 2px solid var(--brand-secondary);
}

.footer-lang-selector {
  margin-top: 4px;
  margin-left: 20px;
  padding: 3px;
  display: inline-block;
  border: 1px solid var(--brand-secondary);
  outline: none;
  background-color: #ffffff;
  color: #000000;
  font-size: 14px;
  line-height: 24px;
}

.footer-copyright {
    color: var(--brand-text-color-white);
}

.contact-info {
    color: var(--brand-text-color-white);
}


@media (max-width: 576px){
  section.banner .content{
    text-align: center;
  }
  section.banner .content h1{
    font-size: 30px;
  }

  .header-top .navbar-nav.list-inline{
    display: none;
  }

  nav.header-top .link{
    margin-left: auto;
  }

  footer {
    border-top: none;
  }

  footer .col-auto {
    -ms-flex: 0 0 auto;
    width: 100%; 
    text-align: center;
  }

}

/* FOOTER CSS */




/* AUTH FORM CSS */

.auth-login-form{
  width: 100%;
  min-height: 100vh;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 15px;
  background-color: var(--brand-primary);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.auth-login-form .form-login{
  width: 500px;
  background: var(--brand-background);
  border: solid 3px var(--brand-secondary);
  border-radius: 10px;
  overflow: hidden;
  padding: 65px 55px 54px 55px;
}

.auth-login-form .form-login .site-logo{
  padding-bottom: 20px;
}

.auth-login-form .form-login .site-logo img{
  max-height: 60px;
}

.auth-login-form .form-login .btn-submit{
  color: var(--brand-text-color-white);
  text-transform: uppercase;
}

.auth-login-form .form-login .btn-submit, .about-area .btn-signin{
  background-image: linear-gradient(to right, var(--brand-secondary) 0%, var(--brand-primary) 51%, var(--brand-primary) 100%);
}


.btn-gradient {
  text-align: center;
  background-size: 200% auto;
  text-shadow: 0px 0px 10px rgba(0,0,0,0.2);
  box-shadow: 0 6px 7px -1px rgba(80, 86, 175, 0.3);
  border-radius: 8px;
  background-color: var(--brand-primary);
  padding: 20px;
  height: auto;
  font-size: 17px;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.btn-gradient:hover {
  background-position: right center;
}

.form-field-override {
display: block;
  width: 100%;
  padding: 0.8rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  color: #131920;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #ffffff;
  background-clip: padding-box;
  border: 1px solid #bec8d0;
  border-radius: 8px;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.form-field-override-timezone {
display: block;
  width: 100%;
  padding: 0.8rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 0.9;
  color: #131920;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #ffffff;
  background-clip: padding-box;
  border: 1px solid #bec8d0;
  border-radius: 8px;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

/* AUTH FORM CSS */




/* TOAST FEEDBACK CSS */

.jq-toast-wrap{
	    margin-bottom: 400px !important;

	}
	
	.jq-toast-single {
	    background-color: var(--brand-primary) !important;
	    border-style: solid !important;;
	    border-color: white !important;;
	    border-width: 3px !important;;
	    border-radius: 5px !important;;
	    color: white !important;;
	    text-align: center !important;;
	    max-width: 100% !important;;
	    padding-top: 50px !important;;
	    padding-bottom: 50px !important;;
	    font-size: 20px !important;;
	    position: relative !important;;
	    line-height: 1.6 !important;;
	}
	
/* TOAST FEEDBACK CSS */




/* Notification Modal */

.modal-btn {
    width: 100%; 
    background: var(--brand-primary) !important;
    color: var(--brand-text-color-white) !important;
}

.modal-header {
    background: linear-gradient(45deg, var(--brand-primary),var(--brand-secondary)) !important;
  background: -webkit-linear-gradient(45deg, var(--brand-primary),var(--brand-secondary)) !important;
  background: -moz- oldlinear-gradient(45deg, var(--brand-primary),var(--brand-secondary)) !important;
  background: -o-linear-gradient(45deg, var(--brand-primary),var(--brand-secondary)) !important;
  background: linear-gradient(45deg, var(--brand-primary),var(--brand-secondary)) !important;
    color: var(--brand-text-color-white) !important;
}

/* Notification Modal */



/* ADMIN/USER DASHBOARD STYLE */

/* WELCOME */

.dashboard-hero{
  background: linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));
  padding: 35px;
  border-radius: 18px;
  color:white;
  position:relative;
  overflow:hidden;
  box-shadow:0 15px 40px rgba(0,0,0,0.08);
  margin-bottom:35px;
}

.dashboard-hero h1{
    font-size: 35px;
  font-weight:700;
  margin:0;
}

.dashboard-hero:after{
  content:'';
  position:absolute;
  right:-80px;
  top:-80px;
  width:220px;
  height:220px;
  background:radial-gradient(circle,var(--brand-secondary),transparent 70%);
  opacity:.25;
}

/* METRIC CARDS */

.metric-card{
  background:white;
  border-radius:16px;
  padding:22px;
  box-shadow:0 10px 30px rgba(0,0,0,.05);
  transition:all .35s ease;
  position:relative;
  overflow:hidden;
  height:100%;
  margin: 10 1 10 1px;
}

.metric-card:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 50px rgba(0,0,0,.08);
}

.metric-icon{
  width:52px;
  height:52px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  color:white;
  background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));
  margin-bottom:15px;
}

.metric-number{
  font-size:25px;
  font-weight:600;
  color:var(--brand-text-color-black);
}

.metric-label{
  font-size:13px;
  color:#777;
}

/* CHART CONTAINER */

.chart-wrapper{
  background:white;
  border-radius:18px;
  padding:25px;
  box-shadow:0 15px 40px rgba(0,0,0,.05);
  margin-bottom:35px;
}

.chart-wrapper .card-title{
  font-size: 30px;
  font-weight:700;
  margin-bottom:25px;
}

/* TABLE ENHANCEMENT */

.table{
  overflow:auto;
  background:white;
  box-shadow:0 10px 35px rgba(0,0,0,.05);
}

.table thead{
  background:linear-gradient(90deg,var(--brand-primary),var(--brand-secondary));
  color:var(--brand-text-color-white);
}

.table thead th{
  font-size:15px;
  padding:14px;
  font-weight:700;
  color:var(--brand-text-color-white);
  text-align: center;
}

.table td{
  padding:14px;
  font-size:13px;
  text-align: center;
}

.table tbody tr{
  transition:.3s ease;
}

.table tbody tr:hover{
  background:#fff5f5;
}

/* Responsive */

@media(max-width:768px){
  .metric-card{
    padding:18px;
  }
  .metric-number{
    font-size:25px;
  }
  .metric-container {
      margin: 10px 0 10px 0 !important;
  }
}


/* Unique namespace for user action cards */
.user-dashboard-cards .user-action-cards .action-card {
  position: relative;
  padding: 2rem;
  border-radius: 15px;
  color: white;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.user-dashboard-cards .user-action-cards .action-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

.user-dashboard-cards .user-action-cards .order-card {
  background: linear-gradient(135deg, var(--brand-primary), #000000);
  background-repeat: no-repeat;
  background-position: bottom right;
}

.user-dashboard-cards .user-action-cards .wallet-card {
  background: linear-gradient(135deg, #000000, var(--brand-secondary));
  background-repeat: no-repeat;
  background-position: bottom right;
}

.user-dashboard-cards .user-action-cards .card-content h3 {
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
}

.user-dashboard-cards .user-action-cards .card-content p {
  font-size: 0.95rem;
  font-weight: 500;
  margin-bottom: 1rem;
}

.user-dashboard-cards .user-action-cards .card-content .action-btn {
  display: inline-block;
  padding: 1.2rem 3.6rem;
  border-radius: 5px;
  background: rgba(255,255,255,0.9);
  color: var(--brand-text-color-black);
  font-weight: 600;
  text-decoration: none;
  transition: background 0.3s ease, color 0.3s ease;
}

.user-dashboard-cards .user-action-cards .card-content .action-btn:hover {
  background: var(--brand-secondary);
  color: var(--brand-text-color-black);
}

.user-action-cards-col {
    margin-top: 10px;
    margin-bottom: 20px;
    text-align: center;
}

.status-button {
  display: inline-block;
  padding: 1.2rem 3.6rem;
  border-radius: 10px;
  background: var(--brand-text-color-black);
  color: var(--brand-text-color-white);
  font-weight: 600;
  transition: background 0.3s ease, color 0.3s ease;
}

.status-button a {
  text-decoration: none !important;
  color: var(--brand-text-color-white);
}

.status-button a:hover {
  text-decoration: none !important;
  color: var(--brand-text-color-black);
}

.status-button:hover {
  background: var(--brand-text-color-white);
  color: var(--brand-text-color-black);
}



/* ================================
   USER DASHBOARD
================================ */

.ud-wrapper {
  display: flex;
  min-height: 100vh;
  background: var(--brand-background);
  font-family: var(--font-primary);
  transition: all .3s ease;
  position: relative;
  overflow-x: hidden; /* prevent mobile horizontal scroll */
}

/* ================================
   SIDEBAR
================================ */

.ud-sidebar {
  width: 240px;
  min-width: 240px;
  background: linear-gradient(
    180deg,
    var(--brand-primary),
    var(--brand-secondary)
  );
  color: var(--brand-text-color-white);
  padding: 20px 15px;
  display: flex;
  flex-direction: column;
  transition: all .35s ease;
  position: relative;
  z-index: 2000; /* 🔥 ensure above header on mobile */
  box-sizing: border-box;
}

/* Desktop Collapse */
.ud-wrapper.ud-collapsed .ud-sidebar {
  width: 80px;
  min-width: 80px;
  padding: 30px 10px;
}

.ud-wrapper.ud-collapsed .ud-nav-item span,
.ud-wrapper.ud-collapsed .ud-logo img {
  display: none;
}

.ud-wrapper.ud-collapsed .ud-nav-item {
  justify-content: center;
}

/* Logo */
.ud-logo img {
  max-width: 140px;
  margin-bottom: 40px;
  transition: all .3s ease;
}

/* Navigation */
.ud-nav-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 14px;
  border-radius: 10px;
  text-decoration: none;
  color: rgba(255,255,255,0.85);
  margin-bottom: 10px;
  margin-right: 10px;
  transition: all .3s ease;
  font-weight: 500;
}

.ud-nav-item:hover,
.ud-nav-item.active {
  background: rgba(255,255,255,0.15);
  color: var(--brand-text-color-white);
  transform: translateX(4px);
}

/* ================================
   MAIN
================================ */

.ud-main {
  flex: 1;
  padding: 30px;
  transition: all .3s ease;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  position: relative;
  z-index: 1;
}

/* ================================
   HEADER
================================ */

.ud-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  padding: 18px 25px;
  border: 2px solid var(--brand-secondary);
  border-radius: 14px;
  background: linear-gradient(
    90deg,
    var(--brand-text-color-white),
    #fff8e6
  );
  box-shadow: 0 8px 25px rgba(0,0,0,0.05);
  position: relative;
  z-index: 1000; /* below sidebar */
  box-sizing: border-box;
}

.ud-header-left {
  display: flex;
  align-items: center;
  gap: 15px;
}

.ud-header-left h2 {
  margin: 0;
  font-weight: 600;
  color: var(--brand-text-color-black);
  font-size: 20px;
}

.user-balance-pill {
    
    padding: 10px; 
    font-size: 15px; 
    font-weight: bold; 
    display: block;
    color: var(--brand-text-color-white);
    border-radius: 5px;
    background: linear-gradient(
    180deg,
    var(--brand-primary),
    var(--brand-secondary)
  );
}

@media (max-width: 991px) {
    
    .user-balance-pill {
    font-size: 11px; 
}
    
}


.user-online-pill {
    
    padding: 10px; 
    font-size: 15px; 
    font-weight: bold; 
    display: block;
    color: var(--brand-text-color-black);
    border-radius: 5px;
    background: lime;
}



@media (max-width: 991px) {
    
    .user-online-pill{
        display: none;
    }
    
}

/* ================================
   MOBILE TOGGLE
================================ */

.ud-mobile-toggle {
  display: none;
  font-size: 22px;
  cursor: pointer;
  color: var(--brand-text-color-black);
}

@media (max-width: 991px) {
    
    .ud-header-left h2{
        display: none;
    }
    
}

/* ================================
   HEADER RIGHT
================================ */

.ud-header-right {
  display: flex;
  align-items: center;
  gap: 25px;
}

/* Do NOT override notification color anymore */
.ud-notifications {
  position: relative;
  font-size: 20px;
  cursor: pointer;
}

/* ================================
   PROFILE DROPDOWN
================================ */

.ud-profile {
  position: relative;
  cursor: pointer;
  z-index: 1500;
}

.ud-profile img {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 2px solid var(--brand-secondary);
}

.ud-profile-dropdown {
  position: absolute;
  right: 0;
  top: 50px;
  background: var(--brand-text-color-white);
  padding: 8px 0;
  border-radius: 12px;
  display: none;
  box-shadow: 0 15px 40px rgba(0,0,0,0.12);
  min-width: 170px;
  z-index: 1600;
  opacity: 0;
  transform: translateY(10px);
  transition: all .25s ease;
}

/* Proper vertical layout */
.ud-profile-dropdown a {
  display: block;              /* 🔥 fixes inline issue */
  padding: 10px 16px;
  text-decoration: none;
  color: var(--brand-text-color-black);
  font-size: 14px;
  transition: .2s ease;
}

.ud-profile-dropdown a:hover {
  background: var(--brand-background);
  color: var(--brand-primary);
}

.ud-profile.ud-open .ud-profile-dropdown {
  display: block;
  opacity: 1;
  transform: translateY(0);
}

/* ================================
   SIDEBAR TOGGLE
================================ */

.ud-sidebar-toggle {
  position: absolute;
  top: 20px;
  right: -15px;
  width: 32px;
  height: 32px;
  background: var(--brand-secondary);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 15px rgba(0,0,0,0.2);
  color: var(--brand-text-color-black);
  font-size: 16px;
}

/* ================================
   MOBILE FIX
================================ */

@media (max-width: 991px) {

  .ud-sidebar {
    position: fixed;
    left: -240px;
    top: 0;
    height: 100%;
  }

  .ud-wrapper.ud-mobile-open .ud-sidebar {
    left: 0;
  }

  .ud-sidebar-toggle {
    display: none;
  }

  .ud-mobile-toggle {
    display: inline-flex;
  }

  .ud-main {
    padding: 20px;
  }

  .ud-header-left h2 {
    font-size: 16px;
  }
}

/* Prevent scroll when menu open */
.ud-wrapper.ud-mobile-open {
  overflow: hidden;
}


/* ================================
   ADMIN TOP MENU - PREMIUM DARK
================================ */

.adm-header-wrap {
  background: linear-gradient(
    135deg,
    var(--brand-primary) 0%,
    var(--brand-text-color-black) 100%
  );
  border-bottom: 1px solid var(--brand-secondary);
  box-shadow: 0 4px 20px rgba(0,0,0,0.35);
  position: relative;
  z-index: 1000;
}

.adm-nav-list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  padding: 14px 0;
  margin: 0;
  list-style: none;
}

.adm-nav-item {
  position: relative;
}

.adm-nav-link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 10px;
  font-weight: 500;
  font-size: 14px;
  color: var(--brand-text-color-white);
  background: transparent;
  transition: all 0.25s ease;
  text-decoration: none;
}

.adm-nav-link i {
  font-size: 15px;
  opacity: 0.85;
}

.adm-nav-link:hover {
  background: var(--brand-primary);
  color: var(--brand-text-color-white);
}

.adm-nav-link.active {
  background: linear-gradient(
    135deg,
    var(--brand-primary),
    var(--brand-secondary)
  );
  color: var(--brand-text-color-white);
  box-shadow: 0 4px 12px rgba(0,0,0,0.35);
}

/* Badge */
.adm-badge {
  background: var(--brand-secondary);
  color: var(--brand-text-color-black);
  font-size: 11px;
  padding: 3px 7px;
  border-radius: 20px;
  margin-left: 6px;
}

/* Dropdown */
.adm-dropdown-menu {
  position: absolute;
  top: 110%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 200px;
  background: var(--brand-text-color-black);
  border: 1px solid var(--brand-secondary);
  border-radius: 10px;
  padding: 8px 0;
  box-shadow: 0 12px 25px rgba(0,0,0,0.45);
  display: none;
  z-index: 2000;
}


.adm-dropdown-item {
  display: block;
  padding: 9px 16px;
  font-size: 13px;
  color: var(--brand-text-color-white);
  transition: 0.2s ease;
  text-decoration: none;
}

.adm-dropdown-item:hover {
  background: var(--brand-primary);
  color: var(--brand-text-color-white);
}

.adm-divider {
  height: 1px;
  background: var(--brand-secondary);
  margin: 6px 0;
}

/* Submenu caret */
.adm-submenu-caret {
  margin-left: 5px;
  font-size: 0.75em;
  transition: transform 0.3s ease;
}

/* Optional: rotate when active */
.adm-nav-item.adm-dropdown.active .adm-submenu-caret {
  transform: rotate(180deg);
}


/* ================================
   ADMIN MENU - MOBILE FIX ONLY
   (No existing styles altered)
================================ */

@media (max-width: 991.98px) {

  .adm-nav-list {
    flex-direction: column;
    align-items: center;
    gap: 0;
    width: 100%;
  }

  .adm-nav-item {
    width: 100%;
    text-align: center;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }

  .adm-nav-item:last-child {
    border-bottom: none;
  }

  .adm-nav-link {
    justify-content: center;
    width: 100%;
    padding: 14px 20px;
  }

  .adm-dropdown-menu {
    position: static;
    transform: none;
    width: 100%;
    margin-top: 6px;
    box-shadow: none;
  }

  .adm-dropdown-item {
    text-align: center;
  }

}


/* =========================
   FIX MODAL STACKING (USER SIDE)
========================= */

.ud-wrapper,
.ud-main,
.ud-sidebar {
  z-index: auto !important;
}


/* Mobile sidebar overlay fix */
.ud-wrapper.ud-mobile-open .ud-sidebar {
  position: fixed;       /* ensures it sits above normal flow */
  top: 0;
  left: 0;
  height: 100vh;         /* full viewport height */
  z-index: 1050;         /* higher than main content but lower than modals if needed */
  background-color: var(--brand-primary); /* optional if you want bg color */
}

/* Optional: overlay behind the sidebar */
.ud-wrapper.ud-mobile-open::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);  /* dim the content */
  z-index: 1040;                 /* just under sidebar */
}

/* ===============================
   Mobile sidebar always on top
================================= */
@media (max-width: 991px) {
  .ud-wrapper.ud-mobile-open .ud-sidebar {
    position: fixed !important; /* float above content */
    top: 0;
    left: 0;
    width: 260px;               /* adjust if needed */
    height: 100vh;
    z-index: 1100 !important;   /* above main content */
    transform: translateX(0) !important;
    transition: transform 0.3s ease;
  }

  .ud-wrapper .ud-main {
    position: relative; 
    z-index: 1000;              /* content stays under sidebar */
  }

  /* Optional: overlay behind sidebar */
  .ud-wrapper.ud-mobile-open::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 1090;               /* under sidebar, above content */
  }
}


/* Dashboard Hero Styles - Unique Classes */
.dashboard-hero-wrapper {
  position: relative;
  width: 100%;
  min-height: 400px; /* strong presence */
  padding: 80px 20px;
  background: linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  overflow: hidden;
  font-family: var(--font-primary);
  border-radius: 20px;
}

.dashboard-hero-icons i {
position: absolute;
  font-size: 2rem;
  color: var(--brand-text-color-white);
  animation: floatIcons 20s linear infinite;
}

.dashboard-hero-content {
  position: relative;
  z-index: 2; /* above floating icons */
  max-width: 900px;
  color: var(--brand-text-color-white);
}

.dashboard-hero-title {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  .dashboard-hero-title {
    font-size: 2.2rem;
  }
}

.dashboard-hero-description {
  font-size: 1.25rem;
  color: var(--brand-text-color-white);
}

@media (max-width: 768px) {
  .dashboard-hero-description {
    font-size: 1rem;
  }
}

/* Floating Icons */
.dashboard-floating-icons {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none; /* allows clicks through */
  list-style: none;
  margin: 0;
  padding: 0;
  z-index: 1;
  position: absolute;
  animation: float 10s infinite linear;
}

.dashboard-floating-icons li {
  position: absolute;
  font-size: 2rem;
  color: var(--brand-text-color-white);
  animation: floatIcons 20s linear infinite;
}

/* Random positions for each icon */
.dashboard-floating-icons li:nth-child(1) { top: 10%; left: 15%; animation-duration: 18s; }
.dashboard-floating-icons li:nth-child(2) { top: 25%; left: 70%; animation-duration: 22s; }
.dashboard-floating-icons li:nth-child(3) { top: 50%; left: 40%; animation-duration: 20s; }
.dashboard-floating-icons li:nth-child(4) { top: 70%; left: 20%; animation-duration: 24s; }
.dashboard-floating-icons li:nth-child(5) { top: 80%; left: 65%; animation-duration: 26s; }

/* Floating animation */
@keyframes floatIcons {
  0% { transform: translateY(0) rotate(0deg); opacity: 0.6; }
  50% { transform: translateY(-20px) rotate(180deg); opacity: 0.3; }
  100% { transform: translateY(0) rotate(360deg); opacity: 0.6; }
}





/* ORDER FORM START */



.order-form {
border-radius: 20px;    
}

.order-form select,
.order-form input,
.order-form option {
    height: 70px !important;
    background-color: #f2f5f8 !important;
    border: none !important;
    border-radius: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    font-weight: bold !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
}

.order-form textarea {
    
    border-radius: 10px !important;
    font-weight: bold !important;
}

.form-box label {
    font-size: 20px;
    font-weight: bolder;
}

.form-box select {
    height: 50px; 
    background-color: #f2f5f8; 
    border-style: none; 
    border-color: black; 
    border-radius: 0px; 
    border-width: 0px; 
    width: 100%; 
    max-width: 100%;
}

  .form-box {
    padding: 10px;
    margin-top: 0px;
    margin-bottom: 0px;
  }

  .order-popup {
    padding: 10px;
    margin-top: 0px;
    margin-bottom: 0px;
  }

  .order-popup:hover {
    padding: 10px;
    margin-top: 0px;
    margin-bottom: 0px;
    background: #FFDD0F;
  }
  
  .total_charge {
      background: linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));
      color: var(--brand-text-color-white);
      font-size: 20px; 
      padding: 20px 30px;
      border: none;
      border-radius: 10px;
  }
  
  .order-button {
      width: 100%; 
      padding: 25px; 
      border-radius: 10px; 
      font-size: 30px;
      font-weight: bolder;
      background-color: var(--brand-primary);
      color: var(--brand-text-color-white) !important;
      display: block;
  }
  
    .order-button-modal {
      width: 100%; 
      padding: 25px; 
      border-radius: 10px; 
      font-size: 30px;
      font-weight: bolder;
      background-color: var(--brand-primary);
      color: var(--brand-text-color-white) !important;
      display: block;
  }
  
  .order-terms {
    border: solid; 
    border-width: 1px; 
    border-radius: 5px; 
    border-color: var(--brand-primary) !important;
    padding: 5px; 
    color: var(--brand-primary) !important;
    margin-right: 5px;
}
  
  
  /* Select 2 Match your form's general look */
.select2-container .select2-selection--single {
  display: block !important;
  height: 70% !important;
  width: 100% !important;
  font-weight: bold !important;
  padding: 0.8rem 0.75rem !important;
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
  -webkit-appearance: none !important;
     -moz-appearance: none !important;
          appearance: none !important;
  background-clip: padding-box !important;
  background-color: #f2f5f8 !important;
    border: none !important;
  border-radius: 10px !important;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
}

/* Style the text inside the select */
.select2-selection__rendered {
  line-height: 40px !important;
  color: var(--brand-text-color-white);
}

.select2-selection__arrow {
   height: 100% !important;
   max-width: 100% !important;
   padding: 20px !important;
}

/* Dropdown styling */
.select2-dropdown {
    border:none !important;
  border-radius: 10px !important;
  max-width: 1200px !important;
  overflow-y: auto !important;
  color: var(--brand-text-color-black);
  font-weight: bold;
  background: #f2f5f8;
}

/* Set a max height for the dropdown results */
.select2-container--default .select2-results > .select2-results__options {
  max-height: 700px !important; /* Adjust as needed */
  overflow-y: auto !important;
}

/* Optional: make scrollbar pretty in WebKit browsers */
.select2-results__options::-webkit-scrollbar {
  width: 6px !important;
}
.select2-results__options::-webkit-scrollbar-thumb {
  background-color: #adb5bd !important;
  border-radius: 3px !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  padding: 25px !important;      /* Add more padding */
  height: auto !important;            /* Let it grow with content */
  border-radius: 8px !important;
}

/* Style individual dropdown options */
.select2-container--default .select2-results__option {
  padding: 15px 17px !important;    /* Increase vertical spacing */
  line-height: 1.5 !important;      /* Optional for better readability */
}

/* Optional: Highlighted (hover/focused) style */
.select2-container--default .select2-results__option--highlighted {
  background-color: var(--brand-primary) !important;
  border-radius: 5px;
  color: var(--brand-text-color-white) !important;            /* Bootstrap body text */
  font-weight: bold;
}

/* Add margin under the search field inside the dropdown */
.select2-container--default .select2-search--dropdown {
  padding-bottom: 20px !important; /* or margin-bottom */
  border-bottom: 4px solid var(--brand-primary) !important; /* optional separator line */
}

/* Hovered or keyboard-selected option */
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color:var(--brand-primary) !important;  /* Bootstrap's 'danger' red */
  color: var(--brand-text-color-white);                /* White text for contrast */
}

/* Selected option (when clicked and marked as selected) */
.select2-container--default .select2-results__option[aria-selected="true"] {
  background-color: var(--brand-primary) !important;
  color: var(--brand-text-color-white);
}




/* Container for Social Media Icons */
.social-icon-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  justify-content: center;
  margin: 20px 0;
  padding: 10px;
}

/* Individual icon style */
.icon-filter {
  border: 1px solid var(--brand-primary) !important;
  border-radius: 8px;
  padding: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  background-color: var(--brand-text-color-white);
  display: inline-block;
}

/* Icon image styling */
.icon-filter img {
  width: 24px;
  height: 24px;
  transition: filter 0.3s ease;
}

/* Active state for selected icons */
.icon-filter.active-icon {
  background-color: var(--brand-primary) !important;
}

/* Hover state - ensure background color stays same */
.icon-filter:hover {
  background-color: var(--brand-primary) !important;
}

.icon-filter:before {
content: '';
}



/* ORDER FORM START */






/* ORDER HISTORY STYLE */

/* Wrapper Centering */
.order-status-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 120px;
  padding: 20px;
  background: var(--brand-background);
}

/* Main Container */
.order-status {
  background: var(--brand-text-color-white);
  padding: 20px 30px;
  border-radius: 18px;
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.06);
  backdrop-filter: blur(10px);
  width: 100%;
  max-width: 100%;
  text-align: center;
  transition: all 0.3s ease;
}

/* Tabs Container */
.order-status__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
  align-items: center;
}

/* Individual Tab */
.order-status__tab {
  position: relative;
  padding: 10px 22px;
  border-radius: 30px;
  background: transparent;
  border: 2px solid rgba(0,0,0,0.06);
  color: var(--brand-text-color-black);
  font-weight: 500;
  font-size: 14px;
  text-decoration: none;
  transition: all 0.35s cubic-bezier(.4,0,.2,1);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* Hover Effect */
.order-status__tab:hover {
  transform: translateY(-3px);
  background: var(--brand-primary);
  color: var(--brand-text-color-white);
  border-color: var(--brand-primary);
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}

/* Active State */
.order-status__tab.is-active {
  background: var(--brand-primary);
  color: var(--brand-text-color-white);
  border-color: var(--brand-primary);
  box-shadow: 0 6px 20px rgba(0,0,0,0.15);
}

/* Badge */
.order-status__badge {
  background: var(--brand-secondary);
  color: var(--brand-text-color-black);
  font-size: 11px;
  padding: 4px 8px;
  border-radius: 50px;
  font-weight: 600;
  transition: transform 0.3s ease;
}

/* Badge Animation */
.order-status__tab:hover .order-status__badge {
  transform: scale(1.1);
}

.order-status__tab:hover::after {
  width: 60%;
}

.order-status__tab.is-active::after {
  width: 80%;
}

/* Mobile Responsive */
@media (max-width: 768px) {

  .order-status {
    padding: 18px;
  }

  .order-status__tabs {
    gap: 10px;
  }

  .order-status__tab {
    padding: 8px 16px;
    font-size: 13px;
  }

}

@media (max-width: 480px) {

  .order-status__tabs {
    flex-direction: column;
    width: 100%;
  }

  .order-status__tab {
    width: 100%;
    justify-content: center;
  }

}


/* ============================= */
/* ORDER HISTORY MODERN SYSTEM  */
/* ============================= */

.order-history-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  padding: 30px 0;
  font-family: var(--font-primary);
}

@media (max-width: 991px) {
  .order-history-wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .order-history-wrapper {
    grid-template-columns: 1fr;
  }
}

.order-history-card {
  background: var(--brand-text-color-white);
  border-radius: 22px;
  padding: 30px;
  box-shadow: 0 12px 35px rgba(0,0,0,0.05);
  border: 1px solid rgba(0,0,0,0.04);
  transition: all 0.35s ease;
  position: relative;
  overflow: hidden;
}

.order-history-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 45px rgba(0,0,0,0.08);
}

.order-history-title {
  font-size: 22px;
  font-weight: 700;
  color: var(--brand-primary);
  margin-bottom: 20px;
}

.order-history-status span.btn {
  width: 100%;
  border-radius: 50px;
  font-weight: 600;
  padding: 10px;
  transition: all 0.3s ease;
}

.order-history-details {
  margin-top: 20px;
}

.order-history-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
  font-size: 14px;
  color: var(--brand-text-color-black);
}

.order-history-item-icon {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--brand-background);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--brand-primary);
  font-size: 14px;
  flex-shrink: 0;
  transition: 0.3s ease;
}

.order-history-card:hover .order-history-item-icon {
  background: var(--brand-primary);
  color: var(--brand-text-color-white);
}

.order-history-item strong {
  color: var(--brand-primary);
  font-weight: 600;
}

.order-history-actions .btn {
  border-radius: 50px !important;
  font-size: 13px !important;
  transition: 0.3s ease !important;
}

.order-history-actions .btn:hover {
  transform: translateY(-3px);
}

.order-history-card::before {
  content: "";
  position: absolute;
  top: -80px;
  right: -80px;
  width: 160px;
  height: 160px;
  background: var(--brand-primary);
  opacity: 0.05;
  border-radius: 50%;
}

.order-history-pagination {
  display: flex;
  justify-content: center;
  margin-top: 20px;
  padding-top: 10px;
}

.order-history-pagination .pagination {
  margin: 0;
}

.order-history-pagination .pagination li a,
.order-history-pagination .pagination li span {
  border-radius: 50px !important;
  padding: 8px 16px;
  margin: 0 4px;
  transition: 0.3s ease;
}

.order-history-pagination .pagination li a:hover {
  background: var(--brand-primary);
  color: var(--brand-text-color-white);
}

.order-history-pagination .pagination li a:active {
  background: var(--brand-primary) !important;
  color: var(--brand-text-color-white);
}

.page-item.active .page-link {
    background: var(--brand-primary) !important;
  color: var(--brand-text-color-white);
}


/* ============================
   ADD FUNDS MODERN REDESIGN
   Prefix: af-
============================ */

.af-wrapper {
  padding: 40px 0;
  background: var(--brand-background);
}

.af-card {
  border: none;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
  overflow: hidden;
}

.af-header {
  background: var(--brand-primary);
  color: var(--brand-text-color-white);
  padding: 50px 30px 30px 30px;
  text-align: center;
  justify-content: center;
  align-items: center;
}

.af-title {
  font-weight: 700;
  margin-bottom: 10px;
}

.af-subtitle {
  font-size: 14px;
  opacity: 0.9;
}

.af-body {
  padding: 30px;
}

.af-payment-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.af-payment-item {
  margin-bottom: 15px;
  width: 100%;
  display: block;
}

.af-payment-link {
  display: block;
  padding: 30px;
  border-radius: 12px;
  background: #ffffff;
  border: 1px solid #eee;
  transition: 0.3s ease;
  text-align: center;
  font-weight: 600;
  color: var(--brand-text-color-black);
}

.af-payment-link small {
  display: block;
  margin-top: 5px;
  font-size: 12px;
  opacity: 0.7;
}

.af-payment-link:hover {
  background: var(--brand-secondary);
  color: var(--brand-text-color-black) !important;
  transform: translateY(-2px);
}

.af-virtual-active {
  background: var(--brand-primary);
  border-radius: 12px;
  color: white;
  padding: 20px;
}

.af-account-box {
  background: #111;
  color: var(--brand-text-color-white);
  padding: 20px;
  border-radius: 10px;
  margin-top: 15px;
  font-size: 20px;
}

.af-copy-btn {
  margin-top: 15px;
  width: 100%;
  background: var(--brand-secondary);
  color: var(--brand-text-color-black);
  font-weight: 600;
}

/* ================= MODAL ================= */

.af-modal-content {
  border-radius: 16px;
  border: none;
}

.af-modal-header {
  background: var(--brand-primary);
  color: var(--brand-text-color-white);
  border: none;
}

.af-close {
  color: var(--brand-text-color-white);
  opacity: 1;
}

.af-btn-primary {
  background: var(--brand-primary);
  color: var(--brand-text-color-white);
  display: block;
  width: 100%;
  border-radius: 8px;
  margin-top: 15px;
}

.af-btn-outline {
  border: 2px solid var(--brand-primary);
  background: transparent;
  color: var(--brand-primary);
  display: block;
  width: 100%;
  border-radius: 8px;
  margin-top: 15px;
}

.af-modal-footer {
  justify-content: space-between;
  margin-top: 20px;
}

.af-input {
  height: 50px;
  border-radius: 8px;
  border: 1px solid #ddd;
}

.af-label {
  font-weight: 600;
  color: var(--brand-primary);
}

.af-bvn-text {
  font-size: 14px;
  margin-bottom: 20px;
}

/* ================= INSTRUCTIONS ================= */

.af-instructions {
  padding: 50px 0;
}

.af-instruction-card {
  border-radius: 16px;
  padding: 30px;
  border: none;
  box-shadow: 0 8px 25px rgba(0,0,0,0.04);
}

.af-instruction-card h5 {
  margin-bottom: 20px;
  font-weight: 600;
}

.af-instruction-card ul {
  padding-left: 20px;
}

.af-instruction-card li {
  margin-bottom: 10px;
}

/* ================= RESPONSIVE ================= */

@media (max-width: 768px) {
  .af-modal-footer {
    flex-direction: column;
  }

  .af-btn-outline,
  .af-btn-primary {
    width: 100%;
    margin-bottom: 10px;
  }
}


/* Wrapper */
.afp-wrapper {
  display: flex;
  justify-content: center;
  font-family: var(--font-primary);
}

/* Card */
.afp-card {
  width: 100%;
  max-width: 520px;
  background: #ffffff;
  border-radius: 16px;
  padding: 40px 32px;
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.05);
  transition: 0.3s ease;
}

/* Form Group */
.afp-group {
  margin-bottom: 24px;
}

.afp-label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--brand-text-color-black);
  margin-bottom: 10px;
  text-align: center !important;
}

/* Input */
.afp-input {
  height: 52px;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  background: #ffffff;
  padding: 0 16px;
  font-size: 16px;
  transition: all 0.3s ease;
}

.afp-input:focus {
  border-color: var(--brand-primary);
  box-shadow: 0 0 0 3px rgba(189, 1, 1, 0.1);
  outline: none;
}

/* Checkbox */
.afp-checkbox-group {
  margin-bottom: 30px;
}

.afp-checkbox-label {
  font-size: 13px;
  line-height: 1.5;
  color: var(--brand-text-color-black);
  font-weight: 500;
}

/* Submit Button */
.afp-actions {
  margin-bottom: 20px;
}

.afp-submit-btn {
  width: 100%;
  height: 52px;
  border-radius: 14px;
  background: var(--brand-primary);
  color: var(--brand-text-color-white);
  font-size: 16px;
  font-weight: 600;
  border: none;
  transition: all 0.3s ease;
}

.afp-submit-btn:hover {
  background: var(--brand-secondary);
  color: var(--brand-text-color-black);
}

.afp-submit-btn:active {
  transform: translateY(1px);
}

/* Payment Logo */
.afp-payment-brand {
  margin: 20px 0 10px;
}

.afp-payment-logo {
  max-width: 100%;
  border-radius: 10px;
}

/* Info Section */
.afp-info {
  margin-top: 20px;
}

.afp-info-text {
  font-size: 13px;
  color: #6b7280;
  margin-bottom: 12px;
  line-height: 1.6;
}

.afp-info-strong {
  font-weight: 600;
  color: var(--brand-text-color-black);
}

/* Responsive */
@media (max-width: 768px) {
  .afp-card {
    padding: 30px 20px;
  }

  .afp-input {
    height: 50px;
  }

  .afp-submit-btn {
    height: 50px;
  }
}


/* AFFILIATE */

.affiliatewithdrawbutton {
    width: 100%; 
    background-color: var(--brand-primary); 
    color: var(--brand-text-color-white);
    border-style: solid; 
    border-color: var(--brand-text-color-white);
    padding-top: 25px;
    padding-bottom: 25px;
    font-size: 12px;
    display: block;
}

.AffiliateReferLinkButton {
    width: 100%; 
    background-color: var(--brand-secondary);
    color: var(--brand-text-color-black);
    border-style: solid; 
    border-color: var(--brand-secondary);
    border-radius: 10px;
    padding: 30px 15px; 
    font-size: 20px; 
    font-weight: bold; 
    display: block;
}

.affiliate-metric-button {
    width: 100%; 
    background-color: var(--brand-primary);
    color: var(--brand-text-color-white);
    padding: 25px 15px; 
    font-size: 12px; 
    display: block;
    border-radius: 5px;
}

.affiliate-metric-button:hover {
    color: var(--brand-text-color-white);
}

.affiliate-faq-item {
    padding: 40px;
}



/* RESELLER SUBSCRIPTION INFO */
.reseller-subscription-card {
    background: var(--brand-text-color-white);
    padding: 50px 40px;
    border-radius: 16px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.08);
    text-align: center;
    max-width: 1000px;
    margin: 0 auto;
}

.reseller-subscription-card h2 {
    font-size: 35px;
    margin-bottom: 30px;
    color: var(--brand-primary);
    font-weight: 700;
}

.reseller-subscription-card ul {
    list-style: none;
    padding: 0;
    margin-bottom: 40px;
}

.reseller-subscription-card li {
    margin-bottom: 16px;
    font-size: 18px;
    color: var(--brand-text-color-black);
}

.btn-renew {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 18px 30px;
    background: var(--brand-primary);
    color: var(--brand-text-color-white);
    font-size: 20px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 12px;
    transition: background 0.3s ease, transform 0.2s ease;
}

.btn-renew:hover {
    background: var(--brand-secondary);
    transform: translateY(-2px);
}

.renew-icon {
    font-size: 24px;
}


/* VIDEO EMBED */

.af-video-wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 ratio */
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

.af-video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}