/* ==========================================================================
   ns-heritage 1.1.0 — Claude Design 確定版（deliverables/wordpress/heritage/design/）の移植
   ・全セレクタは .nsher 配下（一覧ヒーローの余白と、個別ページ本体 .nsher--single の節だけ例外）
   ・デザインの cqw はそのまま使う（.nsher をサイズコンテナにする）
   ・テーマは * / div / p / a に color:#000・line-height:1.8 を当てるので、色と行間は要素ごとに明示する
   ・テーマ/ブログ本文の img 強制（height:100%・margin 50px）は打ち消し、比率は親の箱が持つ
   ========================================================================== */

.nsher {
	--font-serif-jp: "Noto Serif JP", "游明朝", "YuMincho", "Hiragino Mincho ProN", serif;
	--font-sans-jp: "Noto Sans JP", "游ゴシック", "YuGothic", "Hiragino Sans", sans-serif;
	--font-serif-latin: "Cormorant Garamond", "Times New Roman", Garamond, serif;
	--font-display-caps: "Cinzel", "Trajan Pro", "Cormorant Garamond", serif;
	--nsher-navy: #1A1A2E;
	--nsher-text: #2D2D2D;
	--nsher-sub: #6B6B6B;
	--nsher-gold: #B8860B;
	--nsher-rouge: #BB6767;
	--nsher-gray: #EBEBEB;
	--nsher-hair: #E4DFD3;
	--nsher-whisper: #EFEAE0;
	--nsher-input: #D9D3C5;
	--nsher-photo: #0E0E14;
	--nsher-ease: cubic-bezier(.4, 0, .2, 1);
}

/* ---------- 土台 ---------- */
.nsher {
	container-type: inline-size;
	display: block;
	background: #FFFFFF;
	color: var(--nsher-navy);
	font-family: var(--font-sans-jp);
	font-size: 16px;
	line-height: normal;
	letter-spacing: normal;
	text-align: left;
	-webkit-font-smoothing: antialiased;
}
.nsher *, .nsher *::before, .nsher *::after { box-sizing: border-box; }
.nsher div, .nsher p, .nsher span, .nsher a, .nsher li, .nsher dt, .nsher dd,
.nsher h1, .nsher h2, .nsher h3, .nsher summary, .nsher nav, .nsher section, .nsher aside { color: inherit; line-height: inherit; }
.nsher p, .nsher h1, .nsher h2, .nsher h3, .nsher ul, .nsher dl, .nsher dd, .nsher dt { margin: 0; padding: 0; }
.nsher h1, .nsher h2, .nsher h3 { font-feature-settings: normal; }
.nsher ul { list-style: none; }
.nsher a { text-decoration: none; }
.nsher img { max-width: 100% !important; margin: 0 !important; padding: 0; border: 0; vertical-align: bottom; }
.nsher a:focus-visible, .nsher summary:focus-visible { outline: 2px solid var(--nsher-gold); outline-offset: 3px; }
.nsher svg { flex: none; }
.nsher svg, .nsher svg * { color: inherit; }   /* テーマの *{color:#000} で currentColor が黒になるのを防ぐ */

/* 文字リンク（下線は金・ホバーはルージュ） */
.nsher .nsher-link { color: var(--nsher-navy); text-decoration: underline; text-decoration-color: var(--nsher-gold); text-underline-offset: 4px; }
.nsher .nsher-link:hover { color: var(--nsher-rouge); text-decoration-color: var(--nsher-rouge); }
.nsher .nsher-break { word-break: break-all; }

