/* ============================================================
   BACKWOODS — Header & Footer  (Revision 2)
   Header: paper background, pitch text.
   Footer: pitch background, card text.
   Mobile-first.
   ============================================================ */

/* ----------------------------------------------------------
   HEADER
   ---------------------------------------------------------- */
.bw-site-header {
	background-color: var(--bw-paper);
	border-bottom   : 1px solid rgba(31, 26, 21, 0.12);
	width           : 100%;
}

.bw-header-inner {
	display        : flex;
	align-items    : center;
	justify-content: space-between;
	flex-wrap      : wrap;
	gap            : 16px;
	padding-block  : 20px;
	padding-inline : var(--bw-gutter);
	max-width      : calc(var(--bw-max-width) + 2 * var(--bw-gutter));
	margin-inline  : auto;
}

@media (min-width: 769px) {
	.bw-header-inner {
		flex-wrap: nowrap;
		gap      : 40px;
	}
}

/* Wordmark */
.bw-wordmark,
.bw-wordmark a,
.bw-wordmark .wp-block-site-title a {
	font-family    : var(--bw-display);
	font-weight    : 600;
	font-stretch   : 125%;
	font-size      : 1rem;
	letter-spacing : 0.14em;
	text-transform : uppercase;
	color          : var(--bw-pitch);
	text-decoration: none;
	white-space    : nowrap;
}

.bw-wordmark a:hover,
.bw-wordmark .wp-block-site-title a:hover {
	color: var(--bw-brass);
}

/* Primary nav */
.bw-primary-nav {
	flex: 1;
}

.bw-primary-nav .wp-block-navigation__container {
	display        : flex;
	flex-wrap      : wrap;
	gap            : 24px;
	align-items    : center;
	justify-content: flex-end;
}

@media (min-width: 769px) {
	.bw-primary-nav .wp-block-navigation__container {
		gap: 32px;
	}
}

.bw-primary-nav .wp-block-navigation-item__content {
	font-family    : var(--bw-mono);
	font-size      : 0.75rem;
	font-weight    : 500;
	text-transform : uppercase;
	letter-spacing : 0.08em;
	color          : var(--bw-ash);
	text-decoration: none;
	padding        : 0;
	min-height     : 44px;
	display        : inline-flex;
	align-items    : center;
	transition     : color 150ms ease;
}

.bw-primary-nav .wp-block-navigation-item__content:hover,
.bw-primary-nav .current-menu-item .wp-block-navigation-item__content {
	color: var(--bw-pitch);
}

/* Mobile overlay toggle */
.bw-primary-nav .wp-block-navigation__responsive-container-open,
.bw-primary-nav .wp-block-navigation__responsive-container-close {
	color     : var(--bw-ash);
	min-width : 44px;
	min-height: 44px;
}

.bw-primary-nav .wp-block-navigation__responsive-container-open:focus-visible,
.bw-primary-nav .wp-block-navigation__responsive-container-close:focus-visible {
	outline       : 2px solid var(--bw-brass);
	outline-offset: 3px;
}

.bw-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--bw-paper);
	color           : var(--bw-pitch);
}

/* ----------------------------------------------------------
   FOOTER — pitch dark band
   ---------------------------------------------------------- */
.bw-site-footer {
	background-color: var(--bw-pitch);
	border-top      : none;
	margin-top      : auto;
}

.bw-footer-columns-wrap {
	padding-inline: var(--bw-gutter);
	max-width     : calc(var(--bw-max-width) + 2 * var(--bw-gutter));
	margin-inline : auto;
}

.bw-footer-columns {
	padding-block: 48px 40px;
	gap          : 32px;
}

@media (min-width: 769px) {
	.bw-footer-columns {
		padding-block: 64px 48px;
		gap          : 48px;
	}
}

