@charset "UTF-8";

/* ==========================================================
   WordPress用の追加分（静的サイトの style.css にないもの）
   ========================================================== */

/* 写真があるメニュー・こだわり */
.menu-card__thumb img,
.menu-item__thumb img { width: 100%; height: 100%; object-fit: cover; }
.menu-card__thumb:has(img) { padding: 0; }
.craft__visual--photo { overflow: hidden; }
.craft__visual--photo img { width: 100%; height: 100%; object-fit: cover; }
.message__face img { width: 100%; height: auto; border-radius: 50%; }
.visit__illust--photo img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }

/* カテゴリボタン（リンク） */
a.menu-filter__btn { display: inline-block; }

/* Googleマップ */
.access__map--embed { padding: 0; background: none; }
.access__map--embed iframe { width: 100%; height: 100%; border: 0; }

/* お知らせ一覧 */
.news--page { background: var(--c-paper) var(--noise); }
.news__inner--page { max-width: 880px; }
.nav-links { display: flex; justify-content: center; gap: 8px; margin-top: 48px; font-family: var(--f-en); }
.page-numbers {
  display: grid;
  place-items: center;
  min-width: 36px;
  height: 36px;
  padding: 0 8px;
  border: 1px solid var(--c-ink);
}
.page-numbers.current { color: var(--c-cream); background: var(--c-ink); }
.page-numbers.dots { border: 0; }

/* 記事・固定ページ */
.post { padding: clamp(56px, 8vw, 96px) clamp(16px, 5vw, 64px) clamp(80px, 12vw, 140px); background: var(--c-paper) var(--noise); }
.post__inner { max-width: 760px; margin: 0 auto; }
.post__inner--center { text-align: center; }
.post__inner--center p + p { margin-top: 32px; }
.post__date { font-family: var(--f-en); font-style: italic; font-size: 15px; }
.post__thumb { margin-top: 24px; }
.post__thumb img { width: 100%; height: auto; }
.post__content { margin-top: 32px; font-size: 15px; line-height: 2.1; }
.post__content > * + * { margin-top: 1.6em; }
.post__content h2 { padding-bottom: 8px; font-size: 21px; border-bottom: 1px solid var(--c-ink); }
.post__content h3 { font-size: 18px; }
.post__content a { text-decoration: underline; text-underline-offset: 3px; }
.post__content img { height: auto; }
.post__content ul, .post__content ol { padding-left: 1.5em; }
.post__content ul { list-style: disc; }
.post__content ol { list-style: decimal; }
.post__nav {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
  margin-top: 72px;
  padding-top: 32px;
  font-size: 13px;
  border-top: 1px solid var(--c-line);
}
.post__nav-next { text-align: right; }

/* Contact Form 7（取り置き予約ページの本文に入れたとき） */
.form--wp p { margin-bottom: 24px; font-size: 14px; font-weight: 600; }
.form--wp label { display: block; }
.form--wp .wpcf7-form-control-wrap { display: block; margin-top: 6px; font-weight: 400; }
.form--wp input[type="text"],
.form--wp input[type="email"],
.form--wp input[type="tel"],
.form--wp input[type="date"],
.form--wp select,
.form--wp textarea {
  width: 100%;
  padding: 12px 14px;
  font: inherit;
  font-size: 16px;
  font-weight: 400;
  color: var(--c-ink);
  background: #fff;
  border: 1px solid var(--c-line);
  border-radius: 0;
}
.form--wp .wpcf7-list-item { margin: 0 16px 0 0; font-weight: 400; }
.form--wp .wpcf7-acceptance label { display: inline-flex; align-items: center; gap: 8px; }
.form--wp input[type="submit"] {
  display: block;
  width: min(100%, 360px);
  margin: 40px auto 0;
  padding: 18px;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .15em;
  color: var(--c-cream);
  background: var(--c-ink);
  border: 1px solid var(--c-ink);
  border-radius: 0;
  cursor: pointer;
}
.form--wp .wpcf7-not-valid-tip { margin-top: 4px; font-size: 12px; font-weight: 400; color: #a33a1f; }
.form--wp .wpcf7-response-output { margin: 24px 0 0 !important; padding: 16px !important; font-size: 14px; border-color: var(--c-ink) !important; }
.form--wp .wpcf7-spinner { display: block; margin: 12px auto 0; }
