/* Reservation inquiry form (replaces the Google Form) */
.inq-card{max-width:760px;margin:2rem auto 0;background:var(--white);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow-md);padding:2.2rem 2.4rem}
.inq-head{display:flex;align-items:center;gap:14px;margin-bottom:1.6rem}
.inq-head-icon{width:48px;height:48px;border-radius:14px;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
.inq-head h3{font-family:'Noto Serif KR',serif;font-size:1.35rem;color:var(--deep);line-height:1.3}
.inq-head p{color:var(--text-muted);font-size:.9rem;margin-top:.15rem}
.inq-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.2rem}
.inq-field{display:flex;flex-direction:column;gap:.4rem;min-width:0}
.inq-field.wide{grid-column:1 / -1}
.inq-field label{font-size:.88rem;font-weight:600;color:var(--deep)}
.inq-field label .req{color:#c0392b;margin-left:3px}
.inq-field label .opt{color:var(--text-muted);font-weight:400;font-size:.8rem;margin-left:4px}
.inq-field input,.inq-field select,.inq-field textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:.8rem .95rem;font-family:inherit;font-size:16px;line-height:1.5;color:var(--text);background:var(--white);outline:none;transition:border-color .2s,box-shadow .2s}
.inq-field textarea{min-height:110px;resize:vertical}
.inq-field input:focus,.inq-field select:focus,.inq-field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,76,.18)}
.inq-field.invalid input,.inq-field.invalid select,.inq-field.invalid textarea{border-color:#c0392b;box-shadow:0 0 0 3px rgba(192,57,43,.12)}
.inq-err{color:#c0392b;font-size:.8rem;min-height:1em}
.inq-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.inq-consent{margin-top:1.3rem;padding:1rem 1.1rem;background:var(--cream);border-radius:12px;font-size:.82rem;line-height:1.7;color:var(--text-muted)}
.inq-consent label{display:flex;gap:.6rem;align-items:flex-start;color:var(--deep);font-weight:600;font-size:.88rem;cursor:pointer}
.inq-consent input{margin-top:.25rem;width:18px;height:18px;accent-color:var(--gold);flex-shrink:0}
.inq-consent p{margin-top:.5rem}
.inq-submit{margin-top:1.3rem;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:1.05rem 2rem;border:0;border-radius:var(--radius);background:var(--gold);color:#fff;font:700 1rem 'Noto Sans KR',sans-serif;cursor:pointer;transition:background .2s,transform .2s,opacity .2s}
.inq-submit:hover:not(:disabled){background:var(--accent);transform:translateY(-1px)}
.inq-submit:disabled{opacity:.6;cursor:wait}
.inq-status{margin-top:.9rem;font-size:.88rem;color:#c0392b;min-height:1.2em;text-align:center}
.inq-done{text-align:center;padding:1rem 0 .4rem}
.inq-done .ok{width:64px;height:64px;border-radius:50%;background:rgba(76,175,80,.14);color:var(--success);display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin:0 auto 1.1rem}
.inq-done h3{font-family:'Noto Serif KR',serif;font-size:1.4rem;color:var(--deep);margin-bottom:.6rem}
.inq-done p{color:var(--text-muted);line-height:1.85;font-size:.95rem}
.inq-done .inq-actions{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;margin-top:1.4rem}
.inq-done .inq-actions button{border:1px solid var(--line);background:var(--white);color:var(--deep);border-radius:999px;padding:.7rem 1.3rem;font:600 .9rem 'Noto Sans KR',sans-serif;cursor:pointer}
.inq-done .inq-actions button.primary{background:var(--deep);border-color:var(--deep);color:#fff}
@media(max-width:640px){
  .inq-card{padding:1.5rem 1.2rem}
  .inq-grid{grid-template-columns:1fr}
}

/* ── Calendar + inquiry form side by side ── */
.res-main{padding-top:4rem;padding-bottom:4rem}
.res-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:3rem;align-items:start}
.res-top .cal-section{margin-bottom:0}
.res-top .sec-head{margin-bottom:1.4rem}
.res-top .legend{gap:1.2rem;margin-bottom:1.5rem}
.res-top .cal-wrap{max-width:none;margin:0}
.res-top .inq-card{margin:0;max-width:none;padding:1.8rem 1.8rem}
.res-top .inq-head{margin-bottom:1.3rem}
#chatSection{margin-top:4.5rem;scroll-margin-top:calc(var(--nav-h) + 16px)}
@media(max-width:980px){
  .res-top{grid-template-columns:1fr;gap:3.5rem}
  .res-top .cal-wrap{max-width:480px;margin:0 auto}
  .res-top .inq-card{max-width:760px;margin:0 auto}
}
@media(max-width:640px){.res-main{padding-top:3rem}}

/* ── Floating 24h chat widget (bottom-right) ── */
.chat-widget{position:fixed;right:22px;bottom:22px;z-index:1100;display:flex;flex-direction:column;align-items:flex-end;gap:14px;pointer-events:none}
.chat-widget>*{pointer-events:auto}
.chat-fab{display:inline-flex;align-items:center;gap:10px;height:58px;padding:0 20px 0 16px;border:0;border-radius:999px;background:var(--deep);color:#fff;font:600 .95rem 'Noto Sans KR',sans-serif;cursor:pointer;box-shadow:0 10px 28px rgba(44,36,22,.32);transition:transform .2s,box-shadow .2s,background .2s}
.chat-fab:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(44,36,22,.38);background:#3a2f1c}
.chat-fab:focus-visible{outline:3px solid var(--gold-light);outline-offset:3px}
.chat-fab-icon{position:relative;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--gold-bright,#f5c842)}
.chat-fab-icon .fa-xmark{position:absolute;opacity:0;transform:rotate(-60deg) scale(.6);transition:opacity .2s,transform .25s}
.chat-fab-icon .fa-comments{transition:opacity .2s,transform .25s}
.chat-fab[aria-expanded="true"] .fa-comments{opacity:0;transform:rotate(60deg) scale(.6)}
.chat-fab[aria-expanded="true"] .fa-xmark{opacity:1;transform:none}
.chat-fab::after{content:'';position:absolute;inset:-4px;border-radius:999px;border:2px solid rgba(201,168,76,.55);opacity:0;animation:fabPulse 2.6s ease-out 1.2s 3}
.chat-fab{position:relative}
@keyframes fabPulse{0%{opacity:.9;transform:scale(.96)}100%{opacity:0;transform:scale(1.14)}}
.chat-panel{width:min(400px,calc(100vw - 28px));max-height:min(640px,calc(100dvh - 130px));display:flex;flex-direction:column;border-radius:20px;overflow:hidden;box-shadow:0 22px 60px rgba(44,36,22,.3);transform-origin:bottom right;animation:panelIn .26s cubic-bezier(.23,1,.32,1)}
.chat-panel[hidden]{display:none}
@keyframes panelIn{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
.chat-panel .ai-chat{margin:0;max-width:none;width:100%;border-radius:20px;box-shadow:none;border:0;flex:1;min-height:0}
.chat-panel .ai-chat-log{height:auto;flex:1;min-height:240px;max-height:none}
.ai-chat-close{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;flex-shrink:0;transition:background .2s}
.ai-chat-close:hover{background:rgba(255,255,255,.22)}
.ai-chat-close i{font-size:1rem}
.chat-panel .ai-chat-reset span{display:none}
@media(max-width:640px){
  .chat-widget{right:12px;bottom:12px}
  .chat-fab{height:54px;padding:0 16px}
  .chat-fab-label{display:none}
  .chat-panel{width:calc(100vw - 24px);max-height:calc(100dvh - 96px)}
}
@media(prefers-reduced-motion:reduce){.chat-panel{animation:none}.chat-fab::after{animation:none}}

/* ── Chat panel: compact header, wider panel ── */
.chat-panel{width:min(470px,calc(100vw - 28px))}
.chat-panel .ai-chat-head{padding:.6rem .9rem;gap:10px}
.chat-panel .ai-chat-avatar{width:34px;height:34px;font-size:.95rem}
.chat-panel .ai-chat-title{gap:0}
.chat-panel .ai-chat-title strong{font-size:.98rem;line-height:1.35}
.chat-panel .ai-chat-title span{font-size:.74rem;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.chat-panel .ai-chat-title span .ai-dot{display:inline-block;margin-right:6px;vertical-align:middle}
.chat-panel .ai-chat-close{width:30px;height:30px}
.chat-panel .ai-chat-close i{font-size:.9rem}
.chat-panel .ai-chat-log{padding:1rem}
@media(max-width:640px){.chat-panel{width:calc(100vw - 24px)}}
