/* ==========================
   Mobile Menu – Vertical Dropdown
========================== */
@media (max-width: 991px) {

    /* Main menu panel */
    .navbar-collapse.main-menu {
        position: fixed;
        top: 0;
        right: -100%;
        width: 330px;
        height: 100%;
        background: #2f735e;
        z-index: 9999;
        overflow-y: auto;
        box-shadow: -5px 0 20px rgba(0,0,0,0.2);
        transition: right 0.4s cubic-bezier(0.77,0,0.175,1);
        padding: 60px 12px 12px 12px;
    }

    /* Show menu */
    .navbar-collapse.main-menu.show {
        right: 0;
    }

    /* Close button */
    .menu-close-btn {
        position: absolute;
        top: 15px;
        right: 15px;
        font-size: 24px;
        cursor: pointer;
        background: #fff;
        height: 40px;
        width: 40px;
        border-radius: 50%;
        display: flex;
        color: #333;
        justify-content: center;
        align-items: center;
        box-shadow: 0 3px 8px rgba(0,0,0,0.2);
        transition: all 0.3s ease;
        visibility: visible !important;
    }

    .menu-close-btn:hover {
        color: #0a0a0a;
        transform: scale(1.1);
        box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    }

    /* Overlay */
    .menu-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0);
        z-index: 9998;
        opacity: 0;
        transition: opacity 0.4s ease;
        pointer-events: none;
    }

    .menu-overlay.active {
        background: rgba(0,0,0,0.4);
        opacity: 1;
        pointer-events: all;
    }

    /* Main menu wrapper */
    .main-menu .nav-menu-wrapper {
        flex: 1;
        text-align: start !important;
        margin: 0 !important;
    }

    .main-menu .nav-menu-wrapper>ul {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
        margin: 0 !important;
    }

    /* Menu links */
    .navbar-nav li a {
        display: block;
        padding: 12px 0;
        font-weight: 500;
        font-size: 16px;
        color: #fff !important;
        transition: background 0.3s, color 0.3s;
    }

    .navbar-nav li a:hover {
        /* color: #007bff !important; */
        background: rgba(255,255,255,0.1);
    }

    /* Submenu base */
    .navbar-nav li.submenu {
        position: relative;
        width: 100%;
    }

    /* Arrow icon */
    .navbar-nav li.submenu > a::after {
        content: "\f105"; /* right arrow */
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        float: right;
        transition: transform 0.3s;
        margin-left: 8px;
    }

    .navbar-nav li.submenu.open > a::after {
        transform: rotate(90deg);
    }

    /* Vertical dropdown for submenu */
    .navbar-nav li.submenu ul {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s ease, padding 0.4s ease;
        padding-left: 15px;
        margin: 0;
    }

    .navbar-nav li.submenu.open > ul {
        max-height: 500px; /* enough for submenu items */
        padding-top: 5px;
        padding-bottom: 5px;
        width: 100%;
    }

    /* Nested submenu indentation */
    .navbar-nav li.submenu ul li.submenu ul {
        padding-left: 20px;
        border-left: 2px solid rgba(255,255,255,0.1);
    }

    /* Submenu links */
    .navbar-nav li.submenu ul li a {
        padding: 8px 12px;
        font-size: 15px;
        color: #fff !important;
        transition: background 0.3s, color 0.3s;
    }

    .navbar-nav li.submenu ul li a:hover {
        background: rgba(255,255,255,0.1);
        
    }

    .main-menu ul li:hover>ul {
        padding: 0 !important;
    }

    
}



/* TOP BAR RESPONSIVE */

/* Responsive Adjustments */
@media (max-width: 991px) {
    .topbar-contact-info ul,
    .topbar-social-links ul {
        justify-content: center;
        gap: 15px;
        text-align: center;
    }
    .topbar-social-links {
        margin-top: 10px;
        text-align: center;
    }

    
}

