/* ===========================================================
   MenuLink Website
   Global Styles / Design System
   Version: 1.0
=========================================================== */

/* =========================
   GOOGLE FONT
========================= */

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap");

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

:root {

    /* Brand */

    --primary: #6D0037;
    --primary-dark: #4A0026;
    --primary-light: #FFE9F3;

    --accent: #1FA84A;
    --accent-dark: #157A36;

    /* Background */

    --background: #FFFFFF;
    --surface: #FEFCFF;
    --surface-2: #FBF7FC;

    /* Text */

    --text: #0D0D0D;
    --text-light: #6D5F68;
    --text-muted: #8E8E8E;
    --white: #FFFFFF;

    /* Border */

    --border: #D8C4CF;
    --divider: #EEE1EC;

    /* Status */

    --success: #1FA84A;
    --warning: #F59E0B;
    --danger: #DC2626;
    --info: #2563EB;

    /* Shadow */

    --shadow-sm: 0 2px 8px rgba(0,0,0,.05);

    --shadow:
    0 8px 30px rgba(15,23,42,.08);

    --shadow-lg:
    0 18px 45px rgba(15,23,42,.12);

    /* Radius */

    --radius-sm:8px;
    --radius:14px;
    --radius-lg:22px;
    --radius-xl:32px;

    /* Transition */

    --transition:.3s ease;

    /* Width */

    --container:1280px;

}


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

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{

    scroll-behavior:smooth;

}

body{

    font-family:"Inter",sans-serif;

    background:var(--background);

    color:var(--text);

    line-height:1.7;

    overflow-x:hidden;

    -webkit-font-smoothing:antialiased;

}


/* =========================
   COMMON
========================= */

img{

    display:block;

    max-width:100%;

}

a{

    color:inherit;

    text-decoration:none;

}

ul{

    list-style:none;

}

button{

    font-family:inherit;

    border:none;

    cursor:pointer;

}

input,
textarea,
select{

    font-family:inherit;

}

::selection{

    background:var(--primary);

    color:#fff;

}


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

.container{

    width:min(92%,var(--container));

    margin:auto;

}


/* =========================
   SECTION
========================= */

.section{

    padding:100px 0;

}

.section-sm{

    padding:70px 0;

}

.section-title{

    font-size:44px;

    font-weight:800;

    line-height:1.2;

    margin-bottom:18px;

}

.section-subtitle{

    color:var(--text-light);

    font-size:18px;

    max-width:760px;

}


/* =========================
   HEADINGS
========================= */

h1{

    font-size:64px;

    line-height:1.1;

    font-weight:900;

}

h2{

    font-size:46px;

    font-weight:800;

}

h3{

    font-size:28px;

    font-weight:700;

}

h4{

    font-size:22px;

    font-weight:700;

}

p{

    color:var(--text-light);

}


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

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:16px 30px;

    border-radius:999px;

    transition:var(--transition);

    font-weight:700;

}

.btn-primary{

    background:var(--primary);

    color:#fff;

}

.btn-primary:hover{

    background:var(--primary-dark);

    transform:translateY(-3px);

}

.btn-outline{

    border:2px solid var(--primary);

    color:var(--primary);

    background:#fff;

}

.btn-outline:hover{

    background:var(--primary);

    color:#fff;

}

.btn-success{

    background:var(--accent);

    color:#fff;

}

.btn-success:hover{

    background:var(--accent-dark);

}


/* =========================
   BADGE
========================= */

.badge{

    display:inline-flex;

    align-items:center;

    padding:8px 16px;

    border-radius:999px;

    background:var(--primary-light);

    color:var(--primary);

    font-weight:700;

    font-size:14px;

}


/* =========================
   CARD
========================= */

.card{

    background:#fff;

    border:1px solid var(--divider);

    border-radius:var(--radius-lg);

    box-shadow:var(--shadow);

    transition:.35s;

}

.card:hover{

    transform:translateY(-6px);

    box-shadow:var(--shadow-lg);

}


/* =========================
   INPUT
========================= */

.input{

    width:100%;

    padding:16px 18px;

    border-radius:12px;

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

    outline:none;

    transition:.25s;

}

.input:focus{

    border-color:var(--primary);

    box-shadow:0 0 0 4px rgba(109,0,55,.10);

}


/* =========================
   LABEL
========================= */

label{

    display:block;

    margin-bottom:8px;

    font-weight:600;

}


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

.grid{

    display:grid;

    gap:30px;

}

.grid-2{

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

}

.grid-3{

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

}

.grid-4{

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

}


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

.text-center{

    text-align:center;

}

.text-primary{

    color:var(--primary);

}

.text-success{

    color:var(--accent);

}

.mt-1{

    margin-top:10px;

}

.mt-2{

    margin-top:20px;

}

.mt-3{

    margin-top:30px;

}

.mt-4{

    margin-top:40px;

}

.mt-5{

    margin-top:60px;

}

.mb-1{

    margin-bottom:10px;

}

.mb-2{

    margin-bottom:20px;

}

.mb-3{

    margin-bottom:30px;

}

.mb-4{

    margin-bottom:40px;

}

.mb-5{

    margin-bottom:60px;

}


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

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-thumb{

    background:var(--primary);

    border-radius:20px;

}

::-webkit-scrollbar-track{

    background:#f3f3f3;

}


/* =========================
   ANIMATION
========================= */

.fade-up{

    animation:fadeUp .7s ease;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(35px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


/* =========================
   HR
========================= */

hr{

    border:none;

    border-top:1px solid var(--divider);

}