/*
 * Nischenshop – Look „Stoff“ (seit 1.5.0)
 * Ein Stoffmusterbuch als Shop: Fraunces-Serife mit Kursive, Instrument Sans, DM Mono für Etiketten.
 * Maßband statt Leisten, Stoffproben mit Zackenschere-Rand, Farbblöcke über die volle Breite,
 * Pflegeetikett im Fuß und der Raumplaner ([ns_raumplaner]).
 * Wird nur geladen, wenn Customizer → Nischenshop → Marke → Stil = „Stoff“.
 */

.ns-look-stoff {
	--st-ink: var(--ns-brand, #2E1F1A);
	--st-red: var(--ns-accent, #D4553A);
	--st-milk: #FFFCF8;
	--st-blush: var(--ns-subtle, #F2DDD5);
	--st-sage: #B5C3A6;
	--st-oat: #EBDFCB;
	--st-clay: #C9A78C;
	--st-line: rgba(46, 31, 26, .16);
	--st-mono: var(--ns-font-mono, ui-monospace, Menlo, monospace);
	--ns-ink: var(--st-ink);
	--ns-muted: #6c5a52;
	--ns-line: var(--st-line);
	--ns-radius: 4px;
	--ns-radius-sm: 3px;
	--ns-shadow: none;
	/* Zackenschere: unterer Rand */
	--st-zigzag: linear-gradient(#000 0 0) top / 100% calc(100% - 7px) no-repeat, conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) bottom / 14px 7px repeat-x;
	background: var(--st-milk);
	color: var(--st-ink);
}
.ns-look-stoff ::selection { background: var(--st-red); color: #fff; }

/* Maßband: Striche in 1-cm- und 5-cm-Teilung */
.ns-look-stoff .ns-announcement,
.ns-look-stoff .ns-band,
.ns-st-tape {
	--tick: rgba(46, 31, 26, .55);
	background-color: var(--st-oat);
	background-image:
		repeating-linear-gradient(90deg, var(--tick) 0 1px, transparent 1px 50px),
		repeating-linear-gradient(90deg, var(--tick) 0 1px, transparent 1px 10px);
	background-size: 100% 11px, 100% 6px;
	background-position: 0 0, 0 0;
	background-repeat: no-repeat;
}

/* ---------------------------------------------------------------- Typografie */
.ns-look-stoff h1, .ns-look-stoff h2, .ns-look-stoff h3, .ns-look-stoff h4,
.ns-look-stoff .ns-products-block__title, .ns-look-stoff .site-footer__title {
	font-family: var(--ns-font-head);
	font-weight: 480;
	font-variation-settings: "SOFT" 100;
	letter-spacing: -.02em;
	color: var(--st-ink);
}
.ns-look-stoff h1 { font-size: clamp(2.5rem, 1rem + 5.4vw, 5.9rem); line-height: .96; font-weight: 430; letter-spacing: -.035em; }
.ns-look-stoff h2 { font-size: clamp(2rem, 1.1rem + 2.8vw, 3.4rem); line-height: 1.02; letter-spacing: -.03em; }
.ns-look-stoff h3 { font-size: clamp(1.25rem, 1.1rem + .5vw, 1.55rem); line-height: 1.15; }
.ns-look-stoff h1 em, .ns-look-stoff h2 em, .ns-look-stoff h3 em { font-style: italic; color: var(--st-red); font-weight: 400; }
.ns-look-stoff p, .ns-look-stoff li { font-size: 1.06rem; line-height: 1.65; }
.ns-look-stoff a { color: var(--st-ink); text-decoration-color: var(--st-red); text-decoration-thickness: 1.5px; text-underline-offset: 4px; }
.ns-look-stoff a:hover { color: var(--st-red); }

/* Markiertes Wort = kursiv in Rot, mit Heftstich darunter */
.ns-look-stoff .ns-mark {
	font-style: italic; font-weight: 400; color: var(--st-red); white-space: normal; padding: 0 0 .08em;
	background: repeating-linear-gradient(90deg, var(--st-red) 0 .3em, transparent .3em .48em) 0 100% / 100% max(2px, .045em) no-repeat;
	-webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.ns-look-stoff .ns-mark::after { display: none; }

/* Dachzeile als Etikett in Schreibmaschinenschrift */
.ns-look-stoff .ns-eyebrow {
	display: inline-flex; align-items: center; gap: .7em;
	font-family: var(--st-mono); font-weight: 500; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase;
	color: var(--st-ink); background: none; padding: 0; border: 0; box-shadow: none; transform: none;
}
.ns-look-stoff .ns-eyebrow::before {
	content: ""; width: 34px; height: 9px; flex: none;
	background: repeating-linear-gradient(90deg, currentColor 0 1px, transparent 1px 5px) 0 100% / 100% 5px no-repeat, linear-gradient(currentColor 0 0) 0 100% / 100% 1px no-repeat;
}
.ns-look-stoff .ns-lead { font-size: clamp(1.08rem, 1rem + .3vw, 1.25rem); color: #5a4840; }

/* ---------------------------------------------------------------- Knöpfe */
.ns-look-stoff .wp-block-button__link,
.ns-look-stoff .button,
.ns-look-stoff button.button,
.ns-look-stoff .single_add_to_cart_button,
.ns-look-stoff input[type="submit"] {
	position: relative; display: inline-flex; align-items: center; gap: .7em;
	border-radius: 3px !important; border: 1.5px solid var(--st-ink);
	background: var(--st-ink); color: var(--st-milk);
	font-family: var(--ns-font); font-weight: 600; font-size: 1rem; letter-spacing: .01em;
	padding: .95em 1.4em; box-shadow: none;
	transition: background .2s, color .2s, border-color .2s;
}
.ns-look-stoff .wp-block-button__link::after { content: "→"; font-family: var(--st-mono); transition: transform .25s cubic-bezier(.3, 1.4, .5, 1); }
.ns-look-stoff .wp-block-button__link:hover,
.ns-look-stoff .button:hover { background: var(--st-red); border-color: var(--st-red); color: #fff; }
.ns-look-stoff .wp-block-button__link:hover::after { transform: translateX(5px); }
.ns-look-stoff .is-style-outline .wp-block-button__link { background: transparent; color: var(--st-ink); }
.ns-look-stoff .is-style-outline .wp-block-button__link:hover { background: var(--st-ink); color: var(--st-milk); border-color: var(--st-ink); }

/* ---------------------------------------------------------------- Kopf */
.ns-look-stoff .ns-announcement { color: var(--st-ink); padding-top: 15px; padding-bottom: 7px; font-family: var(--st-mono); font-size: .76rem; letter-spacing: .06em; }
.ns-look-stoff .ns-announcement strong { font-weight: 500; text-transform: uppercase; letter-spacing: .12em; }
.ns-look-stoff .site-header { background: var(--st-milk); border-bottom: 1.5px solid var(--st-ink); box-shadow: none; }
.ns-look-stoff .site-header__inner { background: none; border-radius: 0; box-shadow: none; }
.ns-look-stoff .ns-nav > li > a { font-weight: 500; font-size: .98rem; color: var(--st-ink); border-radius: 0; background: none; position: relative; }
.ns-look-stoff .ns-nav > li > a::after {
	content: ""; position: absolute; left: 12px; right: 12px; bottom: 4px; height: 2px; transform: scaleX(0); transform-origin: left;
	background: repeating-linear-gradient(90deg, var(--st-red) 0 6px, transparent 6px 9px); transition: transform .3s ease;
}
.ns-look-stoff .ns-nav > li > a:hover, .ns-look-stoff .ns-nav > .current-menu-item > a { background: none; color: var(--st-ink); }
.ns-look-stoff .ns-nav > li > a:hover::after, .ns-look-stoff .ns-nav > .current-menu-item > a::after { transform: scaleX(1); }
.ns-look-stoff .ns-iconbtn { border-radius: 3px; }
.ns-look-stoff .ns-iconbtn:hover { background: var(--st-oat); }
.ns-look-stoff .site-brand .ns-logo { height: 40px; }

/* ---------------------------------------------------------------- Hero */
.ns-look-stoff .ns-shero {
	background: var(--st-blush); padding-top: clamp(40px, 6vw, 96px); padding-bottom: clamp(44px, 6vw, 96px);
	position: relative; overflow: hidden;
}
.ns-look-stoff .ns-shero > *,
.ns-look-stoff .ns-plan > * { max-width: min(1240px, 100%); margin-left: auto !important; margin-right: auto !important; }
.ns-look-stoff .ns-plan > h2 { margin-top: .3em; margin-bottom: .3em; }
.ns-look-stoff .ns-shero h1 { margin: .35em auto .45em; text-wrap: balance; }
/* Bilder mitten im Satz – wie Stoffproben eingesteckt */
.ns-look-stoff .ns-inl {
	display: inline-block; width: 1.55em; height: .78em; vertical-align: -.02em; margin: 0 .06em;
	border-radius: .14em; object-fit: cover; background: var(--st-oat);
	box-shadow: 0 0 0 .05em var(--st-milk), 0 .08em .18em rgba(46, 31, 26, .25);
	transform: rotate(-4deg);
	transition: transform .5s cubic-bezier(.3, 1.4, .5, 1);
}
.ns-look-stoff .ns-inl + .ns-inl, .ns-look-stoff .ns-inl--b { transform: rotate(3deg); width: 1.15em; border-radius: 50%; height: 1em; vertical-align: -.12em; }
.ns-look-stoff h1:hover .ns-inl { transform: rotate(0) scale(1.06); }
.ns-look-stoff .ns-shero__row { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(24px, 4vw, 64px); align-items: end; }
.ns-look-stoff .ns-shero__row > * { margin: 0; }
.ns-look-stoff .ns-shero .wp-block-buttons { gap: 12px; justify-content: flex-end; }
.ns-look-stoff .ns-shero .ns-checklist {
	display: flex; flex-wrap: wrap; gap: 8px 26px; margin: 34px auto 0; padding: 16px 0 0; list-style: none; border-top: 1.5px solid var(--st-ink);
}
.ns-look-stoff .ns-shero .ns-checklist li {
	margin: 0; padding: 0; font-family: var(--st-mono); font-size: .78rem; letter-spacing: .06em; text-transform: uppercase;
}
.ns-look-stoff .ns-shero .ns-checklist li::before { content: "✕"; position: static; display: inline-block; width: auto; height: auto; margin-right: .6em; background: none; color: var(--st-red); font-size: .85em; }
@media (max-width: 781px) {
	.ns-look-stoff .ns-shero__row { grid-template-columns: 1fr; }
	.ns-look-stoff .ns-shero .wp-block-buttons { justify-content: flex-start; }
}

/* ---------------------------------------------------------------- Abschnitte als Farbblöcke */
.ns-look-stoff .ns-section--soft { background: var(--st-sage); }
.ns-look-stoff .ns-section--soft ~ .ns-section--soft { background: var(--st-blush); }
.ns-look-stoff .ns-section > h2:first-child,
.ns-look-stoff .ns-products-block__title { max-width: 18ch; }
.ns-look-stoff .ns-section__intro { color: #5a4840; max-width: 600px; margin-top: .8em; }
.ns-look-stoff .ns-products-block__head { align-items: end; border-bottom: 1.5px solid var(--st-ink); padding-bottom: 14px; margin-bottom: 30px; }

/* Laufband als Maßband */
.ns-look-stoff .ns-band { color: var(--st-ink); padding-top: 22px; padding-bottom: 12px; border-top: 1.5px solid var(--st-ink); border-bottom: 1.5px solid var(--st-ink); }
.ns-look-stoff .ns-band .ns-trust li { font-family: var(--st-mono); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--st-ink); }
.ns-look-stoff .ns-band .ns-trust svg { color: var(--st-red); }
.ns-look-stoff .ns-ticker .ns-trust li::after { content: "✂"; background: none; width: auto; height: auto; top: 50%; transform: translateY(-50%); color: var(--st-ink); opacity: .55; font-size: .9rem; }

/* ---------------------------------------------------------------- Stoffbuch (Kategorien) */
.ns-look-stoff .ns-cats { gap: 18px; }
.ns-look-stoff .ns-cats li a {
	--c: var(--st-oat); --tx: none;
	position: relative; display: flex; flex-direction: column; padding: 34px 12px 26px; border: 0; border-radius: 3px;
	background: var(--tx), var(--c);
	color: var(--st-ink); text-decoration: none; text-align: left;
	-webkit-mask: var(--st-zigzag); mask: var(--st-zigzag);
	transition: transform .35s cubic-bezier(.3, 1.4, .5, 1);
}
/* Ösen wie im Musterbuch */
.ns-look-stoff .ns-cats li a::before {
	content: ""; position: absolute; top: 12px; left: 50%; width: 44px; height: 10px; margin-left: -22px;
	background: radial-gradient(circle, var(--st-milk) 0 3.5px, rgba(46, 31, 26, .35) 4px 5px, transparent 5.5px) 0 0 / 22px 10px repeat-x;
}
.ns-look-stoff .ns-cats li a:hover { transform: translateY(-8px) rotate(-1.2deg); }
.ns-look-stoff .ns-cats li:nth-child(6n+1) a { --c: #CDB79C; --tx: repeating-linear-gradient(90deg, rgba(46, 31, 26, .13) 0 2px, rgba(255, 255, 255, .12) 2px 3px, transparent 3px 7px); }
.ns-look-stoff .ns-cats li:nth-child(6n+2) a { --c: #F4EFE7; --tx: radial-gradient(ellipse 22px 16px at 30% 35%, var(--st-ink) 96%, transparent) 0 0 / 86px 70px, radial-gradient(ellipse 14px 19px at 75% 75%, var(--st-ink) 96%, transparent) 0 0 / 86px 70px, radial-gradient(ellipse 9px 7px at 70% 20%, var(--st-ink) 96%, transparent) 0 0 / 86px 70px; }
.ns-look-stoff .ns-cats li:nth-child(6n+3) a { --c: var(--st-sage); --tx: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .28) 0 1.6px, transparent 2px) 0 0 / 7px 7px, radial-gradient(circle at 50% 50%, rgba(46, 31, 26, .1) 0 1.4px, transparent 1.8px) 3px 3px / 7px 7px; }
.ns-look-stoff .ns-cats li:nth-child(6n+4) a { --c: var(--st-blush); --tx: repeating-linear-gradient(45deg, transparent 0 17px, rgba(46, 31, 26, .14) 17px 18px), repeating-linear-gradient(-45deg, transparent 0 17px, rgba(46, 31, 26, .14) 17px 18px); }
.ns-look-stoff .ns-cats li:nth-child(6n+5) a { --c: #E2C79A; --tx: radial-gradient(closest-side, #A86F3E 92%, transparent) 0 0 / 34px 30px, radial-gradient(closest-side, #A86F3E 92%, transparent) 17px 15px / 34px 30px; }
.ns-look-stoff .ns-cats li:nth-child(6n+6) a { --c: #D9D3CA; --tx: repeating-linear-gradient(0deg, rgba(46, 31, 26, .1) 0 1px, transparent 1px 4px), repeating-linear-gradient(90deg, rgba(46, 31, 26, .1) 0 1px, transparent 1px 4px); }
.ns-look-stoff .ns-cats__img { width: 100%; aspect-ratio: 4 / 5; border-radius: 2px; overflow: hidden; background: var(--st-milk); box-shadow: 0 0 0 6px var(--st-milk); margin: 6px 0 14px; }
.ns-look-stoff .ns-cats__img img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; transition: transform .6s ease; }
.ns-look-stoff .ns-cats li a:hover .ns-cats__img img { transform: scale(1.06); }
.ns-look-stoff .ns-cats__name {
	align-self: flex-start; padding: .45em .7em .5em; background: var(--st-milk); border-radius: 2px;
	font-family: var(--ns-font-head); font-weight: 520; font-size: 1.12rem; line-height: 1.1;
}
.ns-look-stoff .ns-cats__count { align-self: flex-start; margin-top: 6px; padding: .2em .55em; background: var(--st-ink); color: var(--st-milk); font-family: var(--st-mono); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; border-radius: 2px; }

/* ---------------------------------------------------------------- Produktkarten als Stoffprobe */
.ns-look-stoff ul.products li.product {
	position: relative; background: var(--st-milk); border: 0; border-radius: 3px; padding: 0 0 26px; box-shadow: none;
	-webkit-mask: var(--st-zigzag); mask: var(--st-zigzag);
	outline: 1.5px solid var(--st-line); outline-offset: -1.5px;
}
.ns-look-stoff ul.products li.product img { border-radius: 0; background: var(--st-oat); margin-bottom: 14px; transition: transform .6s ease; }
.ns-look-stoff ul.products li.product a:first-child { display: block; overflow: hidden; }
.ns-look-stoff ul.products li.product:hover img { transform: scale(1.04); }
.ns-look-stoff ul.products li.product .woocommerce-loop-product__title,
.ns-look-stoff ul.products li.product h2,
.ns-look-stoff ul.products li.product h3 { font-family: var(--ns-font-head); font-weight: 500; font-size: 1.1rem; line-height: 1.2; padding: 0 16px; letter-spacing: -.01em; }
.ns-look-stoff ul.products li.product .price { font-family: var(--st-mono); font-weight: 500; font-size: .92rem; color: var(--st-ink); padding: 0 16px; }
.ns-look-stoff ul.products li.product .button {
	margin: 12px 16px 0; width: calc(100% - 32px); justify-content: center; box-sizing: border-box; padding: .55em .9em; font-size: .85rem; background: transparent; color: var(--st-ink); border-color: var(--st-ink);
}
.ns-look-stoff ul.products li.product .button:hover { background: var(--st-ink); color: var(--st-milk); }
.ns-look-stoff .ns-soon {
	background: var(--st-milk); color: var(--st-ink); border-radius: 2px; transform: none; box-shadow: none;
	font-family: var(--st-mono); font-weight: 500; font-size: .66rem; letter-spacing: .1em; text-transform: uppercase;
	outline: 1px dashed var(--st-ink); outline-offset: -4px; padding: .7em .9em;
}

/* ---------------------------------------------------------------- Bauideen-Kacheln */
.ns-look-stoff .ns-tiles { counter-reset: st-tile; gap: 0; border-top: 1.5px solid var(--st-ink); }
.ns-look-stoff .ns-tile {
	counter-increment: st-tile; position: relative; background: none; border: 0; border-radius: 0; box-shadow: none;
	padding: 26px 26px 30px 0; border-bottom: 1.5px solid var(--st-ink); transform: none;
}
.ns-look-stoff .ns-tile::before {
	content: counter(st-tile, decimal-leading-zero); display: block; margin-bottom: 10px;
	font-family: var(--ns-font-head); font-style: italic; font-weight: 380; font-size: 3.4rem; line-height: 1; color: var(--st-red);
}
@media (min-width: 782px) {
	.ns-look-stoff .ns-tile { padding-left: 26px; border-left: 1.5px solid var(--st-ink); }
}
.ns-look-stoff .ns-tile h3 { margin-top: 0; }
.ns-look-stoff .ns-tile__link a { font-family: var(--st-mono); font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
.ns-look-stoff .ns-tile__link a::after { content: " →"; }

/* Schritte */
.ns-look-stoff .ns-steps { counter-reset: st-step; gap: 26px; }
.ns-look-stoff .ns-steps li { counter-increment: st-step; background: none; border: 0; border-top: 1.5px solid var(--st-ink); border-radius: 0; padding: 22px 0 0 0; min-height: 0; }
.ns-look-stoff .ns-steps li::before {
	content: counter(st-step) "."; position: static; display: block; width: auto; height: auto; margin-bottom: 8px; background: none; border-radius: 0;
	font-family: var(--ns-font-head); font-style: italic; font-weight: 380; font-size: 3rem; line-height: 1; color: var(--st-red); text-align: left;
}
@media (min-width: 900px) { .ns-look-stoff .ns-steps li { padding: 22px 0 0; } }
.ns-look-stoff .ns-steps li strong { font-family: var(--ns-font-head); font-weight: 520; font-size: 1.3rem; }

/* Vergleich als Datenblatt */
.ns-look-stoff .ns-compare { border-radius: 0; background: none; box-shadow: none; border-top: 1.5px solid var(--st-ink); border-bottom: 1.5px solid var(--st-ink); }
.ns-look-stoff .ns-compare thead th { background: none; color: var(--st-ink); font-family: var(--ns-font-head); font-weight: 520; font-size: 1.15rem; border: 0; border-bottom: 1.5px solid var(--st-ink); padding: 16px 14px; }
.ns-look-stoff .ns-compare tbody td { border: 0; border-bottom: 1px solid var(--st-line); padding: 13px 14px; background: none; }
.ns-look-stoff .ns-compare tbody td:first-child { font-family: var(--st-mono); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ns-muted); }

/* FAQ */
.ns-look-stoff details.wp-block-details { border: 0; border-top: 1.5px solid var(--st-ink); border-radius: 0; background: none; margin: 0; max-width: 860px; }
.ns-look-stoff details.wp-block-details:last-of-type { border-bottom: 1.5px solid var(--st-ink); }
.ns-look-stoff details.wp-block-details summary { font-family: var(--ns-font-head); font-weight: 480; font-size: 1.22rem; padding: 20px 56px 20px 0; }
.ns-look-stoff details.wp-block-details summary::after {
	content: ""; border: 0; width: 22px; height: 22px; right: 4px; margin-top: 0;
	background: linear-gradient(var(--st-ink) 0 0) center / 100% 1.5px no-repeat, linear-gradient(var(--st-ink) 0 0) center / 1.5px 100% no-repeat;
	transform: translateY(-50%); transition: transform .3s ease;
}
.ns-look-stoff details.wp-block-details[open] summary::after { transform: translateY(-50%) rotate(135deg); }
.ns-look-stoff details.wp-block-details > :not(summary) { padding-left: 0; }

/* Ratgeber-Karten wie Magazin */
.ns-look-stoff .ns-card { border: 0; border-radius: 0; background: none; box-shadow: none; }
.ns-look-stoff .ns-card__img { border-radius: 3px; overflow: hidden; }
.ns-look-stoff .ns-card__img img { transition: transform .6s ease; }
.ns-look-stoff .ns-card:hover .ns-card__img img { transform: scale(1.04); }
.ns-look-stoff .ns-card__body { padding-left: 0; padding-right: 0; }
.ns-look-stoff .ns-card__cat { font-family: var(--st-mono); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--st-red); }
.ns-look-stoff .ns-card__title { font-family: var(--ns-font-head); font-weight: 500; font-size: 1.35rem; line-height: 1.15; }
.ns-look-stoff .ns-card__meta { font-family: var(--st-mono); font-size: .72rem; letter-spacing: .04em; }

/* Schluss-CTA */
.ns-look-stoff .ns-cta { background: var(--st-red); color: #fff; border-radius: 0; }
.ns-look-stoff .ns-cta h2, .ns-look-stoff .ns-cta p { color: #fff; }
.ns-look-stoff .ns-cta h2 { font-style: italic; font-weight: 380; }
.ns-look-stoff .ns-cta .wp-block-button__link { background: var(--st-milk); color: var(--st-ink); border-color: var(--st-milk); }
.ns-look-stoff .ns-cta .wp-block-button__link:hover { background: var(--st-ink); color: var(--st-milk); border-color: var(--st-ink); }

/* ---------------------------------------------------------------- Raumplaner */
.ns-look-stoff .ns-plan { background: var(--st-ink); color: var(--st-milk); padding-top: clamp(52px, 6vw, 100px); padding-bottom: clamp(52px, 6vw, 100px); }
.ns-look-stoff .ns-plan > .ns-section__intro { max-width: 620px; margin-left: max(0px, calc((100% - 1240px) / 2)) !important; margin-right: auto !important; color: rgba(255, 252, 248, .8); }
.ns-look-stoff .ns-plan h2, .ns-look-stoff .ns-plan p { color: var(--st-milk); }
.ns-look-stoff .ns-plan h2 em { color: #F08A6E; }
.ns-look-stoff .ns-plan .ns-eyebrow { color: var(--st-milk); }
.ns-rp { display: grid; grid-template-columns: minmax(250px, 340px) minmax(0, 1fr); gap: clamp(20px, 3vw, 44px); align-items: start; margin-top: 28px; }
.ns-rp__title { margin: 0 0 14px; font-family: var(--ns-font-head); font-size: 1.4rem; font-style: italic; }
.ns-rp__ctrl { display: grid; gap: 12px; padding: 16px 0; border-top: 1px solid rgba(255, 252, 248, .3); border-bottom: 1px solid rgba(255, 252, 248, .3); }
.ns-rp__range { display: grid; grid-template-columns: 54px 1fr 64px; align-items: center; gap: 10px; font-family: var(--ns-font-mono, monospace); font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; }
.ns-rp__range output { text-align: right; }
.ns-rp__range input[type="range"] { -webkit-appearance: none; appearance: none; height: 18px; background: none; cursor: pointer; width: 100%; }
.ns-rp__range input[type="range"]::-webkit-slider-runnable-track {
	height: 12px; border-radius: 2px; background-color: #EBDFCB;
	background-image: repeating-linear-gradient(90deg, rgba(46, 31, 26, .6) 0 1px, transparent 1px 8px); background-size: 100% 6px; background-repeat: no-repeat;
}
.ns-rp__range input[type="range"]::-moz-range-track { height: 12px; border-radius: 2px; background: #EBDFCB repeating-linear-gradient(90deg, rgba(46, 31, 26, .6) 0 1px, transparent 1px 8px) 0 0 / 100% 6px no-repeat; }
.ns-rp__range input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 8px; height: 26px; margin-top: -7px; border-radius: 2px; background: #D4553A; border: 2px solid #FFFCF8; }
.ns-rp__range input[type="range"]::-moz-range-thumb { width: 6px; height: 24px; border-radius: 2px; background: #D4553A; border: 2px solid #FFFCF8; }
.ns-rp__hint { font-size: .9rem !important; opacity: .75; margin: 12px 0; }
.ns-rp__palette { display: grid; gap: 6px; }
.ns-rp__add {
	display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 10px; width: 100%; text-align: left; cursor: pointer;
	padding: 8px 10px; border: 1px solid rgba(255, 252, 248, .25); border-radius: 3px; background: transparent; color: inherit; font: inherit; font-size: .95rem;
	transition: background .2s, border-color .2s;
}
.ns-rp__add:hover { background: rgba(255, 252, 248, .08); border-color: rgba(255, 252, 248, .6); }
.ns-rp__add:active { transform: translateY(1px); }
.ns-rp__sw { width: 30px; height: 20px; border-radius: 2px; background: var(--c); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15); }
.ns-rp__sw--round, .ns-rp__sw--swing { width: 22px; height: 22px; border-radius: 50%; justify-self: center; }
.ns-rp__sw--swing { box-shadow: 0 0 0 3px rgba(255, 252, 248, .0), 0 0 0 4px rgba(255, 252, 248, .5); }
.ns-rp__dim { font-family: var(--ns-font-mono, monospace); font-size: .72rem; opacity: .7; white-space: nowrap; }
.ns-rp__stat { margin: 16px 0 0; padding: 12px 14px; border-radius: 3px; background: rgba(255, 252, 248, .08); font-family: var(--ns-font-mono, monospace); font-size: .82rem !important; line-height: 1.5 !important; }
.ns-rp.has-bad .ns-rp__stat { background: rgba(212, 85, 58, .25); }
.ns-rp__stage { display: grid; place-items: center; min-height: 320px; padding: 28px; border-radius: 3px; background: rgba(255, 252, 248, .05); }
.ns-rp:not(.is-js) .ns-rp__stage, .ns-rp:not(.is-js) .ns-rp__ctrl, .ns-rp:not(.is-js) .ns-rp__hint, .ns-rp:not(.is-js) .ns-rp__palette, .ns-rp:not(.is-js) .ns-rp__stat { display: none; }
.ns-rp.is-js .ns-rp__table { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.ns-rp__table { width: 100%; grid-column: 1 / -1; color: inherit; }
.ns-rp__table a { color: inherit; }
/* Zimmer von oben: Dielenboden, Wände, Tür, Fenster, Maße */
.ns-rp__room {
	position: relative; touch-action: none;
	background-color: #E9D9C1;
	background-image:
		repeating-linear-gradient(90deg, rgba(120, 82, 50, .16) 0 1px, transparent 1px calc(var(--k, 1) * 20px)),
		repeating-linear-gradient(0deg, transparent 0 calc(var(--k, 1) * 120px - 1px), rgba(120, 82, 50, .12) calc(var(--k, 1) * 120px - 1px) calc(var(--k, 1) * 120px));
	box-shadow: 0 0 0 7px #FFFCF8, 0 0 0 8px rgba(0, 0, 0, .2);
	transition: width .25s ease, height .25s ease;
}
.ns-rp__room::before, .ns-rp__room::after {
	position: absolute; font-family: var(--ns-font-mono, monospace); font-size: .7rem; letter-spacing: .06em; color: #FFFCF8; opacity: .85; white-space: nowrap;
}
.ns-rp__room::before { content: attr(data-w); left: 50%; top: -30px; transform: translateX(-50%); }
.ns-rp__room::after { content: attr(data-d); right: -40px; top: 50%; transform: translateY(-50%) rotate(90deg); transform-origin: center; }
.ns-rp__door { position: absolute; left: 0; bottom: 0; width: calc(var(--k, 1) * 80px); height: calc(var(--k, 1) * 80px); border-top: 2px solid #FFFCF8; border-right: 1px dashed rgba(46, 31, 26, .45); border-radius: 0 100% 0 0; transform: translateY(0); pointer-events: none; background: rgba(255, 252, 248, .25); }
.ns-rp__door::before { content: ""; position: absolute; left: -9px; bottom: -9px; width: calc(var(--k, 1) * 80px + 9px); height: 9px; background: #E9D9C1; }
.ns-rp__window { position: absolute; top: -9px; left: 35%; width: 30%; height: 9px; background: repeating-linear-gradient(90deg, #A9C4D4 0 calc(50% - 1px), #FFFCF8 calc(50% - 1px) calc(50% + 1px)); pointer-events: none; }
.ns-rp__rule { position: absolute; opacity: 0; pointer-events: none; z-index: 5; transition: opacity .2s; }
.ns-rp__rule--x { height: 0; border-top: 1.5px dashed #D4553A; }
.ns-rp__rule--y { width: 0; border-left: 1.5px dashed #D4553A; }
.ns-rp__rule::after { content: attr(data-v); position: absolute; padding: 1px 5px; background: #D4553A; color: #fff; font-family: var(--ns-font-mono, monospace); font-size: .66rem; border-radius: 2px; white-space: nowrap; }
.ns-rp__rule--x::after { left: 50%; top: -10px; transform: translateX(-50%); }
.ns-rp__rule--y::after { top: 50%; left: 4px; transform: translateY(-50%); }
.ns-rp__item {
	position: absolute; z-index: 2; cursor: grab; touch-action: none; user-select: none; -webkit-user-select: none;
	background: var(--c); border-radius: 3px; color: #2E1F1A;
	box-shadow: inset 0 0 0 1.5px rgba(46, 31, 26, .35), 0 6px 14px -6px rgba(46, 31, 26, .55);
	transition: box-shadow .2s, left .12s ease-out, top .12s ease-out;
}
.ns-rp__item.is-drag { cursor: grabbing; transition: none; box-shadow: inset 0 0 0 1.5px rgba(46, 31, 26, .5), 0 16px 26px -10px rgba(46, 31, 26, .7); z-index: 4; }
.ns-rp__item--round, .ns-rp__item--swing { border-radius: 50%; }
.ns-rp__item::after { content: ""; position: absolute; inset: 4px; border: 1px dashed rgba(46, 31, 26, .3); border-radius: inherit; pointer-events: none; }
.ns-rp__gap { position: absolute; inset: calc(var(--gap, 20px) * -1); border-radius: 50%; border: 1.5px dashed rgba(255, 252, 248, .9); pointer-events: none; }
.ns-rp__item.is-tight .ns-rp__gap { border-color: #D4553A; background: rgba(212, 85, 58, .12); }
.ns-rp__item.is-bad { box-shadow: inset 0 0 0 2.5px #D4553A, 0 0 0 3px rgba(212, 85, 58, .35); }
.ns-rp__item.is-sel { z-index: 3; box-shadow: inset 0 0 0 2px #2E1F1A, 0 10px 20px -8px rgba(46, 31, 26, .7); }
.ns-rp__lab { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; padding: 4px; pointer-events: none; line-height: 1.1; }
.ns-rp__lab b { font-family: var(--ns-font-head); font-weight: 520; font-size: .82rem; }
.ns-rp__lab i { font-style: normal; font-family: var(--ns-font-mono, monospace); font-size: .62rem; opacity: .75; margin-top: 2px; }
.ns-rp__item.is-small .ns-rp__lab b { font-size: .66rem; }
.ns-rp__item.is-small .ns-rp__lab i { display: none; }
.ns-rp__tools { position: absolute; left: 50%; bottom: calc(100% + 8px); transform: translateX(-50%); display: none; gap: 4px; white-space: nowrap; z-index: 6; }
.ns-rp__item.is-sel .ns-rp__tools { display: flex; }
.ns-rp__tool { border: 0; border-radius: 2px; padding: 5px 8px; background: #FFFCF8; color: #2E1F1A; font: 500 .74rem/1 var(--ns-font-mono, monospace); cursor: pointer; text-decoration: none; box-shadow: 0 4px 10px -4px rgba(0, 0, 0, .5); }
.ns-rp__tool:hover { background: #D4553A; color: #fff; }
.ns-rp__tool--go { background: #D4553A; color: #fff; }
@media (max-width: 860px) {
	.ns-rp { grid-template-columns: 1fr; }
	.ns-rp__stage { order: -1; padding: 30px 30px 24px; }
	.ns-rp__palette { grid-template-columns: 1fr 1fr; }
	.ns-rp__add { grid-template-columns: 24px 1fr; font-size: .85rem; }
	.ns-rp__dim { grid-column: 2; }
}

/* ---------------------------------------------------------------- Fuß mit Pflegeetikett */
.ns-look-stoff .site-footer { background: var(--st-ink); color: rgba(255, 252, 248, .78); border-top: 0; margin-top: 0; }
.ns-look-stoff .site-footer a { color: var(--st-milk); text-decoration-color: rgba(255, 252, 248, .3); }
.ns-look-stoff .site-footer a:hover { color: #F08A6E; }
.ns-look-stoff .site-footer__title { color: var(--st-milk); font-style: italic; font-weight: 420; font-size: 1.25rem; }
.ns-look-stoff .site-footer__brand--logo { color: var(--st-milk); }
.ns-look-stoff .site-footer__trust {
	position: relative; max-width: 760px; margin: 0 auto; padding: 30px 30px 22px; background: #F6F0E6; color: var(--st-ink); border: 0; border-radius: 0 0 4px 4px;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 50% calc(100% - 10px), 0 100%);
}
.ns-look-stoff .site-footer__trust::before {
	content: ""; display: block; height: 28px; margin-bottom: 14px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 28' fill='none' stroke='%232E1F1A' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M4 6h28l-3 18H7z'/%3E%3Cpath d='M4 10c4 3 8-3 14 0s10 3 14 0'/%3E%3Ctext x='18' y='21' font-size='8' font-family='monospace' fill='%232E1F1A' stroke='none' text-anchor='middle'%3E30%3C/text%3E%3Cpath d='M58 24 72 4l14 20z'/%3E%3Cpath d='M58 4l28 20M86 4 58 24'/%3E%3Crect x='112' y='4' width='22' height='20' rx='2'/%3E%3Ccircle cx='123' cy='14' r='7'/%3E%3Cpath d='M112 4l22 20M134 4 112 24'/%3E%3Cpath d='M160 22h34l-4-12c-1-3-3-4-6-4h-16c-4 0-6 3-8 6z'/%3E%3Ccircle cx='177' cy='16' r='1.6' fill='%232E1F1A'/%3E%3C/svg%3E") left center / auto 100% no-repeat;
}
.ns-look-stoff .site-footer__trust::after { content: ""; position: absolute; left: 14px; right: 14px; top: 10px; border-top: 1px dashed rgba(46, 31, 26, .35); }
.ns-look-stoff .site-footer__trust .ns-trust li { color: var(--st-ink); font-family: var(--st-mono); font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; background: none; padding: 0; outline: 0; }
.ns-look-stoff .site-footer__trust .ns-trust svg { color: var(--st-red); }
.ns-look-stoff .site-footer__bottom { border-top: 1px solid rgba(255, 252, 248, .15); color: rgba(255, 252, 248, .6); background: none; }
.ns-look-stoff .site-footer__bottom p { color: rgba(255, 252, 248, .65); font-family: var(--st-mono); font-size: .74rem; letter-spacing: .04em; }

/* ---------------------------------------------------------------- Shop, Produkt, Ratgeber */
.ns-look-stoff .woocommerce-products-header,
.ns-look-stoff .ns-archive-head { border-bottom: 1.5px solid var(--st-ink); }
.ns-look-stoff .ns-chips a {
	border-radius: 2px; border: 1px solid var(--st-ink); background: none; font-family: var(--st-mono); font-size: .76rem; letter-spacing: .06em; text-transform: uppercase;
}
.ns-look-stoff .ns-chips a:hover { background: var(--st-oat); }
.ns-look-stoff .ns-chips .is-active a, .ns-look-stoff .ns-chips a[aria-current] { background: var(--st-ink); color: var(--st-milk); }
.ns-look-stoff input[type="text"], .ns-look-stoff input[type="email"], .ns-look-stoff input[type="search"], .ns-look-stoff input[type="number"], .ns-look-stoff select, .ns-look-stoff textarea {
	border-radius: 2px; border: 1.5px solid var(--st-line); background: #fff;
}
.ns-look-stoff .ns-breadcrumbs { font-family: var(--st-mono); font-size: .74rem; letter-spacing: .06em; text-transform: uppercase; }
.ns-look-stoff .ns-pbox { border-radius: 3px; border: 1.5px solid var(--st-ink); box-shadow: none; background: var(--st-milk); }
.ns-look-stoff .woocommerce div.product div.images img, .ns-look-stoff .ns-ptop img { border-radius: 3px; }
.ns-look-stoff .ns-toc { background: var(--st-oat); border-radius: 3px; }
.ns-look-stoff .entry-content blockquote { border-left: 0; font-family: var(--ns-font-head); font-style: italic; font-size: 1.5rem; line-height: 1.3; padding-left: 0; }
.ns-look-stoff .entry-content blockquote::before { content: "„"; display: block; color: var(--st-red); font-size: 3rem; line-height: .6; }

@media (prefers-reduced-motion: reduce) {
	.ns-look-stoff *, .ns-look-stoff *::before, .ns-look-stoff *::after { transition-duration: .01ms !important; animation: none !important; }
}


/* ---------------------------------------------------------------- Wolken (seit 1.6.0)
 * Wolken als aufgenähte Stoff-Applikationen: Füllung in Milch, gestrichelter Heftstich innen.
 * Abschnitte gehen mit einer Wolkenkante ineinander über; im Hero ziehen Wolken vorbei,
 * die beim Darüberfahren nachgeben und beim Antippen zerplatzen und sich neu bilden (stoff.js).
 */
.ns-look-stoff { --st-cloud: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 120'%3E%3Cpath d='M50 100C22 100 10 82 14 66C18 50 34 44 46 48C48 28 66 16 86 20C98 6 128 6 140 24C160 18 182 32 180 52C194 58 196 80 184 92C176 100 166 100 160 100Z' fill='%23FFFCF8'/%3E%3Cpath d='M50 100C22 100 10 82 14 66C18 50 34 44 46 48C48 28 66 16 86 20C98 6 128 6 140 24C160 18 182 32 180 52C194 58 196 80 184 92C176 100 166 100 160 100Z' fill='none' stroke='%232E1F1A' stroke-opacity='.35' stroke-width='1.6' stroke-dasharray='5 4' transform='translate%28100 60%29 scale%28.88%29 translate%28-100 -60%29'/%3E%3C/svg%3E"); --st-cloud-edge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 60' preserveAspectRatio='none'%3E%3Cpath d='M0 60V40C10 22 34 18 46 32C56 12 90 8 104 28C116 16 140 18 148 34C164 14 200 12 212 34C226 22 250 24 258 38C272 20 304 18 316 36C330 24 356 26 364 40C374 28 396 30 400 40V60Z'/%3E%3C/svg%3E"); }
.ns-look-stoff .ns-plan, .ns-look-stoff .ns-section--soft, .ns-look-stoff .ns-cta, .ns-look-stoff .site-footer { position: relative; overflow: visible; }
.ns-look-stoff .ns-plan::before, .ns-look-stoff .ns-section--soft::before, .ns-look-stoff .ns-cta::before, .ns-look-stoff .site-footer::before {
	content: ""; position: absolute; left: 0; right: 0; top: -46px; height: 48px; pointer-events: none; z-index: 1;
	background: inherit; background-image: none;
	-webkit-mask: var(--st-cloud-edge) 0 100% / 420px 48px repeat-x; mask: var(--st-cloud-edge) 0 100% / 420px 48px repeat-x;
}
.ns-look-stoff .ns-section--soft::before { -webkit-mask-position: 130px 100%; mask-position: 130px 100%; }
.ns-look-stoff .ns-cta::before { -webkit-mask-position: 260px 100%; mask-position: 260px 100%; }
.ns-look-stoff .site-footer::before { -webkit-mask-size: 520px 56px; mask-size: 520px 56px; top: -54px; height: 56px; }
/* Hero: eine große Wolke auch ohne JavaScript */
.ns-look-stoff .ns-shero { isolation: isolate; }
.ns-look-stoff .ns-shero::before {
	content: ""; position: absolute; z-index: -1; right: max(2vw, calc((100vw - 1240px) / 2 - 40px)); top: 70px; width: clamp(180px, 26vw, 380px); aspect-ratio: 5 / 3;
	background: var(--st-cloud) center / contain no-repeat; filter: drop-shadow(0 10px 14px rgba(46, 31, 26, .12));
}
.ns-look-stoff .ns-shero.has-clouds::before { display: none; }
.ns-cloud {
	position: absolute; z-index: -1; width: var(--w, 200px); aspect-ratio: 5 / 3; cursor: pointer; pointer-events: auto;
	background: var(--st-cloud) center / contain no-repeat; filter: drop-shadow(0 10px 14px rgba(46, 31, 26, .12));
	transition: transform .5s cubic-bezier(.3, 1.6, .5, 1), opacity .4s;
	will-change: transform;
}
.ns-cloud__in { position: absolute; inset: 0; animation: st-drift var(--t, 26s) ease-in-out infinite alternate; }
.ns-cloud:hover { transform: scale(1.06, .94); }
.ns-cloud.is-pop { opacity: 0; transform: scale(1.5); }
.ns-puff { position: absolute; z-index: 2; width: 14px; height: 14px; border-radius: 50%; background: #FFFCF8; box-shadow: inset 0 0 0 1.5px rgba(46, 31, 26, .25); pointer-events: none; animation: st-puff .7s ease-out forwards; }
@keyframes st-drift { from { transform: translateX(0); } to { transform: translateX(var(--dx, 40px)); } }
@keyframes st-puff { to { transform: translate(var(--px), var(--py)) scale(.2); opacity: 0; } }
.ns-look-stoff .ns-shero > *:not(.ns-cloud) { position: relative; z-index: 1; }
/* Wölkchen als Zeichen vor Ratgeber-Kategorie und im Raumplaner-Tipp */
.ns-look-stoff .ns-card__cat::before { content: ""; display: inline-block; width: 18px; height: 11px; margin-right: 6px; vertical-align: -1px; background: var(--st-cloud) center / contain no-repeat; filter: drop-shadow(0 0 0 rgba(0,0,0,0)); }
.ns-look-stoff .ns-rp__hint::before { content: ""; display: inline-block; width: 22px; height: 13px; margin-right: 8px; vertical-align: -2px; background: var(--st-cloud) center / contain no-repeat; }
@media (max-width: 781px) {
	.ns-look-stoff .ns-shero::before { top: 18px; right: -30px; width: 170px; opacity: .9; }
	.ns-look-stoff .ns-plan::before, .ns-look-stoff .ns-section--soft::before, .ns-look-stoff .ns-cta::before { -webkit-mask-size: 300px 34px; mask-size: 300px 34px; top: -32px; height: 34px; }
}
@media (prefers-reduced-motion: reduce) { .ns-cloud__in { animation: none; } }

/* ---------------------------------------------------------------- Schaukelndes Kind ([ns_schaukelkind]) */
.ns-swing { position: relative; display: block; width: min(300px, 70vw); margin: 30px auto 0; text-align: center; }
.ns-swing__btn { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: pointer; position: relative; }
.ns-swing__btn:focus-visible { outline: 2px dashed var(--ns-accent, #D4553A); outline-offset: 6px; }
.ns-swing__svg { display: block; width: 100%; height: auto; overflow: visible; }
.ns-swing__sw { transform-origin: 160px 95px; transform-box: view-box; animation: st-swing 3.4s ease-in-out infinite alternate; }
.ns-swing__legs { transform-origin: 160px 398px; transform-box: view-box; animation: st-kick 3.4s ease-in-out infinite alternate; animation-delay: -1.7s; }
.ns-swing__bun { transform-origin: 186px 268px; transform-box: view-box; animation: st-bob 1.7s ease-in-out infinite alternate; }
.ns-swing__shadow { transform-origin: 160px 545px; transform-box: view-box; animation: st-shadow 3.4s ease-in-out infinite alternate; }
.ns-swing__cloud { transform-origin: 160px 60px; transform-box: view-box; animation: st-float 6s ease-in-out infinite alternate; }
.ns-swing.is-push .ns-swing__sw { animation: st-swing-big 1.5s ease-in-out 4 alternate; }
.ns-swing.is-push .ns-swing__legs { animation: st-kick 1.5s ease-in-out 4 alternate; animation-delay: -.75s; }
.ns-swing.is-push .ns-swing__shadow { animation: st-shadow-big 1.5s ease-in-out 4 alternate; }
.ns-swing__hint {
	position: absolute; z-index: 3; left: 64%; top: 43%; padding: .35em .7em; border-radius: 2px; transform: rotate(6deg);
	background: var(--st-ink, #2E1F1A); color: #FFFCF8; font: 500 .7rem/1 var(--ns-font-mono, monospace); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap;
	opacity: 0; transition: opacity .3s;
}
.ns-swing__btn:hover .ns-swing__hint { opacity: 1; }
.ns-swing.is-push .ns-swing__hint { opacity: 0; }
.ns-swing__link { display: inline-block; margin-top: 6px; font-family: var(--ns-font-mono, monospace); font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
@keyframes st-swing { from { transform: rotate(-7deg); } to { transform: rotate(7deg); } }
@keyframes st-swing-big { from { transform: rotate(-17deg); } to { transform: rotate(17deg); } }
@keyframes st-kick { from { transform: rotate(10deg); } to { transform: rotate(-14deg); } }
@keyframes st-bob { from { transform: translateY(0); } to { transform: translateY(-3px); } }
@keyframes st-shadow { from { transform: translateX(-28px) scaleX(.9); } to { transform: translateX(28px) scaleX(.9); } }
@keyframes st-shadow-big { from { transform: translateX(-70px) scaleX(.8); } to { transform: translateX(70px) scaleX(.8); } }
@keyframes st-float { from { transform: translateY(0); } to { transform: translateY(6px); } }
/* Im Hero: rechts, an einer Wolke hängend, ab Tablet neben dem Text */
@media (min-width: 960px) {
	.ns-look-stoff .ns-shero:has(.ns-swing) > *:not(.ns-swing):not(.ns-cloud):not(.ns-puff) { padding-right: clamp(240px, 27vw, 380px); box-sizing: border-box; }
	.ns-look-stoff .ns-shero .ns-swing { position: absolute; z-index: 2; top: 0; right: max(2vw, calc((100vw - 1240px) / 2)); width: clamp(220px, 24vw, 330px); margin: 0; }
	.ns-look-stoff .ns-shero:has(.ns-swing)::before { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.ns-swing__sw, .ns-swing__legs, .ns-swing__bun, .ns-swing__shadow, .ns-swing__cloud { animation: none !important; }
}
