/* PO:VE 예약 요청 폼 — 메인(index.html)과 사전예약 페이지가 함께 사용합니다.
   폼의 동작·예약 가능일 설정은 pove-reserve.js 한 곳에서 관리합니다. */
/* ===== 예약 요청 직접 입력 (신규) ===== */
.pvrq{max-width:520px;margin:0 auto;text-align:left}
.pvrq-field{display:block;margin:0 0 32px}
.pvrq-label{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;font-size:12.5px;letter-spacing:.05em;color:rgba(201,209,154,.92);font-weight:600}
.pvrq-opt{font-size:11.5px;letter-spacing:.02em;color:rgba(240,235,214,.45);font-weight:400}
.pvrq-opt::before{content:"·";margin-right:6px;opacity:.6}
.pvrq-subfield{display:block;margin-top:16px}
.pvrq-sublabel{display:block;margin-bottom:8px;font-size:12px;letter-spacing:.04em;color:rgba(240,235,214,.55);font-weight:500}
.pvrq-input{display:block;width:100%;padding:13px 16px;background:rgba(240,235,214,.06);border:1px solid rgba(240,235,214,.24);border-radius:4px;font-family:inherit;font-size:16px;line-height:1.5;color:#f2ecd6;transition:border-color .3s,background-color .3s}
.pvrq-input::placeholder{color:rgba(240,235,214,.4)}
.pvrq-input:focus{outline:none;border-color:rgba(201,209,154,.8);background:rgba(240,235,214,.08)}
.pvrq-input[aria-invalid="true"]{border-color:rgba(223,163,143,.65)}
.pvrq-ta{resize:vertical;min-height:92px}
.pvrq-tel{display:flex;align-items:stretch;gap:8px}
.pvrq-tel .pvrq-input{flex:1;min-width:0}
.pvrq-dial{flex:0 0 auto;display:flex;align-items:center;gap:7px;padding:13px 14px;background:rgba(240,235,214,.06);border:1px solid rgba(240,235,214,.24);border-radius:4px;color:#f2ecd6;font-family:inherit;cursor:pointer;transition:border-color .3s,background-color .3s}
.pvrq-dial[hidden]{display:none}
.pvrq-dial:hover{border-color:rgba(201,209,154,.6)}
.pvrq-dial[aria-expanded="true"]{border-color:rgba(201,209,154,.8);background:rgba(240,235,214,.08)}
.pvrq-dial-view{font-size:16px;line-height:1.5;letter-spacing:.01em;white-space:nowrap}
.pvrq-dial-chev{flex:0 0 auto;display:block;opacity:.6;transition:transform .3s}
.pvrq-dial[aria-expanded="true"] .pvrq-dial-chev{transform:rotate(180deg)}
.pvrq-dialpanel{margin-top:8px;border:1px solid rgba(240,235,214,.24);border-radius:4px;background:rgba(26,24,13,.6);overflow:hidden}
.pvrq-dialpanel[hidden]{display:none}
.pvrq-dialsearch{border:0;border-bottom:1px solid rgba(240,235,214,.16);border-radius:0;background:transparent}
.pvrq-dialsearch:focus{border-color:transparent;border-bottom-color:rgba(201,209,154,.8);background:transparent}
.pvrq-diallist{position:relative;max-height:246px;margin:0;padding:6px 0;overflow-y:auto;overscroll-behavior:contain;list-style:none;scrollbar-width:thin;scrollbar-color:rgba(240,235,214,.28) transparent}
.pvrq-diallist::-webkit-scrollbar{width:6px}
.pvrq-diallist::-webkit-scrollbar-thumb{background:rgba(240,235,214,.24);border-radius:999px}
.pvrq-dialopt{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:11px 16px;font-size:14.5px;line-height:1.5;color:rgba(240,235,214,.86);cursor:pointer}
.pvrq-dialopt-code{flex:0 0 auto;font-size:13px;color:rgba(240,235,214,.5)}
.pvrq-dialopt:hover,.pvrq-dialopt[data-active="1"]{background:rgba(240,235,214,.08)}
.pvrq-dialopt[aria-selected="true"]{color:#c9d19a;font-weight:600}
.pvrq-dialopt[aria-selected="true"] .pvrq-dialopt-code{color:rgba(201,209,154,.8)}
.pvrq-dialempty{margin:0;padding:20px 16px;font-size:13.5px;color:rgba(240,235,214,.5);text-align:center}
.pvrq-dialempty[hidden]{display:none}
/* 연락 수단은 언어와 무관하게 항상 한 줄 — 폭이 모자라면 가로 스크롤 */
.pvrq-seg{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.pvrq-seg::-webkit-scrollbar{display:none}
.pvrq-chip{flex:0 0 auto;padding:9px 13px;background:transparent;border:1px solid rgba(240,235,214,.28);border-radius:999px;font-family:inherit;font-size:12.5px;letter-spacing:.02em;white-space:nowrap;color:rgba(240,235,214,.82);cursor:pointer;transition:border-color .3s,background-color .3s,color .3s}
.pvrq-chip:hover{border-color:rgba(201,209,154,.6)}
.pvrq-chip[aria-pressed="true"]{background:#97a06a;border-color:#97a06a;color:#22200f;font-weight:600}
.pvrq-cal-head{display:flex;align-items:center;justify-content:center;gap:12px;margin:2px 0 10px}
.pvrq-cal-title{font-size:15px;letter-spacing:.04em;color:#f0ebd6}
.pvrq-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:4px;justify-items:center}
.pvrq-dow{width:40px;padding:6px 0 4px;font-size:11px;letter-spacing:.06em;color:rgba(240,235,214,.42);text-align:center}
.pvrq-day{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:1px solid transparent;border-radius:50%;font-family:inherit;font-size:14px;color:#e9e3cd;cursor:pointer;transition:border-color .25s,background-color .25s,color .25s}
.pvrq-day:hover:not(:disabled){border-color:rgba(201,209,154,.55)}
.pvrq-day[aria-pressed="true"]{background:#97a06a;border-color:#97a06a;color:#22200f;font-weight:600}
.pvrq-day:disabled{color:rgba(240,235,214,.2);cursor:default}
.pvrq-day--closed{flex-direction:column;gap:1px;height:44px;background:rgba(223,163,143,.08);border-color:rgba(223,163,143,.34);border-radius:8px;color:rgba(240,235,214,.56)!important}
.pvrq-day--closed .pvrq-day-num{font-size:13px;line-height:1}
.pvrq-day-closed-label{font-size:8px;line-height:1.2;font-weight:600;letter-spacing:-.04em;white-space:nowrap;color:#dfa38f}
.pvrq-picked{margin-top:10px;font-size:13px;line-height:1.7;letter-spacing:.02em;color:rgba(201,209,154,.92)}
.pvrq-picked:empty{display:none}
.pvrq-ferr{display:none;margin-top:8px;font-size:12.5px;line-height:1.6;color:#dfa38f}
.pvrq-ferr[data-show="1"]{display:block}
.pvrq-consent{position:relative;display:flex;align-items:flex-start;gap:12px;margin:0;cursor:pointer}
.pvrq-consent input{position:absolute;opacity:0;width:1px;height:1px}
.pvrq-box{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:20px;height:20px;margin-top:1px;border:1px solid rgba(240,235,214,.38);border-radius:3px;color:transparent;transition:background-color .25s,border-color .25s,color .25s}
.pvrq-consent input:checked ~ .pvrq-box{background:#97a06a;border-color:#97a06a;color:#22200f}
.pvrq-consent input:focus-visible ~ .pvrq-box{outline:2px solid #97a06a;outline-offset:3px}
.pvrq-consent-text{font-size:13.5px;line-height:1.6;color:rgba(240,235,214,.86)}
.pvrq-consent-sub{display:block;margin-top:4px;font-size:12px;line-height:1.6;color:rgba(240,235,214,.5)}
.pvrq-banner{display:none;margin:18px 0 0;padding:12px 16px;background:rgba(223,163,143,.08);border:1px solid rgba(223,163,143,.4);border-radius:4px;font-size:13.5px;line-height:1.7;color:#dfa38f}
.pvrq-banner[data-show="1"]{display:block}
.pvrq-submit{display:block;width:100%;margin-top:24px;padding:18px 28px;background:#97a06a;border:0;border-radius:999px;color:#22200f;font-size:16.5px;font-weight:600;letter-spacing:.08em}
.pvrq-submit:disabled{opacity:.55;cursor:default;transform:none!important;box-shadow:none!important}
.pvrq-done{max-width:520px;margin:0 auto;padding:26px 0 6px;text-align:center}
.pvrq-done svg{display:block;margin:0 auto 20px}
.pvrq-done-title{font-size:22px;font-weight:500;letter-spacing:.02em;color:#f2ecd6}
.pvrq-done-body{margin:12px 0 0;font-size:14px;line-height:1.9;color:rgba(240,235,214,.72)}
.pvrq-done-dates{margin-top:16px;font-size:13.5px;letter-spacing:.02em;color:rgba(201,209,154,.92)}
.pvor{display:flex;align-items:center;gap:18px;margin:38px 0;font-size:12.5px;line-height:1;letter-spacing:.12em;color:rgba(240,235,214,.45)}
.pvor::before,.pvor::after{content:"";flex:1;height:1px;background:rgba(240,235,214,.16)}
.pvrq-ta{scrollbar-width:thin;scrollbar-color:rgba(240,235,214,.28) transparent}
.pvrq-ta::-webkit-scrollbar{width:6px}
.pvrq-ta::-webkit-scrollbar-thumb{background:rgba(240,235,214,.24);border-radius:999px}

/* ===== 달력 월 이동 ===== */
.pvrq-cal-nav{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:transparent;border:1px solid rgba(240,235,214,.24);border-radius:50%;color:rgba(240,235,214,.85);font-size:15px;line-height:1;cursor:pointer;transition:border-color .3s,color .3s}
.pvrq-cal-nav:hover:not(:disabled){border-color:rgba(201,209,154,.8);color:#f0ebd6}
.pvrq-cal-nav:disabled{opacity:.28;cursor:default}

/* ===== 하단 고정 간편 상담 배너 =====
   메인·예약 페이지 공용. 이름·전화번호만 받아 바로 접수합니다. */
#pvDock{position:fixed;left:0;right:0;bottom:0;z-index:9900;display:flex;justify-content:center;padding:0 18px calc(18px + env(safe-area-inset-bottom));pointer-events:none;opacity:0;transform:translateY(24px);visibility:hidden;transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .35s ease,visibility 0s .45s}
#pvDock[data-on="1"]{opacity:1;transform:none;visibility:visible;transition:transform .55s cubic-bezier(.2,.7,.2,1),opacity .45s ease}
.pvquick{pointer-events:auto;display:flex;align-items:center;gap:10px;width:min(820px,100%);margin:0;padding:10px 10px 10px 24px;background:rgba(26,24,13,.96);border:1px solid rgba(240,235,214,.16);border-radius:999px;box-shadow:0 22px 50px -22px rgba(12,11,5,.7)}
.pvquick-title{flex:0 0 auto;font-size:13.5px;letter-spacing:.06em;color:rgba(240,235,214,.9);white-space:nowrap}
.pvquick-in{flex:1 1 130px;min-width:0;height:42px;padding:0 16px;background:rgba(240,235,214,.08);border:1px solid rgba(240,235,214,.22);border-radius:999px;color:#f0ebd6;font-family:inherit;font-size:14px;letter-spacing:.01em;transition:border-color .3s,background-color .3s}
.pvquick-in::placeholder{color:rgba(240,235,214,.45)}
.pvquick-in:focus{outline:none;border-color:rgba(201,209,154,.85);background:rgba(240,235,214,.11)}
.pvquick-in[aria-invalid="true"]{border-color:rgba(223,163,143,.75)}
.pvquick-agree{flex:0 0 auto;display:flex;align-items:center;gap:7px;margin:0;font-size:12px;letter-spacing:.01em;color:rgba(240,235,214,.72);white-space:nowrap;cursor:pointer}
.pvquick-agree input{width:15px;height:15px;margin:0;accent-color:#97a06a;cursor:pointer}
.pvquick-cta{flex:0 0 auto;height:42px;padding:0 24px;background:#97a06a;border:0;border-radius:999px;color:#22200f;font-size:14.5px;font-weight:600;letter-spacing:.06em;white-space:nowrap;cursor:pointer;transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
.pvquick-cta:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 26px -14px rgba(30,28,15,.6)}
.pvquick-cta:disabled{opacity:.55;cursor:default;transform:none;box-shadow:none}
.pvquick-msg{display:none;flex:1 1 100%;padding:2px 14px 0;font-size:12.5px;line-height:1.5;letter-spacing:.01em;color:#dfa38f}
.pvquick-msg[data-show="1"]{display:block}
.pvquick-msg[data-kind="ok"]{color:#c9d19a;font-weight:500}
.pvquick[data-done="1"]{border-radius:22px;padding:14px 22px}
.pvquick[data-done="1"] .pvquick-in,.pvquick[data-done="1"] .pvquick-agree,.pvquick[data-done="1"] .pvquick-cta{display:none}
.pvquick[data-done="1"] .pvquick-msg{flex:1 1 auto;padding:0 0 0 12px;font-size:13.5px}
@media(max-width:760px){
  #pvDock{padding:0 12px calc(10px + env(safe-area-inset-bottom))}
  .pvquick{flex-wrap:wrap;gap:8px;padding:12px 14px;border-radius:20px}
  .pvquick-title{display:none}
  .pvquick-in{flex:1 1 calc(50% - 4px);height:42px;font-size:15px}
  .pvquick-agree{flex:1 1 auto;font-size:11.5px}
  .pvquick-cta{flex:0 0 auto;height:42px;padding:0 20px;font-size:14px}
  .pvquick-msg{padding:0 4px}
}
@media(prefers-reduced-motion:reduce){
  #pvDock,.pvquick-cta{transition:none}
}

/* ===== 메인 예약 섹션 간단 폼 ===== */
.pvsimple-in[aria-invalid="true"]{border-color:rgba(223,163,143,.75)!important}
.pvsimple-in:focus{border-color:rgba(201,209,154,.85)!important}
.pvsimple .pvquick-msg{padding:0 2px}
.pvsimple[data-done="1"] input,.pvsimple[data-done="1"] label,.pvsimple[data-done="1"] button{display:none!important}
.pvsimple[data-done="1"] .pvquick-msg{text-align:center;font-size:15px;padding:18px 0}
