/*
Theme Name: SWELL Child
Theme URI: https://swell-theme.com/
Template: swell
Author: LOOS,Inc.
Author URI: https://loos.co.jp/
Description: シンプルなのに高機能。ブロックエディターの使い心地にこだわった国内最高峰のWordPressテーマ
Version: 2.16.0.1788070524
Updated: 2026-08-30 14:38:07

*/



/* 世界ミステリー図鑑 / reconstruction layer
 * Draft-only first pass. Keeps the homepage's embedded editorial shell intact
 * while rebuilding the shared SWELL surfaces around articles and archives.
 */

:root{
  --wm-paper:#f2efe8;
  --wm-paper-soft:#faf8f3;
  --wm-ink:#17221f;
  --wm-ink-soft:#4e5b56;
  --wm-line:#d5d0c5;
  --wm-green:#24483f;
  --wm-red:#8f2d35;
  --wm-brass:#8a7448;
  --wm-dark:#101916;
  --wm-shadow:0 18px 50px rgba(25,31,28,.10);
  --wm-reading:780px;
  --wm-shell:1280px;
  --wm-white:#fff;
  --wm-footer-text:#e9e6dd;
  --wm-body-ink:#27322e;
  --wm-caption:#68726d;
  --wm-meta-secondary:#727b76;
  --wm-submenu-text:#f7f3e9;
  --wm-paper-tint:#e8e2d5;
}

#body_wrap:not(.home){
  background:var(--wm-paper)!important;
  color:var(--wm-ink);
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  line-height:1.9;
}

#body_wrap:not(.home) .l-header{
  background:rgba(247,244,237,.96)!important;
  border-bottom:1px solid rgba(23,34,31,.14)!important;
  box-shadow:none!important;
  color:var(--wm-ink)!important;
  backdrop-filter:blur(12px);
}
#body_wrap:not(.home) .l-header__bar{display:none!important;}
#body_wrap:not(.home) .l-header__inner{min-height:70px;}
#body_wrap:not(.home) .c-headLogo__link{
  color:var(--wm-ink)!important;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight:800;
  letter-spacing:.035em;
}
#body_wrap:not(.home) .c-gnav>.menu-item>a{
  color:var(--wm-ink)!important;
  font-size:15px;
  font-weight:700;
  letter-spacing:.045em;
}
#body_wrap:not(.home) .c-gnav>.menu-item>a:after{background:var(--wm-red)!important;}
#body_wrap:not(.home) .sub-menu{
  background:var(--wm-dark)!important;
  border:0!important;
  box-shadow:var(--wm-shadow)!important;
}
#body_wrap:not(.home) .sub-menu a{color:var(--wm-submenu-text)!important;}
#body_wrap:not(.home) .l-fixHeader{
  background:rgba(247,244,237,.97)!important;
  border-bottom:1px solid rgba(23,34,31,.13)!important;
  box-shadow:0 8px 28px rgba(20,28,24,.06)!important;
}
#body_wrap:not(.home) .l-header__spNav{display:none!important;}

#body_wrap:not(.home) .l-content{
  width:min(var(--wm-shell),calc(100% - 48px));
  max-width:none!important;
  margin-inline:auto;
  padding-top:clamp(34px,5vw,74px)!important;
}
#body_wrap:not(.home) .l-mainContent{
  width:100%!important;
  max-width:none!important;
}
#body_wrap:not(.home) .l-mainContent__inner{max-width:none!important;}
#body_wrap:not(.home) .l-sidebar,
#body_wrap:not(.home) #sidebar{display:none!important;}

#body_wrap:not(.home) .c-pageTitle{
  margin:0 0 clamp(28px,4vw,52px)!important;
  padding:0 0 20px!important;
  border:0!important;
  border-bottom:1px solid var(--wm-line)!important;
  background:none!important;
  color:var(--wm-ink)!important;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(32px,4.5vw,58px)!important;
  line-height:1.25!important;
  letter-spacing:.01em;
}
#body_wrap:not(.home) .c-pageTitle:before,
#body_wrap:not(.home) .c-pageTitle:after{display:none!important;}
#body_wrap:not(.home) .c-pageTitle__subTitle{display:none!important;}

