/* --- Header --- */
header {
  margin: 0;
  /*height: clamp(600px, calc(600px + (700 - 600) * ((100vw - 460px) / (1800 - 460))), 700px);*/
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(to bottom, rgba(25, 50, 55, 0) 60%, rgb(25, 50, 55, 1) 95%); /* other opcion 54, 81, 124 */
  overflow-x: hidden;
  position: relative;
  padding-top: var(--section-header-padding-top-value);
  padding-bottom: var(--section-header-padding-bottom-value);
}
header .container {
  z-index: 10;
}
header .container .row {
  color: white;
  text-align: center;
  max-width: 1000px;
  margin: 0 auto;
}
header .container .row h1 {
  margin: 0 0 30px 0;
  font-size: clamp(40px, calc(40px + (65 - 40) * ((100vw - 460px) / (1800 - 460))), 65px);
  line-height: 110%;
  /* text-shadow: 0px 0px 6px #000; */
}
header .container .row h1 span {
  color: var(--secondary-color);
}
header .container .row p {
  margin: 0 0 50px;
  font-size: clamp(20px, calc(20px + (29 - 20) * ((100vw - 460px) / (1800 - 460))), 29px);
  line-height: 120%;
  font-weight: 200;
  text-shadow: 0px 0px 4px #000;
}
header .container .row .buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
header .container .row .buttons a.g-image-button {
  text-decoration: none;
  color: #fff;
  font-weight: 600;
  background-color: #000;
  background-image: linear-gradient(to right, transparent 0%, var(--secondary-color) 51%, transparent 100%);
  /*background-image: linear-gradient(to right, var(--primary-color) 0%, var(--secondary-color) 51%, var(--primary-color) 100%);*/
  background-size: 200% auto;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  width: auto;
  height: auto;
  padding: 16px 20px;
  transition: background-position 0.2s ease-out;
  border: 2px solid #00a4b4;
}
header .container .row .buttons a.g-image-button:hover {
  background-position: right center;
  color: #fff !important;
  box-shadow: 1px 1px 15px 0 rgba(255, 255, 255, 0.25);
}
header .container .row .buttons a.view-gallery-button {
  text-decoration: none;
  color: #fff;
  font-weight: 600;
  background-color: transparent;
  background-size: 200% auto;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  width: auto;
  height: auto;
  padding: 16px 20px;
  transition: background-color 0.2s ease-out;
  border: 2px solid white;
}
header .container .row .buttons a.view-gallery-button:hover {
  background-color: var(--secondary-color);
  border: 2px solid var(--secondary-color);
  color: #fff !important;
}

