/**
 * Addison Independent 2026 — layout primitives.
 *
 * theme.json owns colour, type scale and block defaults. This file only holds
 * what presets can't express: the news grid, the sidebar rail, the section
 * rules, and the card treatments from the Figma homepage.
 *
 * Everything is scoped to an `addison-` class or a block class so it can't
 * leak into WooCommerce or Gravity Forms markup.
 */

/* ---------------------------------------------------------------------------
 * 1. Shell
 * ------------------------------------------------------------------------ */

:root {
	--addison-rail: 300px;
	--addison-gutter: 44px;
	--addison-rule: 1px solid #e2e7ee;
	--addison-shell: 1300px;
	/* Vertical rhythm. The first pass used a uniform 64px everywhere, which
	   made the page much longer than its content warranted. */
	--addison-block-gap: 44px;
	--addison-band-pad: 40px;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* The two-column shell: story well + advertising rail.
   Only the top of the homepage uses it; everything below runs full width so
   the rail can never leave a dead column behind it. */
.addison-shell {
	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--addison-rail);
	gap: var(--addison-gutter);
	max-width: var(--addison-shell);
	margin-inline: auto;
	width: 100%;
	align-items: start;
}

.addison-shell > .addison-rail {
	min-width: 0;
}

/* Sticky so the rail keeps pace with a long news river. */
.addison-rail__inner {
	position: sticky;
	top: 20px;
}

.addison-rail__inner > * + * {
	margin-top: 28px;
}

@media (max-width: 1023px) {
	.addison-shell {
		grid-template-columns: minmax(0, 1fr);
	}

	.addison-shell > .addison-rail {
		max-width: 336px;
		margin-inline: auto;
	}

	.addison-rail__inner {
		position: static;
	}
}

/* Full-width bands below the shell. */
.addison-band {
	max-width: var(--addison-shell);
	margin-inline: auto;
	padding-block: var(--addison-band-pad);
}

.addison-band--rule {
	border-top: var(--addison-rule);
}

.addison-band--cream,
.addison-band--tint,
.addison-band-dark {
	max-width: none;
	margin-inline: calc(50% - 50vw);
	padding-inline: max(var(--addison-gutter), calc(50vw - var(--addison-shell) / 2));
}

.addison-band--cream { background: #ffffff; }
.addison-band--tint  { background: var(--wp--preset--color--mist); }

/* Section blocks inside the shell. */
.addison-block + .addison-block,
.addison-hero + .addison-block {
	margin-top: var(--addison-block-gap);
}

.addison-more {
	margin-top: 18px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.addison-more a { text-decoration: none; }
.addison-more a:hover { text-decoration: underline; }

/* ---------------------------------------------------------------------------
 * 2. Header
 * ------------------------------------------------------------------------ */

.addison-utility {
	background: var(--wp--preset--color--navy);
	color: #fff;
	font-size: 0.8125rem;
}

.addison-utility a,
.addison-utility .wp-block-navigation a {
	color: #fff;
	text-decoration: none;
}

.addison-utility a:hover {
	color: var(--wp--preset--color--gold);
	text-decoration: none;
}

.addison-utility .wp-block-search__input {
	background: transparent;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.55);
	color: #fff;
	border-radius: 0;
	padding: 2px 4px;
	font-size: 0.8125rem;
}

.addison-utility .wp-block-search__input::placeholder {
	color: rgba(255, 255, 255, 0.6);
}

.addison-utility .wp-block-search__button {
	background: transparent;
	border: 0;
	color: #fff;
	text-transform: uppercase;
	font-size: 0.6875rem;
	letter-spacing: 0.1em;
	padding-inline: 10px;
	cursor: pointer;
}

/* Masthead. The logo artwork is white on transparency, so it has to sit on
   the brand navy — on the cream ground it renders invisible. */
.addison-masthead {
	background: var(--wp--preset--color--navy);
	border-bottom: 3px solid var(--wp--preset--color--gold);
}

.addison-masthead__inner {
	text-align: center;
}

.addison-masthead .wp-block-site-logo {
	margin-inline: auto;
}

/* The nameplate should own the band, not sit in it. */
.addison-masthead .wp-block-site-logo img {
	max-width: min(560px, 82vw);
	width: 100%;
	height: auto;
	margin-inline: auto;
}

.addison-masthead .addison-masthead__tagline {
	color: rgba(255, 255, 255, 0.62);
}

/* The thin utility strip sits above the masthead, so darken it slightly to
   keep the two navy bands legible as separate elements. */
.addison-utility {
	background: var(--wp--preset--color--navy-deep);
}

/* Primary navigation */
.addison-nav {
	background: #fff;
	border-bottom: 3px solid var(--wp--preset--color--navy);
}

.addison-nav .wp-block-navigation {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.addison-nav .wp-block-navigation-item__content {
	padding-block: 14px;
	color: var(--wp--preset--color--navy);
}

.addison-nav .wp-block-navigation-item:hover > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--gold);
}

.addison-nav .wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--preset--color--rule);
	box-shadow: 0 6px 18px rgba(25, 46, 91, 0.12);
	font-size: 0.75rem;
	letter-spacing: 0.04em;
}

/* Subscribe call-to-action in the nav bar */
.addison-subscribe-cta a {
	display: inline-block;
	border: 2px solid var(--wp--preset--color--gold);
	color: var(--wp--preset--color--navy);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 8px 18px;
	text-decoration: none;
}

.addison-subscribe-cta a:hover {
	background: var(--wp--preset--color--gold);
	text-decoration: none;
}

/* ---------------------------------------------------------------------------
 * 3. Section headings — the small caps label over a rule
 * ------------------------------------------------------------------------ */

.addison-section-head {
	margin-bottom: 20px;
}

.addison-section-head__label,
.is-style-section-rule > :first-child {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--navy);
	margin: 0 0 6px;
}

.addison-section-head__rule {
	height: 3px;
	background: var(--wp--preset--color--navy);
	border: 0;
	margin: 0;
}

.addison-section-head--gold .addison-section-head__rule {
	background: var(--wp--preset--color--gold);
}

.addison-section-head--light .addison-section-head__label {
	color: rgba(255, 255, 255, 0.55);
}

.addison-section-head--light .addison-section-head__rule {
	background: rgba(255, 255, 255, 0.2);
}

/* ---------------------------------------------------------------------------
 * 4. Kickers
 * ------------------------------------------------------------------------ */

.wp-block-post-terms.is-style-kicker,
.addison-kicker {
	display: block;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gold);
	line-height: 1.4;
}

.wp-block-post-terms.is-style-kicker a {
	color: inherit;
	text-decoration: none;
}

