.af-btn-label { position: relative; z-index: 1; transition: opacity 0.3s ease, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1); }
.af-btn:hover .af-btn-label { opacity: 0; transform: translateX(-14px); }
.af-btn-circ { position: absolute; top: 6px; bottom: 6px; right: 6px; width: 44px; border-radius: 999px; background: #FF5A36; color: #FFF6EF; display: flex; align-items: center; justify-content: center; transition: width 0.55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.4s ease, transform 0.25s cubic-bezier(0.22, 1, 0.36, 1); box-shadow: inset 0 1px 1px rgba(255, 252, 246, 0.35), inset 0 -2px 6px rgba(20, 13, 10, 0.16), 0 1px 2px hsla(18, 45%, 3%, 0.35), 0 5px 14px -3px hsla(18, 45%, 3%, 0.4), 0 14px 28px -8px hsla(18, 45%, 3%, 0.35); }
.af-btn:hover .af-btn-circ { width: calc(100% - 12px); box-shadow: inset 0 1px 1px rgba(255, 252, 246, 0.35), inset 0 -2px 6px rgba(20, 13, 10, 0.16), 0 2px 3px hsla(18, 45%, 3%, 0.4), 0 9px 22px -4px hsla(18, 45%, 3%, 0.45), 0 22px 44px -10px hsla(18, 45%, 3%, 0.4); }
.af-btn:active .af-btn-circ { transform: scale(0.94); box-shadow: 0 1px 2px hsla(18, 45%, 3%, 0.4), 0 3px 8px -2px hsla(18, 45%, 3%, 0.35); }
.af-btn { box-shadow: 0 10px 24px -10px hsla(18, 45%, 3%, 0.45); }
.af-btn-arrow { font-size: 22px; line-height: 1; display: block; position: relative; z-index: 1; transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1); }
.af-btn:hover .af-btn-arrow { transform: translateX(4px); }
.af-btn-circ::before { content: ''; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(135deg, rgba(255, 252, 246, 0.32) 0%, rgba(255, 252, 246, 0.08) 40%, rgba(20, 13, 10, 0.14) 100%); pointer-events: none; }
/* Aktionsbuttons: ein gemeinsames Design nach dem Home-Hero. */
.af-btn {
  position:relative; overflow:hidden; display:inline-flex; flex-shrink:0;
  align-items:center; justify-content:center; box-sizing:border-box;
  min-height:56px; max-width:100%; padding:16px 76px 16px 30px;
  background:#F6EEE5; color:#171210; border:0; border-radius:999px;
  font-family:var(--af-font); font-size:14px; font-weight:650; line-height:1.4;
  letter-spacing:-.005em; text-transform:uppercase; text-align:center;
  cursor:pointer; text-decoration:none;
  transition:transform .45s cubic-bezier(.34,1.6,.64,1);
}
.af-btn .af-btn-circ { top:50%; bottom:auto; height:44px; margin-top:-22px; }
.af-btn:focus-visible { outline:3px solid #FF5A36; outline-offset:5px; }
@media (hover:none) {
  .af-btn:hover .af-btn-label { opacity:1; transform:none; }
  .af-btn:hover .af-btn-circ { width:44px; }
}
@media (prefers-reduced-motion:reduce) {
  .af-btn, .af-btn-label, .af-btn-circ, .af-btn-arrow { transition:none; }
}
