.reservation{background-color:var(--bg-primary);text-align:center;padding:110px 20px}.reservation-header h2{color:var(--text-primary);letter-spacing:6px}.reservation-desc{color:var(--text-secondary);letter-spacing:1px;margin-bottom:40px;font-size:.9rem;font-weight:300}.reservation-contact{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:8px;display:flex}.contact-btn{letter-spacing:3px;align-items:center;gap:8px;padding:14px 36px;font-family:Noto Sans JP,sans-serif;font-size:.88rem;font-weight:500;display:inline-flex}.reservation-divider{text-align:center;color:#444;letter-spacing:3px;margin:36px 0;font-size:.82rem;position:relative}.reservation-divider:before,.reservation-divider:after{content:"";width:38%;height:1px;position:absolute;top:50%}.reservation-divider:before{background:linear-gradient(to right, transparent, var(--border-light));left:0}.reservation-divider:after{background:linear-gradient(to left, transparent, var(--border-light));right:0}.reservation-form-wrap{background:var(--bg-card);border:1px solid var(--border-mid);max-width:500px;margin-bottom:40px;margin-left:auto;margin-right:auto;padding:48px 40px}.form-title{color:var(--gold);letter-spacing:5px;text-align:center;text-transform:uppercase;margin-bottom:32px;font-family:Noto Sans JP,sans-serif;font-size:.8rem}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-group{margin-bottom:20px}.form-group label{color:var(--text-secondary);letter-spacing:2px;margin-bottom:8px;font-size:.78rem;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border-mid);width:100%;color:var(--text-primary);background-color:#00000059;outline:none;padding:11px 14px;font-family:Noto Sans JP,sans-serif;font-size:.9rem;transition:border-color .25s,background-color .25s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold);background-color:#c9a84c0a}.form-group select option{color:var(--text-primary);background-color:#1a1510}.form-group textarea{resize:none;height:90px}.form-group input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;appearance:none;height:44px;min-height:0;padding:0 14px;line-height:44px}.form-submit{letter-spacing:4px;width:100%;margin-top:8px;padding:15px;font-size:.85rem}.form-submit:disabled{opacity:.5;cursor:not-allowed}.form-retry{border:1px solid var(--gold);color:var(--gold);cursor:pointer;letter-spacing:2px;background:0 0;padding:8px 24px;font-family:Noto Sans JP,sans-serif;font-size:.82rem;transition:background-color .25s}.form-retry:hover{background-color:#c9a84c1a}.reservation-info{background:var(--bg-card);border:1px solid var(--border-mid);max-width:500px;margin:0 auto;padding:0}.info-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 28px;display:flex}.info-item:last-child{border-bottom:none}.info-label{color:var(--text-muted);letter-spacing:1px;font-size:.78rem}.info-value{color:var(--text-primary);letter-spacing:1px;font-size:.92rem;font-weight:400}.form-error{color:#e07070;letter-spacing:.5px;margin-top:4px;font-size:.75rem;display:block}.form-group input.error{border-color:#e07070}.form-group input:has(+.form-error){border-color:#e07070}.reservation-submitted{text-align:center;max-width:500px;margin:0 auto;padding:80px 20px}.submitted-icon{color:var(--gold);margin-bottom:24px;font-size:2.5rem}.submitted-title{letter-spacing:6px;color:var(--text-primary);margin-bottom:20px;font-size:1.8rem}.submitted-desc{color:var(--text-secondary);letter-spacing:.5px;font-size:.9rem;line-height:2}.phone-input-wrap{align-items:stretch;gap:.5rem;display:flex}.country-selector{flex-shrink:0;position:relative}.country-btn{background:var(--bg-secondary,#1e1a14);border:1px solid var(--border-light,#ffffff1f);height:100%;min-height:44px;color:var(--text-primary);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:.3rem;padding:0 .65rem;font-size:.9rem;display:flex}.country-btn-dial{color:var(--text-secondary);font-size:.8rem}.country-btn-arrow{color:var(--text-muted);font-size:.65rem}.country-dropdown{z-index:200;border:1px solid var(--border-light,#ffffff1f);background:#1e1a14;border-radius:8px;flex-direction:column;width:220px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #0006}.country-search-wrap{padding:.5rem}.country-search{box-sizing:border-box;border:1px solid var(--border-light,#ffffff1f);width:100%;color:var(--text-primary);background:#ffffff0f;border-radius:4px;outline:none;padding:.35rem .5rem;font-size:.8rem}.country-list{max-height:220px;margin:0;padding:0 0 .4rem;list-style:none;overflow-y:auto}.country-list-empty{color:var(--text-muted);padding:.5rem .75rem;font-size:.8rem}.country-option{cursor:pointer;color:var(--text-primary);align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.82rem;display:flex}.country-option:hover{background:#ffffff0f}.country-option.selected{background:#c9a84c1f}.country-option-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.country-option-dial{color:var(--text-muted);flex-shrink:0;font-size:.75rem}.phone-number-input{flex:1}.form-privacy{color:var(--text-muted);text-align:center;margin-bottom:.75rem;font-size:.75rem}.form-privacy a{color:var(--gold);text-underline-offset:2px;text-decoration:underline}.form-send-error{text-align:center;margin-bottom:.75rem}.form-recaptcha-note{color:var(--text-muted);margin-top:12px;font-size:.65rem;line-height:1.5}.form-recaptcha-note a{color:var(--text-muted)}@media (max-width:768px){.reservation{padding:72px 20px}.reservation-form-wrap{padding:32px 20px}.form-row{grid-template-columns:1fr}.info-item{padding:14px 20px}}
