/* Single source for all custom contact and architect buttons.
   Primary: green hover. Secondary: white surface, border-only hover.
   Keep icons physically on the right in both languages. */
:is(a,button).aca-button {
  display: inline-flex;
  direction: ltr;
  align-items: center;
  justify-content: center;
  gap: 20px;
  min-height: 56px;
  padding: 5px 5px 5px 30px;
  border: 1px solid transparent;
  border-radius: 30px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.7;
  text-decoration: none;
  cursor: pointer;
  box-sizing: border-box;
  transition: background-color .3s, border-color .3s, color .3s;
}
:is(a,button).aca-button--primary { background: var(--color-primary-dark,#073a35); border-color: var(--color-primary-dark,#073a35); color: #fff; }
:is(a,button).aca-button--primary:is(:hover,:focus-visible) { background: var(--color-primary-hover,#0B564E); border-color: var(--color-primary-hover,#0B564E); color: #fff; }
:is(a,button).aca-button--secondary { background: #fff; border-color: var(--color-secondary-border,#e0e0e0); color: var(--color-primary-dark,#073a35); }
:is(a,button).aca-button--secondary:is(:hover,:focus-visible) { background: #fff; border-color: var(--color-secondary-border-hover,#222222); color: var(--color-primary-dark,#073a35); }
:is(a,button).aca-button:focus-visible { outline: 2px solid var(--color-primary-dark,#073a35); outline-offset: 4px; }
.aca-button .aca-button__icon { order: 99; margin-left: auto; flex: 0 0 44px; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #fff; color: var(--color-primary-dark,#073a35); }
.aca-button--secondary .aca-button__icon { background: var(--color-primary-dark,#073a35); color: #fff; }
.aca-button__track { position: relative; display: block; width: 22px; height: 22px; overflow: hidden; }
.aca-button__rest, .aca-button__hover { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; transition: transform .35s linear; }
.aca-button__hover { transform: translate3d(-24px,24px,0) scale(.2); }
.aca-button:is(:hover,:focus-visible) .aca-button__rest { transform: translate3d(24px,-24px,0) scale(.2); }
.aca-button:is(:hover,:focus-visible) .aca-button__hover { transform: translate3d(0,0,0) scale(1); }
.aca-button__diagonal { transform: rotate(-45deg); }
:is(a,button).aca-button--icon-only { width: 44px; height: 44px; min-height: 44px; padding: 0; gap: 0; font-size: 17px; }
@media(max-width:767px) { :is(a,button).aca-button { gap: 10px; padding-left: 18px; font-size: 14px; } :is(a,button).aca-button--icon-only { padding: 0; } }
@media(prefers-reduced-motion:reduce) { :is(a,button).aca-button, .aca-button__rest, .aca-button__hover { transition: none; } }
