/* EpicStar Times — publication-specific identity layer on top of Broadside. */

:root {
	--ets-paper: #f4efe4;
	--ets-paper-deep: #e7dfce;
	--ets-ink: #171512;
	--ets-muted: #5c564d;
	--ets-rule: rgba(23, 21, 18, .34);
	--ets-rule-strong: #171512;
	--ets-accent: #7a1f18;
}

html { scroll-behavior: smooth; }

body {
	background: var(--ets-paper-deep);
	color: var(--ets-ink);
	font-family: "Source Serif 4", "Source Serif Pro", Georgia, serif;
}

body .wp-site-blocks {
	width: min(100%, 1320px);
	min-height: 100vh;
	margin: 0 auto;
	padding: 0 !important;
	overflow-x: clip;
	background: var(--ets-paper);
	box-shadow: 0 0 34px rgba(24, 20, 14, .14);
}

/* Broadside draws an additional paper sheet behind the page and adds outer
 * padding to every top-level region. EpicStar Times supplies its own paper
 * surface, so those theme decorations must not shift or protrude from it. */
body .wp-site-blocks::before {
	content: none !important;
	display: none !important;
}

body .wp-site-blocks > * {
	max-width: none !important;
	margin-inline: 0 !important;
	padding-inline: 0 !important;
}

body a {
	color: inherit;
	text-underline-offset: .14em;
	text-decoration-thickness: 1px;
}

body a:hover,
body a:focus-visible {
	color: var(--ets-accent);
}

.ets-masthead,
.ets-masthead-compact {
	padding: 18px clamp(18px, 4vw, 58px) 0;
	background: var(--ets-paper);
}

.ets-utility {
	display: grid;
	grid-template-columns: 1fr minmax(280px, 1.5fr) 1fr;
	align-items: center;
	gap: 18px;
	padding: 8px 0 10px;
	border-top: 1px solid var(--ets-rule-strong);
	border-bottom: 1px solid var(--ets-rule);
	font-size: 13px;
	letter-spacing: .04em;
}

.ets-utility p { margin: 0; }
.ets-utility__identity { text-align: left; }
.ets-utility__motto {
	text-align: center;
	font-style: italic;
	font-weight: 600;
}

.ets-utility .wp-block-search {
	justify-self: end;
	width: min(100%, 270px);
}

.ets-utility .wp-block-search__inside-wrapper {
	border-bottom: 1px solid var(--ets-rule-strong);
}

.ets-utility .wp-block-search__input,
.ets-utility .wp-block-search__button {
	border: 0;
	background: transparent;
	color: var(--ets-ink);
	font-family: inherit;
}

.ets-utility .wp-block-search__button {
	border-left: 1px solid var(--ets-rule);
	font-size: 13px;
	font-weight: 700;
}

.ets-logo {
	width: min(100%, 680px);
	margin: 20px auto 12px !important;
	text-align: center;
}

.ets-logo img {
	display: block;
	width: 100% !important;
	height: auto !important;
	max-width: 100% !important;
	margin: 0 auto;
	object-fit: contain !important;
	object-position: center;
}

/* Front-page masthead: show the existing artwork as a wide, shallow newspaper
 * nameplate without changing the source image. */
.ets-masthead > .ets-logo {
	width: min(100%, 1120px);
	max-width: 1120px;
	height: clamp(150px, 18vw, 220px);
	margin: 14px auto 10px !important;
	overflow: hidden;
}

.ets-masthead > .ets-logo a {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.ets-masthead > .ets-logo img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center 78% !important;
}

.ets-masthead-rule {
	margin: 0 !important;
	border: 0;
	border-top: 3px double var(--ets-rule-strong) !important;
}

.ets-nav {
	padding: 9px 0 10px;
	border-bottom: 1px solid var(--ets-rule-strong);
	font-family: "Source Serif 4", Georgia, serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .045em;
	text-transform: uppercase;
}

