/*
 * Decor Homee — Ideas gallery.
 *
 * Named classes only, theme tokens only (Poppins/Roboto, the green palette in
 * theme.json, the spacing scale). The only literal colours are the color-
 * filter swatches, which show the filter's own colour, and the photo scrims.
 * Spacing follows the site's spec: 48px (spacing--40) between sections,
 * 24px (spacing--30) between the parts of one section.
 */

/* ------------------------------------------------------------------ frame */
.nyd-ideas-main {
	padding-block: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
}

.nyd-ideas-app > * {
	margin-block: 0;
}

.nyd-ideas-app > * + * {
	margin-block-start: var(--wp--preset--spacing--30);
}

.nyd-ideas-app > * + section,
.nyd-ideas-app > * + .nyd-ideas-pager,
.nyd-ideas-app > * + .nyd-ideas-prevnext {
	margin-block-start: var(--wp--preset--spacing--40);
}

.nyd-ideas-app > .nyd-ideas-chips,
.nyd-ideas-app > .nyd-ideas-note {
	margin-block-start: var(--wp--preset--spacing--20);
}

/* The grid resets its own list margins; inside the flow it still keeps the
   24px step from the chips above it (the audit caught it flush at 0). */
.nyd-ideas-app > * + .nyd-ideas-grid,
.nyd-ideas-app > * + .nyd-ideas-empty,
.nyd-ideas-app > * + .nyd-ideas-saved {
	margin-block-start: var(--wp--preset--spacing--30);
}

.nyd-ideas-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.nyd-ideas-icon {
	flex: none;
	transition: transform 0.2s ease;
}

/* ------------------------------------------------------------------- head */
.nyd-ideas__head {
	max-inline-size: 60rem;
}

.nyd-ideas-app .nyd-ideas__head > * {
	margin: 0;
}

.nyd-ideas-app .nyd-ideas__title {
	margin-block-start: 0.75rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--display);
	line-height: 1.1;
	color: var(--wp--preset--color--ink);
}

.nyd-ideas-app .nyd-ideas__lede {
	margin-block-start: 1rem;
	max-inline-size: 68ch;
	font-size: var(--wp--preset--font-size--large);
	color: var(--wp--preset--color--ink-2);
}

.nyd-ideas__h2 {
	margin: 0 0 1.25rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.25;
	color: var(--wp--preset--color--ink);
}

/* ------------------------------------------------------------- filter bar */
.nyd-ideas-bar {
	position: relative;
	display: grid;
	gap: 0.75rem;
	padding-block: 1rem;
	border-block: 1px solid var(--wp--preset--color--rule);
}

.nyd-ideas-bar__filters,
.nyd-ideas-bar__refine,
.nyd-ideas-bar__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

.nyd-ideas-bar__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 1rem;
}

.nyd-ideas-bar__label,
.nyd-ideas-bar__count {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--ink-3);
}

.nyd-ideas-bar__count {
	color: var(--wp--preset--color--ink-2);
	font-variant-numeric: tabular-nums;
}

.nyd-ideas-bar__saved {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	min-block-size: 2.5rem;
	padding: 0.4rem 0.9rem;
	border: 1px solid var(--wp--preset--color--accent);
	border-radius: 999px;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--accent-ink);
	font: inherit;
	font-size: 0.875rem;
	cursor: pointer;
}

.nyd-ideas-bar__saved[hidden] {
	display: none;
}

/* dropdowns */
.nyd-ideas-dd {
	position: relative;
}

.nyd-ideas-dd__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-block-size: 2.5rem;
	padding: 0.45rem 0.9rem;
	border: 1px solid var(--wp--preset--color--rule);
	border-radius: 6px;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.9375rem;
	line-height: 1.2;
	white-space: nowrap;
	list-style: none;
	cursor: pointer;
	user-select: none;
	transition: border-color 0.2s ease;
}

.nyd-ideas-dd__btn::-webkit-details-marker {
	display: none;
}

.nyd-ideas-dd__btn::marker {
	content: "";
}

.nyd-ideas-dd__btn:hover {
	border-color: var(--wp--preset--color--ink-3);
}

.nyd-ideas-dd__btn:focus-visible,
.nyd-ideas-opt:focus-visible,
.nyd-ideas-chip:focus-visible,
.nyd-ideas-save:focus-visible,
.nyd-ideas-bar__saved:focus-visible,
.nyd-ideas-card__link:focus-visible,
.nyd-ideas-tile__link:focus-visible,
.nyd-ideas-lb button:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

