/* CMS マーカー（data-mogukatsu）で描画される内容のスタイル。style.css の後に読み込む */

/* ---- Menu ---- */
.menu-panels .menu-panel{display:block;margin-bottom:28px}
.menu-panels.tabbed .menu-panel{display:none;margin-bottom:0}
.menu-panels.tabbed .menu-panel.active{display:block}
.menu-panels .kind-course{display:none!important}
.menu-cols:not(.has-photo){grid-template-columns:1fr;max-width:820px;margin:0 auto}
.menu-cat .en{margin-left:auto;font-family:"Noto Sans JP",sans-serif;font-size:.68rem;letter-spacing:.2em;color:var(--ink-soft)}
.menu-item .name small:empty,.menu-item .price:empty{display:none}
.menu-excerpt .menu-cols{display:block}
.menu-excerpt .menu-list{max-width:760px;margin:0 auto}

/* ---- Courses（メニューのコース区分） ---- */
.course-slot .kind-menu{display:none}
.course-slot .course-grid{grid-template-columns:repeat(3,1fr);max-width:1080px}
.course-card .cname{display:block;margin-bottom:14px}
.course-card .price:empty,.course-card .cnote:empty{display:none}
.course-card .cnote{text-align:left;margin-top:22px;border-top:1px solid var(--line);padding-top:18px;font-size:.88rem;color:var(--ink-soft);line-height:1.9}
.course-cta{text-align:center;margin-top:34px}
@media(max-width:860px){.course-slot .course-grid{grid-template-columns:1fr}}