/* Archive / category / search: editorial discovery grid */
#body_wrap.category .p-termContent,
#body_wrap.search .p-searchContent,
#body_wrap.archive .p-termContent{margin-top:0!important;}
#body_wrap.category .p-postList.-type-card,
#body_wrap.search .p-postList,
#body_wrap.archive .p-postList.-type-card{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(22px,2.4vw,38px)!important;
}
#body_wrap.category .p-postList.-type-card>.p-postList__item,
#body_wrap.search .p-postList>.p-postList__item,
#body_wrap.archive .p-postList.-type-card>.p-postList__item{
  width:auto!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
#body_wrap.category .p-postList.-type-card>.p-postList__item:first-child,
#body_wrap.archive .p-postList.-type-card>.p-postList__item:first-child{
  grid-column:span 2;
}
#body_wrap.category .p-postList__link,
#body_wrap.search .p-postList__link,
#body_wrap.archive .p-postList__link{
  height:100%;
  display:flex!important;
  flex-direction:column;
  background:var(--wm-paper-soft)!important;
  border:1px solid rgba(23,34,31,.12)!important;
  border-radius:2px!important;
  overflow:hidden;
  box-shadow:none!important;
  text-decoration:none!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
#body_wrap.category .p-postList__link:hover,
#body_wrap.search .p-postList__link:hover,
#body_wrap.archive .p-postList__link:hover{
  transform:translateY(-3px);
  border-color:rgba(143,45,53,.30)!important;
  box-shadow:var(--wm-shadow)!important;
}
#body_wrap.category .p-postList__thumb,
#body_wrap.search .p-postList__thumb,
#body_wrap.archive .p-postList__thumb{margin:0!important;}
#body_wrap.category .c-postThumb__figure,
#body_wrap.search .c-postThumb__figure,
#body_wrap.archive .c-postThumb__figure{aspect-ratio:16/10!important;overflow:hidden;}
#body_wrap.category .c-postThumb__img,
#body_wrap.search .c-postThumb__img,
#body_wrap.archive .c-postThumb__img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transition:transform .5s ease;
}
#body_wrap.category .p-postList__link:hover .c-postThumb__img,
#body_wrap.search .p-postList__link:hover .c-postThumb__img,
#body_wrap.archive .p-postList__link:hover .c-postThumb__img{transform:scale(1.025);}
#body_wrap.category .p-postList__body,
#body_wrap.search .p-postList__body,
#body_wrap.archive .p-postList__body{
  padding:18px 18px 20px!important;
  flex:1;
  display:flex;
  flex-direction:column;
}
#body_wrap.category .p-postList__title,
#body_wrap.search .p-postList__title,
#body_wrap.archive .p-postList__title{
  color:var(--wm-ink)!important;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(18px,1.55vw,24px)!important;
  font-weight:750!important;
  line-height:1.55!important;
  letter-spacing:0!important;
}
#body_wrap.category .p-postList>.p-postList__item:first-child .p-postList__title,
#body_wrap.archive .p-postList>.p-postList__item:first-child .p-postList__title{
  font-size:clamp(23px,2.2vw,34px)!important;
}
#body_wrap.category .p-postList__meta,
#body_wrap.search .p-postList__meta,
#body_wrap.archive .p-postList__meta{
  margin-top:auto!important;
  padding-top:14px!important;
  color:var(--wm-ink-soft)!important;
  font-size:15px!important;
}
#body_wrap.category .c-postThumb__cat,
#body_wrap.search .c-postThumb__cat,
#body_wrap.archive .c-postThumb__cat{
  left:12px!important;
  bottom:12px!important;
  background:rgba(16,25,22,.88)!important;
  color:var(--wm-white)!important;
  border:1px solid rgba(255,255,255,.15)!important;
  border-radius:999px!important;
  padding:5px 10px!important;
  font-size:15px!important;
  letter-spacing:.04em;
}

