:root{--ac:#0b6bcb;--ac-s:color-mix(in srgb,var(--ac) 12%,#fff);--ac-m:color-mix(in srgb,var(--ac) 28%,#fff);--ink:#14202e;--mu:#66768a;--ln:#e1e7ef;--bd:#b91c1c}
*{box-sizing:border-box}
html,body{margin:0;background:transparent}
body{font:16px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);padding:4px}
.hb{max-width:980px;margin:0 auto}
.loading{text-align:center;color:var(--mu);padding:40px}
.top{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.top h1{font-size:20px;margin:0;flex:1;letter-spacing:-.01em}
.lang{display:flex;border:1px solid var(--ln);border-radius:99px;overflow:hidden}
.lang button{border:0;background:#fff;padding:7px 12px;font-weight:600;color:var(--mu);cursor:pointer}.lang button.on{background:var(--ink);color:#fff}
.steps{display:flex;gap:6px;margin-bottom:16px}.steps i{flex:1;height:5px;border-radius:9px;background:var(--ln)}.steps i.on{background:var(--ac)}
.card{background:#fff;border:1px solid var(--ln);border-radius:16px;padding:18px}
.card+.card{margin-top:14px}
h2{font-size:18px;margin:0 0 12px}
.grid{display:grid;gap:16px}
@media(min-width:820px){.grid.two{grid-template-columns:1fr 340px;align-items:start}}
.sticky{position:sticky;top:8px}
/* calendar */
.months{display:grid;gap:22px}@media(min-width:720px){.months.two{grid-template-columns:1fr 1fr}}
.mh{display:flex;align-items:center;margin-bottom:6px}.mh b{flex:1;text-align:center;font-size:16px}
.nav{width:40px;height:40px;border:1px solid var(--ln);border-radius:50%;background:#fff;cursor:pointer;font-size:18px;line-height:1}.nav:disabled{opacity:.3;cursor:default}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cal .w{font-size:12px;color:var(--mu);text-align:center;padding:4px 0}
.cal button,.cal span.e{aspect-ratio:1;border:0;border-radius:10px;background:#fff;font:inherit;font-weight:600;cursor:pointer;position:relative}
.cal button:hover:not(:disabled){background:var(--ac-s)}
.cal button:disabled{cursor:default}
.cal button.past{color:#b8c2cf;font-weight:400}
.cal button.full{color:#b8c2cf;font-weight:400;text-decoration:line-through;background:#f6f8fb}
.cal button.full.co{cursor:pointer;color:var(--ink);text-decoration:none;background:repeating-linear-gradient(135deg,#f6f8fb 0 5px,#fff 5px 10px)}
.cal button.in{background:var(--ac-m)}
.cal button.sel{background:var(--ac);color:#fff}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--mu);margin-top:12px}.legend i{display:inline-block;width:14px;height:14px;border-radius:5px;vertical-align:-2px;margin-right:5px;border:1px solid var(--ln)}
.bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--ln)}
.stepper{display:flex;align-items:center;gap:6px}.stepper button{width:38px;height:38px;border-radius:50%;border:1px solid var(--ln);background:#fff;font-size:20px;cursor:pointer}.stepper b{min-width:24px;text-align:center}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:0;border-radius:12px;background:var(--ac);color:#fff;font-weight:700;font-size:16px;cursor:pointer}
.btn:disabled{opacity:.5;cursor:default}.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--ln)}.btn.sm{min-height:40px;padding:0 14px;font-size:14px}
.grow{flex:1}
/* rooms */
.room{display:grid;gap:0;border:1px solid var(--ln);border-radius:16px;overflow:hidden;background:#fff;margin-bottom:14px}
@media(min-width:640px){.room{grid-template-columns:240px 1fr}}
.room .ph{background:var(--ac-s) center/cover;min-height:160px}
.room .bd{padding:16px;display:flex;flex-direction:column;gap:6px}
.room h3{margin:0;font-size:18px}.room p{margin:0;color:var(--mu);font-size:14.5px}
.room .pr{display:flex;align-items:flex-end;gap:12px;margin-top:auto;padding-top:8px}.room .pr b{font-size:24px;letter-spacing:-.02em}.room .pr small{color:var(--mu)}
.room.off{opacity:.6}.tag{display:inline-block;font-size:12.5px;font-weight:600;padding:3px 10px;border-radius:99px;background:#fff4de;color:#9a5a00;width:fit-content}.tag.bad{background:#fde9e9;color:var(--bd)}
/* form */
.fgrid{display:grid;gap:12px}@media(min-width:560px){.fgrid{grid-template-columns:1fr 1fr}.fgrid .s2{grid-column:1/-1}}
.f label{display:block;font-size:13.5px;font-weight:600;margin-bottom:5px}
.f input,.f textarea{width:100%;border:1px solid #cdd6e1;border-radius:11px;padding:12px;font:inherit;min-height:48px}
.f input:focus,.f textarea:focus{outline:3px solid color-mix(in srgb,var(--ac) 28%,transparent);border-color:var(--ac)}
.hp{position:absolute;left:-9999px;opacity:0}
.sum dl{display:grid;grid-template-columns:1fr auto;gap:7px 12px;margin:0}.sum dt{color:var(--mu)}.sum dd{margin:0;font-weight:600;text-align:right}
.sum hr{border:0;border-top:1px solid var(--ln);margin:12px 0}
.sum .big{font-size:20px;color:var(--ink)}
.coupon{display:flex;gap:8px;margin-top:12px}.coupon input{flex:1;min-width:0;border:1px solid #cdd6e1;border-radius:11px;padding:0 12px;min-height:44px;font:inherit;text-transform:uppercase}
.msg{padding:11px 13px;border-radius:11px;font-size:14.5px;margin-top:10px}.msg.err{background:#fde9e9;color:var(--bd)}.msg.ok{background:#e6f5ec;color:#14612f}.msg.info{background:var(--ac-s)}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--mu)}.chk input{width:20px;height:20px;margin-top:2px;accent-color:var(--ac)}
details{font-size:14px;color:var(--mu);margin-top:12px}summary{cursor:pointer;font-weight:600;color:var(--ink)}
.contact{font-size:14px;color:var(--mu);margin-top:14px}.contact a{color:var(--ac)}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