/* ---- News ---- */
.news-item .cat:empty,.nf-head .cat:empty{display:none}
.nf-head .date{font-family:"Shippori Mincho",serif;color:var(--ink-soft);font-size:.9rem;letter-spacing:.05em}
.nf-head .cat{font-size:.68rem;letter-spacing:.12em;color:#fff;background:var(--accent);border-radius:4px;padding:3px 10px}
.news-item .cat[data-cat="MENU"],.nf-head .cat[data-cat="MENU"]{background:var(--accent-2)}
.news-item .cat[data-cat="INFO"],.nf-head .cat[data-cat="INFO"]{background:var(--gold)}
.news-full h2 a{text-decoration:none}
.news-full h2 a:hover{color:var(--accent)}
.nf-more{color:var(--accent);font-weight:700;font-size:.88rem}

/* ---- Shop info / links / FAQ ---- */
.access-info dd{white-space:pre-line}
.access-links{display:contents}
.faq-item .a{white-space:pre-line}

/* ---- CMS の一覧から必要な行だけ表示する（店舗情報は項目名、リンクはリンク名・種類で選ぶ） ---- */
.cms-pick{display:contents}
.cms-resv > :not([data-label*="予約"]),
.cms-tel > :not([data-label="電話"]),
.cms-inquiry > :not([data-label="お問い合わせ"]),
.cms-otoshi > :not([data-label="お通し"]),
.cms-review > :not([data-label*="クチコミを書く"]),
.hf-cms > :not([data-label="営業時間"]):not([data-label="最寄り駅"]):not([data-label="席数"]),
.sf-cms > :not([data-label="席数"]):not([data-label="貸切"]):not([data-label="設備"]),
.foot-si > :not([data-label="住所"]):not([data-label="最寄り駅"]):not([data-label="営業時間"]):not([data-label="定休日"]),
.share-si > :not([data-label="店名"]):not([data-label="住所"]):not([data-label="電話"]):not([data-label="お問い合わせ"]),
.share-lk > :not([data-label*="予約"]),
.sns-cms > :not([data-icon-key="instagram"]):not([data-icon-key="x"]):not([data-icon-key="tabelog"]){display:none!important}

/* hero facts: 営業時間 → 最寄り駅 → ジャンル → 席数 の順、各 1 行目だけ */
.hf-cms [data-label="営業時間"]{order:1}
.hf-cms [data-label="最寄り駅"]{order:2}
.hero-facts .hf-genre{order:3}
.hf-cms [data-label="席数"]{order:4}
.hero-facts .v{display:block;white-space:pre-line;line-height:1.85;max-height:1.85em;overflow:hidden}

/* footer */
.foot-si > span{display:block;white-space:pre-line}
.sns-cms .ico{display:none}
.sns-cms [data-icon-key="instagram"] .ico-instagram,.sns-cms [data-icon-key="x"] .ico-x,.sns-cms [data-icon-key="tabelog"] .ico-tabelog{display:block}
.sns-cms [data-icon-key="tabelog"]:hover{background:#ff5722;border-color:#ff5722;color:#fff}

/* share text */
.share-si .sh-l{display:none}
.share-si [data-label="お問い合わせ"] .sh-l{display:inline}

/* ---- お知らせ・記事の詳細ページ（自動生成ページ main.mogukatsu-page。ヘッダー等は page-chrome.js が付ける） ---- */
main.mogukatsu-page{max-width:860px;margin:0 auto;padding:48px 24px clamp(56px,7vw,96px);line-height:1.9;color:var(--ink)}
body.cms-detail main.mogukatsu-page{padding-top:118px}
main.mogukatsu-page .mogukatsu-back{font-size:.82rem;color:var(--ink-soft);margin:0 0 18px}
main.mogukatsu-page .mogukatsu-back a{color:var(--accent)}
main.mogukatsu-page article{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:clamp(28px,5vw,56px) clamp(22px,5vw,60px)}
main.mogukatsu-page article[data-eyebrow]::before{content:attr(data-eyebrow);display:block;font-family:"Shippori Mincho",serif;color:var(--accent);font-size:.82rem;letter-spacing:.35em;text-transform:uppercase;margin-bottom:12px}
main.mogukatsu-page h1{font-family:"Shippori Mincho",serif;font-weight:700;font-size:clamp(1.45rem,3.6vw,2.1rem);line-height:1.55;letter-spacing:.04em;margin:0 0 16px}
main.mogukatsu-page .mogukatsu-page-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:var(--ink-soft);font-size:.9rem;margin:0 0 28px;padding-bottom:22px;border-bottom:1px solid var(--line)}
main.mogukatsu-page .mogukatsu-page-meta .date{font-family:"Shippori Mincho",serif;letter-spacing:.05em}
main.mogukatsu-page .mogukatsu-page-meta .cat{font-size:.68rem;letter-spacing:.12em;line-height:1.6;color:#fff;background:var(--accent);border-radius:4px;padding:3px 10px}
main.mogukatsu-page .mogukatsu-page-meta .cat[data-cat="MENU"]{background:var(--accent-2)}
main.mogukatsu-page .mogukatsu-page-meta .cat[data-cat="INFO"]{background:var(--gold)}
main.mogukatsu-page img{width:100%;height:auto;border-radius:10px;margin:0 0 28px;box-shadow:0 14px 36px -22px rgba(32,22,15,.6)}
main.mogukatsu-page .mogukatsu-page-body{font-size:1rem;line-height:2}
main.mogukatsu-page .mogukatsu-page-body p{margin:0 0 1.2em;white-space:pre-wrap}
main.mogukatsu-page .mogukatsu-page-body p:last-child{margin-bottom:0}
main.mogukatsu-page .mogukatsu-page-body a{color:var(--accent);text-decoration:underline}
.cms-detail-more{text-align:center;margin-top:40px}
@media(max-width:600px){body.cms-detail main.mogukatsu-page{padding-top:96px}}

/* ---- 来店記事（articles マーカー） ---- */
.article-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:26px;margin-top:44px}
.articles-page .article-grid{margin-top:0}
.article-card{overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}
.article-card:hover{transform:translateY(-6px);border-color:var(--accent)}
.article-card .ac-link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.article-card .ac-img{aspect-ratio:16/10;overflow:hidden;background:var(--paper-2)}
.article-card .ac-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.article-card:hover .ac-img img{transform:scale(1.05)}
.article-card .ac-img img[src=""]{display:none}
.article-card .ac-body{display:flex;flex-direction:column;flex:1}
.article-card .ac-src:empty{display:none}
.article-card .ac-src{align-self:flex-start}
.article-card .ac-meta{display:flex;gap:14px;align-items:center}
.article-card .ac-likes{color:var(--accent)}
.article-card .ac-excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:14px}
.article-card .ac-excerpt:empty{display:none}
.article-card .ac-more{margin-top:auto;color:var(--accent);font-weight:700;font-size:.86rem}
.articles-empty{display:none;text-align:center;color:var(--ink-soft);padding:40px 0}
.articles-page .wrap:not(:has(.article-card)) .articles-empty{display:block}
.articles-sec:not(:has(.article-card)){display:none}
.articles-sec{background:var(--paper)}

