/* style.css */
@import "tailwindcss";
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

body {
    font-family: 'Inter', sans-serif;
    scroll-behavior: smooth;
    background-color: #f8fafc;
    color: #0f172a;
}

/* Base link transitions */
a, button {
    transition: all 0.3s ease;
}

/* Chatbot & WhatsApp z-index fixes */
.fixed-btn {
    z-index: 9999;
}

div.fixed-btn {
    pointer-events: none !important;
}

div.fixed-btn * {
    pointer-events: auto !important;
}

a.fixed-btn {
    pointer-events: auto !important;
}

.chatbot-window {
    transition: all 0.3s ease-in-out;
    transform-origin: bottom right;
}

.chatbot-hidden {
    opacity: 0;
    visibility: hidden;
    transform: scale(0.9) translateY(20px);
}

.chatbot-visible {
    opacity: 1;
    visibility: visible;
    transform: scale(1) translateY(0);
}

/* Custom Tour Card Responsive CSS Fixes */
#tours .grid {
    pointer-events: auto !important;
}

#tours .grid .tour-card-link {
    display: flex;
    flex-direction: column;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    position: relative;
    z-index: 10;
    cursor: pointer;
    pointer-events: auto !important;
}

/* Ensure inner images, overlays, text and all other children have pointer-events none */
#tours .grid .tour-card-link img,
#tours .grid .tour-card-link .absolute,
#tours .grid .tour-card-link * {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    pointer-events: none !important; /* Forces mobile clicks to bubble to the parent anchor */
}

/* On mobile, prevent any overlap by making the bottom section always scale beautifully */
@media (max-width: 768px) {
    .tour-card-link .p-5 {
        padding: 1.25rem !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        flex-grow: 1 !important;
    }
    
    .tour-card-link h3 {
        margin-bottom: 2rem !important; /* Prominent safe spacing between title and price/link area */
    }

    /* Absolute safety for the bottom row */
    .tour-card-bottom-row {
        position: relative !important;
        margin-top: auto !important;
        padding-top: 1rem !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 0.5rem !important;
    }
    
    .tour-card-bottom-row .flex-col {
        flex-shrink: 0 !important;
    }
    
    .tour-card-btn {
        flex-shrink: 0 !important;
    }
}

/* Auth Trigger Button Enhancements */
.auth-trigger-btn {
    position: relative !important;
    z-index: 50 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
}

/* Price Interactive Hover & Glow Effects */
.price-glow-effect {
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    transform-origin: left center;
    cursor: pointer;
    display: inline-flex;
    flex-direction: column;
}

/* Trigger either on hover directly on the price, or when the parent card is hovered */
.price-glow-effect:hover,
.group:hover .price-glow-effect {
    transform: scale(1.08) translateY(-2px);
    filter: drop-shadow(0 4px 6px rgba(16, 185, 129, 0.1));
}

.price-glow-effect:hover .text-emerald-600,
.group:hover .price-glow-effect .text-emerald-600,
.price-glow-effect:hover .text-3xl,
.group:hover .price-glow-effect .text-3xl {
    color: #059669 !important; /* Darker vibrant green */
    text-shadow: 0 0 10px rgba(52, 211, 153, 0.25);
}

.price-glow-effect:hover .line-through,
.group:hover .price-glow-effect .line-through {
    color: #f43f5e !important; /* Elegant crimson tint for original crossed price to highlight the discount savings */
    transition: color 0.3s ease;
}


