/* ============================================================
   Yatra Setu — Theme layer (CodeIgniter 4 port)
   Fonts, scrollbar, 3D utilities & keyframes
   ============================================================ */

body {
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
}

.font-serif {
    font-family: 'Playfair Display', Georgia, serif;
}

.font-display {
    font-family: 'Syne', sans-serif;
}

.font-cinzel {
    font-family: 'Cinzel', serif;
}

/* Custom Smooth Scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: #020617;
}
::-webkit-scrollbar-thumb {
    background: #334155;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #0ea5e9;
}

/* Hide scrollbar for clean horizontal carousels */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* 3D Perspective utilities */
.perspective-1000 {
    perspective: 1000px;
}
.transform-style-3d {
    transform-style: preserve-3d;
}
.backface-hidden {
    backface-visibility: hidden;
}

/* Smooth ambient floating animation */
@keyframes floatSlow {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    50%      { transform: translateY(-10px) rotate(1deg); }
}
.animate-float-slow {
    animation: floatSlow 7s ease-in-out infinite;
}

@keyframes pulseGlow {
    0%, 100% { opacity: 0.4; transform: scale(1); }
    50%      { opacity: 0.8; transform: scale(1.08); }
}
.animate-pulse-glow {
    animation: pulseGlow 4s ease-in-out infinite;
}

@keyframes spinSlow {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}
.animate-spin-slow {
    animation: spinSlow 9s linear infinite;
}

/* Departures board ticker */
.ticker-track {
    animation: tickerScroll 38s linear infinite;
}
.ticker-track:hover {
    animation-play-state: paused;
}
@keyframes tickerScroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

/* Line clamp helpers (used by cards) */
.line-clamp-1 { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Range slider accent consistency */
input[type="range"] {
    accent-color: #0ea5e9;
}

/* Reduced motion accessibility fallback */
@media (prefers-reduced-motion: reduce) {
    .animate-float-slow,
    .animate-pulse-glow,
    .animate-spin-slow,
    .ticker-track {
        animation: none !important;
    }
}

/* Scrolling reviews marquee � pauses on hover */
@keyframes reviewsMarquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
.marquee-track-reviews {
    animation: reviewsMarquee 55s linear infinite;
}
.review-marquee:hover .marquee-track-reviews {
    animation-play-state: paused !important;
}

/* Devbhoomi light theme — devotional pattern backgrounds */
.devbhoomi-pattern {
    background-image:
        radial-gradient(circle at 10% 20%, rgba(245,158,11,0.04) 0%, transparent 50%),
        radial-gradient(circle at 90% 80%, rgba(16,185,129,0.03) 0%, transparent 50%);
}
.hero-parallax-zoom {
    will-change: transform;
    transform: scale(1.05);
}

/* Marquee running animation (trust banner) */
@keyframes trustMarquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-33.333%); }
}
.marquee-track {
    animation: trustMarquee 35s linear infinite !important;
}

/* ---- Google Translate widget (compact) ---- */
#google_translate_element .goog-te-gadget {
    font-family: inherit;
    font-size: 0 !important;
    /* line-height: 0 !important; */
}
#google_translate_element .goog-te-gadget > span,
#google_translate_element .goog-te-gadget > span > a {
    display: none !important;
}
#google_translate_element .goog-te-combo {
    font-size: 12px !important;
    font-family: inherit;
    padding: 6px 10px;
    border: 1px solid #e2e8f0 !important;
    border-radius: 999px !important;
    background: #ffffff;
    color: #334155;
    cursor: pointer;
    outline: none;
}
.goog-te-banner-frame.skiptranslate { display: none !important; }
body { top: 0 !important; }