/* 記事の詳細ページ：投稿者ラベル */
main.mogukatsu-page .mogukatsu-page-meta .author{font-size:.78rem;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:2px 12px;line-height:1.6}
/* 記事の写真スライド（PC は 3 枚、スマホは 1 枚＋次の写真が少し見える） */
main.mogukatsu-page .cms-slider{position:relative;margin:0 0 34px}
main.mogukatsu-page .cms-slider-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-radius:10px}
main.mogukatsu-page .cms-slider-track::-webkit-scrollbar{display:none}
main.mogukatsu-page .cms-slider-track:focus-visible{outline:3px solid var(--accent-2);outline-offset:3px}
main.mogukatsu-page .cms-slide{flex:0 0 calc((100% - 24px)/3);margin:0;scroll-snap-align:start;border-radius:10px;overflow:hidden;background:var(--paper-2);cursor:zoom-in}
main.mogukatsu-page .cms-slide img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;margin:0;border-radius:0;box-shadow:none;transition:transform .6s ease}
main.mogukatsu-page .cms-slide:hover img{transform:scale(1.04)}
main.mogukatsu-page .cms-slider-nav{position:absolute;top:calc(50% - 22px);transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(28,20,14,.78);color:#fff;font-size:1.6rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 20px -10px rgba(0,0,0,.7);transition:opacity .25s,background .25s}
main.mogukatsu-page .cms-slider-nav:hover{background:var(--accent)}
main.mogukatsu-page .cms-slider-prev{left:-16px}
main.mogukatsu-page .cms-slider-next{right:-16px}
main.mogukatsu-page .cms-slider-nav:disabled{opacity:0;pointer-events:none}
main.mogukatsu-page .cms-slider-foot{display:flex;align-items:center;gap:14px;margin-top:14px}
main.mogukatsu-page .cms-slider-count{font-family:"Shippori Mincho",serif;font-size:.86rem;letter-spacing:.08em;color:var(--ink-soft);min-width:4.5em}
main.mogukatsu-page .cms-slider-dots{display:flex;gap:6px;flex-wrap:wrap;flex:1;justify-content:center}
main.mogukatsu-page .cms-slider-dots button{width:8px;height:8px;padding:0;border:none;border-radius:999px;background:rgba(32,22,15,.2);cursor:pointer;transition:width .25s,background .25s}
main.mogukatsu-page .cms-slider-dots button.active{width:22px;background:var(--accent)}
main.mogukatsu-page .cms-slider-hint{font-size:.74rem;color:var(--ink-soft);min-width:4.5em;text-align:right}
@media(max-width:700px){
  main.mogukatsu-page .cms-slide{flex-basis:80%}
  main.mogukatsu-page .cms-slider-nav{display:none}
}
.cms-lb img{touch-action:pan-y}

/* ヘッダー：ナビ 7 項目がパソコン幅の狭い画面（901〜1120px）でも 1 行に収まるよう詰める */
@media(min-width:901px) and (max-width:1120px){
  .nav{gap:12px}
  .brand .n{font-size:1.1rem;letter-spacing:.08em}
  .navlinks{gap:12px}
  .navlinks a{font-size:.82rem}
  .nav-cta{gap:8px}
  .nav-cta .btn{padding:10px 14px;font-size:.84rem}
  .lang-btn{padding:6px 10px}
}
