/* =========================================================
   TOP SRG â€“ BUTTONS
   ========================================================= */

/* =========================================================
   TOP SRG â€“ BUTTON RADIUS
   Gilt global fÃ¼r alle Elementor-Buttons.
   ========================================================= */

.elementor-button {
  border-radius: 5px !important;
}



/* Globales Verhalten der bestehenden Elementor-Buttons. */
.elementor-button {
  display: inline-flex;
  align-items: center;
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.elementor-button .elementor-button-icon {
  display: inline-block;
  margin-left: 8px;
  transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.elementor-button:hover .elementor-button-icon {
  transform: translateX(6px);
}


/* =========================================================
   TOP SRG – NORMALER BUTTON
   + Elementor Formular-Submit
   ========================================================= */

.top-srg-button .elementor-button,
.elementor-form .elementor-button[type="submit"] {
  display: inline-flex;
  align-items: center;

  padding: 12px 22px;

  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}


.top-srg-button .elementor-button .elementor-button-icon,
.elementor-form .elementor-button[type="submit"] .elementor-button-icon {
  display: inline-block;

  margin-left: 6px;

  font-size: 16px;

  transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}


.top-srg-button .elementor-button:hover .elementor-button-icon,
.elementor-form .elementor-button[type="submit"]:hover .elementor-button-icon {
  transform: translateX(6px);
}


@media (prefers-reduced-motion: reduce) {

  .top-srg-button .elementor-button,
  .top-srg-button .elementor-button .elementor-button-icon,
  .elementor-form .elementor-button[type="submit"],
  .elementor-form .elementor-button[type="submit"] .elementor-button-icon {
    transition: none !important;
  }

  .top-srg-button .elementor-button:hover .elementor-button-icon,
  .elementor-form .elementor-button[type="submit"]:hover .elementor-button-icon {
    transform: none;
  }
}
/* =========================================================
   TOP SRG â€“ GLOW BUTTON SYSTEM

   Hintergrundfarbe wird in Elementor festgelegt.
   Das Child Theme ergÃ¤nzt nur:
   - dezenten Verlauf
   - Glow
   - Text-/Icon-Farbe der jeweiligen Variante

   Basisklasse:
   top-srg-glow-button

   Varianten:
   top-srg-glow-button--red
   top-srg-glow-button--blue
   top-srg-glow-button--white-red
   top-srg-glow-button--white-blue
   top-srg-glow-button--white-white

   Alte Klassen --red-white / --blue-white bleiben vorerst
   als Alias erhalten, damit bestehende Buttons nicht brechen.
   ========================================================= */

.top-srg-glow-button {
  --top-srg-button-color: #ffffff;
  --top-srg-glow-rgb: 255, 255, 255;
}


/* Rot: Hintergrund in Elementor, Text/Icon weiÃŸ, Glow rot */
.top-srg-glow-button--red,
.top-srg-glow-button--red-white {
  --top-srg-button-color: #ffffff;
  --top-srg-glow-rgb: 228, 28, 29;
}


/* Blau: Hintergrund in Elementor, Text/Icon weiÃŸ, Glow blau */
.top-srg-glow-button--blue,
.top-srg-glow-button--blue-white {
  --top-srg-button-color: #ffffff;
  --top-srg-glow-rgb: 26, 112, 182;
}


/* WeiÃŸer Button: Hintergrund in Elementor, Text/Icon rot, Glow weiÃŸ */
.top-srg-glow-button--white-red {
  --top-srg-button-color: #E41C1D;
  --top-srg-glow-rgb: 255, 255, 255;
}


/* WeiÃŸer Button: Hintergrund in Elementor, Text/Icon blau, Glow weiÃŸ */
.top-srg-glow-button--white-blue {
  --top-srg-button-color: #1A70B6;
  --top-srg-glow-rgb: 255, 255, 255;
}


/* WeiÃŸer Button: Hintergrund in Elementor, Text/Icon weiÃŸ, Glow weiÃŸ */
.top-srg-glow-button--white-white {
  --top-srg-button-color: #ffffff;
  --top-srg-glow-rgb: 255, 255, 255;
}


.top-srg-glow-button .elementor-button {
  position: relative;
  z-index: 1;

  display: inline-flex;
  align-items: center;

  color: var(--top-srg-button-color) !important;
  font-weight: 700;
  text-decoration: none;

  box-shadow:
    0 0 0 0 rgba(var(--top-srg-glow-rgb), 0),
    0 0 0 0 rgba(var(--top-srg-glow-rgb), 0);

  transition:
    box-shadow 0.4s ease,
    transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}


/* Glow liegt auÃŸen um den Button, nicht Ã¼ber dem Inhalt */
.top-srg-glow-button .elementor-button:hover,
.top-srg-glow-button .elementor-button:focus-visible {
  box-shadow:
    0 0 14px 3px rgba(var(--top-srg-glow-rgb), 0.60),
    0 0 30px 8px rgba(var(--top-srg-glow-rgb), 0.26);
}


.top-srg-glow-button .elementor-button-content-wrapper,
.top-srg-glow-button .elementor-button-text,
.top-srg-glow-button .elementor-button-icon {
  position: relative;
  z-index: 2;

  color: inherit !important;
}


.top-srg-glow-button .elementor-button-icon {
  color: inherit !important;
}

/* Bestehende Hero-Button-Klassen vorerst kompatibel halten. */
.Hero-Button .elementor-button,
.HERO-Button .elementor-button {
  position: relative;
  z-index: 1;

  display: inline-flex;
  align-items: center;

  color: #ffffff;
  font-weight: 700;
  text-decoration: none;

  background: linear-gradient(
    90deg,
    var(--grad1),
    var(--grad2),
    var(--grad3),
    var(--grad4)
  );

  background-size: 400%;
}


.Hero-Button .elementor-button:hover,
.HERO-Button .elementor-button:hover {
  animation: top-srg-button-gradient 8s linear infinite;
}


.Hero-Button .elementor-button::before,
.HERO-Button .elementor-button::before {
  content: '';

  position: absolute;
  z-index: 0;

  top: -5px;
  right: -5px;
  bottom: -5px;
  left: -5px;

  background: linear-gradient(
    180deg,
    var(--grad1),
    var(--grad2),
    var(--grad3),
    var(--grad4)
  );

  background-size: 400%;
  border-radius: 40px;
  opacity: 0;

  transition:
    opacity 0.5s ease,
    filter 0.5s ease;
}


.Hero-Button .elementor-button:hover::before,
.HERO-Button .elementor-button:hover::before {
  opacity: 0.6;
  filter: blur(20px);
  animation: top-srg-button-gradient 8s linear infinite;
}


.Hero-Button .elementor-button-content-wrapper,
.Hero-Button .elementor-button-text,
.Hero-Button .elementor-button-icon,
.HERO-Button .elementor-button-content-wrapper,
.HERO-Button .elementor-button-text,
.HERO-Button .elementor-button-icon {
  position: relative;
  z-index: 2;
}


.Hero-Button .elementor-button-text,
.HERO-Button .elementor-button-text {
  margin: auto;
}


.Hero-Button .elementor-button-icon,
.HERO-Button .elementor-button-icon {
  color: inherit;
  font-size: 20px;
}


@keyframes top-srg-button-gradient {
  0% {
    background-position: 0%;
  }

  100% {
    background-position: 400%;
  }
}


@media (prefers-reduced-motion: reduce) {

  .elementor-button,
  .elementor-button .elementor-button-icon,
  .top-srg-glow-button .elementor-button,
  .Hero-Button .elementor-button,
  .Hero-Button .elementor-button::before,
  .HERO-Button .elementor-button,
  .HERO-Button .elementor-button::before {
    animation: none !important;
    transition: none !important;
  }

  .elementor-button:hover .elementor-button-icon {
    transform: none;
  }
}