/* Shared article chrome. Article-specific legacy fragments stay intact for now. */
#body_wrap.single-post .p-articleHead{
  max-width:var(--wm-reading);
  margin:0 auto 12px!important;
  padding:0!important;
  text-align:left!important;
}
#body_wrap.single-post .c-postTitle__ttl{
  color:var(--wm-ink)!important;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif!important;
  font-size:clamp(32px,4.8vw,60px)!important;
  font-weight:800!important;
  line-height:1.3!important;
  letter-spacing:.01em!important;
}
#body_wrap.single-post .p-articleMetas.-top{
  max-width:var(--wm-reading);
  margin:0 auto clamp(28px,4vw,52px)!important;
  color:var(--wm-ink-soft)!important;
  border-bottom:1px solid var(--wm-line);
  padding-bottom:16px;
}
#body_wrap.single-post .c-categoryList__link{
  background:var(--wm-green)!important;
  color:var(--wm-white)!important;
  border-radius:999px!important;
  padding:5px 11px!important;
  font-size:15px!important;
}
#body_wrap.single-post .post_content:not(:has(h1)){
  max-width:var(--wm-reading);
  margin-inline:auto;
  color:var(--wm-body-ink);
  font-size:clamp(17px,1.25vw,19px);
  line-height:2.05;
}
#body_wrap.single-post .post_content:not(:has(h1)) h2{
  margin:2.4em 0 .9em!important;
  padding:0 0 .55em!important;
  background:none!important;
  border:0!important;
  border-bottom:2px solid var(--wm-ink)!important;
  color:var(--wm-ink)!important;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif!important;
  font-size:clamp(26px,2.8vw,38px)!important;
  line-height:1.45!important;
}
#body_wrap.single-post .post_content:not(:has(h1)) h2:before,
#body_wrap.single-post .post_content:not(:has(h1)) h2:after{display:none!important;}
#body_wrap.single-post .post_content:not(:has(h1)) h3{
  margin:2em 0 .7em!important;
  color:var(--wm-red)!important;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif!important;
  font-size:clamp(22px,2.2vw,30px)!important;
}
#body_wrap.single-post .post_content:not(:has(h1)) img{
  border-radius:2px;
}
#body_wrap.single-post .post_content figcaption{
  color:var(--wm-caption)!important;
  font-size:15px!important;
  line-height:1.7!important;
}

/* If an article already carries a complete editorial fragment, suppress SWELL's visual duplicate heading/meta.
   The legacy H1 remains in markup for now; semantic cleanup happens during article migration. */
#body_wrap.single-post:has(.post_content h1) .p-articleHead,
#body_wrap.single-post:has(.post_content h1) .p-articleMetas.-top{
  display:none!important;
}
#body_wrap.single-post:has(.post_content h1) .l-content{
  width:100%!important;
  padding-top:0!important;
}
#body_wrap.single-post:has(.post_content h1) .l-mainContent,
#body_wrap.single-post:has(.post_content h1) .l-mainContent__inner{
  max-width:none!important;
  width:100%!important;
}

/* Search / 404 become part of the same editorial shell. */
#body_wrap.search .c-searchForm,
#body_wrap.error404 .c-searchForm{
  max-width:760px;
  margin:24px auto;
  background:var(--wm-paper-soft);
  border:1px solid var(--wm-line);
  border-radius:2px;
  padding:10px;
}
#body_wrap.error404 .page_404{
  max-width:820px;
  margin:0 auto;
  text-align:center;
  padding:clamp(50px,8vw,110px) 0;
}
#body_wrap.error404 .page_404__ttl,
#body_wrap.error404 h1{
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif!important;
  color:var(--wm-ink)!important;
}

