/* ==================================================
   OJA EDE - MY ORDERS
================================================== */

:root{

--primary:#0a8f3c;
--primary-dark:#087533;

--secondary:#f5f7fa;

--white:#fff;

--text:#222;

--muted:#777;

--border:#e8e8e8;

--success:#2ecc71;

--warning:#f39c12;

--danger:#e74c3c;

--info:#3498db;

--radius:18px;

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

}

*{

margin:0;
padding:0;
box-sizing:border-box;

font-family:Arial,sans-serif;

}

body{

background:var(--secondary);

color:var(--text);

padding-bottom:80px;

}



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

.orders-header{

position:sticky;

top:0;

z-index:100;

background:var(--white);

padding:18px 20px;

display:flex;

justify-content:space-between;

align-items:center;

box-shadow:0 3px 12px rgba(0,0,0,.08);

}

.header-left{

display:flex;

align-items:center;

gap:15px;

}

.back-btn{

width:42px;

height:42px;

border:none;

border-radius:50%;

background:#eef8f1;

color:var(--primary);

font-size:20px;

cursor:pointer;

}

.back-btn:hover{

background:var(--primary);

color:#fff;

}

.header-left h1{

font-size:24px;

font-weight:800;

margin-bottom:5px;

}

.header-left p{

font-size:14px;

color:var(--muted);

}

.refresh-btn{

width:42px;

height:42px;

border:none;

border-radius:50%;

background:var(--primary);

color:white;

cursor:pointer;

font-size:18px;

}



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

.summary-section{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(150px,1fr));

gap:15px;

padding:20px;

}

.summary-card{

background:white;

border-radius:16px;

padding:20px;

box-shadow:var(--shadow);

text-align:center;

transition:.25s;

}

.summary-card:hover{

transform:translateY(-4px);

}

.summary-card h5{

color:var(--muted);

font-size:14px;

margin-bottom:10px;

}

.summary-card h2{

font-size:30px;

color:var(--primary);

}



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

.search-section{

padding:0 20px 15px;

}

.search-section input{

width:100%;

padding:15px;

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

border-radius:12px;

font-size:15px;

outline:none;

}

.search-section input:focus{

border-color:var(--primary);

}



/* =========================
FILTERS
========================= */

.filter-section{

display:flex;

gap:10px;

overflow-x:auto;

padding:0 20px 20px;

}

.filter-section button{

border:none;

padding:11px 18px;

border-radius:25px;

background:white;

cursor:pointer;

white-space:nowrap;

transition:.25s;

}

.filter-section button.active{

background:var(--primary);

color:white;

}

.filter-section button:hover{

background:var(--primary);

color:white;

}



/* =========================
SORT
========================= */

.sort-section{

padding:0 20px 20px;

}

.sort-section select{

width:100%;

padding:14px;

border-radius:12px;

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

background:white;

}



/* =========================
ORDER LIST
========================= */

.orders-container{

padding:0 20px;

display:flex;

flex-direction:column;

gap:20px;

}

.order-card{

background:white;

border-radius:18px;

overflow:hidden;

box-shadow:var(--shadow);

transition:.25s;

}

.order-card:hover{

transform:translateY(-3px);

}

.order-header{

padding:18px;

display:flex;

justify-content:space-between;

align-items:center;

border-bottom:1px solid #eee;

}

.order-id{

font-weight:700;

color:var(--primary);

}

.order-date{

font-size:13px;

color:var(--muted);

}

.order-body{

padding:18px;

display:flex;

gap:18px;

}

.order-body img{

width:100px;

height:100px;

border-radius:12px;

object-fit:cover;

background:#eee;

}

.order-details{

flex:1;

}

.order-details h3{

margin-bottom:8px;

font-size:18px;

}

.order-price{

font-size:22px;

font-weight:700;

color:var(--primary);

margin:10px 0;

}

.order-meta{

font-size:14px;

color:var(--muted);

line-height:1.8;

}



/* =========================
STATUS
========================= */

.status{

display:inline-block;

padding:7px 14px;

border-radius:25px;

font-size:13px;

font-weight:700;

}

.pending{

background:#fff3cd;

color:#856404;

}

.processing{

background:#d6ecff;

color:#0d6efd;

}

.shipped{

background:#d4edff;

color:#0066aa;

}

.delivered{

background:#d4edda;

color:#155724;

}

.cancelled{

background:#f8d7da;

color:#842029;

}



/* =========================
ACTIONS
========================= */

.order-actions{

display:flex;

gap:10px;

flex-wrap:wrap;

padding:18px;

border-top:1px solid #eee;

}

.order-actions button{

flex:1;

min-width:120px;

padding:12px;

border:none;

border-radius:10px;

cursor:pointer;

font-weight:700;

color:white;

}

.track-btn{

background:var(--info);

}

.invoice-btn{

background:var(--primary);

}

.review-btn{

background:#ff9800;

}

.cancel-btn{

background:var(--danger);

}



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

.empty-orders{

padding:60px 20px;

display:flex;

justify-content:center;

}

.empty-card{

background:white;

padding:40px 25px;

border-radius:22px;

box-shadow:var(--shadow);

max-width:430px;

width:100%;

text-align:center;

}

.empty-icon{

font-size:70px;

margin-bottom:20px;

}

.empty-card h2{

font-size:34px;

margin-bottom:15px;

}

.empty-card p{

color:var(--muted);

line-height:1.8;

margin-bottom:25px;

}

.shop-btn{

border:none;

background:var(--primary);

color:white;

padding:14px 30px;

border-radius:12px;

cursor:pointer;

font-size:16px;

font-weight:700;

}

.shop-btn:hover{

background:var(--primary-dark);

}



/* =========================
LOADER
========================= */

.loading-orders{

padding:80px;

text-align:center;

}

.loader{

width:55px;

height:55px;

margin:auto;

border:5px solid #ddd;

border-top:5px solid var(--primary);

border-radius:50%;

animation:spin 1s linear infinite;

margin-bottom:20px;

}

@keyframes spin{

to{

transform:rotate(360deg);

}

}



/* =========================
PAGINATION
========================= */

.pagination{

display:flex;

justify-content:center;

align-items:center;

gap:20px;

margin:40px 0;

}

.pagination button{

padding:12px 18px;

border:none;

border-radius:10px;

background:var(--primary);

color:white;

cursor:pointer;

}

.pagination button:disabled{

opacity:.4;

cursor:not-allowed;

}



/* =========================
MODAL
========================= */

.modal{

display:none;

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background:rgba(0,0,0,.45);

justify-content:center;

align-items:center;

z-index:9999;

}

.modal-content{

background:white;

width:92%;

max-width:600px;

border-radius:20px;

overflow:hidden;

box-shadow:var(--shadow);

}

.modal-header{

display:flex;

justify-content:space-between;

align-items:center;

padding:18px;

border-bottom:1px solid #eee;

}

.modal-header button{

border:none;

background:none;

font-size:24px;

cursor:pointer;

}

#modalBody{

padding:25px;

}



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

@media(max-width:768px){

.orders-header{

padding:15px;

}

.header-left h1{

font-size:21px;

}

.summary-section{

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

}

.order-body{

flex-direction:column;

}

.order-body img{

width:100%;

height:220px;

}

.order-actions{

flex-direction:column;

}

.order-actions button{

width:100%;

}

}