/*
 * Block content styles, shared by two roots.
 *
 * .entry-content  - post bodies (blog posts, pages, instructor profiles).
 * .fd-rich        - anywhere else the editor's HTML is printed: a venue
 *                   write-up, or an editor field inside a section.
 *
 * base.css clears list markers site-wide so the nav and footer can style their
 * own lists, so any element holding editor HTML needs one of these classes or
 * its bullets, tables, quotes and buttons arrive unstyled. Headings, paragraph
 * colour and links stay scoped to .entry-content, letting each section keep its
 * own typography.
 */
/**
 * WordPress block editor (Gutenberg) content styles.
 * Scoped to .entry-content on posts and pages.
 */

/* === Prose base === */

/* .entry-content: base typography and word wrapping for article body */
.entry-content {
	font-size: 16px;
	font-weight: 400;
	line-height: 140%;
	color: var(--fd-color-text);
	word-wrap: break-word;
}

/* .entry-content > :first-child: remove top margin on first block */
.entry-content > :first-child {
	margin-top: 0;
}

/* .entry-content > :last-child: remove bottom margin on last block */
.entry-content > :last-child {
	margin-bottom: 0;
}

/* === Headings === */

/* h1–h6: shared heading color and weight inside entry content */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
/* h1–h6: shared heading color and weight inside entry content */
.entry-content h6 {
	color: var(--fd-color-heading-alt);
	font-weight: 700;
}

/* Heading scale shared by every editor-content area - pages, blog posts,
   instructor profiles and venue write-ups: 40 / 28 / 24 / 20 / 18 / 16px,
   with body text at 16px. The same sizes apply at every screen width. */

/* h1: largest heading scale and spacing */
.entry-content h1,
.fd-rich h1 {
	margin: 48px 0 16px;
	font-size: 40px;
	line-height: 48px;
}

/* h2: section heading size and spacing */
.entry-content h2,
.fd-rich h2 {
	margin: 40px 0 16px;
	font-size: 28px;
	line-height: 40px;
}

/* h2:first-child: no top margin when h2 opens the article */
.entry-content h2:first-child {
	margin-top: 0;
}

/* h3: subsection heading size and spacing */
.entry-content h3,
.fd-rich h3 {
	margin: 32px 0 16px;
	font-size: 24px;
	line-height: 34px;
}

/* h4: minor heading size and spacing */
.entry-content h4,
.fd-rich h4 {
	margin: 28px 0 12px;
	font-size: 20px;
	line-height: 28px;
}

/* h5: small heading */
.entry-content h5,
.fd-rich h5 {
	margin: 24px 0 12px;
	font-size: 18px;
	line-height: 26px;
}

/* h6: smallest heading, same size as body text */
.entry-content h6,
.fd-rich h6 {
	margin: 24px 0 12px;
	font-size: 16px;
	line-height: 24px;
}

/* === Paragraphs & text === */

/* p, .wp-block-paragraph: standard paragraph bottom margin */
.entry-content p,
/* p, .wp-block-paragraph: standard paragraph bottom margin */
.entry-content .wp-block-paragraph,
.fd-rich .wp-block-paragraph {
	margin: 0 0 16px;
}

/* strong, b: bold text with heading color */
.entry-content strong,
/* strong, b: bold text with heading color */
.entry-content b {
	font-weight: 700;
	color: var(--fd-color-heading-alt);
}

/* em, i: italic emphasis */
.entry-content em,
/* em, i: italic emphasis */
.entry-content i {
	font-style: italic;
}

/* mark: highlighted text with amber background */
.entry-content mark,
.fd-rich mark {
	padding: 0 0.15em;
	border-radius: 2px;
	background: #fff0cc;
	color: inherit;
}

/* del: strikethrough with muted color */
.entry-content del {
	text-decoration: line-through;
	color: var(--fd-color-muted);
}

/* ins: underlined inserted text */
.entry-content ins {
	text-decoration: underline;
}

/* sub, sup: smaller superscript and subscript */
.entry-content sub,
/* sub, sup: smaller superscript and subscript */
.entry-content sup {
	font-size: 0.75em;
	line-height: 0;
}

/* === Links === */