.wp-block-post-terms.is-style-kicker a:hover {
	text-decoration: underline;
}

/* ---------------------------------------------------------------------------
 * 5. Cards
 * ------------------------------------------------------------------------ */

/* Featured image crops. Fixed aspect ratios keep CLS at zero — the old Divi
   views used padding-bottom hacks with no intrinsic size. */
.addison-card .wp-block-post-featured-image,
.addison-hero .wp-block-post-featured-image {
	margin-bottom: 10px;
	overflow: hidden;
	background: #b5c2d4;
}

.addison-card .wp-block-post-featured-image img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.addison-card:hover .wp-block-post-featured-image img {
	transform: scale(1.04);
}

.addison-hero .wp-block-post-featured-image img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	display: block;
}

.addison-card .wp-block-post-title {
	font-size: var(--wp--preset--font-size--card);
	line-height: 1.22;
	margin: 5px 0;
}

.addison-card .wp-block-post-title a:hover {
	opacity: 0.55;
	text-decoration: none;
}

/* Three-across section grids (Sports, Arts, Op/Ed) */
.addison-grid-3 .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

@media (max-width: 781px) {
	.addison-grid-3 .wp-block-post-template {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}
}

/* Latest-news list: small thumbnail beside a headline, divided rows */
/* Flex, not grid: roughly a third of stories carry no featured image, and a
   fixed 128px first column left those headlines wrapping in a narrow gutter.
   With flex the text simply takes the full row when there is no thumbnail. */
.addison-list .wp-block-post-template > li {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	padding-block: 14px;
	border-bottom: var(--addison-rule);
}

.addison-list .wp-block-post-featured-image {
	flex: 0 0 128px;
}

.addison-list .wp-block-post-template > li > .wp-block-group {
	flex: 1 1 auto;
	min-width: 0;
}

.addison-list .wp-block-post-template > li:first-child {
	padding-top: 0;
}

.addison-list .wp-block-post-template > li:last-child {
	border-bottom: 0;
}

.addison-list .wp-block-post-featured-image {
	margin: 0;
}

.addison-list .wp-block-post-featured-image img {
	width: 128px;
	height: 88px;
	object-fit: cover;
	display: block;
}

.addison-list .wp-block-post-title {
	font-size: 1.1875rem;
	line-height: 1.24;
	margin: 3px 0 4px;
}

/* Text-only lists (Op/Ed, Obituaries) */
.addison-textlist .wp-block-post-template > li {
	padding-block: 14px;
	border-bottom: var(--addison-rule);
}

.addison-textlist .wp-block-post-template > li:last-child {
	border-bottom: 0;
}

.addison-textlist .wp-block-post-title {
	font-size: 1.0625rem;
	line-height: 1.28;
	margin: 4px 0;
}

/* Obituaries run two-up on desktop */
.addison-obits .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 32px;
}

.addison-obits .wp-block-post-template > li:nth-child(odd) {
	padding-right: 32px;
	border-right: var(--addison-rule);
}

.addison-obits .wp-block-post-title {
	font-size: 1.0625rem;
	line-height: 1.26;
}

@media (max-width: 781px) {
	.addison-obits .wp-block-post-template {
		grid-template-columns: minmax(0, 1fr);
	}

	.addison-obits .wp-block-post-template > li:nth-child(odd) {
		padding-right: 0;
		border-right: 0;
	}
}

/* ---------------------------------------------------------------------------
 * 6. Hero
 * ------------------------------------------------------------------------ */

/* Sidesaddle lead: photograph left, headline and deck alongside it.
   The post-template li is the grid — core renders one <li> per post, so the
   image and the text group are its two children. */
.addison-hero__saddle > li {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	gap: 36px;
	align-items: center;
}

.addison-hero__saddle .wp-block-post-featured-image {
	margin: 0;
	align-self: start;
}

.addison-hero__saddle .wp-block-post-featured-image img {
	width: 100%;
	display: block;
}

.addison-hero__text .wp-block-post-title {
	/* Smaller than the full-width lead was: the headline now lives in a ~410px
	   column, so 3.75rem would wrap to five or six lines. */
	font-size: clamp(1.875rem, 1.1rem + 1.9vw, 2.75rem);
	line-height: 1.08;
	letter-spacing: -0.012em;
	margin: 8px 0 0;
}

.addison-hero__text .wp-block-post-excerpt {
	margin-top: 14px;
}

.addison-hero__text .wp-block-post-excerpt__excerpt {
	-webkit-line-clamp: 4;
	line-clamp: 4;
}

.addison-hero__text .addison-article__meta {
	border-top: 0;
	border-bottom: 0;
	padding-block: 0;
	margin: 16px 0 0;
}

@media (max-width: 781px) {
	/* Stack: photograph, then headline. */
	.addison-hero__saddle > li {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.addison-hero__text .wp-block-post-title {
		font-size: clamp(1.75rem, 1.2rem + 3.4vw, 2.25rem);
	}
}

/* Secondaries: a three-across row beneath the lead, separated by a rule so the
   lead reads as its own unit. */
.addison-hero__secondary {
	margin-top: 32px;
	padding-top: 28px;
	border-top: var(--addison-rule);
}

.addison-hero__secondary .wp-block-post-title {
	font-size: 1.125rem;
	line-height: 1.24;
}

.addison-hero__secondary .wp-block-post-featured-image {
	margin-bottom: 10px;
}

@media (max-width: 781px) {
	.addison-hero__lead .wp-block-post-title {
		max-width: none;
	}

	.addison-hero__secondary {
		margin-top: 24px;
		padding-top: 20px;
	}
}

/* ---------------------------------------------------------------------------
 * 7. Sections on dark ground (Sports band in the design)
 * ------------------------------------------------------------------------ */

.addison-band-dark {
	background: var(--wp--preset--color--navy);
	color: #fff;
}

.addison-band-dark .wp-block-post-title,
.addison-band-dark .wp-block-post-title a,
.addison-band-dark h2,
.addison-band-dark h3 {
	color: #fff;
}

.addison-band-dark .wp-block-post-date,
.addison-band-dark .wp-block-post-excerpt__excerpt {
	color: rgba(255, 255, 255, 0.68);
}

/* ---------------------------------------------------------------------------
 * 8. Advertising rail and promos
 * ------------------------------------------------------------------------ */

.addison-rail > * + * {
	margin-top: 28px;
}

/* Ad slots. Every unit is a Google Ad Manager tag that fills asynchronously,
   so each slot reserves its minimum height at the breakpoints the ad is
   actually booked at. Sizes mirror the GAM size sets on the live ads. */
.addison-ad {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-inline: auto;
	max-width: 100%;
}

.addison-ad__label {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.5625rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #9aa4b4;
	margin-bottom: 4px;
}

.addison-ad__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}