.nyd-ideas-dd.is-active > .nyd-ideas-dd__btn {
	border-color: var(--wp--preset--color--accent);
	background: var(--wp--preset--color--surface-2);
	color: var(--wp--preset--color--accent-ink);
}

.nyd-ideas-dd[open] > .nyd-ideas-dd__btn .nyd-ideas-icon {
	transform: rotate(180deg);
}

.nyd-ideas-dd--all[open] > .nyd-ideas-dd__btn .nyd-ideas-icon {
	transform: none;
}

.nyd-ideas-dd__panel {
	position: absolute;
	z-index: 40;
	inset-block-start: calc(100% + 6px);
	inset-inline-start: 0;
	min-inline-size: 16rem;
	max-inline-size: min(22rem, calc(100vw - 2rem));
	max-block-size: 24rem;
	overflow: auto;
	overscroll-behavior: contain;
	padding: 0.5rem;
	border: 1px solid var(--wp--preset--color--rule);
	border-radius: 8px;
	background: var(--wp--preset--color--surface);
	box-shadow: 0 12px 32px rgba(19, 26, 23, 0.12);
}

.nyd-ideas-dd.is-flip > .nyd-ideas-dd__panel {
	inset-inline-start: auto;
	inset-inline-end: 0;
}

.nyd-ideas-dd--all > .nyd-ideas-dd__panel {
	inline-size: min(60rem, calc(100vw - 2rem));
	max-inline-size: none;
	max-block-size: min(36rem, 70vh);
	padding: 1rem;
}

.nyd-ideas-dd__cols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
	gap: 1rem 1.5rem;
}

.nyd-ideas-dd__heading,
.nyd-ideas-dd__group {
	margin: 0;
	padding: 0.6rem 0.5rem 0.3rem;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-3);
}

.nyd-ideas-dd__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.nyd-ideas-dd__child .nyd-ideas-opt {
	padding-inline-start: 1.75rem;
}

/* one option */
.nyd-ideas-opt {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	min-block-size: 2.5rem;
	padding: 0.35rem 0.5rem;
	border-radius: 6px;
	color: var(--wp--preset--color--ink);
	font-size: 0.9375rem;
	line-height: 1.3;
	text-decoration: none;
}

a.nyd-ideas-opt:hover {
	background: var(--wp--preset--color--ground);
}

.nyd-ideas-opt.is-empty {
	color: var(--wp--preset--color--ink-3);
	cursor: default;
}

.nyd-ideas-opt__box {
	position: relative;
	flex: none;
	inline-size: 1.05rem;
	block-size: 1.05rem;
	border: 1.5px solid var(--wp--preset--color--ink-3);
	border-radius: 4px;
	background: var(--wp--preset--color--surface);
}

.nyd-ideas-opt--radio .nyd-ideas-opt__box {
	border-radius: 50%;
}

.nyd-ideas-opt.is-on .nyd-ideas-opt__box {
	border-color: var(--wp--preset--color--accent);
	background: var(--wp--preset--color--accent);
}

