.booking-module__jh8Gga__subPage{background-color:var(--color-bg);padding-top:72px}.booking-module__jh8Gga__pageHeader{text-align:center;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);padding:clamp(4rem,8vw,6rem) 0}.booking-module__jh8Gga__title{font-family:var(--font-zh);color:var(--color-ink);margin-bottom:.5rem;font-size:clamp(2.5rem,5vw,3.5rem)}.booking-module__jh8Gga__subtitle{font-family:var(--font-zh);color:var(--color-ink-soft);margin-top:1rem;font-size:1rem}.booking-module__jh8Gga__section{padding:var(--section-pad-v) 0;background-color:var(--color-bg)}.booking-module__jh8Gga__bookingForm{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);color:var(--color-ink);border-radius:8px;padding:clamp(1.5rem,4vw,3rem)}.booking-module__jh8Gga__notice,.booking-module__jh8Gga__error,.booking-module__jh8Gga__success{border-radius:6px;margin-bottom:1.5rem;padding:1rem;line-height:1.7}.booking-module__jh8Gga__notice{color:#665018;background:#fff8e6;border:1px solid #d8bd78}.booking-module__jh8Gga__error{color:#7b2323;background:#fff0f0;border:1px solid #d79595;margin-top:1.5rem}.booking-module__jh8Gga__success{color:#245a36;background:#edf8f1;border:1px solid #8fbf9f;margin-top:1.5rem}.booking-module__jh8Gga__formGroup{margin-bottom:2rem}.booking-module__jh8Gga__formLabel{font-family:var(--font-zh);color:var(--color-ink);margin-bottom:.75rem;font-size:1.125rem;font-weight:700;display:block}.booking-module__jh8Gga__inputGrid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.booking-module__jh8Gga__inputGrid label,.booking-module__jh8Gga__formGroup label{color:var(--color-ink-soft);gap:.5rem;display:grid}.booking-module__jh8Gga__formControl{width:100%;min-height:48px;color:var(--color-ink);background-color:#fff;border:1.5px solid #cfc4b8;border-radius:4px;padding:.75rem 1rem;font-family:inherit;font-size:1rem}.booking-module__jh8Gga__formControl:focus{border-color:var(--color-gold-dark);outline:none;box-shadow:0 0 0 3px #b89c6e38}.booking-module__jh8Gga__roomSelectGrid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;display:grid}.booking-module__jh8Gga__roomCard{cursor:pointer;text-align:left;min-height:96px;font:inherit;color:var(--color-ink);background:#fff;border:1.5px solid #cfc4b8;border-radius:8px;padding:1rem;transition:border-color .2s,box-shadow .2s,transform .2s;position:relative;overflow:visible}.booking-module__jh8Gga__roomCard:hover,.booking-module__jh8Gga__roomCard:focus-visible{border-color:var(--color-gold-dark);box-shadow:var(--shadow-md);transform:translateY(-2px)}.booking-module__jh8Gga__roomCard:disabled{cursor:not-allowed}.booking-module__jh8Gga__unavailableRoom{color:#8b8b8b;box-shadow:none;opacity:.72;background:#f2f2f2;border-color:#d6d6d6}.booking-module__jh8Gga__unavailableRoom:hover,.booking-module__jh8Gga__unavailableRoom:focus-visible{box-shadow:none;border-color:#d6d6d6;transform:none}.booking-module__jh8Gga__unavailableRoom .booking-module__jh8Gga__roomName,.booking-module__jh8Gga__unavailableRoom .booking-module__jh8Gga__roomCapacity{color:#777}.booking-module__jh8Gga__availabilityHint{color:var(--color-ink-soft);margin:-.25rem 0 1rem;font-size:.95rem}.booking-module__jh8Gga__roomCard.booking-module__jh8Gga__selected{border-color:var(--color-gold-dark);background-color:var(--color-cream);box-shadow:inset 0 0 0 1px var(--color-gold-dark)}.booking-module__jh8Gga__roomPreview{height:132px;box-shadow:var(--shadow-md);border:1px solid var(--color-border);background:var(--color-surface);opacity:0;pointer-events:none;z-index:5;border-radius:6px;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(100% + .75rem);left:1rem;right:1rem;overflow:hidden;transform:translateY(8px)}.booking-module__jh8Gga__roomCard:hover .booking-module__jh8Gga__roomPreview,.booking-module__jh8Gga__roomCard:focus-visible .booking-module__jh8Gga__roomPreview{opacity:1;transform:translateY(0)}.booking-module__jh8Gga__roomName,.booking-module__jh8Gga__roomCapacity{display:block}.booking-module__jh8Gga__roomName{color:var(--color-ink);margin-bottom:.5rem;font-weight:700}.booking-module__jh8Gga__roomCapacity{color:var(--color-ink-soft);font-size:.9rem}.booking-module__jh8Gga__summary{color:#fff;background-color:#3e3a39;border-radius:8px;margin-top:3rem;padding:clamp(1.5rem,4vw,2rem)}.booking-module__jh8Gga__summaryTitle{border-bottom:1px solid #ffffff38;margin-bottom:1.5rem;padding-bottom:.5rem;font-size:1.4rem}.booking-module__jh8Gga__summaryRow{justify-content:space-between;gap:1rem;margin-bottom:1rem;font-size:1.05rem;display:flex}.booking-module__jh8Gga__totalPrice{color:var(--color-gold-light);text-align:right;border-top:1px dashed #ffffff3d;margin-top:1rem;padding-top:1rem;font-size:clamp(1.4rem,4vw,2rem);font-weight:700}.booking-module__jh8Gga__totalPrice p{color:#ffffffc7;margin-top:.5rem;font-size:.875rem;font-weight:400}.booking-module__jh8Gga__actions{grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem;display:grid}.booking-module__jh8Gga__submitBtn,.booking-module__jh8Gga__lineBtn{justify-content:center;width:100%;padding:1rem;font-size:1.05rem}.booking-module__jh8Gga__submitBtn{background-color:var(--color-ink);border-color:var(--color-ink);color:#fff}.booking-module__jh8Gga__submitBtn:disabled{cursor:not-allowed;opacity:.55}.booking-module__jh8Gga__lineBtn{color:#fff;background-color:#00b900;border-color:#00b900}@media (max-width:768px){.booking-module__jh8Gga__inputGrid,.booking-module__jh8Gga__actions{grid-template-columns:1fr}.booking-module__jh8Gga__roomPreview{display:none}.booking-module__jh8Gga__summaryRow{font-size:1rem}.booking-module__jh8Gga__totalPrice{text-align:left}}.booking-module__jh8Gga__modalOverlay{z-index:1000;background:#1e18129e;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.booking-module__jh8Gga__modalCard{background:var(--color-surface);width:min(720px,100%);max-height:90vh;color:var(--color-ink);border-radius:8px;padding:clamp(1.25rem,4vw,2rem);position:relative;overflow-y:auto;box-shadow:0 24px 60px #00000047}.booking-module__jh8Gga__closeButton{float:right;z-index:2;border:1px solid var(--color-border);width:40px;height:40px;color:var(--color-ink);cursor:pointer;background:#fff;border-radius:999px;place-items:center;display:grid;position:sticky;top:0}.booking-module__jh8Gga__closeButton:hover{background:var(--color-cream)}.booking-module__jh8Gga__modalCard h2{font-family:var(--font-zh);margin-bottom:.75rem;font-size:1.45rem}.booking-module__jh8Gga__modalWarning{color:#665018;background:#fff8e6;border:1px solid #d8bd78;border-radius:6px;margin-bottom:1rem;padding:.85rem 1rem;line-height:1.7}.booking-module__jh8Gga__modalSummary{gap:.75rem;display:grid}.booking-module__jh8Gga__modalSummary div{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(110px,.35fr) 1fr;gap:1rem;padding:.8rem 0;display:grid}.booking-module__jh8Gga__modalSummary span{color:var(--color-ink-soft)}.booking-module__jh8Gga__modalSummary strong{white-space:pre-wrap;word-break:break-word}.booking-module__jh8Gga__messagePreview{border:1px solid var(--color-border);max-height:46vh;color:var(--color-ink);white-space:pre-wrap;background:#fff;border-radius:6px;padding:1rem;font-family:inherit;line-height:1.7;overflow:auto}.booking-module__jh8Gga__modalActions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.booking-module__jh8Gga__modalActions button{justify-content:center;min-width:150px}.booking-module__jh8Gga__subPage{background:linear-gradient(180deg, #fbf7ef, var(--color-bg))}.booking-module__jh8Gga__pageHeader{background:radial-gradient(circle at 50% 0%, #dbc28f38, transparent 24rem), linear-gradient(180deg, var(--color-surface), var(--color-cream));position:relative;overflow:hidden}.booking-module__jh8Gga__pageHeader:after{content:"";background:linear-gradient(90deg,#0000,#b8965f94,#0000);width:min(680px,80vw);height:1px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.booking-module__jh8Gga__section{background:0 0}.booking-module__jh8Gga__bookingForm{background:#fffdf8e0;border-color:#b8965f3d;box-shadow:0 22px 58px #402a151c}.booking-module__jh8Gga__notice{background:linear-gradient(#fff9ea,#fff4d8);border-color:#b8965f85}.booking-module__jh8Gga__formControl{background:#fffdf8;border-color:#84633a47;border-radius:8px}.booking-module__jh8Gga__roomCard{background:#fffdf8;border-color:#84633a3d}.booking-module__jh8Gga__roomCard.booking-module__jh8Gga__selected{background:#f4eadc}.booking-module__jh8Gga__summary{background:radial-gradient(circle at 100% 0,#dbc28f2e,#0000 16rem),#34291f;box-shadow:0 20px 48px #2a1d122e}.booking-module__jh8Gga__submitBtn,.booking-module__jh8Gga__lineBtn{border-radius:999px}.booking-module__jh8Gga__modalOverlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.booking-module__jh8Gga__modalCard{background:radial-gradient(circle at top left, #dbc28f24, transparent 18rem), var(--color-surface)}.booking-module__jh8Gga__bookingForm{-webkit-backdrop-filter:blur(18px);background:#fffdf8bd;position:relative;overflow:hidden;box-shadow:0 28px 78px #402a1524}.booking-module__jh8Gga__bookingForm:before{content:"";pointer-events:none;background:radial-gradient(circle at 0 0,#dbc28f33,#0000 19rem),linear-gradient(135deg,#ffffff75,#0000 42%);position:absolute;inset:0}.booking-module__jh8Gga__bookingForm>*{z-index:1;position:relative}.booking-module__jh8Gga__formControl{transition:border-color .24s var(--ease-smooth), box-shadow .24s var(--ease-smooth), background .24s var(--ease-smooth)}.booking-module__jh8Gga__formControl:hover{border-color:#84633a6b}.booking-module__jh8Gga__roomCard:after{content:"";pointer-events:none;transition:border-color .25s var(--ease-smooth);border:1px solid #b8965f00;border-radius:6px;position:absolute;inset:.55rem}.booking-module__jh8Gga__roomCard.booking-module__jh8Gga__selected:after{border-color:#84633a4d}.booking-module__jh8Gga__roomPreview img{transition:transform .9s cubic-bezier(.2,.8,.2,1)!important}.booking-module__jh8Gga__roomCard:hover .booking-module__jh8Gga__roomPreview img,.booking-module__jh8Gga__roomCard:focus-visible .booking-module__jh8Gga__roomPreview img{transform:scale(1.06)}.booking-module__jh8Gga__summary{background:radial-gradient(circle at 100% 0,#dbc28f2e,#0000 16rem),linear-gradient(135deg,#3b2c20,#2c241d);border:1px solid #dbc28f2e}