/* Site Topper — ad 85825: 300x250 / 300x90 mobile, 970x90 from 1000px.
   Reserve the mobile size on small screens only; on desktop the unit is a
   90px leaderboard, and reserving 250px there left a visible hole whenever
   GAM chose not to fill. */
.addison-ad--topper .addison-ad__inner { min-height: 100px; }

/* Bottom Leaderboard — ad 89807: 300x250 mobile, 728x90 from 1000px */
.addison-ad--leaderboard .addison-ad__inner { min-height: 100px; }

/* In-Story Wide — ad 85827: 300x250 mobile, 728x90 from 900px */
.addison-ad--instory .addison-ad__inner { min-height: 250px; }

/* Header ears — group 8445: 300x90 mobile, 970x90 from 980px */
.addison-ad--ear .addison-ad__inner { min-height: 90px; }

/* Right rail — ads 85823 / 85824: 300 wide, 250 to 600 tall */
.addison-ad--rail .addison-ad__inner { width: 300px; min-height: 250px; }

@media (min-width: 900px) {
	.addison-ad--instory .addison-ad__inner { min-height: 90px; }
}

@media (min-width: 980px) {
	.addison-ad--ear .addison-ad__inner { min-height: 90px; }
}

@media (max-width: 999px) {
	.addison-ad--topper .addison-ad__inner,
	.addison-ad--leaderboard .addison-ad__inner { min-height: 250px; }
}

/* GAM injects its own sized iframe; never let it overflow the column. */
.addison-ad iframe,
.addison-ad ins,
.addison-ad img { max-width: 100%; }
.addison-promo {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	height: 90px;
	background: var(--wp--preset--color--mist);
	border: 1px solid rgba(25, 46, 91, 0.15);
	text-decoration: none;
	transition: background 0.15s ease;
}

.addison-promo:hover {
	background: #dce2ec;
	text-decoration: none;
}

.addison-promo__label {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--wp--preset--color--navy);
	letter-spacing: 0.02em;
}

.addison-promo__sub {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.5625rem;
	color: #7080a0;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* ---------------------------------------------------------------------------
 * 9. Article page
 * ------------------------------------------------------------------------ */

.addison-article .wp-block-post-title {
	font-size: clamp(2rem, 1.4rem + 2.4vw, 3rem);
	line-height: 1.12;
	margin: 10px 0 18px;
}

.addison-article__figure img {
	width: 100%;
	height: auto;
	display: block;
}

.addison-article__caption {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.75rem;
	color: var(--wp--preset--color--ink-muted);
	padding-top: 8px;
}

.addison-article__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: baseline;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.8125rem;
	color: var(--wp--preset--color--ink-muted);
	padding-block: 14px;
	border-top: var(--addison-rule);
	border-bottom: var(--addison-rule);
	margin-bottom: 28px;
}

.addison-article__byline {
	font-weight: 700;
	color: var(--wp--preset--color--ink);
}

.addison-article__body {
	font-size: 1.0625rem;
	line-height: 1.75;
}

.addison-article__body p {
	margin-block: 0 1.35em;
}

.addison-article__body a {
	font-weight: 700;
	text-decoration: underline;
}

.addison-pullquote {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: 1.5rem;
	line-height: 1.32;
	color: var(--wp--preset--color--navy);
	border-left: 3px solid var(--wp--preset--color--gold);
	padding: 4px 0 4px 22px;
	margin: 32px 0;
}

.addison-article__tags {
	margin-block: 32px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.8125rem;
}

/* Paywall tease */
.addison-paywall {
	background: var(--wp--preset--color--mist);
	border-top: 3px solid var(--wp--preset--color--gold);
	padding: 28px;
	margin-top: 28px;
}

.addison-paywall p {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.9375rem;
	line-height: 1.65;
	margin-block: 0 1em;
}

.addison-paywall p:last-child {
	margin-bottom: 0;
}

.addison-paywall__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 18px;
}

.addison-paywall__btn {
	display: inline-block;
	padding: 11px 22px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	border: 2px solid var(--wp--preset--color--navy);
	color: var(--wp--preset--color--navy);
}

.addison-paywall__btn--primary {
	background: var(--wp--preset--color--navy);
	color: #fff;
}

.addison-paywall__btn:hover {
	text-decoration: none;
	background: var(--wp--preset--color--gold);
	border-color: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--navy);
}

/* ---------------------------------------------------------------------------
 * 10. Footer
 * ------------------------------------------------------------------------ */

.addison-footer {
	background: var(--wp--preset--color--navy);
	color: rgba(255, 255, 255, 0.82);
}

.addison-footer a {
	color: rgba(255, 255, 255, 0.82);
	text-decoration: none;
}

.addison-footer a:hover {
	color: var(--wp--preset--color--gold);
	text-decoration: none;
}

.addison-footer .wp-block-navigation {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.addison-footer__legal {
	font-size: 0.75rem;
	color: rgba(255, 255, 255, 0.5);
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	padding-top: 20px;
}

/* ---------------------------------------------------------------------------
 * 11. Archive pagination
 * ------------------------------------------------------------------------ */

.wp-block-query-pagination {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin-top: 40px;
	padding-top: 24px;
	border-top: var(--addison-rule);
}

/* ---------------------------------------------------------------------------
 * 12. Accessibility
 * ------------------------------------------------------------------------ */

.addison-skip-link:focus {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 100000;
	background: #fff;
	color: var(--wp--preset--color--navy);
	padding: 12px 20px;
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 700;
	outline: 3px solid var(--wp--preset--color--gold);
}

:where(a, button, input, select, textarea):focus-visible {
	outline: 3px solid var(--wp--preset--color--gold);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.addison-card .wp-block-post-featured-image img,
	.addison-promo {
		transition: none;
	}

	.addison-card:hover .wp-block-post-featured-image img {
		transform: none;
	}
}

/* ---------------------------------------------------------------------------
 * 13. Archive date-range filters (PDF Editions, Calendar)
 * ------------------------------------------------------------------------ */

.addison-daterange {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	gap: 12px;
	background: var(--wp--preset--color--navy);
	padding: 20px 24px;
	margin-block: 24px 32px;
}

.addison-daterange label {
	display: block;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.7);
	margin-bottom: 4px;
}

.addison-daterange input[type="date"] {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.875rem;
	padding: 8px 10px;
	border: 1px solid rgba(255, 255, 255, 0.3);
	background: #fff;
	color: var(--wp--preset--color--ink);
	border-radius: 0;
}

.addison-daterange button {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 10px 22px;
	background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--navy);
	border: 0;
	cursor: pointer;
}

.addison-daterange button:hover {
	background: #fff;
}