.nyd-ideas-opt.is-on .nyd-ideas-opt__box::after {
	content: "";
	position: absolute;
	inset-block-start: 1px;
	inset-inline-start: 4px;
	inline-size: 4px;
	block-size: 8px;
	border: solid var(--wp--preset--color--surface);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.nyd-ideas-opt__label {
	flex: 1;
}

.nyd-ideas-opt__n {
	color: var(--wp--preset--color--ink-3);
	font-size: var(--wp--preset--font-size--small);
	font-variant-numeric: tabular-nums;
}

/* color swatches (the filter's own colour — data, not brand tokens) */
.nyd-ideas-swatch {
	display: inline-block;
	flex: none;
	inline-size: 1rem;
	block-size: 1rem;
	border-radius: 50%;
	background: var(--wp--preset--color--surface-2);
	box-shadow: inset 0 0 0 1px rgba(19, 26, 23, 0.22);
	vertical-align: -0.15em;
}

.nyd-ideas-swatch--white { background: #FFFFFF; }
.nyd-ideas-swatch--beige { background: #E6D9C2; }
.nyd-ideas-swatch--gray { background: #9A9D98; }
.nyd-ideas-swatch--black { background: #1B1B1B; }
.nyd-ideas-swatch--black-and-white { background: linear-gradient(135deg, #1B1B1B 50%, #FFFFFF 50%); }
.nyd-ideas-swatch--wood-tones { background: #A06E45; }
.nyd-ideas-swatch--blue { background: #3D6A9E; }
.nyd-ideas-swatch--green { background: #5E805A; }
.nyd-ideas-swatch--yellow { background: #E2BE4B; }
.nyd-ideas-swatch--pink { background: #E8B6C0; }
.nyd-ideas-swatch--red { background: #A53A31; }
.nyd-ideas-swatch--multicolor { background: conic-gradient(#A53A31, #E2BE4B, #5E805A, #3D6A9E, #E8B6C0, #A53A31); }

/* ------------------------------------------------------------------ chips */
.nyd-ideas-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nyd-ideas-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	min-block-size: 2.25rem;
	padding: 0.35rem 0.9rem;
	border: 1px solid var(--wp--preset--color--rule);
	border-radius: 999px;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	font-size: 0.875rem;
	line-height: 1.2;
	text-decoration: none;
	transition: border-color 0.2s ease, color 0.2s ease;
}

.nyd-ideas-chip:hover {
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent-ink);
}

.nyd-ideas-chip.is-on {
	border-color: var(--wp--preset--color--accent);
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--surface);
}

.nyd-ideas-chip.is-on:hover {
	background: var(--wp--preset--color--accent-ink);
	color: var(--wp--preset--color--surface);
}

.nyd-ideas-chip--clear {
	border-color: transparent;
	background: transparent;
	color: var(--wp--preset--color--accent-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.nyd-ideas-chip__n {
	color: var(--wp--preset--color--ink-3);
	font-size: 0.8125rem;
	font-variant-numeric: tabular-nums;
}

/* ------------------------------------------------------------------- grid */
.nyd-ideas-grid,
.nyd-ideas-tiles {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nyd-ideas-card {
	position: relative;
}

.nyd-ideas-card__link,
.nyd-ideas-tile__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.nyd-ideas-card__media,
.nyd-ideas-tile__media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 4px;
	background: var(--wp--preset--color--surface-2);
}

.nyd-ideas-card__img,
.nyd-ideas-tile__img {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.nyd-ideas-card__link:hover .nyd-ideas-card__img,
.nyd-ideas-tile__link:hover .nyd-ideas-tile__img {
	transform: scale(1.03);
}

.nyd-ideas-card__title,
.nyd-ideas-tile__name {
	display: block;
	margin-block-start: 0.6rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.35;
	color: var(--wp--preset--color--ink);
	transition: color 0.2s ease;
}

.nyd-ideas-card__link:hover .nyd-ideas-card__title,
.nyd-ideas-tile__link:hover .nyd-ideas-tile__name {
	color: var(--wp--preset--color--accent);
}

.nyd-ideas-card__meta,
.nyd-ideas-tile__n {
	display: block;
	margin-block-start: 0.2rem;
	font-size: 0.8125rem;
	color: var(--wp--preset--color--ink-3);
}

.nyd-ideas-card__badge {
	position: absolute;
	inset-block-start: 0.5rem;
	inset-inline-start: 0.5rem;
	padding: 0.2rem 0.6rem;
	border-radius: 999px;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--surface);
	font-size: 0.75rem;
}

.nyd-ideas-save {
	position: absolute;
	inset-block-start: 0.5rem;
	inset-inline-end: 0.5rem;
	display: grid;
	place-items: center;
	inline-size: 2.5rem;
	block-size: 2.5rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.94);
	color: var(--wp--preset--color--ink);
	box-shadow: 0 1px 4px rgba(19, 26, 23, 0.18);
	cursor: pointer;
}

.nyd-ideas-save .nyd-ideas-icon {
	inline-size: 18px;
	block-size: 18px;
}

.nyd-ideas-save[aria-pressed="true"] {
	color: var(--wp--preset--color--accent);
}

.nyd-ideas-save[aria-pressed="true"] .nyd-ideas-icon {
	fill: currentColor;
}

.nyd-ideas-save--inline {
	position: static;
	display: inline-flex;
	gap: 0.4rem;
	inline-size: auto;
	block-size: auto;
	min-block-size: 2.5rem;
	padding: 0.4rem 1rem;
	border: 1px solid var(--wp--preset--color--rule);
	border-radius: 999px;
	background: var(--wp--preset--color--surface);
	box-shadow: none;
	font: inherit;
	font-size: 0.9375rem;
}

/* ---------------------------------------------------------------- hub */
.nyd-ideas-group + .nyd-ideas-group {
	margin-block-start: var(--wp--preset--spacing--30);
}

.nyd-ideas-group__title {
	margin: 0 0 0.9rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-3);
}

.nyd-ideas-tile__name {
	font-weight: 600;
	font-size: 1.0625rem;
}

/* ------------------------------------------------------- notes & states */
.nyd-ideas-note {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--ink-3);
}

.nyd-ideas-empty {
	padding: var(--wp--preset--spacing--40) 1.5rem;
	border: 1px dashed var(--wp--preset--color--rule);
	border-radius: 8px;
	background: var(--wp--preset--color--surface);
	text-align: center;
}

.nyd-ideas-empty > * {
	margin: 0;
}

.nyd-ideas-empty > * + * {
	margin-block-start: 0.5rem;
}

.nyd-ideas-empty__title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--large);
	color: var(--wp--preset--color--ink);
}

.nyd-ideas-app[aria-busy="true"] .nyd-ideas-grid,
.nyd-ideas-app[aria-busy="true"] .nyd-ideas-bar__count {
	opacity: 0.5;
	transition: opacity 0.2s ease;
}

.nyd-ideas-app.is-saved-view > :not(.nyd-breadcrumb, .nyd-ideas__head, .nyd-ideas-bar, .nyd-ideas-saved, .nyd-ideas-cta) {
	display: none;
}

/* ------------------------------------------------------------------ pager */
.nyd-ideas-pager {
	display: grid;
	justify-items: center;
	gap: 1rem;
}

.nyd-ideas-pager__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nyd-ideas-pager__page {
	display: grid;
	place-items: center;
	min-inline-size: 2.5rem;
	block-size: 2.5rem;
	padding-inline: 0.5rem;
	border-radius: 6px;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

a.nyd-ideas-pager__page:hover {
	background: var(--wp--preset--color--surface-2);
}

.nyd-ideas-pager__page.is-current {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--surface);
}

/* ------------------------------------------------------------ buttons row */
.nyd-ideas-cta__actions,
.nyd-ideas-photo__actions,
.nyd-ideas-lb__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
}

.nyd-ideas-app .nyd-button,
.nyd-ideas-lb .nyd-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-block-size: 2.75rem;
	border: 0;
	cursor: pointer;
}

/* -------------------------------------------------------------------- CTA */
.nyd-ideas-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem 2rem;
	padding: var(--wp--preset--spacing--40) clamp(1.5rem, 4vw, 3rem);
	border-radius: 8px;
	background: var(--wp--preset--color--surface-2);
}

.nyd-ideas-cta__title {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.25;
	color: var(--wp--preset--color--ink);
}

.nyd-ideas-cta__body {
	margin: 0.5rem 0 0;
	max-inline-size: 52ch;
	color: var(--wp--preset--color--ink-2);
}

/* ------------------------------------------------------------ photo page */
.nyd-ideas-photo {
	display: grid;
	gap: var(--wp--preset--spacing--30);
}

.nyd-ideas-photo__figure {
	margin: 0;
}

.nyd-ideas-photo__img {
	display: block;
	inline-size: 100%;
	block-size: auto;
	border-radius: 4px;
}

.nyd-ideas-photo__caption {
	margin-block-start: 0.6rem;
	font-size: 0.8125rem;
	color: var(--wp--preset--color--ink-3);
}

.nyd-ideas-app .nyd-ideas-photo__aside > * {
	margin: 0;
}

.nyd-ideas-app .nyd-ideas-photo__aside > * + * {
	margin-block-start: 1.25rem;
}

.nyd-ideas-app .nyd-ideas-photo__aside > .nyd-ideas-photo__title {
	margin-block-start: 0.6rem;
}

.nyd-ideas-photo__title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1.15;
	color: var(--wp--preset--color--ink);
}

.nyd-ideas-photo__desc > * {
	margin: 0;
	color: var(--wp--preset--color--ink-2);
}

.nyd-ideas-photo__desc > * + * {
	margin-block-start: 0.9em;
}

.nyd-ideas-photo__svc {
	font-size: 0.9375rem;
	color: var(--wp--preset--color--ink-2);
}

.nyd-ideas-photo__svc a,
.nyd-ideas-facts a,
.nyd-ideas-pin {
	color: var(--wp--preset--color--accent-ink);
	text-underline-offset: 3px;
}

.nyd-ideas-facts {
	display: grid;
	gap: 0.5rem;
	padding-block-start: 1.25rem;
	border-block-start: 1px solid var(--wp--preset--color--rule);
	font-size: 0.9375rem;
}

.nyd-ideas-facts__row {
	display: grid;
	grid-template-columns: 7.5rem minmax(0, 1fr);
	gap: 0.75rem;
}

.nyd-ideas-facts dt {
	color: var(--wp--preset--color--ink-3);
}

.nyd-ideas-facts dd {
	margin: 0;
}

.nyd-ideas-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	padding: 0;
	list-style: none;
}

.nyd-ideas-tags__item {
	padding: 0.2rem 0.65rem;
	border-radius: 999px;
	background: var(--wp--preset--color--surface-2);
	color: var(--wp--preset--color--ink-2);
	font-size: 0.8125rem;
}

.nyd-ideas-photo__share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
}

.nyd-ideas-pin {
	font-size: 0.9375rem;
}

.nyd-ideas-prevnext {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding-block: 1rem;
	border-block: 1px solid var(--wp--preset--color--rule);
}

.nyd-ideas-prevnext__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	max-inline-size: 48%;
	color: var(--wp--preset--color--ink);
	font-size: 0.9375rem;
	text-decoration: none;
}

.nyd-ideas-prevnext__link:hover {
	color: var(--wp--preset--color--accent);
}

.nyd-ideas-prevnext__link--next {
	margin-inline-start: auto;
	text-align: end;
}

/* --------------------------------------------------------------- lightbox */
.nyd-ideas-lb {
	inline-size: min(76rem, calc(100vw - 2rem));
	max-inline-size: none;
	max-block-size: calc(100vh - 2rem);
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	overflow: hidden;
}

.nyd-ideas-lb::backdrop {
	background: rgba(10, 14, 12, 0.82);
}

.nyd-ideas-lb__inner {
	position: relative;
	display: grid;
	max-block-size: calc(100vh - 2rem);
	overflow: auto;
}

.nyd-ideas-lb__media {
	position: relative;
	display: grid;
	place-items: center;
	min-block-size: 16rem;
	background: #0E1411;
}

.nyd-ideas-lb__img {
	display: block;
	max-inline-size: 100%;
	max-block-size: 62vh;
	inline-size: auto;
	block-size: auto;
	object-fit: contain;
}

.nyd-ideas-lb__side {
	padding: 1.5rem;
}

.nyd-ideas-lb__side > * {
	margin: 0;
}

.nyd-ideas-lb__side > * + * {
	margin-block-start: 1rem;
}

.nyd-ideas-lb__ai {
	font-size: 0.8125rem;
	color: var(--wp--preset--color--ink-3);
}

.nyd-ideas-lb__title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.25;
}

.nyd-ideas-lb__details {
	color: var(--wp--preset--color--accent-ink);
	font-size: 0.9375rem;
	text-underline-offset: 3px;
}

.nyd-ideas-lb__close,
.nyd-ideas-lb__nav {
	position: absolute;
	z-index: 2;
	display: grid;
	place-items: center;
	inline-size: 2.75rem;
	block-size: 2.75rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.94);
	color: var(--wp--preset--color--ink);
	cursor: pointer;
}

