/* ===== WEB STORE HAYATI — style bersama (toko, login, pesanan) ===== */
*{margin:0;padding:0;box-sizing:border-box}
:root{
--cafe:#6F4E37;--krem:#F7F3EE;--groen:#2F9E44;--goud:#D4A017;--warn:#C0392B;
--donker:#2B2219;--text:#3E3229;--muted:#8a7d6f;--border:#e5ded5;--shadow:0 4px 14px rgba(0,0,0,.12);
}
html{scroll-behavior:smooth}
body{font-family:'Segoe UI',system-ui,sans-serif;background:var(--krem);color:var(--text);min-height:100vh;display:flex;flex-direction:column}
a{text-decoration:none;color:var(--cafe)}
.akkoord{background:var(--groen);color:#fff;text-align:center;padding:9px 0;font-size:13.5px}
.akkoord b{font-weight:800}
header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:3px solid var(--cafe);display:flex;align-items:center;gap:12px;padding:11px 20px;box-shadow:0 2px 10px rgba(0,0,0,.07);flex-wrap:wrap}
.logo{font-size:20px;font-weight:900;letter-spacing:.5px;color:var(--cafe);white-space:nowrap}
.logo span{color:var(--goud)}
#q{flex:1;min-width:160px;max-width:400px;padding:10px 30px;border:2px solid var(--border);border-radius:24px;font-size:14px}
#q:focus{outline:none;border-color:var(--cafe)}
.hdrKiri{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.hdrLink{font-size:13px;font-weight:700;padding:8px 13px;border-radius:20px;border:1.5px solid var(--border);background:#fff;color:var(--donker);cursor:pointer}
.hdrLink:hover{border-color:var(--cafe)}
.knopKer{position:relative;border:none;cursor:pointer;background:var(--cafe);color:#fff;padding:10px 16px;border-radius:24px;font-weight:700;font-size:13.5px}
#badge{position:absolute;top:-7px;right:-7px;background:var(--warn);color:#fff;border-radius:50%;width:22px;height:22px;font-size:11.5px;display:flex;align-items:center;justify-content:center;font-weight:900}
.namaSesi{font-size:13px;font-weight:800;color:var(--groen)}
nav{display:flex;flex-wrap:wrap;gap:8px;padding:10px 20px;background:#fff;border-bottom:1px solid var(--border)}
nav .kat{border:1.6px solid var(--border);background:#fff;padding:6px 13px;border-radius:20px;font-size:12.5px;cursor:pointer;font-weight:600}
nav .kat.actief{background:var(--cafe);color:#fff;border-color:var(--cafe)}
main{flex:1;max-width:1250px;margin:0 auto;width:100%;padding:16px}
.hero{position:relative;background:linear-gradient(135deg,var(--cafe),var(--donker));color:#fff;padding:40px 22px;border-radius:18px;overflow:hidden}
.hero h1{font-size:28px;font-weight:900;text-shadow:0 2px 6px rgba(0,0,0,.35)}
.hero p{font-size:15px;margin-top:10px;opacity:.92}
.hero button{margin-top:16px;background:var(--goud);color:var(--donker);font-weight:800;padding:11px 22px;border-radius:26px;border:none;cursor:pointer;font-size:14px}
.lint{display:flex;justify-content:flex-end;gap:8px;align-items:center;font-size:12.5px;color:var(--muted);flex-wrap:wrap;margin:16px 0 12px}
.lint select{padding:6px 10px;border:1.5px solid var(--border);border-radius:9px;font-size:12.5px;background:#fff}
.gridzaEtiket{font-size:18px;font-weight:800;color:var(--cafe);margin:4px 0 12px}
#grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.card{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow);position:relative;transition:.18s}
.card:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(0,0,0,.16)}
.duim{background:linear-gradient(145deg,#fdf6ee,#f2e8d9);display:flex;align-items:center;justify-content:center;height:120px;font-size:54px}
.etikette{position:absolute;top:8px;left:8px;display:flex;gap:5px}
.etikette span{background:var(--goud);color:var(--donker);font-size:10px;font-weight:800;padding:3px 8px;border-radius:8px}
.etikette b{background:var(--warn);color:#fff;font-size:10px;font-weight:800;padding:3px 8px;border-radius:8px}
.tekst{flex:1;padding:12px 14px}
.nm{font-size:15px;font-weight:800;color:var(--donker)}
.kod{font-size:11.5px;color:var(--muted)}
.rice{font-size:16px;color:var(--groen);font-weight:900}
.rice s{color:var(--muted);font-size:12px;margin-left:5px}
.stokP{font-size:11.5px;margin-top:3px}
.stokP.hab{color:var(--warn);font-weight:800}
.add{margin-top:11px;background:var(--cafe);color:#fff;border:none;border-radius:12px;padding:9px 0;font-size:13.5px;font-weight:750;cursor:pointer;width:100%}
.add:disabled{background:#c9c2b7;cursor:not-allowed}
.leeg{grid-column:1/-1;text-align:center;padding:40px;color:var(--muted);font-size:16px;font-weight:700}
/* Drawer keranjang */
.klep{position:fixed;inset:0;background:rgba(20,12,8,.55);z-index:90;display:none}
.bak{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:94%;background:#fff;z-index:100;display:none;box-shadow:-6px 0 24px rgba(0,0,0,.22)}
.bak h2{padding:16px 20px;font-size:18px;font-weight:900;color:var(--cafe)}
.lijstItems{max-height:52vh;overflow:auto}
.itemBak{display:flex;gap:11px;align-items:center;margin:10px 14px 0;padding:9px 12px;border:1px solid var(--border);border-radius:13px;background:var(--krem)}
.itemBak .em{font-size:26px;background:#fff;border:1px solid var(--border);border-radius:10px;width:42px;height:42px;display:flex;align-items:center;justify-content:center}
.itemBak .inf{flex:1}
.itemBak .nm2{font-size:13px;font-weight:800}
.itemBak .prs{font-size:12.5px;color:var(--groen);font-weight:700}
.knQ{border:1px solid var(--border);background:#fff;width:26px;height:26px;border-radius:8px;cursor:pointer;font-weight:900}
.q{min-width:32px;text-align:center;font-weight:800}
.del{border:none;background:none;font-size:16px;cursor:pointer}
.subTotaal{display:flex;justify-content:space-between;margin:16px;font-size:15px;font-weight:800}
.bakBut{display:block;width:calc(100% - 32px);margin:0 16px;background:var(--groen);color:#fff;border:none;border-radius:14px;padding:14px;font-size:15px;font-weight:900;cursor:pointer}
.bakSluit{display:block;width:calc(100% - 32px);margin:8px 16px 14px;background:#fff;color:var(--muted);border:1px solid var(--border);border-radius:14px;padding:10px;font-size:13px;cursor:pointer}
.leegBak{color:var(--muted);text-align:center;padding:34px;font-size:14.5px}
/* Modal */
.mod{position:fixed;inset:0;background:rgba(20,12,8,.6);z-index:120;display:none;align-items:center;justify-content:center}
.modKas{background:#fff;border-radius:18px;max-width:620px;width:94%;max-height:90vh;overflow:auto;padding:20px 24px;position:relative}
.modKas h3{color:var(--cafe);font-size:19px;font-weight:900}
.sluitX{position:absolute;top:12px;right:16px;border:none;background:none;font-size:22px;cursor:pointer;color:var(--muted)}
.lab{display:block;font-size:12.5px;font-weight:700;margin:10px 0 4px}
.inp{width:100%;padding:10px 12px;border:1.6px solid var(--border);border-radius:11px;font-size:14px;background:#fff}
.inp:focus{outline:none;border-color:var(--cafe)}
.rad{display:flex;gap:10px;flex-wrap:wrap}
.rad label{display:flex;align-items:center;gap:5px;font-size:13px;background:var(--krem);border:1.5px solid var(--border);border-radius:11px;padding:8px 11px;cursor:pointer}
.rad input{accent-color:var(--cafe)}
.samenvatting{display:flex;justify-content:space-between;font-size:14px;margin:3px 0}
.groenTotaal{font-size:17px;font-weight:900;color:var(--groen)}
.simpan{width:100%;background:var(--groen);color:#fff;border:none;border-radius:14px;padding:14px;font-size:15px;font-weight:900;cursor:pointer;margin-top:8px}
.kedip{margin-top:12px;background:var(--krem);border:1.5px dashed var(--border);border-radius:12px;padding:12px;font-size:13px}
.struk{font-family:'Courier New',monospace;background:#faf7f2;border:2px dashed var(--border);border-radius:10px;padding:16px;white-space:pre-line;font-size:12.5px;line-height:1.35;margin-top:10px}
.toast{position:fixed;left:18px;bottom:18px;background:var(--donker);color:#fff;padding:13px 18px;border-radius:12px;font-size:13.5px;font-weight:700;z-index:200;display:none;box-shadow:var(--shadow)}
footer{background:var(--donker);color:#fff;margin-top:30px;padding:26px 22px;font-size:13.5px;line-height:1.7}
footer b{color:var(--goud)}
/* Login & kartu pesanan */
.kartuPage{max-width:520px;margin:30px auto;background:#fff;border:1px solid var(--border);border-radius:18px;padding:26px;box-shadow:var(--shadow)}
.kartuPage h2{color:var(--cafe);margin-bottom:4px}
.kartuPage .keterangan{font-size:13px;color:var(--muted);margin-bottom:14px}
.btnBlok{width:100%;background:var(--cafe);color:#fff;border:none;border-radius:12px;padding:12px;font-size:14.5px;font-weight:800;cursor:pointer}
.pesananKart{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px 18px;margin-bottom:14px;box-shadow:var(--shadow)}
.pesananKart .atas{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.badgeStat{font-size:11px;font-weight:800;padding:4px 10px;border-radius:14px;color:#fff}
.badgeStat.DIPROSES{background:var(--goud);color:var(--donker)}
.badgeStat.DIKONFIRMASI{background:#2b6cb0}
.badgeStat.DIKIRIM{background:#6D28D9}
.badgeStat.SELESAI{background:var(--groen)}
.badgeStat.BATAL{background:var(--warn)}
.pesananKart .baris{display:flex;justify-content:space-between;font-size:13.5px;margin:2px 0}
.pesananKart .sub{font-size:15px;font-weight:900;color:var(--groen);margin-top:6px;border-top:1px dashed var(--border);padding-top:6px}