/* page-reserve.css — 予約フォーム（/reserve）専用。共通(リセット/変数/nav/footer/breadcrumb)はstyle.css。 */

#reserveApp{padding-bottom:80px;}

/* ── ヘッダー ── */
.rv-head{max-width:760px;margin:0 auto;padding:48px 40px 28px;}
.rv-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:20px;}
.rv-eyebrow .idx{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:0.18em;color:var(--gold-dk);text-transform:uppercase;}
.rv-eyebrow .bar{flex:1;max-width:60px;height:1px;background:var(--gold);opacity:.5;}
.rv-eyebrow .lab{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:0.2em;color:var(--faint);text-transform:uppercase;}
.rv-head h1{font-family:'Playfair Display',serif;font-style:italic;font-weight:500;font-size:clamp(30px,5vw,46px);margin-bottom:14px;}
.rv-head .rv-lead{font-family:'Noto Serif JP',serif;font-size:14px;color:var(--soft);line-height:2;}

/* ── フォーム ── */
.rv-wrap{max-width:760px;margin:0 auto;padding:0 40px;}
.rv-form{background:#fff;border:1px solid var(--line);padding:40px 40px 44px;}
.rv-field{margin-bottom:22px;}
.rv-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.rv-field-full{grid-column:1 / -1;}
.rv-label{display:block;font-family:'Noto Serif JP',serif;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:9px;letter-spacing:0.03em;}
.rv-req{display:inline-block;margin-left:6px;font-family:'Space Mono',monospace;font-size:9px;letter-spacing:0.1em;color:var(--gold-dk);border:1px solid var(--gold-lt);border-radius:2px;padding:1px 6px;vertical-align:middle;}

.rv-form input[type=text],
.rv-form input[type=email],
.rv-form input[type=tel],
.rv-form input[type=date],
.rv-form select,
.rv-form textarea{
  width:100%;font-family:inherit;font-size:15px;color:var(--ink);
  background:var(--w);border:1px solid var(--line);border-radius:0;
  padding:12px 14px;transition:border-color .25s,box-shadow .25s;-webkit-appearance:none;appearance:none;
}
.rv-form select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%238A7850' stroke-width='1.4' fill='none'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;}
.rv-form textarea{resize:vertical;line-height:1.9;}
.rv-form input:focus,
.rv-form select:focus,
.rv-form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(176,161,126,0.14);}
.rv-form input::placeholder,
.rv-form textarea::placeholder{color:var(--faint);}

/* 希望日 */
.rv-dates{display:flex;flex-direction:column;gap:10px;}
.rv-date{display:grid;grid-template-columns:64px 1fr 120px;gap:10px;align-items:center;}
.rv-date-n{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:0.06em;color:var(--soft);}

/* 同意 */
.rv-agree{display:flex;align-items:flex-start;gap:10px;margin:6px 0 26px;font-size:13px;color:var(--soft);line-height:1.7;cursor:pointer;}
.rv-agree input{margin-top:3px;width:16px;height:16px;accent-color:var(--gold-dk);flex-shrink:0;}
.rv-agree a{color:var(--gold-dk);text-decoration:underline;}

/* オプション選択 */
.rv-opt-note{font-size:12px;color:var(--soft);line-height:1.8;margin:-2px 0 12px;}
.rv-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.rv-opt{display:flex;align-items:center;gap:9px;padding:13px 14px;border:1px solid var(--line);background:var(--w);font-size:13px;color:var(--ink);cursor:pointer;transition:border-color .2s;}
.rv-opt:hover{border-color:var(--gold-lt);}
.rv-opt input{width:16px;height:16px;accent-color:var(--gold-dk);flex-shrink:0;}
.rv-opt input:checked + span{color:var(--gold-dk);font-weight:600;}

/* 追加スタイル欄（スタイル追加 選択時のみ表示） */
.rv-add-style{border-left:2px solid var(--gold-lt);padding-left:20px;margin-bottom:22px;}
.rv-add-style[hidden]{display:none;}
.rv-add-style .rv-row{margin-top:4px;}

/* 送信ボタン */
.rv-submit{display:block;width:100%;padding:17px;background:var(--ink);color:var(--w);border:none;cursor:pointer;
  font-family:'Cormorant Garamond',serif;font-size:14px;letter-spacing:0.2em;text-transform:uppercase;transition:background .25s;}
.rv-submit:hover{background:var(--gold-dk);}
.rv-note{font-size:11px;color:var(--faint);margin-top:14px;text-align:center;line-height:1.8;}

/* エラー */
.rv-errors{background:#FBF3F0;border:1px solid #E3C9C0;padding:18px 22px;margin-bottom:24px;}
.rv-errors-t{font-family:'Noto Serif JP',serif;font-size:14px;font-weight:600;color:#9A5B49;margin-bottom:8px;}
.rv-errors ul{list-style:none;}
.rv-errors li{font-size:13px;color:#9A5B49;line-height:1.9;padding-left:16px;position:relative;}
.rv-errors li::before{content:'・';position:absolute;left:0;}

/* 送信前のメール受信に関するご案内 */
.rv-notice{background:var(--w2);border:1px solid var(--line-i);padding:14px 18px;margin-bottom:24px;font-size:12.5px;line-height:1.9;color:var(--soft);}
.rv-notice strong{color:var(--ink);font-weight:600;}
.rv-notice a{color:var(--gold-dk);text-decoration:underline;}

/* ハニーポット（人間には非表示） */
.rv-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* 送信完了 */
.rv-thanks{background:#fff;border:1px solid var(--line);padding:64px 40px;text-align:center;}
.rv-thanks-mark{width:60px;height:60px;border-radius:50%;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 26px;}
.rv-thanks h2{font-family:'Playfair Display',serif;font-style:italic;font-weight:400;font-size:clamp(24px,4vw,34px);color:var(--ink);line-height:1.4;margin-bottom:20px;}
.rv-thanks-no{font-family:'Space Mono',monospace;font-size:13px;letter-spacing:0.08em;color:var(--gold-dk);margin:0 auto 22px !important;}
.rv-thanks-no strong{font-weight:700;font-size:16px;letter-spacing:0.04em;}
.rv-thanks p{font-size:14px;line-height:2.1;color:var(--soft);max-width:460px;margin:0 auto 14px;}
.rv-thanks-note{font-size:12px !important;color:var(--faint) !important;}
.rv-thanks-note a{color:var(--gold-dk);text-decoration:underline;}
.rv-home{display:inline-block;margin-top:24px;padding:13px 36px;border:1px solid var(--gold);color:var(--gold-dk);
  font-family:'Cormorant Garamond',serif;font-size:12px;letter-spacing:0.2em;text-decoration:none;text-transform:uppercase;}

/* ── レスポンシブ ── */
@media(max-width:760px){
  .rv-head{padding:36px 22px 22px;}
  .rv-wrap{padding:0 22px;}
  .rv-form{padding:28px 22px 32px;}
  .rv-row{grid-template-columns:1fr;gap:0;}
  .rv-opts{grid-template-columns:1fr;}
  .rv-date{grid-template-columns:56px 1fr;grid-template-areas:'n date' 'n time';gap:8px;}
  .rv-date-n{grid-area:n;align-self:center;}
  .rv-thanks{padding:48px 24px;}
}
