/* ==========================================
   ORDERS PAGE
========================================== */


.orders-page{

    width:93%;
    max-width:900px;

    margin:120px auto 80px;

}


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


.orders-hero{

    text-align:center;

    margin-bottom:45px;

}


.orders-hero h1{

    margin:0;

    font-size:38px;
    font-weight:700;

    color:#111;

}


.orders-hero p{

    max-width:520px;

    margin:14px auto 0;

    color:#666;

    font-size:17px;

    line-height:1.6;

}



/* ==========================================
   SEARCH
========================================== */


.orders-search{

    background:white;

    border:1px solid rgb(226,226,226);

    border-radius:28px;

    padding:28px;

    margin-bottom:35px;

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

}



.orders-search-box{

    display:flex;

    gap:16px;

}



/* INPUT */

.orders-search-box input{

    flex:1;

    height:68px !important;

    min-height:68px;

    padding:0 24px;

    border-radius:22px;

    border:1px solid rgb(220,220,220);

    background:#fff;

    font-size:18px;

    font-weight:500;

    outline:none;

    box-sizing:border-box;

    transition:.25s;

    -webkit-appearance:none;

}



.orders-search-box input::placeholder{

    color:#999;

    font-weight:400;

}



.orders-search-box input:focus{

    border-color:rgb(36,71,174);

    box-shadow:
    0 0 0 4px rgba(24,119,242,.12);

}



/* BUTTON */


.orders-search-box button{

    height:68px !important;

    min-height:68px;

    padding:0 38px;

    border:none;

    border-radius:22px;

    background:rgb(36,71,174);

    color:white;

    font-size:17px;

    font-weight:600;

    cursor:pointer;

    box-sizing:border-box;

    transition:.25s;

}


.orders-search-box button:hover{

    opacity:.92;

}



.orders-search-info{

    margin:18px 0 0;

    color:#888;

    font-size:14px;

    text-align:center;

}



/* ==========================================
   EMPTY
========================================== */


.orders-empty{

    display:none;

    text-align:center;

    background:white;

    border-radius:28px;

    border:1px solid rgb(226,226,226);

    padding:45px 25px;

    margin-bottom:30px;

}



.orders-empty-icon{

    font-size:55px;

    margin-bottom:16px;

}


.orders-empty h2{

    margin:0;

    font-size:25px;

}


.orders-empty p{

    margin-top:12px;

    color:#777;

}



/* ==========================================
   ORDERS LIST
========================================== */


.orders-list{

    display:flex;

    flex-direction:column;

    gap:22px;

}



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


.order-card{

    background:white;

    border:1px solid rgb(226,226,226);

    border-radius:28px;

    padding:28px;

    transition:.25s;

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

}



.order-card:hover{

    transform:translateY(-3px);

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

}



.order-header{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    margin-bottom:25px;

}



.order-header h3{

    margin:0;

    font-size:24px;

}



.order-header span{

    display:block;

    margin-top:8px;

    color:#777;

}



/* STATUS */


.order-status{

    padding:9px 18px;

    border-radius:999px;

    font-size:14px;

    font-weight:600;

}


.preparing{

    background:#fff3db;

    color:#cb8200;

}


.delivered{

    background:#dcf6e3;

    color:#198754;

}


.cancelled{

    background:#ffe1e1;

    color:#d72f2f;

}


.ready{

    background:#dceeff;

    color:rgb(36,71,174);

}



/* ==========================================
   SUMMARY
========================================== */


.order-summary{

    display:flex;

    justify-content:space-between;

    margin-bottom:24px;

}



.order-summary div{

    display:flex;

    flex-direction:column;

}



.order-summary small{

    color:#888;

    margin-bottom:8px;

    font-size:14px;

}



.order-summary strong{

    font-size:24px;

}



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


.details-button{

    width:100%;

    height:54px;

    border:none;

    border-radius:16px;

    background:#f3f5f7;

    font-size:16px;

    font-weight:600;

    cursor:pointer;

    transition:.25s;

}



.details-button:hover{

    background:rgb(36,71,174);

    color:white;

}



/* ==========================================
   DETAILS
========================================== */


.order-details{

    margin-top:45px;

    background:white;

    border-radius:28px;

    border:1px solid rgb(226,226,226);

    padding:32px;

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

}



.details-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:30px;

}



.details-info{

    display:grid;

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

    gap:20px;

    margin-bottom:35px;

}



.details-info span{

    display:block;

    color:#888;

    margin-bottom:8px;

    font-size:14px;

}



.order-products{

    display:flex;

    flex-direction:column;

}



.order-product{

    display:flex;

    justify-content:space-between;

    padding:18px 0;

    border-bottom:1px solid rgb(236,236,236);

}



.details-total{

    margin-top:30px;

    display:flex;

    justify-content:space-between;

    font-size:22px;

    font-weight:700;

}



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


@media(max-width:900px){


.orders-page{

    width:94%;

    margin:100px auto 50px;

}




.orders-hero h1{

    font-size:24px;

}



.orders-hero p{

    font-size:16px;

}



/* SEARCH MOBILE */


.orders-search{

    padding:20px;

}



.orders-search-box{

    flex-direction:column;

    gap:14px;

}



.orders-search-box input{

    width:100%;

    height:72px !important;

    min-height:72px;

    padding:0 22px;

    border-radius:22px;

    font-size:18px;

}



.orders-search-box button{

    width:100%;

    height:72px !important;

    min-height:72px;

    border-radius:22px;

}



/* CARDS */


.order-card{

    padding:22px;

}



.order-header{

    flex-direction:column;

    gap:16px;

}



.order-summary{

    flex-direction:column;

    gap:18px;

}



.details-header{

    flex-direction:column;

    align-items:flex-start;

    gap:18px;

}



.details-info{

    grid-template-columns:1fr;

}



.order-product{

    flex-direction:column;

    gap:10px;

}



.details-total{

    flex-direction:column;

    gap:8px;

}


}