/*
Theme Name: Kroxia Digital Solutions
Theme URI: https://kroxia.com
Author: Kroxia Digital Solutions
Author URI: https://kroxia.com
Description: A premium Elementor-first WooCommerce WordPress theme for digital agencies. Fully compatible with Elementor Pro, WooCommerce, and all major plugins.
Version: 1.1.0
Requires at least: 5.8
Tested up to: 6.7
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kroxia
Tags: elementor, woocommerce, custom-colors, custom-logo, custom-menu, featured-images, full-width-template, sticky-post, theme-options, dark-mode, rtl-language-support, blog, e-commerce, portfolio
*/

/* =============================================
   KROXIA THEME — বেস স্টাইল
   (মৌলিক CSS ভ্যারিয়েবল, রিসেট, ইউটিলিটি ক্লাস)
   ============================================= */

/* -------- রঙ ও থীম ভ্যারিয়েবল -------- */
:root {
    --kroxia-primary: #5B5CF0;
    --kroxia-primary-dark: #4A4AE0;
    --kroxia-primary-light: #7C4DFF;
    --kroxia-primary-rgb: 91, 92, 240;
    --kroxia-secondary: #7C4DFF;
    --kroxia-accent: #7C4DFF;
    --kroxia-accent-rgb: 124, 77, 255;
    --kroxia-success: #10b981;
    --kroxia-warning: #f59e0b;
    --kroxia-error: #ef4444;
    --kroxia-dark: #0f172a;
    --kroxia-darker: #0a0f1e;
    --kroxia-light: #f8fafc;
    --kroxia-white: #ffffff;

    /* -------- গ্রে স্কেল -------- */
    --kroxia-gray-50: #f8fafc;
    --kroxia-gray-100: #f1f5f9;
    --kroxia-gray-200: #e2e8f0;
    --kroxia-gray-300: #cbd5e1;
    --kroxia-gray-400: #94a3b8;
    --kroxia-gray-500: #64748b;
    --kroxia-gray-600: #475569;
    --kroxia-gray-700: #334155;
    --kroxia-gray-800: #1e293b;
    --kroxia-gray-900: #0f172a;

    /* -------- টাইপোগ্রাফি -------- */
    --kroxia-font-primary: 'Inter', sans-serif;
    --kroxia-font-heading: 'Space Grotesk', sans-serif;
    --kroxia-font-mono: 'JetBrains Mono', 'Fira Code', monospace;
    --kroxia-font-size-xs: 0.75rem;
    --kroxia-font-size-sm: 0.875rem;
    --kroxia-font-size-base: 1rem;
    --kroxia-font-size-lg: 1.125rem;
    --kroxia-font-size-xl: 1.25rem;
    --kroxia-font-size-2xl: 1.5rem;
    --kroxia-font-size-3xl: 1.875rem;
    --kroxia-font-size-4xl: 2.25rem;
    --kroxia-font-size-5xl: 3rem;
    --kroxia-font-weight-normal: 400;
    --kroxia-font-weight-medium: 500;
    --kroxia-font-weight-semibold: 600;
    --kroxia-font-weight-bold: 700;
    --kroxia-line-height-tight: 1.25;
    --kroxia-line-height-normal: 1.5;
    --kroxia-line-height-relaxed: 1.75;

    /* ------------- স্পেসিং -------- */
    --kroxia-spacing-xs: 0.25rem;
    --kroxia-spacing-sm: 0.5rem;
    --kroxia-spacing-md: 1rem;
    --kroxia-spacing-lg: 1.5rem;
    --kroxia-spacing-xl: 2rem;
    --kroxia-spacing-2xl: 3rem;
    --kroxia-spacing-3xl: 4rem;
    --kroxia-spacing-4xl: 6rem;

    /* -------- শ্যাডো -------- */
    --kroxia-shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
    --kroxia-shadow: 0 4px 20px rgba(0,0,0,0.1);
    --kroxia-shadow-lg: 0 20px 60px rgba(0,0,0,0.15);
    --kroxia-shadow-xl: 0 25px 80px rgba(0,0,0,0.2);

    /* -------- বর্ডার ও রেডিয়াস -------- */
    --kroxia-radius: 12px;
    --kroxia-radius-sm: 6px;
    --kroxia-radius-lg: 20px;
    --kroxia-radius-full: 9999px;
    --kroxia-border: 1px solid var(--kroxia-gray-200);
    --kroxia-border-width: 1px;

    /* -------- ট্রানজিশন -------- */
    --kroxia-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --kroxia-transition-fast: all 0.15s ease;
    --kroxia-transition-slow: all 0.5s ease;

    /* -------- জেড-ইনডেক্স -------- */
    --kroxia-z-dropdown: 100;
    --kroxia-z-sticky: 200;
    --kroxia-z-navbar: 500;
    --kroxia-z-modal: 1000;
    --kroxia-z-tooltip: 1500;

    /* -------- লাইট মোড ডিফল্ট -------- */
    --kroxia-bg: #ffffff;
    --kroxia-bg-secondary: #f8fafc;
    --kroxia-bg-card: #ffffff;
    --kroxia-bg-elevated: #ffffff;
    --kroxia-text: #1e293b;
    --kroxia-text-muted: #64748b;
    --kroxia-text-inverse: #ffffff;
    --kroxia-border-color: #e2e8f0;
}

