/* ---------- Cookie consent banner + modal ---------- */

.bh-cookie-banner {
	position: fixed;
	bottom: 0; left: 0; right: 0;
	background: var(--bg-deep, #0E3A4B);
	color: #fff;
	z-index: 9999;
	transform: translateY(100%);
	transition: transform .4s cubic-bezier(.4, 0, .2, 1);
	box-shadow: 0 -4px 24px rgba(0,0,0,.15);
}
.bh-cookie-banner--visible { transform: translateY(0); }
.bh-cookie-banner__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 16px 24px;
	display: flex;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
}
.bh-cookie-banner__text { flex: 1 1 320px; }
.bh-cookie-banner__text strong { display: block; font-size: 15px; margin-bottom: 4px; }
.bh-cookie-banner__text p { margin: 0; font-size: 13px; line-height: 1.5; opacity: .92; color: #fff; }
.bh-cookie-banner__actions { display: flex; gap: 8px; flex-wrap: wrap; }

.bh-cookie-btn {
	padding: 10px 20px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	border: none;
	transition: background .15s, transform .05s;
	font-family: inherit;
}
.bh-cookie-btn:active { transform: scale(.98); }
.bh-cookie-btn--primary    { background: var(--accent, #C9A84A); color: var(--bg-deep, #0E3A4B); }
.bh-cookie-btn--primary:hover { background: var(--accent-coral-2, #B89640); }
.bh-cookie-btn--secondary  { background: rgba(255,255,255,.1); color: #fff; border: 1px solid rgba(255,255,255,.3); }
.bh-cookie-btn--secondary:hover { background: rgba(255,255,255,.2); }

.bh-cookie-modal {
	position: fixed; inset: 0; z-index: 10000;
	display: flex; align-items: center; justify-content: center;
}
.bh-cookie-modal[hidden] { display: none !important; }
.bh-cookie-modal__overlay {
	position: absolute; inset: 0;
	background: rgba(14, 58, 75, .6);
	backdrop-filter: blur(4px);
}
.bh-cookie-modal__panel {
	position: relative;
	background: #fff;
	max-width: 560px;
	width: calc(100% - 32px);
	max-height: 80vh;
	border-radius: 12px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 20px 60px rgba(14, 58, 75, .25);
}
.bh-cookie-modal__head {
	display: flex; align-items: center; justify-content: space-between;
	padding: 20px 24px;
	border-bottom: 1px solid var(--hairline, #E8E2D2);
}
.bh-cookie-modal__head h2 { margin: 0; font-size: 18px; font-weight: 600; color: var(--ink-900, #0E3A4B); font-family: inherit; }
.bh-cookie-modal__close {
	background: none; border: none; font-size: 28px; line-height: 1;
	cursor: pointer; color: var(--ink-700, #5A6470);
	width: 32px; height: 32px; border-radius: 50%;
}
.bh-cookie-modal__close:hover { background: var(--surface-1, #F5F1E8); }
.bh-cookie-modal__body { padding: 20px 24px; overflow-y: auto; flex: 1; }
.bh-cookie-modal__body p { font-size: 14px; line-height: 1.55; color: var(--ink-700, #5A6470); }
.bh-cookie-modal__foot {
	display: flex; gap: 12px; justify-content: flex-end;
	padding: 16px 24px;
	border-top: 1px solid var(--hairline, #E8E2D2);
	background: var(--surface-1, #F5F1E8);
}

.bh-cookie-cat {
	background: var(--surface-1, #F5F1E8);
	border-radius: 8px;
	padding: 14px 16px;
	margin: 12px 0;
}
.bh-cookie-cat__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.bh-cookie-cat__head strong { font-size: 14px; color: var(--ink-900, #0E3A4B); }
.bh-cookie-cat__desc { font-size: 12px; line-height: 1.5; color: var(--ink-700, #5A6470); margin: 0; }

.bh-cookie-toggle { position: relative; display: inline-block; width: 40px; height: 22px; flex-shrink: 0; }
.bh-cookie-toggle input { opacity: 0; width: 0; height: 0; }
.bh-cookie-toggle__slider {
	position: absolute; cursor: pointer; inset: 0;
	background: #cbd2dd; transition: .3s; border-radius: 22px;
}
.bh-cookie-toggle__slider::before {
	position: absolute; content: "";
	height: 16px; width: 16px;
	left: 3px; bottom: 3px;
	background: #fff; transition: .3s; border-radius: 50%;
}
.bh-cookie-toggle input:checked + .bh-cookie-toggle__slider { background: var(--accent, #C9A84A); }
.bh-cookie-toggle input:checked + .bh-cookie-toggle__slider::before { transform: translateX(18px); }
.bh-cookie-toggle input:disabled + .bh-cookie-toggle__slider { opacity: .5; cursor: not-allowed; }

@media (max-width: 720px) {
	.bh-cookie-banner__inner { flex-direction: column; align-items: stretch; }
	.bh-cookie-banner__actions { justify-content: stretch; }
	.bh-cookie-banner__actions .bh-cookie-btn { flex: 1 1 auto; }
	.bh-cookie-modal__panel { max-height: 92vh; }
	/* (mobile sticky CTA is hidden ≤900px via theme.css; nothing to lift on small screens) */
}

@media (prefers-reduced-motion: reduce) {
	.bh-cookie-banner { transition: none; }
	.bh-cookie-toggle__slider, .bh-cookie-toggle__slider::before { transition: none; }
}