.ets-nav .wp-block-navigation-item__content { padding: 4px 2px; }
.ets-nav .wp-block-navigation__submenu-container {
	min-width: 270px !important;
	max-height: min(70vh, 650px);
	overflow-y: auto !important;
	padding: 8px !important;
	border: 1px solid var(--ets-rule-strong) !important;
	background: var(--ets-paper) !important;
	box-shadow: 0 10px 24px rgba(23, 21, 18, .13);
	font-size: 13px;
	text-transform: none;
	letter-spacing: 0;
}

.ets-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 7px 10px !important;
	border-bottom: 1px solid rgba(23, 21, 18, .11);
}

.ets-masthead-compact {
	padding-bottom: 0;
}

.ets-masthead-compact__row {
	display: grid !important;
	grid-template-columns: minmax(180px, 360px) 1fr;
	align-items: center;
	gap: 28px;
	padding-bottom: 10px;
	border-bottom: 3px double var(--ets-rule-strong);
}

.ets-masthead-compact .ets-logo {
	width: 100%;
	margin: 0 !important;
}

.ets-masthead-compact .ets-nav {
	border: 0;
	padding: 0;
}

.ets-main,
.ets-page,
.ets-archive,
.ets-search,
.ets-single,
.ets-404 {
	padding: clamp(24px, 4vw, 54px) clamp(18px, 4vw, 58px) 60px;
}

.ets-front-intro {
	padding: 0 0 18px;
	border-bottom: 3px double var(--ets-rule-strong);
	text-align: center;
}

.ets-front-intro p {
	margin: 0;
	font-size: clamp(15px, 1.4vw, 18px);
	font-style: italic;
	letter-spacing: .02em;
}

.ets-section {
	margin-top: 38px !important;
	padding-top: 12px;
	border-top: 2px solid var(--ets-rule-strong);
}

.ets-section-title,
.ets-archive .wp-block-query-title,
.ets-search .wp-block-query-title {
	margin: 0 0 18px !important;
	font-family: "Libre Caslon Display", Georgia, serif;
	font-size: clamp(25px, 3vw, 38px);
	font-weight: 400;
	line-height: 1.02;
}

.ets-section-title a { text-decoration: none; }

.ets-kicker,
.ets-card .wp-block-post-terms,
.ets-lead-story .wp-block-post-terms,
.ets-single .wp-block-post-terms {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--ets-accent);
}

.ets-lead-layout {
	display: grid !important;
	grid-template-columns: minmax(0, 2fr) minmax(250px, .9fr);
	gap: 34px;
	align-items: start;
}

.ets-lead-story {
	padding-right: 32px;
	border-right: 1px solid var(--ets-rule);
}

.ets-lead-story .wp-block-post-featured-image {
	margin-bottom: 16px;
}

.ets-lead-story .wp-block-post-featured-image img,
.ets-card .wp-block-post-featured-image img,
.ets-single .wp-block-post-featured-image img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

.ets-lead-story .wp-block-post-title {
	margin: 8px 0 12px;
	font-family: "Libre Caslon Display", Georgia, serif;
	font-size: clamp(38px, 5.8vw, 74px);
	font-weight: 400;
	line-height: .98;
	letter-spacing: -.025em;
}

.ets-lead-story .wp-block-post-title a { text-decoration: none; }

.ets-lead-story .wp-block-post-excerpt {
	font-size: clamp(18px, 2vw, 23px);
	font-style: italic;
	line-height: 1.3;
}

.ets-meta,
.ets-card .wp-block-post-date,
.ets-single .wp-block-post-date,
.ets-single .wp-block-post-author-name {
	font-size: 12px;
	color: var(--ets-muted);
}

.ets-current-list .ets-card {
	padding: 0 0 18px;
	margin: 0 0 18px;
	border-bottom: 1px solid var(--ets-rule);
}

.ets-current-list .wp-block-post-title {
	margin: 5px 0 7px;
	font-family: "Libre Caslon Display", Georgia, serif;
	font-size: 25px;
	font-weight: 400;
	line-height: 1.08;
}

