/*
 * Component styles for the "Study" design direction.
 * Design tokens live in theme.json — this file only holds component CSS that
 * block markup + theme.json can't express (pseudo-elements, media embeds,
 * the day-stamp progress bar).
 */

/* ---------- utilities ---------- */

a:focus-visible,
button:focus-visible,
input:focus-visible,
[role="button"]:focus-visible {
	outline: 2px solid var(--wp--preset--color--brass);
	outline-offset: 2px;
	border-radius: 2px;
}

.gc-eyebrow {
	font-family: var(--wp--preset--font-family--source-sans);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brass);
}

.gc-eyebrow a {
	color: inherit;
	text-decoration: none;
}

.gc-eyebrow-accent {
	color: var(--wp--preset--color--accent);
}

.gc-card {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 6px;
}

.gc-meta,
.gc-meta a {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	text-decoration: none;
}

.gc-meta a:hover {
	color: var(--wp--preset--color--accent);
	text-decoration: underline;
}

/* ---------- scripture reference ---------- */

.gc-scripture-ref {
	font-family: var(--wp--preset--font-family--fraunces);
	font-style: italic;
	font-size: var(--wp--preset--font-size--large);
	color: var(--wp--preset--color--accent);
	margin: 0;
}

.gc-scripture-ref a {
	color: inherit;
	text-decoration: none;
}

.gc-scripture-ref a:hover {
	text-decoration: underline;
}

/* ---------- sermon media ---------- */

.gc-sermon-media {
	display: grid;
	gap: 1rem;
}

.gc-sermon-media .gc-video {
	position: relative;
	aspect-ratio: 16 / 9;
	width: 100%;
	border-radius: 6px;
	overflow: hidden;
	background: var(--wp--preset--color--contrast);
	cursor: pointer;
}

.gc-sermon-media .gc-video.is-playing {
	cursor: default;
}

.gc-sermon-media .gc-video iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

.gc-video-poster {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.25s ease;
}

.gc-video:hover .gc-video-poster {
	transform: scale(1.02);
}

@media (prefers-reduced-motion: reduce) {
	.gc-video-poster,
	.gc-video:hover .gc-video-poster {
		transition: none;
		transform: none;
	}
}

.gc-play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 4.5rem;
	height: 4.5rem;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
	box-shadow: 0 10px 30px -8px rgba(0, 0, 0, 0.5);
	transition: transform 0.15s ease, background 0.15s ease;
}

.gc-play::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 53%;
	transform: translate(-50%, -50%);
	border-style: solid;
	border-width: 0.85rem 0 0.85rem 1.4rem;
	border-color: transparent transparent transparent var(--wp--preset--color--base);
}

.gc-video:hover .gc-play,
.gc-video:focus-visible .gc-play {
	transform: translate(-50%, -50%) scale(1.08);
	background: var(--wp--preset--color--contrast);
}

.gc-video:focus-visible {
	outline: 2px solid var(--wp--preset--color--brass);
	outline-offset: 2px;
}

.gc-audio audio {
	width: 100%;
	display: block;
}

