/* ============================================================
   WordPress 用の追加スタイル
   - 下層ページの本文（ブロックエディタの出力）
   - メニュー（wp_nav_menu の出力）
   ============================================================ */

/* 画面外に置くテキスト */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* ロゴを包む要素（トップでは h1）。見出しの既定の余白・文字サイズを打ち消し、ロゴの見た目を変えない */
.site-logo { margin: 0; padding: 0; font-size: inherit; font-weight: inherit; line-height: 0; }

/* ---------- 下層ページ本文 ---------- */
.sub-body .entry > * { margin-top: 0; margin-bottom: 1.6em; }
.sub-body .entry > *:last-child { margin-bottom: 0; }
.sub-body .entry h2 { margin-top: 2.4em; font-size: clamp(20px, 2vw, 26px); font-weight: 600; letter-spacing: .15em; line-height: 1.6; }
.sub-body .entry h3 { margin-top: 2em; font-size: 17px; font-weight: 600; letter-spacing: .1em; }
.sub-body .entry h4 { font-size: 15px; font-weight: 600; letter-spacing: .1em; }
.sub-body .entry p { font-size: 15px; line-height: 2; }
.sub-body .entry a:not(.link-line):not(.wp-block-button__link) { border-bottom: 1px solid currentColor; }
.sub-body .entry a:not(.link-line):not(.wp-block-button__link):hover { color: #b62a22; }
.sub-body .entry ul:not(.sub-list):not(.wp-block-gallery), .sub-body .entry ol { padding-left: 1.4em; }
.sub-body .entry ul:not(.sub-list):not(.wp-block-gallery) { list-style: disc; }
.sub-body .entry ol { list-style: decimal; }
.sub-body .entry li { margin: .2em 0; }
.sub-body .entry img { height: auto; }
.sub-body .entry figure { margin-left: 0; margin-right: 0; }
.sub-body .entry figcaption { font-family: "Hiragino Sans", sans-serif; font-size: 12px; color: #6a5b59; }
.sub-body .entry blockquote { margin: 0; padding: 4px 0 4px 20px; border-left: 2px solid #d9cbb8; color: #6a5b59; }
.sub-body .entry hr { border: 0; border-top: 1px solid #e6dedc; }
.sub-body .entry table { border-collapse: collapse; width: 100%; font-size: 14px; }
.sub-body .entry th, .sub-body .entry td { padding: 10px 12px; border-bottom: 1px solid #e6dedc; text-align: left; vertical-align: top; }
.sub-body .entry th { font-weight: 600; white-space: nowrap; }
.sub-body .entry .wp-block-button__link { display: inline-block; padding: 12px 28px; background: var(--dark); color: #fff; border-radius: 0; font-size: 14px; letter-spacing: .15em; }
.sub-body .entry .wp-block-embed iframe { max-width: 100%; }
.sub-body .entry .wp-block-gallery { gap: 10px; }
.sub-body .entry .wp-block-columns { gap: 28px; }
.sub-body .entry .sub-list { padding: 0; list-style: none; }
.sub-body .entry .sub-list li { margin: 0; }
.sub-body .entry .sub-list b { display: block; }
.sub-body .entry .sub-list span { display: block; }
.sub-body .sub-back { margin-top: 48px; }

/* お知らせ一覧 */
.news-list li { grid-template-columns: 1fr; }
.news-list time { font-family: "Cormorant Garamond", serif; font-size: 13px; letter-spacing: .1em; color: #8a7a78; }
.news-list b a:hover { color: #b62a22; }
.sub-body .pagination { margin-top: 32px; font-size: 14px; }
.sub-body .nav-links { display: flex; gap: 10px; }
.sub-body .nav-links .page-numbers { display: inline-block; padding: 4px 10px; border: 1px solid #e6dedc; }
.sub-body .nav-links .current { background: var(--dark); color: #fff; border-color: var(--dark); }

/* 下層ページでも右上のご予約・メニューを出すため、ページ上部の写真に重ならないよう余白はそのまま（固定配置） */
.sub .topbar .btn-reserve, .sub .btn-menu { box-shadow: 0 6px 18px rgba(38,24,24,.2); }

/* ---------- WordPress メニューの出力（class を付けないので構造で合わせる） ---------- */
.drawer ul li.current-menu-item > a { color: #b62a22; }
.foot-nav li.current-menu-item > a { text-decoration: underline; text-underline-offset: 4px; }

/* 管理バー表示時の固定要素の位置 */
.admin-bar .rail { top: 32px; }
.admin-bar .topbar { top: calc(clamp(14px, 2.2vw, 30px) + 32px); }
@media (max-width: 782px) { .admin-bar .rail { top: 46px; } .admin-bar .sp-logo { top: 46px; } .admin-bar .topbar { top: calc(8px + 46px); } }
