/**
 * The Weekender — /this-weekend/ page styles.
 *
 * Ported 1:1 from the approved design HTML. All tokens are defined here,
 * scoped to .wg-page: the design uses names the theme doesn't ship
 * (--font-display/-mono, sage-200/300/700, -paper, -label, -amber-dark),
 * so the page is self-sufficient across theme changes. Values map to the
 * Brand Book V1.2 palette; the sage ramp gaps are interpolated.
 *
 * Fonts: theme self-hosts Playfair Display 700 (no italic — italics below
 * render synthetically, accepted) and DM Sans variable 400-600.
 */

.wg-page {
	--everrow-pine: #1a2718;
	--everrow-clay: #c97b53;
	--everrow-amber: #b8924e;
	--everrow-amber-dark: #9c7a3e;
	--everrow-bone: #f5f3ee;
	--everrow-cream-light: #faf9f6;
	--everrow-paper: #faf9f6;
	--everrow-white: #ffffff;
	--everrow-ink: #1a1e18;
	--everrow-green: #53624e;
	--everrow-green-dark: #1a2718;
	--everrow-sage-50: #f3f6f1;
	--everrow-sage-100: #e8efe5;
	--everrow-sage-200: #d9e4d4;
	--everrow-sage-300: #bccbb4;
	--everrow-sage-700: #42513e;
	--everrow-label: #7c887a;
	--everrow-border: rgba(26, 30, 24, 0.12);
	--border-line: rgba(26, 30, 24, 0.12);
	--font-display: 'Playfair Display', Georgia, serif;
	--font-body: 'DM Sans', -apple-system, 'Helvetica Neue', Arial, sans-serif;
	--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

	margin: 0;
	font-family: var(--font-body);
	color: var(--everrow-ink);
	background: var(--everrow-cream-light);
	-webkit-font-smoothing: antialiased;
}

.wg-page *,
.wg-page *::before,
.wg-page *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

.wg-page a { color: var(--everrow-amber-dark); text-decoration: none; }
.wg-page a:hover { color: var(--everrow-amber); }
.wg-page h1, .wg-page h2, .wg-page h3, .wg-page h4, .wg-page p { margin: 0; }

/* Shared bits ---------------------------------------------------------- */

.wg-kicker {
	display: block;
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--everrow-clay);
	margin-bottom: 12px;
}

.wg-time {
	font-family: var(--font-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.06em;
	color: var(--everrow-clay);
}

.wg-tag {
	font-family: var(--font-body);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 5px 11px;
	background: var(--everrow-sage-100);
	color: var(--everrow-pine);
	border: 1px solid var(--everrow-sage-300);
	white-space: nowrap;
}

.wg-price {
	font-family: var(--font-body);
	font-size: 15px;
	font-weight: 600;
	color: var(--everrow-amber-dark);
}

.wg-price--free {
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--everrow-sage-700);
}

.wg-card__venue {
	font-family: var(--font-body);
	font-size: 14px;
	color: var(--everrow-green);
}

.wg-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

/* Note: several selectors below carry a .wg-page prefix so they beat the
   base `.wg-page a` color rule — single-class selectors lose to it. */

/* Theme-chrome interop: the theme's #page wrapper is a scroll container
   (overflow-x hidden auto), which disables position:sticky for everything
   inside it. `clip` clips the theme's off-canvas menu and oversized
   Elementor sections WITHOUT creating a scroll container, so the filter
   bar can stick (plain `visible` first as an old-browser fallback).
   The theme's fixed scroll-clone header would cover the filter bar, so
   it stays off here; the normal static header is unaffected. */

.wg-page #page { overflow: visible; }
.wg-page #page { overflow: clip visible; }
.wg-page .custom-sticky-header { display: none !important; }

/* Hero ----------------------------------------------------------------- */

.wg-hero {
	background: var(--everrow-pine);
	border-bottom: 4px solid var(--everrow-clay);
}

.wg-hero__inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: clamp(24px, 4vw, 40px) 24px clamp(20px, 3vw, 30px);
}

.wg-hero__crumbs {
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--everrow-sage-300);
	margin-bottom: 16px;
}
.wg-hero__crumbs a { color: var(--everrow-sage-200); }

.wg-hero__title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(33px, 6.5vw, 56px);
	line-height: 1.08;
	letter-spacing: -0.015em;
	color: var(--everrow-bone);
	text-wrap: balance;
}

.wg-hero__meta {
	display: flex;
	align-items: baseline;
	gap: 16px;
	flex-wrap: wrap;
	margin: 14px 0 16px;
}