.nyd-ideas-lb__close {
	inset-block-start: 0.75rem;
	inset-inline-end: 0.75rem;
}

.nyd-ideas-lb__nav {
	inset-block-start: 50%;
	transform: translateY(-50%);
}

.nyd-ideas-lb__nav--prev {
	inset-inline-start: 0.75rem;
}

.nyd-ideas-lb__nav--next {
	inset-inline-end: 0.75rem;
}

.nyd-ideas-lb__nav[hidden] {
	display: none;
}

.nyd-ideas-lb .nyd-ideas-icon {
	inline-size: 20px;
	block-size: 20px;
}

/* ------------------------------------------------------------ breakpoints */
@media (max-width: 640px) {
	/* Panels open full-width under the bar instead of under their button. */
	.nyd-ideas-dd {
		position: static;
	}

	.nyd-ideas-dd__panel,
	.nyd-ideas-dd--all > .nyd-ideas-dd__panel {
		inset-inline: 0;
		inline-size: auto;
		min-inline-size: 0;
		max-inline-size: none;
		max-block-size: 60vh;
	}

	/* One swipeable row, like Houzz. The panels' containing block is the bar
	   (outside this scroller), so an open panel is never clipped by it. */
	.nyd-ideas-bar__filters,
	.nyd-ideas-chips--popular,
	.nyd-ideas-chips--rooms {
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		padding-block-end: 2px;
	}

	.nyd-ideas-bar__filters::-webkit-scrollbar,
	.nyd-ideas-chips--popular::-webkit-scrollbar,
	.nyd-ideas-chips--rooms::-webkit-scrollbar {
		display: none;
	}

	.nyd-ideas-bar__filters > *,
	.nyd-ideas-chips--popular > *,
	.nyd-ideas-chips--rooms > * {
		flex: none;
	}

	.nyd-ideas-bar__row {
		align-items: flex-start;
	}

	.nyd-ideas-facts__row {
		grid-template-columns: 6rem minmax(0, 1fr);
	}
}

