/*
Template Name: Velzon - Admin & Dashboard Template
Author: Themesbrand
Website: https://themesbrand.com/
Contact: support@themesbrand.com
File: Custom Css File
*/

body {
    background-color: #f7f7f7;
}

@font-face {
    font-family: 'TT Norms';
    src: url('/assets/fonts/TTNorms-Regular.woff2') format('woff2'), url('/assets/fonts/TTNorms-Regular.woff') format('woff') !important;
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'TT Norms';
    src: url('/assets/fonts/TTNorms-Bold.woff2') format('woff2'), url('/assets/fonts/TTNorms-Bold.woff') format('woff') !important;
    font-weight: 700;
    font-style: normal;
}

/* 🔸 Apply font and color globally */
* {
    font-family: 'TT Norms', sans-serif !important;
    color: #2E2E2E !important;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'TT Norms', sans-serif !important;
}

.modal-backdrop.show {
    z-index: 0;
}

.page-content {
    padding: calc(85px + 1.5rem) calc(1.5rem * .5) 60px calc(1.5rem * .5);
}

.nav-link.active {
    background-color: #EBEBEB;
}

/*.d-flex {
    align-items: center!important;
}*/

/* Main dropdown hover */
.navbar-nav .dropdown:hover > .dropdown-menu {
    display: block;
}

a {
    text-decoration: none !important;
}

@media (min-width: 992px) {
    .px-lg-5 {
        padding-right: 7rem !important;
        padding-left: 7rem !important;
    }
}

/* Nested dropdown hover */
.dropdown-menu .dropdown-submenu:hover > .dropdown-menu {
    display: flex;
    flex-wrap: wrap;
    left: 39%;
    top: 0;
    background: transparent;
    box-shadow: none;
    border: none;
    gap: 15px;
}

.text-dark {
    color: #2E2E2E !important;
}

.navbar-nav .dropdown-menu {
    margin-top: 0.5rem;
}

.dropdown-toggle::after {
    display: none;
}

.navbar {
    flex-wrap: wrap;
    border-bottom: 1px solid #dbdbdb;
}

.navbar-nav {
    flex-direction: row;
    flex-wrap: wrap;
}

.nav-link {
    white-space: nowrap;
}

@media (max-width: 576px) {
    .form-control {
        width: 100%;
    }

    .navbar-nav .nav-link {
        font-size: 14px;
    }
}

/* Offcanvas customizations */
.offcanvas {
    width: 300px;
}

.navbar .nav-item .nav-link {
    font-size: 18px;
}

/* Nested menu arrow */
.dropdown-submenu .dropdown-item .bi-arrow-right {
    float: right;
    margin-left: 10px;
    font-size: 0.8em;
}

/* Packages Menu Background with Stars and Blinking */
.packages-menu {
    position: relative;
}

    .packages-menu::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        height: 100%;
        background-image: url("/assets/images/blinking-star.png");
        background-size: contain;
        background-repeat: no-repeat;
        animation: blink 1s infinite;
    }

/* Blinking animation for stars */
@keyframes blink {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0.2;
    }

    100% {
        opacity: 1;
    }
}

.new-card-desi {
    border-radius: 10px;
    border: 2px solid #d3d3d3;
}

.dasb_menu_icon {
    height: 30px;
    margin-right: 10px;
}

.usr_dash_icon {
    transition: 0.5s;
}

    .usr_dash_icon:hover {
        transform: translateX(10px);
        transition: 0.5s;
        background: #EBEBEB;
    }

.navbar-menu .navbar-nav .nav-link.active {
    font-weight: 800;
}

/* Default: Hide Button */
.mobile-menu-btn {
    display: none !important;
}

/* Mobile and Tablet */
@media (max-width: 991px) {
    .mobile-menu-btn {
        display: block !important;
    }
}

@media (min-width: 992px) {
    .mob-log {
        display: none;
    }

    .custom-menu {
        display: none !important;
    }

    .mob-cat {
        display: none;
    }
}

.footer-list li a:hover {
    transform: scaleX(1.02);
}

/* For tablets (768px and below) */
@media (max-width: 768px) {
    .card-logo-dark {
        width: 50px;
        height: auto;
    }
}

/* For mobile phones (480px and below) */
@media (max-width: 480px) {
    .card-logo-dark {
        width: 50px;
        height: auto;
    }
}

.home-heading-responsive {
    font-size: 48px;
    line-height: 65px;
}

@media (max-width: 576px) {
    .home-heading-responsive {
        font-size: 30px;
        line-height: 40px;
    }
}
/* ========== Custom Responsive Fixes ========== */

@media only screen and (max-width: 576px) {
    .navbar-header {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: space-between !important;
        align-items: center;
    }

    .hello-text {
        font-size: 14px !important;
        margin-left: 10px !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 180px;
        flex: 1 1 auto;
    }

    .navbar-nav li.nav-item a {
        font-size: 14px !important;
    }

    .topbar-user img {
        margin-right: 0 !important;
    }

    .user-name-text {
        display: none !important;
    }
}


/* ✅ Mobile Fixes */
@media only screen and (max-width: 480px) {
    .card-title {
        font-size: 16px;
    }

    .fs-24 {
        font-size: 18px !important;
    }

    .fs-48 {
        font-size: 36px !important;
    }

    .ms-3 {
        margin-left: 10px !important;
    }

    .row.px-4 {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}