/*
 * 法務フッター（指示書5.5節）：固定フッターメニューとは別に、本文の最後に残す通常表示のフッター。
 * HTML構造はPhase 2から変更していない（bws-footer、bws-footer__contact）。ここでは
 * header.cssと合わせて配色だけ新ブランドカラーに更新した。
 */
.bws-footer {
	border-top: 1px solid var(--bws-border);
	background: #fff;
	padding: 24px 20px;
	text-align: center;
	font-size: 0.72rem;
	color: var(--bws-muted);
}
.bws-footer a { color: var(--bws-muted); margin: 0 8px; text-decoration: none; }
.bws-footer a:hover { color: var(--bws-color-primary-text); }

/*
 * 固定フッターメニュー（指示書5.3節）：ホーム／投稿一覧／企業一覧／メニューの4項目。
 * header.cssのヘッダーと同じ理由（overflow-x:hiddenとposition:stickyの相性問題を避けるため）で
 * position:fixed＋左右中央寄せにし、.bws-appと同じ最大幅に揃えて中央配置する。
 */
.bws-footernav {
	position: fixed;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	width: 100%;
	max-width: var(--bws-app-max-width);
	display: flex;
	background: #fff;
	border-top: 1px solid var(--bws-border);
	/* iPhone等の画面下端の安全領域（ホームバー等）に、項目が隠れないようにする。 */
	padding-bottom: env(safe-area-inset-bottom, 0px);
	z-index: 600;
}
@media (max-width: 480px) {
	.bws-footernav { max-width: 100%; }
}

.bws-footernav__item {
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	/* 実用上44px前後のタップ領域を確保する（指示書13章）。 */
	min-height: 48px;
	padding: 8px 4px;
	background: none;
	border: none;
	color: var(--bws-muted);
	text-decoration: none;
	font-size: 0.66rem;
	line-height: 1.2;
	font-family: inherit;
	cursor: pointer;
}
.bws-footernav__icon { display: flex; }
.bws-footernav__icon svg { width: 22px; height: 22px; }

/* 現在地の表示（指示書5.3節・NAV-08）：色だけに頼らず、アイコンの線の色も一緒に変える
   （svgはstroke="currentColor"のため、ここでのcolor指定がそのままアイコンにも反映される）。 */
.bws-footernav__item.is-active {
	color: var(--bws-color-primary-text);
	font-weight: 700;
}

/* 固定フッターメニューの高さぶん、本文の最後が隠れないよう.bws-appの末尾に余白を入れる（5.3節）。
   数値はfooternavの実際の高さ（min-height 48px + 上下padding 16px ≒ 64px）に安全マージンを足したもの。 */
.bws-footernav-spacer {
	height: calc(64px + env(safe-area-inset-bottom, 0px));
}

/*
 * 共通メニュー（指示書5.4節）：上部ハンバーガーと下部「メニュー」ボタンの両方から開く、
 * 同一のメニュー。開閉はassets/js/header.js（プラグイン側）が、
 * aria-controls="bws-menu" を持つボタンをすべて連動させて行う。
 * 表示・非表示はhidden属性で切り替える（既存のbws-lightboxと同じ方式に揃えた）。
 */
.bws-menu {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
	display: flex;
	align-items: flex-end;
	justify-content: center;
	z-index: 700;
}
.bws-menu[hidden] { display: none; }

.bws-menu__panel {
	width: 100%;
	max-width: var(--bws-app-max-width);
	max-height: 80vh;
	overflow-y: auto;
	background: #fff;
	border-radius: 16px 16px 0 0;
	padding-bottom: env(safe-area-inset-bottom, 0px);
}
.bws-menu__panel-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px 6px;
}
.bws-menu__panel-title {
	font-weight: 700;
	color: var(--bws-color-heading);
}
.bws-menu__close {
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	font-size: 1.4rem;
	line-height: 1;
	color: var(--bws-muted);
	cursor: pointer;
}
.bws-menu__nav {
	display: flex;
	flex-direction: column;
	padding: 4px 16px 12px;
}
.bws-menu__nav a {
	padding: 13px 4px;
	border-bottom: 1px solid var(--bws-border);
	color: var(--bws-color-heading);
	text-decoration: none;
	font-size: 0.95rem;
}
.bws-menu__nav a:last-child { border-bottom: none; }
.bws-menu__nav a:hover { color: var(--bws-color-primary-text); }
