:root{--sun:#f5b800;--sun-deep:#e59a00;--ink:#15303a;--water:#0e4d5c;--buoy:#f2702a;--sand:#fffdf4;--line:#ece4cf;--muted:#6b7b80;--ok:#2e8b6f}*{box-sizing:border-box}body{margin:0;background:var(--sand);color:var(--ink);font-family:Inter,system-ui,sans-serif;line-height:1.55}.display{font-family:Anton,Inter,sans-serif;font-weight:400;letter-spacing:.5px;text-transform:uppercase}header{position:sticky;top:0;z-index:20;background:var(--sun);border-bottom:4px solid var(--ink);display:flex;align-items:center;gap:14px;padding:10px 18px}header img{height:180px;width:auto;filter:drop-shadow(0 2px 0 rgba(0,0,0,.15))}header .title{font-size:30px;line-height:1;color:var(--ink)}header .cart{margin-left:auto;position:relative;background:var(--ink);color:#fff;border:none;border-radius:12px;padding:10px 16px;font-weight:700;cursor:pointer;font-size:15px;min-height:48px}header .cart .badge{position:absolute;top:-8px;right:-8px;background:var(--buoy);color:#fff;border-radius:999px;min-width:24px;height:24px;display:grid;place-items:center;font-size:13px;padding:0 6px;border:2px solid var(--sun)}main{max-width:960px;margin:0 auto;padding:22px 18px 60px}.steps{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.steps span{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;padding:4px 10px;border-radius:999px;background:#fff;border:1px solid var(--line)}.steps span.on{background:var(--ink);color:#fff;border-color:var(--ink)}h2.display{font-size:26px;margin:0 0 16px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.svc{background:#fff;border:2px solid var(--ink);border-radius:16px;padding:18px;cursor:pointer;text-align:left;transition:transform .08s,box-shadow .12s;min-height:104px}.svc:hover{transform:translateY(-2px);box-shadow:0 6px 0 rgba(21,48,58,.12)}.svc .n{font-size:19px;font-weight:700}.svc .p{margin-top:8px;color:var(--water);font-weight:700}.svc .a{margin-top:2px;font-size:13px;color:var(--muted)}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:16px}.dtwrap{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:680px){.dtwrap{grid-template-columns:1fr}}.calhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.calhead button{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:18px}.calhead .m{font-weight:700;text-transform:capitalize}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.cal .dow{font-size:11px;color:var(--muted);font-weight:600;padding:4px 0;text-transform:uppercase}.cal .d{padding:9px 0;border-radius:9px;cursor:pointer;font-weight:600;border:1px solid transparent}.cal .d:hover{background:var(--sand)}.cal .d.muted{color:#cfcab8;cursor:default}.cal .d.sel{background:var(--ink);color:#fff}.slots{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.slot{padding:11px;border:1px solid var(--line);border-radius:10px;background:#fafafa;cursor:pointer;text-align:center;font-weight:600}.slot.sel,.slot:hover{border-color:var(--ink)}.slot.sel{background:var(--ink);color:#fff}.slot.next{border:2px dashed var(--buoy);color:var(--buoy);font-weight:700}.pill{padding:10px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;font-weight:600;min-height:46px}.pill.sel{background:var(--buoy);color:#fff;border-color:var(--buoy)}.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.label{font-size:13px;color:var(--muted);font-weight:600;margin:14px 0 6px}.qty{display:flex;align-items:center;gap:14px}.qty button{width:48px;height:48px;border-radius:12px;border:2px solid var(--ink);background:#fff;font-size:22px;cursor:pointer;font-weight:700}.qty .v{font-size:24px;font-weight:700;min-width:40px;text-align:center}.price{font-size:30px;font-weight:800;color:var(--water)}.breakdown{color:var(--muted);font-size:14px;margin-top:2px}.btn{border:none;border-radius:12px;padding:14px 20px;font-weight:700;cursor:pointer;font-size:16px;min-height:52px}.btn-pay{background:var(--buoy);color:#fff}.btn-cart{background:#fff;color:var(--ink);border:2px solid var(--ink)}.btn-ghost{background:transparent;color:var(--water);border:none;text-decoration:underline;cursor:pointer;font-weight:600}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.cartrow{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.cartrow .x{color:var(--buoy);cursor:pointer;font-weight:700;background:none;border:none;font-size:14px}input.f{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;font-size:16px;font-family:inherit}.total{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font-size:20px;font-weight:800}.done{text-align:center;padding:20px}.done .check{width:84px;height:84px;border-radius:999px;background:var(--ok);color:#fff;display:grid;place-items:center;font-size:46px;margin:6px auto 14px}.gcal{display:inline-block;margin-top:6px;border:2px solid var(--ink);border-radius:12px;padding:12px 18px;font-weight:700;text-decoration:none;color:var(--ink)}.gcal,.note{background:#fff}.note{border:1px dashed var(--sun-deep);border-radius:12px;padding:10px 14px;color:var(--water);font-size:14px;margin-bottom:18px}.hidden{display:none}.slot.off{opacity:.35;cursor:not-allowed;text-decoration:line-through}.slot small{display:block;font-size:10px;color:var(--muted)}.spinner{display:inline-block;width:18px;height:18px;border:3px solid var(--line);border-top-color:var(--water);border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(1turn)}}.errbox{background:#fff;border:2px solid var(--buoy);color:var(--buoy);border-radius:12px;padding:10px 14px;margin:10px 0;font-weight:600}.cal .d.closed{text-decoration:line-through;opacity:.4}.legal{line-height:1.6;color:var(--ink)}.legal h1{font-size:22px;margin:.2em 0 .4em}.legal h2{font-size:17px;margin:1em 0 .3em}.legal h3{font-size:15px;margin:1em 0 .3em}.legal p{margin:.5em 0}.legal ul{margin:.4em 0 .8em 1.2em}.legal hr{border:none;border-top:1px solid var(--line);margin:1em 0}.legal .muted{color:var(--muted);font-size:13px}.legal a{color:var(--water)}.req{color:#e23b3b;margin-left:2px;font-weight:700}.notice{font-size:12.5px;line-height:1.45;color:var(--muted);background:#fff;border:1px solid var(--line);border-left:3px solid var(--buoy);border-radius:8px;padding:8px 10px;margin-bottom:14px}.cs-wrap{position:relative}.cs-pop{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 4px);max-height:260px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.14)}.cs-item{padding:9px 12px;cursor:pointer;display:flex;justify-content:space-between;gap:8px}.cs-item.active,.cs-item:hover{background:#eef6f8}.cs-code{color:var(--muted);font-size:12px}.cs-sep{height:1px;background:var(--line);margin:4px 0}.cs-empty{padding:10px 12px;color:var(--muted);font-size:13px}