/* 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; }
}
@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; }
}
@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 .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; }
}
