/* =====================================================
   1. GLOBAL BASE STYLES
   Affects: Entire website (layout, typography, scroll)
===================================================== */

/* Prevents layout shift when scrollbar appears/disappears */
html {
    scrollbar-gutter: stable;
}

body {
    margin: 0; /* Removes default browser margin */
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: #212529;           /* Default text color */
    background-color: #ffffff;
}


/* =====================================================
   2. NAVBAR (HEADER)
   Affects: Top navigation bar across all pages
===================================================== */

.navbar {
    border-bottom: 1px solid #eaeaea;
    min-height: 100px; /* Controls navbar height */
}

/* Inner spacing inside navbar */
.navbar .container {
    padding-top: 12px;
    padding-bottom: 12px;
}

/* Navigation links */
.navbar-nav .nav-link {
    font-weight: 700;
    color: #495057 !important;
    transition: color 0.3s ease-in-out;
}

/* Hover / Active states */
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.navbar-nav .nav-item.active .nav-link {
    color: #000000 !important;
    text-decoration: underline;
    text-underline-offset: 6px;
}


/* =====================================================
   3. DROPDOWN MENU
   Affects: Services dropdown in navbar
===================================================== */

.dropdown-menu {
    background-color: #ffffff;
    border: 1px solid #eaeaea;
    border-radius: 0;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}

.dropdown-menu .dropdown-item {
    font-weight: 700;
}

/* Hover effect */
.dropdown-item:hover {
    background-color: #e9e6ec !important;
}

/* =====================================================
   4. UTILITY CLASSES
   Affects: Reusable styles across multiple sections
===================================================== */

.bg-light-gray {
    background-color: #f8f9fa;
}


/* =====================================================
   5. CARDS (SERVICE / CONTENT CARDS)
   Affects: Service cards, feature blocks
===================================================== */

.card-minimal {
    border: 1px solid #eaeaea;
    border-radius: 0;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card-minimal:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
}


/* =====================================================
   6. BUTTONS
   Affects: Custom CTA buttons across site
===================================================== */

.btn-primary-custom {
    background-color: #212529;
    color: #ffffff;
    border: none;
    border-radius: 0;
    padding: 10px 24px;
    font-weight: 600;
    transition: background-color 0.3s;
}

.btn-primary-custom:hover {
    background-color: #000000;
}


/* =====================================================
   7. SCROLLING IMAGE STRIP
   Affects: Horizontal auto-scrolling logo/image section
===================================================== */

.scroll-wrapper {
    overflow: hidden;
    position: relative;
}

.scroll-track {
    display: flex;
    width: max-content;
    animation: scroll 20s linear infinite;
}

.scroll-item {
    flex: 0 0 auto;
    width: 250px;
    margin: 0 30px;
}

.scroll-item img {
    width: 100%;
    height: auto;
    opacity: 1;
    transition: opacity 0.3s;
}

.scroll-item img:hover {
    opacity: 1;
}

/* Animation for continuous scrolling */
@keyframes scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}


/* =====================================================
   8. FEATURE / HERO CARD WITH OVERLAY
   Affects: "Less plastic, more planet" style section
===================================================== */

.sustain-card {
    min-height: 420px; /* Desktop height */
}

/* Gradient overlay over image */
.overlay {
    background: linear-gradient(
        to right,
        rgba(0,0,0,0.65),
        rgba(0,0,0,0.1)
    );
}

/* Media Queries */

/* =====================================================
   9. RESPONSIVE (MOBILE ADJUSTMENTS)
   Affects: Screens below 768px
===================================================== */

@media (max-width: 767px) {

    /* Image becomes normal (no overlay effect) */
    .sustain-card img {
        position: static !important;
        height: 240px;
    }

    /* Remove overlay for mobile */
    .overlay {
        display: none;
    }

    /* Remove fixed height */
    .sustain-card {
        min-height: auto;
    }

    /* Text area gets solid background */
    .sustain-card .d-flex {
        background: #0e3d26;
    }
}


/* =====================================================
   10. FOOTER
   Affects: Entire footer section
===================================================== */

.footer {
    font-size: 14px;
}

/* Footer links */
.footer-link {
    color: #adb5bd;
    text-decoration: none;
    display: block;
    margin-bottom: 6px;
}

.footer-link:hover {
    color: #ffffff;
}

/* Footer text */
.footer-text {
    color: #adb5bd;
    margin-bottom: 6px;
}

/* Social / icon links */
.icon-link {
    color: #adb5bd;
    margin-right: 10px;
    font-size: 18px;
    text-decoration: none;
}

.icon-link:hover {
    color: #ffffff;
}

    .ourServices-heading-color{
        color: darkblue;
    }

/*====================================================
   MOBILE OPTIMIZATION (READABILITY + SPACING)
   Affects: Entire website on screens < 768px
=====================================================*/

