/* ==================================================
   ServiceCore Lite v1.0
   Main stylesheet
================================================== */


/* =========================
   RESET
========================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}


html {
    scroll-behavior: smooth;
}


body {
    margin: 0;
    padding: 0;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 16px;
    line-height: 1.5;

    color: var(--text-color);

    background: var(--bg-color);
}


img {
    max-width: 100%;
    height: auto;
    display: block;
}


a {
    color: inherit;
    text-decoration: none;
}


button,
input,
textarea {
    font: inherit;
}


/* =========================
   VARIABLES
========================= */

:root {

    /* Colors */

    --primary-color: #1976d2;

    --secondary-color: #0d47a1;

    --accent-color: #ff9800;


    --text-color: #222;

    --text-light: #666;


    --bg-color: #ffffff;

    --bg-light: #f5f7fa;


    --border-color: #e5e5e5;


    /* Layout */

    --container-width: 1200px;


    /* Design */

    --radius: 12px;

    --shadow:
        0 10px 30px rgba(0,0,0,0.08);


    --transition:
        .3s ease;

}


/* =========================
   TYPOGRAPHY
========================= */


h1,
h2,
h3,
h4 {

    margin-top: 0;

    line-height: 1.2;

}


h1 {

    font-size: 42px;

}


h2 {

    font-size: 32px;

}


h3 {

    font-size: 22px;

}


p {

    margin-top: 0;

}


/* =========================
   CONTAINER
========================= */


.container {

    width: 100%;

    max-width: var(--container-width);

    margin-left: auto;
    margin-right: auto;

    padding-left: 20px;
    padding-right: 20px;

}



/* =========================
   SECTIONS
========================= */


section {

    padding: 70px 0;

}



/* =========================
   GRID
========================= */


.grid {

    display: grid;

    gap: 30px;

}


.grid-2 {

    grid-template-columns:
    repeat(2, 1fr);

}


.grid-3 {

    grid-template-columns:
    repeat(3, 1fr);

}



/* =========================
   FLEX
========================= */


.flex {

    display: flex;

}


.flex-between {

    display: flex;

    justify-content: space-between;

    align-items: center;

}


.flex-center {

    display: flex;

    justify-content: center;

    align-items: center;

}



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


.btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;


    padding: 14px 28px;


    border-radius: var(--radius);


    border: none;


    cursor: pointer;


    transition:
        var(--transition);


    font-weight: 600;

}



.btn-primary {

    background:
        var(--primary-color);


    color: #fff;

}



.btn-primary:hover {

    background:
        var(--secondary-color);

}



/* =========================
   HEADER
========================= */


.site-header {

    background: #fff;

    border-bottom:
        1px solid var(--border-color);


    position: sticky;

    top: 0;

    z-index: 100;

}



.site-header .container {

    min-height: 80px;

    display: flex;

    align-items: center;

    justify-content: space-between;

}



/* =========================
   NAVIGATION
========================= */


.main-nav {

    display: flex;

    gap: 25px;

}



.main-nav a:hover {

    color:
    var(--primary-color);

}



/* =========================
   MOBILE BUTTON
========================= */


.menu-toggle {

    display: none;

    background: none;

    border: none;

    font-size: 28px;

}



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


.hero {

    background:
        var(--bg-light);

}



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


.card {

    padding: 30px;


    background: #fff;


    border-radius:
        var(--radius);


    box-shadow:
        var(--shadow);

}



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


.site-footer {

    padding: 40px 0;


    background:
        #111;


    color:
        #fff;

}



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


@media (max-width: 900px) {


    h1 {

        font-size: 34px;

    }


    h2 {

        font-size: 26px;

    }


    .grid-3 {

        grid-template-columns:
        1fr;

    }


    .main-nav {

        display: none;

    }


    .menu-toggle {

        display: block;

    }


}



@media (max-width: 600px) {


    section {

        padding: 45px 0;

    }


    .grid-2 {

        grid-template-columns:
        1fr;

    }


    .container {

        padding-left: 15px;

        padding-right: 15px;

    }


}

/* =========================
   LANGUAGE SWITCHER
========================= */


.language-switcher {

    display: flex;

    gap: 8px;

    align-items: center;

    font-size: 14px;

}


.language-switcher a {

    color: var(--text-color);

    font-weight: 600;

}


.language-switcher a:hover {

    color: var(--primary-color);

}


.language-switcher .active {

    color: var(--primary-color);

}

/* ==========================
   MOBILE MENU
========================== */


.menu-toggle {

    display: none;

    background: none;

    border: 0;

    font-size: 30px;

    cursor: pointer;

}



@media (max-width: 768px) {


    .menu-toggle {

        display: block;

    }



    .main-nav {


        position: absolute;

        top: 70px;

        left: 0;

        right: 0;


        background: #fff;


        display: none;


        flex-direction: column;


        padding: 20px;


        z-index: 1000;

    }



    .main-nav.active {


        display: flex;


    }


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


.site-footer {


    background:#111;

    color:#fff;

    padding:50px 0 20px;


}



.footer-grid {


    display:grid;


    grid-template-columns:
    repeat(4,1fr);


    gap:30px;


}



.footer-column h3 {


    margin-bottom:20px;


    font-size:18px;


}



.footer-column p {


    color:#ccc;


    line-height:1.6;


}



.footer-column ul {


    list-style:none;


    padding:0;


    margin:0;


}



.footer-column li {


    margin-bottom:10px;


}



.footer-column a {


    color:#ccc;


    text-decoration:none;


}



.footer-column a:hover {


    color:#fff;


}





.footer-bottom {


    border-top:1px solid #333;


    margin-top:40px;


    padding-top:20px;


    text-align:center;


    color:#999;


}




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


@media(max-width:768px){



    .footer-grid {


        grid-template-columns:
        1fr;


        gap:35px;


    }



    .site-footer {


        padding:35px 0 20px;


    }


}