/* a: primary-colored underlined links in prose */
.entry-content a,
.fd-rich a {
	color: var(--fd-color-primary);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* a:hover, a:focus-visible: darker primary on link interaction */
.entry-content a:hover,
/* a:hover, a:focus-visible: darker primary on link interaction */
.entry-content a:focus-visible,
.fd-rich a:focus-visible {
	color: var(--fd-color-primary-dark);
}

/* .wp-block-button a: remove underline from block button links */
.entry-content .wp-block-button a,
.fd-rich .wp-block-button a,
/* .wp-block-button a: remove underline from block button links */
.entry-content .wp-block-button a:hover,
.fd-rich .wp-block-button a:hover {
	text-decoration: none;
}

/* === Lists === */

/* ul, ol, .wp-block-list: list margins and outside markers */
.entry-content ul,
.fd-rich ul,
.entry-content ol,
.fd-rich ol,
/* ul, ol, .wp-block-list: list margins and outside markers */
.entry-content .wp-block-list,
.fd-rich .wp-block-list {
	margin: 0 0 16px;
	padding-left: 1.5rem;
	list-style-position: outside;
}

/* ul: disc bullets for unordered lists */
.entry-content ul,
.fd-rich ul,
/* ul: disc bullets for unordered lists */
.entry-content .wp-block-list ul,
.fd-rich .wp-block-list ul {
	list-style-type: disc;
}

/* ol: decimal numbering for ordered lists */
.entry-content ol,
.fd-rich ol,
/* ol: decimal numbering for ordered lists */
.entry-content .wp-block-list ol,
.fd-rich .wp-block-list ol {
	list-style-type: decimal;
}

/* li: spacing between list items */
.entry-content li,
.fd-rich li {
	margin-bottom: 8px;
}

/* li > ul, li > ol: nested list top margin */
.entry-content li > ul,
.fd-rich li > ul,
/* li > ul, li > ol: nested list top margin */
.entry-content li > ol,
.fd-rich li > ol {
	margin-top: 8px;
	margin-bottom: 0;
}

/* === Blockquote & pullquote (Matching simplify-invoice design) === */

.entry-content blockquote,
.fd-rich blockquote,
.entry-content .wp-block-quote,
.fd-rich .wp-block-quote,
.entry-content blockquote.wp-block-quote {
	margin: 28px 0;
	padding: 24px 28px;
	background: #f3f4f6 !important;
	border-radius: 8px !important;
	border: none !important;
	border-left: none !important;
	font-size: 15.5px;
	font-style: italic;
	font-weight: 400;
	line-height: 1.65;
	color: #374151;
	box-sizing: border-box;
}

/* blockquote p: clean spacing and italic script */
.entry-content blockquote p,
.fd-rich blockquote p,
.entry-content .wp-block-quote p,
.fd-rich .wp-block-quote p {
	margin: 0 0 12px;
	font-style: italic;
	line-height: 1.65;
	color: #374151;
}

.entry-content blockquote p:last-child,
.fd-rich blockquote p:last-child,
.entry-content .wp-block-quote p:last-child,
.fd-rich .wp-block-quote p:last-child {
	margin-bottom: 0;
}

.entry-content blockquote strong,
.fd-rich blockquote strong,
.entry-content .wp-block-quote strong,
.fd-rich .wp-block-quote strong {
	color: #111827;
	font-weight: 700;
	font-style: italic;
}

/* cite: attribution line below blockquote or pullquote */
.entry-content blockquote cite,
.fd-rich blockquote cite,
.entry-content .wp-block-quote cite,
.fd-rich .wp-block-quote cite,
.entry-content .wp-block-pullquote cite,
.fd-rich .wp-block-pullquote cite {
	display: block;
	margin-top: 14px;
	font-size: 13px;
	font-style: normal;
	font-weight: 500;
	color: #6b7280;
}

/* .wp-block-pullquote: centered pullquote with top and bottom borders */
.entry-content .wp-block-pullquote,
.fd-rich .wp-block-pullquote {
	margin: 40px 0;
	padding: 32px 24px;
	border-top: 4px solid var(--fd-color-primary);
	border-bottom: 4px solid var(--fd-color-primary);
	border-left: 0;
	text-align: center;
}

/* .wp-block-pullquote blockquote: reset inner quote inside pullquote */
.entry-content .wp-block-pullquote blockquote,
.fd-rich .wp-block-pullquote blockquote {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: clamp(1.25rem, 2.5vw, 24px);
}

/* === Images & media === */

/* img: responsive images within entry content */
.entry-content img,
.fd-rich img {
	max-width: 100%;
	height: auto;
}

/* figure: spacing above image figures */
.entry-content figure,
.fd-rich figure {
	margin: 40px 0 0;
}

/* figure img, .wp-block-image img: full-width rounded images */
.entry-content figure img,
.fd-rich figure img,
/* figure img, .wp-block-image img: full-width rounded images */
.entry-content .wp-block-image img,
.fd-rich .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--fd-radius-lg);
}