@media (max-width: 767px) {

    /* ---------- 1. GLOBAL TYPOGRAPHY ---------- */
    body {
        font-size: 16px;          /* base readable size */
        line-height: 1.6;         /* better readability */
    }

    h1, .display-5 {
        font-size: 1.8rem;
        line-height: 1.3;
    }

    h2 {
        font-size: 1.5rem;
        line-height: 1.3;
    }

    h3 {
        font-size: 1.3rem;
    }

    p, .lead {
        font-size: 1rem;
    }

    .btn {
        font-size: 1rem;
        padding: 10px 16px;
    }

    /* ---------- 2. CONTAINER & LAYOUT SPACING ---------- */

    /* Reduce default Bootstrap side padding */
    .container {
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    /* Reduce column internal spacing */
    .row > [class*="col"] {
        padding-left: 8px;
        padding-right: 8px;
    }

    /* Optional: reduce section side padding */
    section {
        padding-left: 0;
        padding-right: 0;
    }


    /* ---------- 3. NAVBAR (OPTIONAL TIGHTENING) ---------- */
    .navbar {
        min-height: auto;  /* remove large desktop height */
    }

    .navbar .container {
        padding-top: 8px;
        padding-bottom: 8px;
    }


    /* ---------- 4. SUSTAIN CARD (YOUR IMAGE + TEXT SECTION) ---------- */
    .sustain-card {
        min-height: auto; /* remove fixed height */
    }

    .sustain-card img {
        position: static !important;
        height: 240px;
        width: 100%;
        object-fit: cover;
    }

    .overlay {
        display: none; /* remove overlay for mobile */
    }

    .sustain-card .d-flex {
        background: #0e3d26;
        padding: 20px 12px; /* reduce side spacing */
    }


    /* ---------- 5. SCROLLING STRIP (IMPROVE FIT) ---------- */
    .scroll-item {
        width: 180px;
        margin: 0 15px;
    }

    /* ---------- 6. FOOTER IMPROVEMENT ---------- */
    .footer {
        font-size: 15px;
    }

    .footer .row > div {
        margin-bottom: 20px;
    }
}

/* ===== Additional unique styles from style2 ===== */

/*====================================================
    BYTEVISTAR WEBSITE
====================================================*/

:root {

    --primary: #0d6efd;
    --secondary: #212529;
    --light: #f8f9fa;
    --white: #ffffff;
    --text: #555555;
    --border: #e9ecef;
    --shadow: 0 15px 40px rgba(0,0,0,.08);
    --radius: 16px;
    --transition: .3s ease;

}



*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}



html{

    scroll-behavior:smooth;

}



img{

    max-width:100%;
    display:block;

}



a{

    text-decoration:none;
    transition:var(--transition);

}



.section-padding{

    padding:90px 0;

}



.section-heading{

    max-width:720px;
    margin:auto;
    margin-bottom:50px;

}

.section-heading h2{

    font-size:42px;
    font-weight:700;
    margin-bottom:20px;

}

.section-heading p{

    color:var(--text);
    font-size:17px;

}

.section-subtitle{

    display:inline-block;
    color:var(--primary);
    font-weight:600;
    letter-spacing:1px;
    margin-bottom:12px;
    text-transform:uppercase;
    font-size:14px;

}

.section-title{

    font-size:42px;
    font-weight:700;
    margin-bottom:25px;

}

/*==================================
            BUTTONS
==================================*/

.btn{

    border-radius:40px;
    padding:14px 34px;
    font-weight:600;
    transition:var(--transition);

}

.btn-primary{

    background:var(--primary);
    border:none;

}

.btn-primary:hover{

    transform:translateY(-3px);
    box-shadow:0 15px 30px rgba(13,110,253,.25);

}

.btn-outline-primary:hover{

    transform:translateY(-3px);

}

/*==================================
            NAVBAR
==================================*/

.navbar{

    padding:18px 0;
    background:#fff;

}

.brand-name{

    font-size:28px;
    font-weight:700;
    color:var(--secondary);

}

.navbar-nav .nav-link{

    font-weight:500;
    color:#333;
    margin-left:20px;

}



.navbar-nav .nav-link:hover{

    color:var(--primary);

}



.navbar-nav .active{

    color:var(--primary)!important;

}



/*==================================
            HERO
==================================*/

.hero-section{

    padding:110px 0;
    padding-top: 50px;

}



.hero-badge{

    display:inline-block;
    background:#eaf3ff;
    color:var(--primary);
    padding:10px 18px;
    border-radius:50px;
    font-weight:600;
    margin-bottom:30px;

}



.hero-title{

    font-size:30px;
    font-weight:550;
    line-height:1.15;
    margin-bottom:25px;

}



.hero-description{

    font-size:14px;
    color:var(--text);

}



.hero-image{

    border-radius:25px;
    box-shadow:var(--shadow);

}