/* ---------------------------------------------------------------------------
 * 14. Legacy Divi pages awaiting a block rebuild
 *
 * Content unwrapped by Addison\Legacy_Divi keeps its prose but loses Divi's
 * column structure. Give it comfortable article measure so it still reads.
 * ------------------------------------------------------------------------ */

.page .wp-block-post-content > p,
.page .wp-block-post-content > ul,
.page .wp-block-post-content > ol {
	max-width: 68ch;
}

.page .wp-block-post-content img {
	max-width: 100%;
	height: auto;
}

/* ---------------------------------------------------------------------------
 * 15. Excerpts
 *
 * Every card and list row now carries a deck. Clamp them so a long
 * auto-generated excerpt can't break the grid rhythm — 50,883 of the 65,156
 * published stories have no hand-written excerpt, so most of these are
 * generated from the body and vary wildly in length.
 * ------------------------------------------------------------------------ */

.wp-block-post-excerpt {
	margin-block: 6px 0;
}

.wp-block-post-excerpt__excerpt {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0;
}

.addison-card .wp-block-post-excerpt__excerpt {
	-webkit-line-clamp: 3;
	line-clamp: 3;
}

.addison-list .wp-block-post-excerpt__excerpt {
	-webkit-line-clamp: 2;
	line-clamp: 2;
}

.addison-textlist .wp-block-post-excerpt__excerpt {
	-webkit-line-clamp: 2;
	line-clamp: 2;
}

.addison-obits .wp-block-post-excerpt__excerpt {
	-webkit-line-clamp: 2;
	line-clamp: 2;
}

.addison-hero > .wp-block-query .wp-block-post-excerpt__excerpt {
	-webkit-line-clamp: 4;
	line-clamp: 4;
}

/* The hero deck is the one excerpt that should breathe. */
.addison-hero .wp-block-post-excerpt {
	margin-block: 10px 0;
}

/* Excerpt sits between headline and date, so the date needs its own space. */
.wp-block-post-excerpt + .wp-block-post-date {
	margin-top: 8px;
}

/* On the navy Sports band, keep the deck legible. */
.addison-band-dark .wp-block-post-excerpt__excerpt {
	color: rgba(255, 255, 255, 0.7);
}

/* ---------------------------------------------------------------------------
 * 16. Opinion panel
 *
 * Previously three text lines adrift in white space, reading as leftover.
 * Given a tinted ground, a gold rule per column and the byline promoted, so
 * it presents as commentary rather than as unstyled headlines.
 * ------------------------------------------------------------------------ */

.addison-opinion .addison-opinion__card {
	border-top: 3px solid var(--wp--preset--color--gold);
	padding-top: 16px;
}

.addison-opinion .wp-block-post-title {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.375rem;
	line-height: 1.22;
	margin: 6px 0 8px;
}

.addison-opinion .wp-block-post-excerpt__excerpt {
	font-style: italic;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.0625rem;
	line-height: 1.45;
	color: var(--wp--preset--color--navy);
	-webkit-line-clamp: 3;
	line-clamp: 3;
}

.addison-opinion .addison-article__byline {
	display: block;
	margin-top: 12px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-muted);
}

/* ---------------------------------------------------------------------------
 * 17. Photos of the Week
 *
 * Galleries now resolve a featured image, so this reads as pictures rather
 * than three lines of text. Taller crop than the news cards.
 * ------------------------------------------------------------------------ */

.addison-grid-3--photo .wp-block-post-featured-image img {
	aspect-ratio: 4 / 3;
}

.addison-grid-3--photo .wp-block-post-title {
	font-size: 1.0625rem;
	line-height: 1.26;
}

/* ---------------------------------------------------------------------------
 * 18. Section heads — legible at page length
 * ------------------------------------------------------------------------ */

.addison-section-head__label {
	font-size: 0.75rem;
	letter-spacing: 0.18em;
}

.addison-section-head__label a {
	text-decoration: none;
	color: inherit;
}

.addison-section-head__label a:hover {
	color: var(--wp--preset--color--gold);
}

/* ---------------------------------------------------------------------------
 * 19. Rail list
 * ------------------------------------------------------------------------ */

.addison-rail__list .wp-block-post-template > li {
	padding-block: 12px;
}

.addison-rail__list .wp-block-post-title {
	font-size: 0.9375rem;
	line-height: 1.28;
	margin: 3px 0;
}

/* ---------------------------------------------------------------------------
 * 20. Topper — the single above-the-fold ad
 * ------------------------------------------------------------------------ */

.addison-topper {
	border-bottom: var(--addison-rule);
}

/* ---------------------------------------------------------------------------
 * 21. Neutralise core's flow-layout gap on re-laid-out post templates
 *
 * core/post-template ships as `is-layout-flow`, so WordPress emits
 * `> * + * { margin-block-start: var(--wp--style--block-gap) }`. Once these
 * lists are re-declared as grid or flex those margins survive and push every
 * item except the first down by 24px — which is why the second and third
 * cards in each three-across row sat lower than the first.
 * ------------------------------------------------------------------------ */

.addison-grid-3 .wp-block-post-template > li,
.addison-list .wp-block-post-template > li,
.addison-textlist .wp-block-post-template > li,
.addison-hero__secondary .wp-block-post-template > li {
	margin-block-start: 0;
	margin-block-end: 0;
}

/* The hero secondaries used to stack, and needed 20px between them. They now
   run as a three-across row, where that margin only pushed cards 2 and 3 down
   out of alignment with card 1. No override needed — the grid gap handles it. */

/* Cards align on their top edge, and their text blocks start at a common
   baseline even when headlines wrap to different depths. */
.addison-grid-3 .wp-block-post-template > li {
	display: flex;
	flex-direction: column;
}

.addison-grid-3 .wp-block-post-featured-image {
	margin-top: 0;
}

/* ---------------------------------------------------------------------------
 * 22. Small screens
 *
 * The first pass overflowed horizontally below ~500px: the nameplate carried a
 * 560px width attribute, the utility strip's two long menu labels refused to
 * wrap, and the nav row was set to nowrap so the Subscribe button pushed past
 * the viewport.
 * ------------------------------------------------------------------------ */

/* Constrain the logo wrapper, not just the image — core sizes the anchor to
   the img's width attribute. */
.addison-masthead .wp-block-site-logo,
.addison-masthead .wp-block-site-logo a {
	display: block;
	max-width: min(560px, 84vw);
	margin-inline: auto;
}

