@import url('https://api.fontshare.com/v2/css?f[]=general-sans@300,400,500,600,700&f[]=cabinet-grotesk@400,500,700,800&display=swap');
:root{--bg:#faf9f6;--bgW:#fff;--bgDk:#0b0c10;--border:#e8e5de;--borderL:#f0ede6;--text:#1a1a1a;--textM:#5a5a5a;--textD:#8a8a7a;--acc:#c45d3e;--accH:#a84832;--accBg:#fdf0ec;--accB:#f0c4b5;--grn:#2a9d5c;--grnBg:#edf7f0;--red:#e53e3e;--gold:#c9a227;--goldBg:#fdf8e8;--blue:#3b82f6;--purple:#8b5cf6;--purpleBg:#f5f3ff;--dk:#141519;--dkB:rgba(255,255,255,.07);--dkT:#e2e8f0;--dkTm:#94a3b8;--dkTd:#64748b;--r:12px;--rs:8px;--font:'General Sans',sans-serif;--fontD:'Cabinet Grotesk',sans-serif}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--font)}

/* LAYOUT */
#app{min-height:100vh}

/* NAVBAR */
.navbar{position:sticky;top:0;z-index:100;background:rgba(250,249,246,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--borderL);padding:0 24px}
.navbar-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;height:64px}
.navbar-logo{cursor:pointer;display:flex;align-items:center;gap:10px}
.navbar-logo-icon{width:34px;height:34px;border-radius:8px;background:var(--acc);display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:800;font-family:var(--fontD)}
.navbar-logo-name{font-size:18px;font-weight:700;color:var(--text);font-family:var(--fontD)}
.navbar-actions{display:flex;align-items:center;gap:6px}
.cart-btn-nav{position:relative;background:none;border:1.5px solid var(--border);border-radius:var(--rs);padding:7px 14px;cursor:pointer;font-size:18px;color:var(--text);display:flex;align-items:center;gap:6px}
.cart-count-badge{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:10px;background:var(--acc);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}

/* HERO */
.hero{background:linear-gradient(135deg,#0b0c10 0%,#1a1520 40%,#2a1a28 70%,#1a2030 100%);padding:76px 24px 84px;position:relative;overflow:hidden}
.hero .glow{position:absolute;top:20%;right:10%;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(196,93,62,.15),transparent 70%);filter:blur(60px)}
.container{max-width:1200px;margin:0 auto;padding:0 24px}

/* GRAD COVER */
.grad{width:100%;position:relative;overflow:hidden;border-radius:var(--r) var(--r) 0 0}
.grad::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 40%,rgba(255,255,255,.09),transparent 60%)}

/* SECTION */
.sec{padding:64px 0}
.sec.dark{background:var(--bgDk)}

/* HEADING */
.heading{text-align:center;margin-bottom:40px}
.heading h2{font-size:32px;font-weight:700;font-family:var(--fontD);line-height:1.2}
.heading p{font-size:15px;color:var(--textD);margin:8px 0 0}
.heading.light h2{color:#fff}
.heading.light p{color:rgba(255,255,255,.55)}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 24px;border-radius:var(--rs);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font);letter-spacing:.3px;transition:all .2s;border:1.5px solid var(--border);background:var(--bgW);color:var(--text)}
.btn:hover{border-color:var(--textD)}
.btn-sm{padding:7px 16px;font-size:12px}
.btn-primary{background:var(--acc);border-color:var(--acc);color:#fff}
.btn-primary:hover{background:var(--accH)}
.btn-outline{background:transparent}
.btn-dark{background:var(--text);border-color:var(--text);color:#fff}

/* BADGE */
.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:10px;font-weight:600;letter-spacing:.5px}

/* STARS */
.stars{letter-spacing:1px}.star-on{color:#dba507}.star-off{color:#ddd}

/* TAG PILL */
.tag-pill{padding:5px 14px;border-radius:20px;border:1.5px solid var(--border);background:transparent;color:var(--textM);font-size:11px;font-family:var(--font);font-weight:500;cursor:pointer;transition:all .2s}
.tag-pill.active{border-color:var(--accB);background:var(--accBg);color:var(--acc)}
.tag-pill.purple.active{border-color:rgba(139,92,246,.3);background:rgba(139,92,246,.08);color:var(--purple)}

/* PRODUCT CARD */
.p-card{background:var(--bgW);border:1.5px solid var(--borderL);border-radius:var(--r);cursor:pointer;transition:all .25s;overflow:hidden}
.p-card:hover{border-color:var(--accB);transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.08)}
.p-card .card-add{width:32px;height:32px;border-radius:8px;background:var(--acc);border:none;color:#fff;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s}
.p-card .card-add:hover{transform:scale(1.1)}
.wish-btn{width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,.85);border:none;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;position:absolute;top:10px;right:10px;z-index:2}

/* CART DRAWER */
.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:200;backdrop-filter:blur(4px)}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:92vw;background:var(--bgW);z-index:201;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-8px 0 40px rgba(0,0,0,.12)}
.cart-drawer.open{transform:translateX(0)}

