:root{
  --bfsgc-size-mobile:48px;
  --bfsgc-size-desktop:64px;
  --bfsgc-gap:16px;
  --bfsgc-bg:#1f2937;
  --bfsgc-fg:#ffffff;
  --bfsgc-bg-hover:#111827;
  --bfsgc-outline:3px solid #3b82f6;
}
.bfsgc-ac-btn{position:fixed;z-index:2147483620;padding:10px 12px;border-radius:999px;background:#111;color:#fff;border:none;cursor:pointer;font:14px/1 system-ui,sans-serif;box-shadow:0 6px 16px rgba(0,0,0,.2)}
.bfsgc-pos-top-left{top:16px;left:16px}.bfsgc-pos-top-right{top:16px;right:16px}
.bfsgc-pos-bottom-left{bottom:16px;left:16px}.bfsgc-pos-bottom-right{bottom:16px;right:16px}
html.bfsgc-high-contrast .bfsgc-focusable:focus{outline:3px solid #ffbf00 !important; outline-offset:2px !important;}


/* Icon-only accessibility button adjustments */
.bfsgc-ac-btn{
  width: var(--bfsgc-size-mobile);
  height: var(--bfsgc-size-mobile);
  border-radius: 9999px;
  background: var(--bfsgc-bg);
  color: var(--bfsgc-fg);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-indent: 0; /* ensure icon visible */
}

.bfsgc-ac-btn:hover,
.bfsgc-ac-btn:active{
  background: var(--bfsgc-bg-hover);
}

.bfsgc-ac-btn:focus{outline:none;}
.bfsgc-ac-btn:focus-visible{outline: var(--bfsgc-outline); outline-offset:3px;}

.bfsgc-a11y-icon{width:55%; height:55%; display:block;}

@media (min-width:768px){
  .bfsgc-ac-btn{ width: var(--bfsgc-size-desktop); height: var(--bfsgc-size-desktop); }
}

/* Screenreader-only helper */
.bfsgc-sr-only{
  position:absolute !important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);
  white-space:nowrap;border:0;
}


/* Larger icon inside the circular button */
.bfsgc-a11y-icon{width:78% !important; height:78% !important;}
@media (min-width:768px){
  .bfsgc-a11y-icon{width:82% !important; height:82% !important;}
}


:root{
  --bfsgc-on-bg:#16a34a;         /* green; change if needed */
  --bfsgc-on-outline:#22c55e;
}
.bfsgc-ac-btn.is-on{
  background: var(--bfsgc-on-bg) !important;
}
.bfsgc-ac-btn.is-on:focus-visible{
  outline: 3px solid var(--bfsgc-on-outline) !important;
  outline-offset: 3px;
}
.bfsgc-ac-btn.is-on .bfsgc-a11y-icon{
  transform: scale(0.96);
  transition: transform .12s ease-in-out;
}
/* sr-only utility (id also used for live region) */
.bfsgc-sr-only{
  position:absolute !important;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0);
  white-space:nowrap; border:0;
}