@media (max-width: 781px) {
	:root {
		--addison-gutter: 20px;
		--addison-block-gap: 32px;
		--addison-band-pad: 28px;
	}

	/* Utility strip: let it stack rather than run off the edge. */
	.addison-utility .wp-block-group {
		row-gap: 6px;
	}

	.addison-utility .wp-block-navigation {
		font-size: 0.6875rem;
	}

	.addison-utility .wp-block-navigation ul {
		flex-wrap: wrap;
		row-gap: 2px;
	}

	.addison-utility .wp-block-search__input {
		max-width: 42vw;
	}

	/* Nav row must wrap; the Subscribe button was forcing overflow. */
	.addison-nav .wp-block-group {
		flex-wrap: wrap !important;
		row-gap: 8px;
	}

	.addison-masthead__tagline {
		letter-spacing: 0.12em !important;
		font-size: 0.625rem !important;
	}

	/* Hero: headline steps down but stays dominant. */
	.addison-hero__lead .wp-block-post-title {
		font-size: clamp(1.75rem, 1.2rem + 3.4vw, 2.25rem);
	}

	/* News rows keep the thumbnail but at a size that leaves room to read. */
	.addison-list .wp-block-post-featured-image {
		flex-basis: 96px;
	}

	.addison-list .wp-block-post-featured-image img {
		width: 96px;
		height: 66px;
	}

	.addison-list .wp-block-post-title {
		font-size: 1.0625rem;
	}
}

/* No overflow-x backstop on html/body on purpose: it would make body a scroll
   container and silently break `position: sticky` on the advertising rail.
   Measured scrollWidth matches clientWidth at every breakpoint, so the
   individual fixes above are sufficient. `clip` on the breakout bands is safe
   — it does not affect sticky descendants outside them. */
.addison-band-dark,
.addison-band--cream,
.addison-band--tint {
	overflow-x: clip;
}

/* ---------------------------------------------------------------------------
 * 23. Header bands must butt together
 *
 * `.addison-header` is a flow-layout group, so core emits
 * `:where(.is-layout-flow) > * { margin-block-start: var(--wp--style--block-gap) }`
 * — 24px in this theme. That inserted a cream stripe between the navy utility
 * strip and the navy nameplate, and another between the gold rule and the nav
 * bar. The header is a stack of full-bleed bands; it wants no gaps at all.
 *
 * Same root cause as the 24px card misalignment in section 21.
 * ------------------------------------------------------------------------ */

.addison-header > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

/* ---------------------------------------------------------------------------
 * 24. Newsroom feedback, 14 Aug 2026
 *
 * Kelsey: bigger thumbnails beside news stories, and no category label above
 * every headline. Jenna: preview text and sidebar story titles read too small.
 * ------------------------------------------------------------------------ */

.addison-list .wp-block-post-featured-image {
	flex-basis: 180px;
}

.addison-list .wp-block-post-featured-image img {
	width: 180px;
	height: 124px;
}

.addison-list .wp-block-post-template > li {
	padding-block: 18px;
}

/* Excerpts were 0.875rem everywhere; at list and card size that reads as fine
   print rather than as a deck. */
.addison-list .wp-block-post-excerpt__excerpt,
.addison-card .wp-block-post-excerpt__excerpt,
.addison-textlist .wp-block-post-excerpt__excerpt {
	font-size: 0.9375rem;
	line-height: 1.55;
}

.addison-list .wp-block-post-title {
	font-size: 1.25rem;
}

/* Sidebar rail headlines. */
.addison-rail__list .wp-block-post-title {
	font-size: 1.0625rem;
	line-height: 1.3;
}

.addison-rail__list .wp-block-post-template > li {
	padding-block: 14px;
}

/* With the kicker gone, the headline is the first thing in each row and needs
   its own breathing room. */
.addison-list .wp-block-post-title,
.addison-textlist .wp-block-post-title,
.addison-card .wp-block-post-title {
	margin-top: 0;
}

/* Footer address stays on one line. */
.addison-footer__address {
	white-space: nowrap;
}

/* Utility strip now carries the section links Divi used to show up top. */
.addison-utility__sections .wp-block-navigation-item__content {
	padding-block: 2px;
}

.addison-utility__account {
	gap: 14px;
}

