/* GoA Article Layout. Mobile first: aside stacks above the article, TOC collapsible. */
.goa-al { display: block; }
.goa-al__aside { margin-bottom: 32px; }
.goa-al__main { min-width: 0; }

.goa-al-share { display: flex; gap: 8px; margin-bottom: 24px; }
.goa-al-share__btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 36px; height: 36px; border: 1px solid #E3E5EA; background: #fff;
	color: #0D1120; font-size: 13px; font-weight: 600; text-decoration: none; cursor: pointer;
}
.goa-al-share__btn:hover, .goa-al-share__btn:focus-visible { border-color: #4C6FFF; color: #4C6FFF; }

.goa-al-toc { border-top: 1px solid #E3E5EA; padding-top: 16px; }
.goa-al-toc summary {
	font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #0D1120;
	cursor: pointer; list-style: none; margin-bottom: 12px;
}
.goa-al-toc summary::-webkit-details-marker { display: none; }
body.single-post .post__content .goa-al-toc ol { list-style: none; margin: 0; padding: 0; }
body.single-post .post__content .goa-al-toc li { margin: 0 0 10px; }
body.single-post .post__content .goa-al-toc a {
	display: flex; gap: 10px; font-size: 14px; line-height: 1.4; color: #0D1120;
	text-decoration: none; opacity: .6; transition: opacity .15s ease;
}
body.single-post .post__content .goa-al-toc a:hover, body.single-post .post__content .goa-al-toc a.is-active { opacity: 1; }
body.single-post .post__content .goa-al-toc a.is-active { color: #4C6FFF; }
.goa-al-toc__n { font-variant-numeric: tabular-nums; flex: 0 0 auto; }

.goa-al-hero { margin: 0 0 32px; }
.goa-al-hero__img { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 628; object-fit: cover; background: #000; }

.goa-al-audio {
	display: flex; flex-wrap: wrap; align-items: center; gap: 16px;
	border-top: 1px solid #E3E5EA; border-bottom: 1px solid #E3E5EA;
	padding: 16px 0; margin: 0 0 40px; max-width: 760px;
}
.goa-al-audio__label { display: flex; flex-direction: column; font-size: 15px; color: #0D1120; }
.goa-al-audio__label span { font-size: 13px; opacity: .6; }
.goa-al-audio audio { flex: 1 1 260px; height: 40px; }

/* Anchor targets clear the sticky site header. */
.goa-al__main h2[id] { scroll-margin-top: 110px; }

@media (min-width: 992px) {
	.goa-al { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 64px; align-items: start; }
	.goa-al__aside { position: sticky; top: 110px; margin-bottom: 0; max-height: calc(100vh - 130px); overflow-y: auto; }
	.goa-al-toc summary { pointer-events: none; }
}

/* The layout wraps post content in .goa-al: widen the wrapper past the theme's 950px child cap,
   and re-apply the editorial spacing (from 04_SEO-GEO/blog-pilot-26881/blog-article-spacing.css) one level down. */
body.single-post .post__content > .goa-al { max-width: 1240px; margin: 0 auto 60px; }
body.single-post .post__content .goa-al__main > *:not(.wp-block-image):not(.vimeo-video-block):not(.wp-block-gallery):not(.goa-al-hero) { margin-left: 0; margin-right: 0; }

body.single-post .post__content .goa-al__main > *:not(.wp-block-image):not(.vimeo-video-block):not(.wp-block-gallery) {
  margin-bottom: 20px;
}
body.single-post .post__content .goa-al__main > p:not(.x):not(.y),
body.single-post .post__content .goa-al__main > h2:not(.x):not(.y),
body.single-post .post__content .goa-al__main > h3:not(.x):not(.y),
body.single-post .post__content .goa-al__main > ul:not(.x):not(.y),
body.single-post .post__content .goa-al__main > ol:not(.x):not(.y),
body.single-post .post__content .goa-al__main > figure.wp-block-table:not(.x):not(.y) {
  max-width: 760px;
}
body.single-post .post__content p { font-size: 17px; line-height: 1.7; margin-bottom: 0; }
body.single-post .post__content .goa-al__main > h2:not(.x):not(.y) {
  font-size: 32px; line-height: 1.2; font-weight: 500; letter-spacing: -0.01em;
  margin-top: 56px; margin-bottom: 16px;
}
body.single-post .post__content .goa-al__main > h2:first-child { margin-top: 0; }
body.single-post .post__content .goa-al__main > h3:not(.x):not(.y) { font-size: 21px; line-height: 1.3; font-weight: 500; margin-top: 32px; margin-bottom: 8px; }
body.single-post .post__content li { font-size: 17px; line-height: 1.7; margin-bottom: 8px; }
body.single-post .post__content .goa-al__main > figure.wp-block-table:not(.x):not(.y) { margin-top: 28px; margin-bottom: 28px; }
body.single-post .post__content .wp-block-table table { border-collapse: collapse; width: 100%; }
body.single-post .post__content .wp-block-table th,
body.single-post .post__content .wp-block-table td {
  font-size: 15px; line-height: 1.45; padding: 10px 12px; border: 0; border-bottom: 1px solid #E3E5E8; vertical-align: top;
}
body.single-post .post__content .wp-block-table th { font-weight: 500; }
body.single-post .post__content .wp-block-table tbody td:first-child { font-weight: 500; }
@media (max-width: 767px) {
  body.single-post .post__content .goa-al__main > *:not(.wp-block-image):not(.vimeo-video-block):not(.wp-block-gallery) { margin-bottom: 16px; }
  body.single-post .post__content p, body.single-post .post__content li { font-size: 16px; }
  body.single-post .post__content .goa-al__main > h2:not(.x):not(.y) { font-size: 24px; margin-top: 40px; margin-bottom: 12px; }
}

/* Author block (1.1.0) */
.goa-al-author { border-top: 1px solid #E3E5EA; padding: 16px 0; }
.goa-al-label { display: block; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #0D1120; margin-bottom: 12px; }
.goa-al-author__row { display: flex; align-items: center; gap: 12px; }
.goa-al-author__img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
body.single-post .post__content .goa-al-author__name { font-size: 15px; font-weight: 500; color: #0D1120; }
body.single-post .post__content .goa-al-author__name a { color: inherit; text-decoration: none; }
body.single-post .post__content .goa-al-author__title { font-size: 13px; opacity: .65; line-height: 1.4; }