.gc-notes-link {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.gc-notes-link a {
	color: var(--wp--preset--color--accent);
}

/* ---------- transcript ---------- */

.gc-transcript {
	border-top: 1px solid var(--wp--preset--color--line);
	padding-top: 2rem;
}

.gc-transcript > h2 {
	margin: 0;
	font-size: var(--wp--preset--font-size--x-large);
}

.gc-transcript-body {
	margin-top: 1.25rem;
}

.gc-transcript-body p {
	margin: 0 0 1rem;
}

/* ---------- OYB day stamp (the signature element) ---------- */

.gc-daystamp {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.gc-daystamp .gc-daystamp-count {
	font-family: var(--wp--preset--font-family--source-sans);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brass);
	white-space: nowrap;
}

.gc-daystamp .gc-daystamp-count a {
	color: inherit;
	text-decoration: none;
}

.gc-daystamp .gc-daystamp-count a:hover {
	color: var(--wp--preset--color--accent);
}

.gc-daystamp-bar {
	flex: 0 1 110px;
	height: 4px;
	border-radius: 2px;
	background: var(--wp--preset--color--line);
	overflow: hidden;
}

.gc-daystamp-bar i {
	display: block;
	height: 100%;
	background: var(--wp--preset--color--brass);
}

/* ---------- OYB readings ---------- */

.gc-readings {
	list-style: none;
	padding: 0;
	margin: 1rem 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.gc-readings li a {
	display: inline-block;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	border: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--surface);
	border-radius: 999px;
	padding: 0.25rem 0.8rem;
}

.gc-readings li a:hover {
	border-color: var(--wp--preset--color--brass);
	color: var(--wp--preset--color--accent);
}

/* ---------- archive rows (blog, search, devotions) ---------- */

.gc-archive-item {
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.gc-archive-item .wp-block-post-title a {
	text-decoration: none;
}

.gc-archive-item .wp-block-post-title a:hover {
	color: var(--wp--preset--color--accent);
}

.gc-archive-item .gc-scripture-ref {
	font-size: var(--wp--preset--font-size--medium);
}

.gc-item-date {
	font-family: var(--wp--preset--font-family--source-sans);
	font-size: 0.6875rem !important;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brass) !important;
}

/* ---------- sermon archive cards ---------- */

.gc-sermon-card {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 8px;
	overflow: hidden;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.gc-sermon-card:hover {
	border-color: var(--wp--preset--color--brass);
	box-shadow: 0 10px 28px -14px rgba(43, 37, 25, 0.35);
	transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
	.gc-sermon-card,
	.gc-sermon-card:hover {
		transition: none;
		transform: none;
	}
}

.gc-sermon-card .wp-block-post-featured-image {
	margin: 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.gc-sermon-card .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.gc-sermon-card .wp-block-post-title a {
	text-decoration: none;
}

.gc-sermon-card .wp-block-post-title a:hover {
	color: var(--wp--preset--color--accent);
}

.gc-sermon-card .gc-scripture-ref {
	font-size: var(--wp--preset--font-size--medium);
}

/* ---------- OYB day medallion (archive rows) ---------- */

.gc-day-medallion {
	flex: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 4.25rem;
	height: 4.25rem;
	border: 1px solid var(--wp--preset--color--brass);
	border-radius: 50%;
	background: var(--wp--preset--color--surface);
	text-decoration: none;
	box-shadow: inset 0 0 0 3px var(--wp--preset--color--base);
	transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.gc-day-medallion:hover {
	border-color: var(--wp--preset--color--accent);
}

.gc-day-medallion .gc-day-medallion-label {
	font-family: var(--wp--preset--font-family--source-sans);
	font-size: 0.5625rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brass);
	line-height: 1;
	margin-bottom: 0.15rem;
}

.gc-day-medallion .gc-day-medallion-num {
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1;
	color: var(--wp--preset--color--contrast);
	font-variant-numeric: tabular-nums;
}

.gc-day-medallion:hover .gc-day-medallion-num {
	color: var(--wp--preset--color--accent);
}

/* ---------- centered "liturgy" single headers ---------- */

.gc-center {
	text-align: center;
}

.gc-center .gc-daystamp,
.gc-center .gc-readings,
.gc-center .gc-meta {
	justify-content: center;
}

.gc-date-script {
	font-family: var(--wp--preset--font-family--fraunces) !important;
	font-style: italic;
	font-size: var(--wp--preset--font-size--large) !important;
	color: var(--wp--preset--color--brass) !important;
}

/* ---------- media frame (sermon video/audio) ---------- */

.gc-media-frame {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	padding: 0.75rem;
	box-shadow: 0 14px 40px -24px rgba(43, 37, 25, 0.4);
}

.gc-media-frame .gc-video {
	border-radius: 6px;
}

.gc-media-frame .gc-notes-link {
	margin: 0 0.25rem 0.25rem;
}

/* ---------- listen card (devotion audio) ---------- */

.gc-listen-card {
	display: grid;
	gap: 0.6rem;
	padding: 1rem 1.25rem;
	max-width: 34rem;
	margin-left: auto;
	margin-right: auto;
}

/* ---------- fleuron divider ---------- */

hr.gc-fleuron {
	border: 0;
	background: none;
	height: auto;
	margin: 2.5rem auto;
	text-align: center;
	overflow: visible;
}

hr.gc-fleuron::before {
	content: "❧";
	display: inline-block;
	font-size: 1.5rem;
	color: var(--wp--preset--color--brass);
	line-height: 1;
}

/* ---------- transcript drop cap ---------- */

.gc-transcript-body > p:first-of-type::first-letter {
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: 3.4em;
	font-weight: 600;
	line-height: 0.75;
	float: left;
	padding: 0.08em 0.12em 0 0;
	color: var(--wp--preset--color--accent);
}

/* ---------- prev/next cards ---------- */

.gc-prevnext {
	border-top: 1px solid var(--wp--preset--color--line);
	padding-top: 1.5rem;
}

.gc-prevnext .wp-block-post-navigation-link {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 8px;
	padding: 1rem 1.25rem;
	font-size: var(--wp--preset--font-size--small);
	transition: border-color 0.15s ease;
}

.gc-prevnext .wp-block-post-navigation-link:hover {
	border-color: var(--wp--preset--color--brass);
}

.gc-prevnext .wp-block-post-navigation-link .post-navigation-link__label {
	display: block;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brass);
	margin-bottom: 0.35rem;
}

.gc-prevnext .wp-block-post-navigation-link a {
	font-family: var(--wp--preset--font-family--fraunces);
	font-weight: 600;
	font-size: 1.0625rem;
	line-height: 1.3;
	text-decoration: none;
	display: block;
}

.gc-prevnext .wp-block-post-navigation-link a:hover {
	color: var(--wp--preset--color--accent);
}

.gc-prevnext .post-navigation-link-next {
	text-align: right;
	grid-column: 2;
}

.gc-prevnext .post-navigation-link-previous {
	grid-column: 1;
}

/* ---------- header ---------- */

.gc-site-title a {
	font-family: var(--wp--preset--font-family--fraunces);
	font-weight: 700;
	font-size: 1.375rem;
	letter-spacing: 0.01em;
	text-decoration: none;
}

.wp-block-navigation a:hover {
	color: var(--wp--preset--color--accent);
}

/* ---------- header layout: full row desktop, wordmark + hamburger mobile ---------- */

.gc-header-row .gc-site-title {
	margin-right: auto;
}

/* the drawer-only nav items (search + CTA) never show in the inline desktop menu */
@media (min-width: 601px) {
	.wp-block-navigation .gc-drawer-search,
	.wp-block-navigation .gc-drawer-cta {
		display: none;
	}
}

/* below the nav's collapse point: just the wordmark and the hamburger */
@media (max-width: 600px) {
	.gc-header-row .gc-desktop-only {
		display: none !important;
	}

	.gc-site-title a {
		font-size: 1.35rem;
	}

	.gc-header-nav {
		margin-left: auto;
	}
}

/* hamburger: a bordered tile instead of two bare lines */
.wp-block-navigation__responsive-container-open {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 6px;
	background: var(--wp--preset--color--surface);
	padding: 0.5rem;
	color: var(--wp--preset--color--contrast);
	transition: border-color 0.15s ease, color 0.15s ease;
}

.wp-block-navigation__responsive-container-open:hover {
	border-color: var(--wp--preset--color--brass);
	color: var(--wp--preset--color--accent);
}

/* ---------- mobile menu overlay: the Study treatment ---------- */

.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--base);
	padding: 1.5rem 1.75rem 2.5rem;
}

