/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

.button-xl-icon {display: none !important;}

.package_card__linkbtn {
	transition: all ease-in-out 0.3s;
}

.package_card__linkbtn:hover {
	cursor: pointer !important;
	gap: 10px !important;
}

.services-slider .splide__slide {
	align-items: center;
}

.main-navigation a.menu-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 14px;
}

/* Package Card Hover */

/* Transitions */
.package_card .package_card_header,
.package_card .package_card_header h3,
.package_card .package_card_header h3 em,
.package_card .package_card_header h3 i,
.package_card .package_card_header h3 .cursive,
.package_card .price_prefix,
.package_card .price_suffix,
.package_card .price {
  transition: background-color 0.25s ease, color 0.25s ease;
}

/* Hover State */
.package_card:hover .package_card_header {
  background-color: var(--gray-900);
}

.package_card:hover .package_card_header h3 {
  color: #fff;
}

.package_card:hover .package_card_header h3 em,
.package_card:hover .package_card_header h3 i,
.package_card:hover .package_card_header h3 .cursive {
  color: var(--brand-500);
}

.package_card:hover .price_prefix,
.package_card:hover .price_suffix {
  color: var(--gray-300);
}

.package_card:hover .price {
  color: #fff;
}

/* Gravity */

.gform-conversational__nav-button--welcome {
    align-items: center;
    background-color: black !important;
    box-shadow: inset 0px -1px 0px 2px rgba(255, 255, 255, 0.05), inset 0px 1px 0px 0px rgba(255, 255, 255, 0.36) !important;
    color: var(--base-white) !important;
    column-gap: 12px !important;
    display: inline-flex;
    font-size: 1rem !important;
    font-weight: 600;
    justify-content: space-between;
    line-height: 1.5rem;
    border: 1px solid var(--gray-700);
    border-radius: 999rem !important;
    padding: 0.5rem 0.5rem 0.5rem 1rem !important;
}

.gform-conversational__field-footer .gform-conversational__nav-button {
    align-items: center;
    background-color: black !important;
    box-shadow: inset 0px -1px 0px 2px rgba(255, 255, 255, 0.05), inset 0px 1px 0px 0px rgba(255, 255, 255, 0.36) !important;
    color: var(--base-white) !important;
    column-gap: 12px !important;
    display: inline-flex;
    font-size: 1rem !important;
    font-weight: 600;
    justify-content: space-between;
    line-height: 1.5rem;
    border: 1px solid var(--gray-700);
    border-radius: 999rem !important;
    padding: 0.75rem 1.25rem  !important;
}


.gform-conversational__nav-button--welcome .gform-conversational__nav-button-icon {
    display: flex;
    padding: 0.625rem;
    align-items: center;
    gap: 0.625rem;
    border-radius: 999px;
    background: #FFB300;
}

.gform-orbital-icon--arrow-narrow-right:before {
    color: #000;
}

.gform-conversational__form-nav {
	background: var(--gray-900) !important; 
}

.gform-conversational.gform-theme--framework .gform-conversational__progress-bar-outer {
	background-color: var(--gray-700) !important;
}

.gform-conversational.gform-theme--framework .gform-conversational__progress-bar-label {
	color: var(--gray-300);
}

.gform-orbital-icon--arrow-sm-right::before, .gform-orbital-icon--arrow-sm-left::before {
	color: black !important;
}

/* Footer Links Style */

.footer-links,
.footer-links ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-links li {
  margin: 0;
  padding: 0;
}

.footer-links a {
  text-decoration: none;
  color: inherit;
}

.footer-links a:hover,
.footer-links a:focus {
  text-decoration: underline;
}

/* Google Reviews Contrast Fixes*/

.ti-widget.ti-goog .ti-with-tooltip, .ti-widget.ti-goog .ti-verified-review {
    color: #353535 !important;
}

.ti-widget.ti-goog .ti-read-more span {
	opacity: 0.9 !important;
}

/*GB Accordeon*/

.gb-accordion__item-open {
	background: #fff;
}

/* USP Cards */

.usp-card {
  transition: all 0.3s ease-in-out !important;
}

