/* Footer high fidelity: design-system/footer-forms.md. Scoped away from plugin forms. */
.bbr-footer-container { width:min(100% - var(--bbr-gutter)*2,var(--bbr-container)); margin-inline:auto; }
.bbr-footer { padding-block:var(--bbr-space-12) var(--bbr-space-6); background:var(--bbr-chrome); color:var(--bbr-on-chrome); --bbr-muted:#c1c2b9; --bbr-link:var(--bbr-brand); --bbr-border:var(--bbr-chrome-border); }
.bbr-footer-grid { display:grid; grid-template-columns:minmax(240px,1.4fr) repeat(3,minmax(0,1fr)); gap:var(--bbr-space-10); margin-top:0; align-items:start; }
.bbr-footer-brand { grid-column:auto; }
.bbr-footer :is(a,p) { display:block; color:var(--bbr-muted); font-size:13px; margin:0 0 10px; text-decoration:none; }
body.bbr-native .bbr-footer a { color:var(--bbr-muted); }
.bbr-footer a:hover,body.bbr-native .bbr-footer a:hover { color:var(--bbr-brand); }
.bbr-footer :focus-visible { outline:3px solid var(--bbr-focus); outline-offset:4px; }
.bbr-footer-brand .bbr-footer-logo { display:block; width:230px; max-width:100%; height:76px; margin:0 0 var(--bbr-space-6); }
.bbr-footer-brand .bbr-footer-logo img { display:block; width:100%; height:100%; max-height:none; object-fit:contain; }
.bbr-footer .footer-title,body.bbr-native .bbr-footer .footer-title { display:block; font-size:var(--bbr-text-sm); font-weight:700; line-height:1.4; letter-spacing:.04em; color:var(--bbr-on-chrome); margin:0 0 var(--bbr-space-4); text-transform:uppercase; overflow-wrap:anywhere; }
.bbr-footer nav ul { list-style:none; padding:0; margin:0; }
.bbr-footer nav li { margin:0; min-width:0; }
.bbr-footer nav a { display:inline-flex; align-items:center; min-height:36px; margin:0; padding-block:6px; font-size:var(--bbr-text-sm); text-underline-offset:4px; overflow-wrap:anywhere; }
.bbr-footer nav a:hover { text-decoration:underline; }
.bbr-footer nav .sub-menu { padding-inline-start:var(--bbr-space-4); }
.bbr-footer-contacts { max-width:28ch; line-height:1.7; overflow-wrap:anywhere; }
.bbr-footer-contacts p,.bbr-footer-contacts a { font-size:var(--bbr-text-sm); }
.bbr-footer-contacts a { display:inline-block; }
.bbr-footer-contacts :is(ul,ol) { padding-inline-start:var(--bbr-space-5); }
.bbr-footer-widget { margin:0; }
.bbr-footer-widget :is(h2,h3,h4,h5,h6) { font-size:var(--bbr-text-sm); font-weight:700; line-height:1.4; letter-spacing:.04em; margin:0 0 var(--bbr-space-4); text-transform:uppercase; }
.bbr-footer-legal { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:var(--bbr-space-4); border-top:1px solid var(--bbr-border); margin-top:var(--bbr-space-8); padding-top:var(--bbr-space-6); font-size:var(--bbr-text-xs); color:var(--bbr-muted); }
.bbr-footer-legal > span { white-space:normal; overflow-wrap:anywhere; }
.bbr-footer-legal .bbr-language-form { flex-shrink:0; margin:0; margin-inline-start:auto; }
.bbr-footer-newsletter { padding-block:var(--bbr-space-16); border-block:1px solid var(--bbr-border); background:var(--bbr-surface-raised); }
.bbr-footer-newsletter > .bbr-footer-container { display:grid; grid-template-columns:1fr 1fr; gap:var(--bbr-space-16); align-items:start; }
.bbr-footer-newsletter :is(h2,p) { margin:0 0 var(--bbr-space-4); }
.bbr-footer-newsletter h2 { font-size:var(--bbr-text-xl); font-weight:700; line-height:1.25; letter-spacing:-.02em; max-width:27ch; margin-bottom:var(--bbr-space-5); text-transform:uppercase; }
.bbr-footer-newsletter h2::before { content:""; display:block; width:var(--bbr-space-12); height:var(--bbr-space-1); background:var(--bbr-brand); margin-bottom:var(--bbr-space-4); }
.bbr-footer-newsletter p { max-width:530px; color:var(--bbr-muted); }
.bbr-footer-newsletter-form { min-width:0; }
.bbr-footer-newsletter .bbr-newsletter-fields { display:grid; grid-template-columns:1fr 1fr; gap:var(--bbr-space-4) var(--bbr-space-5); }
.bbr-newsletter-fields > * { min-width:0; }
.bbr-footer-newsletter .bbr-newsletter-wide { grid-column:1/-1; }
.bbr-footer-newsletter label { display:block; font-size:var(--bbr-text-sm); font-weight:600; }
.bbr-footer-newsletter label > :is(input,select,textarea) { margin-top:var(--bbr-space-2); }
#bbr-footer-newsletter :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),select,textarea) { width:100%; min-width:0; min-height:48px; padding:12px 14px; font-size:var(--bbr-text-md); line-height:1.5; border:1px solid var(--bbr-control-border); border-radius:var(--bbr-radius-sm); background:var(--bbr-input); color:var(--bbr-text); transition:border-color var(--bbr-duration),background-color var(--bbr-duration),box-shadow var(--bbr-duration); }
#bbr-footer-newsletter :is(input,select,textarea):not(:disabled):hover { border-color:var(--bbr-text); }
#bbr-footer-newsletter :is(input,select,textarea):focus-visible { outline:2px solid var(--bbr-focus); outline-offset:3px; }
#bbr-footer-newsletter :is(input,select,textarea)[aria-invalid="true"],#bbr-footer-newsletter :is(input,select,textarea):user-invalid { border-color:var(--bbr-danger); }
#bbr-footer-newsletter :is(input,select,textarea):disabled { cursor:not-allowed; opacity:.55; }
#bbr-footer-newsletter :is(input,textarea)[readonly] { background:var(--bbr-surface); color:var(--bbr-muted); }
.bbr-footer-newsletter textarea { resize:vertical; min-height:120px; }
#bbr-footer-newsletter :is(input,textarea)::placeholder { color:var(--bbr-muted); opacity:.75; }
.bbr-footer-newsletter .field-hint { display:block; margin:0; font-size:var(--bbr-text-xs); font-weight:400; line-height:1.5; color:var(--bbr-muted); }
.bbr-footer-newsletter label.bbr-newsletter-check { display:flex; align-items:flex-start; gap:var(--bbr-space-3); min-height:44px; cursor:pointer; line-height:1.5; font-weight:400; color:var(--bbr-muted); }
.bbr-newsletter-check input { width:20px; height:20px; min-height:20px; margin:2px 0 0; accent-color:var(--bbr-brand); flex-shrink:0; }
.bbr-footer-newsletter .bbr-newsletter-actions { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:var(--bbr-space-4); }
.bbr-footer-newsletter :is(button,input[type="submit"]) { display:inline-flex; justify-content:center; align-items:center; gap:10px; min-height:48px; padding:12px 20px; border:1px solid transparent; border-radius:var(--bbr-radius-sm); background:var(--bbr-brand); color:#080d0e; font-size:var(--bbr-text-sm); font-weight:700; line-height:1.3; }
.bbr-footer-newsletter :is(button,input[type="submit"]):hover { background:var(--bbr-brand-hover); }
.bbr-footer-newsletter small { font-size:var(--bbr-text-sm); color:var(--bbr-muted); }
.bbr-footer-newsletter label em { font-style:normal; color:var(--bbr-brand); }
.bbr-footer-newsletter label:has(> :disabled) { color:var(--bbr-muted); }
.bbr-footer-newsletter .bbr-newsletter-check:has(:disabled) { cursor:not-allowed; opacity:.65; }
@media(max-width:1100px) {
    .bbr-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--bbr-space-8); }
    .bbr-footer-newsletter > .bbr-footer-container { gap:var(--bbr-space-8); }
}
@media(max-width:760px) { .bbr-footer-newsletter { padding-block:var(--bbr-space-10); } .bbr-footer-newsletter > .bbr-footer-container,.bbr-footer-newsletter .bbr-newsletter-fields { grid-template-columns:1fr; } }
@media(max-width:600px) {
    .bbr-footer-grid { grid-template-columns:1fr; }
    .bbr-footer-brand .bbr-footer-logo { width:210px; height:70px; }
    .bbr-footer nav a { min-height:44px; }
    .bbr-footer-newsletter .bbr-newsletter-actions { align-items:stretch; }
    .bbr-newsletter-actions :is(button,input[type="submit"]) { width:100%; }
}
@media(prefers-reduced-motion:reduce) { #bbr-footer-newsletter :is(input,select,textarea) { transition:none; } }