@media (max-width: 575px) {
    .topbar-contact-info ul {
        flex-direction: column;
        gap: 10px;
        display: none !important;
    }
    .topbar-social-links ul {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 10px;
    }
    .topbar-social-links {
        margin-top: 0px;
        text-align: center;
    }

    .menu-overlay.active {
        display: none !important;
    }
}


/* Responsive Adjustments */
@media (max-width: 991px) {
    .hero .col-md-4,
    .hero .col-md-8 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    
    .hero .col-md-4 {
        padding: 30px 20px;
        text-align: left;
    }

    .hero .col-md-4 h1 {
        font-size: 2rem;
    }

    .hero .col-md-4 .sub-title {
        font-size: 1.1rem;
    }

    .hero .col-md-4 p {
        max-width: 100%;
        margin: 0 auto;
        font-size: 0.95rem;
    }

    .zoom-wrapper {
        height: 50vh !important;
    }

    .banner-content {
        padding: 10px !important;
    }

    .team-section {
        padding-top: 220px !important;
    }
}

@media (max-width: 575px) {
    .hero .col-md-4 {
        padding: 20px 15px;
    }

    .hero .col-md-4 h1 {
        font-size: 1.5rem;
    }

    .hero .col-md-4 .sub-title {
        font-size: 1rem;
    }

    .hero .col-md-4 p {
        font-size: 0.9rem;
    }

    .team-section {
        padding-top: 40px !important;
    }
}


@media (max-width: 991px) {
    .product-image {
        margin-top: 0px !important;
    }
}


/* ===============================
   LARGE DESKTOP (≥ 1200px)
=============================== */
@media (min-width: 1200px) {
    .core-card h5 {
        font-size: 26px;
    }
}

/* ===============================
   LAPTOP / SMALL DESKTOP (≤ 1199px)
=============================== */
@media (max-width: 1199px) {
    .core-card h5 {
        font-size: 24px;
    }

    .core-card .core-header img {
        width: 56px;
    }
}

/* ===============================
   TABLET (≤ 991px)
=============================== */
@media (max-width: 991px) {
    .core-card {
        padding: 18px;
    }

    .core-card .core-header {
        gap: 10px;
    }

    .core-card h5 {
        font-size: 22px;
    }

    .core-card .core-header img {
        width: 52px;
        margin-right: 10px;
    }

    .core-card p {
        font-size: 15px;
        text-align: center;
    }
}

/* ===============================
   MOBILE (≤ 767px)
=============================== */
@media (max-width: 767px) {
    .core-card {
        padding: 16px;
        text-align: center;
    }

    .core-card .core-header {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
    }

    .core-card .core-header img {
        width: 48px;
        margin-right: 0;
        margin-bottom: 8px;
    }

    .core-card h5 {
        font-size: 20px;
    }

    .core-card p {
        font-size: 14.5px;
        line-height: 1.55;
    }
}

/* ===============================
   SMALL MOBILE (≤ 575px)
=============================== */
@media (max-width: 575px) {
    .core-card {
        padding: 14px;
    }

    .core-card h5 {
        font-size: 18px;
    }

    .core-card p {
        font-size: 14px;
    }
}


@media (max-width: 991px) {
    .project-overlay {
        padding: 18px 20px !important;
    }

    .project-overlay h2 {
        font-size: 1.35rem !important;
    }

    .project-overlay p {
        font-size: 0.95rem !important;
    }
}


@media (max-width: 767px) {
    .project-item img {
        height: 260px !important;
    }

    .project-overlay {
        transform: translateY(0);
        background: rgba(0, 128, 96, 0.85);
        justify-content: flex-end;
        padding: 14px 16px !important;
    }

    .project-overlay h2 {
        font-size: 1.1rem !important;
    }

    .project-overlay p {
        font-size: 0.85rem !important;
        margin-bottom: 4px !important;
    }
}


