/**
 * FCM サイト全体 — 背景・パンくず・タイポグラフィ基準
 */

:root {
  --fcm-color-surface: #fffdf7;
}

body,
#body_wrap,
#content,
.l-content,
.l-mainContent,
.l-mainContent__inner,
.l-article {
  background-color: var(--fcm-color-bg-cream) !important;
}

body {
  font-family: var(--fcm-font);
  color: var(--fcm-color-text);
  -webkit-font-smoothing: antialiased;
}

body.fcm-site,
body.fcm-site button,
body.fcm-site input,
body.fcm-site select,
body.fcm-site textarea {
  font-family: var(--fcm-font) !important;
}

/* ヘッダーは紙面トーンのまま（フッターは header-footer.css） */
#header.l-header,
.l-header.fcm-header,
.l-header__inner.fcm-header__inner,
.fcm-header__inner {
  background-color: var(--fcm-color-surface) !important;
}

/* ----- パンくず ----- */
/* SWELL 標準位置（#breadcrumb）を非表示 — タイトル直上の .fcm-pageBreadcrumb を使用 */
#breadcrumb.p-breadcrumb,
#body_wrap > #breadcrumb,
#content > #breadcrumb,
.l-content > #breadcrumb,
.l-mainContent > #breadcrumb,
.l-mainContent__inner > #breadcrumb {
  display: none !important;
}

.fcm-pageBreadcrumb,
.p-breadcrumb.fcm-pageBreadcrumb,
.p-breadcrumb.fcm-pageBreadcrumb.-bg-on,
.fcm-applyPage__breadcrumb {
  display: block !important;
  margin: 0 0 var(--fcm-space-md) !important;
  padding: 0 !important;
  font-family: var(--fcm-font-serif) !important;
  font-weight: 400 !important;
  font-size: 0.8125rem !important;
  line-height: 1.5;
  color: var(--fcm-color-text-muted) !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* SWELL .-bg-on の帯・上下線を完全に消す */
.p-breadcrumb,
.p-breadcrumb.-bg-on,
#breadcrumb.p-breadcrumb,
#breadcrumb.p-breadcrumb.-bg-on {
  margin: 0 0 var(--fcm-space-md) !important;
  padding: 0 !important;
  font-size: 0.8125rem !important;
  line-height: 1.5;
  color: var(--fcm-color-text-muted) !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

.p-breadcrumb::before,
.p-breadcrumb::after,
.p-breadcrumb.-bg-on::before,
.p-breadcrumb.-bg-on::after,
.fcm-pageBreadcrumb::before,
.fcm-pageBreadcrumb::after {
  display: none !important;
  content: none !important;
  border: none !important;
  box-shadow: none !important;
  background: none !important;
}

.p-breadcrumb ol,
.p-breadcrumb ul,
.p-breadcrumb__list,
.p-breadcrumb .l-container {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center;
  gap: 0.35rem 0.5rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: auto !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.p-breadcrumb li,
.p-breadcrumb__item {
  display: inline-flex !important;
  align-items: center;
  margin: 0 !important;
  padding: 0 !important;
  font-size: inherit !important;
  color: inherit !important;
  background: none !important;
}

.p-breadcrumb li:not(:last-child)::after,
.p-breadcrumb__item:not(:last-child)::after {
  content: "/" !important;
  margin-left: 0.5rem;
  opacity: 0.45;
  color: var(--fcm-color-text-muted);
  font-weight: 400;
}

.p-breadcrumb__item.is-current .p-breadcrumb__text,
.p-breadcrumb__item:last-child .p-breadcrumb__text {
  display: inline !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: var(--fcm-color-text) !important;
  font-weight: 600;
}

.p-breadcrumb a,
.p-breadcrumb__link {
  color: var(--fcm-color-primary) !important;
  text-decoration: none !important;
  font-weight: 500;
}

.p-breadcrumb a:hover,
.p-breadcrumb__link:hover {
  text-decoration: underline !important;
  opacity: 1;
}

.p-breadcrumb span,
.p-breadcrumb__text {
  color: var(--fcm-color-text-muted) !important;
}

/* ----- ページネーション（一覧・SWELL 標準） ----- */
.c-pagination,
.p-pagenation,
.wp-pagenavi,
.navigation.pagination {
  margin: var(--fcm-space-lg) 0 0 !important;
  padding: 0 !important;
  text-align: center;
}

.c-pagination ul,
.p-pagenation ul,
.wp-pagenavi {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0.5rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.c-pagination a,
.c-pagination span,
.p-pagenation a,
.p-pagenation span,
.wp-pagenavi a,
.wp-pagenavi span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 2.25rem;
  min-height: 2.25rem;
  padding: 0.35rem 0.75rem !important;
  font-family: var(--fcm-font) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  line-height: 1.3;
  text-decoration: none !important;
  color: var(--fcm-color-primary) !important;
  background: var(--fcm-color-surface) !important;
  border: 2px solid var(--fcm-color-border) !important;
  border-radius: var(--fcm-radius-pill) !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.c-pagination .current,
.c-pagination span.current,
.p-pagenation .current,
.wp-pagenavi .current {
  color: #fff !important;
  background: var(--fcm-color-primary) !important;
  border-color: var(--fcm-color-primary) !important;
}

.c-pagination a:hover,
.p-pagenation a:hover,
.wp-pagenavi a:hover {
  background: var(--fcm-color-primary) !important;
  border-color: var(--fcm-color-primary) !important;
  color: #fff !important;
  opacity: 1;
}