@media (min-width: 782px) {
	.nyd-ideas-grid,
	.nyd-ideas-tiles {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 2rem 1.5rem;
	}
}

@media (min-width: 900px) {
	.nyd-ideas-lb__inner {
		grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr);
		overflow: hidden;
	}

	.nyd-ideas-lb__media {
		min-block-size: 28rem;
	}

	.nyd-ideas-lb__img {
		max-block-size: calc(100vh - 2rem);
	}

	.nyd-ideas-lb__side {
		overflow: auto;
		max-block-size: calc(100vh - 2rem);
		padding: 2rem 1.75rem;
	}
}

@media (min-width: 1024px) {
	.nyd-ideas-photo {
		grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
		align-items: start;
		gap: var(--wp--preset--spacing--40);
	}
}

@media (min-width: 1200px) {
	.nyd-ideas-grid,
	.nyd-ideas-tiles {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (prefers-reduced-motion: reduce) {
	.nyd-ideas-card__img,
	.nyd-ideas-tile__img,
	.nyd-ideas-icon {
		transition: none;
	}

	.nyd-ideas-card__link:hover .nyd-ideas-card__img,
	.nyd-ideas-tile__link:hover .nyd-ideas-tile__img {
		transform: none;
	}
}

/* =================================================================== *
 * DESIGN v2 (2026-09-24) - preview-gated (.nyd-ideas-app--v2).        *
 * Same structure; painted hero + mosaic, overlay room tiles, style    *
 * cards, colour tiles, pinned filter card, bigger cards, sticky photo *
 * card, dark photo CTA. Theme tokens only.                            *
 * =================================================================== */
.nyd-ideas-app--v2 {
	--nyd-ideas-radius: 14px;
	--nyd-ideas-shadow: 0 1px 2px rgba(19, 26, 23, 0.05), 0 12px 32px rgba(19, 26, 23, 0.08);
	--nyd-ideas-shadow-sm: 0 1px 2px rgba(19, 26, 23, 0.06), 0 4px 14px rgba(19, 26, 23, 0.06);
}

.nyd-ideas-app--v2 > * + section {
	margin-block-start: var(--wp--preset--spacing--40);
}

.nyd-ideas-app--v2 .nyd-ideas__h2 {
	font-size: clamp(1.45rem, 1.1rem + 1vw, 1.9rem);
	letter-spacing: -0.01em;
}

/* hero */
.nyd-ideas-hero {
	display: grid;
	gap: var(--wp--preset--spacing--30);
	padding: clamp(1.25rem, 4vw, 3rem);
	border-radius: 20px;
	background: var(--wp--preset--color--surface-2);
}

.nyd-ideas-hero__text > * {
	margin: 0;
}

.nyd-ideas-hero__text > * + * {
	margin-block-start: var(--wp--preset--spacing--30);
}

.nyd-ideas-app--v2 .nyd-ideas-hero .nyd-ideas__title {
	font-size: clamp(2.1rem, 1.5rem + 2.3vw, 3.4rem);
	letter-spacing: -0.015em;
}

.nyd-ideas-hero__label {
	margin: 0 0 0.6rem;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-3);
}

.nyd-ideas-hero .nyd-ideas-chip {
	border-color: transparent;
	box-shadow: var(--nyd-ideas-shadow-sm);
}

.nyd-ideas-mosaic {
	display: grid;
	gap: 0.75rem;
	aspect-ratio: 16 / 10;
	min-inline-size: 0;
}

.nyd-ideas-mosaic--n5 {
	grid-template-columns: 1.35fr 1fr 1fr;
	grid-template-rows: repeat(2, minmax(0, 1fr));
}

.nyd-ideas-mosaic--n4 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: repeat(2, minmax(0, 1fr));
	aspect-ratio: 4 / 3;
}

