/* ============================================================
   8FLiX — Temporary Beaver/PDF Buttons
   SlickNick-ish skin for direct PDF links and BB buttons
   Safe temporary bridge until replaced with real pills.
   ============================================================ */

.fl-button,
.fp-button,
a.fp-button,
.fl-button-group.fl-button-group-layout-vertical .fl-button,
.fl-cta .fl-cta-button a.fl-button,
.fl-cta-button a.fl-button,
.fl-cta .fl-button,
.fl-col[class*="fl-node-"] .fl-button,
.fl-col[class*="fl-node-"] a.fl-button,
.fl-col[class*="fl-node-"] .fl-button-wrap a.fl-button,
.fl-col[class*="fl-node-"] .fl-module-content a[href$=".pdf"],
.fl-col[class*="fl-node-"] .entry-content a[href$=".pdf"] {
  --efx-btn-bg: #111827;
  --efx-btn-bg-soft: #161F2E;
  --efx-btn-text: #F4F7FB;
  --efx-btn-muted: #D6DCE7;
  --efx-btn-accent: #D3239A;
  --efx-btn-warm: #FF6A00;
  --efx-btn-gold: #FFB15C;

  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .55rem !important;

  width: 100% !important;
  min-height: 58px !important;
  height: auto !important;
  padding: .9rem 1.35rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: .65rem !important;

  border: 1px solid transparent !important;
  border-radius: 999px !important;

  background:
    linear-gradient(var(--efx-btn-bg-soft), var(--efx-btn-bg-soft)) padding-box,
    linear-gradient(90deg, var(--efx-btn-accent), var(--efx-btn-warm)) border-box !important;

  color: var(--efx-btn-text) !important;

  font-family: 'Roboto', 'Open Sans', Arial, sans-serif !important;
  font-weight: 850 !important;
  font-size: clamp(15px, 1.05vw, 17px) !important;
  letter-spacing: .035em !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  text-decoration: none !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 10px 24px rgba(0,0,0,.22),
    0 0 0 1px rgba(255,255,255,.035) !important;

  transform: translateY(0) scale(1) !important;

  transition:
    transform .16s ease,
    box-shadow .2s ease,
    filter .2s ease,
    color .2s ease !important;
}

/* Inner text from Beaver */
.fl-button .fl-button-text,
.fl-cta-button .fl-button-text,
.fl-button-group .fl-button .fl-button-text,
.fl-col[class*="fl-node-"] .fl-button .fl-button-text {
  position: relative !important;
  z-index: 2 !important;
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  line-height: inherit !important;
  text-transform: inherit !important;
}

/* Optional tiny PDF/download dot, because fake shortcode buttons deserve costume jewelry */
.fl-col[class*="fl-node-"] .fl-module-content a[href$=".pdf"]::before,
.fl-col[class*="fl-node-"] .entry-content a[href$=".pdf"]::before,
.fl-button::before,
.fp-button::before {
  content: "" !important;
  position: relative !important;
  z-index: 2 !important;
  flex: 0 0 auto !important;

  width: .58rem !important;
  height: .58rem !important;
  border-radius: 999px !important;

  background: linear-gradient(135deg, var(--efx-btn-accent), var(--efx-btn-warm)) !important;
  box-shadow: 0 0 12px rgba(255,106,0,.28) !important;
}

/* Shimmer sweep */
.fl-button::after,
.fp-button::after,
.fl-button-group.fl-button-group-layout-vertical .fl-button::after,
.fl-cta .fl-cta-button a.fl-button::after,
.fl-cta-button a.fl-button::after,
.fl-cta .fl-button::after,
.fl-col[class*="fl-node-"] .fl-module-content a[href$=".pdf"]::after,
.fl-col[class*="fl-node-"] .entry-content a[href$=".pdf"]::after {
  content: "" !important;
  position: absolute !important;
  inset: -40% -28% !important;
  z-index: 1 !important;
  pointer-events: none !important;

  opacity: 0 !important;
  background: linear-gradient(
    115deg,
    transparent 42%,
    rgba(255,255,255,.44) 50%,
    transparent 58%
  ) !important;

  transform: translateX(-85%) !important;
}