.addison-utility__login a {
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

@media (max-width: 781px) {
	/* The section strip is the first thing on a phone; let it wrap rather than
	   compete with the account controls. */
	.addison-utility__sections {
		width: 100%;
	}

	.addison-list .wp-block-post-featured-image {
		flex-basis: 120px;
	}

	.addison-list .wp-block-post-featured-image img {
		width: 120px;
		height: 82px;
	}

	.addison-list .wp-block-post-title {
		font-size: 1.0625rem;
	}
}

/* Legacy Divi blog module (the legal-notice listing) borrows the news river. */
.addison-legacy-blog .wp-block-post-template {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* ---------------------------------------------------------------------------
 * 25. Brand typography — Addison Independent quick style guide 2026
 *
 * The guide and the newsroom's own specimen page (/test-fonts/) set this out
 * explicitly, and it supersedes the Cormorant Garamond + Open Sans pairing the
 * Figma mock used:
 *
 *   H1              Playfair Display ExtraBold   42px
 *   H2              Playfair Display SemiBold    31px
 *   H3              Lato Bold                    24px
 *   H4 (date/by)    Lato Light Italic            18px
 *   Paragraph       Lato Regular                 18px / 1.7
 *   Caption         Lato Regular                 16px / 1.7
 *
 * theme.json carries all of that. Because the family slugs stayed `serif` and
 * `sans`, every existing rule in this file picked up the new faces without
 * being touched.
 *
 * Reading note: the guide describes an article hierarchy — H1 the headline, H2
 * and H3 subheads inside the body, H4 the date and byline. Homepage card
 * headlines are marked up as h3 for document structure but are headlines, not
 * body subheads, so they stay Playfair via core/post-title rather than becoming
 * Lato Bold.
 * ------------------------------------------------------------------------ */

/* Playfair has a taller x-height and more contrast than Cormorant, so headline
   tracking needs easing back in at display sizes. */
.addison-hero__text .wp-block-post-title {
	font-weight: 800;
	letter-spacing: -0.018em;
}

.addison-article .wp-block-post-title {
	font-weight: 800;
	letter-spacing: -0.016em;
}

.addison-card .wp-block-post-title,
.addison-list .wp-block-post-title,
.addison-textlist .wp-block-post-title,
.addison-rail__list .wp-block-post-title {
	font-weight: 700;
	letter-spacing: -0.006em;
}

/* Date and byline are the guide's H4: Lato Light Italic. */
.addison-article__meta,
.addison-article__meta .wp-block-post-date {
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 300;
	font-style: italic;
}

.addison-article__byline {
	font-weight: 700;
	font-style: normal;
}

/* Body copy at the guide's 18px / 1.7. */
.addison-article__body {
	font-size: var(--wp--preset--font-size--base);
	line-height: 1.7;
}

.addison-article__caption,
.wp-element-caption {
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.7;
}

/* Section labels and kickers are Lato Bold small caps. */
.addison-section-head__label,
.addison-kicker,
.addison-more,
.addison-subscribe-cta a,
.addison-paywall__btn {
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 700;
}

/* Opinion pull quotes: Playfair italic reads far heavier than Cormorant did,
   so drop a step and lighten the weight. */
.addison-opinion .wp-block-post-excerpt__excerpt {
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 1.5;
}

.addison-pullquote {
	font-weight: 500;
}

/* Nameplate tagline and utility strip stay Lato. */
.addison-masthead__tagline,
.addison-utility {
	font-family: var(--wp--preset--font-family--sans);
}

/* Decks and excerpts are summaries, not body copy. The guide's 1.7 applies to
   paragraph text — held for the article body above — so decks come in a little
   tighter to stop the hero reading as three widely-spaced lines. */
.addison-hero__text .wp-block-post-excerpt__excerpt,
.addison-list .wp-block-post-excerpt__excerpt,
.addison-card .wp-block-post-excerpt__excerpt,
.addison-textlist .wp-block-post-excerpt__excerpt {
	line-height: 1.5;
}

/* Promo box labels: Playfair at small sizes needs a touch more weight. */
.addison-promo__label {
	font-weight: 700;
}

/* ---------------------------------------------------------------------------
 * 26. Subscribe flow
 *
 * Rebuilt from the Divi layout exports the newsroom supplied. The flow is
 * /subscribe/ (choose Print+Digital or Digital) → a plan page → checkout with
 * the variation already in the cart.
 *
 * The gold in that design is #E09900, a deeper amber than the brand #f1a104.
 * Scoped to this flow rather than unified, because "the subscribe buttons
 * aren't as pretty" was a comparison against these exact buttons.
 * ------------------------------------------------------------------------ */

:root {
	--addison-subscribe-gold: #e09900;
}

/* Navy banner heading, full-bleed like the Divi original. */
.addison-subhead {
	margin-inline: calc(50% - 50vw);
	padding-inline: max(var(--addison-gutter), calc(50vw - var(--addison-shell) / 2)) !important;
	max-width: none;
}

.addison-subhead__title {
	color: #fff;
	font-size: clamp(1.75rem, 1.1rem + 2.4vw, 3rem);
	line-height: 1.12;
	margin: 0;
	letter-spacing: -0.01em;
}

/* The plan pages use a lighter weight and the sans face. */
.addison-subhead__title--light {
	font-family: var(--wp--preset--font-family--sans);
	font-size: clamp(1.375rem, 1rem + 1.4vw, 2rem);
	letter-spacing: 0;
}

/* Sean's warning: this flow creates a new subscription, it is not a renewal. */
.addison-renewal-notice {
	margin-top: var(--addison-block-gap);
	border: 2px solid var(--wp--preset--color--gold);
	background: #fffaf0;
	padding: 16px 20px;
}

.addison-renewal-notice p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.6;
}

/* ---- The two-card chooser ------------------------------------------------ */

.addison-choose {
	max-width: 1000px;
	margin-inline: auto;
}

.addison-choose__card {
	border: 4px solid var(--wp--preset--color--navy);
	border-radius: 20px;
	padding: 2em;
	background: #fff;
}

.addison-choose__image {
	margin: 0 0 1em;
}

.addison-choose__image img {
	width: 100%;
	height: auto;
	display: block;
}

/* The big gold call to action. */
.addison-choose__cta {
	margin: 0 0 1.25em;
}

.addison-choose__cta a {
	display: block;
	background: var(--addison-subscribe-gold);
	color: #000;
	border-radius: 18px;
	text-align: center;
	text-decoration: none;
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 800;
	font-size: clamp(1.5rem, 0.9rem + 2vw, 2.5rem);
	line-height: 1.15;
	letter-spacing: -0.03em;
	padding: 0.35em 0.5em;
}

.addison-choose__cta a:hover {
	background: var(--wp--preset--color--navy);
	color: #fff;
	text-decoration: none;
}

.addison-choose__blurb {
	font-size: 1.0625rem;
	line-height: 1.45;
	margin: 0 0 1.25em;
}

/* Navy price strip along the bottom of each card. */
.addison-choose__from {
	margin: 0;
}

.addison-choose__from a {
	display: block;
	background: var(--wp--preset--color--navy);
	color: #fff;
	text-align: center;
	text-decoration: none;
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 600;
	font-size: clamp(1rem, 0.8rem + 0.6vw, 1.375rem);
	letter-spacing: 0.28em;
	padding: 0.55em 1em;
}

.addison-choose__from a:hover {
	background: var(--addison-subscribe-gold);
	color: var(--wp--preset--color--navy);
	text-decoration: none;
}

/* ---- Plan pages --------------------------------------------------------- */

.addison-plan {
	max-width: 1100px;
	margin-inline: auto;
}

.addison-plan__name {
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 800;
	color: var(--addison-subscribe-gold);
	font-size: clamp(1.75rem, 1.1rem + 2.2vw, 3rem);
	letter-spacing: -0.03em;
	margin: 0 0 0.5em;
	text-transform: uppercase;
}

.addison-plan__intro img {
	width: 100%;
	height: auto;
	display: block;
}

.addison-plan__tiles > * + * {
	margin-top: 14px;
}

.addison-plan__rule {
	width: 40%;
	margin: 22px auto;
	border-color: var(--wp--preset--color--rule);
}

/* Each tile drops the reader at checkout with the variation in the cart. */
.addison-price-tile {
	display: block;
	width: min(100%, 340px);
	margin-inline: auto;
	background: var(--addison-subscribe-gold);
	color: var(--wp--preset--color--navy);
	border-radius: 18px;
	padding: 0.6em 1em;
	text-align: center;
	text-decoration: none;
	box-shadow: 0 6px 14px rgba(25, 46, 91, 0.18);
	transition: transform 0.12s ease, background 0.12s ease;
}

.addison-price-tile:hover {
	background: var(--wp--preset--color--navy);
	color: #fff;
	text-decoration: none;
	transform: translateY(-2px);
}

.addison-price-tile__term {
	display: block;
	font-family: var(--wp--preset--font-family--sans);
	font-size: clamp(1.25rem, 1rem + 0.6vw, 1.75rem);
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.addison-price-tile__price {
	display: block;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.4;
}

.addison-price-tile__note {
	display: block;
	font-size: 0.8125rem;
	opacity: 0.8;
}

.addison-subscribe-fineprint p {
	font-size: 0.8125rem;
	line-height: 1.6;
	color: var(--wp--preset--color--ink-muted);
}

@media (max-width: 781px) {
	.addison-choose__card {
		padding: 1.25em;
		border-width: 3px;
	}

	.addison-plan__tiles {
		margin-top: 24px;
	}
}

/* Chooser refinements after a look at the render:
   - the Divi row used make_equal="on"; without it the shorter card floated up
     and the two gold buttons were different heights;
   - "PRINT + DIGITAL" wrapped to two lines at the original size, so the type
     comes down a step and the tracking tightens to hold one line;
   - the price strip pins to the bottom so both cards end on the same line. */

.addison-choose {
	align-items: stretch;
}

.addison-choose__card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.addison-choose__cta a {
	font-size: clamp(1.375rem, 0.7rem + 1.6vw, 2.125rem);
	letter-spacing: -0.04em;
	white-space: nowrap;
}

.addison-choose__blurb {
	flex: 1 1 auto;
}

.addison-choose__from {
	margin-top: auto;
}

/* These three pages use the full-width page template, so the document H1 is
   the navy banner rather than a duplicate of the page title above it. */
.addison-subhead__title {
	max-width: none;
}

/* ---------------------------------------------------------------------------
 * 27. Single navigation bar
 *
 * The utility strip is gone. Everything it carried is in the one menu, except
 * Addy All-Stars (now a button beside Subscribe) and My Account (the Log in
 * link). Ten top-level items plus four actions is a lot for one row, so the
 * type comes down slightly and the row is allowed to wrap rather than overflow.
 * ------------------------------------------------------------------------ */

.addison-nav__row {
	column-gap: var(--wp--preset--spacing--30);
	row-gap: 6px;
}

.addison-nav__menu {
	/* Only as wide as its items need, so the actions can sit beside it rather
	   than being pushed onto a second row. */
	flex: 0 1 auto;
	min-width: 0;
}

.addison-nav .wp-block-navigation {
	font-size: 0.75rem;
	letter-spacing: 0.05em;
}

.addison-nav .wp-block-navigation__container {
	column-gap: 1.05rem;
	row-gap: 0;
}

.addison-nav .wp-block-navigation-item__content {
	padding-block: 13px;
}

/* Third level (About ▸ Newsstand, Submissions ▸ …) needs to sit beside its
   parent rather than under the top bar. */
.addison-nav .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
	left: 100%;
	top: -1px;
}

/* Submissions has fourteen children; give the long lists two columns so the
   dropdown doesn't run off the bottom of the screen. */
.addison-nav .wp-block-navigation__submenu-container {
	min-width: 15rem;
}

/* ---- Right-hand actions ------------------------------------------------- */

.addison-nav__actions {
	flex: 0 0 auto;
	gap: 12px;
}

.addison-nav__search .wp-block-search__input {
	background: #fff;
	border: 1px solid var(--wp--preset--color--rule);
	border-radius: 0;
	padding: 5px 8px;
	font-size: 0.8125rem;
	width: 8.5rem;
	color: var(--wp--preset--color--ink);
}

.addison-nav__search .wp-block-search__button {
	background: var(--wp--preset--color--navy);
	color: #fff;
	border: 0;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding-inline: 10px;
	cursor: pointer;
}

.addison-nav__login a {
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 700;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--wp--preset--color--navy);
}

