/* Consent banner and chat placeholder (includes/consent.php, Claude Design 2026-10-27 "Consent Placeholders").
   Banner: bottom left 24, 520 wide, #0d0940, hairline .16, radius 24, deep shadow, padding 26/28, gap 18; title 700
   20/1.3, text 600 13.5/1.5 .82; groups between hairlines (14/0: name 700 14.5, text 600 12.5/1.45 .68, "Always on" 600
   12 .68); switch 44×26 (off .22, on Sunshade, knob 20); "Only necessary" and "Accept all" alike (1.5px .4 outline,
   700 13.5, 11/0, two columns gap 10), "Save my selection" as a Sunshade text button. Chat placeholder: bottom right 24,
   "or email …" 600 12.5 .68, the button 1.5px .4 outline on ink, 700 13.5, 11/22, Sunshade dot 9. */
.bd-consent { position: fixed; left: 24px; bottom: 24px; z-index: 1000; box-sizing: border-box; width: 520px; max-width: calc(100vw - 48px); max-height: calc(100dvh - 48px); overflow-y: auto; display: flex; flex-direction: column; gap: 18px; padding: 26px 28px; border: 1px solid rgba(247,248,249,.16); border-radius: var(--bd-r-card); background: #0d0940; box-shadow: 0 24px 60px rgba(0,0,0,.5); color: var(--bd-haze); }
.bd-consent[hidden] { display: none; }
.bd-consent__title { margin: 0; font: 700 20px/1.3 var(--wp--preset--font-family--montserrat); color: var(--bd-haze); }
.bd-consent__title:focus { outline: none; }
.bd-consent__title:focus-visible { outline: 2px solid var(--bd-sun); outline-offset: 3px; }
.bd-consent__text { margin: -12px 0 0; font: 600 13.5px/1.5 var(--wp--preset--font-family--montserrat); color: rgba(247,248,249,.82); }
.bd-consent__text a { color: var(--bd-sun); }
.bd-consent__groups { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(247,248,249,.14); }
.bd-consent__group { display: flex; align-items: center; gap: 16px; margin: 0; padding: 14px 0; border-bottom: 1px solid rgba(247,248,249,.14); }
.bd-consent__label { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.bd-consent__name { font: 700 14.5px/1.3 var(--wp--preset--font-family--montserrat); color: var(--bd-haze); }
.bd-consent__desc { font: 600 12.5px/1.45 var(--wp--preset--font-family--montserrat); color: rgba(247,248,249,.68); }
.bd-consent__always { flex: none; font: 600 12px/1.3 var(--wp--preset--font-family--montserrat); color: rgba(247,248,249,.68); }
.bd-consent__switch { flex: none; box-sizing: border-box; width: 44px; height: 26px; margin: 0; padding: 3px; border: 0; border-radius: var(--bd-r-pill); background: rgba(247,248,249,.22); cursor: pointer; transition: background 180ms ease-out; }
.bd-consent__switch[aria-checked="true"] { background: var(--bd-sun); }
.bd-consent__knob { display: block; width: 20px; height: 20px; border-radius: var(--bd-r-pill); background: var(--bd-haze); transition: transform 180ms ease-out; }
.bd-consent__switch[aria-checked="true"] .bd-consent__knob { transform: translateX(18px); }
.bd-consent__switch:focus-visible, .bd-consent__btn:focus-visible, .bd-consent__save:focus-visible { outline: 2px solid var(--bd-sun); outline-offset: 3px; }
.bd-consent__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.bd-consent__btn { margin: 0; padding: 11px 8px; min-height: 44px; border: 1.5px solid rgba(255,255,255,.4); border-radius: var(--bd-r-pill); background: none; font: 700 13.5px/1.2 var(--wp--preset--font-family--montserrat); color: #fff; cursor: pointer; transition: border-color 180ms ease-out; }
.bd-consent__btn:hover { border-color: var(--bd-sun); }
.bd-consent__save { align-self: center; margin: -6px 0 0; padding: 6px 10px; border: 0; background: none; font: 700 13px/1.2 var(--wp--preset--font-family--montserrat); color: var(--bd-sun); cursor: pointer; }
.bd-consent__save:hover { color: #fcb877; }

.bd-chat { position: fixed; right: 24px; bottom: 24px; z-index: 900; display: flex; align-items: center; gap: 14px; }
.bd-chat[hidden] { display: none; }
.bd-chat__mail { font: 600 12.5px/1.4 var(--wp--preset--font-family--montserrat); color: rgba(247,248,249,.68); }
.bd-chat__mail a { color: var(--bd-sun); }
.bd-chat__btn { display: flex; align-items: center; gap: 9px; min-height: 44px; margin: 0; padding: 11px 22px; border: 1.5px solid rgba(255,255,255,.4); border-radius: var(--bd-r-pill); background: var(--bd-ink); font: 700 13.5px/1.2 var(--wp--preset--font-family--montserrat); color: #fff; cursor: pointer; transition: border-color 180ms ease-out; }
.bd-chat__btn:hover { border-color: var(--bd-sun); }
.bd-chat__btn:focus-visible { outline: 2px solid var(--bd-sun); outline-offset: 3px; }
.bd-chat__dot { width: 9px; height: 9px; border-radius: var(--bd-r-pill); background: var(--bd-sun); }

@media (max-width: 767px) {
	.bd-consent { left: 16px; right: 16px; bottom: 16px; width: auto; max-width: none; max-height: calc(100dvh - 32px); padding: 22px 20px; gap: 16px; }
	.bd-consent__text { margin-top: -10px; }
	.bd-chat { right: 16px; bottom: 16px; flex-direction: column-reverse; align-items: flex-end; gap: 6px; }
	.bd-chat__mail { padding: 2px 8px; border-radius: var(--bd-r-sm); background: rgba(5,1,52,.85); }
}