/* figcaption: centered muted caption below media */
.entry-content figcaption,
.fd-rich figcaption,
.entry-content .wp-block-image figcaption,
.fd-rich .wp-block-image figcaption,
.entry-content .wp-block-gallery figcaption,
.fd-rich .wp-block-gallery figcaption,
.entry-content .wp-block-audio figcaption,
.fd-rich .wp-block-audio figcaption,
/* figcaption: centered muted caption below media */
.entry-content .wp-block-video figcaption,
.fd-rich .wp-block-video figcaption {
	margin-top: 12px;
	font-size: 16px;
	line-height: 140%;
	color: var(--fd-color-muted);
	text-align: center;
}

/* .alignleft: float image left with side margin */
.entry-content .alignleft,
.fd-rich .alignleft {
	float: left;
	margin: 0 24px 16px 0;
	max-width: min(50%, 360px);
}

/* .alignright: float image right with side margin */
.entry-content .alignright,
.fd-rich .alignright {
	float: right;
	margin: 0 0 16px 24px;
	max-width: min(50%, 360px);
}

/* .alignleft img, .alignright img: auto width for floated images */
.entry-content .alignleft img,
.fd-rich .alignleft img,
.entry-content .alignright img,
.fd-rich .alignright img,
.entry-content .wp-block-image .alignleft img,
.fd-rich .wp-block-image .alignleft img,
/* .alignleft img, .alignright img: auto width for floated images */
.entry-content .wp-block-image .alignright img,
.fd-rich .wp-block-image .alignright img {
	width: auto;
	max-width: 100%;
}

/* .aligncenter: centered block image with clearfix */
.entry-content .aligncenter,
.fd-rich .aligncenter,
/* .aligncenter: centered block image with clearfix */
.entry-content .wp-block-image.aligncenter,
.fd-rich .wp-block-image.aligncenter {
	display: table;
	margin-inline: auto;
	clear: both;
}

/* .alignwide: full column width for wide-aligned blocks */
.entry-content .wp-block-image.alignwide,
.fd-rich .wp-block-image.alignwide,
/* .alignwide: full column width for wide-aligned blocks */
.entry-content .wp-block-gallery.alignwide,
.fd-rich .wp-block-gallery.alignwide {
	width: 100%;
	max-width: 100%;
}

/* .wp-block-gallery: flex gallery with gap */
.entry-content .wp-block-gallery,
.fd-rich .wp-block-gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin: 40px 0 0;
	padding: 0;
	list-style: none;
}

/* .wp-block-gallery .wp-block-image: flexible gallery item */
.entry-content .wp-block-gallery .wp-block-image,
.fd-rich .wp-block-gallery .wp-block-image {
	margin: 0;
	flex: 1 1 auto;
}

/* .wp-block-gallery img: medium border radius on gallery images */
.entry-content .wp-block-gallery .wp-block-image img,
.fd-rich .wp-block-gallery .wp-block-image img {
	border-radius: var(--fd-radius-md);
}

/* === Embeds & video === */

/* .wp-block-embed, .wp-block-video, .wp-block-audio: embed block spacing */
.entry-content .wp-block-embed,
.fd-rich .wp-block-embed,
.entry-content .wp-block-video,
.fd-rich .wp-block-video,
/* .wp-block-embed, .wp-block-video, .wp-block-audio: embed block spacing */
.entry-content .wp-block-audio,
.fd-rich .wp-block-audio {
	margin: 40px 0 0;
}

/* embed wrapper and native media: rounded corners */
.entry-content .wp-block-embed__wrapper,
.fd-rich .wp-block-embed__wrapper,
.entry-content .wp-block-video video,
.fd-rich .wp-block-video video,
/* embed wrapper and native media: rounded corners */
.entry-content .wp-block-audio audio,
.fd-rich .wp-block-audio audio {
	border-radius: var(--fd-radius-md);
	overflow: hidden;
}

/* iframe: constrain embed width */
.entry-content .wp-block-embed iframe,
.fd-rich .wp-block-embed iframe {
	max-width: 100%;
}

/* === Buttons === */

/* .wp-block-buttons: horizontal button group with gap */
.entry-content .wp-block-buttons,
.fd-rich .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin: 24px 0;
}