/* All-Stars and Subscribe: paired buttons, All-Stars outlined so Subscribe
   still reads as the primary action. */
.addison-nav__btn a {
	display: inline-block;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	white-space: nowrap;
	padding: 8px 14px;
	border: 2px solid var(--wp--preset--color--gold);
	text-decoration: none;
}

.addison-nav__btn--allstars a {
	color: var(--wp--preset--color--navy);
	background: transparent;
}

.addison-nav__btn--subscribe a {
	color: var(--wp--preset--color--navy);
	background: var(--wp--preset--color--gold);
}

.addison-nav__btn a:hover {
	background: var(--wp--preset--color--navy);
	border-color: var(--wp--preset--color--navy);
	color: #fff;
	text-decoration: none;
}

/* ---- Narrower desktops -------------------------------------------------- */

@media (max-width: 1279px) {
	.addison-nav .wp-block-navigation {
		font-size: 0.6875rem;
	}

	.addison-nav .wp-block-navigation__container {
		column-gap: 0.8rem;
	}

	.addison-nav__search .wp-block-search__input {
		width: 7rem;
	}
}

@media (max-width: 1023px) {
	/* Below this the menu collapses to the hamburger, so the actions get the
	   row to themselves and can breathe. */
	.addison-nav__row {
		justify-content: flex-start !important;
	}

	.addison-nav__actions {
		margin-left: auto;
	}
}

@media (max-width: 600px) {
	.addison-nav__search {
		display: none;
	}

	.addison-nav__btn a {
		padding: 7px 11px;
		font-size: 0.6875rem;
	}
}

/* The mobile overlay carries a deep menu now; keep it scrollable and legible. */
.addison-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--cream);
}

.addison-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	font-size: 1rem;
}

/* The nav bar is deliberately wider than the content shell — see header.html.
   Trim the search a little so there is slack at 1440, and let the row wrap
   below the point where both halves genuinely stop fitting. */
.addison-nav__search .wp-block-search__input {
	width: 7rem;
}

@media (max-width: 1499px) {
	.addison-nav .wp-block-navigation__container {
		column-gap: 0.85rem;
	}
}

@media (max-width: 1379px) {
	.addison-nav .wp-block-navigation {
		font-size: 0.6875rem;
		letter-spacing: 0.03em;
	}

	.addison-nav .wp-block-navigation__container {
		column-gap: 0.7rem;
	}

	.addison-nav__search .wp-block-search__input {
		width: 5.5rem;
	}
}

/* At 1280 the two halves came within 22px of fitting, so shave the search and
   the button padding rather than dropping to two rows for the sake of it. */
@media (max-width: 1319px) {
	.addison-nav__search .wp-block-search__input {
		width: 4.25rem;
	}

	.addison-nav__search .wp-block-search__button {
		padding-inline: 7px;
		font-size: 0.625rem;
	}

	.addison-nav__btn a {
		padding: 7px 10px;
		letter-spacing: 0.06em;
	}

	.addison-nav__actions {
		gap: 9px;
	}
}

/* The nav bar is wider than the content shell, so at viewports between 1300
   and 1460 it was reaching the very edge of the window with no gutter. */
.addison-nav {
	padding-inline: var(--wp--preset--spacing--40);
}

/* Core renders the search submit as a pill; square it to match the buttons
   either side of it. */
.addison-nav__search .wp-block-search__button {
	border-radius: 0;
	min-width: 0;
	height: 100%;
}