/* close button */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--muted);
	padding: 0.5rem;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:hover {
	color: var(--wp--preset--color--accent);
}

/* section groups (items with dropdowns) get hairline rules between them */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item.has-child {
	border-top: 1px solid var(--wp--preset--color--line);
	padding-top: 1.25rem;
	margin-top: 1.25rem;
	display: block;
	width: 100%;
}

/* section labels read as brass small-caps eyebrows */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item.has-child > .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--source-sans);
	font-size: 0.6875rem !important;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brass);
	pointer-events: auto;
}

/* destinations (submenu links + About) are Fraunces, roomy, ink */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:not(.has-child) > .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: 1.25rem !important;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
	padding: 0.35rem 0;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--accent);
}

/* flatten the default deep indent; a thin brass rail marks the group */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	margin: 0.4rem 0 0 !important;
	padding-left: 0.9rem !important;
	border-left: 2px solid var(--wp--preset--color--line);
}

/* the About row aligns with the sections */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:not(.has-child) {
	border-top: 1px solid var(--wp--preset--color--line);
	padding-top: 1.25rem;
	margin-top: 1.25rem;
	width: 100%;
}

/* fleuron sign-off at the bottom of the panel */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content::after {
	content: "❧";
	display: block;
	text-align: left;
	color: var(--wp--preset--color--brass);
	font-size: 1.5rem;
	margin-top: 2rem;
}