#body_wrap:not(.home) .l-footer{
  margin-top:clamp(70px,9vw,130px)!important;
  background:var(--wm-dark)!important;
  color:var(--wm-footer-text)!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
}
#body_wrap:not(.home) .l-footer a{color:var(--wm-footer-text)!important;}
#body_wrap:not(.home) .l-footer .c-widget__title{color:var(--wm-white)!important;}

@media(max-width:959px){
  #body_wrap:not(.home) .l-content{width:min(100% - 28px,var(--wm-shell));padding-top:32px!important;}
  #body_wrap.category .p-postList.-type-card,
  #body_wrap.search .p-postList,
  #body_wrap.archive .p-postList.-type-card{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;}
  #body_wrap.category .p-postList.-type-card>.p-postList__item:first-child,
  #body_wrap.archive .p-postList.-type-card>.p-postList__item:first-child{grid-column:span 2;}
  #body_wrap:not(.home) .l-header__inner{min-height:60px;}
}

@media(max-width:620px){
  #body_wrap:not(.home) .l-content{width:calc(100% - 24px);}
  #body_wrap.category .p-postList.-type-card,
  #body_wrap.search .p-postList,
  #body_wrap.archive .p-postList.-type-card{grid-template-columns:1fr!important;gap:20px!important;}
  #body_wrap.category .p-postList.-type-card>.p-postList__item:first-child,
  #body_wrap.archive .p-postList.-type-card>.p-postList__item:first-child{grid-column:auto;}
  #body_wrap.category .p-postList__title,
  #body_wrap.search .p-postList__title,
  #body_wrap.archive .p-postList__title{font-size:20px!important;}
  #body_wrap.category .p-postList>.p-postList__item:first-child .p-postList__title,
  #body_wrap.archive .p-postList>.p-postList__item:first-child .p-postList__title{font-size:23px!important;}
  #body_wrap.single-post .c-postTitle__ttl{font-size:clamp(30px,9vw,44px)!important;}
  #body_wrap.single-post .post_content:not(:has([class*="-fragment"])){font-size:17px;line-height:1.95;}
}

/* Editorial discovery headers: category / search / 404 */
.wm-discoveryPage{width:100%!important;}
.wm-discoveryHero{
  position:relative;
  margin:0 0 clamp(34px,5vw,68px);
  padding:clamp(30px,4.8vw,64px) 0 clamp(28px,4vw,50px);
  border-bottom:1px solid var(--wm-line);
}
.wm-discoveryHero:before{
  content:"";
  position:absolute;
  left:0;top:0;
  width:54px;height:3px;
  background:var(--wm-red);
}
.wm-discoveryHero__kicker{
  margin:0 0 13px;
  color:var(--wm-red);
  font-size:15px;
  font-weight:800;
  letter-spacing:.14em;
}
.wm-discoveryHero__title{
  max-width:1000px;
  margin:0;
  color:var(--wm-ink);
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(38px,5.5vw,72px);
  font-weight:800;
  line-height:1.2;
  letter-spacing:.005em;
}
.wm-discoveryHero__lead{
  max-width:760px;
  margin:20px 0 0;
  color:var(--wm-ink-soft);
  font-size:clamp(16px,1.35vw,19px);
  line-height:1.9;
}
.wm-discoveryHero__lead p{margin:0 0 .65em;}
.wm-discoveryHero__lead p:last-child{margin-bottom:0;}
.wm-discoveryHero__count{
  margin:17px 0 0;
  color:var(--wm-meta-secondary);
  font-size:15px;
  font-weight:700;
  letter-spacing:.05em;
}
.wm-discoveryContent{margin-top:0!important;}
.wm-searchHero__form{max-width:760px;margin-top:28px;}
.wm-searchHero__form .c-searchForm{margin:0!important;max-width:none!important;}
.wm-emptyState{
  max-width:760px;
  margin:30px 0;
  padding:26px 28px;
  background:var(--wm-paper-soft);
  border-left:4px solid var(--wm-green);
  color:var(--wm-ink-soft);
  line-height:1.9;
}
.wm-emptyState p{margin:.2em 0 .7em;}

