/* ========================================================================
   D.P. Media — Reference Deco Button Hotfix 1.11.7
   CSS-only. No .motion-enabled dependency, no JavaScript dependency.
   Loaded after all other front-end theme styles.
   ======================================================================== */

.btn,
a.btn,
button.btn,
.wp-block-button__link {
  position: relative;
  isolation: isolate;
  overflow: visible !important;
  z-index: 0;
  background-repeat: no-repeat !important;
  transition:
    color .35s ease,
    border-color .35s ease,
    background-size .42s cubic-bezier(.2,.7,.2,1),
    box-shadow .35s ease,
    letter-spacing .35s ease,
    transform .38s cubic-bezier(.2,.7,.2,1) !important;
}

/*
 * Corner marks expand up to 12px beyond every button on hover/focus. Keep
 * neighbouring controls outside that effect area on desktop and mobile.
 */
.cta-row,
.contact-actions,
.wp-block-buttons {
  column-gap: 28px !important;
  row-gap: 30px !important;
}

.cta-row > *,
.contact-actions > *,
.wp-block-buttons > * {
  min-width: 0;
}

/* Four brass corner marks — deliberately visible before hover. */
.btn::after,
a.btn::after,
button.btn::after,
.wp-block-button__link::after {
  content: "" !important;
  display: block !important;
  position: absolute;
  inset: -7px;
  z-index: 4;
  pointer-events: none;
  opacity: .88;
  background:
    linear-gradient(#f2df9c,#f2df9c) left top / 13px 1px no-repeat,
    linear-gradient(#f2df9c,#f2df9c) left top / 1px 13px no-repeat,
    linear-gradient(#f2df9c,#f2df9c) right top / 13px 1px no-repeat,
    linear-gradient(#f2df9c,#f2df9c) right top / 1px 13px no-repeat,
    linear-gradient(#f2df9c,#f2df9c) left bottom / 13px 1px no-repeat,
    linear-gradient(#f2df9c,#f2df9c) left bottom / 1px 13px no-repeat,
    linear-gradient(#f2df9c,#f2df9c) right bottom / 13px 1px no-repeat,
    linear-gradient(#f2df9c,#f2df9c) right bottom / 1px 13px no-repeat !important;
  filter: drop-shadow(0 0 4px rgba(201,164,76,.24));
  transform: scale(.988);
  transition:
    inset .42s cubic-bezier(.2,.7,.3,1.2),
    opacity .28s ease,
    transform .42s cubic-bezier(.2,.7,.3,1.2) !important;
}

.btn:hover::after,
.btn:focus-visible::after,
a.btn:hover::after,
a.btn:focus-visible::after,
button.btn:hover::after,
button.btn:focus-visible::after,
.wp-block-button__link:hover::after,
.wp-block-button__link:focus-visible::after {
  inset: -12px;
  opacity: 1;
  transform: scale(1.018);
}

/* Primary: dark at rest, then the brass wipe travels from LEFT to RIGHT. */
.btn.primary,
a.btn.primary,
button.btn.primary,
.wp-block-button.is-style-fill .wp-block-button__link {
  color: #f2df9c !important;
  border-color: rgba(201,164,76,.78) !important;
  background-color: rgba(11,11,13,.55) !important;
  background-image: linear-gradient(90deg,#c9a44c 0%,#f2df9c 100%) !important;
  background-position: left center !important;
  background-size: 0% 100% !important;
  box-shadow: inset 0 0 0 1px rgba(242,223,156,.03) !important;
}

.btn.primary:hover,
.btn.primary:focus-visible,
a.btn.primary:hover,
a.btn.primary:focus-visible,
button.btn.primary:hover,
button.btn.primary:focus-visible,
.wp-block-button.is-style-fill .wp-block-button__link:hover,
.wp-block-button.is-style-fill .wp-block-button__link:focus-visible {
  color: #0b0b0d !important;
  border-color: #f2df9c !important;
  background-color: rgba(11,11,13,.55) !important;
  background-size: 100% 100% !important;
  letter-spacing: .20em !important;
  box-shadow: 0 0 26px rgba(201,164,76,.28), inset 0 0 0 1px rgba(242,223,156,.20) !important;
}

/* Ghost/secondary: same movement, quieter resting state. */
.btn.ghost,
a.btn.ghost,
button.btn.ghost,
.wp-block-button.is-style-outline .wp-block-button__link {
  color: #ece5d3 !important;
  background-color: transparent !important;
  background-image: linear-gradient(90deg,#c9a44c 0%,#f2df9c 100%) !important;
  background-position: left center !important;
  background-size: 0% 100% !important;
}

.btn.ghost:hover,
.btn.ghost:focus-visible,
a.btn.ghost:hover,
a.btn.ghost:focus-visible,
button.btn.ghost:hover,
button.btn.ghost:focus-visible,
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
  color: #0b0b0d !important;
  border-color: #f2df9c !important;
  background-size: 100% 100% !important;
  letter-spacing: .20em !important;
  box-shadow: 0 0 22px rgba(201,164,76,.22) !important;
}

/* The visual stays present for reduced-motion users; only movement disappears. */
@media (prefers-reduced-motion: reduce) {
  .btn,
  a.btn,
  button.btn,
  .wp-block-button__link,
  .btn::after,
  a.btn::after,
  button.btn::after,
  .wp-block-button__link::after {
    transition: none !important;
  }
}
