@keyframes floatUpDown {
  0%   { transform: translate3d(0, 0px, 0); }
  50%  { transform: translate3d(0, -10px, 0); }
  100% { transform: translate3d(0, 0px, 0); }
}

@keyframes floatSway {
  0%   { transform: translate3d(0, 0px, 0) rotate(0deg); }
  25%  { transform: translate3d(0, -8px, 0) rotate(0.4deg); }
  75%  { transform: translate3d(0, -4px, 0) rotate(-0.4deg); }
  100% { transform: translate3d(0, 0px, 0) rotate(0deg); }
}

@keyframes floatSlow {
  0%   { transform: translate3d(0, 0px, 0); }
  50%  { transform: translate3d(0, -8px, 0); }
  100% { transform: translate3d(0, 0px, 0); }
}

@keyframes floatDrift {
  0%   { transform: translate3d(0px, 0px, 0) rotate(0deg); }
  25%  { transform: translate3d(3px, -7px, 0) rotate(0.3deg); }
  50%  { transform: translate3d(-2px, -10px, 0) rotate(-0.2deg); }
  75%  { transform: translate3d(-3px, -5px, 0) rotate(0.2deg); }
  100% { transform: translate3d(0px, 0px, 0) rotate(0deg); }
}

/* Astra + Chrome fix */
.float-image .elementor-widget-container img,
.float-sway .elementor-widget-container img,
.float-slow .elementor-widget-container img,
.float-drift .elementor-widget-container img {
  transition: none !important;
  -webkit-transition: none !important;
  outline: 1px solid transparent;
  -webkit-perspective: 1000;
  perspective: 1000;
}

/* float-image — rustig op en neer, 14s */
.float-image,
.float-image .elementor-widget-container,
.float-image .elementor-widget-container img,
.float-image img {
  animation: floatUpDown 14s ease-in-out infinite !important;
  will-change: transform;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}

/* float-sway — lichte kanteling, 10s */
.float-sway,
.float-sway .elementor-widget-container,
.float-sway .elementor-widget-container img,
.float-sway img {
  animation: floatSway 10s ease-in-out infinite !important;
  will-change: transform;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}

/* float-slow — heel traag en subtiel, 18s */
.float-slow,
.float-slow .elementor-widget-container,
.float-slow .elementor-widget-container img,
.float-slow img {
  animation: floatSlow 18s ease-in-out infinite !important;
  will-change: transform;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}

/* float-drift — organisch zweven, 12s */
.float-drift,
.float-drift .elementor-widget-container,
.float-drift .elementor-widget-container img,
.float-drift img {
  animation: floatDrift 12s ease-in-out infinite !important;
  will-change: transform;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}



.swipe-left-hover {
    line-height: 0; /* Removes extra space inside the container */
}

.swipe-left-hover .elementor-button {
    position: relative; /* Required for pseudo-element positioning */
    overflow: hidden; /* Ensure the sliding effect stays within bounds */
    background-color: #7DC5FE!important; /* Default background color */
}

.swipe-left-hover .elementor-button::before {
    content: ''; /* Required for pseudo-element to render */
    position: absolute; /* Position pseudo-element relative to button */
    top: 0; /* Align to top edge */
    left: -100%; /* Start outside of the button */
    width: 100%; /* Full width of the button */
    height: 100%; /* Full height of the button */
    background-color: #ffffff; /* Hover background color */
    transition: left 0.3s ease; /* Smooth slide-in effect */
}

.swipe-left-hover .elementor-button:hover::before {
    left: 0; /* Slide into view on hover */
}

.swipe-left-hover .elementor-button-text {
    z-index: 100; /* Ensure text appears above pseudo-element */
}


body[data-elementor-device-mode="tablet"]
.swipe-left-hover .elementor-button::before {
    transition-duration: 0s; /* Disable transition on tablet */
}

body[data-elementor-device-mode="mobile"]
.swipe-left-hover .elementor-button::before {
    transition-duration: 0s; /* Disable transition on mobile */
}



.swipe-left-hover-orange {
    line-height: 0; /* Removes extra space inside the container */
}

.swipe-left-hover-orange .elementor-button {
    position: relative; /* Required for pseudo-element positioning */
    overflow: hidden; /* Ensure the sliding effect stays within bounds */
    background-color: #ED9E3F!important; /* Default background color */
}

.swipe-left-hover-orange .elementor-button::before {
    content: ''; /* Required for pseudo-element to render */
    position: absolute; /* Position pseudo-element relative to button */
    top: 0; /* Align to top edge */
    left: -100%; /* Start outside of the button */
    width: 100%; /* Full width of the button */
    height: 100%; /* Full height of the button */
    background-color: #ffffff; /* Hover background color */
    transition: left 0.3s ease; /* Smooth slide-in effect */
}

.swipe-left-hover-orange .elementor-button:hover::before {
    left: 0; /* Slide into view on hover */
}

.swipe-left-hover-orange .elementor-button-text {
    z-index: 100; /* Ensure text appears above pseudo-element */
}


body[data-elementor-device-mode="tablet"]
.swipe-left-hover-orange .elementor-button::before {
    transition-duration: 0s; /* Disable transition on tablet */
}

body[data-elementor-device-mode="mobile"]
.swipe-left-hover-orange .elementor-button::before {
    transition-duration: 0s; /* Disable transition on mobile */
}
.elementor-widget-text-editor p:last-child {
    margin-bottom: 0 !important;
}

.elementor-widget-text-editor p {
    margin-bottom: 0.8em !important;
}
body {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