/* ---------- 文字の型 ---------- */
.nsher .nsher-kicker { font-family: var(--font-display-caps); font-size: 12px; letter-spacing: .3em; color: var(--nsher-gold); font-weight: 500; line-height: 1.5; }
.nsher .nsher-kicker--28 { letter-spacing: .28em; }
.nsher .nsher-kicker--24 { letter-spacing: .24em; }
.nsher .nsher-h2 { font-family: var(--font-serif-jp); font-weight: 500; font-size: clamp(24px, 3.4cqw, 38px); line-height: 1.4; letter-spacing: .04em; color: var(--nsher-navy); text-wrap: balance; }
.nsher .nsher-h3 { font-family: var(--font-serif-jp); font-weight: 500; font-size: 20px; line-height: 1.5; color: var(--nsher-navy); }
.nsher .nsher-en { font-family: var(--font-serif-latin); font-style: italic; font-size: 19px; line-height: 1.4; color: var(--nsher-sub); }
.nsher .nsher-text { font-size: 16px; line-height: 1.9; color: var(--nsher-text); text-wrap: pretty; }
.nsher .nsher-text--15 { font-size: 15px; line-height: 1.9; }
.nsher .nsher-lead-serif { font-family: var(--font-serif-jp); font-size: clamp(17px, 1.8cqw, 20px); line-height: 2; color: var(--nsher-navy); text-wrap: pretty; }
.nsher .nsher-rule { width: 56px; height: 0; border-top: 1px solid var(--nsher-gold); }
.nsher .nsher-rule--light { border-top-color: rgba(255, 255, 255, .2); }
.nsher .nsher-measure { max-width: 640px; text-align: left; }
.nsher .nsher-note { font-size: 14px; line-height: 1.8; color: var(--nsher-sub); text-wrap: pretty; }
.nsher .nsher-note--center { margin: 48px 0 0; text-align: center; }

