/* Continuous FAQ rows. Native Details blocks remain editable in WordPress. */
.crystal-faq-list {
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	overflow: visible;
}

.wp-block-details:is(.crystal-faq-item, .crystal-office-faq) {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid #c7d9e1;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	transition: border-color 220ms ease;
}

/* Top rule starts each list, including groups preceded by a topic heading. */
.wp-block-details:is(.crystal-faq-item, .crystal-office-faq):not(.wp-block-details + .wp-block-details) {
	border-top: 1px solid #c7d9e1;
}

.wp-block-details:is(.crystal-faq-item, .crystal-office-faq) + .wp-block-details:is(.crystal-faq-item, .crystal-office-faq) {
	margin-block-start: 0;
}

.wp-block-details:is(.crystal-faq-item, .crystal-office-faq) > summary {
	position: relative;
	margin: 0;
	padding: 1.5rem 3.8rem 1.5rem 0;
	color: #173d49;
	font-size: clamp(1rem, 1.3vw, 1.1rem);
	font-weight: 550;
	line-height: 1.55;
	list-style: none;
	cursor: pointer;
	transition: color 180ms ease;
}

.wp-block-details:is(.crystal-faq-item, .crystal-office-faq) > summary::-webkit-details-marker { display: none; }
.wp-block-details:is(.crystal-faq-item, .crystal-office-faq) > summary::marker { content: ""; }

.wp-block-details:is(.crystal-faq-item, .crystal-office-faq) > summary::after {
	position: absolute;
	top: 50%;
	right: 0;
	display: grid;
	place-items: center;
	width: 2.6rem;
	height: 2.6rem;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .85);
	color: #276879;
	content: "+";
	font-size: 1.65rem;
	font-weight: 500;
	line-height: 1;
	transform: translateY(-50%);
	transition: color 180ms ease, background-color 180ms ease;
}

@media (hover: hover) {
	.wp-block-details:is(.crystal-faq-item, .crystal-office-faq):has(> summary:hover) {
		border-color: #93bbc7;
	}
	.wp-block-details:is(.crystal-faq-item, .crystal-office-faq) > summary:hover { color: #086576; }
	.wp-block-details:is(.crystal-faq-item, .crystal-office-faq) > summary:hover::after { background: #dceef3; }
}

.wp-block-details:is(.crystal-faq-item, .crystal-office-faq)[open] {
	background: transparent;
	border-color: #a8c6d2;
	box-shadow: none;
}

.wp-block-details:is(.crystal-faq-item, .crystal-office-faq)[open] > summary { color: #14566b; }
.wp-block-details:is(.crystal-faq-item, .crystal-office-faq)[open] > summary::after {
	background: #276879;
	color: #fff;
	content: "−";
}

.wp-block-details:is(.crystal-faq-item, .crystal-office-faq) > summary:focus-visible {
	outline: 2px solid #276879;
	outline-offset: -3px;
	border-radius: 0;
}

.wp-block-details:is(.crystal-faq-item, .crystal-office-faq) > p {
	margin-block-start: 0;
	margin-block-end: 0;
	padding: 0 3.8rem 1.5rem 0;
	color: #345563;
	line-height: 1.75;
}

/* Shared text-link treatment for answers, introductions, and FAQ resources.
 * Include nested groups/lists; keep existing call-to-action buttons intact. */
:is(.crystal-faq-item, .crystal-office-faq, .crystal-faq-section, .crystal-faq-list, .crystal-faq-topics, .crystal-service-faq, .crystal-emergency-faq, .crystal-patient-faq, .crystal-contact-faq, .crystal-office-faqs) a:not(.wp-element-button, .wp-block-button__link) {
	display: inline;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: #075b80;
	font-weight: 650;
	line-height: inherit;
	text-decoration: none;
	text-underline-offset: .18em;
	text-decoration-thickness: 1px;
	vertical-align: baseline;
	white-space: normal;
	overflow-wrap: break-word;
	transition: color 160ms ease;
}

:is(.crystal-faq-item, .crystal-office-faq, .crystal-faq-section, .crystal-faq-list, .crystal-faq-topics, .crystal-service-faq, .crystal-emergency-faq, .crystal-patient-faq, .crystal-contact-faq, .crystal-office-faqs) a:not(.wp-element-button, .wp-block-button__link):hover {
	color: #033f5a;
	text-decoration-line: underline;
}

:is(.crystal-faq-item, .crystal-office-faq, .crystal-faq-section, .crystal-faq-list, .crystal-faq-topics, .crystal-service-faq, .crystal-emergency-faq, .crystal-patient-faq, .crystal-contact-faq, .crystal-office-faqs) a:not(.wp-element-button, .wp-block-button__link):focus-visible {
	outline: 2px solid #276879;
	outline-offset: 3px;
}

@media (max-width: 600px) {
	.wp-block-details:is(.crystal-faq-item, .crystal-office-faq) > summary {
		padding: 1.25rem 3.3rem 1.25rem 0;
	}
	.wp-block-details:is(.crystal-faq-item, .crystal-office-faq) > summary::after { width: 2.25rem; height: 2.25rem; }
	.wp-block-details:is(.crystal-faq-item, .crystal-office-faq) > p { padding: 0 .25rem 1.25rem 0; }
}

/* Biography disclosures share the motion, not the FAQ row styling above. */
.wp-block-details.crystal-doctor-more { box-sizing: border-box; }

/* Clip only while the height is animating; preserve focus rings at rest. */
.wp-block-details:is(.crystal-faq-item, .crystal-office-faq, .crystal-doctor-more).is-faq-animating { overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
	.wp-block-details:is(.crystal-faq-item, .crystal-office-faq),
	.wp-block-details:is(.crystal-faq-item, .crystal-office-faq) > summary,
	.wp-block-details:is(.crystal-faq-item, .crystal-office-faq) > summary::after,
	:is(.crystal-faq-item, .crystal-office-faq, .crystal-faq-section, .crystal-faq-list, .crystal-faq-topics, .crystal-service-faq, .crystal-emergency-faq, .crystal-patient-faq, .crystal-contact-faq, .crystal-office-faqs) a:not(.wp-element-button, .wp-block-button__link) { transition: none; }
}