.usp-card:hover {
  background-color: #000;
}

.usp-card:hover h3 {
  color: #fff;
}

.usp-card:hover p {
  color: var(--gray-400);
}

.usp-card:hover .button-xl-icon {
  background-color: #fff;
}

.usp-card:hover .button-xl-icon svg path {
  stroke: #000;
}

.usp-card{ will-change: background-color; }
.usp-card .button-xl-icon svg path{ will-change: stroke; }

/*Misc*/

.gb-shape svg {
  fill: none !important;
}

.site-content h1,
.site-content h2,
.site-content h3,
.site-content h4,
.site-content h5,
.site-content h6,
.site-content p {
  margin-bottom: 0px;
}

a {
  text-decoration: none;
}


.gb-shape svg {
  fill: none !important;
}

.button-xl-primary:hover .gb-shape, .button-xl-primary-dark:hover .gb-shape {
	transform: rotate(45deg);
	background-color: var(--brand-500);
}



.button-xl-primary:hover .gb-shape svg {
	stroke: var(--gray-950);
}

.gb-shape {
	display: inline-block;
	transform-origin: center;
	transition: transform 0.25s ease, background-color 0.25s ease;
}

.site-content h1,
.site-content h2,
.site-content h3,
.site-content h4,
.site-content h5,
.site-content h6,
.site-content p {
  margin-bottom: 0px;
}

a {
  text-decoration: none;
}


/* Logo Slider Mask */

/* Endlose Scroll-Animation */
@keyframes infinite-scroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-100%);
  }
}

.animate-infinite-scroll {
  animation: infinite-scroll 80s linear infinite;
  display: flex;
  white-space: nowrap;
}

/* Maske & Sichtbereich */
.logo-mask {
  mask-image: linear-gradient(to right, transparent 0, black 128px, black calc(100% - 128px), transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0, black 128px, black calc(100% - 128px), transparent 100%);
  overflow: hidden;
  position: relative;
}


/* Legal Templates */

.legal-text p {
	margin-bottom: 2.25rem;
}

.legal-text strong {
margin-bottom: 1.25rem !important;
color: #181D27;
font-family: Geist;
font-size: 1.5rem;
font-style: normal;
font-weight: 600;
line-height: 2rem;
}

/* Splide Adjustments*/

.menu-card {overflow: visible; transition: 0.3s ease; border-radius: 1.75rem;}
.menu-card:hover {
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12), 0 2px 6px rgba(15, 23, 42, 0.06);
	transform: translateY(-2px);}

.feature-card img {
  display: block;
  width: 100%;
  height: auto;
  filter: brightness(.7);
  transition: filter .4s ease;
}

.splide__slide:hover .feature-card img {
  filter: brightness(1);
}

.splide__slide .button-sm-link-brand {
  transition: gap 0.3s ease; /* Sanfter Übergang */
}

.splide__slide:hover .button-sm-link-brand {
  gap: 0.8rem;               /* Beim Hover wird die Lücke erzeugt */
}


.stretch-link {
  position: relative;
}

.stretch-link a::after {
  content: '';
  position: absolute;
  inset: 0;
}


.splide {display: flex !important; flex-direction: column;}

.splide__arrows.splide__arrows--ltr {
	display: flex;
    order: 1;
	gap: 8px;
    margin-top: 64px;
}

button.splide__arrow {
    position: relative !important;
}

.wp-block-splide-carousel .splide__arrow:disabled {
	opacity: 1;
}

.wp-block-splide-carousel .splide__arrows .splide__arrow {
	opacity: 1;
	width: 56px;
	height: 56px;
	border: none;
	background: black;
	border-radius: 999px;
	    overflow: visible;
}

.wp-block-splide-carousel .splide__arrows .splide__arrow:hover {
	background: var(--gray-900);
}

.wp-block-splide-carousel .splide__arrow svg {
    height: 14px;
    width: 14px;
	overflow: visible;
}

.wp-block-splide-carousel .splide__arrow--prev {
	left: 0px !important;
}

.wp-block-splide-carousel .splide__arrows--ltr .splide__arrow--next {
	right: 0px !important;
}

