/* --- Local Font Declarations --- */

/* Plus Jakarta Sans (Variable Font) */
@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url('../fonts/plus-jakarta-sans/PlusJakartaSans-VariableFont_wght.ttf') format('truetype');
    font-weight: 200 800;
    font-style: normal;
    font-display: swap;
}

/* 
@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url('../fonts/plus-jakarta-sans/PlusJakartaSans-Italic-VariableFont_wght.ttf') format('truetype');
    font-weight: 200 800;
    font-style: italic;
    font-display: swap;
}
*/

/* Hind Siliguri */
@font-face {
    font-family: 'Hind Siliguri';
    src: url('../fonts/hind-siliguri/HindSiliguri-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Hind Siliguri';
    src: url('../fonts/hind-siliguri/HindSiliguri-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Hind Siliguri';
    src: url('../fonts/hind-siliguri/HindSiliguri-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Hind Siliguri';
    src: url('../fonts/hind-siliguri/HindSiliguri-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Hind Siliguri';
    src: url('../fonts/hind-siliguri/HindSiliguri-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

:root {
    /* Brand Colors */
    --brand-50: #F9F0F0;
    --brand-100: #F2DCDC;
    --brand-200: #E4B9B9;
    --brand-300: #D59696;
    --brand-400: #C77373;
    --brand-500: #B85050;
    --brand-600: #9F3A3A;
    --brand-700: #862424;
    --brand-800: #DC0414; /* Secondary / Hover Red */
    --brand-900: #6D0909; /* Primary Deep Red */
    --brand-950: #420606;

    --brand-900-rgb: 109, 9, 9;
    --brand-950-rgb: 66, 6, 6;

    /* RGB variants for Opacity */
    --white-rgb: 255, 255, 255;
    --black-rgb: 0, 0, 0;

    /* Semantic Grays & Whites */
    --white: #ffffff;
    --gray-25: #FDFDFD;
    --gray-50: #F9FAFB;
    --gray-100: #F3F4F6;
    --gray-200: #E5E7EB;
    --gray-300: #D1D5DB;
    --gray-400: #9CA3AF;
    --gray-500: #6B7280;
    --gray-600: #4B5563;
    --gray-700: #374151;
    --gray-800: #1F2937;
    --gray-900: #111827;

    /* Slate variants */
    --slate-50: #F8FAFC;
    --slate-100: #F1F5F9;
    --slate-200: #E2E8F0;

    /* Semantic Colors */
    --success: #10B981;
    --warning: #F59E0B;
    --error: #EF4444;
    --info: #3B82F6;
    
    /* Transitions */
    --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-normal: 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* Global Font Utilities */
body {
    font-family: 'Plus Jakarta Sans', 'Hind Siliguri', sans-serif;
    font-style: normal !important;
}

input, select, textarea, button {
    font-family: inherit;
    font-style: normal;
}

.font-bengali {
    font-family: 'Hind Siliguri', sans-serif !important;
}

.font-plus {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}

[x-cloak] { display: none !important; }

/* Selection Color */
::selection {
    background-color: var(--brand-900);
    color: white;
}

/* Scrollbar Utility (Used across both) */
.custom-scrollbar::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.custom-scrollbar::-webkit-scrollbar-track {
    background: var(--slate-100);
}

.custom-scrollbar::-webkit-scrollbar-thumb {
    background: var(--brand-900);
    border-radius: 10px;
    border: 2px solid var(--slate-100);
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: var(--brand-800);
}

/* --- Page Specific Layout Styles --- */
.hero-gradient {
    background: linear-gradient(135deg, rgba(var(--brand-900-rgb), 0.45) 0%, rgba(var(--brand-950-rgb), 0.75) 100%);
}

#main-header.scrolled {
    background: rgba(var(--white-rgb), 0.95);
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 20px rgba(var(--black-rgb), 0.08);
    border-bottom-color: rgba(var(--black-rgb), 0.05);
}

/* Common Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in-up {
    animation: fadeInUp 0.4s ease-out forwards;
}

/* Quill Placeholder Fix */
.ql-editor.ql-blank::before {
    font-style: normal !important;
}

.ql-toolbar, .ql-container {
    font-family: 'Plus Jakarta Sans', 'Hind Siliguri', sans-serif !important;
}

.ql-snow .ql-picker {
    font-family: inherit !important;
}

.ql-editor {
    font-family: inherit !important;
    font-size: 14px;
}

.ql-editor-bn {
    font-family: 'Hind Siliguri', sans-serif !important;
}

/* Ensure pointer cursor for programs carousel */
.programsSwiper .swiper-slide {
    cursor: pointer !important;
}

/* Remove forced uppercase styling across the entire site */
* {
    text-transform: none !important;
}
