/* DwipachalTour Custom Stylesheet */

/* Custom Variables */
:root {
    --primary: #0A8F5A;
    --primary-soft: #F5FBF8;
    --secondary: #1A73E8;
    --surface: #FAFAFB;
    --border: #ECEEF2;
    --input: #F0F2F5;
    --sun: #DCA11F;
    --coral: #E06243;
    
    --shadow-soft: 0 4px 24px -8px rgba(10, 143, 90, 0.12);
    --shadow-elegant: 0 20px 60px -20px rgba(10, 143, 90, 0.25);
    --shadow-glow: 0 0 40px rgba(10, 143, 90, 0.35);
}

/* Layout Utilities */
.container-pad {
    width: 100%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}
@media (min-width: 640px) {
    .container-pad {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}
@media (min-width: 1024px) {
    .container-pad {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

/* Base Styles */
html {
    scroll-behavior: smooth;
}

body {
    background-color: #ffffff;
    color: #1a253c;
    font-family: 'Inter', 'Hind Siliguri', system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Poppins', 'Hind Siliguri', system-ui, sans-serif;
    letter-spacing: -0.02em;
}

:lang(bn), .lang-bn {
    font-family: 'Hind Siliguri', 'Inter', system-ui, sans-serif;
    letter-spacing: 0;
}

/* Glassmorphism Utilities */
.glass {
    background: rgba(255, 255, 255, 0.65);
    backdrop-filter: blur(20px) saturate(160%);
    -webkit-backdrop-filter: blur(20px) saturate(160%);
    border: 1px solid rgba(236, 238, 242, 0.6);
}

.glass-dark {
    background: rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(20px) saturate(160%);
    -webkit-backdrop-filter: blur(20px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: white;
}

/* Gradients */
.gradient-hero {
    background: linear-gradient(135deg, var(--primary) 0%, #17a2b8 50%, var(--secondary) 100%);
}

.gradient-sun {
    background: linear-gradient(135deg, var(--sun) 0%, var(--coral) 100%);
}

.text-gradient-brand {
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

/* Interaction Effects */
.card-hover {
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s ease;
}

.card-hover:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-elegant);
}

.shadow-soft {
    box-shadow: var(--shadow-soft);
}

.shadow-elegant {
    box-shadow: var(--shadow-elegant);
}

.shadow-glow {
    box-shadow: var(--shadow-glow);
}

/* Micro Animations */
.fade-in-up {
    animation: fadeInUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(24px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Dark mode adjustments (if class added) */
.dark {
    background-color: #121824;
    color: #f3f4f6;
}
.dark .glass {
    background: rgba(18, 24, 36, 0.65);
    border-color: rgba(255, 255, 255, 0.1);
}
.dark .bg-card {
    background-color: #1a202c;
    border-color: rgba(255, 255, 255, 0.08);
}
.dark .text-muted-foreground {
    color: #9ca3af;
}
.dark .border-border {
    border-color: rgba(255, 255, 255, 0.1);
}
.dark .bg-surface {
    background-color: #151b26;
}
