/* Single blog post (single-post.php). Layout reference: wp-content/mockups/single-post.html.
   Colours from the Kadence palette; grey text is palette 5. */
.eq-post { background: #fff; --eq-line: var(--global-palette12, #e4edf1); }
.eq-post .eq-spwrap { max-width: var(--global-content-width, 1440px); margin: 0 auto; padding: 0 var(--global-content-edge-padding, 4rem); box-sizing: border-box; }
.eq-post .eq-spcol { max-width: 760px; margin: 0 auto; }
.eq-sphead { background: linear-gradient(180deg, #F0F6F8 0%, #FFFFFF 100%); }
.eq-sphead .eq-spwrap { padding-top: 56px; padding-bottom: 40px; }
.eq-spcat { font-size: 13px; font-weight: 600; letter-spacing: .02em; color: var(--global-palette2); text-decoration: none; }
.eq-spcat:hover { text-decoration: underline; }
.eq-post .eq-sph1 { font-family: var(--global-heading-font-family); font-size: 42px; font-weight: 300; line-height: 1.18; color: var(--global-palette1); margin: 12px 0 0; }
.eq-spmeta { margin: 18px 0 0; font-size: 14.5px; color: var(--global-palette5); }
.eq-spmeta a { color: var(--global-palette1); font-weight: 600; text-decoration: none; }
.eq-spmeta a:hover { text-decoration: underline; }
.eq-post .eq-spfeat { max-width: 1040px; margin: 8px auto 0; }
.eq-spfeat img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 4px; display: block; }
.eq-post .eq-spmain { padding-bottom: 96px; }

/* On This Page: printed only when the post has 3+ H2s (EQUINOX_TOC_MIN_HEADINGS). */
.eq-sptoc { margin: 48px 0 0; border: 1px solid #E1EAEE; border-radius: 4px; padding: 20px 24px; background: #FAFCFD; }
.eq-sptoc summary { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--global-palette1); cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.eq-sptoc summary::-webkit-details-marker { display: none; }
.eq-sptoc summary::after { content: ""; width: 9px; height: 9px; border-right: 1.6px solid var(--global-palette1); border-bottom: 1.6px solid var(--global-palette1); transform: rotate(45deg); margin-top: -4px; transition: transform .15s ease; }
.eq-sptoc[open] summary::after { transform: rotate(-135deg); margin-top: 4px; }
.eq-post .eq-sptoc ol { margin: 14px 0 0; padding-left: 20px; columns: 2 260px; column-gap: 32px; }
.eq-post .eq-sptoc li { font-size: 15px; line-height: 1.45; margin: 0 0 8px; break-inside: avoid; color: var(--global-palette5); }
.eq-sptoc a { color: var(--global-palette4); text-decoration: none; }
.eq-sptoc a:hover { color: var(--global-palette2); text-decoration: underline; }

/* Post content: what migrated posts actually contain (core block markup). */
.eq-post .eq-spbody { padding-top: 48px; }
.eq-post .eq-spbody .has-medium-font-size { font-size: inherit !important; }
.eq-post .eq-spbody p, .eq-post .eq-spbody li { font-size: 18px; line-height: 1.72; color: var(--global-palette4); }
.eq-post .eq-spbody p { margin: 0 0 22px; }
.eq-post .eq-spbody h2 { font-family: var(--global-heading-font-family); font-size: 28px; font-weight: 600; line-height: 1.25; color: var(--global-palette1); margin: 52px 0 18px; scroll-margin-top: 110px; }
.eq-post .eq-spbody h3 { font-family: var(--global-heading-font-family); font-size: 21px; font-weight: 600; line-height: 1.35; color: var(--global-palette1); margin: 36px 0 14px; }
.eq-post .eq-spbody h4 { font-size: 18px; font-weight: 600; color: var(--global-palette1); margin: 28px 0 10px; }
.eq-post .eq-spbody h2 strong, .eq-post .eq-spbody h3 strong { font-weight: inherit; }
.eq-post .eq-spbody ul { margin: 0 0 22px; padding-left: 0; list-style: none; }
.eq-post .eq-spbody ol { margin: 0 0 22px; padding-left: 24px; }
/* Some migrated posts wrap the whole article in a group block set to flex (row, no wrap), which
   lays every paragraph side by side in thin columns. Posts read top to bottom, so flex groups
   inside post content stack. Presentation only; the stored content is unchanged. */
.eq-post .eq-spbody .wp-block-group.is-layout-flex { display: block; }
.eq-post .eq-spbody .wp-block-group.is-layout-flex > * + * { margin-top: 0; }
/* Migrated lists often arrive as one <ul> per item: close the gap so they read as one list. */
.eq-post .eq-spbody ul + ul { margin-top: -14px; }
.eq-post .eq-spbody ul li { position: relative; padding-left: 26px; margin-bottom: 10px; }
.eq-post .eq-spbody ul li::before { content: ""; position: absolute; left: 4px; top: .72em; width: 7px; height: 7px; border-radius: 50%; background: var(--global-palette6); }
.eq-post .eq-spbody ol li { margin-bottom: 10px; padding-left: 4px; }
.eq-post .eq-spbody a { color: var(--global-palette2); text-decoration: underline; text-underline-offset: 3px; }
.eq-post .eq-spbody a:hover { color: var(--global-palette1); }
.eq-post .eq-spbody hr, .eq-post .eq-spbody hr.wp-block-separator:not(.is-style-dots) { border: 0; border-top: 1px solid var(--eq-line); margin: 44px 0; height: 0; background: none; width: 100%; max-width: none; opacity: 1; }
.eq-post .eq-spbody blockquote { margin: 32px 0; padding: 4px 0 4px 24px; border-left: 3px solid var(--global-palette6); background: none; }
.eq-post .eq-spbody blockquote p { font-size: 20px; color: var(--global-palette1); }
.eq-post .eq-spbody figure { margin: 32px 0; }
.eq-post .eq-spbody img { max-width: 100%; height: auto; border-radius: 4px; }
.eq-post .eq-spbody figcaption { font-size: 14px; color: var(--global-palette5); margin-top: 8px; }
.eq-post .eq-spbody .wp-block-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.eq-post .eq-spbody table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 15px; line-height: 1.5; border: 0; }
.eq-post .eq-spbody th { background: #F0F6F8; color: var(--global-palette1); font-weight: 600; text-align: left; padding: 12px 14px; border: 0; border-bottom: 2px solid #DCE7EC; vertical-align: bottom; }
.eq-post .eq-spbody td { padding: 12px 14px; border: 0; border-bottom: 1px solid var(--eq-line); vertical-align: top; color: var(--global-palette4); }
.eq-post .eq-spbody td > br:first-child { display: none; }
.eq-post .eq-spbody td:first-child { font-weight: 600; color: var(--global-palette1); }
.eq-post .eq-spbody .wp-block-embed, .eq-post .eq-spbody iframe { max-width: 100%; }

.eq-post .eq-spterms { margin: 44px 0 0; padding-top: 22px; border-top: 1px solid var(--eq-line); font-size: 14px; line-height: 1.9; color: var(--global-palette5); }
.eq-spterms a { color: var(--global-palette1); text-decoration: none; }
.eq-spterms a:hover { text-decoration: underline; }

/* The paired CTA box (.eq-spcta, .eq-btn) is in style.css: the team bio uses it too. */

.eq-spauthor { margin: 28px 0 0; display: flex; gap: 20px; align-items: flex-start; padding: 26px 28px; border: 1px solid var(--eq-line); border-radius: 4px; }
.eq-spinit { width: 64px; height: 64px; border-radius: 50%; background: var(--eq-line); color: var(--global-palette1); display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 20px; flex: none; }
.eq-spinit.eq-has-photo, .eq-ainit.eq-has-photo { overflow: hidden; }
.eq-has-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; display: block; }
.eq-post .eq-spaname { font-size: 17px; font-weight: 600; color: var(--global-palette1); margin: 0; }
.eq-spaname a { color: inherit; text-decoration: none; }
.eq-spaname a:hover { text-decoration: underline; }
.eq-post .eq-sparole { font-size: 14px; color: var(--global-palette5); margin: 2px 0 0; }
.eq-post .eq-spabio { font-size: 15px; line-height: 1.6; color: var(--global-palette4); margin: 10px 0 0; }
.eq-spabio a { font-weight: 600; color: var(--global-palette2); text-decoration: none; }
.eq-spback { display: inline-block; margin-top: 36px; font-size: 15px; font-weight: 600; color: var(--global-palette2); text-decoration: none; }
.eq-spback:hover { text-decoration: underline; }

@media (max-width: 800px) {
	.eq-post .eq-sph1 { font-size: 30px; }
	.eq-post .eq-spbody h2 { font-size: 23px; }
	.eq-post .eq-spbody h3 { font-size: 19px; }
}
@media (max-width: 600px) {
	.eq-post .eq-spbody p, .eq-post .eq-spbody li { font-size: 17px; }
	.eq-spauthor { flex-direction: column; gap: 14px; padding: 22px; }
}