/* drawer search: full-width field at the top of the panel */
.wp-block-navigation__responsive-container.is-menu-open .gc-drawer-search {
	width: 100%;
	margin-bottom: 0.5rem;
}

.wp-block-navigation__responsive-container.is-menu-open .gc-drawer-search .wp-block-search__inside-wrapper {
	display: flex;
	gap: 0.5rem;
}

.wp-block-navigation__responsive-container.is-menu-open .gc-drawer-search .wp-block-search__input {
	flex: 1 1 auto;
	min-width: 0;
}

/* drawer CTA: the "Today's Devotion" button, full-width at the bottom */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item.gc-drawer-cta {
	border-top: 0;
	margin-top: 1.75rem;
	padding-top: 0;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item.gc-drawer-cta > .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base) !important;
	font-family: var(--wp--preset--font-family--source-sans);
	font-size: 1rem !important;
	font-weight: 600;
	border-radius: 6px;
	padding: 0.8rem 1rem;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item.gc-drawer-cta > .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--contrast);
}

/* ---------- browse: shared count badge ---------- */

.gc-count {
	font-family: var(--wp--preset--font-family--source-sans);
	font-size: 0.6875rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: var(--wp--preset--color--brass);
}

/* ---------- browse: scripture book list ---------- */

.gc-book-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 3rem 3.5rem;
	margin-top: 2.75rem;
}

.gc-book-section > h2 {
	font-size: var(--wp--preset--font-size--large);
	border-bottom: 1px solid var(--wp--preset--color--brass);
	padding-bottom: 0.6rem;
	margin: 0 0 1rem;
}

.gc-book-section ul {
	list-style: none;
	margin: 0;
	padding: 0;
	columns: 2;
	column-gap: 2.5rem;
}

.gc-book-section li {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.5rem;
	padding: 0.45rem 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
	break-inside: avoid;
	font-size: var(--wp--preset--font-size--small);
}

.gc-book-section li a {
	text-decoration: none;
}

.gc-book-section li a:hover {
	color: var(--wp--preset--color--accent);
	text-decoration: underline;
}

.gc-book-empty {
	color: var(--wp--preset--color--muted);
	opacity: 0.55;
}

/* ---------- browse: alphabetical topic index ---------- */

.gc-topic-index {
	columns: 3;
	column-gap: 3rem;
	margin-top: 2rem;
}

