@font-face{font-family:notoSerifJP;src:url(../media/NotoSerifJP_Regular-s.p.3jxfn6eqp9ac7.woff2)format("woff2");font-display:swap}@font-face{font-family:notoSerifJP Fallback;src:local(Arial);ascent-override:103.96%;descent-override:25.83%;line-gap-override:0.0%;size-adjust:110.71%}.notoserifjp_d8c602a4-module__DIcYMG__className{font-family:notoSerifJP,notoSerifJP Fallback,Yu Mincho,YuMincho,Hiragino Mincho ProN,serif}.notoserifjp_d8c602a4-module__DIcYMG__variable{--font-mincho:"notoSerifJP", "notoSerifJP Fallback", Yu Mincho, YuMincho, Hiragino Mincho ProN, serif}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f6f6f3;--foreground:#33332f;--muted:#61615a;--placeholder:#6f716c;--surface:#fff;--border:#e6e6e1;--border-input:#d6d6d0;--accent:#4f6d7a;--accent-strong:#3a525c;--accent-soft:#dfe7ea;--gold:#b08d57;--ink-deep:#23343b;--font-base:-apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif}*{box-sizing:border-box}body{min-height:100dvh;color:var(--foreground);font-family:var(--font-base);background:#f4f3ef;flex-direction:column;margin:0;display:flex;overflow-x:hidden}.page-shell{flex:1}a{color:inherit}.site-header{z-index:100;background:#fff;border-bottom:1px solid #d8d6cf;height:64px;position:sticky;top:0}.site-header-inner{align-items:center;gap:24px;width:min(960px,100% - 32px);height:100%;margin:0 auto;display:flex}.site-logo{font-family:var(--font-base);color:var(--ink-deep);letter-spacing:.08em;font-size:1.25rem;font-weight:700;text-decoration:none}.site-nav{scrollbar-width:none;gap:18px;margin-left:auto;font-size:.8125rem;display:flex;overflow-x:auto}.site-nav::-webkit-scrollbar{display:none}.site-nav-link{color:#5e625e;white-space:nowrap;border-bottom:2px solid #0000;padding:4px 0;text-decoration:none}.site-nav-link:hover{color:var(--foreground)}.site-nav-link.active{color:var(--ink-deep);border-bottom-color:var(--accent);font-weight:700}.chat-widget{right:max(20px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));z-index:120;justify-items:end;gap:12px;width:min(380px,100vw - 32px);display:grid;position:fixed}.chat-launcher{color:#fff;min-height:56px;font:inherit;cursor:pointer;background:#23343b;border:1px solid #23343b2e;border-radius:999px;align-items:center;gap:10px;padding:10px 16px 10px 10px;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex;box-shadow:0 14px 32px #23343b38}.chat-launcher:hover,.chat-launcher:focus-visible{background:#2f4650;transform:translateY(-2px);box-shadow:0 18px 38px #23343b47}.chat-launcher.is-open{background:#3a525c}.chat-launcher-mark{width:36px;height:36px;color:var(--ink-deep);background:#fff;border-radius:999px;place-items:center;font-size:1rem;font-weight:700;display:grid}.chat-launcher-text{flex-direction:column;gap:1px;line-height:1.1;display:flex}.chat-launcher-kicker{color:#ffffffb8;font-size:.6875rem}.chat-launcher-label{font-size:.875rem;font-weight:700}.chat-launcher-mobile{display:none}.chat-widget-panel{background:#fff;border:1px solid #23343b29;border-radius:8px;flex-direction:column;width:100%;max-height:min(680px,100vh - 112px);display:flex;overflow:hidden;box-shadow:0 22px 54px #23343b3d}.chat-widget-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px 12px;display:flex}.chat-widget-kicker{color:var(--accent);letter-spacing:.08em;margin:0 0 2px;font-size:.6875rem;font-weight:700}.chat-widget-title{color:var(--ink-deep);margin:0;font-size:1rem}.chat-widget-close{border:1px solid var(--border);width:32px;height:32px;color:var(--ink-deep);cursor:pointer;font:inherit;background:#fff;border-radius:999px;place-items:center;font-size:1rem;line-height:1;display:grid}.chat-widget-close:hover,.chat-widget-close:focus-visible{background:var(--accent-soft)}.chat-widget-note{border-bottom:1px solid var(--border);color:var(--muted);margin:0;padding:10px 18px;font-size:.75rem;line-height:1.6}.page-shell{width:min(960px,100% - 32px);margin:0 auto;padding:clamp(36px,7vw,72px) 0}.page-panel,.reservation-panel{background:#fff;border:1px solid #d8d6cf;border-radius:4px;width:100%;max-width:820px;margin-inline:auto;padding:clamp(28px,5vw,48px)}.page-panel-centered{text-align:center}.page-panel-centered .confirm-table{text-align:left}.panel-text{color:var(--muted);margin:0 0 4px;font-size:.875rem}.panel-text-small{margin-bottom:16px;font-size:.8125rem}.page-intro{max-width:620px;color:var(--muted);margin:0 0 30px;font-size:.9rem;line-height:1.8}.reservation-panel-narrow{max-width:760px}.reservation-toolbar{text-align:right;width:100%;max-width:820px;margin:0 auto 12px}.lookup-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}h1{margin:0;font-size:clamp(2.5rem,8vw,4.5rem);line-height:1}.page-kicker{letter-spacing:.16em;text-transform:uppercase;color:#74552c;margin:0 0 8px;font-size:.6875rem;font-weight:700;display:block}.page-title{font-family:var(--font-base);color:var(--ink-deep);margin:0 0 10px;font-size:clamp(1.55rem,4vw,2rem);font-weight:600;line-height:1.4}.section-title{font-family:var(--font-base);color:var(--ink-deep);margin:0 0 20px;font-size:clamp(1.2rem,3vw,1.5rem);font-weight:600}.home{flex:1}.home-hero{isolation:isolate;color:#f6f4ef;background:#223036;position:relative;overflow:hidden}.home-hero:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(90deg,#11181bdb 0%,#171f22a1 48%,#171f2238 100%),linear-gradient(#0000 55%,#0a0e0f6b);position:absolute;inset:0}.home-gallery{z-index:-2;position:absolute;inset:0}.home-gallery-images,.home-gallery-image{position:absolute;inset:0}.home-gallery-image{object-fit:cover;opacity:0;transition:opacity 1.6s cubic-bezier(.4,0,.2,1),transform 7s;transform:scale(1.025)}.home-gallery-image.is-active{z-index:2;opacity:1;transform:scale(1)}.home-gallery-image.is-leaving{z-index:1;opacity:0;transform:scale(1)}.home-gallery-image.is-preload{z-index:0}.home-gallery-status{z-index:1;color:#f6f4ef;align-items:center;gap:14px;display:flex;position:absolute;bottom:24px;right:max(16px,50vw - 480px)}.home-gallery-dots{align-items:center;gap:7px;display:flex}.home-gallery-dot{cursor:pointer;background:0 0;border:1px solid #ffffffbf;border-radius:50%;width:8px;height:8px;padding:0}.home-gallery-dot.is-active{background:#f6f4ef}.home-gallery-toggle{color:#f6f4ef;cursor:pointer;background:0 0;border:0;min-width:20px;height:20px;margin-left:3px;padding:0;font-size:.625rem;line-height:1}.home-gallery-dot:focus-visible,.home-gallery-toggle:focus-visible{outline-offset:3px;outline:2px solid #f6f4ef}.home-hero-inner{z-index:1;width:min(960px,100% - 32px);margin:0 auto;padding:clamp(64px,12vw,124px) 0 clamp(56px,10vw,100px);position:relative}.home-title{font-family:var(--font-mincho), var(--font-base);letter-spacing:.06em;margin:0;font-size:clamp(2.1rem,6vw,3.5rem);font-weight:400;line-height:1.4}.home-title-line{white-space:nowrap}.home-cta{flex-wrap:wrap;gap:12px;margin-top:40px;display:flex}.btn-gold{background:var(--gold);color:#241d12}.btn-gold:hover:not(:disabled){background:#c2a06a}.btn-hero-ghost{color:#f6f4ef;background:0 0;border:1px solid #f6f4ef8c}.btn-hero-ghost:hover:not(:disabled){border-color:#f6f4ef}.home-body{width:min(960px,100% - 32px);margin:0 auto;padding:56px 0 8px}.home-section+.home-section{margin-top:56px}.home-section-kicker{letter-spacing:.16em;color:var(--gold);margin:0 0 6px;font-size:.6875rem;font-weight:700}.home-h2{font-family:var(--font-base);margin:0 0 24px;padding-bottom:12px;font-size:1.4rem;font-weight:600;position:relative}.home-h2:after{content:"";background:var(--gold);width:40px;height:2px;position:absolute;bottom:0;left:0}.home-steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.home-step{background:var(--surface);border:1px solid var(--border);border-radius:4px;flex-direction:column;gap:8px;padding:22px 20px;display:flex}.home-step-num{font-family:var(--font-base);color:var(--gold);font-size:1.6rem;font-weight:700;line-height:1}.home-step-title{font-size:1rem;font-weight:700}.home-step-desc{color:var(--muted);font-size:.8125rem;line-height:1.7}.home-services{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.service-card{border:1px solid var(--border);background:var(--surface);color:var(--foreground);border-radius:4px;flex-direction:column;gap:6px;padding:18px 40px 18px 20px;text-decoration:none;transition:border-color .12s;display:flex;position:relative}.service-card:hover,.service-card:focus-visible{border-color:var(--accent);outline-offset:1px;outline:2px solid #4f6d7a33}.service-card-title{color:var(--accent-strong);font-size:.9375rem;font-weight:700}.service-card-desc{color:var(--muted);font-size:.75rem;line-height:1.5}.service-card-arrow{color:var(--gold);font-weight:700;position:absolute;top:16px;right:16px}.home-access{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.home-access-info{flex-direction:column;gap:14px;display:flex}.home-access-name{margin:0;font-size:1rem;font-weight:700}.home-access-address{color:var(--muted);margin:0;font-size:.875rem;font-style:normal;line-height:1.8}.home-access-list{flex-direction:column;gap:8px;margin:0;padding:0;font-size:.8125rem;display:flex}.home-access-row{grid-template-columns:3em 1fr;gap:0 10px;display:grid}.home-access-row dt{color:var(--accent-strong);padding-top:1px;font-weight:700}.home-access-row dd{color:var(--muted);margin:0;line-height:1.6}.home-access-map{border:1px solid var(--border);aspect-ratio:4/3;border-radius:4px;overflow:hidden}.home-access-map iframe{width:100%;height:100%;display:block}@media (max-width:620px){.home-access{grid-template-columns:1fr}}.site-footer{border-top:3px solid var(--gold);background:var(--ink-deep);margin-top:48px}.site-footer-inner{color:#f7f4ed;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 24px;width:min(960px,100% - 32px);margin:0 auto;padding:20px 0;font-size:.75rem;display:flex}.site-footer-brand{flex-wrap:wrap;align-items:baseline;gap:4px 16px;display:flex}.site-footer-note{color:#c7d0d2}.site-footer-copyright{color:#dfe7ea;font-size:.75rem;line-height:1.5}.card{background:var(--surface);border:1px solid var(--border);border-radius:4px}.btn{cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;height:40px;padding:0 20px;font-size:.875rem;font-weight:700;text-decoration:none;transition:background-color .18s,border-color .18s,color .18s,transform .18s;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--ink-deep);color:#fff}.btn-primary:hover:not(:disabled){background:#34505b}.btn-secondary{color:var(--ink-deep);background:#fff;border:1px solid #829398}.btn-secondary:hover:not(:disabled){border-color:var(--ink-deep);background:#edf2f3}.btn-lg{height:46px;padding:0 24px;font-size:.9375rem}.btn-full{width:100%}.field{flex-direction:column;gap:7px;display:flex}.field-label{color:var(--ink-deep);font-size:.78rem;font-weight:700}.field-required:after{content:"必須";color:#c0392b;vertical-align:middle;background:#fdecec;border-radius:3px;margin-left:6px;padding:1px 6px;font-size:.625rem;font-weight:700}.field-optional:after{content:"任意";color:var(--placeholder);vertical-align:middle;background:#eef0ef;border-radius:3px;margin-left:6px;padding:1px 6px;font-size:.625rem;font-weight:700}.field-hint{color:#656b68;font-size:.73rem;line-height:1.5}.field-input{height:46px;color:var(--foreground);background:#fff;border:1px solid #9ba6a5;border-radius:4px;width:100%;min-width:0;padding:0 14px;font-size:.875rem}.field-input[type=date]{appearance:none}.field-input:focus{outline-offset:1px;border-color:var(--accent-strong);outline:3px solid #4f6d7a2e}.field-input::placeholder{color:var(--placeholder)}.field-input.is-invalid{background:#fdf6f6;border-color:#e0a0a0}.field-input.is-valid{background:#f7fbf8;border-color:#a8c7b0}.field-textarea{resize:vertical;height:auto;min-height:80px;padding:10px 12px}.field-error{color:#dc2626;align-items:flex-start;gap:4px;font-size:.75rem;line-height:1.5;display:flex}.field-error:before{content:"!";color:#fff;background:#dc2626;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;margin-top:1px;font-size:.625rem;font-weight:700;display:inline-flex}.field-success{color:#2f855a;font-size:.75rem}.error-box{color:#dc2626;background:#fef2f2;border:1px solid #fca5a5;border-radius:4px;padding:12px 16px;font-size:.875rem}.spinner{vertical-align:-3px;border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.load-status{text-align:center;color:var(--muted);flex-direction:column;gap:8px;padding:16px;font-size:.875rem;display:flex}.load-status-compact{padding-bottom:0}.progress-track{background:#ecece8;border-radius:3px;width:100%;height:6px;overflow:hidden}.progress-bar{background:var(--accent);border-radius:3px;width:40%;height:100%;animation:1.4s ease-in-out infinite indeterminate}@keyframes indeterminate{0%{margin-left:-40%}to{margin-left:100%}}@media (prefers-reduced-motion:reduce){.home-gallery-image{transition:none;transform:none}.spinner{animation-duration:1.5s}.progress-bar{opacity:.5;width:100%;animation:none}}.completion-meter{color:var(--muted);align-items:center;gap:10px;margin-bottom:18px;font-size:.6875rem;display:flex}.completion-track{background:#ecece8;border-radius:3px;flex:1;height:5px;overflow:hidden}.completion-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .25s}.completion-label{font-variant-numeric:tabular-nums;flex-shrink:0}.modal-overlay{z-index:200;background:#1e1e1c66;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border-radius:4px;width:min(400px,100%);padding:24px;box-shadow:0 12px 40px #0000002e}.modal-title{margin:0 0 8px;font-size:1.0625rem;font-weight:700}.modal-body{color:var(--muted);margin:0 0 20px;font-size:.875rem;line-height:1.7}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.step-rail{background:#ffffffe6;border:1px solid #4f6d7a24;border-radius:4px;align-items:center;width:100%;max-width:820px;margin-inline:auto;padding:14px 18px;font-size:.6875rem;display:flex}.step-rail-item{color:var(--placeholder);white-space:nowrap;align-items:center;gap:5px;display:flex}.step-rail-item.active{color:var(--accent);font-weight:700}.step-rail-item.done{color:var(--muted)}.step-dot{width:20px;height:20px;color:var(--placeholder);background:#ededea;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.step-rail-item.active .step-dot{background:var(--accent);color:#fff}.step-rail-item.done .step-dot{color:#fff;background:#cfcfc8}.step-rail-line{background:#e0e0db;flex:1;min-width:16px;height:1px}.step-rail-clickable{font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.step-rail-clickable:hover .step-rail-label,.step-rail-clickable:focus-visible .step-rail-label{text-decoration:underline}.result-controls{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;font-size:.75rem;display:flex}.result-control{align-items:center;gap:6px;display:flex}.result-sort{width:auto;height:30px;padding:0 8px;font-size:.75rem}.availability-calendar{border:1px solid var(--border);background:#fbfbf8;border-radius:4px;flex-direction:column;gap:10px;margin-top:8px;padding:16px;display:flex}.availability-calendar-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.availability-calendar-title{color:var(--ink-deep);text-align:center;margin:2px 0 0;font-size:1rem;font-weight:700}.availability-calendar-help{color:var(--muted);margin:0;font-size:.78rem;line-height:1.6}.availability-calendar-nav{flex-shrink:0;width:34px;height:34px;padding:0}.availability-calendar-weekdays,.availability-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.availability-calendar-weekdays{color:var(--muted);text-align:center;font-size:.6875rem;font-weight:700}.availability-day{min-width:0;min-height:56px;color:var(--foreground);cursor:pointer;font:inherit;background:#fff;border:1px solid #d8d6cf;border-radius:4px;flex-direction:column;justify-content:space-between;align-items:center;padding:6px 4px;display:flex}.availability-day:hover:not(:disabled),.availability-day:focus-visible{border-color:var(--accent);outline-offset:1px;outline:2px solid #4f6d7a2e}.availability-day:disabled{cursor:not-allowed}.availability-day-empty{pointer-events:none;background:0 0;border-color:#0000}.availability-day-number{font-size:.8125rem;font-weight:700}.availability-day-count{color:var(--muted);font-size:.625rem;line-height:1.2}.availability-day.is-selected{border-color:var(--ink-deep);background:var(--ink-deep);color:#fff}.availability-day.is-selected .availability-day-count{color:#f6f4ef}.availability-day.is-limited{background:#fff8e6;border-color:#e2bd67}.availability-day.is-sold-out{color:#8a8a82;background:#f2f2ee}.availability-day.is-past{color:#aaa9a2;background:#f7f7f5}.availability-calendar-legend{color:var(--muted);flex-wrap:wrap;gap:10px;font-size:.6875rem;display:flex}.calendar-load-status{color:var(--muted);align-items:center;gap:8px;font-size:.78rem;line-height:1.5;display:flex}.calendar-load-status .progress-track{flex:1;min-width:120px}.availability-calendar-empty{color:var(--muted);background:#fff;border:1px dashed #cfd6d4;border-radius:4px;padding:10px 12px;font-size:.78rem;line-height:1.6}.legend-swatch{vertical-align:-1px;background:#fff;border:1px solid #d8d6cf;border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}.legend-swatch.is-limited{background:#fff8e6;border-color:#e2bd67}.legend-swatch.is-sold-out{background:#f2f2ee}.room-actions{gap:8px;display:flex}.room-action-btn{height:32px;padding:0 12px;font-size:.75rem}.form-stack{flex-direction:column;gap:14px;display:flex}.form-row{gap:12px;display:flex}.form-row>.field{flex:1;min-width:0}.form-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:24px;padding-top:20px;display:flex}.form-submit{margin-top:20px}.layout-with-sidebar{align-items:flex-start;gap:24px;display:flex}.layout-main{flex:1;min-width:0}.layout-aside{flex-shrink:0;width:200px}.summary-panel{border:1px solid var(--border);background:#f6f8f7;border-radius:4px;padding:16px}.summary-panel-title{color:var(--muted);margin:0 0 10px;font-size:.6875rem;font-weight:600}.summary-photo{background:#ececec;border-radius:4px;height:112px;margin-bottom:10px;position:relative;overflow:hidden}.summary-photo img{object-fit:cover}.room-list{flex-direction:column;flex:1;gap:12px;display:flex}.room-card{border:1px solid var(--border);background:var(--surface);border-radius:4px;gap:14px;padding:14px;transition:border-color .18s;display:flex}.room-card:hover{border-color:#b08d57a6}.room-card.sold-out{opacity:.55}.room-photo{background:#ececec;border-radius:4px;flex-shrink:0;width:144px;height:108px;position:relative;overflow:hidden}.room-photo img{object-fit:cover}.room-info{flex:1;min-width:0}.room-name{color:var(--foreground);margin:0 0 4px;font-size:.875rem;font-weight:700}.room-meta{color:var(--muted);margin:0 0 10px;font-size:.6875rem}.room-footer{justify-content:space-between;align-items:flex-end;display:flex}.room-price{font-size:.9375rem;font-weight:700}.room-price-unit{color:var(--placeholder);font-size:.6875rem;font-weight:400}.room-detail{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:start;gap:24px;display:grid}.room-detail-gallery{background:#ececec;border-radius:4px;min-height:360px;position:relative;overflow:hidden}.room-detail-gallery img{object-fit:cover}.room-detail-main{flex-direction:column;gap:18px;min-width:0;display:flex}.room-detail-title{margin-bottom:8px}.room-detail-lead{color:var(--muted);margin:0;font-size:.875rem;line-height:1.8}.room-detail-facts{border:1px solid var(--border);border-radius:4px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.room-detail-fact{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff;min-width:0;padding:12px 14px}.room-detail-fact:nth-child(2n){border-right:none}.room-detail-fact:nth-last-child(-n+2){border-bottom:none}.room-detail-fact span{color:var(--muted);margin-bottom:4px;font-size:.6875rem;display:block}.room-detail-fact strong{color:var(--ink-deep);font-size:.875rem;line-height:1.5;display:block}.room-detail-amenities{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.room-detail-amenities li{color:var(--ink-deep);background:#f5f6f4;border:1px solid #c6cfcd;border-radius:4px;padding:5px 9px;font-size:.75rem}.room-detail-notes{flex-wrap:wrap;gap:8px;display:flex}.room-detail-notes span{background:var(--ink-deep);color:#fff;border-radius:4px;padding:4px 8px;font-size:.6875rem;font-weight:700}.room-detail-notes .room-detail-note-alert{color:#5c3700;background:#fff3d8;border:1px solid #d6a84a}.room-detail-booking{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding-top:16px;display:flex}.search-body{align-items:flex-start;gap:20px;display:flex}.filter-panel{border-right:1px solid var(--border);flex-shrink:0;width:150px;padding-right:16px}.filter-section-title{color:var(--muted);margin:0 0 8px;font-size:.6875rem;font-weight:600}.filter-option{color:var(--muted);cursor:pointer;align-items:center;gap:6px;margin-bottom:6px;font-size:.6875rem;display:flex}.search-summary{color:var(--ink-deep);background:#fff;border:1px solid #d8d6cf;border-radius:4px;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;padding:10px 14px;font-size:.875rem;display:flex}.confirm-table{border:1px solid var(--border);background:#fff;border-radius:4px;margin-bottom:16px;overflow:hidden}.confirm-table-left{text-align:left}.confirm-table-spaced{margin-top:12px}.confirm-row{border-bottom:1px solid #f2f2ee;justify-content:space-between;align-items:center;padding:10px 14px;font-size:.875rem;display:flex}.confirm-row:last-child{border-bottom:none}.confirm-label{color:#5f6663}.confirm-value{color:var(--ink-deep);font-weight:600}.price-breakdown{border:1px solid var(--border);border-radius:4px;margin-bottom:16px;padding:12px 14px}.price-row{color:var(--muted);justify-content:space-between;padding:4px 0;font-size:.875rem;display:flex}.price-row-total{border-top:1px solid var(--border);color:var(--foreground);justify-content:space-between;margin-top:8px;padding:10px 0 2px;font-size:1rem;font-weight:700;display:flex}.payment-option{border:1px solid var(--border-input);cursor:pointer;color:var(--foreground);-webkit-user-select:none;user-select:none;border-radius:5px;align-items:center;gap:10px;margin-bottom:8px;padding:12px;font-size:.875rem;display:flex}.payment-option.selected{border-color:var(--accent);background:var(--accent-soft)}.payment-radio{border:2px solid var(--border-input);border-radius:50%;flex-shrink:0;width:16px;height:16px}.payment-option.selected .payment-radio{border:4px solid var(--accent)}.reservation-number{color:var(--accent-strong);text-align:center;background:var(--accent-soft);letter-spacing:.05em;border:1px solid #b08d5773;border-radius:4px;margin:16px 0;padding:14px;font-family:ui-monospace,monospace;font-size:1.25rem;font-weight:700}.status-chip{color:var(--muted);background:#f0f0ec;border:1px solid #e0e0db;border-radius:12px;align-items:center;padding:3px 10px;font-size:.75rem;font-weight:500;display:inline-flex}.front-desk-badge{background:var(--accent-soft);color:var(--accent-strong);border-radius:4px;align-items:center;margin-bottom:16px;padding:3px 12px;font-size:.75rem;font-weight:700;display:inline-flex}.section-heading{color:var(--muted);margin:16px 0 8px;font-size:.75rem;font-weight:600}.complete-mark{border:3px solid var(--gold);width:56px;height:56px;color:var(--gold);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;font-size:1.5rem;display:flex}.info-box{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:4px;padding:12px 16px;font-size:.875rem}.chat-panel{max-width:760px}.chat-page-shell{background:#f4f3ef;flex:0 0 calc(100dvh - 64px);width:100%;height:calc(100dvh - 64px);overflow:hidden}.chat-app{border-inline:1px solid var(--border);background:#fff;flex-direction:column;width:min(920px,100%);height:100%;margin:0 auto;display:flex}.chat-app-header{border-bottom:1px solid var(--border);background:#fff;flex:none;align-items:center;gap:12px;padding:14px 18px;display:flex}.chat-app-avatar{background:var(--ink-deep);color:#fff;border-radius:999px;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:1rem;font-weight:700;display:grid}.chat-app-heading{min-width:0}.chat-app-title{color:var(--ink-deep);margin:0;font-size:1.05rem;line-height:1.35}.chat-conversation{flex-direction:column;gap:16px;display:flex}.chat-conversation.is-page{flex:1;gap:0;min-height:0;padding-bottom:0;overflow:hidden}.chat-conversation.is-widget{flex:1;gap:12px;min-height:0;padding:14px}.chat-privacy-note{margin-bottom:16px}.chat-log{border:1px solid var(--border);background:#edf2f3;border-radius:4px;flex-direction:column;gap:12px;min-height:280px;max-height:480px;margin-bottom:16px;padding:14px;display:flex;overflow-y:auto}.chat-conversation.is-page .chat-log{background:#edf2f3;border:0;border-radius:0;flex:1;min-height:0;max-height:none;margin-bottom:0}.chat-conversation.is-widget .chat-log{min-height:220px;max-height:300px;margin-bottom:0;padding:12px}.chat-message{display:flex}.chat-message.is-user{justify-content:flex-end}.chat-message.is-assistant{justify-content:flex-start}.chat-bubble{border:1px solid var(--border);max-width:min(560px,88%);color:var(--foreground);white-space:normal;background:#fff;border-radius:4px;padding:12px 14px;font-size:.875rem;line-height:1.7}.chat-conversation.is-widget .chat-bubble{max-width:92%;font-size:.75rem}.chat-typing-caret{color:var(--accent);margin-left:2px;animation:.9s steps(2,start) infinite chat-caret-blink;display:inline-block}@keyframes chat-caret-blink{50%{opacity:0}}.chat-result-cards{gap:8px;margin-top:12px;display:grid}.chat-result-card{border:1px solid var(--border);border-left:3px solid var(--accent);background:#fff;border-radius:4px;padding:10px}.chat-result-card.tone-success{border-left-color:#3f7f5b}.chat-result-card.tone-warning{border-left-color:#b08d57}.chat-result-card-title{color:var(--ink-deep);font-size:.8125rem;font-weight:700;line-height:1.4}.chat-result-card-desc{color:var(--muted);margin:4px 0 0;font-size:.75rem;line-height:1.5}.chat-result-card-rows{gap:4px;margin:8px 0 0;display:grid}.chat-result-card-row{grid-template-columns:minmax(72px,max-content) 1fr;align-items:baseline;gap:10px;display:grid}.chat-result-card-row dt{color:var(--muted);font-size:.6875rem}.chat-result-card-row dd{color:var(--foreground);text-align:right;margin:0;font-size:.75rem;font-weight:700}.chat-debug-note{color:#74552c;margin:10px 0 0;font-size:.6875rem;line-height:1.5}.chat-message.is-user .chat-bubble{background:var(--ink-deep);border-color:var(--ink-deep);color:#fff}.chat-links{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.chat-link{height:30px;padding:0 10px;font-size:.75rem}.chat-form{flex-direction:column;gap:8px;display:flex}.chat-conversation.is-page .chat-form{z-index:110;width:100%;padding:12px 18px max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#fff;flex:none;position:static;transform:none}.chat-conversation.is-page .chat-form .field-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.chat-input-row{gap:10px;display:flex}.chat-input-row .field-input{flex:1;font-size:16px;line-height:1.5}.chat-conversation.is-page .chat-input-row{background:#fff;border:1px solid #c9d2d2;border-radius:999px;align-items:center;gap:8px;padding:8px;box-shadow:0 10px 30px #23343b24}.chat-conversation.is-page .chat-input-row .field-input{min-height:42px;box-shadow:none;background:#fff;border:0}.chat-send-button{background:var(--ink-deep);color:#fff;cursor:pointer;width:42px;height:42px;font:inherit;border:0;border-radius:999px;flex:0 0 42px;place-items:center;font-size:1rem;line-height:1;display:grid}.chat-send-button:hover:not(:disabled),.chat-send-button:focus-visible{background:#3a525c}.chat-send-button:disabled{cursor:not-allowed;opacity:.45}.chat-send-spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.75s linear infinite spin}.chat-conversation.is-widget .chat-input-row{align-items:center}.chat-conversation.is-widget .chat-send-button{flex-basis:42px;width:42px}@media (max-width:768px){.page-shell{padding:32px 0}.page-panel,.reservation-panel{padding:28px 24px}.layout-with-sidebar{flex-direction:column}.layout-aside{width:100%}.search-body{flex-direction:column}.filter-panel{border-right:none;border-bottom:1px solid var(--border);width:100%;padding-bottom:16px;padding-right:0}.room-detail{grid-template-columns:1fr}.room-detail-gallery{min-height:260px}}@media print{.site-header,.site-footer,.chat-widget,.step-rail,.reservation-toolbar,.no-print{display:none!important}body{background:#fff}.page-shell{width:100%;padding:0}.page-panel,.reservation-panel{box-shadow:none;border:none;max-width:100%;padding:0}}@media (max-width:480px){.page-shell{width:min(100% - 20px,960px);padding:20px 0}.page-panel,.reservation-panel{border-radius:4px;padding:24px 16px}.step-rail{padding:12px}.home-title{letter-spacing:.02em;font-size:clamp(1.72rem,8.4vw,2rem);line-height:1.45}.form-row{flex-direction:column}}@media (max-width:560px){.form-row:has(input[type=date]){flex-direction:column}.step-rail-label{display:none}.step-rail{font-size:.625rem}.step-rail-line{min-width:8px}.room-card{flex-direction:column}.room-photo{width:100%;height:120px}.result-control{width:100%}.room-footer{flex-direction:column;align-items:stretch;gap:10px}.room-actions{width:100%}.room-action-btn{flex:1}.room-detail-gallery{min-height:210px}.room-detail-facts{grid-template-columns:1fr}.room-detail-fact,.room-detail-fact:nth-child(2n),.room-detail-fact:nth-last-child(-n+2){border-right:none;border-bottom:1px solid var(--border)}.room-detail-fact:last-child{border-bottom:none}.room-detail-booking{flex-direction:column;align-items:stretch}.chat-input-row{flex-direction:column}.chat-conversation.is-page .chat-input-row{flex-direction:row}.chat-input-row .btn{width:100%}.chat-widget{right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));width:auto}.chat-launcher-desktop,.chat-widget-panel{display:none}.chat-launcher-mobile{display:inline-flex}.chat-launcher{min-height:48px;padding:8px}.chat-launcher-text{display:none}h1{font-size:clamp(2rem,12vw,2.5rem)}}
