/*search bar section*/
@media (prefers-reduced-motion: reduce) {
    * {
        animation: none !important;
        transition: none !important;
    }
}

/* ===== Keyframes بسيطة وناعمة ===== */
@keyframes kb-zoom {
    from {
        transform: scale(1.03);
    }
    to {
        transform: scale(1.1);
    }
}
@keyframes fade-in {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes slide-up {
    from {
        transform: translateY(28px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}
@keyframes drop-in {
    from {
        transform: translateY(34px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

#mainImage img.hero-zoom {
    transform-origin: center;
    animation: kb-zoom 36s ease-in-out infinite alternate;
    will-change: transform;
}

.overlay-fade {
    animation: fade-in 1.1s ease-out forwards;
}

.anim-in {
    opacity: 0;
}
.anim-in.in {
    animation: slide-up 1s ease-out forwards;
}
.anim-delay-1.in {
    animation-delay: 0.15s;
}
.anim-delay-2.in {
    animation-delay: 0.3s;
}
.anim-delay-3.in {
    animation-delay: 0.45s;
}

.search-drop {
    opacity: 0;
}
.search-drop.animated {
    animation: drop-in 1.05s ease-out forwards;
}

/*top destination*/

@keyframes cityPulse {
    0% {
        transform: translateY(0);
        opacity: 0.92;
    }
    50% {
        transform: translateY(-2px);
        opacity: 1;
    }
    100% {
        transform: translateY(0);
        opacity: 0.92;
    }
}
.city-badge {
    display: inline-block;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    line-height: 1;
    padding: 0.45rem 0.75rem;
    border-radius: 0.5rem;
    animation: cityPulse 2.2s ease-in-out infinite;
    text-align: center;
    letter-spacing: 0.2px;
}

/*footer*/
.ink-underline {
    position: relative;
    display: inline-block;
}
.ink-underline::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -3px;
    width: 0;
    height: 2px;
    border-radius: 9999px;
    background: linear-gradient(90deg, #facc15, #fde047, #facc15);
    transform: translateX(-50%);
    transition: width 0.42s cubic-bezier(0.22, 1, 0.36, 1),
        height 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}
.ink-underline:hover::after,
.ink-underline:focus-visible::after {
    width: 100%;
    height: 3px;
}

[data-reveal] {
    opacity: 0;
    will-change: transform, opacity;
}
@keyframes revealLeft {
    from {
        opacity: 0;
        transform: translateX(-40px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}
@keyframes revealRight {
    from {
        opacity: 0;
        transform: translateX(40px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.is-inview[data-reveal="left"] {
    animation: revealLeft 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.is-inview[data-reveal="right"] {
    animation: revealRight 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.is-inview {
    animation-delay: var(--rv-delay, 0s);
}

@media (prefers-reduced-motion: reduce) {
    .ink-underline::after {
        transition: none;
    }
    [data-reveal] {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
    }
}
/* Hotel hero slider */
[data-hotel-slider] {
  position: relative;
}

[data-hotel-slider] .hotel-hero-img {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: scale(1.02);
  transition: opacity 0.6s ease, transform 0.6s ease;
  pointer-events: none;
}

/* fallback لو الـ JS مش شغال */
[data-hotel-slider] .hotel-hero-img:first-of-type {
  position: relative;
}

/* السلايد النشط */
[data-hotel-slider] .hotel-hero-img.is-active {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}
