/* Nest in Small Core — follows the Kadence global palette, with warm fallbacks. */
:root {
	--nis-accent: var(--global-palette1, #A84A2A);
	--nis-accent-dark: var(--global-palette2, #8C3B1F);
	--nis-ink: var(--global-palette3, #2B1F1A);
	--nis-text: var(--global-palette4, #4A3A31);
	--nis-muted: var(--global-palette5, #6B5A4E);
	--nis-line: var(--global-palette7, #EADFCF);
	--nis-card: var(--global-palette9, #FBF7F1);
	--nis-ochre: var(--global-palette10, #E7A94B);
	--nis-ochre-soft: #F4DDB0;
	--nis-ochre-ink: #5A3D12;
	--nis-olive-bg: #E4EBDC;
	--nis-olive-ink: #3A5229;
	--nis-clay-bg: #F8D9CB;
	--nis-clay-ink: #7A2E14;
	--nis-paper: #FFFDF9;
	--nis-mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

/* ---------- Inline text formats ---------- */
.nis-mono { font-family: var(--nis-mono); font-weight: 500; }
.nis-fits, .nis-tight, .nis-no {
	display: inline-block;
	padding: 0.2em 0.75em;
	border-radius: 999px;
	font-weight: 700;
	font-size: 0.85em;
	line-height: 1.5;
	white-space: nowrap;
}
.nis-fits { background: var(--nis-olive-bg); color: var(--nis-olive-ink); }
.nis-tight { background: var(--nis-ochre-soft); color: var(--nis-ochre-ink); }
.nis-no { background: var(--nis-clay-bg); color: var(--nis-clay-ink); }

/* ---------- Paragraph helpers used by the patterns ---------- */
.nis-eyebrow {
	font-family: var(--nis-mono);
	font-size: 13px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--nis-accent);
	margin-bottom: 0.4em;
}
.nis-stat-num {
	font-family: var(--nis-mono);
	font-weight: 500;
	font-size: 30px;
	line-height: 1.1;
	color: var(--nis-accent);
	margin: 0;
}
.nis-stat-label { font-size: 14px; color: var(--nis-muted); margin: 0.2em 0 0; line-height: 1.4; }
.nis-note { font-size: 14px; color: var(--nis-muted); line-height: 1.6; }

/* ---------- Group block styles ---------- */
.wp-block-group.is-style-nis-answer,
.wp-block-group.is-style-nis-card,
.wp-block-group.is-style-nis-callout {
	background: var(--nis-card);
	border: 1px solid var(--nis-line);
	border-radius: 20px;
	padding: clamp(18px, 3vw, 28px);
}
.wp-block-group.is-style-nis-card { border-radius: 18px; padding: 16px; }
.wp-block-group.is-style-nis-card .wp-block-image { margin: 0 0 12px; }
.wp-block-group.is-style-nis-card .wp-block-image img { border-radius: 12px; background: var(--nis-paper); width: 100%; }
.wp-block-group.is-style-nis-card h3 { font-size: 19px; margin: 0 0 6px; }
.wp-block-group.is-style-nis-card p { font-size: 15px; margin: 6px 0 0; }

.wp-block-group.is-style-nis-rule {
	background: var(--nis-ochre-soft);
	border-radius: 16px;
	padding: 18px 20px;
}
.wp-block-group.is-style-nis-rule p { margin: 0; }
.wp-block-group.is-style-nis-rule .nis-mono { color: var(--nis-ochre-ink); }

.wp-block-group.is-style-nis-callout { border-left-width: 1px; background: var(--nis-paper); }

.wp-block-group.is-style-nis-cta {
	background: var(--nis-ink);
	color: var(--nis-card);
	border-radius: 22px;
	padding: clamp(22px, 4vw, 36px);
}
.wp-block-group.is-style-nis-cta h2,
.wp-block-group.is-style-nis-cta h3,
.wp-block-group.is-style-nis-cta h4 { color: var(--nis-card); margin-top: 0; }
.wp-block-group.is-style-nis-cta p { color: #E9DCCB; }
.wp-block-group.is-style-nis-cta .wp-block-button__link { background: var(--nis-ochre); color: var(--nis-ink); }
.wp-block-group.is-style-nis-cta .wp-block-button__link:hover { background: var(--nis-card); color: var(--nis-ink); }

/* ---------- Table style ---------- */
.wp-block-table.is-style-nis {
	overflow-x: auto;
	border: 1px solid var(--nis-line);
	border-radius: 16px;
	background: var(--nis-card);
}
.wp-block-table.is-style-nis table { border-collapse: collapse; width: 100%; min-width: 520px; margin: 0; }
.wp-block-table.is-style-nis th,
.wp-block-table.is-style-nis td {
	border: 0;
	border-top: 1px solid var(--nis-line);
	padding: 12px 16px;
	text-align: left;
	vertical-align: middle;
}
.wp-block-table.is-style-nis thead th { background: #EFE4D4; border-top: 0; font-weight: 700; color: var(--nis-ink); }
.wp-block-table.is-style-nis td:first-child { font-weight: 700; color: var(--nis-ink); }
.wp-block-table.is-style-nis figcaption { padding: 8px 16px 12px; font-size: 13px; color: var(--nis-muted); }

/* ---------- Fit Check calculator ---------- */
.nis-fit {
	background: var(--nis-ink);
	color: var(--nis-card);
	border-radius: 24px;
	padding: clamp(20px, 4vw, 30px);
	margin: 2em 0;
}
.nis-fit .nis-fit__eyebrow {
	font-family: var(--nis-mono);
	font-size: 13px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--nis-ochre);
	margin: 0;
}
.nis-fit .nis-fit__title { color: var(--nis-card); margin: 4px 0 18px; font-size: clamp(22px, 3vw, 28px); line-height: 1.2; }
.nis-fit__body { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; }
.nis-fit__controls { flex: 1 1 280px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.nis-fit__inputs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.nis-fit__inputs label,
.nis-fit__beds legend { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 700; color: #D9C9B3; }
.nis-fit .nis-fit__inputs input[type="number"] {
	background: #3A2B23;
	border: 1px solid #5A473B;
	color: var(--nis-card);
	border-radius: 10px;
	padding: 11px 13px;
	font-family: var(--nis-mono);
	font-size: 17px;
	min-width: 0;
	width: 100%;
	box-sizing: border-box;
}
.nis-fit .nis-fit__inputs input[type="number"]:focus { outline: 2px solid var(--nis-ochre); outline-offset: 1px; border-color: var(--nis-ochre); }
.nis-fit__beds { border: 0; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.nis-fit__beds legend { margin-bottom: 8px; padding: 0; }
.nis-fit__bed-opt { position: relative; display: block; }
.nis-fit__bed-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.nis-fit__bed-opt span {
	display: block;
	text-align: center;
	border: 1px solid #5A473B;
	border-radius: 10px;
	padding: 11px 4px;
	font-weight: 700;
	font-size: 15px;
	cursor: pointer;
	color: var(--nis-card);
}
.nis-fit__bed-opt input:checked + span { background: var(--nis-ochre); border-color: var(--nis-ochre); color: var(--nis-ink); }
.nis-fit__bed-opt input:focus-visible + span { outline: 2px solid var(--nis-ochre); outline-offset: 2px; }
.nis-fit__result { background: #3A2B23; border-radius: 16px; padding: 16px 18px; }
.nis-fit__verdict { font-size: 15px; }
.nis-fit .nis-fit__note { margin: 10px 0 0; font-size: 15px; line-height: 1.6; color: #E9DCCB; }
.nis-fit__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 14px 0 0; }
.nis-fit__stats div { display: flex; flex-direction: column-reverse; }
.nis-fit__stats dt { font-size: 13px; color: #D9C9B3; font-weight: 400; }
.nis-fit__stats dd { margin: 0; font-family: var(--nis-mono); font-size: 26px; color: var(--nis-ochre); line-height: 1.2; }
.nis-fit__plan {
	flex: 1 1 240px;
	min-width: 0;
	background: var(--nis-paper);
	border-radius: 16px;
	min-height: 280px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 16px;
	box-sizing: border-box;
}
.nis-fit__room { position: relative; border: 4px solid var(--nis-ink); background: var(--nis-paper); box-sizing: content-box; transition: width .15s, height .15s; }
.nis-fit__bedbox { position: absolute; top: 0; background: #F8E7DE; border: 2px solid var(--nis-accent); box-sizing: border-box; transition: all .15s; }
.nis-fit .nis-fit__caption { margin: 0; font-family: var(--nis-mono); font-size: 12px; color: var(--nis-muted); }
.nis-fit .nis-fit__fineprint { margin: 16px 0 0; font-size: 13px; color: #BFAE9C; line-height: 1.5; }

/* ---------- Table of Contents Plus: match the site ---------- */
div#toc_container[id] {
	background: var(--nis-card);
	border: 1px solid var(--nis-line);
	border-radius: 16px;
	padding: 16px 20px;
	box-shadow: none;
}
div#toc_container[id] .toc_title {
	font-family: var(--nis-mono);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--nis-muted);
	text-align: left;
}
div#toc_container[id] a { color: var(--nis-ink); text-decoration: none; }
div#toc_container[id] a:hover { color: var(--nis-accent); text-decoration: underline; }

/* ---------- Category & guide lists: compact topic map ---------- */
.post-archive.kadence-posts-list { gap: 0; row-gap: 0; }
.post-archive.kadence-posts-list .loop-entry { background: transparent; border-top: 1px solid var(--nis-line); margin: 0; }
.post-archive.kadence-posts-list .loop-entry:last-child { border-bottom: 1px solid var(--nis-line); }
.post-archive.kadence-posts-list .loop-entry .entry-content-wrap { padding: 14px 0; }
.post-archive.kadence-posts-list .loop-entry .entry-header { margin: 0; }
.post-archive.kadence-posts-list .loop-entry .entry-header .entry-title { font-size: 20px; line-height: 1.35; margin: 0; }
.post-archive.kadence-posts-list .loop-entry .entry-title a { display: flex; justify-content: space-between; gap: 16px; color: var(--nis-ink); text-decoration: none; }
.post-archive.kadence-posts-list .loop-entry .entry-title a::after { content: "→"; color: var(--nis-accent); flex: none; }
.post-archive.kadence-posts-list .loop-entry .entry-title a:hover { color: var(--nis-accent); }
.post-archive.kadence-posts-list .loop-entry .entry-footer { display: none; }

/* ---------- Homepage latest guides: same title-only list ---------- */
.wp-block-latest-posts.nis-list { list-style: none; padding: 0; margin: 0 0 1em; }
.wp-block-latest-posts.nis-list li { border-top: 1px solid var(--nis-line); margin: 0; }
.wp-block-latest-posts.nis-list li:last-child { border-bottom: 1px solid var(--nis-line); }
.wp-block-latest-posts.nis-list a { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; font-family: var(--global-heading-font-family, inherit); font-weight: 700; font-size: 20px; line-height: 1.35; color: var(--nis-ink); text-decoration: none; }
.wp-block-latest-posts.nis-list a::after { content: "→"; color: var(--nis-accent); flex: none; }
.wp-block-latest-posts.nis-list a:hover { color: var(--nis-accent); }

/* ---------- Landing pages: homepage and Fit Tools ---------- */
.nis-band { padding-top: clamp(48px, 7vw, 88px); padding-bottom: clamp(48px, 7vw, 88px); margin-top: 0; margin-bottom: 0; }
.nis-band > .wp-block-group__inner-container { max-width: 1200px; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; box-sizing: border-box; }
.nis-band > .wp-block-group__inner-container > * { max-width: none; }
.nis-band--tight { padding-top: 24px; }
.nis-band--dark { background: var(--nis-ink); color: var(--nis-card); }
.nis-band--dark h2, .nis-band--dark h3 { color: var(--nis-card); }
.nis-band--dark p { color: #D9C9B3; }
.nis-band--clay { background: var(--nis-accent); color: #fff; }
.nis-band--clay h2 { color: #fff; }
.nis-band--clay p { color: #FBE6DC; }
.nis-band--clay .wp-block-button__link { background: #fff; color: var(--nis-accent-dark); }
.nis-band--clay .wp-block-button__link:hover { background: var(--nis-card); color: var(--nis-ink); }
.nis-kicker { font-family: var(--nis-mono); font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--nis-accent); margin: 0 0 12px; }
.nis-band--dark .nis-kicker { color: var(--nis-ochre); }
.nis-band--clay .nis-kicker { color: #FBE6DC; }
.nis-h2 { font-size: clamp(32px, 4vw, 46px); line-height: 1.05; letter-spacing: -0.03em; margin: 0 0 16px; }
.nis-hero h1 { font-size: clamp(40px, 6vw, 68px); line-height: 1.02; letter-spacing: -0.035em; margin: 18px 0; }
.nis-lead { font-size: 20px; line-height: 1.55; color: var(--nis-text); max-width: 34em; }
.nis-chip { display: inline-block; background: var(--nis-ochre-soft); color: var(--nis-ochre-ink); padding: 7px 14px; border-radius: 999px; font-family: var(--nis-mono); font-size: 13px; font-weight: 500; margin: 0; }
.nis-hero .wp-block-columns { align-items: center; gap: 48px; }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; border: 1.5px solid var(--nis-ink); color: var(--nis-ink); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--nis-ink); color: var(--nis-card); }
.nis-cards { gap: 18px; margin-bottom: 18px; }
.nis-cards > .wp-block-column > .wp-block-group { height: 100%; box-sizing: border-box; margin: 0; }
.nis-tool { background: var(--nis-card); border: 1px solid var(--nis-line); border-radius: 22px; padding: 26px; }
.nis-tool h3 { font-size: 22px; margin: 12px 0 8px; }
.nis-tool p { font-size: 15px; line-height: 1.55; margin: 0; color: var(--nis-text); }
.nis-tool p + p { margin-top: 12px; }
.nis-tool--live { background: var(--nis-accent); border-color: var(--nis-accent); }
.nis-tool--live h3, .nis-tool--live a { color: #fff; }
.nis-tool--live p { color: #FBE6DC; }
.nis-live, .nis-soon { display: inline-block; padding: 3px 10px; border-radius: 999px; font-family: var(--nis-mono); font-size: 12px; font-weight: 500; letter-spacing: 0.04em; }
.nis-live { background: #fff; color: var(--nis-accent-dark); }
.nis-soon { background: #EFE4D4; color: var(--nis-muted); }
.nis-room { background: var(--nis-card); border: 1px solid var(--nis-line); border-radius: 20px; padding: 18px; }
.nis-room h3 { font-size: 21px; margin: 0 0 6px; }
.nis-room h3 a { color: var(--nis-ink); text-decoration: none; }
.nis-room h3 a::after { content: " →"; color: var(--nis-accent); }
.nis-room h3 a:hover { color: var(--nis-accent); }
.nis-room p { font-size: 14px; line-height: 1.5; color: var(--nis-muted); margin: 0; }
.nis-mini { background: var(--nis-paper); border-radius: 12px; height: 170px; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; }
.nis-step { border: 1px solid #4A3A31; border-radius: 18px; padding: 28px; }
.nis-step h3 { font-size: 24px; margin: 10px 0; }
.nis-step p { margin: 0; line-height: 1.6; }
.nis-panel { background: var(--nis-ochre-soft); border-radius: 28px; padding: clamp(28px, 5vw, 52px); }
.nis-panel .wp-block-columns { align-items: center; gap: 40px; }
.nis-panel p { color: #4A3520; }
.nis-panel .nis-kicker { color: var(--nis-ochre-ink); }
.nis-statcard { background: var(--nis-card); border-radius: 16px; padding: 22px; }
.nis-big { font-family: var(--nis-mono); font-weight: 500; font-size: 36px; line-height: 1.1; color: var(--nis-accent); margin: 0; }
.nis-statcard .nis-big + p { margin: 6px 0 0; font-weight: 700; font-size: 15px; color: var(--nis-ink); }
.nis-stats { gap: 14px; margin-bottom: 14px; }
.nis-cta-row { align-items: center; gap: 32px; }
.nis-cta-row .wp-block-buttons { justify-content: flex-end; }
@media (max-width: 781px) {
	.nis-cta-row .wp-block-buttons { justify-content: flex-start; }
	.nis-hero .wp-block-columns { gap: 32px; }
}

/* ---------- Landing page fixes (v1.0.5) ---------- */
.wp-block-columns.nis-cta-row,
.nis-hero > .wp-block-group__inner-container > .wp-block-columns,
.nis-panel > .wp-block-group__inner-container > .wp-block-columns { align-items: center !important; }
.entry-content .nis-hero h1 { margin-top: 18px; margin-bottom: 18px; }
.entry-content .nis-hero .nis-chip { margin-bottom: 0; }
.nis-band.nis-hero { padding-bottom: 32px; }
.nis-band--tight { padding-top: 8px; }
.nis-band--tight .nis-fit { margin-top: 0; }
.nis-panel .nis-big { color: var(--nis-accent); }
.nis-panel .nis-statcard .nis-big + p { color: var(--nis-ink); line-height: 1.35; }

/* ---------- Palette: Terracotta + Linen + Sage (v1.1.0) ---------- */
:root {
	--nis-accent: var(--global-palette1, #B65332);
	--nis-accent-dark: var(--global-palette2, #934029);
	--nis-ink: var(--global-palette3, #2F302A);
	--nis-text: var(--global-palette4, #2F302A);
	--nis-muted: var(--global-palette5, #635D55);
	--nis-line: var(--global-palette7, #E4DCD1);
	--nis-card: var(--global-palette9, #FFFFFF);
	--nis-ochre: var(--global-palette10, #A5AD95);
	--nis-paper: #FAF7F2;
	--nis-sand: #F6E5DB;
	--nis-sage: #A5AD95;
	--nis-sage-soft: #DDE5D6;
	--nis-sage-ink: #486044;
	--nis-control: #8C7F71;
	--nis-ochre-soft: #FCF1DE;
	--nis-ochre-ink: #755021;
	--nis-olive-bg: #DDE5D6;
	--nis-olive-ink: #486044;
	--nis-clay-bg: #F2DAD4;
	--nis-clay-ink: #963C35;
}
.nis-eyebrow, .nis-kicker { color: var(--nis-accent-dark); }
.wp-block-group.is-style-nis-rule { background: var(--nis-sage-soft); }
.wp-block-group.is-style-nis-rule .nis-mono { color: var(--nis-sage-ink); }
.wp-block-group.is-style-nis-callout { background: var(--nis-card); }
.wp-block-table.is-style-nis thead th { background: var(--nis-sage-soft); }
.nis-fit { background: var(--nis-card); color: var(--nis-text); border: 1px solid var(--nis-line); }
.nis-fit .nis-fit__eyebrow { color: var(--nis-accent-dark); }
.nis-fit .nis-fit__title { color: var(--nis-ink); }
.nis-fit__inputs label, .nis-fit__beds legend { color: var(--nis-muted); }
.nis-fit .nis-fit__inputs input[type="number"] { background: #fff; border-color: var(--nis-control); color: var(--nis-ink); }
.nis-fit .nis-fit__inputs input[type="number"]:focus { outline-color: var(--nis-accent-dark); border-color: var(--nis-accent-dark); }
.nis-fit__bed-opt span { background: #fff; border-color: var(--nis-control); color: var(--nis-ink); }
.nis-fit__bed-opt input:checked + span { background: var(--nis-sand); border-color: var(--nis-accent); color: var(--nis-accent-dark); }
.nis-fit__bed-opt input:focus-visible + span { outline-color: var(--nis-accent-dark); }
.nis-fit__result { background: var(--nis-paper); border: 1px solid var(--nis-line); }
.nis-fit .nis-fit__note { color: var(--nis-text); }
.nis-fit__stats dt { color: var(--nis-muted); }
.nis-fit__stats dd { color: var(--nis-ink); }
.nis-fit__plan { background: var(--nis-paper); border: 1px solid var(--nis-line); }
.nis-fit__room { background: #fff; border-color: var(--nis-ink); }
.nis-fit__bedbox { background: var(--nis-sand); border-color: var(--nis-accent); }
.nis-fit .nis-fit__fineprint { color: var(--nis-muted); }
.nis-band--dark { background: var(--nis-sage-soft); color: var(--nis-text); }
.nis-band--dark h2, .nis-band--dark h3 { color: var(--nis-ink); }
.nis-band--dark p { color: var(--nis-text); }
.nis-band--dark .nis-kicker { color: var(--nis-accent-dark); }
.nis-step { background: var(--nis-card); border-color: var(--nis-sage); }
.nis-band--clay p, .nis-band--clay .nis-kicker { color: #fff; }
.nis-band--clay .wp-block-button__link { color: var(--nis-accent-dark); }
.nis-tool--live p { color: #fff; }
.nis-soon { background: var(--nis-line); color: var(--nis-muted); }
.nis-chip { background: var(--nis-sand); color: var(--nis-accent-dark); }
.nis-panel { background: var(--nis-sage-soft); border: 1px solid var(--nis-sage); }
.nis-panel p { color: var(--nis-text); }
.nis-panel .nis-kicker { color: var(--nis-sage-ink); }
.nis-mini { background: var(--nis-paper); }

/* ---------- Bedroom Solver (v1.2.0) ---------- */
.nis-sv { --sv-gap: 20px; color: var(--nis-text); font-size: 15px; margin: 0 0 2em; }
.nis-sv__loading { padding: 40px; text-align: center; color: var(--nis-muted); background: var(--nis-card); border: 1px solid var(--nis-line); border-radius: 16px; }
.nis-sv__grid { display: grid; grid-template-columns: minmax(250px, 300px) minmax(0, 1fr) minmax(250px, 320px); gap: var(--sv-gap); align-items: start; }
.nis-sv__inputs { display: flex; flex-direction: column; gap: 12px; margin: 0; }
.nis-sv__card { background: var(--nis-card); border: 1px solid var(--nis-line); border-radius: 16px; padding: 16px 18px; }
.nis-sv__card h3 { font-size: 17px; margin: 0 0 12px; line-height: 1.3; }
.nis-sv__pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.nis-sv__pair > div + div { margin-top: 0; }
.nis-sv__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 8px 0; }
.nis-sv__label { font-size: 12px; font-weight: 700; color: var(--nis-muted); margin: 4px 0 0; }
.nis-sv__label small { font-weight: 400; }
.nis-sv__field { display: flex; flex-direction: column; gap: 4px; font-size: 12px; font-weight: 700; color: var(--nis-muted); margin: 0 0 8px; min-width: 0; }
.nis-sv .nis-sv__field select, .nis-sv .nis-sv__unit input[type="number"] {
	width: 100%; box-sizing: border-box; height: 40px; border: 1px solid var(--nis-control); border-radius: 8px; background: #fff;
	color: var(--nis-ink); font-size: 15px; padding: 6px 10px; margin: 0;
}
.nis-sv .nis-sv__unit { position: relative; display: block; }
.nis-sv .nis-sv__unit input[type="number"] { padding-right: 30px; font-family: var(--nis-mono); }
.nis-sv .nis-sv__unit em { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); font-style: normal; font-size: 12px; color: var(--nis-muted); pointer-events: none; }
.nis-sv .nis-sv__field select:focus, .nis-sv .nis-sv__unit input:focus { outline: 2px solid var(--nis-accent-dark); outline-offset: 1px; border-color: var(--nis-accent-dark); }
.nis-sv__hint { font-size: 12px; line-height: 1.5; color: var(--nis-muted); margin: 4px 0 10px; }
.nis-sv__check { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; color: var(--nis-ink); cursor: pointer; margin: 10px 0 0; }
.nis-sv__card h3 .nis-sv__check { margin: 0; font-size: 17px; }
.nis-sv__check input { width: 18px; height: 18px; accent-color: var(--nis-accent); margin: 0; }
.nis-sv__seg { border: 0; padding: 0; margin: 0 0 6px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.nis-sv__seg legend { font-size: 12px; font-weight: 700; color: var(--nis-muted); margin-bottom: 6px; padding: 0; }
.nis-sv__seg label { position: relative; }
.nis-sv__seg input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.nis-sv__seg span { display: block; text-align: center; padding: 9px 4px; border: 1px solid var(--nis-control); border-radius: 8px; font-size: 13px; font-weight: 700; cursor: pointer; background: #fff; color: var(--nis-ink); }
.nis-sv__seg input:checked + span { background: var(--nis-sand); border-color: var(--nis-accent); color: var(--nis-accent-dark); }
.nis-sv__seg input:focus-visible + span { outline: 2px solid var(--nis-accent-dark); outline-offset: 2px; }
.nis-sv__plan { background: var(--nis-card); border: 1px solid var(--nis-line); border-radius: 20px; padding: 18px 18px 14px; min-width: 0; position: sticky; top: 24px; }
.nis-sv__planhead { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.nis-sv__planhead h3 { font-size: 22px; margin: 2px 0 0; line-height: 1.2; }
.nis-sv__eyebrow { font-family: var(--nis-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--nis-accent-dark); margin: 0; }
.nis-sv__svg { background: var(--nis-paper); border-radius: 12px; padding: 8px; }
.nis-sv__svg svg { display: block; width: 100%; height: auto; max-height: 68vh; margin: 0 auto; font-family: var(--global-body-font-family, sans-serif); }
.nis-sv__legend { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 10px; font-size: 12px; color: var(--nis-muted); }
.nis-sv__legend span { display: inline-flex; align-items: center; gap: 6px; }
.nis-sv__k { width: 14px; height: 10px; display: inline-block; border-radius: 2px; }
.nis-sv__k--ok { background: repeating-linear-gradient(45deg, #A5AD95 0 2px, #DDE5D6 2px 5px); }
.nis-sv__k--bad { background: repeating-linear-gradient(45deg, #B65332 0 2px, #F2DAD4 2px 5px); }
.nis-sv__k--door { border-top: 1.5px dashed #8C7F71; border-left: 1.5px dashed #8C7F71; border-top-left-radius: 12px; }
.nis-sv__k--win { background: #DDE5D6; border: 1px solid #2F302A; height: 5px; }
.nis-sv__tools { display: flex; justify-content: flex-end; margin-top: 8px; }
.nis-sv__btn { background: #fff; border: 1px solid var(--nis-control); color: var(--nis-ink); border-radius: 999px; padding: 8px 14px; font-size: 13px; font-weight: 700; cursor: pointer; }
.nis-sv__btn:hover { border-color: var(--nis-accent); color: var(--nis-accent-dark); background: var(--nis-paper); }
.nis-sv__results { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.nis-sv__rtitle { font-size: 20px; margin: 0 0 2px; }
.nis-sv__lay { display: flex; flex-direction: column; gap: 8px; width: 100%; text-align: left; background: var(--nis-paper); border: 1px solid var(--nis-line); border-radius: 14px; padding: 14px 16px; cursor: pointer; color: var(--nis-text); font: inherit; }
.nis-sv__lay:hover { border-color: var(--nis-accent); }
.nis-sv__lay[aria-pressed="true"] { background: #fff; border: 2px solid var(--nis-accent); padding: 13px 15px; }
.nis-sv__layhead { display: flex; align-items: center; gap: 10px; }
.nis-sv__letter { width: 26px; height: 26px; border-radius: 50%; background: var(--nis-sand); color: var(--nis-accent-dark); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; flex: none; }
.nis-sv__laytitle { font-weight: 700; font-size: 15px; color: var(--nis-ink); flex: 1; }
.nis-sv__layhead .nis-fits { font-size: 11px; }
.nis-sv__nums { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 13px; color: var(--nis-muted); }
.nis-sv__nums b { font-family: var(--nis-mono); font-weight: 500; color: var(--nis-ink); }
.nis-sv__sides { font-size: 13px; color: var(--nis-sage-ink); }
.nis-sv__checks { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.nis-sv__checks li { display: flex; gap: 8px; align-items: baseline; }
.nis-sv__checks li::before { flex: none; width: 16px; text-align: center; font-weight: 700; }
.nis-sv__checks li.is-ok::before { content: "✓"; color: var(--nis-sage-ink); }
.nis-sv__checks li.is-bad::before { content: "!"; color: var(--nis-clay-ink); }
.nis-sv__checks small { font-family: var(--nis-mono); color: var(--nis-muted); margin-left: auto; }
.nis-sv__detail details { margin-top: 12px; font-size: 13px; color: var(--nis-muted); }
.nis-sv__detail summary { cursor: pointer; font-weight: 700; color: var(--nis-accent-dark); }
.nis-sv__detail details ul { margin: 8px 0 0 18px; padding: 0; }
.nis-sv__fail { background: #FAEEEB; border-color: #E9C9C1; }
.nis-sv__muted { color: var(--nis-muted); font-size: 14px; margin: 6px 0 0; }
.nis-sv__prop { border-top: 1px solid var(--nis-line); padding: 12px 0; }
.nis-sv__prop strong { display: block; color: var(--nis-ink); }
.nis-sv__prop p { font-size: 13px; color: var(--nis-muted); margin: 4px 0 8px; line-height: 1.5; }
.nis-sv__fine { font-size: 12px; color: var(--nis-muted); margin: 6px 0 0; }
@media (max-width: 1100px) {
	.nis-sv__grid { grid-template-columns: minmax(250px, 300px) minmax(0, 1fr); }
	.nis-sv__results { grid-column: 2; }
	.nis-sv__plan { position: static; }
}
.nis-sv ul.nis-sv__checks { padding: 0; margin-left: 0; }
.nis-sv .nis-sv__jump { display: none; }
@media (max-width: 760px) {
	.nis-sv__grid { grid-template-columns: minmax(0, 1fr); }
	.nis-sv__results { grid-column: auto; }
	.nis-sv__svg svg { max-height: none; }
	.nis-sv__plan { scroll-margin-top: 16px; }
	/* Phone-only bar: rides the bottom of the screen while the inputs are in view. */
	.nis-sv .nis-sv__jump,
	.nis-sv .nis-sv__jump:hover,
	.nis-sv .nis-sv__jump:focus { display: flex; position: sticky; bottom: 12px; z-index: 5; align-items: center; justify-content: space-between; gap: 10px; width: 100%; margin: 4px 0 0; padding: 13px 20px; border: 0; border-radius: 999px; background: var(--nis-ink); color: #fff; font: inherit; font-size: 14px; font-weight: 700; line-height: 1.3; text-align: left; box-shadow: 0 6px 18px rgba(47, 48, 42, .28); cursor: pointer; }
	.nis-sv .nis-sv__jump:focus-visible { outline: 2px solid var(--nis-accent); outline-offset: 3px; }
}
@media print {
	body.nis-sv-printing header, body.nis-sv-printing footer, body.nis-sv-printing .site-header, body.nis-sv-printing .site-footer,
	body.nis-sv-printing .nis-sv__inputs, body.nis-sv-printing .nis-sv__tools, body.nis-sv-printing #wpadminbar, body.nis-sv-printing .nis-sv__jump,
	body.nis-sv-printing .entry-content > *:not(.nis-sv):not(:has(.nis-sv)) { display: none !important; }
	body.nis-sv-printing .nis-sv__grid { grid-template-columns: 1fr; }
	body.nis-sv-printing .nis-sv__plan { position: static; border: 0; }
}

/* ---------- Calculators (v1.4.0) ---------- */
.nis-calc { background: var(--nis-card); border: 1px solid var(--nis-line); border-radius: 24px; padding: clamp(18px, 3.5vw, 30px); margin: 1.5em 0 2em; color: var(--nis-text); font-size: 15px; line-height: 1.5; }
.nis-calc .nis-calc__loading { color: var(--nis-muted); text-align: center; padding: 28px 0; margin: 0; }
.nis-calc__head { margin: 0 0 18px; }
.nis-calc .nis-calc__eyebrow { font-family: var(--nis-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--nis-accent-dark); margin: 0; }
.nis-calc .nis-calc__title { font-family: var(--global-heading-font-family, inherit); font-weight: 600; font-size: clamp(22px, 3vw, 28px); line-height: 1.2; color: var(--nis-ink); margin: 4px 0 0; }
.nis-calc .nis-calc__intro { margin: 6px 0 0; color: var(--nis-muted); font-size: 15px; line-height: 1.55; max-width: 62ch; }
.nis-calc__body { display: grid; grid-template-columns: minmax(250px, 330px) minmax(0, 1fr); gap: 24px; align-items: start; }
.nis-calc__inputs { display: flex; flex-direction: column; gap: 16px; margin: 0; min-width: 0; }
.nis-calc__group { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.nis-calc__group + .nis-calc__group { border-top: 1px solid var(--nis-line); padding-top: 14px; }
.nis-calc .nis-calc__gtitle { font-weight: 700; font-size: 14px; color: var(--nis-ink); margin: 0; }
.nis-calc__pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.nis-calc__field { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.nis-calc__field > label { font-size: 12px; font-weight: 700; color: var(--nis-muted); line-height: 1.3; }
.nis-calc__unit { position: relative; display: block; min-width: 0; }
.nis-calc .nis-calc__unit input,
.nis-calc .nis-calc__field select { width: 100%; box-sizing: border-box; height: 42px; border: 1px solid var(--nis-control); border-radius: 8px; background: #fff; color: var(--nis-ink); font-size: 16px; padding: 6px 30px 6px 10px; margin: 0; font-family: var(--nis-mono); box-shadow: none; }
.nis-calc .nis-calc__field select { font-family: inherit; font-size: 15px; padding-right: 10px; }
.nis-calc .nis-calc__unit em { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); font-style: normal; font-size: 12px; color: var(--nis-muted); pointer-events: none; }
.nis-calc .nis-calc__unit input:focus,
.nis-calc .nis-calc__field select:focus { outline: 2px solid var(--nis-accent-dark); outline-offset: 1px; border-color: var(--nis-accent-dark); }
.nis-calc__ftin { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.nis-calc .nis-calc__hint { font-size: 12px; font-weight: 400; line-height: 1.45; color: var(--nis-muted); margin: 0; }
.nis-calc__seg { border: 0; padding: 0; margin: 0; min-width: 0; }
.nis-calc__seg legend { font-size: 12px; font-weight: 700; color: var(--nis-muted); margin: 0 0 6px; padding: 0; line-height: 1.3; }
.nis-calc__opts { display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: 6px; min-width: 0; }
.nis-calc__seg label { position: relative; display: block; min-width: 0; margin: 0; }
.nis-calc__seg input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.nis-calc__seg span { display: flex; align-items: center; justify-content: center; text-align: center; min-height: 40px; height: 100%; padding: 6px 4px; border: 1px solid var(--nis-control); border-radius: 8px; font-size: 13px; font-weight: 700; line-height: 1.2; cursor: pointer; background: #fff; color: var(--nis-ink); box-sizing: border-box; }
.nis-calc__seg input:checked + span { background: var(--nis-sand); border-color: var(--nis-accent); color: var(--nis-accent-dark); }
.nis-calc__seg input:focus-visible + span { outline: 2px solid var(--nis-accent-dark); outline-offset: 2px; }
.nis-calc__check { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--nis-ink); cursor: pointer; margin: 0; }
.nis-calc__check input { width: 18px; height: 18px; accent-color: var(--nis-accent); margin: 0; flex: none; }
.nis-calc__out { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.nis-calc__verdict { background: var(--nis-paper); border: 1px solid var(--nis-line); border-radius: 16px; padding: 16px 18px; }
.nis-calc__verdict.is-no { background: #FAEEEB; border-color: #E9C9C1; }
.nis-calc .nis-calc__verdict p { margin: 8px 0 0; font-size: 15px; line-height: 1.6; color: var(--nis-text); }
.nis-calc .nis-calc__verdict p.nis-calc__headline { margin: 0; font-size: 17px; line-height: 1.45; color: var(--nis-ink); }
.nis-calc__headline .nis-fits, .nis-calc__headline .nis-tight, .nis-calc__headline .nis-no { font-size: 12px; vertical-align: 2px; margin-right: 4px; }
.nis-calc__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); gap: 10px; margin: 0; }
.nis-calc__stats div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 4px; background: var(--nis-paper); border: 1px solid var(--nis-line); border-radius: 14px; padding: 12px 14px; }
.nis-calc__stats dt { font-size: 13px; color: var(--nis-muted); line-height: 1.35; font-weight: 400; }
.nis-calc__stats dd { margin: 0; font-family: var(--nis-mono); font-weight: 500; font-size: clamp(21px, 2.6vw, 26px); line-height: 1.15; color: var(--nis-accent-dark); }
.nis-calc__fig { background: var(--nis-paper); border: 1px solid var(--nis-line); border-radius: 16px; padding: 10px; margin: 0; }
.nis-calc__fig svg { display: block; width: 100%; height: auto; max-height: 440px; margin: 0 auto; font-family: var(--global-body-font-family, sans-serif); }
.nis-calc__fig figcaption { font-size: 12px; color: var(--nis-muted); margin: 6px 4px 0; line-height: 1.45; }
.nis-calc ul.nis-calc__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.nis-calc__list li { display: flex; gap: 10px; align-items: baseline; font-size: 14px; line-height: 1.5; margin: 0; }
.nis-calc__list li > .nis-fits, .nis-calc__list li > .nis-tight, .nis-calc__list li > .nis-no { flex: none; font-size: 11px; min-width: 62px; text-align: center; }
.nis-calc__list li > span:not([class]) { flex: 1; min-width: 0; }
.nis-calc__list small { margin-left: auto; padding-left: 8px; font-family: var(--nis-mono); font-size: 13px; color: var(--nis-muted); white-space: nowrap; }
.nis-calc__tbl { overflow-x: auto; border: 1px solid var(--nis-line); border-radius: 14px; background: #fff; }
.nis-calc__tbl table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 0; min-width: 440px; border: 0; }
.nis-calc__tbl th { background: var(--nis-sage-soft); text-align: left; padding: 9px 12px; font-weight: 700; color: var(--nis-ink); border: 0; font-size: 13px; }
.nis-calc__tbl td { padding: 9px 12px; border: 0; border-top: 1px solid var(--nis-line); vertical-align: middle; }
.nis-calc__tbl tr.is-pick td { background: var(--nis-sand); }
.nis-calc__tbl td .nis-fits, .nis-calc__tbl td .nis-tight, .nis-calc__tbl td .nis-no { font-size: 11px; }
.nis-calc .nis-calc__h { font-weight: 700; color: var(--nis-ink); font-size: 15px; margin: 2px 0 -4px; }
.nis-calc .nis-calc__p { font-size: 14px; line-height: 1.6; margin: 0; color: var(--nis-text); }
.nis-calc .nis-calc__fine { font-size: 12px; color: var(--nis-muted); line-height: 1.5; margin: 18px 0 0; }
.nis-calc__btn { background: #fff; border: 1px solid var(--nis-control); color: var(--nis-ink); border-radius: 999px; padding: 8px 14px; font-size: 13px; font-weight: 700; cursor: pointer; font-family: inherit; line-height: 1.2; }
.nis-calc__btn:hover { border-color: var(--nis-accent); color: var(--nis-accent-dark); background: var(--nis-paper); }
.nis-calc__body.is-wide { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 760px) {
	.nis-calc__body { grid-template-columns: minmax(0, 1fr); }
	.nis-calc__list li { flex-wrap: wrap; }
	.nis-calc__list small { margin-left: 0; padding-left: 0; }
}
.nis-calc [hidden] { display: none !important; }
.nis-sv [hidden] { display: none !important; }

/* Clearance Checker */
.nis-cc { display: flex; flex-direction: column; gap: 14px; }
.nis-cc .nis-calc__opts { grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); }
.nis-cc__summary p { margin: 0; font-size: 15px; line-height: 1.7; }
.nis-cc__summary .nis-fits, .nis-cc__summary .nis-tight, .nis-cc__summary .nis-no { font-size: 12px; }
.nis-cc__list { display: flex; flex-direction: column; border-top: 1px solid var(--nis-line); }
.nis-cc__row { display: grid; grid-template-columns: minmax(0, 1.15fr) 112px minmax(0, 1.35fr); gap: 8px 18px; padding: 14px 0; border-bottom: 1px solid var(--nis-line); align-items: start; }
.nis-cc__row.is-filled { background: linear-gradient(90deg, transparent, var(--nis-paper)); }
.nis-calc .nis-cc__label { font-weight: 700; color: var(--nis-ink); margin: 0; font-size: 15px; line-height: 1.35; }
.nis-calc .nis-cc__hint { margin: 3px 0 0; font-size: 13px; color: var(--nis-muted); line-height: 1.45; }
.nis-cc__sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.nis-calc .nis-cc__verdict { margin: 0; font-size: 14px; line-height: 1.5; color: var(--nis-text); }
.nis-cc__verdict .nis-fits, .nis-cc__verdict .nis-tight, .nis-cc__verdict .nis-no { font-size: 11px; margin-right: 4px; }
.nis-cc__gauge { display: block; width: 100%; height: 14px; margin-top: 6px; }
.nis-calc .nis-cc__src { margin: 4px 0 0; font-size: 12px; color: var(--nis-muted); line-height: 1.4; }
@media (max-width: 640px) {
	.nis-cc__row { grid-template-columns: minmax(0, 1fr) 100px; }
	.nis-cc__res { grid-column: 1 / -1; }
}

/* Furniture Sizes */
.nis-sz { display: flex; flex-direction: column; gap: 14px; }
.nis-sz__controls { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 12px; align-items: end; }
.nis-sz .nis-calc__opts { grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); }
.nis-calc .nis-sz__search { width: 100%; box-sizing: border-box; height: 42px; border: 1px solid var(--nis-control); border-radius: 8px; background: #fff; color: var(--nis-ink); font-size: 15px; padding: 6px 12px; margin: 0; }
.nis-calc .nis-sz__search:focus { outline: 2px solid var(--nis-accent-dark); outline-offset: 1px; border-color: var(--nis-accent-dark); }
.nis-sz__space { background: var(--nis-paper); border: 1px solid var(--nis-line); border-radius: 14px; padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; max-width: 520px; }
.nis-calc .nis-sz__summary { margin: 0; font-size: 14px; color: var(--nis-muted); }
.nis-sz .nis-calc__tbl table { min-width: 560px; }
.nis-sz .nis-calc__tbl small { color: var(--nis-muted); font-size: 12px; line-height: 1.4; }
@media (max-width: 640px) { .nis-sz__controls { grid-template-columns: minmax(0, 1fr); } }

/* Tool pages: readable column inside a full-width band */
.nis-prose,
.nis-band > .wp-block-group__inner-container > .nis-prose { max-width: 780px; margin-left: auto; margin-right: auto; }
.nis-band--tight + .nis-band--prose { padding-top: 8px; }

/* ---------- Category tool box (v1.7.0): top of each category page ---------- */
.nis-cat-tools { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 14px; width: 100%; box-sizing: border-box; margin: 24px 0 28px; text-align: left; font-size: 15px; line-height: 1.55; }
.nis-cat-tools p { margin: 0; }
.nis-cat-tools a { text-decoration: none; }
.nis-cat-tools__main { background: var(--nis-accent); border-radius: 22px; padding: 24px 26px; display: flex; flex-direction: column; }
.nis-cat-tools__kicker, .nis-cat-tools__label { font-family: var(--nis-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; }
.nis-cat-tools__kicker { color: #FBE6DC; }
.nis-cat-tools__name { font-family: var(--global-heading-font-family, inherit); font-size: 26px; font-weight: 600; line-height: 1.2; margin-top: 8px !important; }
.nis-cat-tools__name a { color: #fff; }
.nis-cat-tools__main .nis-cat-tools__line { color: #FBE6DC; margin-top: 8px !important; }
.nis-cat-tools__go { margin-top: auto !important; padding-top: 18px; }
.nis-cat-tools__btn { display: inline-block; background: #fff; color: var(--nis-accent-dark) !important; font-weight: 700; padding: 10px 18px; border-radius: 999px; }
.nis-cat-tools__btn:hover, .nis-cat-tools__btn:focus-visible { background: var(--nis-ink); color: #fff !important; }
.nis-cat-tools__side { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.nis-cat-tools__hub, .nis-cat-tools__more { background: var(--nis-card); border: 1px solid var(--nis-line); border-radius: 22px; padding: 18px 20px; }
.nis-cat-tools__label { color: var(--nis-accent); }
.nis-cat-tools__hubname { font-weight: 700; font-size: 17px; line-height: 1.3; margin-top: 6px !important; }
.nis-cat-tools__hubname a { color: var(--nis-ink); }
.nis-cat-tools__hubname a:hover, .nis-cat-tools__hubname a:focus-visible { color: var(--nis-accent); }
.nis-cat-tools__side .nis-cat-tools__line { color: var(--nis-muted); font-size: 14px; line-height: 1.5; margin-top: 4px !important; }
.nis-cat-tools__list { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.nis-cat-tools__list li { margin: 0; }
.nis-cat-tools__list a { display: inline-block; background: var(--nis-ochre-soft); color: var(--nis-ochre-ink); padding: 6px 12px; border-radius: 999px; font-size: 14px; font-weight: 600; line-height: 1.4; }
.nis-cat-tools__list a:hover, .nis-cat-tools__list a:focus-visible { background: var(--nis-ink); color: #fff; }
@media (max-width: 640px) {
	.nis-cat-tools { grid-template-columns: 1fr; }
	.nis-cat-tools__name { font-size: 23px; }
}

/* ---------- Site header and title band (v1.8.0): Terracotta, Linen & Sage draft ---------- */
/* Brand: plan mark, "nest in small" with an italic "in" (site-header.php adds the <em>), tagline. */
#masthead .site-branding a.brand { display: flex; align-items: center; gap: 13px; }
#masthead .site-branding a.brand::before { content: ""; flex: none; width: 42px; height: 42px; border-radius: 12px; background: var(--global-palette1, #B65332) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFF6EE' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16v16H4zM12 4v8h8M4 14h5v6'/%3E%3C/svg%3E") center / 26px no-repeat; }
#masthead .site-branding .site-title-wrap { text-align: left; }
#masthead .site-branding .site-title { font-family: var(--global-heading-font-family, Georgia, serif); font-size: 26px; font-weight: 400; letter-spacing: -0.03em; line-height: 1.05; color: var(--global-palette3, #2F302A); }
#masthead .site-branding .site-title em { font-style: italic; color: var(--global-palette1, #B65332); }
#masthead .site-branding .site-title-wrap::after { content: "Make space for living"; display: block; margin-top: 6px; font-family: var(--global-body-font-family, sans-serif); font-size: 10px; font-weight: 500; letter-spacing: 0.2em; line-height: 1.2; text-transform: uppercase; color: var(--global-palette5, #635D55); }
@media (max-width: 767px) {
	#masthead .site-branding a.brand { gap: 11px; }
	#masthead .site-branding a.brand::before { width: 36px; height: 36px; border-radius: 11px; background-size: 22px; }
	#masthead .site-branding .site-title { font-size: 21px; }
	#masthead .site-branding .site-title-wrap::after { font-size: 8px; letter-spacing: 0.18em; margin-top: 5px; }
}

/* Menu bar (desktop header): brand row on top, menu as a row of tabs underneath. */
@media (min-width: 1025px) {
	#main-header .site-main-header-inner-wrap.site-header-row-center-column { grid-template-columns: 1fr auto; grid-template-areas: "brand side" "nav nav"; column-gap: 24px; min-height: 0; }
	#main-header .site-header-main-section-left { grid-area: brand; padding: 20px 0; }
	#main-header .site-header-main-section-right { grid-area: side; }
	#main-header .site-header-main-section-center { grid-area: nav; justify-content: flex-start; border-top: 1px solid var(--global-palette7, #E4DCD1); }
	#main-header .main-navigation .primary-menu-container > ul { gap: 30px; }
	#main-header .main-navigation .primary-menu-container > ul > li.menu-item > a { display: flex; align-items: center; gap: 9px; padding: 17px 1px 14px; border-bottom: 3px solid transparent; color: var(--global-palette5, #635D55); font-size: 15px; font-weight: 500; }
	#main-header .main-navigation .primary-menu-container > ul > li.menu-item > a::before { content: ""; display: none; flex: none; width: 20px; height: 20px; background-color: currentColor; -webkit-mask: var(--nis-ico) center / 20px no-repeat; mask: var(--nis-ico) center / 20px no-repeat; }
	#main-header .main-navigation .primary-menu-container > ul > li.menu-item > a:hover { color: var(--global-palette1, #B65332); }
	#main-header .main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item > a,
	#main-header .main-navigation .primary-menu-container > ul > li.menu-item.current-post-ancestor > a { color: var(--global-palette1, #B65332); font-weight: 700; border-bottom-color: var(--global-palette1, #B65332); }
	#main-header .main-navigation .primary-menu-container > ul > li.menu-item > a[href$="/living-room/"] { --nis-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 10V7a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v3'/%3E%3Cpath d='M3 12a2 2 0 0 1 4 0v2h10v-2a2 2 0 0 1 4 0v5H3z'/%3E%3Cpath d='M5 17v2M19 17v2'/%3E%3C/svg%3E"); }
	#main-header .main-navigation .primary-menu-container > ul > li.menu-item > a[href$="/bedroom/"] { --nis-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 18V8h18v10M3 15h18M3 18v3M21 18v3M6 8V4h12v4M6 11h5M13 11h5'/%3E%3C/svg%3E"); }
	#main-header .main-navigation .primary-menu-container > ul > li.menu-item > a[href$="/kids-rooms/"] { --nis-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 3v18M20 3v18M4 8h16M4 11h16M4 16h16M4 19h16'/%3E%3C/svg%3E"); }
	#main-header .main-navigation .primary-menu-container > ul > li.menu-item > a[href$="/dining-kitchen/"] { --nis-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9h18M5 9v10M19 9v10M5 13h14'/%3E%3Cpath d='M9 5h6'/%3E%3C/svg%3E"); }
	#main-header .main-navigation .primary-menu-container > ul > li.menu-item > a[href$="/tools/"] { --nis-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 16 12-12 4 4L8 20zM10 10l3 3M13 7l2 2M7 13l2 2'/%3E%3C/svg%3E"); }
	#main-header .main-navigation .primary-menu-container > ul > li.menu-item > a[href$="/blog/"] { --nis-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5A2.5 2.5 0 0 1 6.5 3H20v15H6.5A2.5 2.5 0 0 0 4 20.5z'/%3E%3Cpath d='M4 20.5A2.5 2.5 0 0 1 6.5 18H20v3H6.5A2.5 2.5 0 0 1 4 20.5zM8 7h8M8 10h6'/%3E%3C/svg%3E"); }
	#main-header .main-navigation .primary-menu-container > ul > li.menu-item > a[href$="/living-room/"]::before,
	#main-header .main-navigation .primary-menu-container > ul > li.menu-item > a[href$="/bedroom/"]::before,
	#main-header .main-navigation .primary-menu-container > ul > li.menu-item > a[href$="/kids-rooms/"]::before,
	#main-header .main-navigation .primary-menu-container > ul > li.menu-item > a[href$="/dining-kitchen/"]::before,
	#main-header .main-navigation .primary-menu-container > ul > li.menu-item > a[href$="/tools/"]::before,
	#main-header .main-navigation .primary-menu-container > ul > li.menu-item > a[href$="/blog/"]::before { display: block; }
	#main-header .header-button-inner-wrap { display: flex; align-items: center; gap: 22px; }
	#main-header .header-button-inner-wrap::before { content: "Free tools. No signup."; padding-left: 26px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23635D55' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E") left center / 18px no-repeat; color: var(--global-palette5, #635D55); font-size: 14px; white-space: nowrap; }
}

/* Category title band: left-aligned, eyebrow, lighter title with an italic last word (site-header.php). */
.post-archive-hero-section .entry-hero-container-inner { background: var(--nis-paper, #FAF7F2); border-bottom: 1px solid var(--global-palette7, #E4DCD1); }
.post-archive-hero-section .entry-hero-container-inner .entry-header { min-height: 0; align-items: flex-start; text-align: left; padding-top: 48px; padding-bottom: 40px; }
body.category .post-archive-hero-section .entry-header::before { content: "Measured guides & free tools"; display: block; margin-bottom: 12px; padding-left: 32px; background: linear-gradient(var(--global-palette1, #B65332), var(--global-palette1, #B65332)) left center / 22px 1px no-repeat; color: var(--global-palette2, #934029); font-family: var(--global-body-font-family, sans-serif); font-size: 12px; font-weight: 700; letter-spacing: 0.16em; line-height: 1.4; text-transform: uppercase; }
.post-archive-hero-section .archive-title { font-weight: 400; letter-spacing: -0.025em; line-height: 1.1; }
.post-archive-hero-section .archive-title em { font-style: italic; color: var(--global-palette1, #B65332); }
.post-archive-hero-section .archive-description { margin-top: 12px; }
.post-archive-hero-section .archive-description > p { max-width: 680px; margin: 0; color: var(--global-palette5, #635D55); }
.post-archive-hero-section .nis-cat-tools { margin-bottom: 0; }
@media (max-width: 1024px) {
	.post-archive-hero-section .entry-hero-container-inner .entry-header { padding-top: 40px; padding-bottom: 34px; }
}
@media (max-width: 767px) {
	.post-archive-hero-section .entry-hero-container-inner .entry-header { padding-top: 32px; padding-bottom: 28px; }
	body.category .post-archive-hero-section .entry-header::before { font-size: 11px; letter-spacing: 0.14em; }
}

/* ---------- 1.9.0: phones ---------- */
@media (max-width: 480px) {
	.nis-stat-num { font-size: 24px; }
	.wp-block-table.is-style-nis th,
	.wp-block-table.is-style-nis td { padding: 10px 12px; }
}
/* Wide tables scroll sideways on phones: a soft shadow at the edge shows there is more. */
@media (max-width: 640px) {
	.wp-block-table.is-style-nis {
		background:
			linear-gradient( to right, var(--nis-card) 30%, rgba(251, 247, 241, 0) ) left center / 40px 100% no-repeat local,
			linear-gradient( to left, var(--nis-card) 30%, rgba(251, 247, 241, 0) ) right center / 40px 100% no-repeat local,
			radial-gradient( farthest-side at 0 50%, rgba(47, 48, 42, 0.2), rgba(47, 48, 42, 0) ) left center / 14px 100% no-repeat scroll,
			radial-gradient( farthest-side at 100% 50%, rgba(47, 48, 42, 0.2), rgba(47, 48, 42, 0) ) right center / 14px 100% no-repeat scroll,
			var(--nis-card);
	}
	.nis-calc__tbl {
		background:
			linear-gradient( to right, #fff 30%, rgba(255, 255, 255, 0) ) left center / 40px 100% no-repeat local,
			linear-gradient( to left, #fff 30%, rgba(255, 255, 255, 0) ) right center / 40px 100% no-repeat local,
			radial-gradient( farthest-side at 0 50%, rgba(47, 48, 42, 0.2), rgba(47, 48, 42, 0) ) left center / 14px 100% no-repeat scroll,
			radial-gradient( farthest-side at 100% 50%, rgba(47, 48, 42, 0.2), rgba(47, 48, 42, 0) ) right center / 14px 100% no-repeat scroll,
			#fff;
	}
}
/* Mounting Height Finder: three short columns fit a phone without scrolling. */
.nis-calc--heights .nis-calc__tbl table { min-width: 0; }
.nis-calc--heights .nis-calc__tbl small { color: var(--nis-muted); font-size: 12px; line-height: 1.4; }
.nis-calc--heights .nis-calc__out a { color: var(--nis-accent-dark); }
