:root{

    --primary:#0b5d3d;
    --primary-dark:#08472f;
    --secondary:#f5f2ea;
    --white:#ffffff;
    --text:#2d2d2d;

}

body{

    background:var(--secondary);
    color:var(--text);
    font-family:Tahoma,sans-serif;

}

/* ===========================
            Navbar
=========================== */

.navbar{

    background:var(--primary);

}

.logo{

    width:48px;
    height:48px;
    border-radius:50%;
}

.logo-title{

    color:white;
    font-size:24px;
    font-weight:700;
    line-height:20px;

}

.logo-sub{

    color:#d9e6df;
    font-size:11px;
    letter-spacing:2px;

}

.nav-link{

    color:white !important;
    margin:0 8px;
    transition:.3s;

}

.nav-link:hover{

    color:#d6f2e4 !important;

}

.search-box{

    width:260px;
    border-radius:30px 0 0 30px;
    border:none;

}

.btn-search{

    background:var(--primary-dark);
    color:white;
    border:none;
    border-radius:0 30px 30px 0;

}

.btn-search:hover{

    background:#063521;
    color:white;

}

/* ===========================
            Hero
=========================== */

.hero{

    background:white;
    border-radius:20px;
    padding:60px;
    margin-bottom:40px;
    box-shadow:0 10px 25px rgba(0,0,0,.08);

}

/* ===========================
          Product Card
=========================== */

.card{

    border:none;
    border-radius:18px;
    overflow:hidden;
    transition:.3s;

}

.card:hover{

    transform:translateY(-8px);

    box-shadow:0 15px 35px rgba(0,0,0,.12);

}

.card-img-top{

    height:250px;
    object-fit:cover;

}

.card-body{

    padding:20px;

}

.card-title{

    font-size:20px;
    font-weight:bold;

}

.card-text{

    color:#666;

}

.card-footer{

    background:white;
    border:none;
    padding:18px;

}

/* ===========================
            Buttons
=========================== */

.btn-dark{

    background:var(--primary);
    border:none;

}

.btn-dark:hover{

    background:var(--primary-dark);

}

/* ===========================
          Product Detail
=========================== */

.product-image-card{

    background:white;
    border-radius:18px;
    padding:20px;
    box-shadow:0 10px 25px rgba(0,0,0,.08);

}

.thumb-image{

    cursor:pointer;
    border-radius:12px;
    transition:.3s;

}

.thumb-image:hover{

    transform:scale(1.05);

}

/* ===========================
            Colors
=========================== */

.color-circle{

    width:28px;
    height:28px;
    border-radius:50%;
    border:2px solid white;
    box-shadow:0 0 5px rgba(0,0,0,.2);

}

/* ===========================
            Footer
=========================== */

.footer{

    margin-top: auto;
    background: var(--primary);
    color: white;
    padding: 35px 0;

}

.footer h5{

    font-weight:bold;

}

/* ===========================
          Responsive
=========================== */

@media(max-width:768px){

.logo{

    width:40px;
    height:40px;

}

.logo-title{

    font-size:18px;

}

.logo-sub{

    display:none;

}

.search-box{

    width:100%;

}

.card-img-top{

    height:200px;

}

.hero{

    padding:30px;

}

}

/* ===========================
        Search Navbar
=========================== */

.search-form{
    width:360px;
}

.search-container{

    display:flex;
    align-items:center;

    background:#ffffff;

    border-radius:50px;

    overflow:hidden;

    box-shadow:0 5px 18px rgba(0,0,0,.12);

    transition:.3s;

}

.search-container:hover{

    box-shadow:0 8px 22px rgba(0,0,0,.18);

}

.search-container:focus-within{

    box-shadow:0 0 0 4px rgba(255,255,255,.25);

}

.search-icon{

    color:#888;

    padding:0 15px;

    font-size:18px;

}

.search-input{

    flex:1;

    border:none;

    outline:none;

    height:46px;

    font-size:15px;

    background:transparent;

}

.search-input::placeholder{

    color:#999;

}

.search-btn{

    border:none;

    background:#0B5D3D;

    color:white;

    padding:0 22px;

    height:46px;

    font-weight:600;

    transition:.3s;

}

.search-btn:hover{

    background:#08472F;

}

@media(max-width:992px){

.search-form{

    width:100%;

    margin-top:15px;

}

}

html,
body{
    height:100%;
}

body{
    min-height:100vh;
    display:flex;
    flex-direction:column;
    background:var(--secondary);
    color:var(--text);
    font-family:Tahoma,sans-serif;
}

main{
    flex:1;
}

.footer{
    margin-top:auto;
    background:var(--primary);
    color:white;
    padding:35px 0;
}

.card{
    border-radius:16px;
    overflow:hidden;
    transition:0.3s;
}

.card:hover{
    transform:translateY(-6px);
    box-shadow:0 12px 25px rgba(0,0,0,.15);
}

.card-img-top{
    aspect-ratio:1/1;
    object-fit:cover;
}

@media (max-width:576px){

    .card-title{
        font-size:14px;
        margin-bottom:6px;
    }

    .card-body{
        padding:12px;
    }

    .btn{
        font-size:13px;
        padding:8px;
    }
}