.wm-notFound{
  max-width:900px;
  margin:0 auto;
  padding:clamp(70px,10vw,150px) 0 clamp(50px,8vw,110px);
}
.wm-notFound__title{
  max-width:800px;
  margin:0;
  color:var(--wm-ink)!important;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif!important;
  font-size:clamp(38px,6vw,76px)!important;
  font-weight:800!important;
  line-height:1.25!important;
  letter-spacing:.005em;
}
.wm-notFound__lead{
  max-width:660px;
  margin:24px 0 0;
  color:var(--wm-ink-soft);
  font-size:clamp(16px,1.5vw,19px);
  line-height:1.9;
}
.wm-notFound__search{max-width:660px;margin-top:30px;}
.wm-notFound__search .c-searchForm{margin:0!important;max-width:none!important;}
.wm-notFound__links{
  display:flex;
  flex-wrap:wrap;
  gap:10px 12px;
  margin-top:26px;
}
.wm-notFound__links a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:8px 15px;
  border:1px solid var(--wm-line);
  background:var(--wm-paper-soft);
  color:var(--wm-ink)!important;
  text-decoration:none!important;
  font-size:15px;
  font-weight:700;
}
.wm-notFound__links a:hover{border-color:var(--wm-red);color:var(--wm-red)!important;}

@media(max-width:620px){
  .wm-discoveryHero{padding-top:28px;}
  .wm-discoveryHero__title{font-size:clamp(34px,11vw,50px);}
  .wm-notFound{padding-top:58px;}
  .wm-notFound__links{display:grid;grid-template-columns:1fr;}
  .wm-notFound__links a{justify-content:center;}
}

/* Author box, table, breadcrumb, share button, pagetop: consolidated from
   the legacy "Codex site polish CSS" snippet (2026-06-02) so this stylesheet
   becomes the single source of truth for these components. Font sizes raised
   to meet the 15px/18px project minimums (legacy snippet used 11px/14px). */
#body_wrap:not(.home) .c-shareBtns.-fix{display:none!important;}

#body_wrap:not(.home) .p-breadcrumb,
#body_wrap:not(.home) .p-breadcrumb a{
  color:var(--wm-ink-soft)!important;
  font-size:15px!important;
}

#body_wrap.single-post .post_content table{
  max-width:100%;
  border-collapse:collapse;
}
#body_wrap.single-post .post_content th,
#body_wrap.single-post .post_content td{
  border-color:var(--wm-line)!important;
  font-size:16px!important;
}
#body_wrap.single-post .post_content th{
  color:var(--wm-ink)!important;
  background:var(--wm-paper-soft)!important;
  font-size:15px!important;
}

#body_wrap.single-post .l-articleBottom__section.-author{margin-top:72px!important;}
#body_wrap.single-post .l-articleBottom__section.-author>.l-articleBottom__title{
  margin-bottom:18px!important;
  color:var(--wm-ink)!important;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif!important;
  font-size:24px!important;
}
#body_wrap.single-post .p-authorBox{
  display:grid!important;
  grid-template-columns:132px minmax(0,1fr)!important;
  gap:30px!important;
  align-items:center!important;
  margin:0!important;
  padding:28px 0!important;
  border:0!important;
  border-top:2px solid var(--wm-ink)!important;
  border-bottom:1px solid var(--wm-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#body_wrap.single-post .p-authorBox__l,
#body_wrap.single-post .p-authorBox__r{
  width:auto!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}
