/* DwipachalTour Custom Stylesheet */
@import url('https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@300;400;500;600;700&display=swap');

/* 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, body {
    scroll-behavior: smooth;
    background-color: #ffffff;
    color: #1a253c;
    font-family: 'Hind Siliguri', 'Inter', system-ui, -apple-system, sans-serif !important;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6, .font-display, .font-sans {
    font-family: 'Hind Siliguri', 'Poppins', system-ui, sans-serif !important;
}

:lang(bn), .lang-bn, [data-lang="bn"], html[lang="bn"], body[data-lang="bn"] * {
    font-family: 'Hind Siliguri', sans-serif !important;
}

/* 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;
}

/* ======================================================
   Admin shell polish (applies to every /admin page)
   ====================================================== */
body.admin-shell {
    background-color: #f8fafc;
}
body.admin-shell .admin-topbar {
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04), 0 4px 12px -6px rgba(15, 23, 42, 0.08);
}

/* Consistent keyboard focus for links, buttons and form controls */
body.admin-shell a:focus-visible,
body.admin-shell button:focus-visible,
body.admin-shell select:focus-visible,
body.admin-shell input:focus-visible,
body.admin-shell textarea:focus-visible {
    outline: 2px solid rgba(10, 143, 90, 0.55);
    outline-offset: 2px;
}

/* Slim scrollbars for sidebars, tables and modals */
body.admin-shell * {
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
}
body.admin-shell *::-webkit-scrollbar { width: 8px; height: 8px; }
body.admin-shell *::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 9999px; border: 2px solid transparent; background-clip: content-box; }
body.admin-shell *::-webkit-scrollbar-thumb:hover { background: #94a3b8; background-clip: content-box; }
body.admin-shell *::-webkit-scrollbar-track { background: transparent; }

/* Tables: aligned numbers and headers that never wrap */
body.admin-shell table { font-variant-numeric: tabular-nums; }
body.admin-shell table th { white-space: nowrap; }

/* Page titles: slightly tighter on small screens */
@media (max-width: 640px) {
    body.admin-shell main h1.text-3xl { font-size: 1.5rem; line-height: 2rem; }
}