.usp-slider .splide__arrow svg path {
  stroke: var(--brand-500) !important;
  stroke-width: 4;
}

.splide__arrow svg path {
  stroke: var(--brand-500);
  stroke-width: 4;
}

.splide__arrow:hover svg path {
  stroke: var(--brand-400);
  stroke-width: 4;
}

@media (max-width: 480px) {
  .splide__slide {
    width: 320px !important;
    margin-right: 24px !important;
  }
}

div:has(> .service-card-heading) {
  max-width: 256px;
}

/* gradient progressive blurr */

.gradient-blur {
	position: absolute;
	z-index: 5;
	inset: auto 0 0 0;
	height: 50%;
	pointer-events: none;
}
.gradient-blur > div,
.gradient-blur::before,
.gradient-blur::after {
	position: absolute;
	inset: 0;
}
.gradient-blur::before {
	content: "";
	z-index: 1;
	backdrop-filter: blur(0.5px);
	mask: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 0%,
		rgba(0, 0, 0, 1) 12.5%,
		rgba(0, 0, 0, 1) 25%,
		rgba(0, 0, 0, 0) 37.5%
	);
}
.gradient-blur > div:nth-of-type(1) {
	z-index: 2;
	backdrop-filter: blur(1px);
	mask: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 12.5%,
		rgba(0, 0, 0, 1) 25%,
		rgba(0, 0, 0, 1) 37.5%,
		rgba(0, 0, 0, 0) 50%
	);
}
.gradient-blur > div:nth-of-type(2) {
	z-index: 3;
	backdrop-filter: blur(2px);
	mask: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 25%,
		rgba(0, 0, 0, 1) 37.5%,
		rgba(0, 0, 0, 1) 50%,
		rgba(0, 0, 0, 0) 62.5%
	);
}
.gradient-blur > div:nth-of-type(3) {
	z-index: 4;
	backdrop-filter: blur(4px);
	mask: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 37.5%,
		rgba(0, 0, 0, 1) 50%,
		rgba(0, 0, 0, 1) 62.5%,
		rgba(0, 0, 0, 0) 75%
	);
}
.gradient-blur > div:nth-of-type(4) {
	z-index: 5;
	backdrop-filter: blur(8px);
	mask: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 50%,
		rgba(0, 0, 0, 1) 62.5%,
		rgba(0, 0, 0, 1) 75%,
		rgba(0, 0, 0, 0) 87.5%
	);
}
.gradient-blur > div:nth-of-type(5) {
	z-index: 6;
	backdrop-filter: blur(16px);
	mask: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 62.5%,
		rgba(0, 0, 0, 1) 75%,
		rgba(0, 0, 0, 1) 87.5%,
		rgba(0, 0, 0, 0) 100%
	);
}
.gradient-blur > div:nth-of-type(6) {
	z-index: 7;
	backdrop-filter: blur(32px);
	mask: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 75%,
		rgba(0, 0, 0, 1) 87.5%,
		rgba(0, 0, 0, 1) 100%
	);
}
.gradient-blur::after {
	content: "";
	z-index: 8;
	backdrop-filter: blur(64px);
	mask: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 87.5%,
		rgba(0, 0, 0, 1) 100%
	);
}

/* Animations */
.has-animation .animate-child {
  opacity: 0;
  transform: translateY(20px);
  will-change: opacity, transform;
  visibility: hidden;
  pointer-events: none;
}

@keyframes fade-in-up {
  from {
    opacity: 0;
	filter: blur(4px);
    transform: translateY(20px);
  }

  to {
    opacity: 1;
	filter: blur(0px);
    transform: translateY(0);
  }
}

.animate-in {
  animation-fill-mode: both;
  animation-timing-function: ease-out;
  opacity: 1;
}

/* Freie Plätze Pulse */


@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(220, 250, 230, 1);
  }
  100% {
    box-shadow: 0 0 0 24px rgba(220, 250, 230, 0);
  }
}

.dot {
	box-shadow: 0 0 0;
	animation: 2s ease infinite pulse;}


