/* ごはんマップ（/food/）専用。共通の部品は site.css */

.food-lang{display:flex;gap:0;margin:10px 0 0}
.food-lang button{font:500 15px/1.4 var(--gothic);background:none;border:0;padding:2px 10px;color:var(--sub);cursor:pointer}
.food-lang button:first-child{padding-left:0}
.food-lang button+button{border-left:1px solid var(--line)}
.food-lang button[aria-pressed="true"]{color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:5px}

.food-filters{margin:0 0 8px}
.food-filters .g-filter{flex-wrap:nowrap;min-width:0}
.food-filters .g-chips{min-width:0}
.food-filters .food-today{font-weight:700}
@media(min-width:701px){.food-filters .g-chips{flex-wrap:wrap}}

/* 日付と件数を1行に。地図と一覧はこの下 */
.food-count{display:flex;flex-wrap:wrap;gap:4px 14px;margin:14px 0 10px;font-size:15px;color:var(--sub)}
.food-date{color:var(--ink);font-weight:700}

.food-map{width:100%;height:240px;border:1px solid var(--line);background:var(--tint);margin:0 0 14px;z-index:1}
/* PCは一覧と地図を横に並べ、地図はスクロールしても見えるように固定 */
@media(min-width:1000px){
  .food-layout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:0 36px;align-items:start}
  .food-main{grid-column:1;grid-row:1;min-width:0}
  .food-map{grid-column:2;grid-row:1;position:sticky;top:16px;height:calc(100vh - 32px);max-height:720px;margin:0}
}
.food-pin{background:var(--accent);border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px var(--accent)}
.leaflet-popup-content{font:15px/1.6 var(--gothic);color:var(--ink)}

.food-list{border-top:1px solid var(--line-strong)}
.food-shop{padding:0;border-bottom:1px solid var(--line)}
.food-shop details{border:0}

/* 1行の一覧。押すと開いて写真と詳しい情報が出る */
.food-group{padding:22px 4px 8px;font-size:15px;font-weight:700;color:var(--sub);letter-spacing:.04em;border-bottom:1px solid var(--line-strong)!important}
.food-group:first-child{padding-top:12px}
.food-shop summary{display:grid;grid-template-columns:minmax(0,1fr) auto 1.5em;align-items:baseline;gap:2px 14px;padding:14px 4px;cursor:pointer;list-style:none}
.food-shop summary::-webkit-details-marker{display:none}
.food-shop summary:hover .food-row-name,.food-shop.is-focus .food-row-name{color:var(--accent)}
.food-row-name{font-weight:700;font-size:19px;line-height:1.45}
.food-row-today{font-size:14px;white-space:nowrap}
.food-row-on{color:var(--accent);font-weight:700}
.food-row-off{color:var(--sub)}
.food-row-plus{font-size:22px;font-weight:700;color:var(--accent);text-align:center;transition:transform .2s}
.food-row-sub{grid-column:1/-1;display:flex;gap:14px;min-width:0;font-size:15px;color:var(--sub);line-height:1.6}
.food-row-genre{flex:none}
.food-row-hours{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.food-shop.is-closed .food-row-name{color:var(--sub)}
.food-shop details[open] .food-row-plus{transform:rotate(45deg)}
.food-shop details[open] summary{background:var(--tint)}
.food-shop details[open] .food-row-hours{white-space:normal}
/* 開いた中は 営業時間・定休日 → リンク → ひとこと → 写真。PCは写真を右に */
.food-row-body{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:4px 24px;padding:8px 4px 24px}
.food-row-img{grid-column:2;grid-row:1;width:240px;height:240px;object-fit:cover;border-radius:999px 999px 0 0}
.food-row-body .food-shop-body{grid-column:1;grid-row:1;min-width:0}
.food-row-body:not(:has(.food-row-img)) .food-shop-body{grid-column:1/-1}
.food-row-body .food-shop-name,.food-row-body .g-row-tags{display:none}

.food-shop-name{margin:0 0 6px;font-size:21px;font-weight:700;line-height:1.5}
.food-dl{margin:0 0 8px}
.food-comment{font-size:17px;line-height:1.85;margin:14px 0 0}
.food-links{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin:10px 0 0;font-size:16px}
.food-links a:not(.g-btn){min-height:32px;display:inline-flex;align-items:center}
.food-map-btn{font:700 16px/1.4 var(--gothic);background:none;border:0;padding:0;color:var(--accent);border-bottom:2px solid var(--accent);cursor:pointer}
.food-reserve{min-height:38px;padding:6px 14px;font-size:16px}
.food-empty{padding:28px 0;color:var(--sub);border-bottom:1px solid var(--line)}

/* 写真のあるお店を、アーチ形の写真で横に並べる */
.food-strip{display:flex;gap:20px;overflow-x:auto;padding:8px 2px 18px;margin:0 0 8px;scroll-snap-type:x mandatory}
.food-strip[hidden]{display:none}
.food-strip-card{flex:0 0 168px;scroll-snap-align:start;color:inherit;text-decoration:none}
.food-strip-photo{display:block;width:168px;height:168px;overflow:hidden;border-radius:999px 999px 0 0}
.food-strip-photo.down{border-radius:0 0 999px 999px}
.food-strip-photo img{width:100%;height:100%;object-fit:cover}
.food-strip-name{display:block;margin-top:8px;font-size:15px;font-weight:700;line-height:1.5}
.food-strip-card:hover .food-strip-name{color:var(--accent)}
.food-strip-off{display:block;font-size:13px;color:var(--sub)}

@media(max-width:700px){
  .food-shop summary{gap:2px 10px;padding:13px 2px}
  .food-row-name{font-size:18px}
  .food-row-sub{flex-direction:column;gap:0}
  .food-row-body{grid-template-columns:1fr}
  .food-row-img,.food-row-body .food-shop-body{grid-column:1;grid-row:auto}
  .food-row-img{width:100%;height:auto;aspect-ratio:4/3;margin-top:12px}
  /* このページだけ表紙写真を低くして、最初の画面に絞り込みと件数を入れる */
  .food .g-cover img{aspect-ratio:4/1}
  .food-strip-card{flex-basis:132px}.food-strip-photo{width:132px;height:132px}
  .food-map{height:220px}
}

/* 店ごとのふるさと納税（楽天の貼り付けタグ） */
.food-aff{margin:0 4px;padding:10px 0 16px;border-top:1px dashed var(--line-strong)}
.food-aff-lead{margin:0 0 8px;font-size:15px;color:var(--sub)}
.food-aff-item{display:grid;grid-template-columns:96px 1fr;gap:4px 14px;color:inherit;text-decoration:none;padding:4px 0}
.food-aff-item img{grid-row:1/span 3;width:96px;height:96px;object-fit:cover}
.food-aff-title{font-size:15px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.food-aff-price{font-size:14px;color:var(--sub)}
.food-aff-go{font-size:15px;font-weight:700;color:var(--accent)}
.food-aff-item:hover .food-aff-title{color:var(--accent)}

.food-support{margin-top:24px;max-width:var(--text)}
