/* Site chrome: utility bar, sticky header, footer, mobile nav. Front end only. */

/* ---------- UTILITY BAR ---------- */
.bu-utility { background: var(--bu-dark); color: #C9C0B1; font-size: 13px; }
.bu-utility__inner { display: flex; align-items: center; justify-content: space-between; height: 42px; gap: 24px; }
.bu-utility__org { display: flex; align-items: center; gap: 8px; letter-spacing: .02em; }
.bu-utility__org .dot { color: var(--bu-gold); }
.bu-utility__right { display: flex; align-items: center; gap: 18px; }
.bu-social { display: flex; align-items: center; gap: 8px; }
.bu-social a {
	display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px;
	border-radius: 50%; border: 1px solid rgba(255,255,255,.22); color: #C9C0B1;
	font-size: 11px; font-weight: 600; text-decoration: none; letter-spacing: .02em;
}
.bu-social a:hover { border-color: var(--bu-gold); color: var(--bu-gold); }
.bu-utility__sep { width: 1px; height: 18px; background: rgba(255,255,255,.18); }
.bu-lang { display: flex; align-items: center; gap: 10px; font-weight: 600; }
.bu-lang a { text-decoration: none; color: #897F6E; }
.bu-lang a.is-active { color: #FBF7EF; }
.bu-lang .sep { opacity: .4; }

/* ---------- HEADER ---------- */
.bu-header { background: var(--bu-cream); border-bottom: 1px solid var(--bu-border); position: sticky; top: 0; z-index: 50; }
.bu-header__inner { display: flex; align-items: center; justify-content: space-between; height: 84px; gap: 32px; }
.bu-logo { text-decoration: none; display: inline-block; }
.bu-logo__signet { display: block; height: 34px; width: auto; }
.bu-logo__word { font-family: var(--bu-serif); font-size: 27px; line-height: 1; color: var(--bu-navy); letter-spacing: -.01em; }
.bu-logo__word b { font-weight: 700; }
.bu-logo__word i { font-weight: 500; font-style: italic; color: var(--bu-navy-2); }
.bu-logo__rule { display: flex; gap: 5px; margin-top: 8px; }
.bu-logo__rule span { height: 3px; border-radius: 2px; }
.bu-logo__rule span:first-child { width: 46px; background: var(--bu-gold); }
.bu-logo__rule span:last-child { width: 78px; background: var(--bu-navy); }

.bu-nav { display: flex; align-items: center; gap: 6px; }
/* wp_nav_menu outputs <li> items (items_wrap %3$s drops the <ul>); neutralise list markers so the menu reads as flat links. */
.bu-nav ul { display: contents; margin: 0; padding: 0; list-style: none; }
.bu-nav li { list-style: none; margin: 0; padding: 0; }
.bu-nav a { padding: 10px 14px; font-size: 15.5px; font-weight: 600; color: #3B362E; text-decoration: none; border-radius: 8px; transition: color .15s, background .15s; }
.bu-nav a:hover, .bu-nav .current-menu-item > a, .bu-nav a.current-menu-item { color: var(--bu-navy); background: #F2EAD9; }
.bu-nav__search {
	display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin-left: 4px;
	background: transparent; border: 1px solid var(--bu-border-2); border-radius: 8px; cursor: pointer;
}
.bu-nav__search:hover { background: #F2EAD9; }
.bu-nav .bu-btn { margin-left: 8px; padding: 12px 20px; font-size: 15px; }

/* ---------- MOBILE NAV ---------- */
.bu-burger { display: none; width: 44px; height: 44px; border: 1px solid var(--bu-border-2); border-radius: 8px; background: transparent; cursor: pointer; padding: 0; }
.bu-burger span { display: block; width: 20px; height: 2px; background: var(--bu-navy); margin: 4px auto; transition: transform .2s, opacity .2s; }
.bu-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.bu-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.bu-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 900px) {
	.bu-burger { display: block; }
	.bu-nav {
		position: absolute; left: 0; right: 0; top: 100%;
		flex-direction: column; align-items: stretch; gap: 2px;
		background: var(--bu-cream); border-bottom: 1px solid var(--bu-border);
		padding: 12px var(--bu-gutter) 22px; box-shadow: 0 20px 30px -20px rgba(34,28,21,.3);
		display: none;
	}
	.bu-nav.is-open { display: flex; }
	.bu-nav a { padding: 12px 10px; font-size: 17px; }
	.bu-nav .bu-btn { margin: 8px 0 0; justify-content: center; }
	.bu-nav__search { display: none; }
	.bu-header__inner { position: relative; }
}

@media (max-width: 560px) {
	.bu-utility__org span:last-child { display: none; }
}

/* ---------- FOOTER ---------- */
.bu-footer { background: var(--bu-dark); color: #A99E8C; }
.bu-footer__top { padding: 72px 0 0; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 48px; }
.bu-footer__signet { display: block; height: 32px; width: auto; margin-bottom: 10px; }
.bu-footer__word { font-family: var(--bu-serif); font-size: 25px; line-height: 1; margin-bottom: 8px; }
.bu-footer__word b { font-weight: 700; color: #F3ECDD; }
.bu-footer__word i { font-weight: 500; font-style: italic; color: #897F6E; }
.bu-footer__rule { display: flex; gap: 5px; margin-bottom: 20px; }
.bu-footer__rule span { height: 3px; border-radius: 2px; }
.bu-footer__rule span:first-child { width: 40px; background: var(--bu-gold); }
.bu-footer__rule span:last-child { width: 64px; background: var(--bu-navy-2); }
.bu-footer__blurb { font-size: 14.5px; line-height: 1.6; color: #8C8273; max-width: 280px; }
.bu-footer__h { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #E0A93C; margin-bottom: 18px; }
.bu-footer__col a { font-size: 15px; color: #C2B8A6; text-decoration: none; }
.bu-footer__col a:hover { color: var(--bu-gold-hi); }
.bu-footer__nav { display: flex; flex-direction: column; gap: 11px; }
.bu-footer__nav ul, .bu-footer__legal ul { display: contents; margin: 0; padding: 0; list-style: none; }
.bu-footer__nav li, .bu-footer__legal li { list-style: none; margin: 0; padding: 0; }
.bu-footer__bank { font-size: 14.5px; line-height: 1.7; color: #C2B8A6; }
.bu-footer__bank .name { font-weight: 600; color: #E6DECF; }
.bu-footer__bank .muted { color: #8C8273; margin-top: 12px; }
.bu-footer__bottom {
	margin-top: 56px; border-top: 1px solid rgba(255,255,255,.1); padding: 26px 0 34px;
	display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
}
.bu-footer__legal { display: flex; gap: 22px; font-size: 13.5px; }
.bu-footer__legal a { color: #897F6E; text-decoration: none; }
.bu-footer__legal a:hover { color: #C2B8A6; }
.bu-footer__copy { font-size: 13px; color: #6E6557; }

@media (max-width: 900px) {
	.bu-footer__top { grid-template-columns: 1fr 1fr; gap: 36px; }
}
@media (max-width: 560px) {
	.bu-footer__top { grid-template-columns: 1fr; }
}

/* Skip link */
.bu-skip { position: absolute; left: -9999px; top: 0; background: var(--bu-navy); color: #fff; padding: 10px 16px; z-index: 100; border-radius: 0 0 8px 0; }
.bu-skip:focus { left: 0; }
