:root{--bg:#fbf7ff;--ink:#3b2a5a;--mut:#6f6290;--pri:#8b6fd6;--pri2:#6d4fc2;--soft:#ece2fb;--pink:#f7b3d0;--gold:#c9a24b;--card:#fff;--line:#e3d6f7}
@media(prefers-color-scheme:dark){:root{--bg:#17121f;--ink:#f0e8ff;--mut:#b7a9d6;--pri:#a98cf0;--pri2:#a98cf0;--soft:#2b2140;--card:#231b31;--line:#3a2d55}}
*{box-sizing:border-box;margin:0}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{background:var(--bg);color:var(--ink);font-family:'Poppins',system-ui,sans-serif;line-height:1.6;padding-top:env(safe-area-inset-top,0px);padding-bottom:84px}
h1,h2,h3{font-family:'Dancing Script',cursive;line-height:1.15}
a{color:inherit;text-decoration:none}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:8px 16px}
.logo{display:flex;align-items:center;gap:10px;font-family:'Dancing Script',cursive;font-size:30px;font-weight:700;color:var(--pri2)}
.logo img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--pink)}
main{max-width:1080px;margin:auto;padding:0 16px 30px}
.page{display:none;animation:f .35s}.page.on{display:block}
@keyframes f{from{opacity:0;transform:translateY(8px)}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.page{animation:none}}
.hero{margin-top:18px;border-radius:28px;padding:44px 28px;background:linear-gradient(135deg,#d9c8fb,#f9d3e6 60%,#fff0d6);display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center;color:#3b2a5a}
.hero h1{font-size:clamp(40px,7vw,64px);color:#5b3fb0}
.hero p{margin:12px 0 22px;max-width:460px}
.btn{display:inline-block;padding:11px 24px;border-radius:99px;background:#6d4fc2;color:#fff;font-weight:500;border:0;cursor:pointer;font:500 15px Poppins,sans-serif;text-align:center}
.btn.alt{background:#fff;color:#5b3fb0;margin-left:8px}
.stack{position:relative;height:290px}
.stack img{position:absolute;width:160px;height:160px;object-fit:cover;border-radius:22px;border:5px solid #fff;box-shadow:0 10px 24px #5b3fb033}
.stack img:nth-child(1){left:2%;top:10px;transform:rotate(-8deg)}
.stack img:nth-child(2){right:4%;top:0;transform:rotate(7deg)}
.stack img:nth-child(3){left:28%;top:125px;transform:rotate(-2deg);width:170px;height:170px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}
.stats div{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px;text-align:center}
.stats b{display:block;font-size:22px;color:var(--pri2)}.stats span{font-size:12px;color:var(--mut)}
h2.t{font-size:40px;text-align:center;color:var(--pri2);margin:38px 0 6px}
.sub{text-align:center;color:var(--mut);margin-bottom:22px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:.25s}
@media(hover:hover){.card:hover{transform:translateY(-4px);box-shadow:0 12px 26px #8b6fd622}}
.card img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.card .b{padding:14px 16px 18px}
.card h3{font-family:Poppins;font-size:16px;font-weight:600}
.card p{font-size:13px;color:var(--mut);margin:4px 0 8px}
.pr{font-weight:600;color:var(--pri2);font-size:18px}.pr s{font-weight:400;color:var(--mut);font-size:13px;margin-left:6px}
.card .btn{width:100%;margin-top:10px;padding:9px;display:block}
.tag{display:inline-block;font-size:11px;background:var(--soft);color:var(--pri2);padding:2px 10px;border-radius:99px;margin-bottom:6px}
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.cat{background:var(--soft);border-radius:20px;padding:22px;text-align:center}
.cat i{font-style:normal;font-size:34px}.cat h3{font-family:Poppins;font-size:16px;margin:6px 0 2px}.cat p{font-size:13px;color:var(--mut)}
.masonry{columns:3 180px;column-gap:12px}
.masonry img{width:100%;border-radius:16px;margin-bottom:12px;cursor:zoom-in;display:block;break-inside:avoid}
#lb{position:fixed;inset:0;background:#000d;display:none;align-items:center;justify-content:center;z-index:20;padding:20px}
#lb img{max-width:100%;max-height:90%;border-radius:18px}
.rev{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.rev div{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px}
.st{color:var(--gold);letter-spacing:2px}.rev p{margin:8px 0;font-size:14px}.rev b{font-size:13px;color:var(--pri2)}
details{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 18px;margin:0 auto 10px;max-width:760px}
summary{cursor:pointer;font-weight:500;color:var(--pri2)}details p{margin-top:8px;font-size:14px;color:var(--mut)}
.cw{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:860px;margin:auto}
.info,form{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px}
.info p{margin:10px 0;font-size:14px}
input,textarea{width:100%;padding:11px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:14px Poppins,sans-serif;margin-bottom:10px}
.sbox{max-width:560px;display:block;margin:0 auto 12px;font-size:15px;border-radius:99px;padding:13px 20px}
.chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:22px}
.chips button{border:1px solid var(--line);background:var(--soft);color:var(--pri2);border-radius:99px;padding:6px 14px;font:13px Poppins,sans-serif;cursor:pointer}
.pform,.plinks{max-width:520px;margin:0 auto 16px}
.ord{display:flex;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px;margin:0 auto 12px;max-width:640px}
.ord img{width:76px;height:76px;border-radius:14px;object-fit:cover}
.ord div{flex:1;font-size:13px;color:var(--mut)}.ord b{display:block;color:var(--ink);font-size:15px}
.ord .badge{display:inline-block;background:var(--soft);color:var(--pri2);border-radius:99px;padding:1px 10px;font-size:11px}
.ord button{border:0;background:none;color:var(--mut);font-size:20px;cursor:pointer}
.empty{text-align:center;color:var(--mut);padding:30px 0}.empty .btn{margin-top:14px}
footer{text-align:center;padding:26px 16px;color:var(--mut);font-size:13px;border-top:1px solid var(--line)}
.wa{position:fixed;right:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));background:#25d366;color:#fff;padding:10px 16px;border-radius:99px;font-weight:600;font-size:14px;box-shadow:0 6px 18px #0003;z-index:6}
.tabs{position:fixed;left:0;right:0;bottom:0;z-index:10;background:var(--card);border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px))}
.tabs a{position:relative;flex:1;max-width:110px;display:flex;flex-direction:column;align-items:center;gap:1px;font-size:11px;font-weight:500;color:var(--mut);padding:4px 0}
.tabs svg{width:42px;height:30px;padding:4px 9px;border-radius:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tabs a.on{color:var(--pri2)}.tabs a.on svg{background:var(--soft)}
.tabs a.on::before{content:"";position:absolute;top:-7px;left:50%;width:34px;height:3px;margin-left:-17px;border-radius:3px;background:var(--pri2)}
.bd{position:absolute;top:0;left:50%;margin-left:6px;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:#e0457b;color:#fff;font:600 10px/18px Poppins,sans-serif;text-align:center;display:none}
.hb{position:relative;display:flex;color:var(--pri2)}.hb svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hb .bd{top:-6px;left:auto;right:-8px;margin:0}
#toast{position:fixed;left:50%;bottom:150px;transform:translateX(-50%);background:var(--pri2);color:#fff;padding:10px 20px;border-radius:99px;font-size:14px;display:none;z-index:30}
@media(max-width:720px){.hero{grid-template-columns:1fr;padding:30px 20px}.stack{height:240px}.stack img{width:130px;height:130px}.stack img:nth-child(3){width:140px;height:140px;top:100px}.stats{grid-template-columns:repeat(2,1fr)}.cw{grid-template-columns:1fr}.btn.alt{margin:8px 0 0}.grid{grid-template-columns:repeat(2,1fr);gap:12px}.card .b{padding:10px 12px 14px}.card h3{font-size:14px}.card p{display:none}.pr{font-size:16px}}
.ord .qty{display:flex;gap:12px;align-items:center;margin-top:6px;flex:none}.ord .qty button{border:1px solid var(--line);background:var(--soft);color:var(--pri2);width:28px;height:28px;border-radius:50%;font-size:16px;cursor:pointer}
.ctot{display:flex;justify-content:space-between;max-width:640px;margin:14px auto 0;font-size:16px}.ctot b{color:var(--pri2)}
.card{display:flex;flex-direction:column;cursor:pointer}.card .b{flex:1;display:flex;flex-direction:column}.card .b p{flex:1}.card .b .pr{margin-top:auto}
#cm{position:fixed;inset:0;background:#0008;display:none;align-items:center;justify-content:center;z-index:40;padding:20px}
.mbox{background:var(--card);border-radius:24px;padding:24px;max-width:340px;width:100%;text-align:center}.mbox img{width:110px;height:110px;border-radius:18px;object-fit:cover}.mbox h3{font-size:32px;color:var(--pri2);margin:10px 0 2px}.mbox p{color:var(--mut);font-size:14px;margin-bottom:14px}.mbox .btn{display:block;width:100%;margin-top:8px}
.btn.alt2{background:var(--soft);color:var(--pri2)}
.back{display:inline-block;margin:16px 0;color:var(--pri2);font-weight:500}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}.pgrid>img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:24px;border:1px solid var(--line)}
.pt{font-size:38px;color:var(--pri2);margin:6px 0}.pr.big{font-size:26px}.pr.big s{font-size:16px}.pdesc{color:var(--mut);margin:10px 0}.pgrid h4{margin:12px 0 4px}.pgrid ul{padding-left:20px;font-size:14px;color:var(--mut)}
.pinfo{background:var(--soft);border-radius:14px;padding:10px 14px;font-size:13px;margin:14px 0}.qrow{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.qty{display:flex;gap:12px;align-items:center}.qrow .qty button{border:1px solid var(--line);background:var(--soft);color:var(--pri2);width:32px;height:32px;border-radius:50%;font-size:18px;cursor:pointer}
.pbtns{display:flex;gap:10px}.pbtns .btn{flex:1;padding:13px}.more{font-size:34px;color:var(--pri2);text-align:center;margin:36px 0 14px}
@media(max-width:720px){.pgrid{grid-template-columns:1fr}.pt{font-size:32px}.card h3{min-height:2.6em}}