/* .wp-block-button: remove default button block margin */
.entry-content .wp-block-button,
.fd-rich .wp-block-button {
	margin: 0;
}

/* .wp-block-button__link: primary-filled block button */
.entry-content .wp-block-button__link,
.fd-rich .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 14px 36px;
	border: 1.5px solid #005BD1;
	border-radius: var(--fd-btn-radius);
	background: #005BD1;
	box-shadow: 0 9px 18px rgba(0, 91, 209, 0.08);
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
	color: #ffffff;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

/* .wp-block-button__link:hover: darker primary on button hover */
.entry-content .wp-block-button__link:hover,
.fd-rich .wp-block-button__link:hover,
/* .wp-block-button__link:hover: darker primary on button hover */
.entry-content .wp-block-button__link:focus-visible,
.fd-rich .wp-block-button__link:focus-visible {
	background: #003C8B;
	border-color: #003C8B;
	color: #ffffff;
}

/* .is-style-outline .wp-block-button__link: outlined block button */
.entry-content .wp-block-button.is-style-outline .wp-block-button__link,
.fd-rich .wp-block-button.is-style-outline .wp-block-button__link {
	background: var(--fd-color-bg);
	color: var(--fd-color-primary);
	box-shadow: none;
}

/* .is-style-outline hover: tinted fill on outline button */
.entry-content .wp-block-button.is-style-outline .wp-block-button__link:hover,
.fd-rich .wp-block-button.is-style-outline .wp-block-button__link:hover,
/* .is-style-outline hover: tinted fill on outline button */
.entry-content .wp-block-button.is-style-outline .wp-block-button__link:focus-visible,
.fd-rich .wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
	background: var(--fd-color-bg-tint);
	color: var(--fd-color-primary-dark);
	border-color: var(--fd-color-primary-dark);
}

/* === Separator === */

/* hr, .wp-block-separator: horizontal rule divider */
.entry-content hr,
.fd-rich hr,
/* hr, .wp-block-separator: horizontal rule divider */
.entry-content .wp-block-separator,
.fd-rich .wp-block-separator {
	margin: 40px 0;
	border: 0;
	border-top: 1px solid #e5e7eb;
}

/* .is-style-wide: thicker separator line */
.entry-content .wp-block-separator.is-style-wide,
.fd-rich .wp-block-separator.is-style-wide {
	border-top-width: 2px;
}

/* .is-style-dots: dot-style separator */
.entry-content .wp-block-separator.is-style-dots,
.fd-rich .wp-block-separator.is-style-dots {
	border: 0;
	height: auto;
	text-align: center;
}

/* .is-style-dots::before: centered dot characters */
.entry-content .wp-block-separator.is-style-dots::before,
.fd-rich .wp-block-separator.is-style-dots::before {
	content: "···";
	color: var(--fd-color-muted);
	font-size: 24px;
	letter-spacing: 1em;
	padding-left: 1em;
}

/* === Code & preformatted === */

/* code: inline code with gray background */
.entry-content code,
.fd-rich code,
/* code: inline code with gray background */
.entry-content .wp-block-code code,
.fd-rich .wp-block-code code {
	padding: 0.15em 0.4em;
	border-radius: 4px;
	background: #f3f4f6;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
	font-size: 1em;
	color: #1f2937;
}

/* pre, .wp-block-code, .wp-block-preformatted: dark code block */
.entry-content pre,
.fd-rich pre,
.entry-content .wp-block-code,
.fd-rich .wp-block-code,
/* pre, .wp-block-code, .wp-block-preformatted: dark code block */
.entry-content .wp-block-preformatted,
.fd-rich .wp-block-preformatted {
	margin: 24px 0;
	padding: 1.25rem 1.5rem;
	border-radius: var(--fd-radius-md);
	background: #1f2937;
	color: #f9fafb;
	overflow-x: auto;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
	font-size: 16px;
	line-height: 1.6;
}

/* pre code: inherit styles inside preformatted block */
.entry-content pre code,
.fd-rich pre code,
/* pre code: inherit styles inside preformatted block */
.entry-content .wp-block-code code,
.fd-rich .wp-block-code code {
	padding: 0;
	background: transparent;
	color: inherit;
	font-size: inherit;
}

/* .wp-block-verse: poetry block with soft background */
.entry-content .wp-block-verse,
.fd-rich .wp-block-verse {
	margin: 24px 0;
	padding: 1.25rem 1.5rem;
	border-radius: var(--fd-radius-md);
	background: #f9fafb;
	font-family: inherit;
	white-space: pre-wrap;
}

