:root{
    --farsan-primary:#E63946;
    --farsan-secondary:#FFB703;
    --farsan-bg-light:#FFF8D6;
    --farsan-bg-dark:#4A2E1B;
}

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

html,
body{
    width:100%;
    height:100%;
    margin:0;
    padding:0;
}

body{
    font-family:'Hind Vadodara','Inter',sans-serif;
    background:#FFE08A;
    color:var(--farsan-bg-dark);
    min-height:100vh;
    
}

/* ================= DESKTOP ================= */

@media(min-width:992px){

    .company-logo{
        width:140px;
    }

    .display-4{
        font-size:2.3rem;
    }

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

    .card-custom{
        padding:1.25rem;
    }

    .mb-5{
        margin-bottom:1rem!important;
    }

    .mb-4{
        margin-bottom:1rem!important;
    }

    .py-4{
        padding-top:1rem!important;
        padding-bottom:1rem!important;
    }

}

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

@media(max-width:991px){

    body{
        overflow-x:hidden;
        overflow-y:auto;
    }

}

body.lang-en .lang-gu-only{
    display:none !important;
}

body.lang-gu .lang-en-only{
    display:none !important;
}

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

.navbar{
    min-height:58px;
}

.navbar-brand{
    font-weight:700;
    font-size:1.5rem;
    letter-spacing:.3px;
}

@media(max-width:576px){

    .navbar-brand{
        font-size:1.1rem;
    }

}

/* ================= APP VIEW ================= */

.app-view{

    min-height: 100dvh;

    display:flex;

    flex-direction:column;

    justify-content:flex-start;

    align-items:stretch;

    padding:30px 0;

    animation:fadeIn .35s;

}

/* Desktop */

@media(min-width:992px){

    .app-view{

        min-height:calc(100vh - 58px);

        justify-content:flex-start;

        align-items:stretch;

        padding:30px 0;

    }

}

/* Mobile */

@media(max-width:991px){

    .app-view{

    
        
        min-height:calc(100dvh - 58px);

        justify-content:flex-start;

        align-items:stretch;

        padding:20px 0;

    }

}

/* ================= LOGO ================= */

.company-logo{

    width:200px;

    max-width:90%;

    height:auto;

}

@media(max-width:768px){

    .company-logo{

        width:200px;

    }

}

/* Navbar Logo */
.navbar-logo{
    width:42px;
    height:42px;
    object-fit:contain;
}

@media (max-width:768px){
    .navbar-logo{
        width:34px;
        height:34px;
    }

    .navbar-brand .fw-bold{
        font-size:1.1rem !important;
    }
}

/* ================= TEXT ================= */

.display-4{

    font-weight:700;

}

@media(max-width:768px){

    .display-4{

        font-size:2rem;

    }

}

.lead{

    font-size:1.2rem;

}

@media(max-width:768px){

    .lead{

        font-size:1rem;

    }

}

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

.card-custom{

    background:#fff;

    border:none;

    border-radius:22px;

    box-shadow:0 10px 30px rgba(0,0,0,.12);

    padding:2rem;

    transition:all .25s ease;

}

.card-custom:hover{

    transform:translateY(-3px);

    box-shadow:0 14px 35px rgba(0,0,0,.16);

}

@media(max-width:768px){

    .card-custom{

        padding:1.5rem;

    }

}

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

.btn-authentic-red{

    background:#E63946;

    color:#fff;

    border:none;

    border-radius:50px;

    font-weight:700;

    transition:.25s;

}

.btn-authentic-red:hover{

    background:#cf2e3b;

    color:#fff;

}

.btn-authentic-red:focus{

    box-shadow:none;

}

.size-grid-btn{

    border:2px solid #FFB703;

    border-radius:16px;

    background:#fff;

    color:#E63946;

    font-weight:700;

    padding:20px;

    transition:.25s;

}

.size-grid-btn:hover{

    background:#FFF6D8;

}

.size-grid-btn.active{

    background:#FFE7A3;

    border-color:#FFB703;

}

/* ================= ADMIN ================= */

.admin-sidebar{

    background:#2b2d42;

    color:#fff;

    min-height:100vh;

}

.admin-sidebar .nav-link{

    color:#d0d0d0;

    padding:12px 18px;

    border-radius:10px;

    transition:.25s;

}

.admin-sidebar .nav-link:hover,

.admin-sidebar .nav-link.active{

    background:#E63946;

    color:#fff;

}

/* ================= RECEIPT ================= */

.receipt-card{

    background:#fff;

    border:2px solid #000;

    border-radius:10px;

    font-family:Courier New,Courier,monospace;

}

.dashed-divider{

    border-top:2px dashed #555;

}

/* ================= CART ================= */

.cart-sticky-bar{

    position:fixed;

    left:0;

    right:0;

    bottom:0;

    background:#E63946;

    color:#fff;

    z-index:999;

    padding:12px 20px;

}

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

.rounded-20{

    border-radius:20px;

}

.shadow-soft{

    box-shadow:0 10px 25px rgba(0,0,0,.10);

}

.text-primary-red{

    color:#E63946;

}

.bg-light-yellow{

    background:#FFF8D6;

}

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

@keyframes fadeIn{

    from{

        opacity:0;

        transform:translateY(15px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}