/* --- 旅相談ページ --- */
.consult { padding:56px 0 100px; }
.consult-title { margin:0; font-family:Georgia,"Hiragino Mincho ProN",serif; font-size:clamp(2rem,5vw,3.2rem); font-weight:400; line-height:1.3; }
.consult-lead { margin:14px 0 30px; font-size:1.02rem; color:#52646a; }
.consult-panel { background:#fff; border:1px solid var(--line); padding:clamp(20px,4vw,40px); }
.consult-panel textarea { width:100%; padding:14px 16px; border:1px solid var(--line); border-radius:0; background:#fbfaf7; font:inherit; font-size:1rem; line-height:1.8; color:var(--ink); resize:vertical; }
.consult-panel textarea:focus-visible { outline:2px solid var(--gold); outline-offset:1px; }
.consult-hint { margin:8px 0 0; font-size:.76rem; color:#607177; }
.consult-chips { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.consult-chip { padding:9px 16px; border:1px solid var(--line); border-radius:999px; background:transparent; color:var(--ink); font:inherit; font-size:.84rem; cursor:pointer; transition:.2s; }
.consult-chip:hover { background:var(--night); color:#fff; }
.consult-chip:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
.consult-actions { margin-top:22px; padding-top:22px; border-top:1px solid var(--line); }
.consult-submit { background:var(--night); color:#fff; cursor:pointer; font:inherit; }
.consult-submit:hover { background:var(--ink); }
.consult-submit:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
.consult-note { margin:14px 0 0; font-size:.76rem; }

/* 提案結果 */
.consult-result { margin-top:36px; }
.consult-suggest { background:#fff; border:1px solid var(--line); padding:clamp(22px,4vw,40px); }
.consult-suggest-head { display:flex; flex-wrap:wrap; gap:10px; align-items:baseline; justify-content:space-between; }
.consult-suggest-title { margin:0; font-family:Georgia,"Hiragino Mincho ProN",serif; font-size:clamp(1.4rem,3vw,1.9rem); font-weight:400; line-height:1.45; }
.consult-suggest-text { margin:14px 0 0; font-size:.95rem; line-height:1.9; color:#52646a; }
.consult-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.consult-tag { padding:4px 14px; background:#edf2ee; color:#48606a; font-size:.78rem; font-weight:700; letter-spacing:.04em; }
.consult-hotels { margin-top:28px; }
.consult-hotels-heading { margin:0 0 14px; font-family:Georgia,"Hiragino Mincho ProN",serif; font-size:1.2rem; font-weight:400; }
.consult-hotel-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:16px; }
.consult-hotel-grid:has(.result-card:only-child) { max-width:560px; }
.consult-empty { margin:0; padding:26px 20px; background:#edf2ee; color:#52646a; font-size:.92rem; }
.consult-more { margin-top:24px; }
.consult-more .button { display:inline-block; background:transparent; color:var(--ink); cursor:pointer; font:inherit; }
.consult-more .button:hover { background:var(--night); color:#fff; }
.consult-more .button:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
.consult-notes { margin-top:40px; }
.consult-error { margin:0; padding:16px 18px; background:#f7ede8; color:#8b421f; font-size:.9rem; }

/* 相談ページの宿カードは検索結果カード(result-card)のデザインを踏襲 */
.consult-hotel-grid .result-card { display:flex; flex-direction:column; }
.consult-hotel-grid .result-card img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.consult-hotel-grid .result-card .result-links { margin-top:auto; }

@media (max-width:900px) {
  .consult-hotel-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px) {
  .consult { padding:40px 0 70px; }
  .consult-hotel-grid { grid-template-columns:1fr; }
  .consult-suggest-head { flex-direction:column; align-items:flex-start; }
}
@media (prefers-reduced-motion:reduce) {
  .consult-chip, .consult-submit, .consult-more .button { transition:none; }
}

/* 2026-10-10: 宿泊対象・予約可否の告知は常時表示、詳しい条件は折り畳み（テーマ比較画面と同じ方針） */
.result-card .stay-eligibility{margin:8px 0;padding:7px 9px;border-radius:6px;background:#fff4df;color:#653f16;font-size:12px;font-weight:700;line-height:1.6;overflow-wrap:anywhere}
.result-card .stay-conditions{margin:8px 0;color:#435c4b;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.result-card .stay-conditions summary{cursor:pointer;font-weight:600}
.result-card .stay-conditions p{margin:8px 0}
.result-card .source-pending{display:inline-block;margin:6px 0;padding:4px 8px;border-radius:6px;background:#f1ebd3;color:#5b4a1f;font-size:12px;font-weight:700}
.result-card .animal-note{margin:8px 0;padding:6px 9px;border-radius:6px;background:#eef5ee;color:#33503c;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.consult-intent{margin:0 0 12px;color:#435c4b;font-size:.9rem}
