/*
 * =========================================================================
 * WebStraNet Design System - Configuration
 * =========================================================================
 *
 * Copyright © 2026 WebStraNet Technologies Pvt Ltd.
 * All Rights Reserved.
 *
 * @description
 * This file defines the global CSS Variables (Colors, Typography, Brand Tokens)
 * that control the visual identity of the platform. Modify this file to
 * propagate brand changes across the entire application.
 *
 * @license   Proprietary
 */

/* =========================================
    THEME CONFIGURATION (BRAND & COLORS)
   ========================================= */

/* --- Import Typography --- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;800&display=swap');

:root {
    /* --- BRAND PALETTE --- */
    /* Primary: Electric Violet */
    --bs-primary: #A100FF;
    --bs-primary-rgb: 161, 0, 255;
    
    /* Secondary: Deep Brand Purple */
    --bs-secondary: #460073;
    --bs-secondary-rgb: 70, 0, 115;

    /* Accent: Tech Cyan */
    --bs-info: #00D4FF;
    --bs-info-rgb: 0, 212, 255;

    /* --- STATUS COLORS --- */
    --bs-success: #00C853;
    --bs-warning: #FFAB00;
    --bs-danger: #FF3D00;

    /* --- TYPOGRAPHY --- */
    --bs-body-font-family: 'Inter', system-ui, -apple-system, sans-serif;
    --bs-body-color: #4B5563; /* Slate Gray */
    --bs-heading-color: #1E0033; /* Dark Purple */
    
    /* --- LINKS --- */
    --bs-link-color: #A100FF;
    --bs-link-hover-color: #460073;
}

/* --- COLOR UTILITY OVERRIDES --- */

.bg-primary { background-color: var(--bs-primary) !important; }
.text-primary { color: var(--bs-primary) !important; }
a.text-primary:hover, a.text-primary:focus { color: var(--bs-secondary) !important; }

.bg-secondary { background-color: var(--bs-secondary) !important; }
.text-secondary { color: var(--bs-secondary) !important; }

.bg-dark { background-color: var(--bs-heading-color) !important; }
.text-dark { color: var(--bs-heading-color) !important; }

.bg-light { background-color: #f9fafc !important; }
.bg-footer { background-color: #0F0518 !important; } /* Brand Dark BG */
.text-footer { color: #9CA3AF !important; }

/* --- COMPONENT OVERRIDES --- */

/* Buttons */
.btn-primary {
    background-color: var(--bs-primary) !important;
    border: 1px solid var(--bs-primary) !important;
    color: #fff !important;
    box-shadow: 0 4px 14px 0 rgba(161, 0, 255, 0.39); /* Brand Glow */
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active {
    background-color: var(--bs-secondary) !important;
    border-color: var(--bs-secondary) !important;
    color: #fff !important;
}

.btn-soft-primary {
    background-color: rgba(var(--bs-primary-rgb), .15) !important;
    border: 1px solid rgba(var(--bs-primary-rgb), .1) !important;
    color: var(--bs-primary) !important;
    box-shadow: none;
}

.btn-soft-primary:hover {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: #fff !important;
}

.btn-outline-primary {
    border: 1px solid var(--bs-primary);
    color: var(--bs-primary);
    background-color: transparent;
}

.btn-outline-primary:hover {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #fff;
}

/* Forms */
.form-control:focus {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.1);
}

/* Hero Section Classes */
.hero-section {
    padding-top: 140px;
    padding-bottom: 80px;
    display: flex;
    align-items: center;
}

.hero-section-tall {
    padding-top: 150px;
    padding-bottom: 80px;
    display: flex;
    align-items: center;
    min-height: 60vh;
}

.hero-section-compact {
    padding-top: 140px;
    padding-bottom: 60px;
    min-height: 60vh;
}

/* Custom Gradients */
.bg-brand-gradient {
    background: linear-gradient(135deg, var(--bs-primary) 0%, var(--bs-secondary) 100%);
    color: #fff;
}

.text-gradient {
    background: linear-gradient(90deg, #460073 0%, #A100FF 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}