/* Coffee Buddy v0.11.273 – soft functional icons and inverted active states. */
:is(.floating-toolbar .toolbar-button:not(.profile-button), #map-add-venue) {
  --cb-button-surface: #fffaf0;
  --cb-icon-accent: #bd8139;
  color: #684832;
  background: var(--cb-button-surface);
  border: 1px solid rgba(78, 64, 40, .13);
  border-radius: 17px;
  box-shadow: 0 5px 13px rgba(43, 48, 33, .16), inset 0 1px 0 rgba(255,255,255,.9);
  transition: background-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease;
  animation: none;
  cursor: pointer;
}
.cb-action-icon { display: block; width: 28px; height: 28px; overflow: visible; pointer-events: none; }
.cb-action-icon .cb-icon-accent { color: var(--cb-icon-accent, #bd8139); }
.cb-action-icon .cb-icon-cutout { color: var(--cb-button-surface, #fffaf0); }
:is(.floating-toolbar .toolbar-button:not(.profile-button), #map-add-venue):hover {
  background: var(--cb-button-surface); box-shadow: 0 7px 17px rgba(43,48,33,.21), inset 0 1px 0 rgba(255,255,255,.5);
}
:is(.floating-toolbar .toolbar-button:not(.profile-button), #map-add-venue):is(.is-active, .active, [aria-pressed="true"], [aria-expanded="true"]) {
  --cb-button-surface: #79583f;
  --cb-icon-accent: #f0cf9f;
  background: var(--cb-button-surface);
  color: #fffaf0;
  border-color: #79583f;
  box-shadow: 0 5px 14px rgba(89,59,37,.25), inset 0 1px 0 rgba(255,255,255,.12);
  animation: none;
}
:is(.floating-toolbar .toolbar-button:not(.profile-button), #map-add-venue):active { transform: translateY(1px) scale(.96); }
:is(.floating-toolbar .toolbar-button, #map-add-venue):focus-visible { outline: 3px solid #bd8139; outline-offset: 3px; }
:is(.floating-toolbar .toolbar-button, #map-add-venue):disabled { opacity: .45; cursor: not-allowed; transform: none; }
#map-add-venue { display: grid; place-items: center; padding: 0; width: 50px; height: 50px; }
#map-add-venue[hidden] { display: none !important; }
.floating-toolbar .toolbar-button.is-loading > span:not(.toolbar-badge):not(.charging-toggle-mode-badge) { animation: cb-action-loading .8s ease-in-out infinite alternate !important; }
@keyframes cb-action-loading { to { opacity: .45; } }
@media (prefers-reduced-motion: reduce) {
  :is(.floating-toolbar .toolbar-button, #map-add-venue) { transition: none; }
  .floating-toolbar .toolbar-button.is-loading > span:not(.toolbar-badge):not(.charging-toggle-mode-badge) { animation: none !important; }
}

.floating-toolbar .toolbar-button.is-loading :is(.toolbar-badge, .charging-toggle-mode-badge) { animation: none !important; }

/* Shared dimensions and safe right inset, including the lower map controls. */
:root { --cb-control-size: 50px; --cb-control-right: 12px; }
.floating-toolbar .toolbar-button,
.floating-toolbar .charging-control,
#map-add-venue,
#locate-button {
  box-sizing: border-box;
  width: var(--cb-control-size);
  height: var(--cb-control-size);
  min-width: var(--cb-control-size);
  min-height: var(--cb-control-size);
  flex-shrink: 0;
}
#locate-button { display: grid; place-items: center; padding: 0; border-radius: 17px; }
#locate-button { background: #79583f; color: #fffaf0; }
#locate-button.is-following { background: #684832; box-shadow: 0 0 0 5px rgba(121,88,63,.18), var(--shadow); }
#locate-button.is-following::after { border-color: rgba(121,88,63,.45); }
.floating-toolbar,
.map-actions { right: max(var(--cb-control-right), env(safe-area-inset-right, 0px)); }
@media (max-width: 820px) {
  :root { --cb-control-size: 46px; --cb-control-right: 9px; }
}

/* Small visual compass, with a full touch target above the attribution strip. */
.coffee-buddy-compass-control {
  margin-left: max(2px, env(safe-area-inset-left, 0px)) !important;
  margin-bottom: 4px !important;
}
#map.map-provider-google .coffee-buddy-compass-control { margin-bottom: 0 !important; }
.coffee-buddy-compass-button {
  position: relative; width: 44px; height: 44px;
  background: transparent; box-shadow: none; border-radius: 12px;
}
.coffee-buddy-compass-button::before {
  content: ""; position: absolute; bottom: 0; left: 6px;
  width: 32px; height: 32px; border-radius: 11px;
  background: rgba(255,250,240,.88);
  box-shadow: 0 1px 4px rgba(35,49,37,.1);
  pointer-events: none;
}
.coffee-buddy-compass-button:hover,
.coffee-buddy-compass-button:focus-visible { background: transparent; }
.coffee-buddy-compass-button:hover::before { background: #fffaf0; }
.coffee-buddy-compass-button:focus-visible { outline: 2px solid #bd8139; outline-offset: 1px; }
.coffee-buddy-compass-needle { position: absolute; bottom: 5px; left: 11px; }
.coffee-buddy-compass-needle b { color: #806b58; font-size: 9px; font-weight: 650; }
.coffee-buddy-compass-needle i { border-left-width: 4px; border-right-width: 4px; border-bottom: 10px solid #806b58; }
