/*
Theme Name: NOMADIT
Theme URI: https://nomadit.jp/
Author: NOMADIT
Author URI: https://nomadit.jp/
Description: ガジェットレビューブログ NOMADIT 専用テーマ。クリーン・エディトリアル方向（白基調・広い余白・スリムな追従ヘッダー・差し色はアンバー1点）。記事の見出し・本文タイポ、商品リンク（もしもかんたんリンク）、広告枠、目次自動生成までテーマ側で完結します。
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nomadit
Tags: blog, custom-logo, custom-menu, featured-images, two-columns, right-sidebar, translation-ready, threaded-comments
*/

/* =========================================================
   NOMADIT THEME — Design Tokens
   ========================================================= */
:root{
  --ink:#19232F;          /* 見出し・主要テキスト */
  --body:#2C3540;         /* 本文 */
  --sub:#5A6473;          /* サブ */
  --sub2:#3F4854;         /* ナビ・ラベル */
  --muted:#7A828F;
  --muted2:#9099A6;
  --muted3:#9CA4AF;
  --line:#ECEEF1;         /* 標準ボーダー */
  --line2:#E7EAEE;
  --line3:#E4E7EC;
  --line-input:#DCE0E6;
  --tint:#F4F5F7;
  --tint2:#F7F8FA;
  --tint3:#FAFBFC;
  --navy:#19232F;
  --navy-grad:linear-gradient(135deg,#22426B,#16273E);
  --amber:#E0852A;
  --img-ph:linear-gradient(135deg,#EBEEF2,#DFE4EA);

  --good-bg:#F4F8F5; --good-bd:#DCEBE0; --good-fg:#2E7D52;
  --bad-bg:#FBF6F2;  --bad-bd:#F0E2D6;  --bad-fg:#C0712A;

  --amazon:#FF9900; --rakuten:#BF0000; --yahoo:#FF0033;

  --maxw:1120px;          /* コンテンツ最大幅 */
  --readw:760px;          /* 記事本文カラム幅 */

  --font-display:'Jost',sans-serif;
  --font-head:'Zen Kaku Gothic New','Noto Sans JP',sans-serif;
  --font-body:'Noto Sans JP',sans-serif;
  --font-mono:'JetBrains Mono',monospace;
}

/* =========================================================
   Reset / Base
   ========================================================= */
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:#fff;
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;}
::selection{background:#F2DCC0;}
.nm-wrap{max-width:var(--maxw);margin:0 auto;padding-left:32px;padding-right:32px;}
.screen-reader-text{position:absolute !important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:#fff;color:var(--ink);padding:10px 18px;border-radius:0 0 10px 0;}
.skip-link:focus{left:0;}

/* =========================================================
   Sticky slim header
   ========================================================= */
.nm-header{
  position:sticky;top:0;z-index:50;height:64px;
  background:rgba(255,255,255,.86);
  backdrop-filter:saturate(160%) blur(12px);
  -webkit-backdrop-filter:saturate(160%) blur(12px);
  border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
}
.nm-header__inner{
  width:100%;max-width:var(--maxw);padding:0 32px;
  display:flex;align-items:center;justify-content:space-between;
}
.nm-brand{display:flex;align-items:center;gap:9px;text-decoration:none;}
.nm-brand__mark{
  font-family:var(--font-display);font-weight:300;font-size:21px;
  letter-spacing:.32em;color:var(--ink);line-height:1;white-space:nowrap;
}
.nm-brand__dot{width:6px;height:6px;border-radius:50%;background:var(--amber);margin-bottom:-9px;flex-shrink:0;}
.nm-brand img{height:24px;width:auto;}

.nm-nav{
  display:flex;align-items:center;gap:30px;
  font-family:var(--font-head);font-weight:500;font-size:14px;color:var(--sub2);
}
.nm-nav ul{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0;}
.nm-nav a{color:var(--sub2);text-decoration:none;transition:color .15s ease;padding-bottom:4px;border-bottom:2px solid transparent;}
.nm-nav a:hover{color:var(--amber);}
.nm-nav .current-menu-item>a,
.nm-nav .current-cat>a,
.nm-nav .current-menu-parent>a{color:var(--ink);font-weight:700;border-bottom-color:var(--amber);}

.nm-search-btn{
  width:32px;height:32px;border-radius:50%;border:1px solid var(--line3);
  display:flex;align-items:center;justify-content:center;background:#fff;cursor:pointer;
  transition:border-color .15s ease;
}
.nm-search-btn:hover{border-color:var(--amber);}

.nm-navtoggle{
  display:none;width:40px;height:40px;border:1px solid var(--line3);border-radius:10px;
  background:#fff;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0;
}
.nm-navtoggle span{width:18px;height:2px;background:var(--ink);display:block;border-radius:2px;transition:transform .2s ease,opacity .2s ease;}

.nm-mobile{
  position:fixed;top:64px;left:0;right:0;z-index:49;background:#fff;
  border-bottom:1px solid var(--line);flex-direction:column;padding:6px 0;
  box-shadow:0 18px 30px -22px rgba(25,35,47,.4);display:none;
}
.nm-mobile.is-open{display:flex;}
.nm-mobile ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.nm-mobile a{
  padding:14px 32px;font-family:var(--font-head);font-weight:500;font-size:15px;
  color:var(--sub2);text-decoration:none;border-bottom:1px solid #F2F4F6;
}
.nm-mobile li:last-child a{border-bottom:none;}
.nm-mobile .current-menu-item>a,.nm-mobile .current-cat>a{color:var(--amber);font-weight:700;}

/* Header search panel (toggled) */
.nm-search-panel{display:none;border-bottom:1px solid var(--line);background:#fff;}
.nm-search-panel.is-open{display:block;}
.nm-search-panel .nm-wrap{padding-top:16px;padding-bottom:16px;}

/* =========================================================
   Search form (shared)
   ========================================================= */
.nm-searchform{display:flex;align-items:center;gap:12px;border:1px solid var(--line-input);border-radius:12px;padding:13px 18px;background:#fff;}
.nm-searchform svg{flex-shrink:0;}
.nm-searchform input[type=search]{
  flex:1;border:none;outline:none;background:transparent;font-family:var(--font-head);
  font-size:15px;color:var(--ink);min-width:0;
}
.nm-searchform input::placeholder{color:#AEB6C0;}
.nm-searchform button{border:none;background:transparent;cursor:pointer;padding:0;color:var(--amber);font-family:var(--font-head);font-weight:700;font-size:13px;}

/* =========================================================
   Section heading (top page / generic)
   ========================================================= */
.nm-sechead{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:32px;}
.nm-sechead h2{font-family:var(--font-head);font-weight:900;font-size:24px;color:var(--ink);margin:0;}
.nm-sechead .nm-more{font-family:var(--font-head);font-weight:500;font-size:13px;color:var(--muted);text-decoration:none;}
.nm-sechead .nm-more:hover{color:var(--amber);}

/* =========================================================
   Article card (grid)
   ========================================================= */
.nm-card{text-decoration:none;display:block;}
.nm-card__thumb{height:170px;border-radius:13px;background:var(--img-ph);position:relative;margin-bottom:15px;overflow:hidden;}
.nm-card__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.nm-card:hover .nm-card__thumb img{transform:scale(1.04);}
.nm-card__cat{font-family:var(--font-head);font-weight:700;font-size:11px;color:var(--amber);margin-bottom:9px;}
.nm-card__title{font-family:var(--font-head);font-weight:700;font-size:16px;line-height:1.6;color:var(--ink);margin:0 0 11px;transition:color .15s ease;}
.nm-card:hover .nm-card__title{color:var(--amber);}
.nm-card__date{font-family:var(--font-mono);font-size:10.5px;color:var(--muted2);}

.nm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 26px;}

/* =========================================================
   Pagination
   ========================================================= */
.nm-pagination{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;}
.nm-pagination .page-numbers{
  min-width:38px;height:38px;padding:0 6px;border-radius:9px;border:1px solid var(--line3);
  display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:15px;
  color:var(--sub2);text-decoration:none;transition:border-color .15s ease,color .15s ease;
}
.nm-pagination a.page-numbers:hover{border-color:var(--amber);color:var(--amber);}
.nm-pagination .page-numbers.current{background:var(--navy);color:#fff;border-color:var(--navy);}
.nm-pagination .page-numbers.dots{border:none;color:var(--muted2);}
.nm-pagination .next,.nm-pagination .prev{color:var(--sub);}

/* =========================================================
   Footer (navy)
   ========================================================= */
.nm-footer{background:var(--navy);margin-top:64px;}
.nm-footer__main{
  max-width:var(--maxw);margin:0 auto;padding:46px 32px;
  display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:24px;
}
.nm-footer__mark{font-family:var(--font-display);font-weight:300;font-size:19px;letter-spacing:.32em;color:#fff;margin-bottom:10px;}
.nm-footer__mark img{height:22px;width:auto;}
.nm-footer__tag{font-family:var(--font-head);font-size:11px;color:rgba(255,255,255,.45);letter-spacing:.08em;}
.nm-footer__cols{display:flex;gap:48px;flex-wrap:wrap;}
.nm-footer__col{display:flex;flex-direction:column;gap:12px;font-family:var(--font-head);font-size:13px;}
.nm-footer__col .nm-collabel{font-family:var(--font-mono);font-size:10.5px;color:rgba(255,255,255,.38);letter-spacing:.16em;margin-bottom:2px;}
.nm-footer__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.nm-footer__col a{color:rgba(255,255,255,.62);text-decoration:none;transition:color .15s ease;}
.nm-footer__col a:hover{color:#fff;}
.nm-footer__bottom{border-top:1px solid rgba(255,255,255,.1);}
.nm-footer__bottom .nm-wrap{padding-top:18px;padding-bottom:18px;font-family:var(--font-mono);font-size:11px;color:rgba(255,255,255,.4);}

/* =========================================================
   Entry content typography (authored Gutenberg posts)
   — これが「普通に書いた記事」をデザイン通りに見せる中核
   ========================================================= */
.entry-content{font-size:16.5px;line-height:2.15;color:var(--body);}
.entry-content > *:first-child{margin-top:0;}
.entry-content p{margin:0 0 28px;line-height:2.15;color:var(--body);}
.entry-content a{color:var(--amber);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;}
.entry-content a:hover{text-decoration-thickness:2px;}
.entry-content strong,.entry-content b{font-weight:700;color:var(--ink);}

.entry-content h2{
  font-family:var(--font-head);font-weight:900;font-size:24px;line-height:1.5;color:var(--ink);
  margin:52px 0 20px;padding-left:16px;border-left:4px solid var(--amber);scroll-margin-top:84px;
}
.entry-content h3{font-family:var(--font-head);font-weight:700;font-size:19px;line-height:1.55;color:var(--ink);margin:40px 0 16px;scroll-margin-top:84px;}
.entry-content h4{font-family:var(--font-head);font-weight:700;font-size:16px;line-height:1.6;color:var(--ink);margin:32px 0 14px;}

.entry-content ul,.entry-content ol{margin:0 0 30px;padding-left:0;}
.entry-content ul{list-style:none;}
.entry-content ul li{position:relative;padding-left:24px;margin:0 0 13px;font-size:16px;line-height:1.85;color:var(--body);}
.entry-content ul li::before{content:"";position:absolute;left:2px;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--amber);}
.entry-content ol{list-style:none;counter-reset:nmol;}
.entry-content ol li{position:relative;padding-left:30px;margin:0 0 13px;font-size:16px;line-height:1.85;color:var(--body);counter-increment:nmol;}
.entry-content ol li::before{content:counter(nmol);position:absolute;left:0;top:.1em;font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--amber);}
.entry-content li > ul,.entry-content li > ol{margin:13px 0 0;}

.entry-content img,.entry-content .wp-block-image img{border-radius:14px;}
.entry-content figure{margin:0 0 30px;}
.entry-content figure.wp-block-image{margin:0 0 30px;}
.entry-content figcaption{font-family:var(--font-head);font-size:12.5px;color:var(--muted);text-align:center;margin-top:10px;}

.entry-content blockquote{
  margin:0 0 30px;padding:6px 0 6px 24px;border-left:3px solid var(--line3);
  color:var(--sub);font-size:16px;line-height:2;
}
.entry-content blockquote p:last-child{margin-bottom:0;}
.entry-content code,.entry-content kbd{font-family:var(--font-mono);font-size:.88em;background:var(--tint);padding:2px 7px;border-radius:6px;color:var(--ink);}
.entry-content pre{background:var(--ink);color:#E8EDF2;border-radius:12px;padding:20px 22px;overflow:auto;margin:0 0 30px;}
.entry-content pre code{background:transparent;padding:0;color:inherit;font-size:13.5px;line-height:1.7;}
.entry-content hr{border:none;border-top:1px solid var(--line);margin:44px 0;}

.entry-content table{width:100%;border-collapse:collapse;margin:0 0 30px;font-size:14.5px;}
.entry-content table th,.entry-content table td{border:1px solid var(--line);padding:12px 16px;text-align:left;}
.entry-content table th{background:var(--tint2);font-family:var(--font-head);font-weight:700;color:var(--ink);}

/* WordPress core alignment / caption helpers */
.alignleft{float:left;margin:6px 28px 20px 0;}
.alignright{float:right;margin:6px 0 20px 28px;}
.aligncenter{margin-left:auto;margin-right:auto;}
.wp-caption{max-width:100%;}
.wp-block-buttons{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 30px;}

/* =========================================================
   TOC box (auto-generated)
   ========================================================= */
.nm-toc{background:var(--tint2);border:1px solid var(--line);border-radius:14px;padding:24px 28px;margin:0 0 40px;}
.nm-toc__title{font-family:var(--font-head);font-weight:700;font-size:13px;color:var(--ink);margin-bottom:16px;display:flex;align-items:center;gap:8px;}
.nm-toc__title::before{content:"";width:14px;height:2px;background:var(--amber);display:inline-block;}
.nm-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;counter-reset:nmtoc;}
.nm-toc li{counter-increment:nmtoc;}
.nm-toc a{display:flex;gap:12px;color:var(--sub2);text-decoration:none;font-family:var(--font-head);font-size:14px;line-height:1.6;}
.nm-toc a:hover{color:var(--amber);}
.nm-toc a::before{content:counter(nmtoc,decimal-leading-zero);font-family:var(--font-mono);color:#C0A68A;flex-shrink:0;}

/* =========================================================
   Ad slot
   ========================================================= */
.nomadit-ad{margin:36px auto;max-width:var(--maxw);text-align:center;background:var(--tint2);border:1px solid var(--line);border-radius:14px;padding:18px;box-sizing:border-box;}
.nomadit-ad__label{display:block;font-family:var(--font-head);font-size:11px;letter-spacing:.14em;color:var(--muted3);margin-bottom:12px;}
.nomadit-ad .adsbygoogle{display:block;}
.nomadit-ad--wide{padding:24px;margin:44px auto;}
.nomadit-ad--infeed{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px;margin:0;max-width:none;}
.nomadit-ad--infeed .nomadit-ad__label{text-align:left;}

/* =========================================================
   Layout primitives
   ========================================================= */
.nm-main{display:block;}
.nm-section{padding-top:50px;padding-bottom:8px;}
.nm-eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.26em;text-transform:uppercase;}
.nm-eyebrow--amber{color:var(--amber);}
.nm-meta-date,.nm-meta-read{font-family:var(--font-mono);font-size:12px;color:var(--muted2);}
.nm-card__date{font-family:var(--font-mono);font-size:10.5px;color:var(--muted2);}
.nm-imglabel{position:absolute;right:12px;bottom:10px;font-family:var(--font-mono);font-size:10px;color:#AEB6C0;}
.nm-empty{font-size:15px;color:var(--sub);padding:30px 0;}

/* =========================================================
   Hero
   ========================================================= */
.nm-hero{padding-top:72px;padding-bottom:60px;display:grid;grid-template-columns:0.85fr 1.15fr;gap:56px;align-items:center;}
.nm-hero__h1{font-family:var(--font-head);font-weight:900;font-size:46px;line-height:1.4;color:var(--ink);margin:18px 0 24px;letter-spacing:.01em;}
.nm-hero__lead{font-size:15.5px;line-height:2.05;color:var(--sub);margin:0 0 34px;}
.nm-hero__cta{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:700;font-size:14px;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--amber);padding-bottom:5px;}
.nm-hero__feature{display:block;text-decoration:none;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 22px 50px -30px rgba(25,35,47,.42);transition:transform .2s ease,box-shadow .2s ease;}
.nm-hero__feature:hover{transform:translateY(-2px);box-shadow:0 28px 56px -28px rgba(25,35,47,.5);}
.nm-hero__media{height:280px;background:var(--navy-grad);position:relative;overflow:hidden;}
.nm-hero__media img{width:100%;height:100%;object-fit:cover;}
.nm-hero__badge{position:absolute;top:18px;left:18px;background:rgba(255,255,255,.92);border-radius:6px;padding:5px 12px;font-family:var(--font-head);font-weight:700;font-size:11px;color:#1E3A5E;}
.nm-hero__body{padding:24px 28px 26px;}
.nm-hero__cat{font-family:var(--font-head);font-weight:700;font-size:11.5px;color:var(--amber);letter-spacing:.06em;margin-bottom:11px;}
.nm-hero__title{font-family:var(--font-head);font-weight:700;font-size:22px;line-height:1.55;color:var(--ink);margin:0 0 13px;}

/* =========================================================
   Ranking
   ========================================================= */
.nm-rank-wrap{background:var(--tint3);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:64px;}
.nm-rank-wrap .nm-section{padding-top:60px;padding-bottom:60px;}
.nm-rank-head{display:flex;align-items:center;gap:13px;margin-bottom:30px;}
.nm-rank-head h2{font-family:var(--font-head);font-weight:900;font-size:24px;color:var(--ink);margin:0;}
.nm-rank-sub{font-family:var(--font-mono);font-size:11px;color:var(--muted2);letter-spacing:.1em;}
.nm-rank{display:grid;grid-template-columns:1fr 1fr;gap:8px 48px;}
.nm-rank__row{text-decoration:none;display:flex;align-items:center;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);}
.nm-rank__num{font-family:var(--font-display);font-weight:400;font-size:34px;color:#B7C0CB;width:38px;flex-shrink:0;text-align:center;}
.nm-rank__num.is-first{color:var(--amber);}
.nm-rank__thumb{width:52px;height:52px;border-radius:11px;background:#E6EAEF;flex-shrink:0;overflow:hidden;display:block;}
.nm-rank__thumb img{width:100%;height:100%;object-fit:cover;}
.nm-rank__info{flex:1;min-width:0;}
.nm-rank__name{display:block;font-family:var(--font-head);font-weight:700;font-size:15px;color:var(--ink);margin-bottom:3px;}
.nm-rank__note{display:block;font-family:var(--font-head);font-size:12px;color:var(--muted2);}

/* =========================================================
   Author card (front page)
   ========================================================= */
.nm-authorcard{display:flex;align-items:center;gap:24px;background:var(--navy);border-radius:18px;padding:34px 38px;}
.nm-authorcard__avatar{width:68px;height:68px;border-radius:50%;background:linear-gradient(135deg,#2A527E,#16273E);flex-shrink:0;display:block;}
.nm-authorcard__body{flex:1;}
.nm-authorcard__name{font-family:var(--font-head);font-weight:700;font-size:16px;color:#fff;margin-bottom:7px;}
.nm-authorcard__bio{font-size:13px;line-height:1.85;color:rgba(255,255,255,.66);margin:0;}
.nm-authorcard__btn{font-family:var(--font-head);font-weight:700;font-size:13px;color:var(--ink);background:#fff;border-radius:9px;padding:11px 22px;text-decoration:none;white-space:nowrap;transition:filter .12s ease,transform .12s ease;}
.nm-authorcard__btn:hover{transform:translateY(-1px);filter:brightness(.97);}

/* =========================================================
   Breadcrumb
   ========================================================= */
.nm-breadcrumb{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-family:var(--font-head);font-size:12px;color:var(--muted2);margin-bottom:24px;}
.nm-breadcrumb a{color:var(--muted2);text-decoration:none;}
.nm-breadcrumb a:hover{color:var(--amber);}
.nm-bc__sep{color:#CBD1D9;}
.nm-bc__current{color:var(--amber);}

/* =========================================================
   Single article
   ========================================================= */
.nm-article{max-width:var(--readw);margin:0 auto;padding:40px 24px 0;}
.nm-article__eyebrow{font-family:var(--font-head);font-weight:700;font-size:12px;color:var(--amber);letter-spacing:.06em;margin-bottom:16px;}
.article-h1{font-family:var(--font-head);font-weight:900;font-size:34px;line-height:1.58;color:var(--ink);margin:0 0 22px;letter-spacing:.01em;}
.nm-article__meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-bottom:28px;border-bottom:1px solid var(--line);}
.nm-article__avatar{display:inline-flex;width:38px;height:38px;flex:0 0 38px;border-radius:50%;overflow:hidden;}
.nm-article__avatar img{width:38px;height:38px;border-radius:50%;object-fit:cover;display:block;}
.nm-article__author{font-family:var(--font-head);font-weight:700;font-size:13px;color:var(--ink);}
.nm-article__hero{max-width:var(--readw);margin:30px auto 0;padding:0 24px;}
.nm-article__hero img{width:100%;height:auto;border-radius:16px;}
.nm-article__body{max-width:var(--readw);margin:0 auto;padding:0 24px;}
.nm-article__body.entry-content{padding-top:44px;}
.nm-pagelinks{font-family:var(--font-head);font-size:13px;color:var(--sub);display:flex;gap:8px;flex-wrap:wrap;margin:20px 0;}
.nm-tags{display:flex;gap:8px;flex-wrap:wrap;padding-top:30px;}
.nm-tag{font-family:var(--font-mono);font-size:12px;color:var(--sub);background:var(--tint);border-radius:999px;padding:6px 14px;}

.nm-authorbio{display:flex;gap:20px;align-items:flex-start;padding:28px 0;margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.nm-authorbio__avatar{width:58px;height:58px;flex:0 0 58px;border-radius:50%;overflow:hidden;display:block;}
.nm-authorbio__avatar img{width:58px;height:58px;border-radius:50%;object-fit:cover;display:block;}
/* どのアバター画像も正円に切り抜く保険 */
.avatar{border-radius:50%;object-fit:cover;}
.nm-authorbio__name{font-family:var(--font-head);font-weight:700;font-size:15px;color:var(--ink);margin-bottom:6px;}
.nm-authorbio__text{font-size:13px;line-height:1.85;color:var(--muted);margin:0;}

/* Related */
.nm-related{max-width:980px;margin:0 auto;padding:46px 34px 0;}
.nm-related__title{font-family:var(--font-head);font-weight:900;font-size:19px;color:var(--ink);margin:0 0 24px;}
.nm-related__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.nm-card__thumb--sm{height:140px;border-radius:12px;margin-bottom:13px;}
.nm-card__cat--sm{font-size:10.5px;margin-bottom:7px;}
.nm-card__title--sm{font-size:14.5px;line-height:1.55;margin:0;}

/* =========================================================
   Category / archive hero
   ========================================================= */
.nm-cat-hero{padding-top:54px;padding-bottom:34px;border-bottom:1px solid var(--line);}
.nm-cat-hero__row{display:flex;align-items:flex-end;gap:18px;margin:16px 0 18px;flex-wrap:wrap;}
.nm-cat-name{font-family:var(--font-head);font-weight:900;font-size:38px;line-height:1.2;color:var(--ink);margin:0;}
.nm-cat-count{font-family:var(--font-mono);font-size:13px;color:var(--muted2);padding-bottom:7px;}
.nm-cat-desc{max-width:620px;font-size:14.5px;line-height:1.95;color:var(--sub);}
.nm-list-hero{padding-top:54px;padding-bottom:8px;}
.nm-list-hero .nm-cat-name{margin-top:12px;}

/* Filter chips */
.nm-chips{display:flex;gap:10px;flex-wrap:wrap;padding-top:24px;padding-bottom:24px;border-bottom:1px solid var(--line);}
.nm-chip{font-family:var(--font-head);font-weight:500;font-size:13px;color:var(--sub2);background:#fff;border:1px solid var(--line3);border-radius:999px;padding:8px 18px;text-decoration:none;transition:border-color .15s ease,color .15s ease;}
.nm-chip:hover{border-color:var(--amber);color:var(--amber);}
.nm-chip.is-active{font-weight:700;color:#fff;background:var(--navy);border-color:var(--navy);}

/* =========================================================
   Search results
   ========================================================= */
.nm-search-hero{padding-top:48px;padding-bottom:30px;border-bottom:1px solid var(--line);}
.nm-search-hero__form{max-width:560px;margin:16px 0 18px;}
.nm-search-hero__count{font-family:var(--font-head);font-size:14px;color:var(--sub);margin:0;}
.nm-search-hero__count b{color:var(--ink);}
.nm-searchlayout{display:grid;grid-template-columns:1fr 320px;gap:54px;align-items:start;}
.nm-results__list{display:flex;flex-direction:column;gap:24px;}
.nm-res-card{text-decoration:none;display:flex;gap:22px;align-items:center;}
.nm-res-thumb{width:200px;height:128px;border-radius:12px;background:var(--img-ph);flex-shrink:0;overflow:hidden;position:relative;}
.nm-res-thumb img{width:100%;height:100%;object-fit:cover;}
.nm-res-body{flex:1;min-width:0;}
.nm-res-cat{font-family:var(--font-head);font-weight:700;font-size:11px;color:var(--amber);margin-bottom:8px;}
.nm-res-title{font-family:var(--font-head);font-weight:700;font-size:18px;line-height:1.55;color:var(--ink);margin:0 0 9px;transition:color .15s ease;}
.nm-res-card:hover .nm-res-title{color:var(--amber);}
.nm-res-excerpt{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 9px;}

/* =========================================================
   Sidebar / widgets
   ========================================================= */
.nm-sidebar{display:flex;flex-direction:column;gap:28px;}
.nm-widget__label,.nm-widget__title{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--muted2);text-transform:uppercase;margin-bottom:12px;}
.nm-poplist{display:flex;flex-direction:column;}
.nm-poplist__row{text-decoration:none;display:flex;gap:14px;align-items:baseline;padding:11px 0;border-top:1px solid var(--line);}
.nm-poplist__row:last-child{border-bottom:1px solid var(--line);}
.nm-poplist__num{font-family:var(--font-display);font-size:18px;color:#B7C0CB;width:18px;flex-shrink:0;}
.nm-poplist__num.is-first{color:var(--amber);}
.nm-poplist__title{font-family:var(--font-head);font-weight:700;font-size:13.5px;line-height:1.5;color:var(--ink);transition:color .15s ease;}
.nm-poplist__row:hover .nm-poplist__title{color:var(--amber);}
.nm-widget--profile{background:var(--navy);border-radius:14px;padding:22px;}
.nm-profile__head{display:flex;align-items:center;gap:14px;margin-bottom:13px;}
.nm-profile__avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#2A527E,#16273E);flex-shrink:0;display:block;}
.nm-profile__name{font-family:var(--font-head);font-weight:700;font-size:14px;color:#fff;}
.nm-profile__bio{font-size:12px;line-height:1.85;color:rgba(255,255,255,.66);margin:0 0 14px;}
.nm-profile__btn{display:block;font-family:var(--font-head);font-weight:700;font-size:12px;color:var(--ink);background:#fff;border-radius:8px;padding:8px 0;text-align:center;text-decoration:none;}
.nm-catlist{display:flex;flex-direction:column;}
.nm-catlist__row{text-decoration:none;display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-top:1px solid var(--line);font-family:var(--font-head);font-size:13.5px;color:var(--sub2);transition:color .15s ease;}
.nm-catlist__row:last-child{border-bottom:1px solid var(--line);}
.nm-catlist__row:hover{color:var(--amber);}
.nm-catlist__count{font-family:var(--font-mono);font-size:11px;color:#AEB6C0;}
/* widget defaults (when user adds real widgets) */
.nm-widget ul{list-style:none;margin:0;padding:0;}
.nm-widget li{padding:9px 0;border-top:1px solid var(--line);font-family:var(--font-head);font-size:13.5px;}
.nm-widget li a{color:var(--sub2);text-decoration:none;}
.nm-widget li a:hover{color:var(--amber);}

/* =========================================================
   404
   ========================================================= */
.nm-404{max-width:var(--readw);margin:0 auto;width:100%;padding:80px 32px 70px;text-align:center;}
.nm-404__num{font-family:var(--font-display);font-weight:200;font-size:160px;line-height:1;color:var(--ink);letter-spacing:.04em;margin-bottom:8px;}
.nm-404__num span{color:var(--amber);}
.nm-404__title{font-family:var(--font-head);font-weight:900;font-size:24px;color:var(--ink);margin:0 0 16px;}
.nm-404__lead{font-size:15px;line-height:2;color:var(--sub);margin:0 0 34px;}
.nm-404__search{max-width:440px;margin:0 auto 16px;}
.nm-404__home{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:700;font-size:14px;color:#fff;background:var(--navy);border-radius:10px;padding:13px 26px;text-decoration:none;transition:filter .12s ease,transform .12s ease;}
.nm-404__home:hover{transform:translateY(-1px);filter:brightness(1.1);}
.nm-404__popular{margin-top:60px;text-align:left;}
.nm-404__poplabel{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;color:var(--muted2);text-transform:uppercase;margin-bottom:18px;text-align:center;}
.nm-404__popgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.nm-404__popcard{text-decoration:none;display:flex;gap:14px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:14px;transition:border-color .15s ease;}
.nm-404__popcard:hover{border-color:var(--amber);}
.nm-404__popthumb{width:72px;height:60px;border-radius:9px;background:var(--img-ph);flex-shrink:0;overflow:hidden;display:block;}
.nm-404__popthumb img{width:100%;height:100%;object-fit:cover;}
.nm-404__popcat{font-family:var(--font-head);font-weight:700;font-size:10.5px;color:var(--amber);margin-bottom:5px;}
.nm-404__poptitle{font-family:var(--font-head);font-weight:700;font-size:13.5px;line-height:1.5;color:var(--ink);}

/* =========================================================
   Comments (minimal, on-brand)
   ========================================================= */
.nm-comments{max-width:var(--readw);margin:40px auto 0;padding:0 24px;}
.nm-comments .comment-list{list-style:none;margin:0;padding:0;}
.nm-comments .comment-list li{padding:18px 0;border-top:1px solid var(--line);}
.nm-comments .comment-author{font-family:var(--font-head);font-weight:700;font-size:14px;color:var(--ink);}
.nm-comments h2,.nm-comments h3{font-family:var(--font-head);font-weight:900;font-size:18px;color:var(--ink);}
.nm-comments input[type=text],.nm-comments input[type=email],.nm-comments input[type=url],.nm-comments textarea{
  width:100%;border:1px solid var(--line-input);border-radius:10px;padding:12px 14px;font-family:var(--font-body);font-size:15px;margin-bottom:14px;box-sizing:border-box;
}
.nm-comments .submit{font-family:var(--font-head);font-weight:700;font-size:14px;color:#fff;background:var(--navy);border:none;border-radius:10px;padding:12px 26px;cursor:pointer;}

/* =========================================================
   Responsive
   ========================================================= */
@media(max-width:960px){
  .nm-hero{grid-template-columns:1fr !important;gap:36px !important;padding-top:48px !important;padding-bottom:44px !important;}
  .nm-grid{grid-template-columns:repeat(2,1fr);}
  .nm-rank{grid-template-columns:1fr !important;gap:0 !important;}
  .nm-searchlayout{grid-template-columns:1fr !important;gap:40px !important;}
}
@media(max-width:600px){
  .nm-wrap{padding-left:22px;padding-right:22px;}
  .nm-header__inner{padding:0 22px;}
  .nm-nav{display:none;}
  .nm-navtoggle{display:flex;}
  .nm-grid{grid-template-columns:1fr;}
  .nm-hero__h1{font-size:34px !important;}
  .nm-authorcard{flex-direction:column !important;align-items:flex-start !important;gap:18px !important;}
  .nm-footer__main{flex-direction:column;gap:30px;}
  .nm-footer__cols{gap:36px;}
  .entry-content h2{font-size:21px;}
  .nm-res-card{flex-direction:column !important;align-items:stretch !important;}
  .nm-res-thumb{width:100% !important;height:170px !important;}
  .article-h1{font-size:27px !important;}
  .nm-cat-name{font-size:30px;}
  .nm-related__grid{grid-template-columns:1fr;}
  .nm-404__num{font-size:120px;}
  .nm-404__popgrid{grid-template-columns:1fr;}
  .nomadit-ad{margin:28px auto;padding:14px;border-radius:12px;}
}
