OmahCitra store template: catalog, cart, checkout, shipping, payment (HTML/CSS/jQuery)
This commit is contained in:
168
css/style.css
Normal file
168
css/style.css
Normal file
@@ -0,0 +1,168 @@
|
||||
/* ============================================================
|
||||
OmahCitra Store - Stylesheet
|
||||
============================================================ */
|
||||
:root{
|
||||
--primary:#e63946;
|
||||
--primary-dark:#c1121f;
|
||||
--accent:#ffb703;
|
||||
--bg:#f6f7f9;
|
||||
--card:#ffffff;
|
||||
--text:#1d1d1f;
|
||||
--muted:#6b7280;
|
||||
--line:#e5e7eb;
|
||||
--radius:14px;
|
||||
--shadow:0 4px 18px rgba(0,0,0,.07);
|
||||
}
|
||||
*{box-sizing:border-box;margin:0;padding:0}
|
||||
body{
|
||||
font-family:'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
|
||||
background:var(--bg);color:var(--text);line-height:1.5;
|
||||
}
|
||||
.container{max-width:1100px;margin:0 auto;padding:0 16px}
|
||||
a{text-decoration:none;color:inherit}
|
||||
|
||||
/* ===== Topbar ===== */
|
||||
.topbar{background:var(--primary);color:#fff;position:sticky;top:0;z-index:50;box-shadow:var(--shadow)}
|
||||
.topbar-inner{display:flex;align-items:center;gap:18px;padding:12px 16px}
|
||||
.brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:20px}
|
||||
.brand-logo{font-size:24px}
|
||||
.brand-dot{color:var(--accent)}
|
||||
.search-box{flex:1}
|
||||
.search-box input{
|
||||
width:100%;padding:10px 14px;border:none;border-radius:30px;font-size:14px;outline:none;
|
||||
}
|
||||
.cart-btn{
|
||||
background:#fff;color:var(--primary);border:none;border-radius:30px;
|
||||
padding:9px 16px;font-weight:700;cursor:pointer;font-size:14px;display:flex;align-items:center;gap:6px;
|
||||
}
|
||||
.cart-count{
|
||||
background:var(--accent);color:#000;border-radius:50%;min-width:20px;height:20px;
|
||||
display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;
|
||||
}
|
||||
|
||||
/* ===== Category nav ===== */
|
||||
.catnav{background:#fff;border-bottom:1px solid var(--line)}
|
||||
.catnav-inner{display:flex;gap:8px;overflow-x:auto;padding:10px 16px}
|
||||
.cat-pill{
|
||||
white-space:nowrap;padding:7px 14px;border-radius:30px;background:var(--bg);
|
||||
border:1px solid var(--line);cursor:pointer;font-size:13px;font-weight:600;color:var(--muted);
|
||||
}
|
||||
.cat-pill.active{background:var(--primary);color:#fff;border-color:var(--primary)}
|
||||
|
||||
/* ===== Main / views ===== */
|
||||
.main{padding:22px 16px 60px}
|
||||
.view{display:none}
|
||||
.view.active{display:block;animation:fade .25s ease}
|
||||
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
|
||||
|
||||
.hero{
|
||||
background:linear-gradient(120deg,var(--primary),var(--accent));
|
||||
color:#fff;border-radius:var(--radius);padding:28px;margin-bottom:22px;text-align:center;
|
||||
}
|
||||
.hero h1{font-size:26px;margin-bottom:6px}
|
||||
.hero p{opacity:.95}
|
||||
|
||||
/* ===== Product grid ===== */
|
||||
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
|
||||
.product-card{
|
||||
background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);
|
||||
overflow:hidden;display:flex;flex-direction:column;transition:transform .15s;
|
||||
}
|
||||
.product-card:hover{transform:translateY(-4px)}
|
||||
.pc-thumb{
|
||||
height:130px;display:flex;align-items:center;justify-content:center;font-size:60px;
|
||||
background:linear-gradient(135deg,#fff3f3,#ffe9e9);
|
||||
}
|
||||
.pc-body{padding:12px;display:flex;flex-direction:column;gap:6px;flex:1}
|
||||
.pc-cat{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
|
||||
.pc-name{font-weight:700;font-size:15px;line-height:1.3}
|
||||
.pc-meta{font-size:12px;color:var(--muted)}
|
||||
.pc-badge{display:inline-block;background:var(--accent);color:#000;font-size:10px;font-weight:800;
|
||||
padding:2px 7px;border-radius:20px;margin-left:6px}
|
||||
.pc-rating{color:#f59e0b;font-size:12px}
|
||||
.pc-price{font-size:17px;font-weight:800;color:var(--primary);margin-top:auto}
|
||||
.pc-btn{
|
||||
margin-top:8px;background:var(--primary);color:#fff;border:none;border-radius:8px;
|
||||
padding:9px;font-weight:700;cursor:pointer;font-size:13px;
|
||||
}
|
||||
.pc-btn:hover{background:var(--primary-dark)}
|
||||
.empty-note{text-align:center;color:var(--muted);padding:40px}
|
||||
|
||||
/* ===== Cart ===== */
|
||||
.cart-list{display:flex;flex-direction:column;gap:12px}
|
||||
.cart-row{
|
||||
background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);
|
||||
padding:14px;display:flex;align-items:center;gap:14px;
|
||||
}
|
||||
.cart-emoji{font-size:40px;width:60px;text-align:center}
|
||||
.cart-info{flex:1}
|
||||
.cart-info h4{font-size:15px}
|
||||
.cart-info small{color:var(--muted)}
|
||||
.qty{display:flex;align-items:center;gap:8px}
|
||||
.qty button{width:28px;height:28px;border-radius:6px;border:1px solid var(--line);
|
||||
background:#fff;cursor:pointer;font-size:16px;font-weight:700}
|
||||
.qty span{min-width:24px;text-align:center;font-weight:700}
|
||||
.cart-row .price{font-weight:800;color:var(--primary);min-width:110px;text-align:right}
|
||||
.cart-row .rm{background:none;border:none;color:var(--muted);cursor:pointer;font-size:18px}
|
||||
.cart-empty{text-align:center;padding:40px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}
|
||||
.cart-summary{margin-top:18px;background:var(--card);border-radius:var(--radius);
|
||||
box-shadow:var(--shadow);padding:16px;display:flex;justify-content:space-between;align-items:center}
|
||||
.summary-row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px}
|
||||
.summary-row.total{font-size:18px;font-weight:800;color:var(--primary);border-top:1px solid var(--line);margin-top:6px;padding-top:10px}
|
||||
|
||||
/* ===== Buttons ===== */
|
||||
.btn-primary{background:var(--primary);color:#fff;border:none;border-radius:8px;
|
||||
padding:11px 22px;font-weight:700;cursor:pointer;font-size:14px}
|
||||
.btn-primary:hover{background:var(--primary-dark)}
|
||||
.btn-primary.full{width:100%;margin-top:12px}
|
||||
|
||||
/* ===== Checkout ===== */
|
||||
.checkout-grid{display:grid;grid-template-columns:1fr 320px;gap:18px;align-items:start}
|
||||
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;margin-bottom:18px}
|
||||
.card h3{margin-bottom:14px;font-size:16px}
|
||||
.card label{display:block;font-size:13px;font-weight:600;margin:12px 0 5px;color:var(--muted)}
|
||||
.card input,.card textarea{
|
||||
width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;
|
||||
font-family:inherit;outline:none;resize:vertical;
|
||||
}
|
||||
.card input:focus,.card textarea:focus{border-color:var(--primary)}
|
||||
.opt-list{display:flex;flex-direction:column;gap:8px}
|
||||
.opt{
|
||||
display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;
|
||||
padding:11px 13px;cursor:pointer;font-size:14px;
|
||||
}
|
||||
.opt:hover{border-color:var(--primary)}
|
||||
.opt.selected{border-color:var(--primary);background:#fff5f5}
|
||||
.opt input{width:auto}
|
||||
.opt small{color:var(--muted);margin-left:auto}
|
||||
.summary-card{position:sticky;top:90px}
|
||||
.order-items{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
|
||||
.order-item{display:flex;justify-content:space-between;font-size:13px}
|
||||
.order-item small{color:var(--muted)}
|
||||
|
||||
/* ===== Done ===== */
|
||||
.done-box{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);
|
||||
padding:40px;text-align:center;max-width:520px;margin:30px auto}
|
||||
.done-icon{font-size:64px}
|
||||
.done-box h2{margin:10px 0}
|
||||
.done-detail{text-align:left;background:var(--bg);border-radius:10px;padding:16px;margin:18px 0;font-size:14px}
|
||||
.done-detail div{padding:4px 0}
|
||||
|
||||
/* ===== Footer ===== */
|
||||
.footer{background:#fff;border-top:1px solid var(--line);padding:20px 0;text-align:center;color:var(--muted);font-size:13px}
|
||||
|
||||
/* ===== Toast ===== */
|
||||
.toast{
|
||||
position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(120px);
|
||||
background:#1d1d1f;color:#fff;padding:12px 22px;border-radius:30px;font-size:14px;
|
||||
font-weight:600;opacity:0;transition:.3s;z-index:100;box-shadow:var(--shadow);
|
||||
}
|
||||
.toast.show{transform:translateX(-50%) translateY(0);opacity:1}
|
||||
|
||||
/* ===== Responsive ===== */
|
||||
@media(max-width:760px){
|
||||
.checkout-grid{grid-template-columns:1fr}
|
||||
.summary-card{position:static}
|
||||
.topbar-inner{gap:10px}
|
||||
.search-box{order:3;flex-basis:100%}
|
||||
}
|
||||
Reference in New Issue
Block a user