#body_wrap.single-post .p-authorBox__l .avatar{
  width:132px!important;
  height:132px!important;
  margin:0 0 12px!important;
  border:0!important;
  border-radius:0!important;
  object-fit:cover!important;
  content:url("https://worldmysteriesencyclopedia.com/wp-content/uploads/2026/07/wm-home-editor-research-desk.webp")!important;
}
#body_wrap.single-post .p-authorBox__name{
  display:block!important;
  color:var(--wm-ink)!important;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif!important;
  font-size:17px!important;
  font-weight:700!important;
  line-height:1.6!important;
}
#body_wrap.single-post .p-authorBox__desc{
  margin:0!important;
  color:var(--wm-ink-soft)!important;
  font-size:18px!important;
  line-height:1.9!important;
}

#body_wrap:not(.home) #pagetop{
  border-radius:0!important;
  color:var(--wm-white)!important;
  background:var(--wm-dark)!important;
  box-shadow:none!important;
}

@media(max-width:780px){
  #body_wrap.single-post .p-authorBox{
    grid-template-columns:92px minmax(0,1fr)!important;
    gap:18px!important;
    padding:22px 0!important;
  }
  #body_wrap.single-post .p-authorBox__l .avatar{width:92px!important;height:92px!important;}
  #body_wrap.single-post .p-authorBox__name{font-size:15px!important;}
  #body_wrap.single-post .p-authorBox__desc{font-size:18px!important;line-height:1.8!important;}
}


/* ------------------------------------------------------------------
   Legibility guards (2026-08-30)
   SWELL puts body_class() output on #body_wrap, not the body element. Every rule
   above is scoped to #body_wrap accordingly. The blocks below repair the
   two readability faults this exposed: cream-on-white text left over from
   the site's old dark-theme era, and sub-15px type from theme defaults.
   ------------------------------------------------------------------ */

/* Table of contents: was cream text (#e9e1cf) on a white panel. */
#body_wrap .p-toc{
  background:var(--wm-paper-soft)!important;
  border:1px solid var(--wm-line)!important;
  border-radius:2px!important;
}
#body_wrap .p-toc__ttl,
#body_wrap .p-toc__link,
#body_wrap .p-toc a,
#body_wrap .p-toc li{
  color:var(--wm-ink)!important;
}
#body_wrap .p-toc__link:hover{color:var(--wm-red)!important;}
#body_wrap .p-toc__ttl{font-size:18px!important;}
#body_wrap .p-toc__link{font-size:16px!important;}

/* Minimum type sizes for SWELL's own small components. */
#body_wrap .c-postTimes,
#body_wrap .c-postTimes__posted,
#body_wrap .c-postTimes__modified,
#body_wrap .p-postList__times{font-size:15px!important;}
#body_wrap .p-pnLinks__title{font-size:16px!important;}
#body_wrap .p-pnLinks__label{font-size:15px!important;}
#body_wrap .c-categoryList__link,
#body_wrap .c-postThumb__cat{font-size:15px!important;}
#body_wrap .p-postList__title{font-size:18px!important;}
#body_wrap figcaption,
#body_wrap .wp-element-caption{font-size:15px!important;line-height:1.75!important;}
#body_wrap .c-copyedPoppup{font-size:15px!important;}
#body_wrap .ad-label{font-size:15px!important;}
#body_wrap .l-footer,
#body_wrap .l-footer a,
#body_wrap .c-widget li{font-size:16px!important;}


/* Nav labels and breadcrumb text: SWELL sizes the inner span, not the link. */
#body_wrap .c-gnav .ttl,
#body_wrap .sub-menu .ttl{font-size:15px!important;}
#body_wrap .p-breadcrumb__text{font-size:15px!important;}


/* Missing featured images: SWELL falls back to a dark no_img.png graphic,
   which reads as a black blob in the card grid. Show a quiet paper panel
   with a small mark instead. Setting a real featured image on the article
   always takes priority over this fallback. */