/* ---------- ボタン ---------- */
.nsher .nsher-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 14px;
	min-height: 52px; padding: 0 36px;
	border: 1px solid #000000; background: transparent; color: #000000;
	font-family: var(--font-sans-jp); font-size: 15px; letter-spacing: .1em; line-height: 1.4; text-align: center;
	cursor: pointer; transition: all 260ms var(--nsher-ease);
}
.nsher .nsher-btn--solid { background: #000000; color: #FFFFFF; }
.nsher .nsher-btn--solid:hover { background: #666666; border-color: #666666; color: #FFFFFF; }
.nsher .nsher-btn--line:hover { background: #666666; border-color: #666666; color: #FFFFFF; }
.nsher .nsher-btn--lg { min-height: 56px; }
.nsher .nsher-btn--sm { min-height: 48px; padding: 0 28px; font-size: 14px; letter-spacing: .08em; }
.nsher .nsher-btn--grow { flex: 1 1 200px; padding: 0 20px; letter-spacing: .08em; }
.nsher .nsher-btn--white { background: #FFFFFF; color: #000000; border-color: #FFFFFF; }
.nsher .nsher-btn--white:hover { background: #E6E6E6; border-color: #E6E6E6; color: #000000; }
.nsher .nsher-btn--ghost { gap: 10px; padding: 0 32px; border-color: rgba(255, 255, 255, .4); color: #FFFFFF; letter-spacing: .08em; }
.nsher .nsher-btn--ghost:hover { border-color: #FFFFFF; color: #FFFFFF; }
.nsher .nsher-btn__tel { font-family: var(--font-serif-latin); font-size: 20px; letter-spacing: .04em; color: inherit; }

/* ---------- セクション ---------- */
.nsher .nsher-sec { padding: clamp(72px, 10cqw, 128px) clamp(20px, 5cqw, 64px); }
.nsher .nsher-sec--gray { background: var(--nsher-gray); }
.nsher .nsher-wrap { max-width: 1152px; margin: 0 auto; }
.nsher .nsher-stack { display: flex; flex-direction: column; align-items: center; gap: 24px; }
.nsher .nsher-stack--center { text-align: center; }
.nsher .nsher-container { max-width: 1280px; margin: 0 auto; padding: 0 clamp(20px, 5cqw, 64px); }

/* 写真の箱（中身は箱いっぱいに置く） */
.nsher .nsher-photo__img,
.nsher .nsher-card__img {
	position: absolute; inset: 0; display: block;
	width: 100% !important; height: 100% !important; max-width: none !important;
	object-fit: cover;
}
.nsher .nsher-fit--contain { object-fit: contain; }
.nsher .nsher-fit--cover { object-fit: cover; }
.nsher .nsher-noimg {
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	background: var(--nsher-gray); color: var(--nsher-sub);
	font-family: var(--font-serif-latin); font-style: italic; font-size: 14px; letter-spacing: .06em;
}

/* ==========================================================================
   ① トップ
   ========================================================================== */
.nsher .nsher-hero {
	padding: clamp(72px, 10cqw, 128px) clamp(20px, 5cqw, 64px) clamp(48px, 6cqw, 80px);
	display: flex; flex-direction: column; align-items: center; text-align: center; gap: 24px;
}
.nsher .nsher-hero__title { font-family: var(--font-serif-jp); font-weight: 500; font-size: clamp(30px, 5.4cqw, 60px); line-height: 1.35; letter-spacing: .04em; color: var(--nsher-navy); text-wrap: balance; }
.nsher .nsher-hero__sub { display: flex; flex-direction: column; gap: 6px; }
.nsher .nsher-hero__en { font-family: var(--font-serif-latin); font-style: italic; font-size: clamp(18px, 2.2cqw, 24px); line-height: 1.4; color: var(--nsher-text); }
.nsher .nsher-hero__ja { font-size: 15px; line-height: 1.6; color: var(--nsher-sub); letter-spacing: .12em; }
.nsher .nsher-hero__btn { margin-top: 16px; padding: 0 40px; letter-spacing: .12em; }

.nsher .nsher-trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(6px, 1cqw, 16px); padding: 0 clamp(0px, 5cqw, 64px); }
.nsher .nsher-trio__item { position: relative; aspect-ratio: 2 / 3; overflow: hidden; background: var(--nsher-gray); }
.nsher .nsher-trio__item--down { transform: translateY(clamp(16px, 4cqw, 48px)); }

.nsher .nsher-origin { padding-top: clamp(112px, 14cqw, 176px); }
.nsher .nsher-origin__body { max-width: 640px; display: flex; flex-direction: column; gap: 24px; margin-top: 16px; }

.nsher .nsher-split { max-width: 1152px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: clamp(40px, 7cqw, 96px); }
.nsher .nsher-split__photo { position: relative; flex: 1 1 380px; min-width: 0; aspect-ratio: 4 / 5; overflow: hidden; background: var(--nsher-hair); }
.nsher .nsher-split__text { flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }

.nsher .nsher-ranks { width: 100%; margin-top: 32px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 16px; text-align: left; }
.nsher .nsher-ranks__item { background: #FFFFFF; border: 1px solid var(--nsher-gray); padding: 32px 28px; display: flex; flex-direction: column; gap: 16px; }
.nsher .nsher-ranks__badge { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border: 1px solid #000000; font-family: var(--font-display-caps); font-size: 24px; font-weight: 500; color: #000000; line-height: 1; }
.nsher .nsher-ranks__def { font-size: 15px; line-height: 1.85; color: var(--nsher-text); text-wrap: pretty; }

.nsher .nsher-grid--picks { width: 100%; margin-top: 32px; gap: clamp(16px, 2cqw, 24px); text-align: left; }
.nsher .nsher-picks__more { margin-top: 24px; }

/* 手放す方へ（黒） */
.nsher .nsher-give { background: #000000; color: #FFFFFF; padding: clamp(80px, 11cqw, 144px) clamp(20px, 5cqw, 64px); }
.nsher .nsher-give__en { font-family: var(--font-serif-latin); font-style: italic; font-size: clamp(18px, 2cqw, 22px); line-height: 1.4; color: #999999; text-wrap: balance; }
.nsher .nsher-give__title { color: #FFFFFF; line-height: 1.5; }
.nsher .nsher-give__lead { color: #CCCCCC; }
.nsher .nsher-services { width: 100%; margin-top: 32px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 1px; background: rgba(255, 255, 255, .2); border: 1px solid rgba(255, 255, 255, .2); text-align: left; }
.nsher .nsher-services__item { background: #000000; padding: 40px 32px; display: flex; flex-direction: column; gap: 14px; }
.nsher .nsher-services__num { font-family: var(--font-serif-latin); font-style: italic; font-size: 28px; color: #999999; line-height: 1; }
.nsher .nsher-services__jp { font-family: var(--font-serif-jp); font-weight: 500; font-size: 22px; letter-spacing: .06em; line-height: 1.4; color: #FFFFFF; }
.nsher .nsher-services__en { font-family: var(--font-display-caps); font-size: 11.5px; letter-spacing: .24em; line-height: 1.5; color: #999999; }
.nsher .nsher-services__desc { margin-top: 8px; font-size: 15px; line-height: 1.85; color: #CCCCCC; text-wrap: pretty; }
.nsher .nsher-terms { width: 100%; max-width: 800px; margin-top: 40px; text-align: left; padding: 32px clamp(20px, 4cqw, 40px); border: 1px solid rgba(255, 255, 255, .2); }
.nsher .nsher-terms__title { font-size: 15px; font-weight: 700; letter-spacing: .1em; line-height: 1.6; margin-bottom: 16px; color: #FFFFFF; }
.nsher .nsher-terms__list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; font-size: 14px; line-height: 1.8; color: #CCCCCC; }
.nsher .nsher-terms__list li { display: flex; gap: 12px; margin: 0; padding: 0; color: #CCCCCC; line-height: 1.8; }
.nsher .nsher-terms__list li::before { content: none; }
.nsher .nsher-terms__dot { color: #999999; flex: none; }
.nsher .nsher-give__cta { margin-top: 32px; display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
.nsher .nsher-give__closing { font-family: var(--font-serif-jp); font-size: clamp(16px, 1.8cqw, 19px); line-height: 1.9; letter-spacing: .04em; color: #FFFFFF; text-wrap: balance; }

/* ◇ 区切り */
.nsher .nsher-diamond { display: flex; align-items: center; gap: 14px; width: 160px; }
.nsher .nsher-diamond span { flex: 1; border-top: 1px solid var(--nsher-gold); }
.nsher .nsher-diamond i { width: 7px; height: 7px; background: var(--nsher-gold); transform: rotate(45deg); flex: none; }
.nsher .nsher-diamond--light { margin-top: 56px; gap: 16px; width: 100%; max-width: 720px; }
.nsher .nsher-diamond--light span { border-top-color: rgba(255, 255, 255, .2); }
.nsher .nsher-diamond--light i { background: rgba(255, 255, 255, .4); }

/* お問い合わせ・ショールーム */
.nsher .nsher-contact { width: 100%; margin-top: 24px; display: flex; flex-wrap: wrap; gap: clamp(24px, 4cqw, 48px); text-align: left; }
.nsher .nsher-contact__box { flex: 1 1 360px; min-width: 0; display: flex; flex-direction: column; gap: 20px; padding: 40px clamp(20px, 4cqw, 40px); border: 1px solid var(--nsher-hair); }
.nsher .nsher-contact__box--gray { background: var(--nsher-gray); border-color: var(--nsher-gray); gap: 16px; }
.nsher .nsher-contact__dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px 24px; font-size: 15px; line-height: 1.75; color: var(--nsher-text); }
.nsher .nsher-contact__dl dt { color: var(--nsher-sub); line-height: 1.75; font-weight: 400; }
.nsher .nsher-contact__dl dd { color: var(--nsher-text); line-height: 1.75; }

/* ==========================================================================
   ② 一覧
   ========================================================================== */
.nsher .nsher-listhead {
	padding: clamp(64px, 8cqw, 104px) clamp(20px, 5cqw, 64px) clamp(40px, 5cqw, 56px);
	display: flex; flex-direction: column; align-items: center; text-align: center; gap: 20px;
}
.nsher .nsher-listhead__en { font-family: var(--font-serif-latin); font-style: italic; font-size: clamp(20px, 2.4cqw, 26px); line-height: 1.3; color: var(--nsher-text); }
.nsher .nsher-listhead__title { font-family: var(--font-serif-jp); font-weight: 500; font-size: clamp(28px, 4cqw, 44px); letter-spacing: .06em; line-height: 1.4; color: var(--nsher-navy); }
.nsher .nsher-listhead__lead { line-height: 1.85; text-wrap: balance; }

/* カタログ帯（デザインの「価格のご案内」帯の見た目を流用） */
.nsher .nsher-band { margin-bottom: clamp(40px, 5cqw, 56px); background: var(--nsher-gray); border-top: 1px solid var(--nsher-gold); padding: clamp(32px, 4cqw, 48px) clamp(20px, 4cqw, 56px); display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; }
.nsher .nsher-band__kicker { font-family: var(--font-display-caps); font-size: 11.5px; letter-spacing: .28em; color: var(--nsher-gold); font-weight: 500; line-height: 1.5; }
.nsher .nsher-band__title { font-family: var(--font-serif-jp); font-weight: 500; font-size: clamp(19px, 2.2cqw, 24px); line-height: 1.6; color: var(--nsher-navy); text-wrap: balance; }
.nsher .nsher-band__text { max-width: 560px; font-size: 15px; line-height: 1.9; color: var(--nsher-text); text-wrap: pretty; }
.nsher .nsher-band .nsher-btn { margin-top: 8px; }

/* 絞り込みチップ */
.nsher .nsher-filters { display: flex; flex-direction: column; gap: 16px; padding-bottom: 24px; border-bottom: 1px solid var(--nsher-hair); }
.nsher .nsher-filters__row { display: flex; align-items: center; gap: 16px; min-width: 0; }
.nsher .nsher-filters__label { flex: none; width: 72px; font-size: 13px; color: var(--nsher-sub); }
.nsher .nsher-chips { display: flex; gap: 8px; overflow-x: auto; padding: 2px 0; min-width: 0; scrollbar-width: none; }
.nsher .nsher-chips::-webkit-scrollbar { display: none; }
.nsher .nsher-chip {
	flex: none; display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px;
	border-radius: 999px; border: 1px solid var(--nsher-input); background: transparent; color: var(--nsher-text);
	font-family: var(--font-sans-jp); font-size: 14px; letter-spacing: .04em; line-height: 1; white-space: nowrap;
	transition: all 160ms var(--nsher-ease);
}
.nsher .nsher-chip:hover { border-color: var(--nsher-navy); color: var(--nsher-navy); }
.nsher .nsher-chip.is-active { background: var(--nsher-navy); border-color: var(--nsher-navy); color: #FAF8F5; }
.nsher .nsher-count { padding: 20px 0 32px; font-size: 14px; color: var(--nsher-sub); }

/* 商品グリッド（PC 4列・SP 2列） */
.nsher .nsher-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(max(150px, calc((100% - 72px) / 4)), 1fr)); gap: clamp(32px, 4cqw, 48px) clamp(16px, 2cqw, 24px); }

/* 空の状態 */
.nsher .nsher-empty { padding: clamp(64px, 8cqw, 104px) 0; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 20px; }
.nsher .nsher-empty--filter { padding: clamp(56px, 7cqw, 88px) 0; }
.nsher .nsher-empty__title { font-family: var(--font-serif-jp); font-weight: 500; font-size: clamp(19px, 2.2cqw, 24px); line-height: 1.7; color: var(--nsher-navy); text-wrap: balance; }
.nsher .nsher-empty__title--sm { font-size: 20px; }

/* 「手放す方へ」導線 */
.nsher .nsher-givelink { margin: clamp(56px, 7cqw, 88px) 0 clamp(64px, 8cqw, 104px); padding: 40px clamp(20px, 4cqw, 40px); border-top: 1px solid var(--nsher-hair); border-bottom: 1px solid var(--nsher-hair); display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; }
.nsher--single .nsher-givelink { margin: clamp(64px, 8cqw, 104px) 0; }
/* 1.1.8: 英字見出し → ボタン「家具継承プログラムのご案内」→ 補足 の縦積み */
.nsher .nsher-givelink__en { font-family: var(--font-display-caps); font-size: 12px; letter-spacing: .3em; color: var(--nsher-gold); font-weight: 500; line-height: 1.5; }
.nsher .nsher-givelink__btn { max-width: 100%; }
.nsher .nsher-givelink__sub { font-size: 14px; color: var(--nsher-sub); line-height: 1.7; }

/* ==========================================================================
   カード（design/Heritage Lot Card.dc.html）
   ========================================================================== */
.nsher .nsher-card { display: flex; flex-direction: column; gap: 14px; min-width: 0; color: var(--nsher-navy); font-family: var(--font-sans-jp); text-decoration: none; }
.nsher .nsher-card:hover { color: var(--nsher-navy); }
.nsher .nsher-card__media { position: relative; display: block; aspect-ratio: 4 / 5; background: var(--nsher-photo); overflow: hidden; }
.nsher .nsher-card__scene { opacity: 0; transition: opacity 420ms var(--nsher-ease); }
.nsher .nsher-card:hover .nsher-card__scene, .nsher .nsher-card:focus-visible .nsher-card__scene { opacity: 1; }
.nsher .nsher-card__body { display: flex; flex-direction: column; gap: 6px; padding: 0 2px; }
.nsher .nsher-card__row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.nsher .nsher-card__lot { font-family: var(--font-serif-latin); font-style: italic; font-size: 15px; color: var(--nsher-sub); letter-spacing: .04em; line-height: 1.4; }
.nsher .nsher-card__rank { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--nsher-sub); line-height: 1.4; }
.nsher .nsher-rank { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border: 1px solid var(--nsher-gold); font-family: var(--font-display-caps); font-size: 12px; font-weight: 500; color: var(--nsher-navy); line-height: 1; }
.nsher .nsher-rank--lg { width: 32px; height: 32px; font-size: 15px; }
.nsher .nsher-card__name { font-family: var(--font-serif-jp); font-weight: 500; font-size: 17px; line-height: 1.5; color: var(--nsher-navy); text-wrap: pretty; }
.nsher .nsher-card__brand { font-size: 13px; color: var(--nsher-sub); line-height: 1.6; }

/* 価格（nsher_render_price） */
.nsher .nsher-price { margin-top: 6px; padding-top: 8px; border-top: 1px solid var(--nsher-hair); display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px; }
.nsher .nsher-price__amount { font-family: var(--font-serif-latin); font-size: 21px; font-weight: 500; letter-spacing: .02em; line-height: 1.2; color: var(--nsher-navy); }
.nsher .nsher-price__tax { font-size: 12px; color: var(--nsher-sub); line-height: 1.4; }

/* ==========================================================================
   ③ 個別：関連品（本体は 1.1.5 からテーマのマークアップ。末尾の .nsher--single 節）
   ========================================================================== */
/* 関連品 */
.nsher .nsher-related { margin-top: clamp(72px, 9cqw, 120px); display: flex; flex-direction: column; align-items: center; gap: 20px; }
.nsher .nsher-related__title { font-family: var(--font-serif-jp); font-weight: 500; font-size: clamp(22px, 2.6cqw, 30px); letter-spacing: .04em; line-height: 1.4; color: var(--nsher-navy); text-align: center; }
.nsher .nsher-related__grid { width: 100%; margin-top: 24px; }

/* ==========================================================================
   ④ 差し込み部品（ブログ本文の幅に収める）
   ========================================================================== */
.nsher.nsher-panel { margin: 32px 0; padding: 40px 0; border-top: 1px solid var(--nsher-gold); border-bottom: 1px solid var(--nsher-gold); background: transparent; display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; }
.nsher .nsher-panel__title { font-family: var(--font-serif-jp); font-weight: 500; font-size: clamp(20px, 2.6cqw, 24px); line-height: 1.5; letter-spacing: .04em; color: var(--nsher-navy); }
.nsher .nsher-panel__lead { font-size: 15px; line-height: 1.8; color: var(--nsher-text); }
.nsher .nsher-panel__row { width: 100%; margin-top: 16px; display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; text-align: left; scrollbar-width: thin; }
.nsher .nsher-panel__cell { flex: 0 0 max(150px, calc((100% - 48px) / 4)); scroll-snap-align: start; min-width: 0; }
.nsher.nsher-panel .nsher-btn { margin-top: 12px; }

/* ==========================================================================
   ② 一覧上部のカルーセル（テーマのマークアップ）。テーマの .home-nav は下に 117px はみ出すので余白を取る
   ========================================================================== */
@media (min-width: 768px) {
	body.nsher-archive .home-main { margin-bottom: 117px; }
}

@media (prefers-reduced-motion: reduce) {
	.nsher .nsher-card__scene, .nsher .nsher-btn, .nsher .nsher-chip { transition: none; }
}

/* ------------------------------------------------------------------
 * 1.1.2: 一覧・個別・カード・パネルは既存プロダクトページ（テーマ）と同じ黒／グレー基調に揃える。
 * ゴールド・ネイビー・生成りの色トークンを、テーマの実際の色（#000/#333/#666/#999/#ddd/#ebebeb）へ置き換える。
 * トップページ（ブランドストーリー）は Claude Design の配色のまま。
 * ---------------------------------------------------------------- */
.nsher.nsher--archive,
.nsher.nsher--single,
.nsher.nsher-panel {
	--nsher-navy: #000000;
	--nsher-text: #333333;
	--nsher-sub: #666666;
	--nsher-gold: #999999;
	--nsher-rouge: #666666;
	--nsher-gray: #EBEBEB;
	--nsher-hair: #DDDDDD;
	--nsher-whisper: #F7F7F7;
	--nsher-input: #CCCCCC;
	--nsher-photo: #000000;
}
.nsher.nsher--archive .nsher-chip.is-active,
.nsher.nsher--single .nsher-chip.is-active { color: #FFFFFF; }

/* ------------------------------------------------------------------
 * 1.1.5: 個別ページ本体はテーマのプロダクト個別と同じマークアップ（.single-products ほか）。
 * 見た目はテーマ style.css が付ける。ここはテーマに無い部分だけ（main.nsher--single 配下。.nsher の土台リセットは掛けない）。
 * ---------------------------------------------------------------- */
.nsher--single {
	--nsher-theme-serif: "Crimson Text", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
}
/* 売約済みの目印（写真の左上） */
.nsher--single .nsher-soldmark { position: absolute; top: 16px; left: 16px; z-index: 2; padding: 6px 12px 5px; background: #333333; color: #FFFFFF; font-family: Cinzel, var(--nsher-theme-serif); font-size: 1.2rem; letter-spacing: .2em; line-height: 1; pointer-events: none; }
/* 写真が1枚も無い品 */
.nsher--single .nsher-noimg-box { background: #EBEBEB; }
.nsher--single .nsher-noimg-text { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #666666; font-family: var(--nsher-theme-serif); font-style: italic; font-size: 1.6rem; letter-spacing: .06em; }
/* 仕様表：ブランド名（テーマはリンク。ヘリテージはブランドページが無いので文字） */
.nsher--single .products-spec .brand .nsher-brandname { display: block; margin-bottom: 8px; line-height: 1.2; }
/* 仕様表：状態のランク */
.nsher--single .nsher-rankmark { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; margin-right: 10px; border: 1px solid #000000; font-family: var(--nsher-theme-serif); font-size: 1.4rem; line-height: 1; vertical-align: 1px; }
/* アコーディオンの中身 */
.nsher--single .nsher-acc__label { font-weight: 700; margin: 0 0 8px; }
.nsher--single .nsher-acc__list { list-style: none; margin: 0 0 20px; padding: 0; }
.nsher--single .nsher-acc__list:last-child { margin-bottom: 0; }
.nsher--single .nsher-acc__list li { margin: 0 0 6px; padding: 0; }
.nsher--single .nsher-acc__note { display: block; color: #666666; font-size: .92em; }
.nsher--single .nsher-acc__ranks { margin: 0; }
.nsher--single .nsher-acc__ranks > div { display: flex; gap: 12px; padding: 8px; }
.nsher--single .nsher-acc__ranks > div.is-current { background: #F5F5F5; }
.nsher--single .nsher-acc__ranks dt { flex: 0 0 16px; margin: 0; font-family: var(--nsher-theme-serif); font-weight: 700; }
.nsher--single .nsher-acc__ranks dd { flex: 1 1 0; margin: 0; }
.nsher--single .products-info__content p:last-child { margin-bottom: 0; }
/* 売約済み：お問い合わせ欄の差し替え */
.nsher--single .nsher-soldnote { margin: 0 0 24px; line-height: 1.8; }
.nsher--single .nsher-btn2 { margin-top: 12px; }
/* 関連品・導線（.nsher の見た目）。テーマ本体の下に区切り線 */
.nsher.nsher-more .nsher-related { margin-top: 0; padding-top: clamp(56px, 7cqw, 80px); border-top: 1px solid #DDDDDD; }
/* テーマ本番ではお問い合わせ欄はウィジェット（.textwidget）内で、見出し h3 が細字・グレーになっている。その見え方に合わせる */
.nsher--single .common-contact .tel-info .title { font-weight: 500; color: #666666; }

/* 1.1.6: カタログ帯を一覧の最後（「家具を手放すことになった、お客様へ」の下）へ移動 */
.nsher .nsher-band.nsher-band--after { margin-top: clamp(40px, 5cqw, 56px); margin-bottom: 0; }

/* 1.1.7: 一覧見出しを入れ替え（上に小さく「西村貿易 認定再生家具」、タイトルは Heritage Collection） */
.nsher .nsher-listhead__sub { font-family: var(--font-serif-jp); font-weight: 500; font-size: clamp(14px, 1.4cqw, 16px); letter-spacing: .12em; line-height: 1.5; color: var(--nsher-sub); }
.nsher .nsher-listhead__title--en { font-family: var(--font-serif-latin); font-weight: 500; font-size: clamp(34px, 4.8cqw, 56px); letter-spacing: .04em; line-height: 1.2; }
