/*
Theme Name: Northwest College & Seminary v2
Description: Custom theme for nbseminary.ca, built by Brother Creative Agency.
Version: 0.3.1
Author: Brother Creative Agency
Requires PHP: 7.4
Text Domain: northwest-seminary-v2
*/

/* Base tokens and page shell live here; the header has its own stylesheet. */

:root {
	--nw-teal-deep: #113840;
	--nw-teal-mid: #35565d;
	--nw-blue-pale: #97ccd9;
	--nw-blue-steel: #345e85;
	--nw-orange: #cd6500;
	--nw-orange-bright: #e05d02;
	--nw-orange-dark: #b83f12;
	--nw-orange-light: #fd7a1f;
	--nw-gold: #eab600;
	--nw-gold-light: #f0c428;
	--nw-lime: #d8ea49;
	--nw-green-mid: #46602e;
	--nw-green-light: #9db488;
	--nw-sand: #efefe9;
	--nw-green: #3f4e31;
	--nw-light: #fffff9;
	--nw-white: #ffffff;
	--nw-cream: #faf7f2;
	--nw-font: "Afacad", "Trebuchet MS", sans-serif;
	--nw-frame: 1200px;
}

* { box-sizing: border-box; }

body {
	margin: 0;
	font-family: var(--nw-font);
	color: var(--nw-teal-deep);
	/* White, not cream: real pages (Beaver Builder) own their own body
	   presentation; the theme shell must stay neutral. */
	background: var(--nw-white);
	font-size: 18px;
	line-height: 1.5;
}

.nw-frame {
	max-width: var(--nw-frame);
	margin: 0 auto;
	padding: 0 24px;
}

.nw-page-hero {
	background: var(--nw-teal-mid);
	color: var(--nw-white);
	padding: 56px 0;
}

.nw-page-hero h1 {
	margin: 0;
	font-size: 44px;
	font-weight: 700;
	line-height: 1.1;
}

.nw-page-hero .nw-hero-kicker {
	color: var(--nw-blue-pale);
	font-weight: 600;
	font-size: 16px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 8px;
}

.nw-content { padding: 48px 0 80px; }

.nw-placeholder-note {
	border: 2px dashed var(--nw-blue-pale);
	border-radius: 8px;
	padding: 20px 24px;
	color: var(--nw-teal-mid);
	background: #fff;
	max-width: 640px;
}

/* Footer — restored Astra widget columns (footer-widget-1..5) styled to
   the 2026-06-18 footer receipt: 22px Afacad headings / 10px gap, 20px
   links at every viewport, centred below-footer bar, 60px top padding. */

.nw-footer {
	background: var(--nw-teal-deep);
	color: var(--nw-white);
	padding-top: 60px;
	font-size: 16px;
}

.nw-footer__columns {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 40px;
	padding-bottom: 40px;
}
@media (max-width: 921px) {
	.nw-footer__columns { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
	.nw-footer__columns { grid-template-columns: 1fr; }
}

.nw-footer__title {
	font-size: 22px;
	line-height: 1.2;
	font-weight: 700;
	color: var(--nw-white);
	margin: 0 0 10px;
}

.nw-footer__widget { margin-bottom: 20px; }
/* June footer receipt: column headings unified to 22px Afacad / 10px gap
   (widget content carries its own h6 headings; the old fix lived in
   Customizer Additional CSS, which does not apply under this theme). */
.nw-footer__widget h1,
.nw-footer__widget h2,
.nw-footer__widget h3,
.nw-footer__widget h4,
.nw-footer__widget h5,
.nw-footer__widget h6 {
	font-family: var(--nw-font);
	font-size: 22px !important;
	line-height: 1.2;
	font-weight: 700;
	margin: 0 0 10px;
}
.nw-footer__widget img { max-width: 220px; height: auto; }
.nw-footer__widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.nw-footer__widget li { margin: 0 0 8px; }
.nw-footer a {
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
	font-size: 20px;
}
.nw-footer a:hover { color: var(--nw-white); }

.nw-footer__below {
	border-top: 1px solid rgba(255, 255, 255, 0.10);
	padding: 20px 0;
	text-align: center;
	color: var(--nw-blue-pale);
}
.nw-footer__address {
	margin-bottom: 8px;
	font-style: normal;
}
.nw-footer:not(:has(.nw-footer__columns)) { padding-top: 0; }