/* Health warning — compliance; card text on pitch */
.bw-health-warning {
	font-family    : var(--bw-mono);
	font-size      : 0.75rem;
	font-weight    : 500;
	text-transform : uppercase;
	letter-spacing : 0.06em;
	line-height    : 1.7;
	color          : var(--bw-card);
	border         : 1px solid rgba(244, 241, 234, 0.35);
	padding        : 16px;
	margin         : 0;
}

/* Retailer column */
.bw-footer-col--retailer p {
	font-family    : var(--bw-mono);
	font-size      : 0.75rem;
	font-weight    : 500;
	text-transform : uppercase;
	letter-spacing : 0.06em;
	line-height    : 1.9;
	color          : var(--bw-kraft);
	margin         : 0;
}

/* Footer nav */
.bw-footer-nav .wp-block-navigation__container {
	display       : flex;
	flex-direction: column;
	gap           : 12px;
}

.bw-footer-nav .wp-block-navigation-item__content {
	font-family    : var(--bw-mono);
	font-size      : 0.75rem;
	font-weight    : 500;
	text-transform : uppercase;
	letter-spacing : 0.06em;
	color          : var(--bw-kraft);
	text-decoration: none;
	padding        : 0;
	transition     : color 150ms ease;
}

.bw-footer-nav .wp-block-navigation-item__content:hover {
	color: var(--bw-card);
}

.bw-footer-nav .wp-block-navigation-item__content:focus-visible {
	outline       : 2px solid var(--bw-kraft);
	outline-offset: 3px;
}

/* Bottom bar */
.bw-footer-bottom {
	padding-inline: var(--bw-gutter);
	padding-bottom: 32px;
	max-width     : calc(var(--bw-max-width) + 2 * var(--bw-gutter));
	margin-inline : auto;
}

.bw-footer-rule {
	border-top: 1px solid rgba(244, 241, 234, 0.15) !important;
	margin-block: 0 24px !important;
	height      : 0 !important;
	background  : none !important;
	max-width   : none;
}

.bw-footer-legal-bar {
	font-family: var(--bw-mono);
	font-size  : 0.6875rem;
	line-height: 1.7;
	color      : var(--bw-kraft);
	margin     : 0;
	opacity    : 0.75;
}

/* ----------------------------------------------------------
   MINI CART — header cart icon
   ---------------------------------------------------------- */
.bw-mini-cart .wc-block-mini-cart__button {
	background  : none;
	border      : none;
	cursor      : pointer;
	padding     : 4px 0;
	color       : var(--bw-ash);
	transition  : color 150ms ease;
	min-height  : 44px;
	display     : flex;
	align-items : center;
	gap         : 6px;
}

.bw-mini-cart .wc-block-mini-cart__button:hover {
	color: var(--bw-pitch);
}

.bw-mini-cart .wc-block-mini-cart__quantity-badge {
	font-family   : var(--bw-mono);
	font-size     : 0.6875rem;
	font-weight   : 500;
	background    : var(--bw-brass);
	color         : var(--bw-pitch);
	border-radius : 50%;
	width         : 18px;
	height        : 18px;
	display       : inline-flex;
	align-items   : center;
	justify-content: center;
}

/* Mini-cart drawer */
.wc-block-mini-cart__drawer .components-panel {
	background: var(--bw-paper);
}

.wc-block-mini-cart__footer .wc-block-components-totals-footer-item {
	font-family: var(--bw-body);
	font-weight: 500;
	color      : var(--bw-pitch);
}

.wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-checkout {
	background-color: var(--bw-pitch) !important;
	color           : var(--bw-card) !important;
	font-family     : var(--bw-mono) !important;
	font-size       : 0.75rem !important;
	font-weight     : 500 !important;
	text-transform  : uppercase !important;
	letter-spacing  : 0.1em !important;
	border-radius   : 0 !important;
	transition      : background-color 150ms ease !important;
}

.wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-checkout:hover {
	background-color: var(--bw-bark) !important;
}

.wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-cart {
	font-family   : var(--bw-mono) !important;
	font-size     : 0.75rem !important;
	font-weight   : 500 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	color         : var(--bw-brass) !important;
	border-radius : 0 !important;
}
