body{overflow-x: hidden;font-family: 'Poppins', 'Arial', sans-serif;}

input[type="date"]::-webkit-datetime-edit {
  color: #000;
  background-color: white;
}

input[type="date"]:focus {
  background-color: #fff5eb; /* color crema suave */
  color: #f97316;
  border-color: #f97316;
}
input[type="date"]::-webkit-calendar-picker-indicator {
  opacity: 0;
  display: none;
}
.calendario-dia.selected {
  background-color: #f97316; /* naranja-500 */
  color: white;
  font-weight: bold;
}

.headline-container {
  font-size: 23px;
  font-weight: 800;
  color: #ff5a00;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 30px;
  position: relative;
}

.elementor-headline-dynamic-wrapper {
  position: absolute;
}

.elementor-headline-dynamic-text {
  display: inline-block;
  white-space: nowrap;
}

.elementor-headline-dynamic-letter {
  display: inline-block;
  opacity: 0;
  transform: scale(0.4) rotate(-10deg);
  animation: animIn 0.7s forwards;
}

/* Scroll Infinite */
.animate-infinite-scroll {
  animation: scrollInfinite 25s linear infinite;
}
@keyframes scrollInfinite {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@keyframes animIn {
  0% {
    opacity: 0;
    transform: scale(0.4) rotate(-10deg);
  }
  50% {
    opacity: 1;
    transform: scale(1.3) rotate(3deg);
  }
  100% {
    opacity: 1;
    transform: scale(1) rotate(0);
  }
}

.animated-headline {
  font-size: 2.5rem;
  font-weight: bold;
  overflow: hidden;
  display: inline-block;
  white-space: nowrap;
}

.letter {
  display: inline-block;
  opacity: 0;
  transform: translateY(100%);
  animation: waveIn 0.6s forwards;
}

@keyframes waveIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-4px);
  }
}

.animate-float {
  animation: float 2s ease-in-out infinite;
}
.hide {
  display: none;
}

.zoom:hover img {
    transform: scale(1.05);
  }

  .timeline-bar {
    animation: progress 5s linear infinite;
  }

  .paused .timeline-bar {
    animation-play-state: paused;
  }

.slide-img {
width: 100%;
height: 300px;
object-fit: cover;
object-position: center;
animation: zoomInOut 5s ease-in-out infinite alternate;
}
.carousel-slide {
  height: 300px;
}
.typewriter-text {
  font-size: 1.5rem;
  font-weight: 700;
  color: #fb923c; /* naranja */
  min-height: 2.5rem;
}
@keyframes typewriter {
  from { width: 0 }
  to { width: 100% }
}
.typewriter-effect::after {
  content: '|';
  animation: blink 0.7s infinite;
}
.rubik-300{
  font-family: "Rubik", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}

.rubik-400{
  font-family: "Rubik", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.rubik-600{
  font-family: "Rubik", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}

.rubik-700{
  font-family: "Rubik", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.rubik-800{
  font-family: "Rubik", sans-serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
}

.rubik-900{
  font-family: "Rubik", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
}

.poppins-400{
  font-family: "Poppins", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.poppins-600{
  font-family: "Poppins", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}

.poppins-700{
  font-family: "Poppins", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.poppins-800{
  font-family: "Poppins", sans-serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
}

.poppins-900{
  font-family: "Poppins", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
}

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap');

@keyframes blink {
  50% { opacity: 0; }
}
@media (min-width: 768px) {
  .slide-img {
    height: 500px;
  }
  .carousel-slide {
    height: 500px;
  }
  .headline-container {
    font-size: 3rem;
    height: 70px;
  }
}

@keyframes zoomInOut {
0% { transform: scale(1); }
100% { transform: scale(1.02); }
}
@keyframes titleIn {
0% { opacity: 0; transform: translateY(-30px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes descIn {
0% { opacity: 0; transform: translateY(10px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes buttonIn {
0% { opacity: 0; transform: scale(0.9); }
100% { opacity: 1; transform: scale(1); }
}

.animate-title {
animation: titleIn 1s ease-out forwards;
animation-delay: 0.3s;
}
.animate-desc {
animation: descIn 1s ease-out forwards;
animation-delay: 1s;
}
.animate-button {
animation: buttonIn 0.6s ease-out forwards;
animation-delay: 1.8s;
}
@keyframes progress {
  0% { width: 0%; }
  100% { width: 100%; }
}