.ets-news-grid > .wp-block-post-template,
.ets-archive .wp-block-post-template,
.ets-search .wp-block-post-template {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 26px;
}

.ets-card {
	min-width: 0;
	padding-top: 10px;
	border-top: 1px solid var(--ets-rule);
}

.ets-card .wp-block-post-title {
	margin: 6px 0 8px;
	font-family: "Libre Caslon Display", Georgia, serif;
	font-size: 24px;
	font-weight: 400;
	line-height: 1.08;
}

.ets-card .wp-block-post-title a { text-decoration: none; }
.ets-card .wp-block-post-excerpt { font-size: 15px; line-height: 1.42; }
.ets-card .wp-block-post-excerpt p { margin-top: 0; }

.ets-regional-grid,
.ets-world-grid,
.ets-department-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	align-items: start;
}

.ets-world-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.ets-department {
	padding-top: 9px;
	border-top: 1px solid var(--ets-rule);
}

.ets-department h3 {
	margin: 0 0 12px;
	font-family: "Libre Caslon Display", Georgia, serif;
	font-size: 25px;
	font-weight: 400;
}

.ets-department h3 a { text-decoration: none; }

.ets-empty,
.wp-block-query-no-results {
	padding: 16px 0;
	font-style: italic;
	color: var(--ets-muted);
}

.ets-page,
.ets-single {
	max-width: 900px;
	margin: 0 auto;
}

.ets-page h1,
.ets-single h1,
.ets-404 h1 {
	font-family: "Libre Caslon Display", Georgia, serif;
	font-size: clamp(40px, 6vw, 68px);
	font-weight: 400;
	line-height: 1;
}

.ets-page .wp-block-post-content,
.ets-single .wp-block-post-content {
	font-size: 18px;
	line-height: 1.65;
}

.ets-page .wp-block-post-content h2,
.ets-single .wp-block-post-content h2 {
	margin-top: 1.6em;
	font-family: "Libre Caslon Display", Georgia, serif;
	font-size: 32px;
	font-weight: 400;
}

.ets-single__header {
	padding-bottom: 20px;
	border-bottom: 1px solid var(--ets-rule);
}

.ets-single__deck {
	font-size: 21px;
	font-style: italic;
	line-height: 1.35;
}

.ets-single__byline {
	display: flex !important;
	gap: 18px;
	flex-wrap: wrap;
	margin-top: 13px;
}

.ets-single__body { margin-top: 28px !important; }
.ets-single__body .ets-news-section,
.ets-single__body .ets-editorial-comment {
	margin-top: 30px;
	padding-top: 18px;
	border-top: 2px solid var(--ets-rule-strong);
}
.ets-single__body .ets-editorial-comment {
	padding: 20px 22px 4px;
	border: 2px solid var(--ets-rule-strong);
	background: rgba(231, 223, 206, .38);
}
.ets-single__body .ets-editorial-label {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ets-accent);
}
.ets-single__body .ets-source-note {
	margin-top: 28px;
	padding-top: 12px;
	border-top: 1px solid var(--ets-rule);
	font-size: 14px;
	color: var(--ets-muted);
}
.ets-single__taxonomy { margin-top: 32px !important; padding-top: 14px; border-top: 1px solid var(--ets-rule); }

.ets-search-form {
	max-width: 700px;
	margin: 20px 0 32px !important;
}

.ets-search-form .wp-block-search__inside-wrapper {
	border: 1px solid var(--ets-rule-strong);
}

.ets-search-form .wp-block-search__input,
.ets-search-form .wp-block-search__button {
	border: 0;
	font-family: inherit;
}

.ets-search-form .wp-block-search__button {
	background: var(--ets-ink);
	color: var(--ets-paper);
}

.ets-404 {
	max-width: 820px;
	margin: 0 auto;
	text-align: center;
}

.ets-404 .wp-block-search { margin: 28px auto !important; }