/* -------- ডার্ক মোড -------- */
[data-theme="dark"] {
    --kroxia-bg: #0a0f1e;
    --kroxia-bg-secondary: #111827;
    --kroxia-bg-card: #1a2035;
    --kroxia-bg-elevated: #1e293b;
    --kroxia-text: #e2e8f0;
    --kroxia-text-muted: #94a3b8;
    --kroxia-text-inverse: #0f172a;
    --kroxia-border-color: #1e293b;
    --kroxia-shadow: 0 4px 20px rgba(0,0,0,0.4);
    --kroxia-shadow-lg: 0 20px 60px rgba(0,0,0,0.5);
}

/* -------- লাইট মোড (স্পষ্ট ওভাররাইড) -------- */
[data-theme="light"] {
    --kroxia-bg: #ffffff;
    --kroxia-bg-secondary: #f8fafc;
    --kroxia-bg-card: #ffffff;
    --kroxia-bg-elevated: #ffffff;
    --kroxia-text: #1e293b;
    --kroxia-text-muted: #64748b;
    --kroxia-text-inverse: #ffffff;
    --kroxia-border-color: #e2e8f0;
    --kroxia-shadow: 0 4px 20px rgba(0,0,0,0.08);
    --kroxia-shadow-lg: 0 20px 60px rgba(0,0,0,0.12);
}

/* =============================================
   রিসেট ও বেস
   ============================================= */

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: var(--kroxia-font-primary);
    font-size: var(--kroxia-font-size-base);
    font-weight: var(--kroxia-font-weight-normal);
    line-height: var(--kroxia-line-height-relaxed);
    background-color: var(--kroxia-bg);
    color: var(--kroxia-text);
    transition: background-color 0.3s ease, color 0.3s ease;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    text-decoration: none;
    color: inherit;
    transition: var(--kroxia-transition);
}

ul, ol {
    list-style: none;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--kroxia-font-heading);
    font-weight: var(--kroxia-font-weight-bold);
    line-height: var(--kroxia-line-height-tight);
    color: var(--kroxia-text);
}

button {
    cursor: pointer;
    border: none;
    background: none;
    font-family: inherit;
    font-size: inherit;
}

input, textarea, select {
    font-family: inherit;
    font-size: inherit;
    color: inherit;
}

/* =============================================
   কন্টেইনার
   ============================================= */

.container {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
}

.container-fluid {
    width: 100%;
    padding: 0 24px;
}

.container-narrow {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px;
}

/* =============================================
   ইউটিলিটি ক্লাস
   ============================================= */

/* -------- সেকশন -------- */
.section-padding {
    padding: 100px 0;
}

.section-padding-sm {
    padding: 60px 0;
}

.section-padding-lg {
    padding: 140px 0;
}

.site-content {
    min-height: 60vh;
}

/* ------------- টেক্সট -------- */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

/* -------- ডিসপ্লে -------- */
.d-flex { display: flex; }
.d-grid { display: grid; }
.d-block { display: block; }
.d-inline-block { display: inline-block; }
.d-none { display: none; }

/* ------------- ফ্লেক্স -------- */
.flex-wrap { flex-wrap: wrap; }
.flex-nowrap { flex-wrap: nowrap; }
.flex-column { flex-direction: column; }
.align-center { align-items: center; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.gap-xs { gap: var(--kroxia-spacing-xs); }
.gap-sm { gap: var(--kroxia-spacing-sm); }
.gap-md { gap: var(--kroxia-spacing-md); }
.gap-lg { gap: var(--kroxia-spacing-lg); }
.gap-xl { gap: var(--kroxia-spacing-xl); }

/* -------- স্ক্রিন-রিডার অনলি -------- */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    clip: rect(0,0,0,0); /* deprecated, kept for legacy IE */
    white-space: nowrap;
    border: 0;
}

/* ------------- লোডিং / এনিমেশন -------- */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* -------- স্ক্রলবার -------- */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--kroxia-bg-secondary);
}

::-webkit-scrollbar-thumb {
    background: var(--kroxia-gray-300);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--kroxia-gray-400);
}
