/* ==========================================================================
   Service FAQ (neilkelly/kr-faq)
   Figma: Kitchen Remodel - Service Page / FAQ (684:273)
   Two-column: left photo, right accordion.
   Token-driven. Wrapper: .wp-block-neilkelly-kr-faq.nk-faq
   ========================================================================== */
.wp-block-neilkelly-kr-faq.nk-faq {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--12);
	max-width: var(--wp--custom--layout--max-width);
	margin-inline: auto;
	padding: var(--wp--preset--spacing--24) 0;
	background: var(--wp--preset--color--surface-card);
	font-family: var(--wp--preset--font-family--inter);
	box-sizing: border-box;
}

.wp-block-neilkelly-kr-faq .nk-faq__header {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--4);
	padding: 0 var(--wp--preset--spacing--gutter);
}

.wp-block-neilkelly-kr-faq .nk-faq__heading {
	/* Headline measure — three quarters of the content column, theme-wide (Shawn, 2026-08-18). */
	max-width: var(--wp--custom--layout--headline-measure);
	margin: 0;
	/* Size + case from the shared .nk-headline--structural class (mapped in render.php). */
	font-weight: var(--wp--custom--font-weight--extrabold);
	line-height: var(--wp--custom--line-height--none);
	letter-spacing: 0;
	color: var(--wp--preset--color--ink-primary);
}

.wp-block-neilkelly-kr-faq .nk-faq__subheading {
	margin: 0;
	font-size: var(--wp--preset--font-size--md);
	font-weight: var(--wp--custom--font-weight--regular);
	line-height: var(--wp--custom--line-height--none);
	color: var(--wp--preset--color--ink-secondary);
}

/* --- Columns --- */
.wp-block-neilkelly-kr-faq .nk-faq__cols {
	display: flex;
	gap: var(--wp--preset--spacing--20);
	align-items: flex-start;
}

.wp-block-neilkelly-kr-faq .nk-faq__media {
	flex: 0 0 var(--wp--custom--components--kitchen-remodel--faq-photo-width);
	max-width: var(--wp--custom--components--kitchen-remodel--faq-photo-width);
}

.wp-block-neilkelly-kr-faq .nk-faq__photo {
	display: block;
	width: 100%;
	height: var(--wp--custom--components--kitchen-remodel--faq-photo-height);
	object-fit: cover;
	border-radius: 0 var(--wp--custom--radius--lg) var(--wp--custom--radius--lg) 0;
}

.wp-block-neilkelly-kr-faq .nk-faq__list {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	padding-right: var(--wp--preset--spacing--gutter);
}

/* --- Items --- */
.wp-block-neilkelly-kr-faq .nk-faq__item {
	padding: var(--wp--preset--spacing--6-5) 0;
}

.wp-block-neilkelly-kr-faq .nk-faq__item:first-child {
	padding-top: 0;
}

.wp-block-neilkelly-kr-faq .nk-faq__item + .nk-faq__item {
	border-top: 1px solid var(--wp--preset--color--neutral-200);
}

.wp-block-neilkelly-kr-faq .nk-faq__q {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--6);
	font-size: var(--wp--preset--font-size--md);
	font-weight: var(--wp--custom--font-weight--semibold);
	line-height: var(--wp--custom--line-height--none);
	color: var(--wp--preset--color--ink-primary);
}

.wp-block-neilkelly-kr-faq .nk-faq__q::-webkit-details-marker { display: none; }

.wp-block-neilkelly-kr-faq .nk-faq__q-text { flex: 1 1 0; min-width: 0; }

.wp-block-neilkelly-kr-faq .nk-faq__q:focus-visible {
	outline: 2px solid var(--wp--preset--color--ink-primary);
	outline-offset: 2px;
}

/* Plus / minus icon drawn from tokens (no asset). */
.wp-block-neilkelly-kr-faq .nk-faq__icon {
	position: relative;
	flex-shrink: 0;
	width: var(--wp--preset--spacing--5);
	height: var(--wp--preset--spacing--5);
}

.wp-block-neilkelly-kr-faq .nk-faq__icon::before,
.wp-block-neilkelly-kr-faq .nk-faq__icon::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	background: var(--wp--preset--color--ink-primary);
}

/* Horizontal bar (always shown). */
.wp-block-neilkelly-kr-faq .nk-faq__icon::before {
	width: var(--wp--preset--spacing--5);
	height: 1px;
	transform: translate(-50%, -50%);
}

/* Vertical bar (collapsed state only). */
.wp-block-neilkelly-kr-faq .nk-faq__icon::after {
	width: 1px;
	height: var(--wp--preset--spacing--5);
	transform: translate(-50%, -50%);
}

.wp-block-neilkelly-kr-faq .nk-faq__item[open] .nk-faq__icon::after {
	opacity: 0;
}

/* --- Answer --- */
.wp-block-neilkelly-kr-faq .nk-faq__a {
	font-size: var(--wp--preset--font-size--base);
	font-weight: var(--wp--custom--font-weight--regular);
	line-height: var(--wp--custom--line-height--md);
	color: var(--wp--preset--color--ink-secondary);
	margin: var(--wp--preset--spacing--2-5) 0 0 0;
	padding-right: var(--wp--preset--spacing--10);
}

.wp-block-neilkelly-kr-faq .nk-faq__a p { margin: 0; }

/* --- Responsive --- */
@media (max-width: 1023px) {
	.wp-block-neilkelly-kr-faq .nk-faq__header { padding: 0 var(--wp--preset--spacing--12); }
	.wp-block-neilkelly-kr-faq .nk-faq__cols { flex-direction: column; gap: var(--wp--preset--spacing--12); }
	.wp-block-neilkelly-kr-faq .nk-faq__media { flex-basis: auto; max-width: 100%; width: 100%; }
	.wp-block-neilkelly-kr-faq .nk-faq__photo { height: auto; border-radius: var(--wp--custom--radius--lg); }
	.wp-block-neilkelly-kr-faq .nk-faq__list { padding: 0 var(--wp--preset--spacing--12); }
}

@media (max-width: 767px) {
	.wp-block-neilkelly-kr-faq.nk-faq { padding: var(--wp--preset--spacing--12) 0; }
	.wp-block-neilkelly-kr-faq .nk-faq__header { padding: 0 var(--wp--preset--spacing--6); }
	.wp-block-neilkelly-kr-faq .nk-faq__list { padding: 0 var(--wp--preset--spacing--6); }
	.wp-block-neilkelly-kr-faq .nk-faq__heading { font-size: var(--wp--preset--font-size--lg-xl); }
	.wp-block-neilkelly-kr-faq .nk-faq__subheading { font-size: var(--wp--preset--font-size--base); }
}

/* Links never underline inside this block. */
.wp-block-neilkelly-kr-faq a { text-decoration: none; }

/* No block-gap seam between full-bleed sections. */
.wp-block-neilkelly-kr-faq { margin-block: 0; }