.wg-hero__dates {
	font-family: var(--font-display);
	font-style: italic;
	font-size: clamp(19px, 3vw, 23px);
	color: var(--everrow-sage-200);
}

.wg-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1px solid rgba(245, 243, 238, 0.32);
	padding: 6px 12px;
	font-family: var(--font-body);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--everrow-sage-200);
}

.wg-hero__dot {
	width: 6px;
	height: 6px;
	background: var(--everrow-clay);
	border-radius: 50%;
	display: inline-block;
}

.wg-hero__dek {
	font-family: var(--font-display);
	font-style: italic;
	font-size: clamp(18px, 2.6vw, 22px);
	line-height: 1.55;
	color: var(--everrow-sage-200);
	max-width: 64ch;
}

.wg-hero__byline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px 24px;
	flex-wrap: wrap;
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid rgba(245, 243, 238, 0.18);
}

.wg-hero__byline-left {
	display: flex;
	align-items: center;
	gap: 14px;
}

/* Share row (lives in the hero, so bone-on-pine) */

.wg-share {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.wg-share__label {
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--everrow-sage-300);
}

.wg-share__buttons {
	display: flex;
	align-items: center;
	gap: 8px;
}

.wg-page .wg-share__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid rgba(245, 243, 238, 0.32);
	background: transparent;
	color: var(--everrow-bone);
	cursor: pointer;
	padding: 0;
	border-radius: 0;
	transition: all 0.18s ease;
}

.wg-page .wg-share__btn:hover {
	color: var(--everrow-pine);
	background: var(--everrow-bone);
	border-color: var(--everrow-bone);
}

.wg-share__copied {
	font-family: var(--font-body);
	font-size: 12px;
	color: var(--everrow-sage-200);
}

.wg-share__btn[hidden],
.wg-share__copied[hidden] { display: none; }

.wg-hero__avatar {
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	background: var(--everrow-bone);
	color: var(--everrow-pine);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 16px;
}

.wg-hero__byline-text { line-height: 1.4; }

.wg-hero__byline-name {
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 600;
	color: var(--everrow-bone);
}

.wg-hero__byline-sub {
	font-family: var(--font-body);
	font-size: 13px;
	color: var(--everrow-sage-300);
}

/* Short version -------------------------------------------------------- */

.wg-short {
	max-width: 1180px;
	margin: 0 auto;
	padding: clamp(18px, 3vw, 28px) 24px 8px;
}

.wg-short__box {
	background: var(--everrow-white);
	border: 1px solid var(--everrow-pine);
	padding: clamp(24px, 4vw, 34px);
}

.wg-short__kicker { letter-spacing: 0.16em; }

.wg-short__text {
	font-family: var(--font-display);
	font-size: clamp(18px, 2.4vw, 21px);
	line-height: 1.55;
	color: var(--everrow-pine);
}

/* Sticky filter bar ---------------------------------------------------- */

.wg-bar {
	position: sticky;
	top: 0;
	z-index: 40;
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--everrow-border);
	margin-top: clamp(20px, 3vw, 28px);
}

.wg-bar__inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: 12px 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.wg-chips { display: flex; gap: 8px; flex-wrap: wrap; }

.wg-chip {
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 9px 15px;
	border-radius: 0;
	cursor: pointer;
	transition: all 0.18s ease;
	white-space: nowrap;
	border: 1px solid var(--border-line);
	background: var(--everrow-white);
	color: var(--everrow-ink);
}

.wg-chip.is-active {
	border-color: var(--everrow-pine);
	background: var(--everrow-pine);
	color: var(--everrow-bone);
}

.wg-jumpnav { display: flex; gap: 6px; flex-shrink: 0; }

.wg-page .wg-jumpnav__link {
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	padding: 5px 9px;
	color: var(--everrow-green);
	background: transparent;
	transition: all 0.18s ease;
}
.wg-page .wg-jumpnav__link:hover { color: var(--everrow-pine); }

.wg-page .wg-jumpnav__link.is-active,
.wg-page .wg-jumpnav__link.is-active:hover {
	color: var(--everrow-bone);
	background: var(--everrow-pine);
}

/* Body grid + rail ----------------------------------------------------- */

.wg-bodygrid {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 24px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 48px;
	align-items: start;
}

.wg-main { min-width: 0; }

.wg-rail { display: none; }

@media (max-width: 879px), (min-width: 1080px) {
	.wg-jumpnav { display: none; }
}

