:root{--text:#5c5850;--text-h:#1c1a17;--bg:#fbf9f5;--border:#e3dfd5;--code-bg:#f4f3ec;--accent:#a07a3f;--accent-bg:#a07a3f1a;--accent-border:#a07a3f80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:"Noto Sans KR", system-ui, "Segoe UI", Roboto, sans-serif;--heading:"Noto Serif KR", Georgia, serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#b5afa2;--text-h:#f1efe9;--bg:#171613;--border:#322f28;--code-bg:#1f2028;--accent:#cba05f;--accent-bg:#cba05f26;--accent-border:#cba05f80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}}#root{box-sizing:border-box;flex-direction:column;width:100%;min-height:100svh;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px;line-height:128%}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.site-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;padding:20px 32px;display:flex}@media (width<=767px){.site-header{padding:16px 20px}}.site-logo{font-family:var(--heading);letter-spacing:.08em;color:var(--text-h);font-size:20px;text-decoration:none}.site-nav{gap:8px;display:flex}@media (width<=767px){.site-nav{display:none}}.nav-item{position:relative}.nav-trigger{appearance:none;font:inherit;color:var(--text-h);cursor:pointer;background:0 0;border:none;padding:10px 14px;font-size:15px;text-decoration:none;display:inline-block}.nav-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-dropdown{background:var(--bg);border:1px solid var(--border);min-width:160px;box-shadow:var(--shadow);text-align:left;z-index:10;border-radius:8px;margin:0;padding:8px;list-style:none;animation:.15s ease-out dropdown-slide-down;position:absolute;top:100%;left:0}.nav-dropdown a{color:var(--text);border-radius:6px;padding:8px 12px;font-size:14px;text-decoration:none;display:block}.nav-dropdown a:hover,.nav-dropdown a:focus-visible{background:var(--accent-bg);color:var(--text-h)}@keyframes dropdown-slide-down{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.header-actions{align-items:center;gap:12px;display:flex}.nav-cta{background:var(--accent);color:var(--bg);white-space:nowrap;border-radius:999px;padding:10px 20px;font-size:14px;text-decoration:none}.nav-cta:hover,.nav-cta:focus-visible{opacity:.85}.nav-login{appearance:none;font:inherit;border:1px solid var(--border);color:var(--text-h);white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;padding:10px 20px;font-size:14px;text-decoration:none}.nav-login:hover,.nav-login:focus-visible{border-color:var(--accent-border);color:var(--accent)}.profile-item{position:relative}.profile-trigger{appearance:none;font:inherit;border:1px solid var(--border);color:var(--text-h);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:10px 16px 10px 10px;font-size:14px;display:inline-flex}.profile-trigger:hover,.profile-trigger:focus-visible{border-color:var(--accent-border)}.profile-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.profile-avatar{background:var(--accent-bg);width:20px;height:20px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.profile-name{text-overflow:ellipsis;max-width:120px;overflow:hidden}.profile-caret{color:var(--text);font-size:10px;transition:transform .15s ease-out}.profile-trigger[aria-expanded=true] .profile-caret{transform:rotate(180deg)}.profile-dropdown{min-width:180px;left:auto;right:0}.profile-dropdown button.profile-logout{appearance:none;width:100%;font:inherit;text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 12px;font-size:14px}.profile-dropdown button.profile-logout:hover,.profile-dropdown button.profile-logout:focus-visible{background:var(--accent-bg);color:var(--text-h)}.profile-dropdown li+li{margin-top:2px}.profile-dropdown li:last-child{border-top:1px solid var(--border);margin-top:6px;padding-top:6px}.site-footer{border-top:1px solid var(--border);text-align:left;background:var(--code-bg);margin-top:auto;padding:40px 32px 96px}@media (width<=767px){.site-footer{padding:32px 20px 88px}}.footer-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.footer-brand{font-family:var(--heading);color:var(--text-h);margin:0;font-size:18px}.footer-links{gap:20px;margin:0;padding:0;list-style:none;display:flex}.footer-links a{color:var(--text);font-size:14px;text-decoration:none}.footer-links a:hover{color:var(--text-h)}.footer-bottom{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding-top:20px;display:flex}.footer-info{color:var(--text);font-size:13px;font-style:normal;line-height:165%}.footer-social{gap:10px;margin:0;padding:0;list-style:none;display:flex}.footer-social a{background:var(--social-bg);width:32px;height:32px;color:var(--text-h);border-radius:50%;justify-content:center;align-items:center;font-size:11px;text-decoration:none;display:flex}.footer-copyright{color:var(--text);margin:24px 0 0;font-size:12px}.mobile-dock{display:none}@media (width<=767px){.mobile-dock{z-index:20;background:var(--bg);border-top:1px solid var(--border);padding:8px 0 calc(8px + env(safe-area-inset-bottom));display:flex;position:fixed;bottom:0;left:0;right:0}}.mobile-dock-item{color:var(--text);flex-direction:column;flex:1;align-items:center;gap:2px;font-size:11px;text-decoration:none;display:flex}.mobile-dock-item.active{color:var(--accent)}.mobile-dock-icon{font-size:20px;line-height:1}.payment-modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.payment-modal{border:1px solid var(--border);background:var(--bg);width:100%;max-width:420px;max-height:90vh;box-shadow:var(--shadow);text-align:left;border-radius:14px;flex-direction:column;gap:20px;padding:32px;display:flex;position:relative;overflow-y:auto}.payment-modal-close{appearance:none;width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:50%;font-size:22px;line-height:1;transition:background .2s;position:absolute;top:16px;right:16px}.payment-modal-close:hover,.payment-modal-close:focus-visible{background:var(--code-bg)}.payment-modal-header{align-items:center;gap:8px;padding-right:32px;display:flex}.payment-modal-test-badge{letter-spacing:.04em;color:#fff;background:#e5484d;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.payment-modal-title{margin:0}.payment-modal-notice{color:var(--text);margin:-8px 0 0;font-size:12px;line-height:1.5}.payment-modal-summary{background:var(--code-bg);border-radius:10px;flex-direction:column;gap:8px;padding:16px;display:flex}.payment-modal-summary-row{color:var(--text);justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;display:flex}.payment-modal-summary-row span:last-child{text-align:right;color:var(--text-h);font-weight:500}.payment-modal-summary-amount{border-top:1px solid var(--border);padding-top:8px;font-size:14px}.payment-modal-summary-amount strong{color:var(--text-h);font-size:20px}.payment-modal-widget{background:#fff;border-radius:10px;overflow:hidden}.payment-modal-widget-loading{text-align:center;color:#4e5968;margin:0;padding:28px 16px;font-size:13px}.payment-modal-error{text-align:center;color:#e5484d;margin:0;font-size:12.5px;line-height:1.5}.payment-modal-actions{gap:8px;display:flex}.payment-modal-cancel,.payment-modal-confirm{appearance:none;font:inherit;text-align:center;cursor:pointer;border-radius:8px;flex:1;padding:13px;font-size:15px;font-weight:600;transition:opacity .2s}:is(.payment-modal-cancel,.payment-modal-confirm):disabled{cursor:default;opacity:.6}.payment-modal-cancel{border:1px solid var(--border);background:var(--bg);color:var(--text-h)}.payment-modal-cancel:hover,.payment-modal-cancel:focus-visible{border-color:var(--accent-border);color:var(--accent)}.payment-modal-confirm{background:var(--accent);color:var(--bg);border:none}.payment-modal-confirm:hover,.payment-modal-confirm:focus-visible{opacity:.85}.chat-action-card{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:14px;flex-direction:column;gap:8px;padding:12px 14px;font-size:13px;line-height:1.45;display:flex}.chat-action-card.is-inactive{color:var(--text);background:var(--code-bg);opacity:.75}.chat-action-card button{cursor:pointer;border-radius:999px;align-self:flex-start;padding:7px 14px;font-size:13px;font-weight:600}.chat-action-card button:disabled{cursor:not-allowed;opacity:.55}.chat-action-title{margin:0;font-size:14px;font-weight:700}.chat-action-meta,.chat-action-error,.chat-action-done{margin:0}.chat-action-meta{color:var(--text)}.chat-action-error{color:#e5484d}.chat-action-done{color:var(--accent);font-weight:600}.chat-action-details{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;display:grid}.chat-action-details dt{color:var(--text)}.chat-action-details dd{margin:0;font-weight:600}.chat-action-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.chat-action-item{border:1px solid var(--border);background:var(--code-bg);border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.chat-action-item-title{margin:0;font-weight:700}.chat-action-confirm{flex-direction:column;gap:6px;display:flex}.chat-action-buttons{gap:8px;display:flex}.chat-action-primary{background:var(--accent);color:var(--bg);border:none}.chat-action-secondary{border:1px solid var(--border);background:var(--bg);color:var(--text-h)}.chat-action-danger{color:#fff;background:#e5484d;border:none}.chat-widget-toggle{z-index:30;background:var(--accent);color:var(--bg);font:inherit;cursor:pointer;box-shadow:var(--shadow);border:none;border-radius:999px;align-items:center;gap:8px;padding:14px 22px;font-weight:600;transition:transform .15s ease-out,box-shadow .15s ease-out;display:flex;position:fixed;bottom:24px;right:24px}.chat-widget-toggle:hover{transform:translateY(-2px);box-shadow:0 14px 24px -6px #00000040}.chat-widget-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (width<=767px){.chat-widget-toggle{right:16px;bottom:calc(84px + env(safe-area-inset-bottom));padding:12px 16px}}.chat-widget-toggle-icon{font-size:18px;line-height:1}.chat-widget-panel{z-index:30;background:var(--bg);border:1px solid var(--border);width:420px;height:640px;max-height:calc(100svh - 48px);box-shadow:var(--shadow);border-radius:20px;flex-direction:column;animation:.18s ease-out chat-widget-panel-in;display:flex;position:fixed;bottom:24px;right:24px;overflow:hidden}@media (width<=767px){.chat-widget-panel{left:16px;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));width:auto;height:min(640px,100svh - 140px)}}@keyframes chat-widget-panel-in{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.chat-widget-header{border-bottom:1px solid var(--border);background:var(--code-bg);align-items:center;gap:12px;padding:16px;display:flex}.chat-widget-avatar{background:var(--accent-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.chat-widget-header-text{flex:1;min-width:0}.chat-widget-header-text h2{font-size:16px;font-family:var(--heading);color:var(--text-h);margin:0}.chat-widget-header-text p{color:var(--text);margin:2px 0 0;font-size:12px}.chat-widget-close{width:28px;height:28px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;line-height:1;transition:background .15s ease-out,color .15s ease-out;display:flex}.chat-widget-close:hover{background:var(--accent-bg);color:var(--text-h)}.chat-widget-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-widget-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.chat-widget-faq{flex:1;padding:16px;overflow-y:auto}.chat-widget-faq-intro{color:var(--text);margin:0 0 12px;font-size:13px}.chat-widget-faq-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.chat-widget-faq-question{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-h);font:inherit;text-align:left;cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;font-size:14px;transition:background .15s ease-out,border-color .15s ease-out;display:flex}.chat-widget-faq-question:hover,.chat-widget-faq-question.open{border-color:var(--accent-border);background:var(--accent-bg)}.chat-widget-faq-question:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-widget-faq-caret{color:var(--accent);flex-shrink:0;font-size:16px;line-height:1}.chat-widget-faq-answer{border:1px solid var(--border);background:var(--code-bg);color:var(--text);border-radius:12px;margin:6px 2px 0;padding:10px 14px;font-size:13.5px;line-height:1.5;animation:.15s ease-out chat-widget-message-in}.chat-widget-chat{flex-direction:column;flex:1;min-height:0;display:flex}.chat-widget-messages{flex-direction:column;flex:1;gap:14px;margin:0;padding:16px;list-style:none;display:flex;overflow-y:auto}.chat-widget-message{align-items:flex-end;gap:8px;animation:.15s ease-out chat-widget-message-in;display:flex}.chat-widget-message.user{justify-content:flex-end}.chat-widget-message.bot{justify-content:flex-start}@keyframes chat-widget-message-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-widget-message-avatar{background:var(--accent-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;display:flex}.chat-widget-message-body{flex-direction:column;gap:4px;max-width:78%;display:flex}.chat-widget-message.user .chat-widget-message-body{align-items:flex-end}.chat-widget-bubble{word-break:break-word;border-radius:16px;padding:10px 14px;font-size:14px;line-height:1.45}.chat-widget-message.bot .chat-widget-bubble{background:var(--code-bg);color:var(--text-h);border:1px solid var(--border);border-bottom-left-radius:4px}.chat-widget-message.user .chat-widget-bubble{background:var(--accent);color:var(--bg);border-bottom-right-radius:4px}.chat-widget-tabs{border-top:1px solid var(--border);background:var(--code-bg);flex-shrink:0;display:flex}.chat-widget-tab{padding:10px 4px calc(10px + env(safe-area-inset-bottom));color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;border-top:2px solid #0000;flex-direction:column;flex:1;align-items:center;gap:2px;font-size:12px;transition:color .15s ease-out,border-color .15s ease-out;display:flex}.chat-widget-tab.active{color:var(--accent);border-top-color:var(--accent);font-weight:600}.chat-widget-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.chat-widget-tab-icon{font-size:17px;line-height:1}.chat-widget-typing{align-items:center;gap:4px;padding:13px 14px;display:flex}.chat-widget-typing span{background:var(--text);opacity:.5;border-radius:50%;width:6px;height:6px;animation:1.1s ease-in-out infinite chat-widget-typing-bounce}.chat-widget-typing span:nth-child(2){animation-delay:.15s}.chat-widget-typing span:nth-child(3){animation-delay:.3s}@keyframes chat-widget-typing-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.chat-widget-time{color:var(--text);opacity:.7;padding:0 4px;font-size:11px}.chat-widget-input{border-top:1px solid var(--border);align-items:center;gap:8px;padding:12px;display:flex}.chat-widget-input input{border:1px solid var(--border);background:var(--bg);min-width:0;color:var(--text-h);font:inherit;border-radius:999px;flex:1;padding:11px 16px;font-size:14px}.chat-widget-input input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-widget-send{background:var(--accent);width:40px;height:40px;color:var(--bg);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .12s ease-out,box-shadow .15s ease-out,opacity .15s ease-out;display:flex;box-shadow:0 2px 6px -2px #00000059}.chat-widget-send svg{transform:translate(1px)}.chat-widget-send:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px -4px #00000059}.chat-widget-send:active:not(:disabled){transform:scale(.94);box-shadow:0 1px 4px -2px #00000059}.chat-widget-send:disabled{opacity:.4;box-shadow:none;cursor:not-allowed}.chat-widget-send:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.root-layout{flex-direction:column;min-height:100svh;display:flex}.root-layout-main{text-align:left;flex:1}.placeholder-page{text-align:center;max-width:640px;color:var(--text);margin:0 auto;padding:96px 24px}.placeholder-page h1{margin-bottom:12px}.hotel-back-link{color:var(--text);align-items:center;gap:6px;margin-bottom:24px;font-size:14px;text-decoration:none;display:inline-flex}.hotel-back-link:hover,.hotel-back-link:focus-visible{color:var(--accent)}.account-layout{box-sizing:border-box;align-items:flex-start;gap:40px;width:100%;padding:56px 64px 96px;display:flex}@media (width<=767px){.account-layout{flex-direction:column;gap:20px;padding:32px 24px 88px}}.account-sidebar-title{font-family:var(--heading);letter-spacing:.08em;color:var(--text-h);margin:0 0 50px;padding:0 16px;font-size:40px;font-weight:700}@media (width<=767px){.account-sidebar-title{display:none}}.account-sidebar{flex:0 0 480px}@media (width<=767px){.account-sidebar{width:100%}}@media (width<=767px){.account-sidebar nav{gap:16px;display:flex;overflow-x:auto}}.account-sidebar ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}@media (width<=767px){.account-sidebar ul{flex-direction:row;gap:8px}}.account-sidebar a{color:var(--text);white-space:nowrap;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px;font-size:15px;text-decoration:none;transition:background .2s,color .2s;display:flex}.account-sidebar a:hover,.account-sidebar a:focus-visible{background:var(--accent-bg);color:var(--text-h)}.account-sidebar a.active{background:var(--accent-bg);color:var(--accent);font-weight:500}.account-nav-badge{color:#fff;background:#e5484d;border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.account-nav-group+.account-nav-group{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}@media (width<=767px){.account-nav-group+.account-nav-group{border-top:none;margin-top:0;padding-top:0}}.account-nav-group-label{font-family:var(--sans);color:var(--text-h);margin:0 0 16px;padding:0 16px;font-size:24px;font-weight:700}@media (width<=767px){.account-nav-group-label{display:none}}.account-content{flex:1;min-width:0}.account-content .placeholder-page{text-align:left;margin:0;padding:0}.hotel-card{color:inherit;border:1px solid var(--border);background:var(--bg);border-radius:12px;flex-direction:column;text-decoration:none;transition:box-shadow .3s,transform .3s;display:flex;overflow:hidden}.hotel-card:hover,.hotel-card:focus-visible{box-shadow:var(--shadow);transform:translateY(-2px)}.hotel-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hotel-card-image{aspect-ratio:4/3;background-position:50%;background-size:cover;width:100%}.hotel-card-body{text-align:left;padding:20px}.hotel-card-location{letter-spacing:.04em;color:var(--accent);margin:0 0 4px;font-size:13px}.hotel-card-name{margin:0 0 8px;font-size:20px}.hotel-card-summary{color:var(--text);font-size:14px;line-height:145%}.hero{text-align:center;color:#fbf9f5;background-image:linear-gradient(#14110c73, #14110c8c), var(--main-hero-photo,none), linear-gradient(160deg, #2a2620, #4a3f2c 60%, #6b5a3d);background-position:50%;background-size:cover;justify-content:center;align-items:center;min-height:70svh;padding:48px 24px;display:flex}@media (width<=767px){.hero{min-height:60svh;padding:32px 20px}}.hero-content{max-width:560px}.hero-eyebrow{letter-spacing:.12em;text-transform:uppercase;opacity:.8;margin:0 0 12px;font-size:13px}.hero-title{color:#fbf9f5;margin:0 0 16px}.hero-description{opacity:.85;margin-bottom:28px;font-size:16px;line-height:160%}.hero-cta{color:#2a2620;background:#fbf9f5;border-radius:999px;padding:12px 28px;font-size:15px;text-decoration:none;display:inline-block}.hero-cta:hover,.hero-cta:focus-visible{opacity:.9}.hotel-intro{max-width:1126px;margin:0 auto;padding:64px 32px}@media (width<=767px){.hotel-intro{padding:40px 20px}}.hotel-intro-header{justify-content:space-between;align-items:baseline;margin-bottom:24px;display:flex}.hotel-intro-link{color:var(--accent);font-size:14px;text-decoration:none}.hotel-intro-link:hover{text-decoration:underline}.hotel-intro-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;display:grid}.hotels-page{max-width:1126px;margin:0 auto;padding:48px 32px 96px}@media (width<=767px){.hotels-page{padding:32px 20px 88px}}.hotels-page-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:24px;display:grid}.hotel-detail-hero{aspect-ratio:16/7;background-image:var(--hotel-photo,none), repeating-linear-gradient(45deg, #ffffff12 0 2px, transparent 2px 14px), var(--hotel-accent);background-position:50%,0 0,0 0;background-size:cover,auto,auto;width:100%}@media (width<=767px){.hotel-detail-hero{aspect-ratio:4/3}}.hotel-detail-body{max-width:1126px;margin:0 auto;padding:32px 32px 96px}@media (width<=767px){.hotel-detail-body{padding:32px 20px 88px}}.hotel-detail-location{letter-spacing:.04em;color:var(--accent);margin:0 0 4px;font-size:13px}.hotel-detail-name{margin:0 0 8px}.hotel-detail-summary{color:var(--text);max-width:640px;font-size:16px;line-height:150%}.hotel-detail-contact{color:var(--text);opacity:.8;margin-top:4px;font-size:14px}.hotel-detail-features{grid-template-columns:repeat(2,1fr);gap:20px;margin-top:40px;display:grid}@media (width<=767px){.hotel-detail-features{grid-template-columns:1fr}}.hotel-detail-feature{aspect-ratio:4/3;color:#fff;border-radius:12px;text-decoration:none;display:block;position:relative;overflow:hidden}.hotel-detail-feature:hover .hotel-detail-feature-image,.hotel-detail-feature:focus-visible .hotel-detail-feature-image{transform:scale(1.04)}.hotel-detail-feature:hover,.hotel-detail-feature:focus-visible{box-shadow:var(--shadow)}.hotel-detail-feature:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hotel-detail-feature-image{background-image:var(--tile-photo,none), repeating-linear-gradient(45deg, #ffffff14 0 2px, transparent 2px 14px), var(--tile-accent);background-position:50%,0 0,0 0;background-size:cover,auto,auto;transition:transform .4s ease-out;position:absolute;inset:0}.hotel-detail-feature-image.stay{--tile-accent:linear-gradient(135deg, #4a3f2e, #8a7350)}.hotel-detail-feature-image.waters{--tile-accent:linear-gradient(135deg, #1c4b52, #4f9aa6)}.hotel-detail-feature-overlay{background:linear-gradient(#0000 40%,#0009);flex-direction:column;justify-content:flex-end;gap:4px;padding:20px;display:flex;position:absolute;inset:0}.hotel-detail-feature-label{font-family:var(--heading);letter-spacing:.08em;font-size:22px}.hotel-detail-feature-caption{opacity:.85;font-size:13px}.room-card{color:inherit;border:1px solid var(--border);background:var(--bg);border-radius:12px;flex-direction:column;text-decoration:none;transition:box-shadow .3s,transform .3s;display:flex;overflow:hidden}.room-card:hover,.room-card:focus-visible{box-shadow:var(--shadow);transform:translateY(-2px)}.room-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.room-card-image{aspect-ratio:4/3;object-fit:cover;background:var(--accent-bg);width:100%;display:block}.room-card-body{text-align:left;padding:20px}.room-card-name{margin:0 0 8px;font-size:20px}.room-card-capacity{letter-spacing:.04em;color:var(--accent);margin:0;font-size:13px}.hotel-stay-page{max-width:1126px;margin:0 auto;padding:48px 32px 96px}@media (width<=767px){.hotel-stay-page{padding:32px 20px 88px}}.hotel-stay-intro{color:var(--text);margin-bottom:8px;font-size:15px}.hotel-stay-status{color:var(--text);margin-top:24px;font-size:14px}.hotel-stay-status.error{color:#e5484d}.hotel-stay-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:24px;display:grid}.room-carousel{aspect-ratio:16/9;background:var(--accent-bg);border-radius:12px;width:100%;position:relative;overflow:hidden}.room-carousel-image{object-fit:cover;width:100%;height:100%;display:block}.room-carousel-button{color:#fff;cursor:pointer;background:#00000073;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0 0 4px;font-size:28px;line-height:1;transition:background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.room-carousel-button:hover,.room-carousel-button:focus-visible{background:#000000b3}.room-carousel-button.prev{left:12px}.room-carousel-button.next{right:12px}.room-carousel-counter{color:#fff;background:#00000080;border-radius:999px;padding:2px 10px;font-size:13px;position:absolute;top:12px;right:12px}.room-carousel-dots{gap:8px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.room-carousel-dot{cursor:pointer;background:#ffffff80;border:none;border-radius:50%;width:8px;height:8px;padding:0}.room-carousel-dot.active{background:#fff}.room-detail-page{max-width:1126px;margin:0 auto;padding:48px 32px 96px}@media (width<=767px){.room-detail-page{padding:32px 20px 88px}}.room-detail-status{color:var(--text);margin-top:24px;font-size:14px}.room-detail-status.error{color:#e5484d}.room-detail{flex-direction:column;display:flex}.room-detail-title{margin:0 0 20px}.room-detail-image{aspect-ratio:16/9;object-fit:cover;background:var(--accent-bg);border-radius:12px;width:min(360px,100%);display:block}.room-detail-body{max-width:720px;padding-top:24px}.room-detail-capacity{letter-spacing:.04em;color:var(--accent);margin:0 0 16px;font-size:13px}.room-detail-description{color:var(--text);white-space:pre-line;font-size:16px;line-height:160%}.hotel-waters-image{aspect-ratio:16/7;background-image:var(--waters-photo,none), repeating-linear-gradient(45deg, #ffffff12 0 2px, transparent 2px 14px), linear-gradient(135deg, #1c4b52, #4f9aa6);background-position:50%,0 0,0 0;background-size:cover,auto,auto;width:100%}@media (width<=767px){.hotel-waters-image{aspect-ratio:4/3}}.hotel-waters-body{max-width:1126px;margin:0 auto;padding:32px 32px 96px}@media (width<=767px){.hotel-waters-body{padding:32px 20px 88px}}.hotel-waters-copy{flex-direction:column;gap:16px;max-width:720px;display:flex}.hotel-waters-copy p{color:var(--text);font-size:16px;line-height:160%}.hotel-waters-info{border-top:1px solid var(--border);max-width:840px;margin:40px 0 0}.hotel-waters-info-row{border-bottom:1px solid var(--border);grid-template-columns:160px 1fr;gap:24px;padding:20px 0;display:grid}@media (width<=767px){.hotel-waters-info-row{grid-template-columns:1fr;gap:8px}}.hotel-waters-info-row dt{color:var(--text-h);font-size:14px;font-weight:600}.hotel-waters-info-row dd{color:var(--text);margin:0;font-size:15px;line-height:160%}.hotel-waters-info-row dd p{margin:0 0 4px}.hotel-waters-info-row dd p:last-of-type{margin-bottom:0}.hotel-waters-notes{color:var(--text);opacity:.85;flex-direction:column;gap:4px;margin:12px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.hotel-waters-notes li:before{content:"· "}.hotel-waters-rule-group+.hotel-waters-rule-group{margin-top:20px}.hotel-waters-rule-group h3{font-family:var(--sans);color:var(--text-h);margin:0 0 8px;font-size:14px;font-weight:600}.hotel-waters-rule-group ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.hotel-waters-rule-group li{font-size:14px;line-height:155%}.hotel-waters-rule-group li:before{content:"- "}.date-range-calendar{padding:32px 24px 24px}.date-range-calendar-months{align-items:flex-start;gap:16px;display:flex}@media (width<=900px){.date-range-calendar-months{flex-wrap:wrap}}.date-range-nav{width:32px;height:32px;color:var(--text-h);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:40px;display:inline-flex}.date-range-nav:hover:not(:disabled),.date-range-nav:focus-visible{background:var(--accent-bg)}.date-range-nav:disabled{color:var(--border);cursor:default}.date-range-month{flex:1;min-width:280px}.date-range-month-title{color:var(--text-h);text-align:center;margin:0 0 20px;font-size:18px;font-weight:600}.date-range-weekdays{grid-template-columns:repeat(7,1fr);margin-bottom:8px;display:grid}.date-range-weekdays span{text-align:center;color:var(--text);font-size:13px}.date-range-weekdays span.is-sunday{color:#a5453a}.date-range-days{grid-template-columns:repeat(7,1fr);row-gap:6px;display:grid}.date-range-day{appearance:none;font:inherit;height:52px;color:var(--text-h);cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:flex-start;align-items:center;gap:2px;padding-top:4px;display:flex;position:relative}.date-range-day.is-empty{cursor:default}.date-range-day.is-sunday{color:#a5453a}.date-range-day.is-disabled{color:var(--border);cursor:default}.date-range-day.is-in-range:before{content:"";background:var(--accent-bg);z-index:0;height:28px;position:absolute;top:4px;left:0;right:0}.date-range-day.is-range-start:before{content:"";background:var(--accent-bg);z-index:0;height:28px;position:absolute;top:4px;left:50%;right:0}.date-range-day.is-range-end:before{content:"";background:var(--accent-bg);z-index:0;height:28px;position:absolute;top:4px;left:0;right:50%}.date-range-day:not(.is-disabled):not(.is-empty):hover .date-range-day-number,.date-range-day:not(.is-disabled):not(.is-empty):focus-visible .date-range-day-number{background:var(--accent-bg)}.date-range-day-number{z-index:1;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:15px;display:inline-flex;position:relative}.date-range-day.is-selected .date-range-day-number{background:var(--text-h);color:var(--bg)}.date-range-day-caption{z-index:1;color:var(--text);font-size:11px;position:relative}.date-range-calendar-footer{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.date-range-calendar-hint{color:var(--text);margin:0;font-size:13px}.date-range-calendar-actions{justify-content:center;align-items:center;gap:12px;margin-top:20px;display:flex}.date-range-back{appearance:none;border:1px solid var(--border);background:var(--bg);color:var(--text-h);font:inherit;cursor:pointer;border-radius:8px;padding:12px 32px;font-size:15px}.date-range-back:hover,.date-range-back:focus-visible{border-color:var(--accent-border);color:var(--accent)}.date-range-confirm{appearance:none;font:inherit;background:var(--accent);color:var(--bg);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;padding:12px 32px;font-size:15px;transition:opacity .2s}.date-range-confirm:hover:not(:disabled),.date-range-confirm:focus-visible{opacity:.85}.date-range-confirm:disabled{background:var(--border);color:var(--text);cursor:default}.guest-selector{padding:8px 24px 24px}.guest-selector-room{padding:20px 0}.guest-selector-room+.guest-selector-room{border-top:1px solid var(--border)}.guest-selector-room-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.guest-selector-room-title{color:var(--text-h);font-size:15px;font-weight:600}.guest-selector-remove{appearance:none;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;font-size:13px;text-decoration:underline}.guest-selector-remove:hover,.guest-selector-remove:focus-visible{color:var(--accent)}.guest-selector-steppers{flex-wrap:wrap;gap:24px;display:flex}@media (width<=600px){.guest-selector-steppers{flex-direction:column;gap:12px}}.guest-stepper{flex:1;justify-content:space-between;align-items:center;gap:16px;min-width:160px;display:flex}.guest-stepper-label{color:var(--text-h);font-size:14px}.guest-stepper-controls{align-items:center;gap:12px;display:flex}.guest-stepper-controls button{appearance:none;border:1px solid var(--border);background:var(--bg);width:28px;height:28px;color:var(--text-h);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:16px;line-height:1;display:inline-flex}.guest-stepper-controls button:hover:not(:disabled),.guest-stepper-controls button:focus-visible{border-color:var(--accent-border);color:var(--accent)}.guest-stepper-controls button:disabled{color:var(--border);cursor:default}.guest-stepper-value{text-align:center;min-width:16px;color:var(--text-h);font-size:15px}.guest-selector-footer-note{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;margin-top:8px;padding-top:16px;display:flex}.guest-selector-footer-note p{color:var(--text);margin:0;font-size:12px}@media (width<=600px){.guest-selector-footer-note{flex-direction:column;align-items:flex-start}}.guest-selector-actions{justify-content:center;align-items:center;gap:12px;margin-top:24px;display:flex}.guest-selector-back{appearance:none;border:1px solid var(--border);background:var(--bg);color:var(--text-h);font:inherit;cursor:pointer;border-radius:8px;padding:12px 32px;font-size:15px}.guest-selector-back:hover,.guest-selector-back:focus-visible{border-color:var(--accent-border);color:var(--accent)}.guest-selector-submit{appearance:none;background:var(--accent);color:var(--bg);font:inherit;cursor:pointer;border:none;border-radius:8px;padding:12px 32px;font-size:15px;transition:opacity .2s}.guest-selector-submit:hover,.guest-selector-submit:focus-visible{opacity:.85}.reservation-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.reservation-page-header h1{margin:0}.reservation-steps{align-items:center;margin:0;padding:0;list-style:none;display:flex}.reservation-step-item{align-items:center;display:flex}.reservation-step-circle{border:1px solid var(--border);width:28px;height:28px;color:var(--text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.reservation-step-circle.is-active{background:var(--text-h);border-color:var(--text-h);color:var(--bg)}.reservation-step-text{color:var(--text-h);white-space:nowrap;margin-left:8px;font-size:14px}@media (width<=600px){.reservation-step-text{display:none}}.reservation-step-line{background:var(--border);width:32px;height:1px;margin:0 8px}@media (width<=600px){.reservation-step-line{width:16px}}.reservation-page{max-width:1720px;margin:0 auto;padding:48px 56px 96px}@media (width<=767px){.reservation-page{padding:32px 20px 88px}}.reservation-placeholder-note{color:var(--text);margin-top:56px;font-size:15px}.reservation-search{border:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow);border-radius:12px;margin-top:80px;overflow:hidden}.reservation-search-bar{background:var(--code-bg);align-items:stretch;display:flex}@media (width<=900px){.reservation-search-bar{flex-wrap:wrap}}.reservation-field{appearance:none;text-align:left;cursor:pointer;min-width:200px;font:inherit;color:inherit;background:0 0;border:none;flex:1;padding:18px 24px}.reservation-field:hover,.reservation-field:focus-visible,.reservation-field.is-open{background:var(--bg)}.reservation-field-label{color:var(--text);align-items:center;gap:6px;font-size:13px;display:flex}.reservation-field-value{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-size:16px;font-weight:500;display:block;overflow:hidden}.reservation-divider{background:var(--border);width:1px;margin:16px 0}.reservation-search-submit{appearance:none;font:inherit;background:var(--accent);color:var(--bg);cursor:pointer;border:none;flex:none;padding:0 40px;font-size:16px;font-weight:500;transition:opacity .2s}.reservation-search-submit:hover,.reservation-search-submit:focus-visible{opacity:.85}@media (width<=900px){.reservation-search-submit{flex:1 0 100%;padding:16px}}.reservation-panel{border-top:1px solid var(--border);animation:.15s ease-out reservation-panel-slide-down}@keyframes reservation-panel-slide-down{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.reservation-hotel-panel{padding:20px 24px}.reservation-field-error{color:#e5484d;margin:0 0 12px;font-size:13px}.reservation-hotel-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.reservation-hotel-option{appearance:none;border:1px solid var(--border);background:var(--bg);text-align:left;width:100%;font:inherit;cursor:pointer;border-radius:8px;flex-direction:column;gap:4px;padding:14px 16px;transition:border-color .2s;display:flex}.reservation-hotel-option:hover,.reservation-hotel-option:focus-visible{border-color:var(--accent-border)}.reservation-hotel-option.is-selected{border-color:var(--accent);background:var(--accent-bg)}.reservation-hotel-name{color:var(--text-h);font-size:15px;font-weight:600}.reservation-hotel-location{color:var(--text);font-size:13px}.reservation-hotel-actions{border-top:1px solid var(--border);justify-content:center;align-items:center;margin-top:20px;padding-top:20px;display:flex}.reservation-hotel-next{appearance:none;font:inherit;background:var(--accent);color:var(--bg);cursor:pointer;border:none;border-radius:8px;padding:12px 32px;font-size:15px;transition:opacity .2s}.reservation-hotel-next:hover:not(:disabled),.reservation-hotel-next:focus-visible{opacity:.85}.reservation-hotel-next:disabled{background:var(--border);color:var(--text);cursor:default}.room-detail-modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.room-detail-modal{border:1px solid var(--border);background:var(--bg);width:100%;max-width:640px;max-height:85vh;box-shadow:var(--shadow);text-align:left;border-radius:12px;padding:32px;position:relative;overflow-y:auto}.room-detail-modal-close{appearance:none;width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:50%;font-size:22px;line-height:1;transition:background .2s;position:absolute;top:16px;right:16px}.room-detail-modal-close:hover,.room-detail-modal-close:focus-visible{background:var(--code-bg)}.room-detail-modal-title{margin:0 32px 20px 0}.room-detail-modal-image{aspect-ratio:16/9;background:var(--accent-bg);border-radius:12px;width:100%}.room-detail-modal-capacity{letter-spacing:.04em;color:var(--accent);margin:20px 0 0;font-size:13px}.room-detail-modal-description{color:var(--text);white-space:pre-line;margin:12px 0 0;font-size:15px;line-height:160%}.room-selection-page{max-width:1720px;margin:0 auto;padding:48px 56px 96px}@media (width<=767px){.room-selection-page{padding:32px 20px 88px}}.room-selection-body{grid-template-columns:1fr 320px;align-items:start;gap:40px;margin-top:150px;display:grid}@media (width<=900px){.room-selection-body{grid-template-columns:1fr}}.room-selection-main{min-width:0}.room-selection-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px;display:flex}.room-selection-count{color:var(--text-h);margin:0;font-size:14px}.room-selection-sort{color:var(--text);align-items:center;gap:8px;font-size:13px;display:flex}.room-selection-sort select{appearance:none;border:1px solid var(--border);font:inherit;color:var(--text-h);background:var(--bg);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:13px}.room-selection-status{color:var(--text);text-align:center;margin:40px 0;font-size:15px}.room-selection-status.error{color:#e5484d}.room-select-list{flex-direction:column;gap:20px;margin:24px 0 0;padding:0;list-style:none;display:flex}.room-select-card{border:1px solid var(--border);background:var(--bg);border-radius:12px;align-items:stretch;gap:20px;padding:16px;transition:box-shadow .2s;display:flex}.room-select-card:hover{box-shadow:var(--shadow)}@media (width<=640px){.room-select-card{flex-direction:column;align-items:stretch}}.room-select-thumb{aspect-ratio:4/3;object-fit:cover;background:var(--accent-bg);border-radius:8px;flex:0 0 220px;width:220px;min-width:0}@media (width<=640px){.room-select-thumb{flex-basis:auto;width:100%}}.room-select-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.room-select-heading{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.room-select-name{color:var(--text-h);margin:0;font-size:19px}.room-select-detail-link{appearance:none;font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:none}.room-select-detail-link:hover,.room-select-detail-link:focus-visible{text-decoration:underline}.room-select-capacity{color:var(--accent);margin:0;font-size:13px}.room-select-inline-price{margin-top:auto;padding-top:10px}.room-select-inline-price p{color:var(--text);margin:0;font-size:13px}.room-select-inline-price p.error{color:#e5484d}.room-select-inline-price strong{color:var(--text-h);font-size:18px}.room-select-price-unit{color:var(--text);margin-left:6px}.room-select-button{appearance:none;font:inherit;background:var(--accent);color:var(--bg);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-self:flex-end;padding:8px 40px;font-size:14px;font-weight:500;transition:opacity .2s}.room-select-button:hover:not(:disabled),.room-select-button:focus-visible{opacity:.85}.room-select-button:disabled{background:var(--border);color:var(--text);cursor:default}@media (width<=640px){.room-select-button{align-self:stretch}}.room-selection-summary{border:1px solid var(--accent-border);background:var(--accent-bg);border-radius:12px;flex-direction:column;gap:8px;padding:16px;display:flex;position:sticky;top:24px}.room-selection-summary-header{justify-content:flex-end;padding:0 4px;display:flex}.room-selection-refresh{color:var(--text);align-items:center;gap:6px;font-size:12px;text-decoration:none;display:inline-flex}.room-selection-refresh:hover,.room-selection-refresh:focus-visible{color:var(--text-h)}.room-selection-summary-info{background:var(--bg);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.room-selection-summary-row{flex-direction:column;gap:6px;padding:16px 20px;display:flex}.room-selection-summary-label{color:var(--text);align-items:center;gap:6px;font-size:13px;display:flex}.room-selection-summary-value{color:var(--text-h);font-size:15px;font-weight:500;line-height:1.5}.reservation-options-page{max-width:1720px;margin:0 auto;padding:48px 56px 96px}@media (width<=767px){.reservation-options-page{padding:32px 20px 88px}}.reservation-options-body{grid-template-columns:1fr 320px;align-items:start;gap:40px;margin-top:80px;display:grid}@media (width<=900px){.reservation-options-body{grid-template-columns:1fr}}.reservation-options-main{min-width:0}.reservation-options-room-header{border-bottom:1px solid var(--border);padding-bottom:16px}.reservation-options-room-header h2{color:var(--text-h);margin:0;font-size:19px;font-weight:600}.reservation-options-room-guests{color:var(--text);margin-left:10px;font-size:14px;font-weight:400}.reservation-options-section{margin-top:28px}.reservation-options-section h3{color:var(--text-h);margin:0 0 4px;font-size:16px}.reservation-option-list{margin:16px 0 0;padding:0;list-style:none}.reservation-option-row{align-items:center;gap:20px;padding:14px 0;display:flex}@media (width<=640px){.reservation-option-row{flex-wrap:wrap;gap:8px 20px}}.reservation-option-name{min-width:120px;color:var(--text-h);flex:1;font-size:15px}.reservation-option-price{text-align:right;min-width:90px;color:var(--text-h);flex:none;font-size:15px}.reservation-option-stepper{flex:none;align-items:center;gap:12px;display:flex}.reservation-option-stepper button{appearance:none;border:1px solid var(--border);background:var(--bg);width:28px;height:28px;color:var(--text-h);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:16px;line-height:1;display:inline-flex}.reservation-option-stepper button:hover:not(:disabled),.reservation-option-stepper button:focus-visible{border-color:var(--accent-border);color:var(--accent)}.reservation-option-stepper button:disabled{color:var(--border);cursor:default}.reservation-option-stepper-value{text-align:center;min-width:16px;color:var(--text-h);font-size:15px}.reservation-options-notice{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.reservation-options-notice-group-title{color:var(--text-h);margin:20px 0 8px;font-size:13px;font-weight:600}.reservation-options-notice-group-title:first-child{margin-top:0}.reservation-options-note{margin:0;padding:0;list-style:none}.reservation-options-note li{color:var(--text);padding-left:12px;font-size:12px;line-height:1.6;position:relative}.reservation-options-note li:before{content:"·";position:absolute;left:0}.reservation-options-actions{justify-content:flex-start;margin-top:40px;display:flex}.reservation-options-back{appearance:none;border:1px solid var(--border);background:var(--bg);color:var(--text-h);font:inherit;cursor:pointer;border-radius:8px;padding:12px 32px;font-size:15px;text-decoration:none}.reservation-options-back:hover,.reservation-options-back:focus-visible{border-color:var(--accent-border);color:var(--accent)}.reservation-options-summary{border:1px solid var(--accent-border);background:var(--accent-bg);border-radius:12px;flex-direction:column;gap:8px;padding:16px;display:flex;position:sticky;top:24px}.reservation-options-summary-header{justify-content:flex-end;padding:0 4px;display:flex}.reservation-options-refresh{color:var(--text);align-items:center;gap:6px;font-size:12px;text-decoration:none;display:inline-flex}.reservation-options-refresh:hover,.reservation-options-refresh:focus-visible{color:var(--text-h)}.reservation-options-summary-info{background:var(--bg);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.reservation-options-summary-row{flex-direction:column;gap:6px;padding:16px 20px;display:flex}.reservation-options-summary-row+.reservation-options-summary-row{border-top:1px solid var(--border)}.reservation-options-summary-label{color:var(--text);align-items:center;gap:6px;font-size:13px;display:flex}.reservation-options-summary-value{color:var(--text-h);font-size:15px;font-weight:500;line-height:1.5}.reservation-options-summary-price{background:var(--bg);border-radius:10px;margin-top:8px;padding:16px 20px}.reservation-options-summary-status{color:var(--text);margin:0;font-size:13px}.reservation-options-summary-status.error{color:#e5484d}.reservation-options-summary-nights{margin:0;padding:0;list-style:none}.reservation-options-summary-nights li{color:var(--text);justify-content:space-between;align-items:center;padding:4px 0;font-size:13px;display:flex}.reservation-options-summary-total{border-top:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:12px;margin-top:12px;padding-top:12px;display:flex}.reservation-options-summary-total strong{color:var(--text-h);font-size:20px}.reservation-options-summary-total-label{color:var(--text-h);font-size:14px;font-weight:500}.reservation-options-summary-total-note{color:var(--text);font-size:11px;font-weight:400}.reservation-options-summary-pay{margin-top:8px}.reservation-options-pay-button{appearance:none;width:100%;font:inherit;background:var(--accent);color:var(--bg);cursor:pointer;border:none;border-radius:8px;padding:14px;font-size:16px;font-weight:600;transition:opacity .2s}.reservation-options-pay-button:hover:not(:disabled),.reservation-options-pay-button:focus-visible{opacity:.85}.reservation-options-pay-button:disabled{background:var(--border);color:var(--text);cursor:default}.reservation-options-pay-status{text-align:center;color:var(--text);margin:8px 0 0;font-size:12px;line-height:1.5}.reservation-options-pay-status.error{color:#e5484d}.reservation-options-pay-status.success{color:var(--accent)}.reservation-complete-page{max-width:1720px;margin:0 auto;padding:48px 56px 96px}@media (width<=767px){.reservation-complete-page{padding:32px 20px 88px}}.reservation-complete-status{color:var(--text);margin-top:80px;font-size:15px}.reservation-complete-status.error{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.reservation-complete-status.error a{color:var(--accent)}.reservation-complete-banner{text-align:center;flex-direction:column;align-items:center;gap:10px;margin-top:64px;display:flex}.reservation-complete-check{background:var(--accent);width:72px;height:72px;color:var(--bg);box-shadow:0 0 0 12px var(--accent-bg);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.reservation-complete-banner h2{margin:12px 0 0}.reservation-complete-guide{color:var(--text-h);margin:0;font-size:15px}.reservation-complete-number{color:var(--text);font-size:14px}.reservation-complete-body{grid-template-columns:1fr 320px;align-items:start;gap:40px;margin-top:48px;display:grid}@media (width<=900px){.reservation-complete-body{grid-template-columns:1fr}}.reservation-complete-main{min-width:0}.reservation-complete-room{border-bottom:1px solid var(--border);align-items:center;gap:20px;padding-bottom:24px;display:flex}.reservation-complete-room-thumb{object-fit:cover;background:var(--code-bg);border-radius:12px;flex-shrink:0;width:140px;height:140px}.reservation-complete-room-thumb.is-placeholder{background:linear-gradient(135deg, var(--accent-bg), var(--code-bg))}.reservation-complete-room-info h3{color:var(--text-h);margin:0;font-size:24px;font-weight:600}.reservation-complete-room-info p{color:var(--text);margin-top:8px;font-size:14px}.reservation-complete-details{border-radius:10px;margin-top:4px;overflow:hidden}.reservation-complete-row{flex-direction:column;gap:6px;padding:16px 4px;display:flex}.reservation-complete-row+.reservation-complete-row{border-top:1px solid var(--border)}.reservation-complete-label{color:var(--text);align-items:center;gap:6px;font-size:13px;display:flex}.reservation-complete-value{color:var(--text-h);font-size:15px;font-weight:500;line-height:1.5}.reservation-complete-notice{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.reservation-complete-notice-title{color:var(--text-h);margin:0 0 8px;font-size:13px;font-weight:600}.reservation-complete-notice ul{margin:0;padding:0;list-style:none}.reservation-complete-notice li{color:var(--text);padding-left:12px;font-size:12px;line-height:1.6;position:relative}.reservation-complete-notice li:before{content:"·";position:absolute;left:0}.reservation-complete-summary{border:1px solid var(--accent-border);background:var(--accent-bg);border-radius:12px;flex-direction:column;gap:8px;padding:16px;display:flex;position:sticky;top:24px}.reservation-complete-total{background:var(--bg);border-radius:10px;justify-content:space-between;align-items:flex-end;gap:12px;padding:16px 20px;display:flex}.reservation-complete-total strong{color:var(--text-h);font-size:22px}.reservation-complete-total-label{color:var(--text-h);font-size:14px;font-weight:500}.reservation-complete-total-note{color:var(--text);font-size:11px;font-weight:400}.reservation-complete-actions{flex-direction:column;gap:8px;display:flex}.reservation-complete-primary,.reservation-complete-secondary{appearance:none;font:inherit;text-align:center;cursor:pointer;border-radius:8px;padding:12px;font-size:15px;text-decoration:none}.reservation-complete-primary{background:var(--accent);color:var(--bg);border:none;font-weight:600;transition:opacity .2s}.reservation-complete-primary:hover:not(:disabled),.reservation-complete-primary:focus-visible{opacity:.85}.reservation-complete-primary:disabled{opacity:.45;cursor:not-allowed}.reservation-complete-block{color:var(--text);margin:0;font-size:13px;line-height:1.5}.reservation-complete-secondary{border:1px solid var(--border);background:var(--bg);color:var(--text-h)}.reservation-complete-secondary:hover,.reservation-complete-secondary:focus-visible{border-color:var(--accent-border);color:var(--accent)}.payment-result-page{justify-content:center;padding:80px 16px;display:flex}.payment-result-card{border:1px solid var(--border);background:var(--bg);width:100%;max-width:420px;box-shadow:var(--shadow);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:40px 32px;display:flex}.payment-result-card h1{margin:12px 0 4px;font-size:22px}.payment-result-card p{color:var(--text);margin:0;font-size:14px;line-height:1.6}.payment-result-icon{width:56px;height:56px;color:var(--bg);border-radius:50%;justify-content:center;align-items:center;font-size:26px;font-weight:700;display:inline-flex}.payment-result-icon.is-success{background:var(--accent);box-shadow:0 0 0 10px var(--accent-bg)}.payment-result-icon.is-fail{background:#e5484d;box-shadow:0 0 0 10px #e5484d26}.payment-result-icon.is-pending{background:var(--text);box-shadow:0 0 0 10px var(--code-bg)}.payment-result-spinner{border:4px solid var(--accent-bg);border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;animation:.9s linear infinite payment-result-spin}@keyframes payment-result-spin{to{transform:rotate(360deg)}}.payment-result-amount{color:var(--text-h);margin-top:4px;font-size:20px}.payment-result-actions{gap:8px;width:100%;margin-top:20px;display:flex}.payment-result-primary,.payment-result-secondary{text-align:center;border-radius:8px;flex:1;padding:13px;font-size:15px;font-weight:600;text-decoration:none;transition:opacity .2s,border-color .2s,color .2s}.payment-result-primary{background:var(--accent);color:var(--bg)}.payment-result-primary:hover,.payment-result-primary:focus-visible{opacity:.85}.payment-result-secondary{border:1px solid var(--border);color:var(--text-h)}.payment-result-secondary:hover,.payment-result-secondary:focus-visible{border-color:var(--accent-border);color:var(--accent)}.mypage-page,.mypage-content{width:100%}.mypage-title{margin:0 0 70px;font-size:32px}.mypage-status{color:var(--text);font-size:14px}.mypage-section{text-align:left}.mypage-section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:70px;display:flex}.mypage-section-header h2{margin:0;font-size:18px}.mypage-section-header .mypage-title{margin:0}.mypage-info-list{margin:0}.mypage-info-row{border-bottom:1px solid var(--border);flex-direction:column;gap:4px;padding:16px 0;font-size:15px;display:flex}.mypage-info-row:first-child{padding-top:0}.mypage-info-row:last-child{border-bottom:none;padding-bottom:0}.mypage-info-row dt{color:var(--text-h);font-weight:500}.mypage-info-row dd{color:var(--text);margin:0}.mypage-form{flex-direction:column;gap:18px;display:flex}.mypage-field{color:var(--text-h);flex-direction:column;gap:6px;font-size:14px;display:flex}.mypage-field input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;padding:12px 14px;font-size:15px}.mypage-field input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.mypage-hint{color:var(--text);margin:0;font-size:13px}.mypage-error,.mypage-warning{color:#e5484d;margin:0;font-size:14px}.mypage-modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.mypage-modal{border:1px solid var(--border);background:var(--bg);width:100%;max-width:360px;box-shadow:var(--shadow);text-align:left;border-radius:12px;flex-direction:column;gap:16px;padding:28px;display:flex}.mypage-modal h2{margin:0;font-size:20px}.mypage-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.mypage-submit{background:var(--accent);color:var(--bg);cursor:pointer;border:none;border-radius:999px;padding:12px 20px;font-size:15px;transition:opacity .3s}.mypage-submit:hover:not(:disabled),.mypage-submit:focus-visible{opacity:.85}.mypage-submit:disabled{cursor:default;opacity:.6}.mypage-danger-btn{color:#fff;cursor:pointer;background:#e5484d;border:none;border-radius:999px;padding:12px 20px;font-size:15px;transition:opacity .3s}.mypage-danger-btn:hover:not(:disabled),.mypage-danger-btn:focus-visible{opacity:.85}.mypage-danger-btn:disabled{cursor:default;opacity:.6}.mypage-ghost-btn{border:1px solid var(--border);color:var(--text-h);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:10px 18px;font-size:14px;transition:border-color .3s,opacity .3s}.mypage-ghost-btn:hover:not(:disabled),.mypage-ghost-btn:focus-visible{border-color:var(--accent)}.mypage-ghost-btn:disabled{cursor:default;opacity:.6}.reservation-list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.reservation-card{border:1px solid var(--border);border-radius:12px;overflow:hidden}.reservation-card-link{color:inherit;padding:20px 24px;text-decoration:none;transition:border-color .3s,background .3s;display:block}.reservation-card-link:hover,.reservation-card-link:focus-visible{background:var(--border)}.reservation-card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.reservation-card-body{align-items:center;gap:16px;display:flex}.reservation-card-thumb{object-fit:cover;background:var(--accent-bg);border-radius:8px;flex:none;width:72px;height:72px}.reservation-card-thumb.is-placeholder{background:var(--accent-bg)}.reservation-card-info{flex:auto;min-width:0}.reservation-card-hotel{color:var(--text);margin:0;font-size:13px}.reservation-card-room{color:var(--text-h);margin:2px 0 0;font-size:22px;font-weight:500}.reservation-card-meta{color:var(--text);margin:6px 0 0;font-size:14px}.reservation-card-amount{color:var(--text-h);flex:none;font-size:22px;font-weight:500}.reservation-id{color:var(--text);font-size:13px}.reservation-status{color:var(--bg);background:var(--accent);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:500;display:inline-block}.reservation-status-cancelled{background:var(--text);opacity:.6}.reservation-status-completed{background:var(--text-h)}.reservation-status-pending_payment{background:var(--text-h);opacity:.8}.reservation-back-link{color:var(--text);margin-bottom:24px;font-size:14px;text-decoration:none;display:inline-block}.reservation-back-link:hover,.reservation-back-link:focus-visible{color:var(--accent)}.reservation-detail{border:1px solid var(--border);border-radius:12px;padding:24px}.reservation-detail-room{border-bottom:1px solid var(--border);align-items:center;gap:20px;padding-bottom:24px;display:flex}.reservation-detail-room-thumb{object-fit:cover;background:var(--accent-bg);border-radius:12px;flex-shrink:0;width:140px;height:140px}.reservation-detail-room-thumb.is-placeholder{background:linear-gradient(135deg, var(--accent-bg), var(--border))}.reservation-detail-room-info h2{color:var(--text-h);margin:0;font-size:22px;font-weight:600}.reservation-detail-room-info p{color:var(--text);margin:8px 0 0;font-size:14px}.reservation-detail-rows{margin-top:4px}.reservation-detail-row{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:16px 0;display:flex}.reservation-detail-row:last-child{border-bottom:none;padding-bottom:0}.reservation-detail-label{color:var(--text);align-items:center;gap:6px;font-size:13px;display:flex}.reservation-detail-value{color:var(--text-h);font-size:15px;font-weight:500;line-height:1.5}.reservation-detail-amount{font-size:18px}.reservation-detail-row .reservation-status{color:var(--bg);background:var(--accent);border-radius:999px;align-self:flex-start;padding:4px 12px;font-size:13px;font-weight:500;display:inline-block}.reservation-detail-row .reservation-status-cancelled{background:var(--text);opacity:.6}.reservation-detail-row .reservation-status-completed{background:var(--text-h)}.reservation-detail-row .reservation-status-pending_payment{background:var(--text-h);opacity:.8}.reservation-detail-notice{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.reservation-detail-notice-title{color:var(--text-h);margin:0 0 8px;font-size:13px;font-weight:600}.reservation-detail-notice ul{margin:0;padding:0;list-style:none}.reservation-detail-notice li{color:var(--text);padding-left:12px;font-size:12px;line-height:1.6;position:relative}.reservation-detail-notice li:before{content:"·";position:absolute;left:0}.payment-list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.payment-card{border:1px solid var(--border);border-radius:12px;overflow:hidden}.payment-card-link{color:inherit;padding:20px 24px;text-decoration:none;transition:background .3s;display:block}.payment-card-link:hover,.payment-card-link:focus-visible{background:var(--border)}.payment-card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.payment-card-body{justify-content:space-between;align-items:center;gap:16px;display:flex}.payment-card-method{color:var(--text-h);margin:0;font-size:22px;font-weight:500}.payment-card-meta{color:var(--text);margin:6px 0 0;font-size:14px}.payment-card-amount{color:var(--text-h);flex:none;font-size:22px;font-weight:500}.payment-status{color:var(--bg);background:var(--accent);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:500;display:inline-block}.payment-status-refunded{background:var(--text);opacity:.6}.payments-pending-card{padding:20px 24px}.payments-pending-card-actions{flex:none;gap:10px;display:flex}.payments-pending-card-actions .mypage-ghost-btn,.payments-pending-card-actions .mypage-submit{height:72px;padding-top:0;padding-bottom:0}.reservation-detail-row .payment-status{color:var(--bg);background:var(--accent);border-radius:999px;align-self:flex-start;padding:4px 12px;font-size:13px;font-weight:500;display:inline-block}.reservation-detail-row .payment-status-refunded{background:var(--text);opacity:.6}.mypage-actions a.mypage-ghost-btn{text-decoration:none}.login-page{justify-content:center;padding:80px 24px;display:flex}@media (width<=767px){.login-page{padding:48px 20px}}.login-card{border:1px solid var(--border);background:var(--bg);text-align:center;border-radius:12px;width:100%;max-width:400px;padding:40px}@media (width<=767px){.login-card{padding:28px 24px}}.login-title{margin:0 0 8px;font-size:28px}.login-description{color:var(--text);margin-bottom:32px;font-size:14px}.login-form{text-align:left;flex-direction:column;gap:18px;display:flex}.login-field{color:var(--text-h);flex-direction:column;gap:6px;font-size:14px;display:flex}.login-field input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;padding:12px 14px;font-size:15px}.login-field input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.login-error{color:#e5484d;margin:0;font-size:14px}.login-info{color:var(--accent);margin:0 0 20px;font-size:14px}.login-submit{background:var(--accent);color:var(--bg);cursor:pointer;border:none;border-radius:999px;margin-top:8px;padding:12px 20px;font-size:15px;transition:opacity .3s}.login-submit:hover:not(:disabled),.login-submit:focus-visible{opacity:.85}.login-submit:disabled{cursor:default;opacity:.6}.login-footer{color:var(--text);margin-top:24px;font-size:14px}.login-footer a{color:var(--accent);text-decoration:none}.login-footer a:hover,.login-footer a:focus-visible{text-decoration:underline}.signup-page{justify-content:center;padding:80px 24px;display:flex}@media (width<=767px){.signup-page{padding:48px 20px}}.signup-card{border:1px solid var(--border);background:var(--bg);text-align:center;border-radius:12px;width:100%;max-width:400px;padding:40px}@media (width<=767px){.signup-card{padding:28px 24px}}.signup-title{margin:0 0 8px;font-size:28px}.signup-description{color:var(--text);margin-bottom:32px;font-size:14px}.signup-form{text-align:left;flex-direction:column;gap:18px;display:flex}.signup-field{color:var(--text-h);flex-direction:column;gap:6px;font-size:14px;display:flex}.signup-field input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;padding:12px 14px;font-size:15px}.signup-field input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.signup-error{color:#e5484d;margin:0;font-size:14px}.signup-submit{background:var(--accent);color:var(--bg);cursor:pointer;border:none;border-radius:999px;margin-top:8px;padding:12px 20px;font-size:15px;transition:opacity .3s}.signup-submit:hover:not(:disabled),.signup-submit:focus-visible{opacity:.85}.signup-submit:disabled{cursor:default;opacity:.6}.signup-footer{color:var(--text);margin-top:24px;font-size:14px}.signup-footer a{color:var(--accent);text-decoration:none}.signup-footer a:hover,.signup-footer a:focus-visible{text-decoration:underline}