@media (max-width: 900px) {
	.gc-topic-index {
		columns: 2;
	}
}

@media (max-width: 600px) {
	.gc-topic-index {
		columns: 1;
	}
}

.gc-topic-letter {
	break-inside: avoid;
	margin-bottom: 1.75rem;
}

.gc-topic-letter > h3 {
	font-size: var(--wp--preset--font-size--large);
	color: var(--wp--preset--color--accent);
	border-bottom: 1px solid var(--wp--preset--color--brass);
	padding-bottom: 0.35rem;
	margin: 0 0 0.5rem;
}

.gc-topic-letter ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.gc-topic-letter li {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.5rem;
	padding: 0.3rem 0;
	font-size: var(--wp--preset--font-size--small);
}

.gc-topic-letter li a {
	text-decoration: none;
	text-transform: capitalize;
}

.gc-topic-letter li a:hover {
	color: var(--wp--preset--color--accent);
	text-decoration: underline;
}

/* ---------- browse: OYB day index ---------- */

.gc-day-index {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1.5rem 2.5rem;
	margin-top: 1rem;
}

.gc-day-index-month > h3 {
	font-size: var(--wp--preset--font-size--large);
	margin: 0 0 0.6rem;
	color: var(--wp--preset--color--accent);
}

.gc-day-index-month ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(2.1rem, 1fr));
	gap: 0.3rem;
}

.gc-day-index-month li a {
	display: grid;
	place-items: center;
	height: 2.1rem;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 4px;
}

.gc-day-index-month li a:hover {
	border-color: var(--wp--preset--color--brass);
	color: var(--wp--preset--color--accent);
}

.gc-day-index-month li a.gc-today {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
}

/* ---------- browse: month archive list ---------- */

.gc-month-list {
	list-style: none;
	margin: 1rem 0 0;
	padding: 0;
	columns: 3;
	column-gap: 2.5rem;
}

@media (max-width: 781px) {
	.gc-month-list {
		columns: 2;
	}
}

.gc-month-list li {
	padding: 0.35rem 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
	break-inside: avoid;
	font-size: var(--wp--preset--font-size--small);
}

.gc-month-list li a {
	text-decoration: none;
}

.gc-month-list li a:hover {
	color: var(--wp--preset--color--accent);
}

/* ---------- browse: series grid ---------- */

.gc-series-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1.25rem;
	margin-top: 1rem;
}

.gc-series-card {
	display: block;
	text-decoration: none;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 8px;
	overflow: hidden;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.gc-series-card:hover {
	border-color: var(--wp--preset--color--brass);
	box-shadow: 0 10px 28px -14px rgba(43, 37, 25, 0.35);
	transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
	.gc-series-card,
	.gc-series-card:hover {
		transition: none;
		transform: none;
	}
}

.gc-series-art {
	display: block;
	aspect-ratio: 16 / 9;
	background: var(--wp--preset--color--line);
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.gc-series-art img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.gc-series-noart {
	display: grid;
	place-items: center;
	height: 100%;
	font-family: var(--wp--preset--font-family--fraunces);
	font-style: italic;
	font-size: var(--wp--preset--font-size--large);
	color: var(--wp--preset--color--muted);
	padding: 1rem;
	text-align: center;
}

.gc-series-body {
	display: grid;
	gap: 0.15rem;
	padding: 0.9rem 1.1rem 1rem;
}

.gc-series-name {
	font-family: var(--wp--preset--font-family--fraunces);
	font-weight: 600;
	font-size: 1.0625rem;
	line-height: 1.25;
	color: var(--wp--preset--color--contrast);
}

.gc-series-card:hover .gc-series-name {
	color: var(--wp--preset--color--accent);
}

.gc-series-count {
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brass);
}

/* ---------- browse: series grid pagination ---------- */

.gc-series-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	margin-top: 2.5rem;
	font-family: var(--wp--preset--font-family--source-sans);
}

