/* Layout: container, sections, header, footer, page grids (mobile-first) */

.baa-container {
	width: 100%;
	max-width: calc(var(--baa-container) + 2 * var(--baa-gutter));
	margin-inline: auto;
	padding-inline: var(--baa-gutter);
}

.baa-section { padding-block: var(--baa-section-y); }
.baa-section--white { background: var(--baa-white); }

.baa-page { padding-block: var(--baa-section-y); }

.baa-grid { display: grid; gap: var(--baa-gap); grid-template-columns: 1fr; }

/* ---------- Header ---------- */
.baa-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--baa-white);
	border-bottom: 1px solid var(--baa-line);
}
.admin-bar .baa-header { top: 46px; }

.baa-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: var(--baa-header-h);
}

.baa-brand {
	display: inline-flex;
	align-items: center;
	gap: .75rem;
	text-decoration: none;
	color: var(--baa-green);
	min-width: 0;
}
.baa-brand__logo { width: 44px; height: 44px; flex: none; object-fit: contain; border-radius: 10px; }
.baa-brand__text { display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
.baa-brand__name { font-weight: 700; font-size: 1.0625rem; }
.baa-brand__tagline { display: none; font-size: var(--baa-fs-sm); color: var(--baa-muted); }

/* Mobile nav panel */
.baa-nav {
	display: none;
	position: absolute;
	inset-inline: 0;
	top: 100%;
	max-height: calc(100vh - var(--baa-header-h));
	overflow-y: auto;
	background: var(--baa-white);
	border-bottom: 1px solid var(--baa-line);
	box-shadow: 0 16px 32px rgba(7, 61, 50, .1);
	padding: .25rem var(--baa-gutter) 1.25rem;
}
.baa-nav.is-open { display: block; }

.baa-menu { list-style: none; margin: 0; padding: 0; }
.baa-menu a {
	display: block;
	padding: .85rem .25rem;
	font-weight: 500;
	color: var(--baa-dark);
	text-decoration: none;
	border-bottom: 1px solid var(--baa-line);
}
.baa-menu li:last-child a { border-bottom: 0; }
.baa-menu a:hover { color: var(--baa-red); }
.baa-menu .current-menu-item > a,
.baa-menu a[aria-current="page"] { color: var(--baa-green); font-weight: 700; }

/* Without JS the menu is simply always visible */
.no-js .baa-header__inner { flex-wrap: wrap; padding-block: .5rem; }
.no-js .baa-nav { display: block; position: static; width: 100%; box-shadow: none; border: 0; padding-inline: 0; }
.no-js .baa-nav-toggle { display: none; }

/* ---------- Footer ---------- */
.baa-footer { background: var(--baa-green); color: rgba(255, 255, 255, .86); margin-top: 0; }
.baa-footer a { color: #fff; text-decoration-color: rgba(201, 164, 76, .7); }
.baa-footer a:hover { color: var(--baa-gold); }

.baa-footer__grid { display: grid; grid-template-columns: 1fr; gap: 2.25rem; padding-block: clamp(2.5rem, 6vw, 4rem); }
.baa-footer__heading { color: var(--baa-gold); font-size: 1.0625rem; margin-bottom: .75rem; }
.baa-footer__text { margin: 1rem 0 0; max-width: 34rem; }

.baa-brand--light { color: #fff; }
.baa-brand--light .baa-brand__name { font-size: 1.1875rem; }

.baa-footer__menu, .baa-footer__list, .baa-footer__social { list-style: none; margin: 0; padding: 0; }
.baa-footer__menu a { display: inline-block; padding-block: .25rem; text-decoration: none; }
.baa-footer__menu a:hover { text-decoration: underline; }

.baa-footer__list li { display: flex; align-items: flex-start; gap: .65rem; padding-block: .3rem; }
.baa-footer__list .baa-i { flex: none; width: 1.25rem; height: 1.25rem; margin-top: .4rem; color: var(--baa-gold); }

.baa-footer__social { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1rem; }

.baa-footer__bar { border-top: 1px solid rgba(255, 255, 255, .14); font-size: var(--baa-fs-sm); }
.baa-footer__bar-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1.5rem; padding-block: 1rem; }
.baa-footer__bar p { margin: 0; }
