/*
Theme Name: Jute Blocks
Theme URI: https://thejutejournal.com/
Author: The Jute Journal
Description: Block theme for The Jute Journal. Same look as the old Jute Journal theme, rebuilt with blocks. Colours, fonts and spacing live in theme.json; this file holds the layout details theme.json can't express.
Version: 0.3.7
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: jute-blocks
*/

:root {
	--jj-ink: var(--wp--preset--color--ink);
	--jj-blue: var(--wp--preset--color--blue);
	--jj-blue-dark: var(--wp--preset--color--blue-dark);
	--jj-hair: var(--wp--preset--color--hair);
	--jj-meta: var(--wp--preset--color--meta);
	--jj-sans: var(--wp--preset--font-family--sans);
	--jj-serif: var(--wp--preset--font-family--serif);
	--jj-display: var(--wp--preset--font-family--display);
	--jj-gutter: 2rem;
}
@media (max-width: 781px) { :root { --jj-gutter: 1rem; } }

/* ── Header ───────────────────────────────────────────────── */
/* Let the nav stick to the top of the page, not just inside the header. */
.wp-site-blocks > header.wp-block-template-part { display: contents; }

.jj-banner .wp-block-image { margin: 0; }
.jj-banner .wp-block-image img { display: block; width: 100%; height: auto; }

.jj-nav {
	position: sticky;
	top: 0;
	z-index: 50;
	background: #fff;
	border-top: 1px solid var(--jj-hair);
	border-bottom: 1px solid var(--jj-ink);
	padding: 0.35rem var(--jj-gutter);
	gap: 0.5rem;
	margin-top: 0 !important;
}
.admin-bar .jj-nav { top: 32px; }
@media (max-width: 782px) { .admin-bar .jj-nav { top: 46px; } }
.jj-nav .wp-block-navigation { gap: 0; }
.jj-nav .wp-block-navigation-item__content { padding: 0.75rem 0.85rem; }
.jj-nav .wp-block-navigation-item__content:hover { color: var(--jj-blue); }
.jj-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--jj-blue); box-shadow: inset 0 -2px 0 var(--jj-blue); }
.jj-nav .wp-block-navigation__submenu-container {
	border: 1px solid var(--jj-hair) !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
	padding: 0.35rem 0;
	min-width: 220px !important;
}
.jj-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.55rem 1rem; letter-spacing: 0.04em; }
.jj-nav__search .wp-block-search__button { background: transparent; color: var(--jj-ink); border: 1px solid transparent; padding: 0.4rem; }
.jj-nav__search .wp-block-search__button:hover { color: var(--jj-blue); border-color: var(--jj-hair); }

/* ── Shared bits ──────────────────────────────────────────── */
.jj-kicker,
.jj-kicker a {
	font-family: var(--jj-sans);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--jj-blue);
	text-decoration: none;
}
.jj-kicker a:hover { color: var(--jj-blue-dark); }
/* One section label per story, like print. */
.jj-kicker a ~ a,
.jj-kicker .wp-block-post-terms__separator { display: none; }

.jj-meta,
.jj-meta a {
	font-family: var(--jj-sans);
	font-size: 0.75rem;
	color: var(--jj-meta);
	text-decoration: none;
}
.jj-meta { gap: 0 !important; }
.jj-meta > * + *::before { content: "\00b7"; margin: 0 0.35rem; }
.jj-meta a:hover { color: var(--jj-blue); }

.jj-card__title {
	font-family: var(--jj-serif);
	font-size: 1.15rem;
	font-weight: 600;
	line-height: 1.25;
	margin: 0.15rem 0 0.35rem;
}
.jj-card__title a { color: inherit; }
.jj-card__title a:hover,
.wp-block-post-title a:hover { text-decoration: underline; color: inherit; }
.jj-card__dek,
.jj-card__dek p { font-size: 0.9rem; line-height: 1.5; color: #444; margin: 0; }

.wp-block-post-featured-image { margin-bottom: 0.65rem; background: #ececec; overflow: hidden; }
.wp-block-post-featured-image img { display: block; transition: transform 0.3s ease; }
.wp-block-post-featured-image:not(.jj-rail-card__media) a { height: auto; }
.jj-hero__grid { align-items: flex-start; }
.wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.03); }