/* ---------- browse: type filter pills ---------- */

.gc-type-filter {
	margin-top: 1.5rem;
}

.gc-type-filter ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: flex-start;
}

/* centered page headers (term archives) center their pills too */
.gc-center .gc-type-filter ul {
	justify-content: center;
}

.gc-type-filter a {
	display: inline-block;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
	border: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--surface);
	border-radius: 999px;
	padding: 0.35rem 1.1rem;
}

.gc-type-filter a:hover {
	border-color: var(--wp--preset--color--brass);
	color: var(--wp--preset--color--accent);
}

.gc-type-filter a.gc-active {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
}

/* ---------- term headers ---------- */

.gc-series-hero {
	margin: 1.5rem auto 0;
	max-width: 560px;
}

.gc-series-hero img {
	display: block;
	width: 100%;
	border-radius: 8px;
	border: 1px solid var(--wp--preset--color--line);
}

.gc-day-header {
	display: grid;
	justify-items: center;
	gap: 1rem;
	margin-top: 1rem;
}

.gc-day-header .gc-day-medallion {
	width: 5.25rem;
	height: 5.25rem;
}

.gc-day-header .gc-day-medallion-num {
	font-size: 1.9rem;
}

.gc-day-medallion-static {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--wp--preset--color--brass);
	border-radius: 50%;
	background: var(--wp--preset--color--surface);
	box-shadow: inset 0 0 0 3px var(--wp--preset--color--base);
}

/* ---------- legacy content compatibility ---------- */

/*
 * Two decades of content carries three markup eras: block-editor markup,
 * classic-editor <p> soup, and pasted Draft.js HTML where every paragraph is
 * a bare <div data-block> separated by empty spacer divs. The layout gap
 * (margin-block-start on every child) double-spaces the Draft.js era: the
 * spacer divs already provide the break. Zero them out so all three eras
 * read with the same rhythm.
 */
.wp-block-post-content div[data-block] {
	margin-block-start: 0;
}

/* ---------- pagination ---------- */

.wp-block-query-pagination {
	gap: 0.4rem;
	align-items: center;
	font-family: var(--wp--preset--font-family--source-sans);
}

.wp-block-query-pagination-numbers {
	display: flex;
	gap: 0.4rem;
	align-items: center;
	margin: 0 0.5rem;
}

.wp-block-query-pagination-numbers .page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.5rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 6px;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	text-decoration: none;
	transition: border-color 0.15s ease, color 0.15s ease;
}

.wp-block-query-pagination-numbers a.page-numbers:hover {
	border-color: var(--wp--preset--color--brass);
	color: var(--wp--preset--color--accent);
}

.wp-block-query-pagination-numbers .page-numbers.current {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
}

.wp-block-query-pagination-numbers .page-numbers.dots {
	border: 0;
	background: none;
	min-width: 1.25rem;
	color: var(--wp--preset--color--muted);
}

.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	background: var(--wp--preset--color--surface);
	padding: 0.5rem 1.2rem;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	transition: border-color 0.15s ease, color 0.15s ease;
}

.wp-block-query-pagination-previous:hover,
.wp-block-query-pagination-next:hover {
	border-color: var(--wp--preset--color--brass);
	color: var(--wp--preset--color--accent);
}

.wp-block-query-pagination-previous-arrow,
.wp-block-query-pagination-next-arrow {
	color: var(--wp--preset--color--brass);
}

/* ---------- search ---------- */

.wp-block-search__input {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 6px;
	padding: 0.55rem 0.9rem;
	font-family: var(--wp--preset--font-family--source-sans);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--contrast);
}

.wp-block-search__input:focus {
	outline: none;
	border-color: var(--wp--preset--color--brass);
	box-shadow: 0 0 0 3px rgba(169, 138, 78, 0.18);
}

.wp-block-search__button {
	border-radius: 6px;
}