.nyd-ideas-mosaic--n3 {
	grid-template-columns: 1.35fr 1fr;
	grid-template-rows: repeat(2, minmax(0, 1fr));
	aspect-ratio: 4 / 3;
}

.nyd-ideas-mosaic--n5 .nyd-ideas-mosaic__cell:first-child,
.nyd-ideas-mosaic--n3 .nyd-ideas-mosaic__cell:first-child {
	grid-row: span 2;
}

.nyd-ideas-mosaic__cell {
	min-block-size: 0;
	overflow: hidden;
	border-radius: 12px;
	background: var(--wp--preset--color--surface);
	box-shadow: var(--nyd-ideas-shadow-sm);
}

.nyd-ideas-mosaic__img {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

/* room tiles: name and count on the photo */
.nyd-ideas-app--v2 .nyd-ideas-tile__link {
	position: relative;
	overflow: hidden;
	border-radius: var(--nyd-ideas-radius);
	box-shadow: var(--nyd-ideas-shadow-sm);
}

.nyd-ideas-app--v2 .nyd-ideas-tile__media {
	border-radius: 0;
}

.nyd-ideas-app--v2 .nyd-ideas-tile__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(10, 14, 12, 0.8) 0%, rgba(10, 14, 12, 0.35) 38%, rgba(10, 14, 12, 0) 62%);
}