/* --- Image on Hero --- */
.floating-images {
  position: absolute;
  width: 100%;
  height: 400px;
  pointer-events: none;
}
.float-img {
  position: absolute;
  width: 300px;
  height: 250px;
  border-radius: 6px;
  object-fit: cover;
  object-position: center;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
  /*animation: float 4s ease-in-out infinite;*/
  transform-origin: center;
}
/* Posiciones específicas de cada imagen */
.img-1 {
  width: 255px;
  height: 212px;
  top: 30px;
  left: clamp(-300px, calc(-300px + (93 + 300) * ((100vw - 460px) / (1800 - 460))), 93px);
  transform: rotate(-15deg);
  animation-delay: 0s;
  opacity: 0.55;
}
.img-2 {
  top: 120px;
  left: 8%;
  left: 150px;
  left: clamp(-300px, calc(-300px + (150 + 300) * ((100vw - 460px) / (1800 - 460))), 150px);
  transform: rotate(-5deg);
  animation-delay: 0.4s;
}
.img-3 {
  width: 255px;
  height: 212px;
  top: 40px;
  right: clamp(-300px, calc(-300px + (93 + 300) * ((100vw - 460px) / (1800 - 460))), 93px);
  transform: rotate(15deg);
  animation-delay: 0.2s;
  opacity: 0.55;
}
.img-4 {
  top: 140px;
  right: clamp(-300px, calc(-300px + (150 + 300) * ((100vw - 460px) / (1800 - 460))), 150px);
  transform: rotate(5deg);
  animation-delay: 0.6s;
}
.img-box {
  border: 6px solid transparent;
  border-radius: 8px;
  background: linear-gradient(45deg, #ff5e7e, #7d3bf2) border-box;
  backdrop-filter: blur(100px);
}

/* Animación suave de flotación */
@keyframes float {
  0% {
    transform: translateY(0) rotate(var(--tilt));
  }
  50% {
    transform: translateY(-15px) rotate(var(--tilt));
  }
  100% {
    transform: translateY(0) rotate(var(--tilt));
  }
}

/* Ajustes modernos */
.float-img {
  --tilt: 0deg; /* Será reemplazado por cada imagen */
}

.img-1 {
  --tilt: -12deg;
}
.img-2 {
  --tilt: 4deg;
}
.img-3 {
  --tilt: 6deg;
}
.img-4 {
  --tilt: -8deg;
}

/* --- typing text --- */
header .container .row .typing-container {
  display: inline-block;
}
header .container .row .typing-container p {
  margin: 0;
}
.cursor {
  display: inline-block;
  animation: blink 0.7s infinite;
}
@keyframes blink {
  50% {
    opacity: 0;
  }
}

/* --- GENERAL SECTIONS --- */
section {
  padding: 0 20px;
  text-align: center;
}
section h2 {
  margin-bottom: 10px;
  margin-left: auto;
  margin-right: auto;
}
section h3 {
  margin-bottom: 20px;
}
section p {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

/* --- WHY CHOOSE Section --- */

section.why-choose {
  padding-top: var(--section-padding-value);
  padding-bottom: var(--section-padding-value);
  text-align: center;
}
section.why-choose h4 {
  margin-bottom: 10px;
  color: white;
}
section.why-choose .three-box {
  display: flex;
  align-items: stretch;
  justify-content: center;
  align-content: center;
  flex-wrap: wrap;
}
section.why-choose .three-box > div {
  width: 300px;
  border: 1px solid var(--primary-color);
  border-radius: 8px;
  padding: 20px;
  margin: 10px;
  background: linear-gradient(135deg, transparent 0%, var(--primary-color) 100%);
  overflow: visible;
  position: relative;
}
section.why-choose .three-box > div i {
  font-size: 43px;
  margin-bottom: 10px;
}

/* --- HOW IT WORKS Section --- */
section.how-works {
  padding-top: var(--section-padding-value);
  padding-bottom: var(--section-padding-value);
}
section.how-works .steps {
  max-width: 600px;
  margin: 0 auto;
  display: block;
  padding-left: 55px;
}
section.how-works .steps > div {
  text-align: left;
  border: 2px solid var(--primary-color);
  border-left: 0;
  border-radius: 0 70px 70px 0;
  padding: 20px;
  margin: 40px 0;
  padding-left: 60px;
  overflow: visible;
  position: relative;
  /*background: linear-gradient(135deg, transparent 0%, var(--primary-color) 100%);*/
}
section.how-works .steps > div h4 {
  margin-bottom: 10px;
}
section.how-works .steps > div span {
  position: absolute;
  top: -14px;
  left: -65px;
  font-size: 178px;
  font-weight: 800;
  line-height: 81%;
  margin: 0;
  padding: 0;
  width: 110px;
  text-align: center;
  background: linear-gradient(135deg, var(--primary-color) 0%, white 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* --- OTHER HAVE CREATED section --- */
section.other-created {
  padding-top: var(--section-padding-value);
  padding-bottom: var(--section-padding-value);
  background-color: var(--primary-color);
  background-color: #11202e;
}
section.other-created p {
  max-width: 700px;
}

/* --- EXPLORE OUR PROMPT LIBRARY section --- */
section.prompt-library {
  padding-top: var(--section-padding-value);
  padding-bottom: var(--section-padding-value);
}

/* ---- swiperjs - for images carousel */
.swiper {
  width: 100%;
  height: 350px;
}
.swiper .swiper-wrapper .swiper-slide {
  height: 100%;
  overflow: hidden;
  border-radius: 8px;
}
/* infinte loop */
.swiper .swiper-wrapper {
  transition-timing-function: linear !important;
}
/* Image hover */
.swiper .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 6px;
  transition: transform 0.2s ease-in-out, filter 0.2s ease-in-out;
}
.swiper:hover .swiper-slide img {
  filter: blur(3px);
}
.swiper .swiper-slide:hover img {
  filter: blur(0);
  transform: scale(1.05);
}
/* Image tools bar */
.swiper .swiper-slide .image_tools {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 45px;
  background: rgb(255, 255, 255, 0.01);
  color: #efefef;
  text-align: left;
  display: flex;
  justify-content: flex-start;
  align-items: top;
  flex-direction: column;
  padding: 10px;
  box-sizing: border-box;
  transform: translateY(45px);
  transition: all 0.5s ease;
}
.swiper .swiper-slide:hover .image_tools {
  transform: translateY(0px);
}