@media (max-width: 575px) {
    .project-item img {
        height: 220px !important;
    }

    .project-overlay h2 {
        font-size: 1rem !important;
    }

    .project-overlay p {
        font-size: 0.8rem !important;
    }
}


@media (max-width: 991px) {
    .contact-info {
        padding: 50px 0 !important;
    }

    .contact-info__single {
        height: 210px !important;
        padding: 22px !important;
        margin-bottom: 20px !important;
        align-items: center;
    }

    .contact-info__icon {
        width: 60px !important;
        height: 60px !important;
    }

    .contact-info__icon span {
        font-size: 28px !important;
    }

    .contact-info__single h3 {
        font-size: 20px !important;
        line-height: 28px !important;
    }
}


@media (max-width: 767px) {
    .contact-info {
        padding: 40px 0 !important;
    }

    .contact-info__single {
        height: auto !important;
        padding: 24px 20px !important;
        text-align: center !important;
        margin-bottom: 20px !important;
    }

    .contact-info__icon {
        margin: 0 auto !important;
    }

    .contact-info__single p {
        margin-top: 15px !important;
        font-size: 14px !important;
    }

    .contact-info__single h3,
    .contact-info__single h5 {
        font-size: 18px !important;
        line-height: 26px !important;
    }
}


@media (max-width: 575px) {
    .contact-info__single {
        padding: 20px 16px !important;
    }

    .contact-info__icon {
        width: 54px !important;
        height: 54px !important;
    }

    .contact-info__icon span {
        font-size: 24px !important;
    }

    .contact-info__single h3,
    .contact-info__single h5 {
        font-size: 16px !important;
        line-height: 24px !important;
    }
}


@media (max-width: 1199px) {
    .contact-page__inner {
        padding: 50px 30px !important;
    }

    .contact-page__left {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .google-map__one {
        height: 450px !important;
    }

    .contact-page__form-title {
        font-size: 36px !important;
    }
}


@media (max-width: 991px) {
    .contact-page {
        padding-bottom: 50px !important;
    }

    .contact-page__inner {
        padding: 40px 25px !important;
    }

    .google-map__one {
        height: 400px !important;
        margin-bottom: 30px !important;
    }

    .contact-page__right {
        margin-right: 0 !important;
    }

    .contact-page__form-title {
        font-size: 32px !important;
        margin-bottom: 22px !important;
    }

    .contact-page__input-box input,
    .contact-page__input-box textarea {
        font-size: 15px !important;
    }
}


@media (max-width: 767px) {
    .contact-page {
        padding-bottom: 40px !important;
    }

    .contact-page__inner {
        padding: 30px 16px !important;
        border-radius: 16px !important;
    }

    .contact-page__left {
        margin: 0 !important;
    }

    .google-map__one {
        height: 300px !important;
        border-radius: 16px !important;
        margin-bottom: 25px !important;
    }

    .contact-page__right {
        padding: 16px !important;
        margin: 0 !important;
        border-radius: 16px !important;
    }

    .contact-page__form-title {
        font-size: 26px !important;
        text-align: center !important;
    }

    .contact-page__input-box {
        margin-bottom: 20px !important;
    }

    .contact-page__btn-box {
        text-align: center !important;
    }

    .contact-page__btn-box .thm-btn {
        width: 100% !important;
        justify-content: center !important;
    }
}


@media (max-width: 575px) {
    .google-map__one {
        height: 250px !important;
    }

    .contact-page__form-title {
        font-size: 22px !important;
    }

    .contact-page__input-box input,
    .contact-page__input-box textarea {
        font-size: 14px !important;
    }
}


@media (max-width: 991px) {
    .view-box {
        height: 300px !important;
        
    }

    .view-box span {
        font-size: 24px !important;
    }
}

@media (max-width: 767px) {
    .view-box {
        height: 220px !important;
        
    }

    .view-box span {
        font-size: 20px !important;
    }
}


@media (max-width: 1096px) {
    .main-menu ul li.nav-item a {
        font-size: 12px !important;
    }
}

