.addison-nav__search .wp-block-search__inside-wrapper {
	align-items: stretch;
	border: 1px solid var(--wp--preset--color--rule);
}

.addison-nav__search .wp-block-search__input {
	border: 0;
}

/* ---------------------------------------------------------------------------
 * 28. No two-row nav
 *
 * The menu needs 790px and the actions 374px, so the row breaks below about
 * 1180px. Left to wrap, the actions dropped onto their own left-aligned line
 * and read as a stray second toolbar.
 *
 * Instead the menu collapses to the overlay button before the row can break.
 * The bar is then always exactly one row: full menu + actions above 1200,
 * hamburger + actions below it. Core hard-codes the navigation overlay
 * breakpoint at 600px, so the mobile rules are re-applied above it.
 *
 * The boundary came down to 899px once the search box and the two buttons
 * moved into the masthead ears: the bar now holds nothing but the menu, which
 * needs ~790px, so it stays inline far longer than when it was sharing the row.
 *
 * Note when tuning this: a media query measures the viewport *including* the
 * scrollbar, while the space the row actually gets is the viewport minus the
 * scrollbar (~15px) minus the nav gutters (48px). An earlier attempt set the
 * boundary at 1199px and a 1200px window skipped the rule while only having
 * 1137px to lay out in — so it stacked anyway.
 * ------------------------------------------------------------------------ */

@media (min-width: 600px) and (max-width: 899px) {
	.addison-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.addison-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}

	/* The open overlay is fixed-position, so it is unaffected by the above. */
	.addison-nav .wp-block-navigation__responsive-container.is-menu-open {
		display: flex;
	}
}

/* One row, always: the menu (or its button) left, the actions hard right. */
.addison-nav__row {
	flex-wrap: nowrap !important;
}

.addison-nav__actions {
	flex-wrap: nowrap;
	margin-left: auto;
}

/* Below the collapse point the button is all that is left of the menu, so it
   should not try to claim the whole row. */
@media (max-width: 899px) {
	.addison-nav__menu {
		flex: 0 0 auto;
	}
}

/* ---------------------------------------------------------------------------
 * 29. Masthead ears
 *
 * Search and Log in ride to the left of the nameplate, All-Stars and Subscribe
 * to the right — the space the left-ear-header / right-ear-header ad
 * placements used to occupy. Those units were booked as 970x90 leaderboards
 * and could never have worked as ears; nothing renders them now.
 *
 * The nav bar below is left carrying only the menu, which is why it can stay
 * inline much further down than it could when it shared a row with these.
 * ------------------------------------------------------------------------ */

.addison-masthead__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: var(--wp--preset--spacing--40);
}

.addison-ear {
	gap: 12px;
}

.addison-ear--left {
	justify-content: flex-start;
}

.addison-ear--right {
	justify-content: flex-end;
}

/* ---- Search, on navy --------------------------------------------------- */

.addison-ear__search .wp-block-search__inside-wrapper {
	border: 1px solid rgba(255, 255, 255, 0.45);
	align-items: stretch;
}

.addison-ear__search .wp-block-search__input {
	background: transparent;
	border: 0;
	border-radius: 0;
	color: #fff;
	font-size: 0.8125rem;
	padding: 5px 9px;
	width: 8rem;
}

.addison-ear__search .wp-block-search__input::placeholder {
	color: rgba(255, 255, 255, 0.6);
}

.addison-ear__search .wp-block-search__button {
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	border: 0;
	border-radius: 0;
	min-width: 0;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding-inline: 10px;
	cursor: pointer;
}

.addison-ear__search .wp-block-search__button:hover {
	background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--navy);
}

.addison-ear__login a {
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 700;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
	color: #fff;
}

.addison-ear__login a:hover {
	color: var(--wp--preset--color--gold);
	text-decoration: none;
}

/* ---- The two calls to action, on navy ---------------------------------- */

.addison-ear__btn a {
	display: inline-block;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	white-space: nowrap;
	padding: 9px 15px;
	border: 2px solid var(--wp--preset--color--gold);
	text-decoration: none;
}

.addison-ear__btn--allstars a {
	color: #fff;
	background: transparent;
}

.addison-ear__btn--subscribe a {
	color: var(--wp--preset--color--navy);
	background: var(--wp--preset--color--gold);
}

.addison-ear__btn--allstars a:hover {
	background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--navy);
	text-decoration: none;
}

.addison-ear__btn--subscribe a:hover {
	background: #fff;
	border-color: #fff;
	text-decoration: none;
}

/* ---- Nav bar: menu only ------------------------------------------------ */

.addison-nav__row {
	justify-content: center;
}

.addison-nav__menu {
	flex: 0 1 auto;
}

/* ---- Narrower: the ears fold under the nameplate ----------------------- */

@media (max-width: 1149px) {
	/* Nameplate on its own row, then both ears side by side on a single centred
	   row beneath it — keeping them as separate rows made the masthead tall for
	   no reason, since together they only need about 480px. */
	.addison-masthead__grid {
		grid-template-columns: auto auto;
		grid-template-areas:
			"name name"
			"left right";
		justify-content: center;
		row-gap: var(--wp--preset--spacing--30);
		column-gap: var(--wp--preset--spacing--40);
	}

	.addison-masthead__inner { grid-area: name; }
	.addison-ear--left  { grid-area: left;  justify-content: flex-end; }
	.addison-ear--right { grid-area: right; justify-content: flex-start; }
}

@media (max-width: 600px) {
	/* Search is hidden below this, so Log in joins the two buttons on one row. */
	.addison-masthead__grid {
		grid-template-columns: auto auto;
	}
}

@media (max-width: 600px) {
	.addison-ear__search {
		display: none;
	}

	.addison-ear__btn a {
		padding: 8px 12px;
		font-size: 0.6875rem;
	}
}

/* ---------------------------------------------------------------------------
 * 30. Dropdowns must not open off-screen
 *
 * CONTACT US is the last top-level item and ADVERTISE the second last, so their
 * closed dropdowns sat past the right edge of the viewport. An absolutely
 * positioned element still counts toward document scrollWidth even while
 * hidden, so this showed up as a horizontal scrollbar between 900px and 1100px
 * — not as anything visible. The two right-most menus open leftward instead.
 * ------------------------------------------------------------------------ */

.addison-nav .wp-block-navigation__container > li:nth-last-child(-n+2) > .wp-block-navigation__submenu-container {
	left: auto;
	right: 0;
}

/* Their third level (About ▸ Newsstand, Submissions ▸ …) flips with them. */
.addison-nav .wp-block-navigation__container > li:nth-last-child(-n+2) .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
	left: auto;
	right: 100%;
}
