:root{--pink:#e7529a;--pink2:#f7b6d2;--blush:#fdeef5;--ink:#5a2a42}
*{box-sizing:border-box}body{margin:0;font-family:Quicksand,sans-serif;color:var(--ink);background:var(--blush) radial-gradient(circle at 10px 10px,#fff 2px,transparent 3px) 0 0/22px 22px}
a{color:var(--pink)}header{position:sticky;top:0;z-index:5;background:#fff;border-bottom:3px dotted var(--pink2);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:6px 12px}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none}.brand img{width:44px;height:44px;border-radius:50%;object-fit:cover}.brand span,.script,h1,h2{font-family:'Dancing Script',cursive;color:var(--pink)}.brand span{font-size:1.6rem}
nav{display:flex;gap:4px;flex-wrap:wrap}nav a{padding:8px 10px;border-radius:20px;text-decoration:none;font-weight:700}nav a:hover,nav a.on{background:var(--blush)}.bk b{background:var(--pink);color:#fff;border-radius:10px;padding:0 7px}
main{max-width:1100px;margin:auto;padding:16px}h1{font-size:2.6rem;margin:.2em 0}h2{font-size:2rem}
.hero{text-align:center;background:#fff;border-radius:30px;padding:20px;box-shadow:0 0 0 6px #fff,0 0 0 9px var(--pink2)}.hero img{width:min(320px,80%);border-radius:50%}
.btn{display:inline-block;background:var(--pink);color:#fff;border:0;border-radius:30px;padding:12px 22px;font:700 1rem Quicksand;cursor:pointer;text-decoration:none}.btn.alt{background:#fff;color:var(--pink);border:2px solid var(--pink)}
.cats{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.cats button{border:2px solid var(--pink2);background:#fff;border-radius:20px;padding:8px 14px;font:600 .95rem Quicksand;color:var(--ink);cursor:pointer}.cats button.on{background:var(--pink);color:#fff;border-color:var(--pink)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.card{background:#fff;border-radius:20px;overflow:hidden;cursor:pointer;border:2px solid #fff;box-shadow:0 2px 8px #e7529a22;position:relative}.card:hover{border-color:var(--pink2)}
.card img{width:100%;aspect-ratio:1;object-fit:cover;background:#fafafa}.card div{padding:8px 10px}.card h3{font-size:.95rem;margin:0 0 4px}.price{font-weight:700;color:var(--pink)}
.ph{position:absolute;top:8px;left:8px;background:#fffc;font-size:.7rem;padding:2px 8px;border-radius:10px}
#modal{position:fixed;inset:0;background:#5a2a4288;display:flex;align-items:flex-end;justify-content:center;z-index:9}#modal[hidden]{display:none}
.sheet{background:#fff;width:100%;max-width:560px;max-height:92vh;overflow:auto;border-radius:24px 24px 0 0;padding:16px}.sheet img{width:100%;border-radius:16px}
@media(min-width:700px){#modal{align-items:center}.sheet{border-radius:24px}.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}
label{display:block;font-weight:700;margin:10px 0 4px}input,select,textarea{width:100%;padding:10px;border:2px solid var(--pink2);border-radius:12px;font:1rem Quicksand}
.sw{display:flex;gap:6px;flex-wrap:wrap}.sw button{border:2px solid var(--pink2);background:#fff;border-radius:16px;padding:6px 10px;cursor:pointer;font:600 .9rem Quicksand}.sw button.on{background:var(--pink);color:#fff}
.box{background:#fff;border-radius:20px;padding:16px;margin:12px 0}.line{display:flex;gap:10px;align-items:center;border-bottom:1px dashed var(--pink2);padding:8px 0}.line img{width:56px;height:56px;border-radius:10px;object-fit:cover}.line .g{flex:1}
.x{background:none;border:0;color:var(--pink);font-size:1.3rem;cursor:pointer}.msg{padding:12px;border-radius:12px;margin-top:10px}.ok{background:#e6f8ec}.err{background:#fde2e2}
footer{text-align:center;padding:24px;background:#fff;border-top:3px dotted var(--pink2);margin-top:30px}.small{font-size:.8rem;opacity:.7}.script{font-size:1.8rem;margin:0}
.soon{text-align:center;padding:30px 16px;border:3px dashed var(--pink2)}.soon .disc{font-size:3rem}nav a[hidden]{display:none}

