:root{--ink:#3d2c2c;--rose:#d9798b;--rose2:#f7d9de;--lav:#d9d4f5;--mint:#cfeee4;--g:rgba(255,255,255,.55)}
*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font:400 15px/1.5 'Plus Jakarta Sans',sans-serif;color:var(--ink);background:#fdf1f2;overflow-x:hidden;display:flex;justify-content:center;align-items:center;gap:6vw}
img{display:block;max-width:100%}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden}.bg i{position:absolute;border-radius:50%;filter:blur(60px);opacity:.85;animation:fl 18s ease-in-out infinite alternate}.bg i:nth-child(1){width:46vw;height:46vw;background:var(--rose2);left:-10vw;top:-10vw}.bg i:nth-child(2){width:40vw;height:40vw;background:var(--lav);right:-8vw;top:20vh;animation-delay:-6s}.bg i:nth-child(3){width:36vw;height:36vw;background:var(--mint);left:30vw;bottom:-14vw;animation-delay:-12s}
@keyframes fl{to{transform:translate(6vw,4vh) scale(1.1)}}
.glass{background:var(--g);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(255,255,255,.7);box-shadow:0 10px 30px rgba(217,121,139,.12)}
.side{max-width:400px}.slogo{height:54px;width:auto;margin-bottom:30px}.side h1{font:400 50px/1.08 Marcellus,serif}.side em{color:var(--rose);font-style:normal}.side p{font-size:17px;margin:18px 0}.side ul{list-style:none;line-height:2}
.app{position:relative;width:410px;height:min(860px,94vh);border-radius:46px;overflow:hidden;background:rgba(255,248,249,.6);border:10px solid #fff;box-shadow:0 40px 90px rgba(61,44,44,.22);display:flex;flex-direction:column}
.bar{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 10px}.bar img{height:34px;width:auto}.call{background:var(--ink);color:#fff;text-decoration:none;font-weight:700;font-size:13px;padding:8px 16px;border-radius:30px}
.views{position:relative;flex:1;overflow:hidden}.view{position:absolute;inset:0;overflow-y:auto;padding:6px 18px 110px;opacity:0;transform:translateX(30px);pointer-events:none;transition:opacity .4s,transform .45s cubic-bezier(.2,.8,.2,1);scrollbar-width:none}.view.on{opacity:1;transform:none;pointer-events:auto}.view.out{transform:translateX(-30px)}
.hero{border-radius:30px;overflow:hidden;position:relative}.hero img{width:100%;aspect-ratio:1/1.05;object-fit:cover}.hcap{position:absolute;left:12px;right:12px;bottom:12px;padding:18px;border-radius:22px;background:rgba(255,255,255,.62);backdrop-filter:blur(16px)}.hcap span{font-size:13px}.hcap h2{font:400 28px/1.1 Marcellus;margin:4px 0 12px}
.btn{background:var(--rose);color:#fff;border:0;border-radius:30px;padding:13px 22px;font-weight:700;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(217,121,139,.4)}.btn:disabled{opacity:.4;transform:none;box-shadow:none;cursor:default}
.kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.kpi div{border-radius:20px;padding:12px;text-align:center;font-size:12px}.kpi b{display:block;font-size:18px}
.h{font:400 20px Marcellus;margin:18px 2px 10px}.hs{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:none}.card{flex:0 0 62%;scroll-snap-align:start;border-radius:24px;padding:8px;text-align:left}.card img{border-radius:18px;aspect-ratio:4/3;object-fit:cover;width:100%}.card b{display:block;margin:8px 6px 0;font-size:14px}.card small{margin:0 6px;color:#8b7373}
.rev{border-radius:22px;padding:14px 16px;margin-bottom:8px}.rev small{color:var(--rose)}
.vt{font:400 30px Marcellus;margin:6px 2px 14px}.seg{display:flex;background:rgba(255,255,255,.6);border-radius:30px;padding:4px;margin-bottom:12px}.seg button{flex:1;border:0;background:none;padding:10px;border-radius:26px;font-weight:600;transition:.3s}.seg .on{background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.list{list-style:none}.list li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:14px 16px;border-radius:20px;margin-bottom:8px;animation:pop .45s both}.list b{display:block}.list small{color:#8b7373}.list .pr{font-weight:700;white-space:nowrap;color:var(--rose)}
@keyframes pop{from{opacity:0;transform:translateY(10px)}}.fine{font-size:12px;color:#8b7373;margin-top:12px;text-align:center}
.steps{display:flex;gap:6px;margin-bottom:16px}.steps i{flex:1;height:5px;border-radius:4px;background:rgba(61,44,44,.1);overflow:hidden;position:relative}.steps i:after{content:'';position:absolute;inset:0;background:var(--rose);transform:scaleX(0);transform-origin:left;transition:transform .5s}.steps i.on:after{transform:none}
.wiz{position:relative}.st{display:none;animation:pop .4s both}.st.on{display:block}.q{font-weight:700;margin-bottom:10px}
.opts{display:grid;gap:8px}.opt{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;padding:14px 16px;border-radius:18px;border:2px solid transparent;transition:.25s}.opt.sel,.day.sel,.hr.sel{border-color:var(--rose);background:#fff}
.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}.day{flex:0 0 64px;border-radius:20px;padding:12px 0;text-align:center;border:2px solid transparent}.day small{display:block;font-size:11px;text-transform:uppercase}.day b{font-size:20px}.day:disabled{opacity:.35;cursor:default}
.hours{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hr{border-radius:16px;padding:12px 0;border:2px solid transparent;font-weight:600}.hr:disabled{opacity:.3;text-decoration:line-through;cursor:default}
#f{display:grid;gap:8px}#f input:not([type=checkbox]){padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.7);font:inherit}.ck{font-size:13px;display:flex;gap:8px;align-items:center}.sum{border-radius:20px;padding:14px 16px;margin-top:12px;font-size:14px}
.done{text-align:center;padding:30px 10px}.done svg{width:90px;height:90px;fill:none;stroke:var(--rose);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.done circle{stroke-dasharray:230;stroke-dashoffset:230;animation:dr .8s forwards}.done path{stroke-dasharray:60;stroke-dashoffset:60;animation:dr .5s .7s forwards}@keyframes dr{to{stroke-dashoffset:0}}.done h3{font:400 28px Marcellus;margin:10px 0}
.wnav{display:flex;justify-content:space-between;margin-top:18px}.ghost{background:none;border:0;font-weight:600;padding:12px}
.room{border-radius:26px;aspect-ratio:16/10;object-fit:cover;width:100%;margin-bottom:10px}.info{border-radius:20px;padding:14px 16px;margin-bottom:8px}summary{font-weight:700;cursor:pointer}details p{margin-top:6px}
.tabbar{position:absolute;left:12px;right:12px;bottom:12px;display:flex;justify-content:space-around;align-items:center;padding:8px;border-radius:30px;background:rgba(255,255,255,.75);backdrop-filter:blur(20px);box-shadow:0 10px 30px rgba(61,44,44,.15)}
.tabbar button{border:0;background:none;display:flex;flex-direction:column;align-items:center;font-size:11px;font-weight:600;color:#a08c8c;padding:4px 10px;transition:color .3s,transform .3s}.tabbar svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.tabbar .on{color:var(--rose)}.tabbar button:active{transform:scale(.9)}
.tabbar .mid{background:var(--rose);color:#fff!important;border-radius:22px;padding:8px 16px;margin-top:-4px;box-shadow:0 8px 18px rgba(217,121,139,.45)}
.badge{position:fixed;left:12px;top:12px;z-index:30;background:rgba(255,255,255,.85);font:700 11px 'Plus Jakarta Sans';padding:6px 12px;border-radius:20px;text-decoration:none;box-shadow:0 4px 12px rgba(0,0,0,.08)}
@media(max-width:960px){.side{display:none}}
@media(max-width:520px){body{display:block}.app{width:100%;height:100vh;height:100dvh;border:0;border-radius:0;box-shadow:none;background:rgba(255,248,249,.35)}.badge{top:6px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;padding:3px 10px}.bar{padding-top:34px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.done circle,.done path{stroke-dashoffset:0}}