.wp-block-post-excerpt__more-text { display: none; }

/* Section label: rule on top, uppercase sans, like the old homepage columns */
.is-style-section {
	font-family: var(--jj-sans) !important;
	font-size: 0.85rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1.3 !important;
	border-top: 2px solid var(--jj-ink);
	padding-top: 0.6rem;
	margin: 0 0 1rem !important;
}
.is-style-section a { color: inherit; text-decoration: none; }
.is-style-section a:hover { color: var(--jj-blue); }

/* Rail title: italic display face with a rule under it */
.is-style-rail {
	font-family: var(--jj-display) !important;
	font-style: italic;
	font-weight: 400 !important;
	font-size: 1.3rem !important;
	margin: 0 0 1rem !important;
	padding-bottom: 0.6rem;
	border-bottom: 1px solid var(--jj-ink);
}

.jj-more { margin: 0; }
.jj-more a {
	font-family: var(--jj-sans);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--jj-ink);
	text-decoration: none;
	border-bottom: 1px solid var(--jj-ink);
	padding-bottom: 2px;
}
.jj-more a::after { content: " \2192"; }
.jj-more a:hover { color: var(--jj-blue); border-color: var(--jj-blue); }

/* ── Homepage bands ───────────────────────────────────────── */
.jj-home { margin-top: 0 !important; }
.jj-home > * { margin-block-start: 0 !important; }
.jj-band { padding: var(--jj-gutter) var(--jj-gutter) !important; border-bottom: 1px solid var(--jj-ink); }

/* Lead story + latest news rail */
.jj-hero__grid { gap: 2.5rem; margin-top: 0 !important; margin-bottom: 0 !important; }
.jj-hero__title {
	font-family: var(--jj-serif);
	font-size: clamp(1.75rem, 3.2vw, 2.75rem) !important;
	font-weight: 600;
	line-height: 1.1;
	margin: 0.25rem 0 0.6rem;
}
.jj-hero__title a { color: inherit; }
.jj-hero__dek p { font-size: 1.1rem; line-height: 1.55; color: #333; margin: 0 0 0.75rem; }
.jj-hero__rail { border-left: 1px solid var(--jj-hair); padding-left: 2rem; }
@media (max-width: 781px) {
	.jj-hero__rail { border-left: 0; padding-left: 0; border-top: 1px solid var(--jj-hair); padding-top: 1.5rem; }
}
.jj-rail .wp-block-post-template { margin: 0; }
.jj-rail .wp-block-post { padding: 0.9rem 0; border-bottom: 1px solid var(--jj-hair); margin: 0 !important; }
.jj-rail .wp-block-post:first-child { padding-top: 0; }
.jj-rail .wp-block-post:last-child { border-bottom: 0; padding-bottom: 0; }
.jj-rail-card { gap: 0.85rem !important; align-items: flex-start !important; }
.jj-rail-card__media { flex: 0 0 84px; width: 84px !important; margin: 0 !important; }
.jj-rail-card__media img { width: 84px !important; height: 84px !important; object-fit: cover; }
.jj-rail-card__body { gap: 0.15rem !important; min-width: 0; }
.jj-rail-card__body > * { margin: 0 !important; }
.jj-rail-card__title {
	font-family: var(--jj-serif);
	font-size: 0.98rem !important;
	font-weight: 600;
	line-height: 1.3;
}
.jj-rail-card__title a { color: inherit; }

/* Four-up row with column rules */
.jj-cards-row .wp-block-post-template { gap: 0 !important; }
.jj-cards-row .wp-block-post { padding: 0 1.25rem; border-right: 1px solid var(--jj-hair); }
.jj-cards-row .wp-block-post:first-child { padding-left: 0; }
.jj-cards-row .wp-block-post:last-child { padding-right: 0; border-right: 0; }
@media (max-width: 1000px) {
	.jj-cards-row .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; row-gap: 1.5rem !important; }
	.jj-cards-row .wp-block-post { border-right: 0; padding: 0 0.75rem 0 0; }
	.jj-cards-row .wp-block-post:nth-child(even) { padding: 0 0 0 0.75rem; }
}
@media (max-width: 600px) {
	.jj-cards-row .wp-block-post-template { grid-template-columns: 1fr !important; }
	.jj-cards-row .wp-block-post,
	.jj-cards-row .wp-block-post:nth-child(even) { padding: 0 0 1.25rem; border-bottom: 1px solid var(--jj-hair); }
	.jj-cards-row .wp-block-post:last-child { border-bottom: 0; }
}

