/* Journal: the winery's news and awards, set like a small broadsheet of labels. */
.journal-main { width: 100%; margin: 0; padding: 0; }
.journal-main figure { min-width: 0; }
.journal-main figcaption { margin-block-start: 0.75rem; color: var(--muted); font-size: var(--text-small); line-height: 1.5; }
.journal-archive, .journal-detail { padding-block: var(--space-5) var(--space-6); }
.journal-main > .journal-detail { margin-block: 0; }

.journal-intro { display: grid; gap: var(--space-3); margin-block-end: var(--space-4); }
.journal-intro h1 { margin: 0; color: var(--red); font-size: clamp(3rem, 1.5rem + 6.4vw, 7.5rem); line-height: 0.95; }
.journal-intro__copy { max-width: 40ch; font-size: var(--text-lead); line-height: 1.45; }
.journal-intro__copy > :last-child { margin-block-end: 0; }
@media (min-width: 60rem) {
	.journal-intro { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--space-4); align-items: end; }
}

/* Category filter: stamped chips; the current one is filled. */
.journal-categories { margin-block-end: var(--space-5); }
.journal-categories ul { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.journal-categories a {
	display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0.25rem 1.125rem;
	font-weight: 700; text-decoration: none; border: 2px solid var(--ink);
	transition: background-color 0.2s, color 0.2s;
}
.journal-categories a:hover { color: var(--paper); background: var(--ink); }
.journal-categories a[aria-current] { color: var(--paper); background: var(--red); border-color: var(--red); }

.journal-grid { display: grid; gap: var(--space-5) var(--space-4); align-items: start; }
.journal-grid > *, .journal-intro > *, .journal-card > * { min-width: 0; }
.journal-card { display: grid; align-content: start; }
.journal-photograph { overflow: hidden; background: var(--paper-deep); }
.journal-image { display: block; width: 100%; height: auto; }
.journal-card .journal-image { aspect-ratio: 3 / 2; object-fit: cover; transition: transform 0.7s var(--ease); }
.journal-card:hover .journal-image { transform: scale(1.04); }
.journal-card__copy { padding-block-start: var(--space-2); }
.journal-card:not(.journal-card--with-image) .journal-card__copy { padding-block-start: var(--space-2); border-block-start: 3px solid var(--ink); }
.journal-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.25rem 1rem; margin-block-end: 0.5rem; color: var(--muted); font-size: var(--text-small); font-weight: 600; }
.journal-meta a { display: inline-flex; align-items: center; min-height: 2.75rem; padding-inline: 0.625rem; color: var(--ink); background: var(--w-chardonnay); text-decoration: none; margin-block: -0.5rem; }
.journal-meta a:hover { text-decoration: underline; }
.journal-meta time { padding-block: 0.5rem; }
.journal-card h2, .journal-card h3 { max-width: 24ch; margin-block-end: var(--space-1); font-size: clamp(1.625rem, 1.3rem + 1.2vw, 2.375rem); }
.journal-card h2 a, .journal-card h3 a { text-decoration: none; }
.journal-card h2 a:hover, .journal-card h3 a:hover { text-decoration: underline; text-decoration-thickness: 0.06em; }
.journal-card__copy > p { max-width: 56ch; margin: 0; }
.journal-empty { max-width: 60ch; padding-block: var(--space-4); font-size: var(--text-lead); }

@media (min-width: 40rem) {
	.journal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 60rem) {
	.journal-archive .journal-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.journal-archive .journal-card--featured { grid-column: 1 / -1; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-3); align-items: center; }
	.journal-card--featured .journal-photograph { grid-column: 1 / span 7; }
	.journal-card--featured .journal-card__copy { grid-column: 8 / -1; padding-block-start: 0; }
	.journal-card--featured:not(.journal-card--with-image) .journal-card__copy { grid-column: 1 / span 8; padding-block-start: var(--space-2); }
	.journal-card--featured h2 { max-width: 16ch; font-size: clamp(2.25rem, 1.4rem + 2.2vw, 3.75rem); line-height: 1; }
	.journal-card--featured .journal-image { aspect-ratio: 16 / 10; }
}