@media (min-width: 1080px) {
	.wg-rail {
		display: block;
		position: sticky;
		top: 76px;
		padding: clamp(44px, 6vw, 64px) 0 20px;
	}
	.wg-bodygrid { grid-template-columns: minmax(0, 1fr) 300px; }
}

/* Editor's Picks ------------------------------------------------------- */

.wg-picks {
	scroll-margin-top: 84px;
	padding: clamp(44px, 6vw, 64px) 0 20px;
}

.wg-section-head { margin: 0 0 32px; }

.wg-section-head__title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(27px, 4.5vw, 38px);
	line-height: 1.12;
	color: var(--everrow-pine);
	margin-bottom: 8px;
}

.wg-section-head__sub {
	font-family: var(--font-body);
	font-size: 16px;
	color: var(--everrow-green);
	line-height: 1.6;
}

.wg-picks__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
	gap: 22px;
}

.wg-pick-card {
	background: var(--everrow-white);
	border: 1px solid var(--everrow-sage-200);
	box-shadow: 0 2px 16px rgba(26, 39, 24, 0.08);
	display: flex;
	flex-direction: column;
}

.wg-pick-card__badge {
	align-self: flex-start;
	background: var(--everrow-clay);
	color: #fff;
	font-family: var(--font-body);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 6px 11px;
	line-height: 1;
}

.wg-pick-card__body {
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1;
}

.wg-pick-card__title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 25px;
	line-height: 1.14;
	color: var(--everrow-pine);
}
.wg-pick-card__title a { color: inherit; }
.wg-pick-card__title a:hover { color: var(--everrow-amber-dark); }

.wg-pick-card__take {
	font-family: var(--font-display);
	font-style: italic;
	font-size: 17px;
	line-height: 1.5;
	color: var(--everrow-green-dark);
	flex: 1;
}

.wg-pick-card__foot {
	margin-top: 6px;
	padding-top: 16px;
	border-top: 1px solid var(--everrow-border);
}
.wg-pick-card__foot .wg-price { font-size: 16px; }
.wg-pick-card__foot .wg-price--free { font-size: 13px; }

/* Day sections --------------------------------------------------------- */

.wg-days { padding: 20px 0 0; }

.wg-day {
	scroll-margin-top: 84px;
	padding: clamp(36px, 5vw, 52px) 0 8px;
}

.wg-day__head {
	display: flex;
	align-items: baseline;
	gap: 14px;
	border-bottom: 3px solid var(--everrow-pine);
	padding-bottom: 12px;
	margin-bottom: 24px;
}

.wg-day__title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(26px, 4.5vw, 36px);
	color: var(--everrow-pine);
	letter-spacing: -0.01em;
}

.wg-day__date {
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--everrow-label);
}

.wg-weather {
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 6px 12px;
	background: var(--everrow-sage-50);
	border: 1px solid var(--everrow-sage-100);
	color: var(--everrow-green-dark);
}

.wg-weather__icon { display: inline-flex; color: var(--everrow-clay); }

.wg-weather__temps {
	font-family: var(--font-mono);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.02em;
}

.wg-weather__cond {
	font-family: var(--font-body);
	font-size: 12px;
	color: var(--everrow-green);
}

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

.wg-day__empty {
	border: 1px dashed var(--everrow-sage-300);
	background: var(--everrow-sage-50);
	padding: 30px 24px;
	text-align: center;
}

.wg-day__empty p {
	font-family: var(--font-display);
	font-style: italic;
	font-size: 19px;
	color: var(--everrow-green-dark);
}

.wg-day__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 18px;
}

.wg-event-card {
	background: var(--everrow-white);
	border: 1px solid var(--everrow-sage-200);
	box-shadow: 0 2px 16px rgba(26, 39, 24, 0.08);
	padding: 22px 24px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.wg-event-card .wg-time { letter-spacing: 0.07em; }

.wg-event-card__title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 22px;
	line-height: 1.18;
	color: var(--everrow-pine);
}
.wg-event-card__title a { color: inherit; }
.wg-event-card__title a:hover { color: var(--everrow-amber-dark); }

.wg-event-card__desc {
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.6;
	color: var(--everrow-ink);
}

.wg-event-card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 4px;
}

.wg-event-card__price {
	display: inline-flex;
	align-items: center;
	gap: 12px;
}

.wg-tickets {
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 600;
	color: var(--everrow-amber-dark);
	white-space: nowrap;
}

/* Hidden-by-filter state ----------------------------------------------- */

.wg-pick-card[hidden],
.wg-event-card[hidden],
.wg-picks[hidden],
.wg-day__empty[hidden] { display: none; }

