/* =========================================================================
   SWELL 側のページを新サイトの見た目にする（2026-10-19）
   元：evolany-test.bonp.me/public-cms.css（/news/・記事ページ）
   読み込むのは renew-sub.php の evo_renew_sub_head()（header.php から）。新しい見た目のときだけ読まれる
   ========================================================================= */
/* #body_wrap に evo-renew が付く（renew-sub.php）。ヘッダー・フッターは SWELL のまま */
.evo-renew { --ink: #0d1930; --muted: #56647a; --line: #dfe6f1; --blue: #1462f3; --blue-soft: #edf3ff; --navy: #09152b; --surface: #f5f8fc; background: #fff; }
.evo-renew { overflow-x: clip; }
/* SWELL の本文の器（幅の制限・上下の余白）を外し、帯を画面幅いっぱいに出す */
.evo-renew #content.l-content { max-width: none; width: 100%; margin: 0; padding: 0; }
.evo-renew #content.l-content > .l-mainContent, .evo-renew #content.l-content > main { width: 100%; max-width: none; margin: 0; padding: 0; }

/* 器 */
.evo-container { width: min(1180px, calc(100% - 64px)); margin-inline: auto; }
.evo-renew-content { color: var(--ink); font-family: "Noto Sans JP", system-ui, sans-serif; font-size: 16px; line-height: 1.75; -webkit-font-smoothing: antialiased; }
.evo-renew-content a { text-decoration: none; }
.font-en { font-family: Poppins, sans-serif; }

/* 見出しの帯（一覧・記事） */
.public-article-head, .public-cms-hero { padding: 80px 0 64px; background: linear-gradient(145deg, #f7f9fd 0%, #edf3ff 100%); border-bottom: 1px solid var(--line); color: var(--ink); font-family: "Noto Sans JP", system-ui, sans-serif; }
.public-article-head .evo-container { max-width: 980px; }
.public-back-link { display: inline-block; margin-bottom: 30px; color: var(--muted) !important; font-size: 14px; text-decoration: none !important; }
.public-back-link:hover { color: var(--blue) !important; }
.public-article-head .badge-tag, .public-cms-hero .badge-tag { display: block; margin: 0 0 16px; padding: 0; background: none; border: 0; color: var(--blue); font-size: 13px; font-weight: 600; letter-spacing: .14em; }
.public-article-head h1, .public-cms-hero h1 { max-width: 960px; margin: 0; padding: 0; background: none; border: 0; color: var(--ink); font-size: clamp(34px, 4.3vw, 56px); font-weight: 600; line-height: 1.3; letter-spacing: -.025em; }
.public-article-head h1::before, .public-article-head h1::after, .public-cms-hero h1::before, .public-cms-hero h1::after { content: none; }
.public-article-head time { display: block; margin-top: 22px; color: var(--muted); font-family: Poppins, sans-serif; font-size: 13px; }
.public-article-head .evo-container > p { max-width: 760px; margin: 22px 0 0; color: var(--muted); font-size: 16px; line-height: 1.9; }
.public-cms-hero { text-align: center; }
.public-cms-hero h1 { margin-inline: auto; }
.public-cms-hero p { max-width: 680px; margin: 18px auto 0; color: var(--muted); }

/* 一覧（カード） */
.public-cms-content { padding-top: 72px; padding-bottom: 110px; }
.public-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.public-card { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 10px 30px rgba(22, 42, 77, .06); transition: transform .2s ease, box-shadow .2s ease; }
.public-card:hover { transform: translateY(-3px); box-shadow: 0 16px 38px rgba(22, 42, 77, .11); }
.public-card > a { display: block; height: 100%; color: var(--ink); }
/* アイキャッチは 16:9。切らずに全体を収める（2026-10-19 本人指示） */
.public-card img, .public-card .public-card-noimg { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; background: var(--surface); }
.public-card > a > div { padding: 24px; }
.public-card time { color: var(--muted); font-family: Poppins, sans-serif; font-size: 13px; }
.public-card h2 { margin: 8px 0 12px; padding: 0; background: none; border: 0; color: var(--ink); font-size: 19px; font-weight: 600; line-height: 1.55; }
.public-card h2::before, .public-card h2::after { content: none; }
.public-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.public-card .public-card-more { display: inline-block; margin-top: 14px; color: var(--blue); font-size: 13px; font-weight: 600; }
.public-cms-empty { text-align: center; color: var(--muted); }

/* ページ送り（SWELL の [class*="page-numbers"] の高さ・灰色の背景・ホバーの濃紺を打ち消す。2026-10-19） */
.public-pagination { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; margin-top: 52px; }
.public-pagination .page-numbers { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; height: 42px; min-width: 42px; margin: 0; padding: 0 13px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); font-family: Poppins, sans-serif; font-size: 14px; line-height: 1; text-align: center; transition: border-color .15s, color .15s; }
.public-pagination a.page-numbers:hover { background: #fff; border-color: var(--blue); color: var(--blue); }
.public-pagination .page-numbers.current, .public-pagination .page-numbers.current:hover { background: var(--blue); border-color: var(--blue); color: #fff; }
.public-pagination .page-numbers.dots, .public-pagination .page-numbers.dots:hover { min-width: 0; padding: 0 4px; border: 0; background: none; color: var(--muted); }

/* 記事 */
.public-featured { width: min(1040px, calc(100% - 64px)); margin: 64px auto 0; overflow: hidden; aspect-ratio: 16 / 9; border-radius: 22px; background: var(--surface); box-shadow: 0 22px 60px rgba(22, 42, 77, .12); }
.public-featured img { display: block; width: 100%; height: 100%; object-fit: cover; }
.evo-renew-content .public-body { width: min(820px, calc(100% - 64px)); max-width: 820px; margin-inline: auto; padding-top: 72px; padding-bottom: 110px; color: #26344a; font-size: 16px; line-height: 2; overflow-wrap: anywhere; }
.public-featured + .public-body > figure:first-child, .public-featured + .public-body > .wp-block-image:first-child { display: none; }
.evo-renew-content .public-body > :first-child { margin-top: 0; }
.evo-renew-content .public-body h2 { position: static; margin: 64px 0 22px; padding: 0 0 14px; background: none; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; color: var(--ink); font-size: 28px; font-weight: 600; line-height: 1.45; }
.evo-renew-content .public-body h3 { position: static; margin: 46px 0 16px; padding: 0; background: none; border: 0; color: var(--ink); font-size: 21px; font-weight: 600; line-height: 1.55; }
.evo-renew-content .public-body h4 { position: static; margin: 36px 0 12px; padding: 0; background: none; border: 0; color: var(--ink); font-size: 17px; font-weight: 600; line-height: 1.6; }
.evo-renew-content .public-body h2::before, .evo-renew-content .public-body h2::after,
.evo-renew-content .public-body h3::before, .evo-renew-content .public-body h3::after,
.evo-renew-content .public-body h4::before, .evo-renew-content .public-body h4::after { content: none; display: none; }
.evo-renew-content .public-body p { margin: 0 0 28px; }
.evo-renew-content .public-body ul, .evo-renew-content .public-body ol { margin: 0 0 30px; padding-left: 1.6em; }
.evo-renew-content .public-body li + li { margin-top: 8px; }
.evo-renew-content .public-body a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.evo-renew-content .public-body .swell-block-button a, .evo-renew-content .public-body .wp-block-button a { text-decoration: none; }
.evo-renew-content .public-body figure { margin: 46px 0; }
.evo-renew-content .public-body figure img, .evo-renew-content .public-body > img { height: auto; border-radius: 16px; }
.evo-renew-content .public-body figcaption { margin-top: 10px; color: var(--muted); font-size: 13px; text-align: center; }
.evo-renew-content .public-body blockquote { margin: 38px 0; padding: 24px 28px; color: #36445b; background: var(--blue-soft); border: 0; border-left: 3px solid var(--blue); }
.evo-renew-content .public-body blockquote::before, .evo-renew-content .public-body blockquote::after { content: none; }
.evo-renew-content .public-body iframe { max-width: 100%; border: 0; }
.evo-renew-content .public-body table { font-size: 15px; }

@media (max-width: 960px) {
  .public-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .evo-container { width: calc(100% - 36px); }
  .public-article-head, .public-cms-hero { padding: 50px 0 44px; }
  .public-back-link { margin-bottom: 22px; }
  .public-article-head h1, .public-cms-hero h1 { font-size: 31px; line-height: 1.38; }
  .public-card-grid { grid-template-columns: 1fr; }
  .public-cms-content { padding-top: 46px; padding-bottom: 76px; }
  .public-featured { width: calc(100% - 36px); margin-top: 36px; border-radius: 14px; }
  .evo-renew-content .public-body { width: calc(100% - 36px); padding-top: 46px; padding-bottom: 76px; font-size: 15px; line-height: 1.9; }
  .evo-renew-content .public-body h2 { margin-top: 48px; font-size: 23px; }
  .evo-renew-content .public-body h3 { margin-top: 38px; font-size: 19px; }
}
