/* Base Responsive and Reset Utilities */
* {
    box-sizing: border-box;
}

/* Fix header overlapping and make nav responsive */
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
}

/* Add responsive top space for page content so it does not hide behind the fixed header */
.sare, .kore, .pert, .service {
    margin-top: 100px !important;
}

@media(max-width: 767px) {
    /* Stack navigation on mobile devices */
    nav {
        flex-direction: column !important;
        padding: 15px 20px !important;
        gap: 15px;
    }

    nav ul {
        flex-direction: row !important;
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
        padding: 0;
        margin: 0;
        gap: 10px 15px;
    }

    nav ul li {
        margin-left: 0 !important;
    }

    nav ul li a {
        font-size: 16px !important;
    }

    /* Stack layout elements and adjust widths */
    .sare, .kore, .pert, .service {
        margin-top: 160px !important;
        padding: 0 15px;
    }

    /* About page responsive layout */
    table {
        width: 95% !important;
    }

    .hore {
        width: 95% !important;
    }

    /* FAQ page responsive location map & service list */
    .service iframe {
        width: 100% !important;
        height: 250px !important;
    }

    /* Portfolio page margin adjustment */
    .pert {
        margin-top: 160px !important;
        gap: 20px !important;
    }

    /* Home page hero content responsive sizing */
    .content {
        top: 25% !important;
        padding: 0 20px;
    }

    .content h2 {
        font-size: 24px !important;
    }

    .content p {
        font-size: 14px !important;
    }

    .btn {
        padding: 12px 30px !important;
        font-size: 16px !important;
    }

    footer {
        width: 100% !important;
        left: 0 !important;
        bottom: 10px !important;
    }
}

@media(min-width: 768px) and (max-width: 1023px) {
    nav {
        padding: 15px 30px !important;
    }

    nav ul {
        gap: 15px;
    }

    nav ul li {
        margin-left: 15px !important;
    }

    .sare, .kore, .pert, .service {
        margin-top: 110px !important;
    }

    table {
        width: 75% !important;
    }

    .hore {
        width: 75% !important;
    }
}

@media(min-width: 1024px) {
    nav {
        flex-direction: row !important;
    }
}

/* Unified Header, Logo, and Navigation Style Override */
nav {
    background: #111111 !important;
    padding: 18px 50px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.logo {
    color: #ffffff !important;
}

.logo i, .logo h2 {
    color: #ffffff !important;
}

nav ul li a {
    color: #ffffff !important;
}

nav ul li a:hover {
    border-bottom: 2px solid #ffffff !important;
}

/* Unified Footer Style Override */
footer, .home-footer, .main-footer {
    background: #111111 !important;
    color: #ffffff !important;
    padding: 40px 20px !important;
    text-align: center !important;
    width: 100% !important;
    margin-top: 80px !important;
    position: static !important;
    left: auto !important;
    bottom: auto !important;
}

footer p, .home-footer p, .main-footer p, footer h2, footer h3 {
    margin: 0 !important;
    font-size: 16px !important;
    color: rgba(255, 255, 255, 0.8) !important;
    background: transparent !important;
}