/* Whole-card click via stretched link: the anchor stays on the headline
   (anchor-text SEO); its ::after overlays the card. Tickets sits above. */

.wg-event-card,
.wg-pick-card { position: relative; }

.wg-page .wg-event-card__title a::after,
.wg-page .wg-pick-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.wg-page .wg-tickets { position: relative; z-index: 2; }

.wg-event-card:hover .wg-event-card__title a,
.wg-pick-card:hover .wg-pick-card__title a { color: var(--everrow-amber-dark); }

/* Newsletter (mid + footer variants) ----------------------------------- */

.wg-news {
	scroll-margin-top: 84px;
	margin: clamp(40px, 5vw, 56px) 0 8px;
	background: var(--everrow-pine);
	color: var(--everrow-bone);
	padding: clamp(32px, 5vw, 52px);
}

.wg-news__kicker { letter-spacing: 0.18em; }

.wg-news__title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(25px, 4vw, 34px);
	line-height: 1.12;
	color: var(--everrow-bone);
	max-width: 20ch;
	margin-bottom: 12px;
}

.wg-news__text {
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.6;
	color: var(--everrow-sage-200);
	max-width: 48ch;
	margin-bottom: 24px;
}

.wg-news__form {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	max-width: 500px;
}

.wg-news__input {
	flex: 1 1 220px;
	min-width: 0;
	padding: 15px 16px;
	border: 1px solid var(--everrow-white);
	background: var(--everrow-white);
	font-family: var(--font-body);
	font-size: 16px;
	border-radius: 0;
	color: var(--everrow-ink);
}

.wg-news__input::placeholder { color: var(--everrow-label); }

.wg-news__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--everrow-amber);
	color: #fff;
	border: 1px solid var(--everrow-amber);
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 15px 26px;
	cursor: pointer;
	border-radius: 0;
}

.wg-news__done {
	font-family: var(--font-display);
	font-style: italic;
	font-size: 20px;
	color: var(--everrow-sage-200);
}

.wg-news__foot {
	font-family: var(--font-body);
	font-size: 13px;
	color: var(--everrow-sage-300);
	margin-top: 16px;
}

.wg-news__error {
	font-family: var(--font-body);
	font-size: 14px;
	color: var(--everrow-clay);
	margin-top: 10px;
}

.wg-news__error[hidden] { display: none; }

/* Looking Ahead -------------------------------------------------------- */

.wg-ahead {
	scroll-margin-top: 84px;
	padding: clamp(44px, 6vw, 60px) 0;
}

.wg-ahead__box {
	background: var(--everrow-paper);
	border: 1px solid var(--everrow-border);
	padding: clamp(28px, 5vw, 44px);
}

.wg-ahead__box .wg-kicker { margin-bottom: 10px; }

.wg-ahead__title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(25px, 4vw, 34px);
	color: var(--everrow-pine);
	margin-bottom: 6px;
}

.wg-ahead__sub {
	font-family: var(--font-body);
	font-size: 15px;
	color: var(--everrow-green);
	margin-bottom: 22px;
}

.wg-ahead__row {
	display: grid;
	grid-template-columns: 100px 1fr auto;
	gap: 16px;
	align-items: baseline;
	padding: 18px 0;
	border-top: 1px solid var(--everrow-border);
}

@media (max-width: 600px) {
	.wg-ahead__row { grid-template-columns: 1fr auto; }
	.wg-ahead__date { grid-column: 1 / -1; }
}

.wg-ahead__date {
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	color: var(--everrow-clay);
}

.wg-ahead__name {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 19px;
	line-height: 1.2;
	color: var(--everrow-pine);
}

.wg-ahead__venue {
	font-family: var(--font-body);
	font-size: 13px;
	color: var(--everrow-green);
	margin-top: 3px;
}

.wg-ahead__tag {
	font-family: var(--font-body);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 4px 10px;
	background: var(--everrow-sage-100);
	color: var(--everrow-pine);
	border: 1px solid var(--everrow-sage-300);
	white-space: nowrap;
}

/* Rail ----------------------------------------------------------------- */

.wg-rail__box {
	border: 1px solid var(--everrow-border);
	background: var(--everrow-white);
	padding: 22px;
}

.wg-rail__kicker {
	display: block;
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--everrow-label);
	margin-bottom: 12px;
}

.wg-rail__nav { display: flex; flex-direction: column; }

.wg-page .wg-rail__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 500;
	color: var(--everrow-green-dark);
	padding: 8px 10px;
	border-left: 2px solid transparent;
	transition: all 0.18s ease;
}
.wg-page .wg-rail__link:hover { color: var(--everrow-pine); background: var(--everrow-sage-50); }