#body_wrap .c-postThumb__img[src*="no_img"],
#body_wrap .p-postList__thumb img[src*="no_img"]{display:none!important;}
#body_wrap .c-postThumb__figure:has(img[src*="no_img"]),
#body_wrap .p-postList__thumb:has(img[src*="no_img"]){
  position:relative;
  background:linear-gradient(135deg,var(--wm-paper-soft) 0%,var(--wm-paper-tint) 100%)!important;
  border-bottom:1px solid var(--wm-line)!important;
}
#body_wrap .c-postThumb__figure:has(img[src*="no_img"])::after,
#body_wrap .p-postList__thumb:has(img[src*="no_img"])::after{
  content:"\25C8";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--wm-brass);
  font-size:34px;
  opacity:.42;
}


/* Category badge on card thumbnails.
   SWELL pins this badge with top:0;right:0. Setting only left/bottom left all
   four edges pinned, so the badge stretched to fill the whole thumbnail and
   rendered as a large dark rounded block. Release top/right so it sizes to
   its own text again. */
#body_wrap .c-postThumb__cat,
#body_wrap .p-postList__cat{
  top:auto!important;
  right:auto!important;
  left:12px!important;
  bottom:12px!important;
  width:auto!important;
  height:auto!important;
  max-width:calc(100% - 24px)!important;
  line-height:1.5!important;
}

/* Article fragment labels.
   Published articles carry their own embedded CSS that sizes eyebrows,
   photo credits, hero meta rows and signboards at 11-14px. Enforce the
   project 15px floor from the theme so every article complies without
   editing any article HTML. */
#body_wrap .post_content .eyebrow,
#body_wrap .post_content .overview-ey,
#body_wrap .post_content .hero-credit,
#body_wrap .post_content .hero-credit a,
#body_wrap .post_content .hero-meta,
#body_wrap .post_content .hero-meta span,
#body_wrap .post_content .signboard,
#body_wrap .post_content .signboard p,
#body_wrap .post_content [class*="eyebrow"],
#body_wrap .post_content [class*="kicker"],
#body_wrap .post_content [class*="credit"],
#body_wrap .post_content [class*="caption"],
#body_wrap .post_content [class*="photo-source"],
#body_wrap .post_content small{font-size:15px!important;}
#body_wrap .p-toc__expandBtn{font-size:15px!important;}

/* Broader sweep of decorative label classes used across article fragments. */
#body_wrap .post_content [class*="tag"],
#body_wrap .post_content [class*="kick"],
#body_wrap .post_content [class*="label"],
#body_wrap .post_content [class*="note"],
#body_wrap .post_content [class*="badge"],
#body_wrap .post_content [class*="chip"],
#body_wrap .post_content [class*="-ey"],
#body_wrap .post_content [class*="source"],
#body_wrap .post_content cite,
#body_wrap .post_content figcaption,
#body_wrap .post_content figcaption *{font-size:15px!important;}

/* Form labels (comment form, search) still sat at 14px. */
#body_wrap form label,
#body_wrap .comment-form label,
#body_wrap .p-toc__ttl,
#body_wrap .c-searchForm label{font-size:15px!important;}


/* ------------------------------------------------------------------
   Neutralise the legacy black-background CSS still held in the
   Customizer's Additional CSS panel (a leftover from the old dark
   theme). It is injected inline in wp_head, so it needs a selector
   heavier than plain `body` to be overridden from here. Deleting that
   panel entry remains the proper cleanup step.
   ------------------------------------------------------------------ */
html body{background:var(--wm-paper)!important;}
html body .l-contents{background:transparent!important;}
html #body_wrap:not(.home) .p-postCard{
  background:var(--wm-paper-soft)!important;
  border:1px solid var(--wm-line)!important;
}
html #body_wrap:not(.home) .p-postCard__title{color:var(--wm-ink)!important;}
html #body_wrap:not(.home) .p-postCard__excerpt{color:var(--wm-ink-soft)!important;}
