/* ==========================================================================
   Site-wide styles outside the scoped .hh design (regular pages, posts,
   WordPress content) plus the WPBakery full-width layout.
   Tokens (--hh-*) come from css/theme.css.
   ========================================================================== */

body {
	font-family: var(--hh-font-body);
	font-size: 17px;
	line-height: 1.6;
	color: var(--hh-body);
	background: var(--hh-white);
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--hh-font-display);
	font-weight: 700;
	line-height: 1.15;
	color: var(--hh-ink);
}

a { color: var(--hh-green); }
a:hover, a:focus { color: var(--hh-forest-deep); }

img { max-width: 100%; height: auto; }

/***** PAGE SHELL *****/
/* Announcement, header, content, footer stacked vertically; content grows so the footer sits at the bottom. */
.hh-site {
	display: flex;
	flex-direction: column;
	min-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
}
.hh-site > * { flex: 0 0 auto; }
.hh-site > .hh-site__content { flex: 1 0 auto; }
/* Full-bleed pieces (e.g. the featured Journal card) never cause a sideways scrollbar */
.hh-site { overflow-x: clip; }

/***** REGULAR PAGES *****/
/* Same width and gutters as .hh-wrap so content lines up with the header and footer. */
.page-container {
	width: auto;
	max-width: 1440px;
	padding: clamp(40px, 5vw, 72px) var(--hh-pad) clamp(56px, 7vw, 96px);
}
.page-header { margin: 0 0 32px; padding: 0; border: 0; }
.entry-content > *:first-child { margin-top: 0; }

/***** WPBAKERY: FULL WIDTH TEMPLATE *****/
/* Top-level rows (WPBakery wraps them in .wpb-content-wrapper) that hold a
   HUSSSH section element run edge to edge, with no gutters. */
:is(.hh-fullwidth, .hh-fullwidth > .wpb-content-wrapper) > .vc_row:has(.hh-el) { margin-left: 0; margin-right: 0; }
:is(.hh-fullwidth, .hh-fullwidth > .wpb-content-wrapper) > .vc_row:has(.hh-el) > .vc_column_container,
:is(.hh-fullwidth, .hh-fullwidth > .wpb-content-wrapper) > .vc_row:has(.hh-el) > .vc_column_container > .vc_column-inner { padding-left: 0; padding-right: 0; padding-top: 0; }
:is(.hh-fullwidth, .hh-fullwidth > .wpb-content-wrapper) > .vc_row:has(.hh-el) .wpb_content_element,
:is(.hh-fullwidth, .hh-fullwidth > .wpb-content-wrapper) > .vc_row.wpb_row:has(.hh-el) { margin-bottom: 0; }

/* Section rows (.hh-sec, see theme.css) span the window; any other row keeps the site content width. */
:is(.hh-fullwidth, .hh-fullwidth > .wpb-content-wrapper) > .vc_row:not(.hh-sec):not(:has(.hh-el)) {
	max-width: 1320px;
	margin: 0 auto;
	padding: clamp(40px, 5vw, 72px) var(--hh-pad);
}