.wg-page .wg-rail__link.is-active {
	font-weight: 600;
	color: var(--everrow-pine);
	background: var(--everrow-sage-50);
	border-left-color: var(--everrow-clay);
}

.wg-rail__temp {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-mono);
	font-size: 11px;
	color: var(--everrow-green);
}

.wg-rail__temp-icon { display: inline-flex; color: var(--everrow-clay); }

.wg-rail__cta {
	border: 1px solid var(--everrow-border);
	background: var(--everrow-sage-50);
	padding: 24px;
	margin-top: 20px;
}

.wg-rail__cta-title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.2;
	color: var(--everrow-pine);
	margin-bottom: 10px;
}

.wg-rail__cta-text {
	font-family: var(--font-body);
	font-size: 13px;
	line-height: 1.55;
	color: var(--everrow-green-dark);
	margin-bottom: 14px;
}

.wg-rail__cta-list {
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.wg-rail__cta-list li {
	font-family: var(--font-body);
	font-size: 13px;
	color: var(--everrow-green-dark);
	display: flex;
	gap: 8px;
}

.wg-rail__cta-list li span { color: var(--everrow-clay); }

.wg-page .wg-rail__cta-btn {
	display: block;
	text-align: center;
	background: var(--everrow-amber);
	color: #fff;
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 13px 18px;
}
.wg-page .wg-rail__cta-btn:hover { color: #fff; background: var(--everrow-amber-dark); }

/* Related -------------------------------------------------------------- */

.wg-related {
	border-top: 1px solid var(--everrow-border);
	background: var(--everrow-bone);
}

.wg-related__inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: clamp(44px, 6vw, 64px) 24px;
}

.wg-related__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 28px;
}

.wg-related__head .wg-kicker { margin-bottom: 10px; }

.wg-related__title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(25px, 4vw, 34px);
	color: var(--everrow-pine);
}

.wg-related__all {
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	color: var(--everrow-amber-dark);
}

.wg-related__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
}

.wg-related-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	background: var(--everrow-white);
	border: 1px solid var(--everrow-sage-200);
	box-shadow: 0 2px 16px rgba(26, 39, 24, 0.08);
	padding: 24px;
	color: var(--everrow-ink);
}

.wg-related-card__kicker {
	font-family: var(--font-body);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--everrow-label);
}

.wg-related-card__title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 21px;
	line-height: 1.2;
	color: var(--everrow-pine);
}

.wg-related-card__meta {
	font-family: var(--font-body);
	font-size: 13px;
	color: var(--everrow-green);
	margin-top: auto;
}

.wg-related-card__more {
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 600;
	color: var(--everrow-amber-dark);
}

/* Footer --------------------------------------------------------------- */

.wg-footer {
	background: var(--everrow-pine);
	color: var(--everrow-bone);
}

.wg-footer__inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: clamp(48px, 7vw, 80px) 24px 40px;
}

.wg-footer__kicker { letter-spacing: 0.18em; margin-bottom: 18px; }

.wg-footer__title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(30px, 5.5vw, 48px);
	line-height: 1.08;
	letter-spacing: -0.01em;
	color: var(--everrow-bone);
	max-width: 16ch;
	margin-bottom: 16px;
}

.wg-footer__text {
	font-family: var(--font-body);
	font-size: 17px;
	line-height: 1.6;
	color: var(--everrow-sage-200);
	max-width: 44ch;
	margin-bottom: 26px;
}

.wg-footer .wg-news__form { max-width: 520px; }
.wg-footer .wg-news__input { flex-basis: 240px; padding: 16px 18px; }
.wg-footer .wg-news__btn { padding: 16px 28px; }

.wg-footer__count {
	font-family: var(--font-body);
	font-size: 13px;
	color: var(--everrow-sage-300);
	margin-top: 16px;
}

.wg-page .wg-footer__banner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 48px;
	padding: 24px;
	border: 1px solid rgba(245, 243, 238, 0.24);
	color: var(--everrow-bone);
	flex-wrap: wrap;
}
.wg-page .wg-footer__banner:hover { color: var(--everrow-bone); border-color: rgba(245, 243, 238, 0.44); }

.wg-footer__banner-text {
	font-family: var(--font-display);
	font-size: clamp(18px, 3vw, 23px);
	font-weight: 700;
	color: var(--everrow-bone);
}

.wg-footer__banner-arrow {
	font-family: var(--font-body);
	font-size: 24px;
	color: var(--everrow-clay);
}

