/* 2026-09-17 HOSHILU SHOP検索（全ショップ横断検索）。スマホファースト・余白広め・カード乱立を避ける。 */
.shop-search{background:var(--paper,#fff);border:1px solid var(--line,#e9e5f5);border-radius:26px;box-shadow:0 20px 60px #30236610;padding:clamp(18px,5vw,34px)}
.shop-search h2{margin:4px 0 12px;font-size:clamp(19px,5.4vw,26px);line-height:1.3}
.shop-search-form{display:flex;flex-direction:column;gap:8px}
.shop-search-form input{width:100%;padding:14px 16px;border:2px solid var(--line,#e9e5f5);border-radius:16px;font-size:16px;outline:none;background:#fff}
.shop-search-form input:focus{border-color:var(--violet,#7357ff)}
.shop-search-submit{border:0;border-radius:16px;padding:14px 16px;font-size:16px;font-weight:800;color:#fff;background:linear-gradient(90deg,#ff4f9a,#7357ff 55%,#23b8ff);cursor:pointer}
.shop-search-hint{margin:8px 0 0;font-size:12px;color:#6d6b80;line-height:1.5}
.shop-search-results{margin-top:16px}
.shop-search-results.hidden{display:none}
.shop-search-summary{margin:0 0 8px;font-size:13px;color:#6d6b80;display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.shop-search-conditions{display:inline-flex;flex-wrap:wrap;gap:6px}
.shop-search-condition{display:inline-block;border-radius:999px;padding:3px 9px;font-size:12px;border:1px solid #e6e0ff;background:#f7f5ff;color:#3f3a6b}
.shop-search-condition.matched{background:#e8f8ef;border-color:#b9e7cc;color:#146c3a}
.shop-search-condition.unmatched{background:#fff4e5;border-color:#ffd9a8;color:#8a4b00}
.shop-search-condition.pending{background:#f4f0ff;border-color:#d9d0ff;color:#4b3fb3}
.shop-search-block{margin-top:18px}
.shop-search-block-title{margin:0;font-size:17px;line-height:1.3}
.shop-search-block-note{margin:4px 0 10px;font-size:12.5px;color:#6d6b80;line-height:1.5}
.shop-search-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:720px){.shop-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.shop-search-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;border:1px solid #eceaf8;border-radius:18px;background:#fff;padding:10px}
.shop-search-card-near{border-style:dashed}
.shop-search-card-media{display:block;width:96px;aspect-ratio:1/1;border-radius:12px;background:#efecff;overflow:hidden}
.shop-search-card-media img{width:100%;height:100%;object-fit:cover}
.shop-search-card-body{min-width:0;display:flex;flex-direction:column;gap:5px}
.shop-search-card-name{font-size:13.5px;line-height:1.45;color:#17142d;text-decoration:none;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.shop-search-card-price{margin:0;font-size:16px;font-weight:800}
.shop-search-card-shop{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:#4b3fb3;text-decoration:none}
.shop-search-card-coupon{font-style:normal;font-size:10.5px;font-weight:700;color:#d1327f;border:1px solid #ffb7d3;border-radius:999px;padding:1px 6px}
.shop-search-card-conditions{display:flex;flex-wrap:wrap;gap:5px}
.shop-search-card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.shop-search-card-actions>*{border-radius:999px;font-size:11.5px;font-weight:700;padding:6px 10px;text-decoration:none;cursor:pointer;white-space:nowrap}
.shop-search-card-open{background:#241b4d;color:#fff}
.shop-search-card-keep{border:1px solid #ffb7d3;background:#fff;color:#d1327f}
.shop-search-card-keep.kept{background:#ff4f9a;border-color:#ff4f9a;color:#fff}
.shop-search-card-watch{border:1px solid #d9d0ff;background:#f7f5ff;color:#4b3fb3}
.shop-search-demand{border:1px dashed #c9bfff;border-radius:18px;padding:16px;background:#faf8ff}
.shop-search-demand-label{margin:10px 0 4px;font-size:12px;color:#6d6b80}
.shop-search-demand-button{margin-top:12px;width:100%;border:0;border-radius:16px;padding:14px;font-size:16px;font-weight:800;color:#fff;background:linear-gradient(90deg,#ff4f9a,#7357ff 55%,#23b8ff);cursor:pointer}
.shop-search-demand-button:disabled{opacity:.6;cursor:default}
.shop-search-demand-status{margin:10px 0 0;font-size:13px;line-height:1.6;color:#3f3a6b}
.shop-search-login{color:#4b3fb3;font-weight:700}
.shop-search-popular{margin-top:16px}
.shop-search-popular.hidden{display:none}
.shop-search-popular-title{margin:0 0 8px;font-size:13px;font-weight:700;color:#3f3a6b}
.shop-search-popular-list{display:flex;flex-wrap:wrap;gap:8px}
.shop-search-popular-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #e6e0ff;background:#fff;border-radius:999px;padding:7px 12px;font-size:13px;cursor:pointer;color:#17142d}
.shop-search-popular-chip small{color:#6d6b80}

/* 2026-09-17: ジャンル・詳細条件（タップで開く） */
.shop-search-filters{border:1px solid var(--line,#e9e5f5);border-radius:14px;background:#faf8ff;padding:0 12px}
.shop-search-filters>summary{cursor:pointer;padding:11px 0;font-size:13px;font-weight:700;color:#4b3fb3;list-style:none;display:flex;align-items:center;justify-content:space-between}
.shop-search-filters>summary::-webkit-details-marker{display:none}
.shop-search-filters>summary::after{content:'＋';font-weight:800}
.shop-search-filters[open]>summary::after{content:'－'}
.shop-search-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 0 12px}
.shop-search-filter-grid label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:#6d6b80;min-width:0}
.shop-search-filter-grid select,.shop-search-filter-grid input{width:100%;min-width:0;padding:9px 10px;border:1px solid var(--line,#e9e5f5);border-radius:10px;font-size:14px;background:#fff;color:#17142d}

/* 2026-09-17: 「ホシってるもの」内の「ショップで探しているもの」（会員の需要一覧） */
.shop-demand-mine{margin-top:14px;padding:12px 14px;border:1px dashed #c9bfff;border-radius:14px;background:#faf8ff}
.shop-demand-mine-title{margin:0 0 8px;font-size:13px;color:#4b3fb3}
.shop-demand-mine-list{display:grid;gap:8px}
.shop-demand-mine-item{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px 12px;border:1px solid #eceaf8;border-radius:12px;background:#fff;font-size:13px}
.shop-demand-mine-item strong{flex:1 1 160px;min-width:0;font-size:13px;line-height:1.45}
.shop-demand-mine-state{border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:700;background:#f4f0ff;color:#4b3fb3}
.shop-demand-mine-state.matched{background:#e8f8ef;color:#146c3a}
.shop-demand-mine-link{font-size:12px;font-weight:700;color:#4b3fb3}
.shop-demand-mine-stop{border:1px solid #e9e5f5;background:#fff;border-radius:999px;padding:4px 10px;font-size:11.5px;color:#6d6b80;cursor:pointer}
