/* Glenn Patrick Journal: blocks, patterns and automatic features. Palette falls back to theme defaults. */
.gpj-reading-time { font-family: var(--wp--preset--font-family--sans, Arial, sans-serif); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--muted, #635d65); margin: 0 0 28px; }
.gpj-reading-time__label::after { content: " —"; }
.gpj-dropcap .wp-block-post-content > p:first-of-type::first-letter { float: left; font-family: var(--wp--preset--font-family--editorial, Georgia, serif); font-size: 4.2em; line-height: .78; padding: .08em .12em 0 0; color: var(--wp--preset--color--plum, #713f78); }

.gpj-toc { border: 1px solid var(--wp--preset--color--line, #d6cfd5); padding: 24px 28px; margin: 32px 0; max-width: 520px; }
.gpj-toc__title { font-family: var(--wp--preset--font-family--sans, Arial, sans-serif); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; margin: 0 0 12px; color: var(--wp--preset--color--muted, #635d65); }
.gpj-toc ol { margin: 0; padding-left: 1.2em; font-family: var(--wp--preset--font-family--editorial, Georgia, serif); }
.gpj-toc li { margin: 6px 0; }
.gpj-toc a { text-decoration: none; }
.gpj-toc a:hover, .gpj-toc a:focus { text-decoration: underline; }
.gpj-toc--empty, .gpj-series--empty { padding: 16px; border: 1px dashed var(--wp--preset--color--line, #d6cfd5); color: var(--wp--preset--color--muted, #635d65); font-size: 14px; }

.gpj-series { background: var(--wp--preset--color--wash, #eee7ef); padding: 22px 26px; margin: 0 0 32px; }
.gpj-series__label { font-family: var(--wp--preset--font-family--sans, Arial, sans-serif); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; margin: 0; }
.gpj-series__list { margin: 14px 0 0; padding-left: 1.3em; font-family: var(--wp--preset--font-family--editorial, Georgia, serif); }
.gpj-series__list li { margin: 4px 0; }
.gpj-series__list .is-current { color: var(--wp--preset--color--plum, #713f78); font-weight: 600; }
.gpj-series__links { display: flex; justify-content: space-between; gap: 16px; margin-top: 14px; font-size: 15px; }
.gpj-series__next { margin-left: auto; }
.gpj-series a { text-decoration: none; }
.gpj-series a:hover, .gpj-series a:focus { text-decoration: underline; }

.gpj-related { padding-block: 40px; border-top: 1px solid var(--wp--preset--color--line, #d6cfd5); margin-top: 48px; }
.gpj-related__label { font-family: var(--wp--preset--font-family--sans, Arial, sans-serif); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; margin: 0 0 24px; }
.gpj-related__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.gpj-related__item { min-width: 0; }
.gpj-related__image { display: block; overflow: hidden; background: var(--wp--preset--color--wash, #eee7ef); }
.gpj-related__image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; transition: transform .35s ease; }
.gpj-related__image:hover img { transform: scale(1.025); }
.gpj-related__meta, .gpj-related__date { font-family: var(--wp--preset--font-family--sans, Arial, sans-serif); font-size: 11px; letter-spacing: .09em; text-transform: uppercase; color: var(--wp--preset--color--muted, #635d65); margin: 12px 0 0; }
.gpj-related__title { font-size: 22px; line-height: 1.15; margin: 8px 0 0; }
.gpj-related__title a { text-decoration: none; }
.gpj-related__title a:hover, .gpj-related__title a:focus { text-decoration: underline; }
@media (max-width: 781px) { .gpj-related__grid { grid-template-columns: 1fr; } }

/* Patterns */
.gpj-caption-aside { font-size: 14px; color: var(--wp--preset--color--muted, #635d65); }
.gpj-credits { font-family: var(--wp--preset--font-family--sans, Arial, sans-serif); font-size: 12px; letter-spacing: .04em; color: var(--wp--preset--color--muted, #635d65); border-top: 1px solid var(--wp--preset--color--line, #d6cfd5); padding-top: 18px; }
.gpj-credits p { margin: 4px 0; }
.gpj-card { background: var(--wp--preset--color--white, #fff); border: 1px solid var(--wp--preset--color--line, #d6cfd5); padding: 16px; }
.gpj-card .wp-block-image { margin: 0 0 12px; }
.gpj-card .wp-block-image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.gpj-card h3 { font-size: 20px; margin: 0 0 6px; }
.gpj-card p { font-size: 14px; margin: 0 0 10px; color: var(--wp--preset--color--muted, #635d65); }
.gpj-card .wp-block-button__link { font-size: 13px; }
.gpj-step { border-top: 1px solid var(--wp--preset--color--line, #d6cfd5); padding-top: 28px; margin-top: 28px; }
.gpj-step-number { font-family: var(--wp--preset--font-family--editorial, Georgia, serif); font-size: 48px; line-height: 1; color: var(--wp--preset--color--plum, #713f78); margin: 0 0 8px; }
.gpj-question { font-family: var(--wp--preset--font-family--sans, Arial, sans-serif); font-weight: 600; font-size: 15px; letter-spacing: .02em; }
.gpj-answer { font-family: var(--wp--preset--font-family--editorial, Georgia, serif); }
