/* きぼうホテル検索 — ウィジェット表示（日付/人数/条件対応） */
.hsr-app { max-width: 760px; margin: 1.5em auto; font-size: 15px; line-height: 1.6; }
.hsr-form { display: flex; flex-direction: column; gap: .65em; }
.hsr-q { padding: .7em .9em; border: 1px solid #ccc; border-radius: 8px; font-size: 1em; }
.hsr-q:focus, .hsr-in:focus, .hsr-out:focus, .hsr-ad:focus { outline: none; border-color: #bf0000; box-shadow: 0 0 0 2px rgba(191,0,0,.15); }
.hsr-row { display: flex; gap: .9em; flex-wrap: wrap; }
.hsr-field { display: inline-flex; align-items: center; gap: 6px; font-size: .82em; color: #555; }
.hsr-in, .hsr-out, .hsr-ad { padding: .45em .55em; border: 1px solid #ccc; border-radius: 8px; font-size: .95rem; color: #222; }
.hsr-conds { display: flex; gap: .5em .95em; flex-wrap: wrap; font-size: .92em; color: #333; }
.hsr-conds label { display: inline-flex; align-items: center; gap: 5px; cursor: pointer; }
.hsr-btn { align-self: flex-start; padding: .7em 1.6em; border: 0; border-radius: 8px; background: #bf0000; color: #fff; font-weight: 700; cursor: pointer; font-size: 1em; }
.hsr-btn:hover { background: #a00000; }
.hsr-note { font-size: .8em; color: #777; margin: .2em 0 0; }
.hsr-count { font-weight: 700; margin: 1.2em 0 .5em; }
.hsr-msg { padding: 1em; color: #555; }
.hsr-list { list-style: none; margin: 0; padding: 0; }
.hsr-card { display: flex; gap: .9em; padding: .9em 0; border-top: 1px solid #eee; }
.hsr-img { width: 104px; height: 78px; object-fit: cover; border-radius: 6px; flex: 0 0 auto; background: #f3f3f3; }
.hsr-body { flex: 1 1 auto; min-width: 0; }
.hsr-name { font-weight: 700; color: #1a4fa0; text-decoration: none; display: block; margin-bottom: .25em; }
.hsr-name:hover { text-decoration: underline; }
.hsr-meta { display: flex; gap: .9em; align-items: baseline; flex-wrap: wrap; }
.hsr-price { color: #bf0000; font-weight: 700; font-size: 1.15em; }
.hsr-rev { color: #666; font-size: .9em; }
.hsr-access { color: #777; font-size: .82em; margin: .3em 0 .5em; }
.hsr-cta { display: inline-block; padding: .4em 1em; background: #bf0000; color: #fff; border-radius: 6px; text-decoration: none; font-size: .85em; font-weight: 700; }
.hsr-cta:hover { background: #a00000; color: #fff; }
.hsr-meta-cta { margin: 1.3em 0 0; padding-top: 1em; border-top: 1px solid #eee; font-size: .9em; }
.hsr-meta-cta a { color: #1a4fa0; text-decoration: none; font-weight: 700; }
.hsr-meta-cta a:hover { text-decoration: underline; }
@media (max-width: 480px) {
	.hsr-img { width: 76px; height: 60px; }
	.hsr-price { font-size: 1.05em; }
}
