.book{--bk-grey:#5b5b5b;--bk-band:#f0f0f0;--bk-line:#d9d9d9;--bk-card:#f7f7f7;font-family:var(--sans);color:var(--ink);background:var(--paper);flex-direction:column;min-height:100vh;display:flex}.book-top{border-bottom:1px solid var(--bk-line);align-items:center;gap:18px;padding:12px clamp(20px,4vw,56px);display:flex}.book-top .mark{flex:none;width:30px;height:auto}.book-top .mark img,.book-top .mark svg{filter:invert();width:30px;height:auto}.book-top .promise{border-left:1px solid var(--bk-line);padding-left:18px}.book-top .promise b{letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600;display:block}.book-top .promise span{color:#555;margin-top:3px;font-size:11px;display:block}.book-top .me{letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-left:auto;font-size:11px;font-weight:600;text-decoration:none}.book-steps{background:var(--bk-grey);color:#fff;padding:0 clamp(20px,4vw,56px)}.book-steps ol{scrollbar-width:none;gap:clamp(14px,3vw,40px);max-width:1180px;margin:0 auto;padding:0;list-style:none;display:flex;overflow-x:auto}.book-steps li{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;opacity:.7;align-items:center;gap:10px;padding:14px 0;font-size:11px;display:flex}.book-steps li.is-on{opacity:1}.book-steps li.is-done{opacity:.85}.book-steps .n{border:1px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;display:inline-flex}.book-steps li.is-on .n{color:var(--bk-grey);background:#fff}.book-main{flex:auto}.book-band{background:var(--bk-band);padding:24px clamp(20px,4vw,56px)}.book-band-inner{max-width:1180px;margin:0 auto}.book-wrap{max-width:1180px;margin:0 auto;padding:32px clamp(20px,4vw,56px) 64px}.plan{grid-template-columns:1.2fr 1fr 1fr 1.4fr auto;align-items:stretch;gap:14px;display:grid}.plan .ctl{background:#fff;border:1px solid #bdbdbd;align-items:center;min-height:50px;display:flex;position:relative}.plan .ctl select,.plan .ctl input,.plan .ctl .date-trigger{width:100%;height:100%;font-family:var(--sans);color:var(--ink);appearance:none;text-align:left;cursor:pointer;background:0 0;border:0;outline:none;padding:0 14px;font-size:14px}.plan .ctl .date-trigger{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.plan .ctl:has(select):after{content:"";pointer-events:none;border-bottom:1.5px solid #333;border-right:1.5px solid #333;width:9px;height:9px;position:absolute;top:50%;right:14px;transform:translateY(-70%)rotate(45deg)}.plan .ctl:focus-within{border-color:var(--ink)}.plan .ctl--dates{z-index:70}.plan .ctl--dates .cal{top:calc(100% + 8px);left:0;transform:none}.plan .go{background:var(--ink);color:#fff;font-family:var(--sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;white-space:nowrap;border:0;min-height:50px;padding:0 26px;font-size:12px;font-weight:600}.plan .go:hover{background:#2c2c2c}.plan .go:disabled{cursor:default;background:#bdbdbd}.book-note{border:1px solid var(--bk-line);align-items:center;gap:26px;max-width:720px;margin:32px auto 0;padding:22px 28px;display:flex}.book-note h3{letter-spacing:.04em;text-transform:uppercase;margin:0 0 6px;font-size:14px;font-weight:600}.book-note p{color:#444;margin:0;font-size:13px}.book-note a{letter-spacing:.06em;text-transform:uppercase;color:var(--ink);white-space:nowrap;margin-left:auto;font-size:12px}.crumbs{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.crumbs span{letter-spacing:.06em;text-transform:uppercase;background:#d8d8d8;padding:10px 14px;font-size:12px}.crumbs a{border:1px solid var(--ink);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:#fff;padding:9px 16px;font-size:12px;text-decoration:none}.results-h{letter-spacing:.06em;text-transform:uppercase;text-align:center;align-items:center;gap:22px;margin:8px 0 26px;font-size:18px;display:flex}.results-h:before,.results-h:after{content:"";border-top:1px solid var(--bk-line);flex:1}.result{border:1px solid var(--bk-line);background:var(--bk-card);grid-template-columns:minmax(220px,300px) minmax(0,1fr);margin-bottom:18px;display:grid}.result .ph{background:#c9c9c9;min-height:200px;position:relative;overflow:hidden}.result .ph img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.result .body{grid-template-columns:1fr auto;gap:8px 24px;padding:22px 24px;display:grid}.result h3{letter-spacing:.06em;text-transform:uppercase;grid-column:1;margin:0;font-size:18px;font-weight:500}.result h3 a{color:inherit;text-decoration:none}.result .price{text-align:right;color:#444;grid-area:1/2;font-size:12px}.result .price b{color:var(--ink);font-size:18px;font-weight:600;display:block}.result .facts{grid-column:1;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px 24px;margin:8px 0 0;display:grid}.result .facts dt{letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.result .facts dd{color:#444;margin:4px 0 0;font-size:12px}.result .more{color:var(--ink);grid-column:1;align-self:end;font-size:12px}.result .select{background:var(--ink);color:#fff;letter-spacing:.12em;text-transform:uppercase;grid-area:2/2/4;place-self:end;padding:13px 40px;font-size:11px;font-weight:600;text-decoration:none}.result .select:hover{background:#2c2c2c}.results-none{border:1px solid var(--bk-line);color:#444;text-align:center;padding:28px;font-size:14px}.results-none a{color:var(--ink)}.confirm{grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:clamp(24px,4vw,56px);display:grid}.confirm h2{letter-spacing:.06em;text-transform:uppercase;margin:0 0 22px;font-size:18px;font-weight:500}.reservation .where{border-bottom:1px solid var(--bk-line);padding-bottom:16px;font-size:13px;line-height:1.7}.reservation .rate{background:var(--bk-card);border:1px solid var(--bk-line);margin:16px 0;padding:14px 12px;font-size:12px}.reservation .rate b{margin-bottom:8px;font-weight:600;display:block}.reservation .rate .row{justify-content:space-between;gap:12px;padding:4px 0;display:flex}.reservation .rate details{border-top:1px solid var(--bk-line);margin-top:8px;padding-top:8px}.reservation .rate summary{cursor:pointer;text-underline-offset:3px;font-size:12px;text-decoration:underline}.reservation .rate details .row{color:#444}.reservation .line{justify-content:space-between;gap:12px;padding:9px 0;font-size:12px;line-height:1.5;display:flex}.reservation .line span:last-child{white-space:nowrap;font-weight:600}.reservation .line.sub span:first-child{color:#444}.reservation .total{border-top:1px solid var(--bk-line);margin-top:8px;padding-top:14px}.reservation .total .n{background:var(--bk-band);text-align:right;margin-top:6px;padding:8px 12px;font-size:20px;font-weight:600}.reservation .small{color:#444;margin-top:22px;font-size:11px;line-height:1.9}.confirm-main .cardhead{background:var(--bk-grey);color:#fff;text-align:center;letter-spacing:.08em;text-transform:uppercase;padding:9px;font-size:12px}.confirm-main .grid{border:1px solid var(--bk-line);border-top:0;margin-bottom:22px}.confirm-main .grid .row{border-top:1px solid var(--bk-line);grid-template-columns:minmax(150px,30%) 1fr;display:grid}.confirm-main .grid .row:first-child{border-top:0}.confirm-main .grid label{background:#eaeaea;padding:11px 12px;font-size:12px}.confirm-main .grid input,.confirm-main .grid select,.confirm-main .grid textarea{font-family:var(--sans);color:var(--ink);background:#fff;border:0;outline:none;width:100%;min-width:0;padding:9px 12px;font-size:13px}.confirm-main .grid input:focus,.confirm-main .grid textarea:focus{background:#fbfbfb}.confirm-main .terms{border:1px solid var(--bk-line);color:#333;border-top:0;padding:16px 14px 20px;font-size:12px;line-height:1.7}.confirm-main .terms label{cursor:pointer;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.confirm-main .terms input{appearance:auto;width:14px;height:14px;margin-top:3px}.confirm-main .actions{justify-content:flex-end;margin-top:18px;display:flex}.book-btn{background:var(--ink);color:#fff;font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border:0;padding:14px 46px;font-size:11px;font-weight:600;text-decoration:none;display:inline-block}.book-btn:hover{background:#2c2c2c}.book-btn:disabled{cursor:default;background:#bdbdbd}.book-msg{color:#6d2417;background:#fbf2f0;border-left:3px solid #8c2f1f;margin:0 0 18px;padding:12px 14px;font-size:13px}.book-gate{border:1px solid var(--bk-line);text-align:center;padding:32px}.book-gate p{color:#333;margin:0 0 18px;font-size:14px;line-height:1.7}.book-gate .btns{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.book-gate .ghost{border:1px solid var(--ink);color:var(--ink);letter-spacing:.14em;text-transform:uppercase;padding:13px 32px;font-size:11px;font-weight:600;text-decoration:none}.upgrade{border:1px solid var(--bk-line);grid-template-columns:minmax(180px,240px) 1fr;margin-bottom:22px;display:grid}.upgrade .ph{background:#c9c9c9;min-height:130px;position:relative;overflow:hidden}.upgrade .ph img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.upgrade .body{padding:16px 20px;font-size:12px;line-height:1.7}.upgrade .body b{letter-spacing:.06em;text-transform:uppercase;font-size:12px;display:block}.upgrade .body a{background:var(--ink);color:#fff;letter-spacing:.12em;text-transform:uppercase;margin-top:10px;padding:9px 22px;font-size:10px;text-decoration:none;display:inline-block}.done{text-align:center;padding:64px 0 24px}.done h1{font-family:var(--sans);margin:0 0 12px;font-size:22px;font-weight:500}.done .code{letter-spacing:.14em;border:1px solid var(--ink);margin:14px 0;padding:10px 24px;font-size:26px;font-weight:600;display:inline-block}.done p{color:#333;max-width:560px;margin:0 auto;font-size:14px;line-height:1.8}.done .btns{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px;display:flex}.done-summary{border:1px solid var(--bk-line);text-align:left;max-width:560px;margin:34px auto 0}.done-summary .row{border-top:1px solid var(--bk-line);grid-template-columns:minmax(120px,30%) 1fr;font-size:13px;display:grid}.done-summary .row:first-child{border-top:0}.done-summary .row span:first-child{background:#eaeaea;padding:10px 12px}.done-summary .row span:last-child{padding:10px 12px}.done-next{margin-top:56px}.done-next h2{text-align:center;letter-spacing:.14em;text-transform:uppercase;margin:0 0 22px;font-size:14px;font-weight:500}.done-next .three{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.done-next .three a{color:inherit;border:1px solid var(--bk-line);text-decoration:none;display:block}.done-next .three .ph{aspect-ratio:4/3;background:#c9c9c9;position:relative;overflow:hidden}.done-next .three .ph img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.done-next .three b{letter-spacing:.06em;text-transform:uppercase;padding:12px 14px 4px;font-size:12px;font-weight:600;display:block}.done-next .three p{color:#444;margin:0;padding:0 14px 14px;font-size:12px;line-height:1.6}.book-foot{color:#fff;background:#000;padding:36px clamp(20px,4vw,56px)}.book-foot-inner{flex-wrap:wrap;gap:56px;max-width:1180px;margin:0 auto;font-size:12px;display:flex}.book-foot b{letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px;font-weight:500;display:block}.book-foot a{color:#fff;margin-bottom:8px;text-decoration:none;display:block}.book-foot a:hover{text-decoration:underline}@media (max-width:1000px){.plan{grid-template-columns:1fr 1fr}.plan .go{grid-column:1/-1}.confirm{grid-template-columns:1fr}.reservation{order:2}}@media (max-width:700px){.plan,.result{grid-template-columns:1fr}.result .ph{min-height:180px}.result .body{grid-template-columns:1fr}.result .price{text-align:left;grid-area:auto/1}.result .select{text-align:center;grid-area:auto/1;justify-self:stretch;margin-top:10px}.done-next .three{grid-template-columns:1fr}.book-top .promise span{display:none}.confirm-main .grid .row{grid-template-columns:1fr}.confirm-main .grid label{padding:8px 12px 4px}.confirm-main .actions{justify-content:center}.confirm-main .book-btn{text-align:center;width:100%;padding-left:18px;padding-right:18px}}.confirm-main .pay-el{display:block}.confirm-main .pay-el .pay-note{color:#6b6b6b;margin:14px 0 0;font-size:11.5px;line-height:1.6}@media (max-width:700px){.confirm-main .pay-el .pay-note{font-size:11px}}.confirm-note{font-family:var(--sans);color:#6b6b6b;margin:14px 2px 0;font-size:11.5px;line-height:1.7}.confirm-note a,.confirm-main .terms a{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.confirm-main .terms a:hover{text-decoration-thickness:2px}