.hero-features{

    margin-top:45px;

}



.feature-box{

    text-align:center;
    padding:20px;
    border-radius:15px;
    background:#fff;
    box-shadow:0 8px 20px rgba(0,0,0,.05);
    transition:var(--transition);
    height:100%;

}



.feature-box:hover{

    transform:translateY(-8px);

}



.feature-box i{

    font-size:34px;
    color:var(--primary);
    margin-bottom:15px;
    display:block;

}



.feature-box span{

    font-weight:600;
    font-size:15px;

}



/*==================================
        TECHNOLOGY CARDS
==================================*/

.tech-card{

    background:#fff;
    border-radius:16px;
    padding:35px 20px;
    text-align:center;
    transition:var(--transition);
    box-shadow:0 5px 15px rgba(0,0,0,.05);
    height:100%;

}



.tech-card:hover{

    transform:translateY(-10px);
    box-shadow:var(--shadow);

}



.tech-card i{

    font-size:44px;
    color:var(--primary);
    margin-bottom:18px;
    display:block;

}



.tech-card h6{

    font-size:18px;
    font-weight:600;

}



/*==================================
            ABOUT
==================================*/

.about-item{

    font-weight:600;
    margin-bottom:10px;

}



.about-item i{

    color:var(--primary);
    margin-right:8px;

}



/*==================================
            SERVICES
==================================*/

.service-card{

    background:#fff;
    border-radius:var(--radius);
    padding:40px 30px;
    text-align:center;
    transition:var(--transition);
    box-shadow:0 10px 25px rgba(0,0,0,.05);
    height:100%;
    border:1px solid transparent;

}



.service-card:hover{

    transform:translateY(-10px);
    border-color:var(--primary);
    box-shadow:var(--shadow);

}



.service-card i{

    font-size:52px;
    color:var(--primary);
    margin-bottom:25px;
    display:block;

}



.service-card h4{

    font-size:24px;
    font-weight:700;
    margin-bottom:18px;

}



.service-card p{

    color:var(--text);
    margin-bottom:0;

}



/*==================================
        WHY CHOOSE US
==================================*/

.feature-card{

    background:#fff;
    border-radius:var(--radius);
    padding:35px 25px;
    text-align:center;
    box-shadow:0 8px 20px rgba(0,0,0,.05);
    transition:var(--transition);
    height:100%;

}



.feature-card:hover{

    transform:translateY(-10px);
    box-shadow:var(--shadow);

}



.feature-card i{

    font-size:48px;
    color:var(--primary);
    margin-bottom:20px;
    display:block;

}



.feature-card h5{

    font-size:22px;
    font-weight:700;
    margin-bottom:15px;

}



.feature-card p{

    color:var(--text);
    margin-bottom:0;

}



/*==================================
            PROCESS
==================================*/

.process-box{

    background:#fff;
    border-radius:18px;
    padding:35px 20px;
    text-align:center;
    box-shadow:0 8px 20px rgba(0,0,0,.05);
    transition:var(--transition);
    height:100%;

}



.process-box:hover{

    transform:translateY(-8px);
    box-shadow:var(--shadow);

}



.process-box span{

    width:60px;
    height:60px;
    border-radius:50%;
    background:var(--primary);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 20px;
    font-size:22px;
    font-weight:700;

}



.process-box h6{

    font-size:18px;
    font-weight:600;
    margin:0;

}



/*==================================
            INDUSTRIES
==================================*/

.industry-card{

    background:#fff;
    border-radius:16px;
    padding:35px 20px;
    text-align:center;
    transition:var(--transition);
    box-shadow:0 8px 18px rgba(0,0,0,.05);
    height:100%;

}



.industry-card:hover{

    background:var(--primary);
    color:#fff;
    transform:translateY(-8px);

}



.industry-card i{

    font-size:42px;
    margin-bottom:18px;
    display:block;
    color:var(--primary);
    transition:var(--transition);

}



.industry-card:hover i{

    color:#fff;

}



.industry-card h6{

    margin:0;
    font-size:18px;
    font-weight:600;

}



/*==================================
            CTA
==================================*/

