:root{--color-background:#fafaf8;--color-surface:#fff;--color-text-primary:#202326;--color-text-secondary:#6f7477;--color-border:#e7e5e0;--color-gold:#b49a68;--color-gold-dark:#9b8355;--color-gold-light:#f4efe5;--color-sage-light:#e8efeb;--color-danger:#b45b5b}*{box-sizing:border-box}html{background:var(--color-background);scroll-behavior:smooth}body{background:var(--color-background);min-width:320px;color:var(--color-text-primary);margin:0;font-family:Inter,Noto Sans,Noto Sans KR,Noto Sans JP,Noto Sans Thai,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{min-height:44px}.appHeader{z-index:20;border-bottom:1px solid var(--color-border);background:#fafaf8f5;justify-content:space-between;align-items:center;width:min(100%,500px);min-height:60px;margin:0 auto;padding:0 16px;display:flex;position:sticky;top:0}.brand{min-height:44px;color:var(--color-text-primary);letter-spacing:-.02em;align-items:center;gap:5px;font-size:.98rem;font-weight:800;display:inline-flex}.brand strong{color:var(--color-gold-dark);font-weight:800}.languageButton{border:1px solid var(--color-border);background:var(--color-surface);min-width:66px;color:var(--color-text-primary);border-radius:999px;justify-content:center;align-items:center;gap:6px;font-size:.82rem;font-weight:700;display:inline-flex}.gallery{margin-bottom:16px}.galleryPanel{aspect-ratio:1;border:1px solid var(--color-border);background:var(--color-sage-light);touch-action:pan-y;border-radius:14px;place-items:center;display:grid;position:relative;overflow:hidden}.galleryPanel:focus-visible{outline:2px solid var(--color-gold-dark);outline-offset:3px}.roomImage{object-fit:cover}.galleryFallback{background:var(--color-sage-light);color:var(--color-text-secondary);text-align:center;place-items:center;padding:24px;font-size:.95rem;line-height:1.6;display:grid;position:absolute;inset:0}.galleryLines{opacity:.55;gap:12px;display:grid;position:absolute;inset:22px}.galleryLines span{border:1px solid #6f74773d;border-radius:12px}.carouselButton{z-index:3;width:44px;min-height:44px;color:var(--color-text-primary);background:#ffffffc7;border:1px solid #e7e5e0e6;border-radius:50%;font-size:1.8rem;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.carouselButtonPrev{left:10px}.carouselButtonNext{right:10px}.carouselDots{justify-content:center;gap:8px;margin-top:12px;display:flex}.carouselDot{border:1px solid var(--color-border);background:var(--color-surface);border-radius:999px;width:10px;min-height:10px;padding:0}.carouselDot.active{border-color:var(--color-gold-dark);background:var(--color-gold);width:22px}.galleryIndicator{border:1px solid var(--color-border);color:var(--color-text-primary);background:#ffffffe0;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:700;position:absolute;bottom:14px;right:14px}.roomSummary,.card,.businessInfo{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;margin-top:14px;padding:18px 16px}.roomSummary h1,.card h2,.businessInfo h2{color:var(--color-text-primary);letter-spacing:-.03em;margin:0}.roomSummary h1{font-size:clamp(1.8rem,8vw,2.4rem);line-height:1.05}.card h2,.businessInfo h2{font-size:1.15rem}.roomSummary>p,.helperText{color:var(--color-text-secondary);margin:10px 0 0;font-size:.94rem;line-height:1.6}.summaryGrid,.paymentRows,.refundList,.businessInfo dl{margin:16px 0 0}.summaryGrid{grid-template-columns:1fr;gap:10px;display:grid}.summaryItem,.stayTime div,.nightsRow,.paymentRows div,.refundList div,.businessInfo dl div{justify-content:space-between;align-items:center;gap:12px;display:flex}.summaryItem,.stayTime div{border:1px solid var(--color-border);background:var(--color-background);border-radius:12px;min-height:58px;padding:12px}.bedBadge{border:1px solid var(--color-border);background:var(--color-gold-light);border-radius:999px;align-items:center;gap:8px;min-height:38px;margin-top:14px;padding:0 12px;display:inline-flex}.bedBadge span{color:var(--color-text-secondary);font-size:.8rem}.bedBadge strong{color:var(--color-text-primary);font-size:.9rem}.stayTime{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.featuredAmenities{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.featuredAmenities div{border:1px solid var(--color-border);background:var(--color-surface);min-height:48px;color:var(--color-text-primary);border-radius:12px;align-items:center;gap:8px;padding:10px;font-size:.88rem;display:flex}.independentNotice{border:1px solid var(--color-border);background:var(--color-sage-light);border-radius:12px;margin-top:14px;padding:14px}.independentNotice h2{color:var(--color-text-primary);margin:0;font-size:1rem}.independentNotice p{color:var(--color-text-secondary);margin:8px 0 0;font-size:.9rem;line-height:1.6}.summaryItem dt,.stayTime span,.paymentRows dt,.refundList dt,.businessInfo dt,.nightsRow span{color:var(--color-text-secondary);font-size:.86rem}.summaryItem dd,.stayTime strong,.paymentRows dd,.refundList dd,.businessInfo dd,.nightsRow strong{color:var(--color-text-primary);text-align:right;margin:0;font-weight:800}.dateGrid{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.dateCard{border:1px solid var(--color-border);background:var(--color-background);min-width:0;min-height:72px;color:var(--color-text-primary);text-align:left;border-radius:12px;flex-direction:column;justify-content:center;align-items:flex-start;padding:12px;display:flex}.dateCard span{color:var(--color-text-secondary);font-size:.78rem}.dateCard strong{margin-top:5px;font-size:.98rem}.nightsRow{background:var(--color-gold-light);border-radius:12px;min-height:48px;margin-top:10px;padding:0 12px}.paymentRows{gap:12px;display:grid}.paymentRows div{border-bottom:1px solid var(--color-border);padding-bottom:12px}.paymentRows .totalRow{border-bottom:0}.totalRow dt,.totalRow dd{color:var(--color-text-primary);font-size:1.08rem}.primaryButton{border:1px solid var(--color-gold-dark);background:var(--color-gold);min-height:52px;color:var(--color-surface);border-radius:12px;font-weight:800}.primaryButton:hover:not(:disabled){background:var(--color-gold-dark)}.primaryButton:active:not(:disabled){transform:translateY(1px)}.primaryButton:disabled{cursor:not-allowed;opacity:.72}.fullWidth{width:100%;margin-top:18px}.amenityGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.amenityGrid li{border:1px solid var(--color-border);min-height:46px;color:var(--color-text-primary);border-radius:12px;align-items:center;gap:9px;padding:10px;font-size:.9rem;display:flex}.amenityIcon{width:22px;height:22px;color:var(--color-gold-dark);border-radius:8px;flex:none;padding:2px}.policyBlock{margin-top:16px}.policyBlock h3,.guideList h3{color:var(--color-text-primary);margin:0;font-size:.98rem}.rateList,.guideList,.contactList{gap:10px;margin-top:10px;display:grid}.rateList article,.guideList article{border:1px solid var(--color-border);background:var(--color-background);border-radius:12px;padding:12px}.rateList article{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.rateList strong,.rateList b{color:var(--color-text-primary)}.rateList span,.guideList p{color:var(--color-text-secondary);margin-top:5px;font-size:.86rem;line-height:1.5;display:block}.refundList{border:1px solid var(--color-border);border-radius:12px;gap:0;display:grid;overflow:hidden}.refundList div{border-bottom:1px solid var(--color-border);min-height:46px;padding:10px 12px}.refundList div:last-child{border-bottom:0}.contactButton{border:1px solid var(--color-border);background:var(--color-background);min-height:52px;color:var(--color-text-primary);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;display:flex}.contactButton strong{color:var(--color-text-secondary)}.businessInfo{color:var(--color-text-secondary);font-size:.82rem}.businessInfo dl{gap:8px;display:grid}.businessInfo nav{color:var(--color-text-primary);flex-wrap:wrap;gap:12px;margin-top:14px;font-weight:700;display:flex}.paymentCta{z-index:30;width:min(100%,500px);padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:#fffffff5;grid-template-columns:minmax(82px,1fr) minmax(0,1.6fr);gap:10px;margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.paymentCta div{flex-direction:column;justify-content:center;min-width:0;display:flex}.paymentCta span{color:var(--color-text-secondary);font-size:.74rem}.paymentCta strong{color:var(--color-text-primary);font-size:1.05rem}@media (max-width:340px){.appHeader{padding:0 12px}.brand{font-size:.88rem}.dateGrid,.paymentCta{gap:8px}.amenityGrid li,.dateCard{padding:10px 8px}}@media (min-width:430px){.summaryGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.summaryItem{display:block}.summaryItem dd{text-align:left;margin-top:6px}}.dateCard{cursor:pointer;position:relative}.dateCard:focus-within{border-color:var(--color-gold-dark);outline-offset:2px;outline:2px solid #b49a682e}.dateCard[aria-disabled=true]{cursor:not-allowed;opacity:.68}.dateCard input[type=date]{cursor:pointer;opacity:0;width:100%;height:100%;min-height:72px;position:absolute;inset:0}.dateCard input[type=date]:disabled{cursor:not-allowed}.selectedSchedule{border:1px solid var(--color-border);background:var(--color-sage-light);color:var(--color-text-primary);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:12px;font-size:.9rem;line-height:1.4;display:flex}.selectedSchedule span{min-width:0}.selectedSchedule strong{color:var(--color-gold-dark);flex:none}.errorText{color:var(--color-danger);font-weight:700}@media (max-width:340px){.dateGrid{grid-template-columns:1fr}.selectedSchedule{display:grid}}.rateDetails{gap:10px;margin-top:16px;display:grid}.rateDetails h3{color:var(--color-text-primary);margin:0;font-size:.98rem}.rateDetailRow{border-top:1px solid var(--color-border);gap:10px;padding:12px 0;display:grid}.rateDetailRow>div{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.rateDetailRow span{color:var(--color-text-secondary);margin-top:5px;font-size:.84rem;line-height:1.45;display:block}.rateBadge{background:var(--color-gold-light);min-height:28px;color:var(--color-gold-dark);border-radius:999px;align-items:center;padding:0 10px;font-size:.78rem;display:inline-flex}.refundEstimate{border:1px solid var(--color-border);background:var(--color-sage-light);border-radius:12px;margin-top:16px;padding:14px}.refundEstimate h3{color:var(--color-text-primary);margin:0;font-size:1rem}.refundEstimate dl{gap:8px;margin:12px 0 0;display:grid}.refundEstimate dl div{justify-content:space-between;gap:12px;display:flex}.refundEstimate dt,.refundEstimate p{color:var(--color-text-secondary)}.refundEstimate dd{color:var(--color-text-primary);margin:0;font-weight:800}.refundEstimate p{margin:10px 0 0;font-size:.84rem;line-height:1.5}.srOnly{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.languageSelect select{border:1px solid var(--color-border);background:var(--color-surface);max-width:132px;min-height:44px;color:var(--color-text-primary);border-radius:999px;padding:0 30px 0 12px;font-weight:800}.bookingSummaryBox{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;margin-top:14px;padding:16px}.bookingSummaryBox h3,.paymentSheet h2{color:var(--color-text-primary);margin:0}.bookingSummaryBox p{color:var(--color-text-secondary);margin:8px 0 0;line-height:1.45}.bookingSummaryBox>strong{color:var(--color-gold-dark);margin-top:8px;display:block}.bookingSummaryBox dl{gap:8px;margin:14px 0 0;display:grid}.bookingSummaryBox dl div{justify-content:space-between;gap:12px;display:flex}.paymentStatus{width:min(100%,500px);color:var(--color-text-secondary);margin:10px auto 0;padding:0 16px;font-size:.88rem;line-height:1.45}.paymentStatus.error{color:var(--color-danger);font-weight:700}.paymentStatus.success{color:var(--color-gold-dark);font-weight:700}.sheetBackdrop{z-index:50;background:#2023265c;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.paymentSheet{width:min(100%,500px);max-height:calc(100svh - 32px);padding:20px 16px calc(16px + env(safe-area-inset-bottom));border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px 16px 12px 12px;overflow:auto}.paymentSheet>p{color:var(--color-text-secondary);margin:10px 0 0;line-height:1.5}.sheetActions{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.secondaryButton{border:1px solid var(--color-border);background:var(--color-surface);min-height:52px;color:var(--color-text-primary);border-radius:12px;font-weight:800}@media (max-width:340px){.sheetActions{grid-template-columns:1fr}}.importantNotice{border:1px solid var(--color-border);background:var(--color-sage-light);border-radius:12px;margin-top:14px;padding:14px}.importantNotice h3,.contactCard h3{color:var(--color-text-primary);margin:0;font-size:1rem}.importantNotice p,.contactCard p,.contactCard small{color:var(--color-text-secondary);line-height:1.55}.guideAccordionItem{border:1px solid var(--color-border);background:var(--color-background);border-radius:12px}.guideAccordionItem button{width:100%;min-height:52px;color:var(--color-text-primary);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;font-weight:800;display:flex}.guideAccordionItem p{color:var(--color-text-secondary);margin:0;padding:0 12px 14px;line-height:1.55}.contactCard{border:1px solid var(--color-border);background:var(--color-background);border-radius:12px;gap:12px;padding:12px;display:grid}.contactCard p,.contactCard small{margin:6px 0 0;display:block}.contactButton.disabled{opacity:.7;cursor:not-allowed}.siteFooter{border-top:1px solid var(--color-border);gap:6px;margin-top:16px;padding-top:14px;display:grid}.legalPage{width:min(100%,500px);min-height:100svh;margin:0 auto;padding:24px 16px 48px}.legalPage>a{min-height:44px;color:var(--color-gold-dark);align-items:center;font-weight:800;display:inline-flex}.eyebrow{color:var(--color-gold-dark);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:800}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.languageMenu{min-width:0;position:relative}.languageMenuButton{border:1px solid var(--color-border);background:var(--color-surface);max-width:170px;min-height:44px;color:var(--color-text-primary);border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:800;display:inline-flex}.languageOptions{z-index:60;border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;width:min(220px,100vw - 24px);max-height:min(360px,100svh - 88px);padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}.languageOptions button{min-height:44px;color:var(--color-text-primary);text-align:left;white-space:normal;background:0 0;border:0;border-radius:10px;padding:0 10px}.languageOptions button[aria-selected=true]{background:var(--color-gold-light);color:var(--color-gold-dark);font-weight:800}