/* Hover */
.fl-button:hover,
.fp-button:hover,
a.fp-button:hover,
.fl-button-group.fl-button-group-layout-vertical .fl-button:hover,
.fl-cta .fl-cta-button a.fl-button:hover,
.fl-cta-button a.fl-button:hover,
.fl-cta .fl-button:hover,
.fl-col[class*="fl-node-"] .fl-button:hover,
.fl-col[class*="fl-node-"] a.fl-button:hover,
.fl-col[class*="fl-node-"] .fl-button-wrap a.fl-button:hover,
.fl-col[class*="fl-node-"] .fl-module-content a[href$=".pdf"]:hover,
.fl-col[class*="fl-node-"] .entry-content a[href$=".pdf"]:hover {
  color: #fff !important;
  transform: translateY(-2px) scale(1.01) !important;
  filter: saturate(1.06) contrast(1.02) !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 14px 30px rgba(0,0,0,.30),
    0 0 22px rgba(211,35,154,.14),
    0 0 18px rgba(255,106,0,.10) !important;
}

.fl-button:hover::after,
.fp-button:hover::after,
.fl-button-group.fl-button-group-layout-vertical .fl-button:hover::after,
.fl-cta .fl-cta-button a.fl-button:hover::after,
.fl-cta-button a.fl-button:hover::after,
.fl-cta .fl-button:hover::after,
.fl-col[class*="fl-node-"] .fl-module-content a[href$=".pdf"]:hover::after,
.fl-col[class*="fl-node-"] .entry-content a[href$=".pdf"]:hover::after {
  opacity: .85 !important;
  animation: efxTempButtonSheen 1.15s ease-in-out 1 !important;
}

/* Active */
.fl-button:active,
.fp-button:active,
.fl-button-group.fl-button-group-layout-vertical .fl-button:active,
.fl-col[class*="fl-node-"] .fl-module-content a[href$=".pdf"]:active {
  transform: translateY(0) scale(.99) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 7px 16px rgba(0,0,0,.22) !important;
}

/* Focus */
.fl-button:focus-visible,
.fp-button:focus-visible,
.fl-col[class*="fl-node-"] .fl-module-content a[href$=".pdf"]:focus-visible,
.fl-col[class*="fl-node-"] .entry-content a[href$=".pdf"]:focus-visible {
  outline: none !important;
  box-shadow:
    0 0 0 3px rgba(255,106,0,.28),
    0 12px 26px rgba(0,0,0,.28) !important;
}

/* Auto-width Beaver wrappers still get sensible sizing */
.fl-button-wrap.fl-button-width-auto a.fl-button,
.fl-button-wrap.fl-button-width-auto .fl-button {
  width: auto !important;
  min-width: 12rem !important;
  padding-left: 1.6rem !important;
  padding-right: 1.6rem !important;
}

/* Vertical groups stay full width */
.fl-button-group.fl-button-group-layout-vertical .fl-button {
  width: 100% !important;
}

/* Kill older solid magenta hover backgrounds from the old POP skin */
.fl-button:hover,
.fp-button:hover,
a.fp-button:hover {
  background:
    linear-gradient(var(--efx-btn-bg-soft), var(--efx-btn-bg-soft)) padding-box,
    linear-gradient(90deg, var(--efx-btn-accent), var(--efx-btn-warm)) border-box !important;
  border-color: transparent !important;
}

/* Reduced motion */
@keyframes efxTempButtonSheen {
  0% { transform: translateX(-85%); }
  100% { transform: translateX(85%); }
}

@media (prefers-reduced-motion: reduce) {
  .fl-button,
  .fp-button,
  .fl-button::after,
  .fp-button::after,
  .fl-col[class*="fl-node-"] .fl-module-content a[href$=".pdf"]::after,
  .fl-col[class*="fl-node-"] .entry-content a[href$=".pdf"]::after {
    animation: none !important;
    transition: none !important;
  }

  .fl-button:hover,
  .fp-button:hover,
  .fl-col[class*="fl-node-"] .fl-module-content a[href$=".pdf"]:hover,
  .fl-col[class*="fl-node-"] .entry-content a[href$=".pdf"]:hover {
    transform: none !important;
  }
}