.cta-section{

    padding:90px 0;
    background:linear-gradient(135deg,#0d6efd,#0047c2);
    color:#fff;

}



.cta-section h2{

    font-size:42px;
    font-weight:700;
    margin-bottom:20px;

}



.cta-section p{

    font-size:18px;
    opacity:.95;
    margin-bottom:0;

}



.cta-section .btn{

    color:#0d6efd;
    font-weight:700;

}



/*==================================
            FOOTER
==================================*/

.footer{

    background:#111827;
    color:#d6d6d6;
    padding:70px 0 25px;

}



.footer h4{

    color:#fff;
    font-weight:700;
    margin-bottom:20px;

}



.footer h5{

    color:#fff;
    margin-bottom:20px;
    font-weight:600;

}



.footer p{

    color:#bdbdbd;
    margin-bottom:12px;

}



.footer ul{

    padding-left:0;
    list-style:none;

}



.footer ul li{

    margin-bottom:12px;

}



.footer a{

    color:#bdbdbd;

}



.footer a:hover{

    color:#fff;

}



.footer hr{

    border-color:rgba(255,255,255,.1);
    margin:40px 0 25px;

}



.social-icons{

    display:flex;
    gap:12px;
    margin-top:20px;

}



.social-icons a{

    width:42px;
    height:42px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    transition:var(--transition);

}



.social-icons a:hover{

    background:var(--primary);
    transform:translateY(-4px);

}



.social-icons i{

    font-size:18px;

}



/*==================================
        RESPONSIVE DESIGN
==================================*/

@media (max-width:1199px){

    .hero-title{

        font-size:50px;

    }

    .section-title{

        font-size:38px;

    }

    .section-heading h2{

        font-size:38px;

    }

}



@media (max-width:991px){

    .section-padding{

        padding:70px 0;

    }

    .hero-section{

        padding:80px 0;

        text-align:center;

    }

    .hero-title{

        font-size:44px;

    }

    .section-title{

        font-size:34px;

    }

    .section-heading h2{

        font-size:34px;

    }

    .navbar-nav{

        margin-top:20px;
        text-align:center;

    }

    .navbar-nav .nav-link{

        margin:12px 0;

    }

    .hero-image{

        margin-top:40px;

    }

    .cta-section{

        text-align:center;

    }

    .cta-section .btn{

        margin-top:30px;

    }

    .footer{

        text-align:center;

    }

    .social-icons{

        justify-content:center;

    }

}



@media (max-width:767px){

    .hero-title{

        font-size:36px;

    }

    .hero-description{

        font-size:16px;

    }

    .section-title{

        font-size:30px;

    }

    .section-heading h2{

        font-size:30px;

    }

    .section-heading{

        margin-bottom:40px;

    }

    .btn{

        width:100%;

        margin-bottom:15px;

    }

    .hero-features .col-6{

        margin-bottom:20px;

    }

    .feature-box{

        padding:18px;

    }

    .tech-card{

        padding:28px 15px;

    }

    .service-card{

        padding:30px 22px;

    }

    .feature-card{

        padding:28px 22px;

    }

    .industry-card{

        padding:30px 18px;

    }

    .process-box{

        padding:28px 15px;

    }

    .cta-section h2{

        font-size:32px;

    }

}



@media (max-width:575px){

    .hero-section{

        padding:60px 0;

    }

    .hero-title{

        font-size:30px;

        line-height:1.25;

    }

    .hero-description{

        font-size:15px;

    }

    .section-padding{

        padding:60px 0;

    }

    .section-title{

        font-size:28px;

    }

    .section-heading h2{

        font-size:28px;

    }

    .brand-name{

        font-size:24px;

    }

    .hero-badge{

        font-size:13px;

        padding:8px 15px;

    }

    .feature-box i{

        font-size:28px;

    }

    .tech-card i{

        font-size:36px;

    }

    .service-card i{

        font-size:42px;

    }

    .feature-card i{

        font-size:40px;

    }

    .industry-card i{

        font-size:36px;

    }

    .process-box span{

        width:52px;

        height:52px;

        font-size:18px;

    }

    .footer{

        padding:60px 0 20px;

    }

}



/*==================================
        UTILITIES
==================================*/

.shadow-hover{

    transition:var(--transition);

}



.shadow-hover:hover{

    box-shadow:var(--shadow);

}



.rounded-xl{

    border-radius:var(--radius);

}



.bg-light-blue{

    background:#f4f8ff;

}



.text-primary{

    color:var(--primary)!important;

}



.text-muted{

    color:var(--text)!important;

}



.mb-40{

    margin-bottom:40px;

}



.mt-40{

    margin-top:40px;

}



.py-100{

    padding-top:100px;
    padding-bottom:100px;

}



/*==================================
        SCROLLBAR
==================================*/

::-webkit-scrollbar{

    width:10px;

}



::-webkit-scrollbar-track{

    background:#f1f1f1;

}



::-webkit-scrollbar-thumb{

    background:var(--primary);
    border-radius:20px;

}



::-webkit-scrollbar-thumb:hover{

    background:#0b5ed7;

}



/*==================================
        SELECTION
==================================*/

::selection{

    background:var(--primary);
    color:#fff;

}



/*==================================
        ANIMATIONS
==================================*/

@keyframes float{

    0%{

        transform:translateY(0px);

    }

    50%{

        transform:translateY(-10px);

    }

    100%{

        transform:translateY(0px);

    }

}



.hero-image{

    animation:float 5s ease-in-out infinite;

}