/* Emoji styles - WordPress default */
img.emoji {
  display: inline !important;
  border: none !important;
  box-shadow: none !important;
  height: 1em !important;
  width: 1em !important;
  margin: 0 0.07em !important;
  vertical-align: -0.1em !important;
  background: none !important;
  padding: 0 !important;
}

/* SVG icon styles */
.e-font-icon-svg {
  height: 1em;
  width: 1em;
  fill: currentColor;
}

/* Gradient text styles */
.gradient-text {
  background: linear-gradient(90deg, #FF5050 0%, #AA0909 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.degrade-text {
  background: linear-gradient(90deg, #FF5050 0%, #AA0909 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Floating animation keyframes */
@keyframes ha-floating-x {
  0%, 100% {
    transform: translateX(var(--ha-floating-fx-x-from, 0));
  }
  50% {
    transform: translateX(var(--ha-floating-fx-x-to, 0));
  }
}

@keyframes ha-floating-y {
  0%, 100% {
    transform: translateY(var(--ha-floating-fx-y-from, 0));
  }
  50% {
    transform: translateY(var(--ha-floating-fx-y-to, 0));
  }
}

@keyframes ha-floating {
  0%, 100% {
    transform: translateX(var(--ha-floating-fx-x-from, 0)) translateY(var(--ha-floating-fx-y-from, 0));
  }
  50% {
    transform: translateX(var(--ha-floating-fx-x-to, 0)) translateY(var(--ha-floating-fx-y-to, 0));
  }
}

/* Animation classes for floating elements in Hero */
.elementor-element.elementor-element-162581d {
  animation: floatElement1 8.2s ease-in-out infinite;
}

.elementor-element.elementor-element-eef7cea {
  animation: floatElement2 6s ease-in-out infinite;
}

@keyframes floatElement1 {
  0%, 100% {
    transform: translateX(-1px) translateY(-8px);
  }
  50% {
    transform: translateX(1px) translateY(8px);
  }
}

@keyframes floatElement2 {
  0%, 100% {
    transform: translateX(-1px) translateY(-15px);
  }
  50% {
    transform: translateX(1px) translateY(15px);
  }
}

/* Button highlight effect - only add glow, not background override */
.btndestaque .elementor-button {
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}

.btndestaque .elementor-button:hover {
  transform: translateY(-2px);
}

/* Border effect for sections */
.bordereffect {
  position: relative;
}

.bordereffect::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #FF5050 0%, #AA0909 50%, #FF5050 100%);
  background-size: 200% 100%;
  animation: borderGlow 3s linear infinite;
}

@keyframes borderGlow {
  0% { background-position: 0% 0%; }
  100% { background-position: 200% 0%; }
}

/* Swiper carousel fixes */
.swiper-slide-image {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.elementor-carousel-image {
  background-size: cover;
  background-position: center;
  width: 100%;
  padding-bottom: 100%; /* Square aspect ratio */
  border-radius: 12px;
}

/* Icon list fixes */
.elementor-icon-list-icon svg {
  width: 1em;
  height: 1em;
}

/* Counter animation */
.elementor-counter-number {
  font-variant-numeric: tabular-nums;
}

/* Lazy load background */
.e-lazyloaded {
  background-image: var(--background-image);
}

/* Shape fill color */
.elementor-shape-fill {
  fill: #000000;
}

/* Global color variables from Elementor */
:root {
  --e-global-color-primary: #FFFFFF;
  --e-global-color-secondary: #CCCCCC;
  --e-global-color-text: #FFFFFF;
  --e-global-color-accent: #FF4136;
  --e-global-color-1a4b3be: #CCCCCC;
  --e-global-color-228c6ad: #000000;
  --e-global-color-f8b49c6: #000000;
  --e-global-typography-primary-font-family: "Poppins";
  --e-global-typography-primary-font-weight: 600;
  --e-global-typography-secondary-font-family: "Montserrat";
  --e-global-typography-secondary-font-weight: 400;
  --e-global-typography-text-font-family: "Poppins";
  --e-global-typography-text-font-weight: 400;
  --e-global-typography-accent-font-family: "Poppins";
  --e-global-typography-accent-font-weight: 600;
}

/* Mac detection styles (used in original) */
.is-mac {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Sticky header width fix */
.elementor-sticky--active {
  width: 100% !important;
  max-width: 100% !important;
  left: 0 !important;
  right: 0 !important;
}

/* Float animation for button */
.elementor-animation-float {
  transition: transform 0.3s ease;
}

.elementor-animation-float:hover {
  transform: translateY(-8px);
}

/* Hero image - mobile fixes */
@media (max-width: 767px) {
  /* Keep normal spacing in content container, just ensure image container has proper spacing */
  .elementor-element.elementor-element-4184409 {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  
  .elementor-element.elementor-element-4184409 .e-con-inner {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  
  /* Image container - ensure visible but keep normal spacing */
  .elementor-element.elementor-element-22d184d {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow: visible !important;
  }
  
  .elementor-element.elementor-element-22d184d .e-con-inner {
    overflow: visible !important;
  }
  
  /* Main image container - ensure it fits and isn't cut off */
  .elementor-element.elementor-element-c83a833 {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    max-height: none !important;
  }
  
  .elementor-element.elementor-element-c83a833 img {
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: auto;
    object-fit: contain;
    object-position: top center;
    display: block;
    margin: 0 !important;
    padding: 0 !important;
    max-height: none !important;
  }
  
  /* Ensure image widget doesn't clip */
  .elementor-element.elementor-element-c83a833 .elementor-widget-container {
    overflow: visible !important;
    max-height: none !important;
  }
  
  /* Ensure parent containers don't clip but keep normal spacing */
  .elementor-element.elementor-element-76ffae4 {
    overflow: visible !important;
  }
  
  .elementor-element.elementor-element-76ffae4 .e-con-inner {
    overflow: visible !important;
  }
  
  /* Add spacing between content container and image container */
  .elementor-element.elementor-element-76ffae4 .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 25px !important;
    row-gap: 25px !important;
  }
  
  /* Alternative: add margin-top to image container */
  .elementor-element.elementor-element-22d184d {
    margin-top: 25px !important;
  }
  
  /* Prevent any clipping of the image container */
  .elementor-element.elementor-element-22d184d,
  .elementor-element.elementor-element-22d184d * {
    max-height: none !important;
    overflow: visible !important;
  }
  
  /* Ensure floating images are visible */
  .elementor-element.elementor-element-162581d,
  .elementor-element.elementor-element-eef7cea {
    overflow: visible !important;
    z-index: 10;
  }
  
  /* Remove lateral margins/padding from badge container */
  .elementor-element.elementor-element-3e7ded1 {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  
  /* Remove lateral margins/padding from badge widget */
  .elementor-element.elementor-element-f9646e4 {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  
  .elementor-element.elementor-element-f9646e4 .elementor-widget-container {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  
  .elementor-element.elementor-element-f9646e4 .elementor-icon-list-items {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-inline: 0 !important;
  }
}

/* Hero image - expand vertically and move up on desktop */
@media (min-width: 768px) {
  .elementor-element.elementor-element-22d184d {
    align-self: flex-start;
    margin-top: 20px;
  }
  
  .elementor-element.elementor-element-c83a833 {
    display: flex;
    align-items: flex-start;
  }
  
  .elementor-element.elementor-element-c83a833 img {
    height: auto;
    max-height: 100vh;
    object-fit: contain;
    object-position: top;
    width: 100%;
    max-width: 100%;
  }
}