/* Most Read: dark band */
.jj-mostread { background: var(--jj-ink); padding: 2.5rem var(--jj-gutter); }
.jj-mostread__inner { max-width: 1400px; margin: 0 auto; }
.jj-mostread__title {
	font-family: var(--jj-display);
	font-style: italic;
	font-weight: 400;
	font-size: 1.6rem;
	color: var(--jj-blue);
	margin: 0 0 1.5rem;
}
.jj-mostread__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.jj-mostread__item { padding: 0 1.25rem; border-right: 1px solid rgba(255, 255, 255, 0.15); }
.jj-mostread__item:first-child { padding-left: 0; }
.jj-mostread__item:last-child { padding-right: 0; border-right: 0; }
.jj-mostread__item a { display: flex; flex-direction: column; text-decoration: none; }
.jj-mostread__num { font-family: var(--jj-display); font-style: italic; font-size: 2.2rem; line-height: 1; color: var(--jj-blue); margin-bottom: 0.5rem; }
.jj-mostread__item .jj-kicker { color: #8fa4ee; }
.jj-mostread__headline { font-family: var(--jj-serif); font-size: 1rem; font-weight: 600; line-height: 1.3; color: #fff; margin: 0.3rem 0 0.5rem; }
.jj-mostread__item a:hover .jj-mostread__headline { text-decoration: underline; }
.jj-mostread__meta { font-family: var(--jj-sans); font-size: 0.72rem; color: rgba(255, 255, 255, 0.65); }
@media (max-width: 1000px) {
	.jj-mostread__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.5rem; }
	.jj-mostread__item,
	.jj-mostread__item:first-child { border-right: 0; padding: 0 1.25rem 1.25rem 0; border-bottom: 1px solid rgba(255, 255, 255, 0.15); }
}
@media (max-width: 600px) { .jj-mostread__grid { grid-template-columns: 1fr; } }

/* Newsletter: blue band */
.jj-newsletter-band { background: var(--jj-blue); color: #fff; padding: 2rem var(--jj-gutter) !important; }
.jj-newsletter-band__inner { margin-top: 0 !important; margin-bottom: 0 !important; gap: 2rem; }
.jj-newsletter-band__title { font-family: var(--jj-display); font-style: italic; font-weight: 400; font-size: 1.6rem; color: #fff; margin: 0 0 0.3rem; }
.jj-newsletter-band__pitch { font-size: 1rem; color: rgba(255, 255, 255, 0.9); margin: 0; }
.jj-newsletter-band form,
.jj-rail-box form { display: flex; gap: 0.5rem; flex-wrap: wrap; margin: 0; }
.jj-newsletter-band form p,
.jj-rail-box form p { margin: 0; flex: 1 1 220px; }
.jj-newsletter-band input[type="email"],
.jj-rail-box input[type="email"] {
	width: 100%;
	font-family: var(--jj-sans);
	font-size: 0.9rem;
	padding: 0.75rem 0.9rem !important;
	border: 1px solid var(--jj-hair) !important;
	border-radius: 0 !important;
	background: #fff !important;
	color: var(--jj-ink) !important;
	opacity: 1 !important;
}
.jj-newsletter-band input[type="email"]::placeholder,
.jj-rail-box input[type="email"]::placeholder { color: var(--jj-meta) !important; opacity: 1; }
.jj-newsletter-band button,
.jj-newsletter-band input[type="submit"] {
	background: var(--jj-ink) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	font-family: var(--jj-sans) !important;
	font-size: 0.75rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 0.85rem 1.4rem !important;
	cursor: pointer;
}
.jj-newsletter-band button:hover { background: #000 !important; }

/* Across the sections: five ruled columns */
.jj-sections__grid { gap: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.jj-section-col { padding: 0 1.5rem; border-right: 1px solid var(--jj-hair); }
.jj-section-col:first-child { padding-left: 0; }
.jj-section-col:last-child { padding-right: 0; border-right: 0; }
.jj-section-col > * { margin-block-start: 0 !important; }
.jj-section-col__lead { margin-bottom: 0.5rem !important; }
.jj-section-col__lead .jj-card__title { font-size: 1.05rem; }
.jj-section-col__lead .jj-card__dek p { font-size: 0.85rem; color: #555; }
.jj-section-col__list .wp-block-post-template { margin: 0 0 1rem; }
.jj-section-col__list .wp-block-post { border-top: 1px solid var(--jj-hair); margin: 0 !important; }
.jj-section-col__list .wp-block-post-title { font-family: var(--jj-serif); font-size: 0.92rem !important; font-weight: 600; line-height: 1.3; margin: 0; }
.jj-section-col__list .wp-block-post-title a { display: block; padding: 0.7rem 0; color: var(--jj-ink); }
@media (max-width: 1100px) and (min-width: 782px) {
	.jj-sections__grid { flex-wrap: wrap !important; }
	.jj-section-col { flex: 1 1 30% !important; padding: 0 1.25rem 1.5rem 0; border-right: 0; }
}
@media (max-width: 781px) {
	.jj-section-col,
	.jj-section-col:first-child { padding: 0 0 1.5rem; border-right: 0; border-bottom: 1px solid var(--jj-hair); margin-bottom: 1.5rem; }
	.jj-section-col:last-child { border-bottom: 0; margin-bottom: 0; }
}

/* Print editions */
.jj-print__inner { max-width: 1400px; margin: 0 auto; }
.jj-print--band { background: var(--jj-blue); padding: 2.5rem var(--jj-gutter); }
.jj-print__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.75rem; }
.jj-print__title { font-family: var(--jj-sans); font-size: 1.1rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #fff; margin: 0; }
.jj-print__more { font-family: var(--jj-sans); font-size: 0.8rem; font-weight: 700; color: #fff; }
.jj-print__more:hover { color: #dbe3fb; }
.jj-print__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 220px)); gap: 1.75rem; }
.jj-print-card { position: relative; display: flex; flex-direction: column; text-decoration: none; color: inherit; }
.jj-print-card__badge {
	position: absolute;
	top: -10px;
	left: 12px;
	z-index: 1;
	background: #fff;
	color: var(--jj-blue);
	font-family: var(--jj-sans);
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 3px 10px;
}
.jj-print-card__cover { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: #fff; box-shadow: 0 10px 26px rgba(0, 0, 0, 0.18); margin-bottom: 0.65rem; transition: transform 0.15s ease; }
.jj-print-card:hover .jj-print-card__cover { transform: translateY(-3px); }
.jj-print-card.is-unavailable:hover .jj-print-card__cover { transform: none; }
.jj-print-card__cover img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.jj-print-card__issue { font-family: var(--jj-sans); font-size: 0.9rem; font-weight: 700; }
.jj-print-card__date { font-style: italic; font-size: 0.85rem; }
.jj-print--band .jj-print-card__issue { color: #fff; }
.jj-print--band .jj-print-card__date { color: rgba(255, 255, 255, 0.8); }
.jj-print:not(.jj-print--band) .jj-print-card__cover { box-shadow: 0 0 0 1px var(--jj-hair), 0 8px 20px rgba(0, 0, 0, 0.1); }
.jj-print:not(.jj-print--band) .jj-print-card__badge { background: var(--jj-blue); color: #fff; }
@media (max-width: 900px) { .jj-print__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; } }

/* ── Archive, search, cards ───────────────────────────────── */
.jj-archive { padding: var(--jj-gutter) var(--jj-gutter) 3rem !important; }
.jj-archive__head { border-bottom: 1px solid var(--jj-ink); padding-bottom: 1rem; margin-bottom: 2rem; }
.jj-archive__title { font-family: var(--jj-serif); font-size: var(--wp--preset--font-size--xx-large) !important; font-weight: 600; margin: 0; }
.jj-archive__desc p { font-size: 1rem; color: #444; margin: 0.4rem 0 0; }

.jj-cards .wp-block-post-template { column-gap: 2rem !important; row-gap: 2.25rem !important; }
/* First story leads across the full width, image left and text right. */
.jj-cards:not(.jj-cards--even) .wp-block-post:first-child {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	column-gap: 2rem;
	align-content: start;
	padding-bottom: 2rem;
	border-bottom: 1px solid var(--jj-hair);
}
.jj-cards:not(.jj-cards--even) .wp-block-post:first-child > .wp-block-post-featured-image { grid-column: 1; grid-row: 1 / span 6; margin: 0; }
.jj-cards:not(.jj-cards--even) .wp-block-post:first-child > :not(.wp-block-post-featured-image) { grid-column: 2; margin: 0 0 0.5rem; }
.jj-cards:not(.jj-cards--even) .wp-block-post:first-child .jj-card__title { font-size: clamp(1.5rem, 2.6vw, 2.2rem); line-height: 1.12; }
.jj-cards:not(.jj-cards--even) .wp-block-post:first-child .jj-card__dek p { font-size: 1.05rem; }
@media (max-width: 781px) {
	.jj-cards .wp-block-post-template { grid-template-columns: 1fr !important; }
	.jj-cards:not(.jj-cards--even) .wp-block-post:first-child { display: block; }
	.jj-cards:not(.jj-cards--even) .wp-block-post:first-child > .wp-block-post-featured-image { margin-bottom: 0.75rem; }
}

.jj-result { border-top: 1px solid var(--jj-hair); padding-top: 1.25rem; margin: 0 0 1.25rem !important; gap: 1.5rem; }
.jj-search-box { max-width: 560px; margin-top: 1rem; }
.jj-search-box .wp-block-search__input { border: 1px solid var(--jj-ink); border-radius: 0; padding: 0.7rem 0.9rem; font-family: var(--jj-sans); }
.jj-search-box .wp-block-search__button { margin-left: 0; border-radius: 0; background: var(--jj-ink); color: #fff; }

.jj-pagination { margin-top: 2.5rem !important; padding-top: 1rem; border-top: 1px solid var(--jj-ink); }
.jj-pagination a { text-decoration: none; }
.jj-pagination .current { color: var(--jj-blue); }

/* ── Article ──────────────────────────────────────────────── */
.jj-article { padding: 2.5rem var(--jj-gutter) 3rem !important; }
.jj-article__head > * { margin-block: 0 0.6rem !important; }
.jj-article__title { font-size: clamp(2rem, 4vw, 3rem) !important; line-height: 1.08; letter-spacing: -0.01em; }
.jj-article__dek p { font-size: 1.25rem; line-height: 1.5; color: #333; font-style: italic; margin: 0; }
.jj-article__image { margin: 0 0 1.75rem !important; background: none; }
.jj-article__image figcaption, .jj-article__image + .wp-element-caption { font-family: var(--jj-sans); font-size: 0.78rem; color: var(--jj-meta); }
.jj-article__image img { width: 100%; height: auto; }
.jj-article__image:hover img,
.wp-block-post:hover .jj-article__image img { transform: none; }
.jj-article__cols { margin-top: 2rem !important; gap: 3rem; }
.jj-article__body .wp-block-post-content { font-size: 1.2rem; line-height: 1.65; }
.jj-article__body .wp-block-post-content > * { max-width: 780px; }
.jj-article__body .wp-block-post-content figcaption { font-size: 0.78rem; }
.jj-article__tags { margin-top: 2rem !important; }
.jj-article__corrections { margin-top: 2rem !important; padding-top: 1rem; border-top: 1px solid var(--jj-hair); font-family: var(--jj-sans); font-size: 0.8rem; color: var(--jj-meta); }
.jj-article__rail > * + * { margin-block-start: 0 !important; }
.jj-article__rail .jj-section-col__list { margin-bottom: 2rem !important; }
.jj-rail-box { background: var(--wp--preset--color--cream); padding: 0 1.25rem 1.25rem; }
.jj-rail-box .is-style-section { border-top-width: 3px; border-top-color: var(--jj-blue); }
.jj-rail-box button,
.jj-rail-box input[type="submit"] { width: 100%; background: var(--jj-ink) !important; color: #fff !important; border-radius: 0 !important; border: 0 !important; font-family: var(--jj-sans) !important; font-size: 0.75rem !important; font-weight: 800 !important; letter-spacing: 0.08em; text-transform: uppercase; padding: 0.8rem !important; }
@media (min-width: 782px) {
	.jj-article__rail { position: sticky; top: 4.5rem; align-self: flex-start; }
}

/* ── Pages ────────────────────────────────────────────────── */
.jj-page { padding: 2.5rem var(--jj-gutter) 3.5rem !important; }
.jj-page__title { font-size: clamp(2rem, 4vw, 3rem) !important; border-bottom: 1px solid var(--jj-ink); padding-bottom: 0.75rem; margin-bottom: 1.5rem !important; }
.jj-page .wp-block-post-content h2 { font-size: 1.6rem; margin-top: 2.5rem; padding-top: 0.75rem; border-top: 2px solid var(--jj-ink); }
.jj-page .wp-block-post-content h3 { font-size: 1.2rem; margin-top: 1.75rem; }

/* Team grid on the About page */
.jj-team { gap: 0 !important; }
.jj-team > .wp-block-column { border-top: 1px solid var(--jj-hair); padding: 0.9rem 1rem 0.9rem 0; }
.jj-team h3 { font-size: 1.05rem !important; margin: 0 0 0.15rem !important; }
.jj-team p { font-family: var(--jj-sans); font-size: 0.8rem; color: var(--jj-meta); margin: 0; }

/* ── Satire ───────────────────────────────────────────────── */
.jj-satire {
	display: inline-block;
	font-family: var(--jj-sans);
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	background: var(--wp--preset--color--red);
	color: #fff;
	padding: 0.2em 0.55em;
	margin-right: 0.5em;
	vertical-align: middle;
}
.jj-dunonion-head { border-top: 6px solid var(--wp--preset--color--red); border-bottom: 1px solid var(--jj-ink); padding: 1.5rem 0; margin-bottom: 2rem; }

/* ── Footer ───────────────────────────────────────────────── */
.jj-footer { background: var(--jj-blue); color: #fff; padding: 3rem var(--jj-gutter) 1.25rem !important; margin-top: 0 !important; }
.jj-footer a { color: #fff; text-decoration: none; }
.jj-footer a:hover { text-decoration: underline; color: #fff; }
.jj-footer__cols { gap: 2rem; margin-bottom: 2.5rem !important; }
.jj-footer__brand p { font-size: 0.95rem; color: rgba(255, 255, 255, 0.9); }
/* The logo file is black on white. Invert and screen it so it shows white on blue. */
.jj-footer__logo img { filter: invert(1); mix-blend-mode: screen; }
.jj-footer__heading {
	font-family: var(--jj-sans) !important;
	font-size: 0.72rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #fff;
	padding-bottom: 0.6rem;
	margin: 0 0 0.9rem !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.35);
}
.jj-footer__list { list-style: none; padding: 0; margin: 0; font-family: var(--jj-sans); font-size: 0.88rem; }
.jj-footer__list li { margin: 0 0 0.55rem; }
.jj-footer__affil-logo { margin: 0 0 0.9rem !important; }
.jj-footer__affil-logo img { max-height: 46px; width: auto; background: #fff; padding: 6px 10px; }
.jj-footer__bottom { border-top: 1px solid rgba(255, 255, 255, 0.35); padding-top: 1rem; font-family: var(--jj-sans); font-size: 0.75rem; color: rgba(255, 255, 255, 0.85); }
.jj-footer__bottom p { margin: 0; }
.jj-footer__bottom p:first-child { font-style: italic; text-transform: uppercase; letter-spacing: 0.06em; }

/* Duntea head */
.jj-duntea-head { border-top: 6px solid var(--jj-blue); padding-top: 1.25rem; margin-bottom: 2rem; }

/* About page: team grid, join roles, explore cards */
.jj-page .jj-team-grid { gap: 0 1.5rem !important; margin-top: 0.75rem; }
.jj-team-card { border-top: 1px solid var(--jj-hair); padding: 0.85rem 0 0.95rem; }
.jj-team-card h3,
.jj-page .wp-block-post-content .jj-team-card h3 { font-size: 1.05rem !important; margin: 0 0 0.15rem !important; padding: 0; border: 0; }
.jj-team-card p { font-family: var(--jj-sans); font-size: 0.8rem; color: var(--jj-meta); margin: 0 !important; line-height: 1.4; }
.jj-page .wp-block-post-content h3.jj-team-group { font-family: var(--jj-sans); font-size: 0.8rem !important; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; margin-top: 2rem; }
.jj-role { border-top: 1px solid var(--jj-hair); padding: 1rem 0; }
.jj-role h3,
.jj-page .wp-block-post-content .jj-role h3 { font-size: 1.15rem !important; margin: 0 0 0.3rem !important; }
.jj-role p { margin: 0 0 0.4rem; font-size: 1rem; }
.jj-role a { font-family: var(--jj-sans); font-size: 0.85rem; font-weight: 700; color: var(--jj-blue-dark); }
.jj-explore { gap: 1rem !important; }
.jj-explore > .wp-block-group { border: 1px solid var(--jj-hair); padding: 1rem 1.1rem; background: var(--wp--preset--color--cream); }
.jj-explore h3,
.jj-page .wp-block-post-content .jj-explore h3 { font-size: 1.1rem !important; margin: 0 0 0.3rem !important; }
.jj-explore p { font-size: 0.95rem; margin: 0; }
.jj-anchor { scroll-margin-top: 5rem; }
.jj-page .jj-team-grid--lead { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; margin-top: 1.25rem; }
.jj-team-card--lead { border-top: 2px solid var(--jj-ink); padding: 1rem 0 1.25rem; }
.jj-team-card--lead h3,
.jj-page .wp-block-post-content .jj-team-card--lead h3 { font-family: var(--jj-display); font-weight: 400; font-size: clamp(1.5rem, 3vw, 2rem) !important; line-height: 1.1; }
.jj-team-card--lead p { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 700; color: var(--jj-blue-dark); }
@media (max-width: 600px) { .jj-page .jj-team-grid--lead { grid-template-columns: 1fr !important; } }

/* Jetpack forms (Duntea and any others) */
.jetpack-contact-form__form { margin-top: 1.5rem; }
.jetpack-contact-form__form .grunion-field-wrap { margin-bottom: 1rem; }
.jetpack-contact-form__form .grunion-field-label { font-family: var(--jj-sans); font-size: 0.8rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; display: block; margin-bottom: 0.4rem; }
.jetpack-contact-form__form .grunion-field-label span { font-weight: 500; text-transform: none; letter-spacing: 0; color: var(--jj-meta); }
.jetpack-contact-form__form textarea.grunion-field { width: 100%; min-height: 12rem; padding: 0.9rem 1rem; border: 1px solid var(--jj-ink); border-radius: 0; font: inherit; font-size: 1.05rem; background: #fff; box-sizing: border-box; }
.jetpack-contact-form__form textarea.grunion-field:focus { outline: 2px solid var(--jj-blue); outline-offset: 1px; }
.jetpack-contact-form__form .grunion-field-checkbox-wrap { margin-bottom: 0.5rem; }
.jetpack-contact-form__form .grunion-field-checkbox-wrap label { font-family: var(--jj-sans); font-size: 0.9rem; font-weight: 500; text-transform: none; letter-spacing: 0; display: flex; gap: 0.6rem; align-items: flex-start; }
.jetpack-contact-form__form input[type=checkbox] { width: 1.1rem; height: 1.1rem; margin-top: 0.15rem; accent-color: var(--jj-blue); flex: none; }
.jetpack-contact-form__form button[type=submit],
.jetpack-contact-form__form .pushbutton-wide { width: auto; margin-top: 0.75rem; padding: 0.85rem 2rem; background: var(--jj-ink); color: #fff; border: 0; border-radius: 0; font-family: var(--jj-sans); font-size: 0.85rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; cursor: pointer; }
.jetpack-contact-form__form button[type=submit]:hover { background: var(--jj-blue); }

/* Phones: the WP admin bar scrolls away below 600px, so the nav sticks right at the top. */
@media (max-width: 600px) { .admin-bar .jj-nav { top: 0; } }

/* Phones: compact bar with a labelled menu button */
@media (max-width: 599px) {
	.jj-nav { justify-content: flex-start !important; padding: 0.2rem var(--jj-gutter); }
	.jj-nav .wp-block-navigation__responsive-container-open { display: flex; align-items: center; gap: 0.5rem; padding: 0.6rem 0; }
	.jj-nav .wp-block-navigation__responsive-container-open::after { content: "Menu"; font-family: var(--jj-sans); font-size: 0.8rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
}

/* Open mobile menu: plain left-aligned list, no dropdown boxes */
.jj-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 1rem var(--jj-gutter) 2.5rem; }
.jj-nav .is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch !important; padding-top: 3rem !important; }
.jj-nav .is-menu-open .wp-block-navigation__container { align-items: stretch !important; justify-content: flex-start !important; gap: 0 !important; width: 100%; }
.jj-nav .is-menu-open .wp-block-navigation-item { width: 100%; align-items: stretch !important; border-bottom: 1px solid var(--jj-hair); }
.jj-nav .is-menu-open .wp-block-navigation__container,
.jj-nav .is-menu-open .wp-block-navigation-item,
.jj-nav .is-menu-open .wp-block-navigation-item__content { text-align: left !important; }
.jj-nav .is-menu-open .wp-block-navigation-item__content { padding: 0.95rem 0 !important; font-size: 0.95rem; justify-content: flex-start; }
.jj-nav .is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none !important; padding: 0 0 0.6rem !important; min-width: 0 !important; width: 100%; gap: 0 !important; }
.jj-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border-bottom: 0; }
.jj-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.5rem 0 0.5rem 1rem !important; font-size: 0.85rem; color: var(--jj-meta); }
.jj-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--jj-blue); }
.jj-nav .is-menu-open .wp-block-navigation-submenu__toggle { display: none; }

/* Menu dividers: a thin line before About and before Duntea */
.jj-nav .wp-block-navigation__container > .jj-nav-divide { margin-left: 0.6rem; padding-left: 0.6rem; position: relative; }
.jj-nav .wp-block-navigation__container > .jj-nav-divide::before { content: ""; position: absolute; left: 0; top: 50%; height: 1.1rem; transform: translateY(-50%); border-left: 1px solid var(--jj-ink); }
.jj-nav .is-menu-open .wp-block-navigation__container > .jj-nav-divide { margin: 0.75rem 0 0; padding-left: 0; border-top: 2px solid var(--jj-ink); }
.jj-nav .is-menu-open .wp-block-navigation__container > .jj-nav-divide::before { display: none; }

/* Newsletter forms: let the email box take the spare width */
.jj-newsletter-band .wp-block-jetpack-subscriptions__form-elements,
.jj-rail-box .wp-block-jetpack-subscriptions__form-elements { flex: 1 1 auto; width: 100%; gap: 0.5rem; }
.jj-newsletter-band .wp-block-jetpack-subscriptions__form-elements p,
.jj-rail-box .wp-block-jetpack-subscriptions__form-elements p { flex: 1 1 auto; min-width: 0; }