/* header: icon-only, expands on click */
.gc-header-search .wp-block-search__button {
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 0;
	color: var(--wp--preset--color--contrast);
	padding: 0.35rem;
	line-height: 0;
}

.gc-header-search .wp-block-search__button svg {
	display: block;
}

.gc-header-search .wp-block-search__button:hover {
	color: var(--wp--preset--color--accent);
	background: transparent;
}

/* homepage: large and inviting */
.gc-hero-search .wp-block-search__input {
	padding: 0.85rem 1.25rem;
	font-size: var(--wp--preset--font-size--medium);
	border-radius: 8px;
}

.gc-hero-search .wp-block-search__button {
	padding: 0.85rem 1.75rem;
	font-weight: 600;
}

/* ---------- about page ---------- */

.gc-about-photo {
	margin: 0;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 8px;
	padding: 0.75rem;
	box-shadow: 0 14px 40px -28px rgba(43, 37, 25, 0.4);
}

.gc-about-photo img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 4px;
}

p.gc-dropcap::first-letter {
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: 3.4em;
	font-weight: 600;
	line-height: 0.75;
	float: left;
	padding: 0.08em 0.12em 0 0;
	color: var(--wp--preset--color--accent);
}

/* ---------- getting-started page pieces ---------- */

ol.gc-advice-list {
	list-style: none;
	counter-reset: gc-advice;
	margin: 0.5rem 0 0;
	padding: 0;
	display: grid;
	gap: 0;
}

ol.gc-advice-list > li {
	counter-increment: gc-advice;
	position: relative;
	padding: 1.1rem 0 1.1rem 4.25rem;
	border-bottom: 1px solid var(--wp--preset--color--line);
	margin: 0;
}

ol.gc-advice-list > li:last-child {
	border-bottom: 0;
	padding-bottom: 0.25rem;
}

ol.gc-advice-list > li::before {
	content: counter(gc-advice);
	position: absolute;
	left: 0.5rem;
	top: 0.9rem;
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: 2.25rem;
	font-weight: 600;
	line-height: 1;
	color: var(--wp--preset--color--accent);
	font-variant-numeric: tabular-nums;
}

.gc-podcast-badges img {
	height: 52px;
	width: auto;
	display: block;
}

.gc-chart {
	margin: 0;
}

.gc-chart img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 4px;
	cursor: zoom-in;
}

.gc-chart-card {
	display: flex;
	flex-direction: column;
	transition: border-color 0.15s ease;
}

.gc-chart-card:hover {
	border-color: var(--wp--preset--color--brass);
}

/* the intro sentence hugs the top; the chart sits on the card's baseline */
.gc-chart-card > p {
	margin-bottom: auto;
}

/* ---------- homepage cover: photo anchored top-left, content right ---------- */

.gc-cover-panel {
	max-width: 46% !important;
	margin-left: auto !important;
	margin-right: 0 !important;
	text-align: left;
	padding: 2.5rem 0;
}

@media (max-width: 781px) {
	.gc-cover-panel {
		max-width: 100% !important;
		padding: 1.5rem 0;
	}

	/* text sits over the subject on narrow screens — deepen the dim */
	.wp-block-cover:has(.gc-cover-panel) .wp-block-cover__background {
		opacity: 0.7 !important;
	}
}

/* ---------- portrait ---------- */

.gc-portrait img {
	border-radius: 8px;
	border: 1px solid var(--wp--preset--color--line);
	display: block;
	width: 100%;
	height: auto;
	transition: border-color 0.15s ease;
}

.gc-portrait a:hover img {
	border-color: var(--wp--preset--color--brass);
}

.gc-quiet-link {
	font-weight: 600;
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}

.gc-quiet-link:hover {
	text-decoration: underline;
}

@media (max-width: 781px) {
	.gc-portrait {
		max-width: 320px;
		margin-left: auto;
		margin-right: auto;
	}
}