/* Pagination. */
.journal-main .pagination { margin-block-start: var(--space-5); }
.journal-main .pagination .nav-links { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.journal-main .page-numbers, .journal-content-pages a, .journal-content-pages .post-page-numbers {
	display: inline-flex; justify-content: center; align-items: center; min-width: 2.75rem; min-height: 2.75rem; padding: 0.5rem 0.875rem;
	font-weight: 700; text-decoration: none; border: 2px solid var(--ink);
}
.journal-main a.page-numbers:hover, .journal-content-pages a:hover { color: var(--paper); background: var(--ink); }
.journal-main .page-numbers.current, .journal-content-pages .current { color: var(--paper); background: var(--red); border-color: var(--red); }
.journal-main .page-numbers.dots { min-width: 0; padding-inline: 0.25rem; border-color: transparent; }

/* Article. */
.journal-article-header { max-width: 64rem; margin-block-end: var(--space-4); }
.journal-article-header h1 { margin-block-end: var(--space-3); color: var(--red); font-size: clamp(2.5rem, 1.4rem + 4.6vw, 5.5rem); line-height: 1; }
.journal-standfirst { max-width: 44ch; font-size: var(--text-lead); line-height: 1.45; }
.journal-standfirst > :last-child { margin: 0; }
.journal-detail > .journal-photograph { margin-block-end: var(--space-5); }
.journal-detail > .journal-photograph .journal-image { max-height: 40rem; object-fit: cover; }
.journal-content { max-width: 44rem; margin-inline: auto; }
.journal-content > * { max-width: 100%; }
.journal-content p, .journal-content ul, .journal-content ol { margin-block-end: 1.4em; }
.journal-content h2 { margin-block: 1.6em 0.5em; font-size: clamp(1.875rem, 1.5rem + 1.5vw, 2.75rem); }
.journal-content h3 { margin-block: 1.5em 0.5em; font-size: clamp(1.5rem, 1.25rem + 1vw, 2.125rem); }
.journal-content li + li { margin-block-start: 0.5rem; }
.journal-content ul, .journal-content ol { padding-inline-start: 1.5em; }
.journal-content blockquote { margin: 2rem 0; padding-inline-start: 1.5rem; border-inline-start: 6px solid var(--red); font-family: var(--font-display); font-size: var(--text-lead); line-height: 1.35; }
.journal-content blockquote > :last-child { margin-block-end: 0; }
.journal-content cite { font-family: var(--font-body); font-size: 1rem; }
.journal-content figure, .journal-content .wp-caption { margin-block: 2rem; }
.journal-content img { height: auto; }
.journal-content iframe { max-width: 100%; }
.journal-content .wp-block-embed__wrapper { overflow-wrap: anywhere; }
.journal-content pre, .journal-content .wp-block-table { max-width: 100%; overflow-x: auto; }
.journal-content table { width: 100%; border-collapse: collapse; }
.journal-content th, .journal-content td { padding: 0.75rem; border-bottom: 1px solid var(--line); text-align: start; }
.journal-content a { color: var(--red); font-weight: 600; }

.journal-afterword { padding-block-end: var(--space-6); }
.journal-article-nav { display: grid; gap: var(--space-2); padding-block: var(--space-4); border-block: 3px solid var(--ink); }
.journal-article-nav a { display: grid; align-content: center; min-height: 2.75rem; font-family: var(--font-display); font-size: var(--h3); line-height: 1.15; text-decoration: none; }
.journal-article-nav a span { font-family: var(--font-body); font-size: var(--text-small); font-weight: 700; color: var(--muted); }
.journal-article-nav a:hover { color: var(--red); }
.journal-article-nav .journal-archive-link { font-family: var(--font-body); font-size: 1.0625rem; font-weight: 700; text-decoration: underline; text-underline-offset: 0.25em; }
.journal-related { padding-block-start: var(--space-5); }
.journal-related h2 { font-size: clamp(2rem, 1.5rem + 2.4vw, 3.5rem); }
@media (min-width: 40rem) {
	.journal-article-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
	.journal-related .journal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