/* === Tables (Matching simplify-invoice design) === */

.entry-content .wp-block-table,
.fd-rich .wp-block-table {
	width: 100%;
	margin: 36px 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: none;
}

.entry-content table,
.fd-rich table,
.entry-content .wp-block-table table,
.fd-rich .wp-block-table table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	border: none;
}

/* Header Row Bar - Rounded light gray background pill */
.entry-content thead tr,
.fd-rich thead tr,
.entry-content .wp-block-table thead tr,
.fd-rich .wp-block-table thead tr,
.entry-content tr:first-child:has(th),
.fd-rich tr:first-child:has(th) {
	background: #f1f3f5;
}

.entry-content th,
.fd-rich th,
.entry-content .wp-block-table th,
.fd-rich .wp-block-table th {
	background: #f1f3f5 !important;
	padding: 14px 24px !important;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #4b5563;
	border: none !important;
	text-align: left;
	vertical-align: middle;
}

.entry-content thead tr th:first-child,
.fd-rich thead tr th:first-child,
.entry-content tr:first-child th:first-child,
.fd-rich tr:first-child th:first-child,
.entry-content .wp-block-table thead tr th:first-child,
.fd-rich .wp-block-table thead tr th:first-child {
	border-top-left-radius: 8px;
	border-bottom-left-radius: 8px;
}

.entry-content thead tr th:last-child,
.fd-rich thead tr th:last-child,
.entry-content tr:first-child th:last-child,
.fd-rich tr:first-child th:last-child,
.entry-content .wp-block-table thead tr th:last-child,
.fd-rich .wp-block-table thead tr th:last-child {
	border-top-right-radius: 8px;
	border-bottom-right-radius: 8px;
}

/* Body Cells - Spacious, clean horizontal dividers, no vertical borders */
.entry-content td,
.fd-rich td,
.entry-content .wp-block-table td,
.fd-rich .wp-block-table td {
	padding: 14px 24px !important;
	border-top: none !important;
	border-left: none !important;
	border-right: none !important;
	border-bottom: 1px solid #e5e7eb !important;
	text-align: left;
	vertical-align: top;
	background: transparent;
	transition: background-color 0.2s ease;
}

/* First Column */
.entry-content tbody tr td:first-child,
.fd-rich tbody tr td:first-child,
.entry-content tr td:first-child,
.fd-rich tr td:first-child {
	color: #1f2937;
	font-weight: 500;
	width: 38%;
}

/* Second Column */
.entry-content tbody tr td:nth-child(2),
.fd-rich tbody tr td:nth-child(2),
.entry-content tr td:nth-child(2),
.fd-rich tr td:nth-child(2) {
	color: #4b5563;
	font-weight: 400;
}

/* Hover on body row */
.entry-content tbody tr:hover td,
.fd-rich tbody tr:hover td {
	background-color: #fafbfd;
}

/* Table Caption */
.entry-content .wp-block-table figcaption,
.fd-rich .wp-block-table figcaption {
	margin-top: 12px;
	font-size: 13px;
	color: #6b7280;
	text-align: left;
}

/* === Blog FAQ Accordion Section (Matching simplify-invoice design) === */
.blog-faq-section {
	width: 100%;
	margin: 48px 0;
	box-sizing: border-box;
}

.blog-faq__layout {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 48px;
	align-items: flex-start;
}