/* CHECKOUT MODAL */
.checkout-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:300;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);padding:24px}
.checkout-box{background:var(--bgW);border-radius:16px;padding:32px;max-width:440px;width:100%;text-align:center;animation:scaleIn .3s ease}
@keyframes scaleIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}

/* WA FLOAT */
.wa-float{position:fixed;bottom:24px;right:24px;z-index:150;width:58px;height:58px;border-radius:16px;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(37,211,102,.4);cursor:pointer;text-decoration:none;animation:waF 3s ease-in-out infinite}
@keyframes waF{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

/* TESTIMONIAL CARD */
.testi-card{background:var(--dk);border:1px solid var(--dkB);border-radius:var(--r);padding:24px 22px;transition:border-color .2s}
.testi-card:hover{border-color:rgba(196,93,62,.3)}

/* PROMO CARD */
.promo-card{min-width:300px;flex:0 0 auto;border-radius:var(--r);padding:24px 28px;cursor:pointer;position:relative;overflow:hidden;transition:transform .2s}
.promo-card:hover{transform:scale(1.02)}

/* GRID */
.grid-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.grid-testi{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.grid-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}

/* PAGINATION */
.pagination{display:flex;justify-content:center;gap:6px;margin-top:28px}
.pg-btn{width:34px;height:34px;border-radius:var(--rs);border:1.5px solid var(--border);background:transparent;color:var(--textM);font-size:12px;font-family:var(--font);font-weight:600;cursor:pointer}
.pg-btn.active{border-color:var(--accB);background:var(--accBg);color:var(--acc)}

/* LIGHTBOX */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:300;display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(8px)}
.lightbox-close{position:absolute;top:-12px;right:-12px;width:36px;height:36px;border-radius:18px;background:#fff;border:none;cursor:pointer;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.2)}

/* ADMIN (dark) */
.admin{min-height:100vh;background:var(--bgDk);color:var(--dkT)}
.admin .tab-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--rs);border:1px solid var(--dkB);cursor:pointer;background:transparent;color:var(--dkTm);font-size:12px;font-family:var(--font);font-weight:400}
.admin .tab-btn.active{border-color:rgba(196,93,62,.25);background:rgba(196,93,62,.1);color:var(--acc);font-weight:600}
.dstat{flex:1;min-width:150px;background:var(--dk);border:1px solid var(--dkB);border-radius:var(--r);padding:16px 14px}
.dstat .label{font-size:10px;color:var(--dkTd);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:8px}
.dstat .val{font-size:24px;font-weight:700;color:var(--dkT);font-family:var(--fontD);line-height:1}
.dstat .sub{font-size:11px;margin-top:6px}
.admin-table{background:var(--dk);border:1px solid var(--dkB);border-radius:var(--r);overflow:hidden}
.admin-table .t-head{display:grid;padding:10px 14px;border-bottom:1px solid var(--dkB);gap:6px}
.admin-table .t-head div{font-size:9px;color:var(--dkTd);text-transform:uppercase;letter-spacing:1px;font-weight:600}
.admin-table .t-row{display:grid;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.02);gap:6px;align-items:center}
.admin-table .t-row:hover{background:rgba(255,255,255,.02)}

/* FOOTER */
footer{background:var(--bgDk);padding:48px 24px 28px}
footer h4{font-size:12px;font-weight:600;color:var(--dkT);letter-spacing:1px;text-transform:uppercase;margin-bottom:14px}
footer .link{font-size:13px;color:var(--dkTd);margin-bottom:8px;cursor:pointer}

/* UTILITY */
.hidden{display:none!important}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.fade-in{animation:fadeUp .4s ease both}
