/* Gamelade Preferred Sources v1.0.3 — cohesive Gamelade / Google Follow design tokens. */
.gsf-follow-row.gpsp-priority-integrated,
.gpsp-own-row,
.gpsp-shortcode {
  --gpsp-ink: #30223b;
  --gpsp-brand: #4e124e;
  --gpsp-border: #dbcee9;
  --gpsp-focus: #71579b;
  --gpsp-height: 31px;
  --gpsp-shadow: 0 1px 2px rgba(44, 12, 66, .055);
}

.gpsp-preferred-button {
  all: unset;
  display: inline-flex !important;
  box-sizing: border-box !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 240px !important;
  width: 240px !important;
  height: var(--gpsp-height, 31px) !important;
  max-width: 100% !important;
  min-width: 0 !important;
  line-height: 0 !important;
  vertical-align: middle !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: var(--gpsp-shadow, 0 1px 2px rgba(44, 12, 66, .055)) !important;
  cursor: pointer !important;
  text-decoration: none !important;
  -webkit-tap-highlight-color: transparent;
  transition: transform .17s ease, box-shadow .17s ease !important;
}
.gpsp-preferred-button > svg {
  display: none !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  pointer-events: none !important;
  shape-rendering: geometricPrecision;
}
.gpsp-preferred-button > .gpsp-svg--desktop { display: block !important; }
.gpsp-preferred-button:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(85,43,110,.13) !important; }
.gpsp-preferred-button:active { transform: translateY(0); }
.gpsp-preferred-button:focus-visible { outline: 2px solid var(--gpsp-focus, #71579b) !important; outline-offset: 3px !important; }
.gpsp-shortcode { display: inline-flex !important; vertical-align: middle !important; }
/* Reuse the layout created by the existing Gamelade Google Follow plugin. */
.gsf-follow-row.gpsp-priority-integrated {
  display: flex !important;
  flex-flow: row nowrap !important;
  gap: 10px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: 100% !important;
  max-width: 100% !important;
}
.gsf-follow-row.gpsp-priority-integrated > .gsf-follow-breadcrumb {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin-right: auto !important;
}
/* Synchronize both badges on the same 31px baseline, keeping original Follow SVG untouched. */
.gsf-follow-row.gpsp-priority-integrated > .gsf-follow-button {
  flex: 0 0 160px !important;
  width: 160px !important;
  height: var(--gpsp-height, 31px) !important;
  flex-shrink: 0 !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
}
.gsf-follow-row.gpsp-priority-integrated > .gpsp-preferred-button {
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

.gpsp-own-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-flow: row nowrap !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 14px !important;
  gap: 10px !important;
}
.gpsp-own-row > .gpsp-own-breadcrumb { flex: 1 1 auto !important; min-width: 0 !important; margin: 0 !important; }
@media (max-width: 800px) {
  .gpsp-preferred-button { flex: 0 0 96px !important; width: 96px !important; height: var(--gpsp-height, 31px) !important; }
  .gpsp-preferred-button > .gpsp-svg--desktop { display: none !important; }
  .gpsp-preferred-button > .gpsp-svg--compact { display: block !important; }
}
@media (max-width: 430px) {
  .gpsp-preferred-button { flex: 0 0 31px !important; width: 31px !important; height: var(--gpsp-height, 31px) !important; }
  .gpsp-preferred-button > .gpsp-svg--compact { display: none !important; }
  .gpsp-preferred-button > .gpsp-svg--mobile { display: block !important; }
  .gsf-follow-row.gpsp-priority-integrated { gap: 7px !important; }
  .gsf-follow-row.gpsp-priority-integrated > .gsf-follow-breadcrumb {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .gpsp-own-row { gap: 7px !important; }
}
@media (max-width: 355px) {
  .gsf-follow-row.gpsp-priority-integrated { flex-wrap: wrap !important; row-gap: 7px !important; }
  .gsf-follow-row.gpsp-priority-integrated > .gsf-follow-breadcrumb {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
  .gsf-follow-row.gpsp-priority-integrated > .gpsp-preferred-button { margin-left: auto !important; }
}
@media (prefers-reduced-motion: reduce) { .gpsp-preferred-button { transition: none !important; } }