.nyd-ideas-app--v2 .nyd-ideas-tile__name,
.nyd-ideas-app--v2 .nyd-ideas-tile__n {
	position: absolute;
	z-index: 1;
	inset-inline: 1rem;
	margin: 0;
	color: #FFFFFF;
}

.nyd-ideas-app--v2 .nyd-ideas-tile__name {
	inset-block-end: 2.05rem;
	font-size: 1.125rem;
	font-weight: 600;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.nyd-ideas-app--v2 .nyd-ideas-tile__n {
	inset-block-end: 0.9rem;
	color: rgba(255, 255, 255, 0.9);
}

.nyd-ideas-app--v2 .nyd-ideas-tile__link:hover .nyd-ideas-tile__name {
	color: #FFFFFF;
}

.nyd-ideas-app--v2 .nyd-ideas-group__title {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-block-end: 1rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.125rem;
	letter-spacing: 0;
	text-transform: none;
	color: var(--wp--preset--color--ink);
}

.nyd-ideas-app--v2 .nyd-ideas-group__title::after {
	content: "";
	flex: 1;
	block-size: 1px;
	background: var(--wp--preset--color--rule);
}

/* style cards */
.nyd-ideas-scards {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(10.5rem, 1fr);
	gap: 1rem;
	margin: 0;
	padding: 0.25rem 0.25rem 0.75rem;
	list-style: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
}

.nyd-ideas-scards > li {
	scroll-snap-align: start;
}

.nyd-ideas-scard {
	display: block;
	overflow: hidden;
	border-radius: 12px;
	background: var(--wp--preset--color--surface);
	box-shadow: var(--nyd-ideas-shadow-sm);
	color: inherit;
	text-decoration: none;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.nyd-ideas-scard:hover {
	transform: translateY(-3px);
	box-shadow: var(--nyd-ideas-shadow);
}

.nyd-ideas-scard__media {
	display: block;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: var(--wp--preset--color--surface-2);
}

.nyd-ideas-scard__img {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

.nyd-ideas-scard__name {
	display: block;
	padding: 0.7rem 0.9rem 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.975rem;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}

.nyd-ideas-scard__n {
	display: block;
	padding: 0.1rem 0.9rem 0.85rem;
	font-size: 0.8125rem;
	color: var(--wp--preset--color--ink-3);
}

/* colour tiles */
.nyd-ideas-ctiles {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nyd-ideas-ctile {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.65rem 0.85rem;
	border-radius: 12px;
	background: var(--wp--preset--color--surface);
	box-shadow: var(--nyd-ideas-shadow-sm);
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	transition: transform 0.2s ease;
}

.nyd-ideas-ctile:hover {
	transform: translateY(-2px);
}

.nyd-ideas-ctile .nyd-ideas-swatch {
	inline-size: 2.25rem;
	block-size: 2.25rem;
}

.nyd-ideas-ctile__name {
	flex: 1;
	font-size: 0.9375rem;
	font-weight: 500;
}

.nyd-ideas-ctile__n {
	font-size: 0.8125rem;
	color: var(--wp--preset--color--ink-3);
	font-variant-numeric: tabular-nums;
}

/* sub-room chips with a round photo */
.nyd-ideas-chip__thumb {
	flex: none;
	inline-size: 1.9rem;
	block-size: 1.9rem;
	margin-inline-start: -0.55rem;
	overflow: hidden;
	border-radius: 50%;
}

.nyd-ideas-chip__img {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

/* photo cards */
.nyd-ideas-app--v2 .nyd-ideas-grid {
	gap: 2.25rem 1.5rem;
}

.nyd-ideas-app--v2 .nyd-ideas-card__media {
	border-radius: var(--nyd-ideas-radius);
	box-shadow: var(--nyd-ideas-shadow-sm);
	transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.nyd-ideas-app--v2 .nyd-ideas-card__link:hover .nyd-ideas-card__media {
	transform: translateY(-3px);
	box-shadow: var(--nyd-ideas-shadow);
}

.nyd-ideas-app--v2 .nyd-ideas-card__title {
	margin-block-start: 0.85rem;
	font-size: 1.0625rem;
}

.nyd-ideas-app--v2 .nyd-ideas-save {
	opacity: 0;
	transform: translateY(-4px);
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.nyd-ideas-app--v2 .nyd-ideas-card:hover .nyd-ideas-save,
.nyd-ideas-app--v2 .nyd-ideas-save:focus-visible,
.nyd-ideas-app--v2 .nyd-ideas-save[aria-pressed="true"],
.nyd-ideas-app--v2 .nyd-ideas-save--inline {
	opacity: 1;
	transform: none;
}

/* photo page: big image, sticky side card */
.nyd-ideas-app--v2 .nyd-ideas-photo__img {
	border-radius: 16px;
	box-shadow: var(--nyd-ideas-shadow);
}

.nyd-ideas-app--v2 .nyd-ideas-photo__aside {
	padding: clamp(1.25rem, 3vw, 2rem);
	border-radius: 16px;
	background: var(--wp--preset--color--surface);
	box-shadow: var(--nyd-ideas-shadow);
}

.nyd-ideas-app--v2 .nyd-ideas-photo__title {
	font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.2rem);
}

.nyd-ideas-app--v2 .nyd-ideas-photo__actions {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.6rem;
}

.nyd-ideas-app--v2 .nyd-ideas-photo__actions .wp-block-button,
.nyd-ideas-app--v2 .nyd-ideas-photo__actions .nyd-button {
	box-sizing: border-box;
	inline-size: 100%;
}

/* dark photo CTA */
.nyd-ideas-app--v2 .nyd-ideas-cta {
	overflow: hidden;
	border-radius: 20px;
	background: var(--wp--preset--color--accent-2);
}

.nyd-ideas-app--v2 .nyd-ideas-cta.has-media {
	padding: 0;
}

.nyd-ideas-app--v2 .nyd-ideas-cta__inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1.5rem;
	padding: clamp(1.75rem, 4vw, 3.25rem);
}

.nyd-ideas-app--v2 .nyd-ideas-cta__title {
	color: #FFFFFF;
	font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
}

.nyd-ideas-app--v2 p.nyd-ideas-cta__body {
	color: rgba(255, 255, 255, 0.84);
}

.nyd-ideas-app--v2 .nyd-ideas-cta .nyd-button {
	background: #FFFFFF;
	color: var(--wp--preset--color--ink);
	box-shadow: none;
}

.nyd-ideas-app--v2 .nyd-ideas-cta .nyd-button--outline {
	background: transparent;
	color: #FFFFFF;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.72);
}

.nyd-ideas-app--v2 .nyd-ideas-cta .nyd-button:hover,
.nyd-ideas-app--v2 .nyd-ideas-cta .nyd-button:focus {
	background: var(--wp--preset--color--surface-2);
	color: var(--wp--preset--color--ink);
	transform: none;
}

.nyd-ideas-cta__media {
	min-block-size: 14rem;
}

.nyd-ideas-cta__img {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

/* grid items may shrink below their content (the swipe row in the hero) */
.nyd-ideas-hero > *,
.nyd-ideas-app--v2 .nyd-ideas-photo > * {
	min-inline-size: 0;
}

/* v2 breakpoints */
@media (max-width: 781px) {
	.nyd-ideas-mosaic--n5 {
		grid-template-columns: 1.35fr 1fr;
		aspect-ratio: 16 / 11;
	}

	.nyd-ideas-mosaic--n5 .nyd-ideas-mosaic__cell:nth-child(n + 4) {
		display: none;
	}
}

@media (min-width: 900px) {
	.nyd-ideas-app--v2 .nyd-ideas-cta.has-media {
		display: grid;
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	}
}

@media (min-width: 1024px) {
	.nyd-ideas-hero.has-media {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
		align-items: center;
		gap: var(--wp--preset--spacing--40);
	}

	.nyd-ideas-app--v2 .nyd-ideas-photo {
		grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
	}

	/* the details card is the long column, so the photo is what stays in view */
	.nyd-ideas-app--v2 .nyd-ideas-photo__figure {
		position: sticky;
		inset-block-start: calc(var(--nyd-ideas-top, 115px) + 16px);
	}
}

@media (min-width: 1200px) {
	.nyd-ideas-app--v2 .nyd-ideas-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	/* eight similar ideas = two full rows of four */
	.nyd-ideas-app--v2.nyd-ideas-app--photo .nyd-ideas-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.nyd-ideas-scards {
		grid-auto-flow: row;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		overflow: visible;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nyd-ideas-scard,
	.nyd-ideas-ctile,
	.nyd-ideas-app--v2 .nyd-ideas-card__media,
	.nyd-ideas-app--v2 .nyd-ideas-save {
		transition: none;
	}
}