.ets-footer {
	padding: 28px clamp(18px, 4vw, 58px) 34px;
	border-top: 3px double var(--ets-rule-strong);
	background: var(--ets-paper);
}

.ets-footer__grid {
	display: grid !important;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: 32px;
	align-items: start;
}

.ets-footer h2,
.ets-footer h3 {
	margin: 0 0 8px;
	font-family: "Libre Caslon Display", Georgia, serif;
	font-weight: 400;
}

.ets-footer h2 { font-size: 28px; }
.ets-footer h3 { font-size: 18px; }
.ets-footer p { margin: 4px 0; font-size: 14px; }
.ets-footer ul { margin: 0; padding: 0; list-style: none; }
.ets-footer li { margin: 5px 0; }
.ets-footer a { font-size: 14px; }

.ets-footer__copyright {
	margin-top: 20px !important;
	padding-top: 12px;
	border-top: 1px solid var(--ets-rule);
	font-size: 12px !important;
	text-align: center;
	letter-spacing: .04em;
}

.wp-block-query-pagination {
	margin-top: 30px !important;
	padding-top: 12px;
	border-top: 1px solid var(--ets-rule);
}

@media (max-width: 980px) {
	.ets-utility {
		grid-template-columns: 1fr 1fr;
	}
	.ets-utility__motto {
		grid-column: 1 / -1;
		grid-row: 2;
	}
	.ets-utility .wp-block-search { width: 100%; }
	.ets-lead-layout { grid-template-columns: 1fr; }
	.ets-lead-story { padding-right: 0; border-right: 0; }
	.ets-current-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
	.ets-news-grid > .wp-block-post-template,
	.ets-archive .wp-block-post-template,
	.ets-search .wp-block-post-template,
	.ets-regional-grid,
	.ets-department-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ets-footer__grid { grid-template-columns: 1fr 1fr; }
	.ets-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
	body .wp-site-blocks { width: 100%; box-shadow: none; }
	.ets-masthead,
	.ets-masthead-compact { padding-left: 14px; padding-right: 14px; }
	.ets-utility { grid-template-columns: 1fr; text-align: center; gap: 8px; }
	.ets-utility__identity,
	.ets-utility__motto { text-align: center; grid-column: auto; grid-row: auto; }
	.ets-utility .wp-block-search { justify-self: stretch; width: 100%; }
	.ets-logo { margin-top: 14px !important; }
	.ets-masthead > .ets-logo {
		height: 112px;
		margin-bottom: 8px !important;
	}
	.ets-masthead > .ets-logo a { width: 100%; height: 100%; }
	.ets-masthead > .ets-logo img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center 78% !important;
	}
	.ets-nav { padding: 8px 0; }
	.ets-nav .wp-block-navigation__responsive-container.is-menu-open {
		background: var(--ets-paper) !important;
		color: var(--ets-ink) !important;
		padding: 28px 20px !important;
	}
	.ets-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
		max-height: none;
		box-shadow: none;
		border: 0 !important;
		padding-left: 12px !important;
	}
	.ets-masthead-compact__row { grid-template-columns: 1fr; gap: 10px; }
	.ets-masthead-compact .ets-logo { max-width: 360px; }
	.ets-main,
	.ets-page,
	.ets-archive,
	.ets-search,
	.ets-single,
	.ets-404 { padding-left: 16px; padding-right: 16px; padding-bottom: 42px; }
	.ets-current-list,
	.ets-news-grid > .wp-block-post-template,
	.ets-archive .wp-block-post-template,
	.ets-search .wp-block-post-template,
	.ets-regional-grid,
	.ets-world-grid,
	.ets-department-grid,
	.ets-footer__grid { grid-template-columns: 1fr; }
	.ets-lead-story .wp-block-post-title { font-size: clamp(38px, 13vw, 58px); }
	.ets-section { margin-top: 30px !important; }
	.ets-footer { padding-left: 16px; padding-right: 16px; }
}
