/* みんつり！釣り場タブ（spots.js）。色・余白は style.css のトークンを使い、無い場合は既定値 */
.sp-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.sp-head h2{margin:0}
.sp-map{height:min(58vh,520px);border-radius:14px;overflow:hidden;border:1px solid var(--line,#dde5ec)}
.sp-hint{margin:8px 2px 0}
.sp-pin span{display:block;width:var(--s);height:var(--s);border-radius:50%;background:var(--c);border:3px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.sp-poi span{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;background:var(--c);color:#fff;font:700 10px/1 system-ui,sans-serif;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.sp-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.sp-title h2{margin:0 0 2px}.sp-title p{margin:0}
.sp-chips{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 10px}
.sp-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--line,#dde5ec);background:var(--surface,#fff);color:var(--sub,#5b6b78);font:inherit;font-size:13px;cursor:pointer}
.sp-chip i,.sp-group h4 i{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 3px;border-radius:6px;background:var(--line,#dde5ec);color:#fff;font-style:normal;font-size:10px;font-weight:700}
.sp-chip.on{border-color:var(--c);color:var(--ink,#14212b);background:color-mix(in srgb,var(--c) 10%,var(--surface,#fff))}
.sp-chip.on i,.sp-group h4 i{background:var(--c)}
.sp-poimap{height:260px;border-radius:14px;overflow:hidden;border:1px solid var(--line,#dde5ec)}
.sp-poilist{margin-top:12px}
.sp-group{margin-bottom:12px}
.sp-group h4{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:14px}
.sp-poi-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line,#dde5ec)}
.sp-poi-row:last-child{border-bottom:0}
.sp-poi-main{min-width:0}.sp-poi-main b{display:block;font-size:14px;overflow-wrap:anywhere}
.sp-poi-sub{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:3px;font-size:12px;color:var(--sub,#5b6b78)}
.sp-open{font-weight:700;padding:1px 7px;border-radius:6px;font-size:11px}
.sp-open.yes{background:rgba(46,157,106,.15);color:#1f7a4f}.sp-open.no{background:rgba(120,135,150,.16);color:var(--sub,#5b6b78)}.sp-open.unk{padding:0;color:var(--sub,#5b6b78);font-weight:400}
.sp-hours{overflow-wrap:anywhere}
.sp-tag{padding:1px 7px;border-radius:6px;background:var(--bg,#f2f6f9);font-size:11px}
.sp-poi-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:0 0 auto}
.sp-dist{font-variant-numeric:tabular-nums;font-weight:700;font-size:13px}
.sp-route{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border-radius:8px;border:1px solid var(--line,#dde5ec);font-size:12px;color:var(--pri,#1f7fb5);text-decoration:none}
.sp-none{margin:4px 0 0}
.sp-attr{margin-top:6px;font-size:11px}
.sp-catchgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.sp-catch{margin:0;border-radius:12px;overflow:hidden;background:var(--bg,#f2f6f9);border:1px solid var(--line,#dde5ec)}
.sp-catch img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.sp-catch figcaption{padding:8px 10px;display:flex;flex-direction:column;gap:2px;font-size:13px}
.sp-catch figcaption span{font-size:11px;color:var(--sub,#5b6b78)}
.sp-empty{grid-column:1/-1;text-align:center;padding:18px 8px}
.sp-empty p{margin:4px 0}
@media (min-width:900px){.sp-poimap{height:340px}}
.sp-legend{display:flex;flex-wrap:wrap;gap:6px 12px;margin:8px 2px 0;font-size:11.5px;color:var(--sub,#5b6b78)}
.sp-legend span{display:inline-flex;align-items:center;gap:5px}
.sp-legend i{width:10px;height:10px;border-radius:50%;background:var(--c);display:inline-block}
.sp-legend i.x,.sp-x span{border-radius:3px!important;transform:rotate(45deg)}
.sp-nav{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.sp-nav .btn{flex:1 1 160px;justify-content:center;text-align:center;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.sp-photos{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x mandatory}
.sp-photos figure{flex:0 0 220px;margin:0;scroll-snap-align:start}
.sp-photos img{width:220px;height:150px;object-fit:cover;border-radius:12px;display:block}
.sp-photos figcaption{font-size:10.5px;color:var(--sub,#5b6b78);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-rules{display:grid;gap:8px;margin:10px 0}
.sp-rule{display:grid;grid-template-columns:96px 1fr;gap:8px;font-size:13.5px;padding:8px 0;border-bottom:1px solid var(--line,#dde5ec)}
.sp-rule:last-child{border-bottom:0}.sp-rule b{color:var(--sub,#5b6b78);font-weight:700}
.sp-badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700;margin-right:6px}
.sp-badge.yes{background:rgba(11,138,99,.14);color:#0b8a63}.sp-badge.no{background:rgba(210,52,42,.12);color:#c0392b}.sp-badge.unk{background:var(--bg,#f2f6f9);color:var(--sub,#5b6b78)}
/* 施設アイコン：押しやすい大きさ＋白い絵記号 */
.sp-poi span{width:32px!important;height:32px!important;border-radius:10px!important;border:2.5px solid #fff!important;box-shadow:0 2px 8px rgba(0,0,0,.35)!important}
.sp-poi svg{display:block}
.sp-pop{display:flex;flex-direction:column;gap:3px;font-size:13px;line-height:1.5}
.sp-pop small{font-weight:700;font-size:11px}.sp-pop b{font-size:14.5px}
.sp-pop em{font-style:normal}
.sp-pop-route{margin-top:6px;display:inline-flex;justify-content:center;padding:8px 10px;border-radius:8px;background:#0b6fae;color:#fff!important;text-decoration:none;font-weight:700}
.sp-poi-row[data-poi]{cursor:pointer}
.sp-poi-row[data-poi]:active{background:var(--surface-2,#eef3f7)}