.blog-faq__header {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.blog-faq__title {
	font-size: clamp(24px, 3vw, 32px);
	font-weight: 700;
	color: #0d0e1c;
	margin: 0;
	line-height: 1.25;
}

.blog-faq__subtitle {
	font-size: 15px;
	line-height: 1.6;
	color: #6b7280;
	margin: 0;
}

.blog-faq__accordion {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
}

.blog-faq__item {
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.blog-faq__item:hover {
	border-color: #cbd5e1;
}

.blog-faq__item.is-open {
	border-color: #1e293b;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
}

.blog-faq__toggle {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 20px;
	background: transparent;
	border: none;
	text-align: left;
	cursor: pointer;
	font: inherit;
	color: #0d0e1c;
}

.blog-faq__question {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: #0d0e1c;
	flex: 1;
}

.blog-faq__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #64748b;
	transition: transform 0.25s ease, color 0.2s ease;
	flex-shrink: 0;
}

.blog-faq__item.is-open .blog-faq__icon {
	transform: rotate(180deg);
	color: #0d0e1c;
}

.blog-faq__answer {
	padding: 0 20px 18px;
}

.blog-faq__item:not(.is-open) .blog-faq__answer,
.blog-faq__answer[hidden] {
	display: none !important;
}

.blog-faq__item.is-open .blog-faq__answer {
	display: block !important;
}

.blog-faq__answer p {
	margin: 0;
	font-size: 15px;
	line-height: 1.65;
	color: #4b5563;
}

/* Core Details / Accordion block — same look as the FAQ section */
.entry-content details.wp-block-details,
.fd-rich details.wp-block-details {
	box-sizing: border-box;
	background: #ffffff;
	border: 1px solid #ECEFF3;
	border-radius: 16px;
	margin: 10px 0;
	padding: 0;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 43, 99, 0.02);
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.entry-content details.wp-block-details:hover,
.fd-rich details.wp-block-details:hover {
	border-color: rgba(0, 91, 209, 0.2);
}

.entry-content details.wp-block-details[open],
.fd-rich details.wp-block-details[open] {
	border-color: rgba(0, 91, 209, 0.3);
}

.entry-content details.wp-block-details summary,
.fd-rich details.wp-block-details summary {
	position: relative;
	display: block;
	list-style: none;
	cursor: pointer;
	padding: 20px 67px 20px 24px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.6;
	color: #0d0e1c;
}

.entry-content details.wp-block-details summary::-webkit-details-marker,
.fd-rich details.wp-block-details summary::-webkit-details-marker {
	display: none;
}

.entry-content details.wp-block-details summary::after,
.fd-rich details.wp-block-details summary::after {
	content: "";
	position: absolute;
	right: 20px;
	top: 50%;
	width: 27px;
	height: 27px;
	margin-top: -13.5px;
	border-radius: 50%;
	background: linear-gradient(#0d0e1c, #0d0e1c) center / 8px 1.4px no-repeat, linear-gradient(#0d0e1c, #0d0e1c) center / 1.4px 8px no-repeat, #fafafa;
}

.entry-content details.wp-block-details[open] summary::after,
.fd-rich details.wp-block-details[open] summary::after {
	background: linear-gradient(#0d0e1c, #0d0e1c) center / 8px 1.4px no-repeat, #E9F2FF;
}

.entry-content details.wp-block-details > :not(summary),
.fd-rich details.wp-block-details > :not(summary) {
	margin: 0;
	padding: 0 24px;
	font-size: 16px;
	line-height: 1.6;
	color: #606060;
}

.entry-content details.wp-block-details > :not(summary) + :not(summary),
.fd-rich details.wp-block-details > :not(summary) + :not(summary) {
	margin-top: 12px;
}

.entry-content details.wp-block-details > ul:not(summary),
.fd-rich details.wp-block-details > ul:not(summary),
.entry-content details.wp-block-details > ol:not(summary),
.fd-rich details.wp-block-details > ol:not(summary) {
	padding-left: 44px;
}

.entry-content details.wp-block-details > :last-child:not(summary),
.fd-rich details.wp-block-details > :last-child:not(summary) {
	padding-bottom: 20px;
}

/* Core Accordion block — same look as the FAQ section */
.entry-content .wp-block-accordion,
.fd-rich .wp-block-accordion {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 24px 0;
}

.entry-content .wp-block-accordion .wp-block-accordion-item,
.fd-rich .wp-block-accordion .wp-block-accordion-item {
	box-sizing: border-box;
	margin: 0;
	background: #ffffff;
	border: 1px solid #ECEFF3;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 43, 99, 0.02);
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.entry-content .wp-block-accordion .wp-block-accordion-item:hover,
.fd-rich .wp-block-accordion .wp-block-accordion-item:hover {
	border-color: rgba(0, 91, 209, 0.2);
}

.entry-content .wp-block-accordion .wp-block-accordion-item.is-open,
.fd-rich .wp-block-accordion .wp-block-accordion-item.is-open {
	border-color: rgba(0, 91, 209, 0.3);
}

.entry-content .wp-block-accordion .wp-block-accordion-heading,
.fd-rich .wp-block-accordion .wp-block-accordion-heading {
	margin: 0;
	font-size: inherit;
	line-height: inherit;
}

.entry-content .wp-block-accordion .wp-block-accordion-heading__toggle,
.fd-rich .wp-block-accordion .wp-block-accordion-heading__toggle {
	gap: 20px;
	padding: 20px 20px 20px 24px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.6;
	color: #0d0e1c;
	text-align: left;
	text-decoration: none;
}

.entry-content .wp-block-accordion .wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title,
.fd-rich .wp-block-accordion .wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
	text-decoration: none;
}

.entry-content .wp-block-accordion .wp-block-accordion-heading__toggle-icon,
.fd-rich .wp-block-accordion .wp-block-accordion-heading__toggle-icon {
	flex-shrink: 0;
	width: 27px;
	height: 27px;
	border-radius: 50%;
	font-size: 0;
	line-height: 0;
	background: linear-gradient(#0d0e1c, #0d0e1c) center / 8px 1.4px no-repeat, linear-gradient(#0d0e1c, #0d0e1c) center / 1.4px 8px no-repeat, #fafafa;
	transform: none;
}

.entry-content .wp-block-accordion .wp-block-accordion-item.is-open > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon,
.fd-rich .wp-block-accordion .wp-block-accordion-item.is-open > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
	background: linear-gradient(#0d0e1c, #0d0e1c) center / 8px 1.4px no-repeat, #E9F2FF;
	transform: none;
}

.entry-content .wp-block-accordion .wp-block-accordion-panel,
.fd-rich .wp-block-accordion .wp-block-accordion-panel {
	margin: 0;
	padding: 0 24px 20px;
	font-size: 16px;
	line-height: 1.6;
	color: #606060;
}

.entry-content .wp-block-accordion .wp-block-accordion-panel > *,
.fd-rich .wp-block-accordion .wp-block-accordion-panel > * {
	margin: 0;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.entry-content .wp-block-accordion .wp-block-accordion-panel > * + *,
.fd-rich .wp-block-accordion .wp-block-accordion-panel > * + * {
	margin-top: 12px;
}

.entry-content .wp-block-accordion .wp-block-accordion-panel li,
.fd-rich .wp-block-accordion .wp-block-accordion-panel li {
	margin-bottom: 6px;
}

/* FAQ Accordion block — same look as the FAQ section */
.blog-faq__accordion {
	gap: 10px;
}

.blog-faq__item {
	box-sizing: border-box;
	border: 1px solid #ECEFF3;
	border-radius: 16px;
	box-shadow: 0 2px 8px rgba(0, 43, 99, 0.02);
}

.blog-faq__item:hover {
	border-color: rgba(0, 91, 209, 0.2);
}

.blog-faq__item.is-open {
	border-color: rgba(0, 91, 209, 0.3);
	box-shadow: 0 2px 8px rgba(0, 43, 99, 0.02);
}

.blog-faq__toggle {
	gap: 20px;
	padding: 20px 20px 20px 24px;
}

.blog-faq__question {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.6;
	color: #0d0e1c;
}

.blog-faq__icon,
.blog-faq__item.is-open .blog-faq__icon {
	width: 27px;
	height: 27px;
	border-radius: 50%;
	transform: none;
}

.blog-faq__icon {
	background: linear-gradient(#0d0e1c, #0d0e1c) center / 8px 1.4px no-repeat, linear-gradient(#0d0e1c, #0d0e1c) center / 1.4px 8px no-repeat, #fafafa;
}

.blog-faq__item.is-open .blog-faq__icon {
	background: linear-gradient(#0d0e1c, #0d0e1c) center / 8px 1.4px no-repeat, #E9F2FF;
}

.blog-faq__icon svg {
	display: none;
}

.blog-faq__answer {
	padding: 0 24px 20px;
}

.blog-faq__answer p {
	font-size: 16px;
	line-height: 1.6;
	color: #606060;
}

@media (max-width: 860px) {
	.blog-faq__layout {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.blog-faq__header {
		max-width: 100%;
	}
}

/* === Columns & layout blocks === */

/* .wp-block-columns: responsive multi-column row */
.entry-content .wp-block-columns,
.fd-rich .wp-block-columns {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	margin: 32px 0;
}

/* .wp-block-column: equal-width flex column */
.entry-content .wp-block-column,
.fd-rich .wp-block-column {
	flex: 1 1 0;
	min-width: 0;
}

/* .wp-block-group: grouped block vertical spacing */
.entry-content .wp-block-group,
.fd-rich .wp-block-group {
	margin: 32px 0;
}

/* .wp-block-group.has-background: padded group with background */
.entry-content .wp-block-group.has-background,
.fd-rich .wp-block-group.has-background {
	padding: 24px;
	border-radius: var(--fd-radius-md);
}

/* .wp-block-media-text: image and text side-by-side grid */
.entry-content .wp-block-media-text,
.fd-rich .wp-block-media-text {
	display: grid;
	gap: 24px;
	margin: 40px 0 0;
	align-items: center;
}

/* .wp-block-media-text__media img: rounded media in media-text block */
.entry-content .wp-block-media-text__media img,
.fd-rich .wp-block-media-text__media img {
	border-radius: var(--fd-radius-lg);
}

/* .wp-block-cover: full-width cover image block */
.entry-content .wp-block-cover,
.fd-rich .wp-block-cover {
	margin: 40px 0 0;
	border-radius: var(--fd-radius-lg);
	overflow: hidden;
	min-height: 280px;
}

/* .wp-block-cover__inner-container: padded content over cover image */
.entry-content .wp-block-cover__inner-container,
.fd-rich .wp-block-cover__inner-container {
	padding: 32px;
}

/* === File, details, calendar === */

/* .wp-block-file: file download block spacing */
.entry-content .wp-block-file,
.fd-rich .wp-block-file {
	margin: 24px 0;
}

/* .wp-block-file__button: primary download button */
.entry-content .wp-block-file a.wp-block-file__button,
.fd-rich .wp-block-file a.wp-block-file__button {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 10px 20px;
	border-radius: var(--fd-btn-radius);
	background: var(--fd-color-primary);
	color: #ffffff;
	font-weight: 700;
	text-decoration: none;
}

/* .wp-block-file__button:hover: darker primary on download hover */
.entry-content .wp-block-file a.wp-block-file__button:hover,
.fd-rich .wp-block-file a.wp-block-file__button:hover {
	background: var(--fd-color-primary-dark);
	color: #ffffff;
}

/* .wp-block-details: bordered expandable details block */
.entry-content .wp-block-details,
.fd-rich .wp-block-details {
	margin: 24px 0;
	padding: 16px 20px;
	border: 1px solid #e5e7eb;
	border-radius: var(--fd-radius-md);
}

/* summary: bold clickable details summary */
.entry-content .wp-block-details summary,
.fd-rich .wp-block-details summary {
	font-weight: 700;
	color: var(--fd-color-heading-alt);
	cursor: pointer;
}

/* details children: spacing below summary */
.entry-content .wp-block-details > *:not(summary),
.fd-rich .wp-block-details > *:not(summary) {
	margin-top: 12px;
}

/* .wp-block-calendar: calendar widget spacing */
.entry-content .wp-block-calendar,
.fd-rich .wp-block-calendar {
	margin: 24px 0;
}

/* .wp-block-calendar table: remove extra table margin */
.entry-content .wp-block-calendar table,
.fd-rich .wp-block-calendar table {
	margin: 0;
}

/* === Spacer & clearfix === */

/* .wp-block-spacer: neutralize default spacer margin */
.entry-content .wp-block-spacer,
.fd-rich .wp-block-spacer {
	margin: 0;
}

/* .entry-content::after: clear floats after aligned images */
.entry-content::after {
	content: "";
	display: table;
	clear: both;
}

/* === Wide / full alignment (within article column) === */

/* > .alignwide: direct child wide alignment full width */
.entry-content > .alignwide,
.fd-rich > .alignwide {
	width: 100%;
	max-width: 100%;
}

/* === Responsive === */

/* Tablet breakpoint — stack columns vertically */
@media (max-width: 1024px) {
	/* .wp-block-columns: stack columns vertically on tablet */
	.entry-content .wp-block-columns,
	.fd-rich .wp-block-columns {
		flex-direction: column;
	}

	/* .wp-block-media-text: single column on tablet */
	.entry-content .wp-block-media-text,
	.fd-rich .wp-block-media-text {
		grid-template-columns: 1fr !important;
	}
}

/* Mobile breakpoint — unfloat images and full-width buttons */
@media (max-width: 640px) {
	/* .alignleft, .alignright: unfloat images on mobile */
	.entry-content .alignleft,
	.fd-rich .alignleft,
	/* .alignleft, .alignright: unfloat images on mobile */
	.entry-content .alignright,
	.fd-rich .alignright {
		float: none;
		margin: 24px auto;
		max-width: 100%;
	}

	/* .wp-block-button__link: full-width buttons on mobile */
	.entry-content .wp-block-button__link,
	.fd-rich .wp-block-button__link {
		width: 100%;
	}
}
