/* Modern Blog Website CSS - Optimized & Responsive */

* {
    /*font-family: 'Inter', sans-serif;*/
    box-sizing: border-box;
}

.hr-divider {
    border: none;
    height: 2px;
    background: linear-gradient(to right, white, var(--primary-color), white);
    /* margin: 2rem 0; */
}

/* ============================================================================= */
  #posts-container {
            transition: opacity 0.3s ease-in-out;
        }
        
        @media screen and (min-width: 676px){
             #posts-container {
                 display: grid;
                 grid-template-columns: 1fr 1fr;
                 gap: 0.5rem;
             }
        }

        .ajax-page-link {
            cursor: pointer;
        }

        .page-item.disabled .ajax-page-link {
            cursor: not-allowed;
        }

        #loading-spinner {
            z-index: 10;
        }
/* ============================================================================= */

html.theme-dark {
    --primary-color: #8b5cf6;
    --secondary-color: #7c3aed;
    --accent-color: #06b6d4;
    --text-dark: #f9fafb;
    --text-light: #9399a0;
    --bg-light: #111827;
    --white: #fff;
    --border-light: #374151;
    --shadow-light: rgba(139, 92, 246, 0.15);
    --shadow-medium: rgba(139, 92, 246, 0.2);
    --shadow-heavy: rgba(139, 92, 246, 0.25);
    /* --gradient: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%); */
    --gradient: linear-gradient(135deg, #000000 0%, #000000 100%);
    --loader-gradient: linear-gradient(135deg, #a78bfa 0%, #8b5cf6 100%);
}

/* Additional theme classes (apply to html or html) */
html.theme-forest {
    --primary-color: #059669;
    --secondary-color: #065f46;
    --accent-color: #d97706;
    --text-dark: #1f2937;
    --text-light: #6b7280;
    --bg-light: #f0fdf4;
    --white: #ffffff;
    --border-light: #d1fae5;
    --shadow-light: rgba(5, 150, 105, 0.08);
    --shadow-medium: rgba(5, 150, 105, 0.12);
    --shadow-heavy: rgba(5, 150, 105, 0.15);
    --gradient: linear-gradient(135deg, #059669 0%, #065f46 100%);
    --loader-gradient: linear-gradient(135deg, #10b981 0%, #047857 100%);
}

html.theme-sunset {
    --primary-color: #f97316;
    --secondary-color: #ea580c;
    --accent-color: #f59e0b;
    --text-dark: #1f2937;
    --text-light: #78716c;
    --bg-light: #fff7ed;
    --white: #ffffff;
    --border-light: #fed7aa;
    --shadow-light: rgba(249, 115, 22, 0.08);
    --shadow-medium: rgba(249, 115, 22, 0.12);
    --shadow-heavy: rgba(249, 115, 22, 0.15);
    --gradient: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
    --loader-gradient: linear-gradient(135deg, #fb923c 0%, #f97316 100%);
}

html.theme-ocean {
    --primary-color: #0ea5e9;
    --secondary-color: #0284c7;
    --accent-color: #06b6d4;
    --text-dark: #0f172a;
    --text-light: #64748b;
    --bg-light: #f0f9ff;
    --white: #ffffff;
    --border-light: #bae6fd;
    --shadow-light: rgba(14, 165, 233, 0.08);
    --shadow-medium: rgba(14, 165, 233, 0.12);
    --shadow-heavy: rgba(14, 165, 233, 0.15);
    --gradient: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);
    --loader-gradient: linear-gradient(135deg, #38bdf8 0%, #0ea5e9 100%);
}

html.theme-rose {
    --primary-color: #e11d48;
    --secondary-color: #be185d;
    --accent-color: #f59e0b;
    --text-dark: #1f2937;
    --text-light: #6b7280;
    --bg-light: #fdf2f8;
    --white: #ffffff;
    --border-light: #fce7f3;
    --shadow-light: rgba(225, 29, 72, 0.08);
    --shadow-medium: rgba(225, 29, 72, 0.12);
    --shadow-heavy: rgba(225, 29, 72, 0.15);
    --gradient: linear-gradient(135deg, #e11d48 0%, #be185d 100%);
    --loader-gradient: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%);
}

html.theme-midnight {
    --primary-color: #7c3aed;
    --secondary-color: #5b21b6;
    --accent-color: #a855f7;
    --text-dark: #111827;
    --text-light: #6b7280;
    --bg-light: #faf5ff;
    --white: #ffffff;
    --border-light: #e9d5ff;
    --shadow-light: rgba(124, 58, 237, 0.08);
    --shadow-medium: rgba(124, 58, 237, 0.12);
    --shadow-heavy: rgba(124, 58, 237, 0.15);
    --gradient: linear-gradient(135deg, #7c3aed 0%, #5b21b6 100%);
    --loader-gradient: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
}

html.theme-cyber {
    --primary-color: #84cc16;
    --secondary-color: #65a30d;
    --accent-color: #eab308;
    --text-dark: #1f2937;
    --text-light: #6b7280;
    --bg-light: #f7fee7;
    --white: #ffffff;
    --border-light: #d9f99d;
    --shadow-light: rgba(132, 204, 22, 0.08);
    --shadow-medium: rgba(132, 204, 22, 0.12);
    --shadow-heavy: rgba(132, 204, 22, 0.15);
    --gradient: linear-gradient(135deg, #84cc16 0%, #65a30d 100%);
    --loader-gradient: linear-gradient(135deg, #a3e635 0%, #84cc16 100%);
}



/* Your existing :root theme (default) */
:root {
    --primary-color: #6366f1;
    --secondary-color: #8b5cf6;
    --accent-color: #06b6d4;
    --text-dark: #1f2937;
    --text-light: #6b7280;
    --bg-light: #f8fafc;
    --white: #ffffff;
    --border-light: #e5e7eb;
    --shadow-light: rgba(0, 0, 0, 0.08);
    --shadow-medium: rgba(0, 0, 0, 0.12);
    --shadow-heavy: rgba(0, 0, 0, 0.15);
    --black: #000000;
    --card-bg: #ffffff;
    --border-color: #ddd;
    --gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    --loader-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    --transition: all 0.3s ease;
}

/* ============================================================================ */
body {
    /* Fixed background that doesn't scroll with content */
    background-attachment: fixed;
    background-repeat: repeat;
    background-size: auto;

    /* Active Background - Cute Doodle Hearts & Stars */
    background-image: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23666' stroke-width='1.2' opacity='0.15'%3E%3Cpath d='M20 25c0-4 3-7 7-7s7 3 7 7c0 4-3 7-7 7s-7-3-7-7z'/%3E%3Cpath d='M22 30c-2 0-4 2-4 4s2 4 4 4 4-2 4-4-2-4-4-4z'/%3E%3Cpath d='M50 15l2 6 6 0-5 4 2 6-5-4-5 4 2-6-5-4 6 0z'/%3E%3Cpath d='M60 50c0-3 2-5 5-5s5 2 5 3c0 3-2 5-5 5s-5-2-5-3z'/%3E%3Cpath d='M15 60l1 3 3 0-2 2 1 3-3-2-3 2 1-3-2-2 3 0z'/%3E%3C/g%3E%3C/svg%3E");

    /* Hand-drawn Circles & Dots - Universal */
    /* background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23666' stroke-width='1' opacity='0.18'%3E%3Ccircle cx='15' cy='15' r='8' stroke-dasharray='2,1'/%3E%3Ccircle cx='45' cy='15' r='5'/%3E%3Ccircle cx='15' cy='45' r='6'/%3E%3Ccircle cx='45' cy='45' r='9' stroke-dasharray='3,2'/%3E%3Ccircle cx='30' cy='30' r='3' fill='%23666' opacity='0.15'/%3E%3Ccircle cx='8' cy='30' r='2' fill='%23666' opacity='0.15'/%3E%3Ccircle cx='52' cy='30' r='2' fill='%23666' opacity='0.15'/%3E%3C/g%3E%3C/svg%3E"); */

    /* Sketchy Doodle Lines & Squiggles */
    /* background-image: url("data:image/svg+xml,%3Csvg width='90' height='90' viewBox='0 0 90 90' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23666' stroke-width='1.5' opacity='0.16' stroke-linecap='round'%3E%3Cpath d='M10 20c5 5 10-5 15 0s10-5 15 0'/%3E%3Cpath d='M15 40c3-3 8 3 12-2s7 4 10-1'/%3E%3Cpath d='M20 60c4 2 6-4 10 1s8-3 12 2'/%3E%3Cpath d='M50 15c2 8-3 5 1 12s-4 6 2 10'/%3E%3Cpath d='M70 25c-2 6 4 3-1 9s5 4-2 8'/%3E%3Cpath d='M65 55c3-4 7 2 4 6s6-2 3 4'/%3E%3C/g%3E%3C/svg%3E"); */

    /* Playful Doodle Shapes - WhatsApp Style */
    /* background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23666' stroke-width='1.3' opacity='0.14' stroke-linecap='round'%3E%3Cpath d='M20 20c0-5 5-5 8-2s8 1 8-4c0-5 5-5 8-2'/%3E%3Crect x='15' y='35' width='15' height='15' rx='3' transform='rotate(15 22 42)'/%3E%3Cpath d='M50 25l8 0 0 8-8 0z' transform='rotate(25 54 29)'/%3E%3Ccircle cx='75' cy='25' r='8' stroke-dasharray='4,2'/%3E%3Cpath d='M20 70c5-2 8 5 15 2s7-3 12 1'/%3E%3Cpath d='M60 65c2 5 8-1 6 6s5 2 8 7'/%3E%3Cpath d='M70 85c-3-4 2-6 5-2s-1 5 3 2'/%3E%3C/g%3E%3C/svg%3E"); */

    /* Hand-drawn Speech Bubbles & Elements */
    /* background-image: url("data:image/svg+xml,%3Csvg width='120' height='120' viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23666' stroke-width='1.1' opacity='0.13' stroke-linecap='round'%3E%3Cellipse cx='30' cy='30' rx='15' ry='10' transform='rotate(10 30 30)'/%3E%3Cpath d='M25 40l-3 6'/%3E%3Cellipse cx='80' cy='25' rx='12' ry='8' transform='rotate(-15 80 25)'/%3E%3Cpath d='M85 33l4 5'/%3E%3Cpath d='M20 70c8-2 15 8 25 5s12-6 18 2'/%3E%3Cpath d='M70 80c-5 3 2 8-3 12s8 1 5 7'/%3E%3Ccircle cx='90' cy='90' r='6' stroke-dasharray='2,1.5'/%3E%3Cpath d='M15 90c3-2 5 4 8 1s2-3 5 0'/%3E%3C/g%3E%3C/svg%3E"); */

    /* Casual Doodle Mix - Perfect for Chat Backgrounds */
    /* background-image: url("data:image/svg+xml,%3Csvg width='110' height='110' viewBox='0 0 110 110' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23666' stroke-width='1.4' opacity='0.12' stroke-linecap='round'%3E%3Cpath d='M25 25c0-3 2-5 5-5s5 2 5 5-2 5-5 5-5-2-5-5z'/%3E%3Cpath d='M27 35l-2 4'/%3E%3Cpath d='M45 20c2 4-1 6 3 8s-2 5 2 7'/%3E%3Cpath d='M70 15l3 8 8-2-6 6 3 8-7-4-7 4 3-8-6-6 8 2z' transform='scale(0.7)'/%3E%3Cpath d='M20 60c6 0 8-8 15-5s5 6 12 3'/%3E%3Cpath d='M60 70c-4 2 1 7-2 10s6-1 4 5'/%3E%3Crect x='75' y='75' width='10' height='10' rx='2' transform='rotate(20 80 80)' stroke-dasharray='3,2'/%3E%3Cpath d='M15 85c4-1 3 3 6 2s2-2 4 1'/%3E%3C/g%3E%3C/svg%3E"); */

    /* Minimalist Doodle Dots & Lines */
    /* background-image: url("data:image/svg+xml,%3Csvg width='70' height='70' viewBox='0 0 70 70' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23666' stroke-width='1.2' opacity='0.16' stroke-linecap='round'%3E%3Ccircle cx='20' cy='20' r='2' fill='%23666' opacity='0.12'/%3E%3Ccircle cx='50' cy='20' r='3' fill='%23666' opacity='0.12'/%3E%3Ccircle cx='20' cy='50' r='2.5' fill='%23666' opacity='0.12'/%3E%3Ccircle cx='50' cy='50' r='2' fill='%23666' opacity='0.12'/%3E%3Cpath d='M30 15c2 4-1 3 1 6'/%3E%3Cpath d='M15 35c4-1 2 3 5 2'/%3E%3Cpath d='M40 40c-2 3 3 1 1 4'/%3E%3Cpath d='M55 35c-3 2 1 4-1 6'/%3E%3C/g%3E%3C/svg%3E"); */

    /* Organic Doodle Patterns */
    /* background-image: url("data:image/svg+xml,%3Csvg width='85' height='85' viewBox='0 0 85 85' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23666' stroke-width='1.3' opacity='0.14' stroke-linecap='round'%3E%3Cpath d='M15 25c5-3 8 2 12-1s6 4 9 1'/%3E%3Cpath d='M20 45c-2 5 4 2 2 7s5-1 3 4'/%3E%3Cpath d='M45 20c3 3-1 5 2 8s-2 4 1 6'/%3E%3Cpath d='M60 40c-4 1 2 6-2 8s4 2 1 5'/%3E%3Cellipse cx='25' cy='65' rx='6' ry='4' transform='rotate(30 25 65)' stroke-dasharray='2,1'/%3E%3Cellipse cx='65' cy='65' rx='5' ry='7' transform='rotate(-20 65 65)' stroke-dasharray='3,1'/%3E%3Ccircle cx='70' cy='25' r='4' stroke-dasharray='1,1'/%3E%3C/g%3E%3C/svg%3E"); */

    /* Abstract Doodle Swirls */
    /* background-image: url("data:image/svg+xml,%3Csvg width='95' height='95' viewBox='0 0 95 95' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23666' stroke-width='1.4' opacity='0.13' stroke-linecap='round'%3E%3Cpath d='M20 30c3-8 12-2 8 5s-10 3-6-2'/%3E%3Cpath d='M50 20c-2 6 5 8 1 12s-7-1-3 5'/%3E%3Cpath d='M75 35c4-3 2 7-2 5s1-8-2-2'/%3E%3Cpath d='M25 60c6 2 1 9-4 6s2-8 4-6'/%3E%3Cpath d='M55 70c-3 4 6 2 4-3s-7 1-4 3'/%3E%3Cpath d='M75 70c2-5 5 3 2 6s-4-1-2-6'/%3E%3Ccircle cx='40' cy='45' r='3' stroke-dasharray='1.5,1'/%3E%3C/g%3E%3C/svg%3E"); */

    /* Friendly Doodle Mix - Chat App Style */
    /* background-image: url("data:image/svg+xml,%3Csvg width='130' height='130' viewBox='0 0 130 130' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23666' stroke-width='1.2' opacity='0.11' stroke-linecap='round'%3E%3Cpath d='M30 25c0-4 3-7 7-7s7 3 7 4c0 4-3 7-7 7s-7-3-7-4z'/%3E%3Cpath d='M32 35c-1 2 2 3 0 4'/%3E%3Cpath d='M60 20c4 1 2 6-1 5s1-6 1-5'/%3E%3Cpath d='M85 30l2 5 5-1-3 4 2 5-4-2-4 2 2-5-3-4 5 1z' transform='scale(0.6)'/%3E%3Cpath d='M25 60c5-1 6 4 10 2s3-3 6 0'/%3E%3Cpath d='M70 65c-3 3 2 5-1 7s4 0 2 3'/%3E%3Cpath d='M95 75c2-4 5 1 3 4s-3 0-3-4'/%3E%3Cpath d='M20 90c3 1 1 4 4 3s2-2 4 1'/%3E%3Cpath d='M60 95c-2 2 3 1 2 3s-3-1-2-3'/%3E%3Ccircle cx='105' cy='100' r='5' stroke-dasharray='2,1.5'/%3E%3C/g%3E%3C/svg%3E"); */
}

html.dark-mode body {
    /* Dark Mode - Lighter strokes for better visibility */
    /* Active Background - Cute Doodle Hearts & Stars (Dark Mode) */
    background-image: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23ccc' stroke-width='1.2' opacity='0.15'%3E%3Cpath d='M20 25c0-4 3-7 7-7s7 3 7 7c0 4-3 7-7 7s-7-3-7-7z'/%3E%3Cpath d='M22 30c-2 0-4 2-4 4s2 4 4 4 4-2 4-4-2-4-4-4z'/%3E%3Cpath d='M50 15l2 6 6 0-5 4 2 6-5-4-5 4 2-6-5-4 6 0z'/%3E%3Cpath d='M60 50c0-3 2-5 5-5s5 2 5 3c0 3-2 5-5 5s-5-2-5-3z'/%3E%3Cpath d='M15 60l1 3 3 0-2 2 1 3-3-2-3 2 1-3-2-2 3 0z'/%3E%3C/g%3E%3C/svg%3E");

    /* Hand-drawn Circles & Dots - Universal (Dark Mode) */
    /* background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23ccc' stroke-width='1' opacity='0.18'%3E%3Ccircle cx='15' cy='15' r='8' stroke-dasharray='2,1'/%3E%3Ccircle cx='45' cy='15' r='5'/%3E%3Ccircle cx='15' cy='45' r='6'/%3E%3Ccircle cx='45' cy='45' r='9' stroke-dasharray='3,2'/%3E%3Ccircle cx='30' cy='30' r='3' fill='%23ccc' opacity='0.15'/%3E%3Ccircle cx='8' cy='30' r='2' fill='%23ccc' opacity='0.15'/%3E%3Ccircle cx='52' cy='30' r='2' fill='%23ccc' opacity='0.15'/%3E%3C/g%3E%3C/svg%3E"); */

    /* Sketchy Doodle Lines & Squiggles (Dark Mode) */
    /* background-image: url("data:image/svg+xml,%3Csvg width='90' height='90' viewBox='0 0 90 90' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23ccc' stroke-width='1.5' opacity='0.16' stroke-linecap='round'%3E%3Cpath d='M10 20c5 5 10-5 15 0s10-5 15 0'/%3E%3Cpath d='M15 40c3-3 8 3 12-2s7 4 10-1'/%3E%3Cpath d='M20 60c4 2 6-4 10 1s8-3 12 2'/%3E%3Cpath d='M50 15c2 8-3 5 1 12s-4 6 2 10'/%3E%3Cpath d='M70 25c-2 6 4 3-1 9s5 4-2 8'/%3E%3Cpath d='M65 55c3-4 7 2 4 6s6-2 3 4'/%3E%3C/g%3E%3C/svg%3E"); */

    /* Playful Doodle Shapes - WhatsApp Style (Dark Mode) */
    /* background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23ccc' stroke-width='1.3' opacity='0.14' stroke-linecap='round'%3E%3Cpath d='M20 20c0-5 5-5 8-2s8 1 8-4c0-5 5-5 8-2'/%3E%3Crect x='15' y='35' width='15' height='15' rx='3' transform='rotate(15 22 42)'/%3E%3Cpath d='M50 25l8 0 0 8-8 0z' transform='rotate(25 54 29)'/%3E%3Ccircle cx='75' cy='25' r='8' stroke-dasharray='4,2'/%3E%3Cpath d='M20 70c5-2 8 5 15 2s7-3 12 1'/%3E%3Cpath d='M60 65c2 5 8-1 6 6s5 2 8 7'/%3E%3Cpath d='M70 85c-3-4 2-6 5-2s-1 5 3 2'/%3E%3C/g%3E%3C/svg%3E"); */

    /* Hand-drawn Speech Bubbles & Elements (Dark Mode) */
    /* background-image: url("data:image/svg+xml,%3Csvg width='120' height='120' viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23ccc' stroke-width='1.1' opacity='0.13' stroke-linecap='round'%3E%3Cellipse cx='30' cy='30' rx='15' ry='10' transform='rotate(10 30 30)'/%3E%3Cpath d='M25 40l-3 6'/%3E%3Cellipse cx='80' cy='25' rx='12' ry='8' transform='rotate(-15 80 25)'/%3E%3Cpath d='M85 33l4 5'/%3E%3Cpath d='M20 70c8-2 15 8 25 5s12-6 18 2'/%3E%3Cpath d='M70 80c-5 3 2 8-3 12s8 1 5 7'/%3E%3Ccircle cx='90' cy='90' r='6' stroke-dasharray='2,1.5'/%3E%3Cpath d='M15 90c3-2 5 4 8 1s2-3 5 0'/%3E%3C/g%3E%3C/svg%3E"); */

    /* Casual Doodle Mix - Perfect for Chat Backgrounds (Dark Mode) */
    /* background-image: url("data:image/svg+xml,%3Csvg width='110' height='110' viewBox='0 0 110 110' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23ccc' stroke-width='1.4' opacity='0.12' stroke-linecap='round'%3E%3Cpath d='M25 25c0-3 2-5 5-5s5 2 5 5-2 5-5 5-5-2-5-5z'/%3E%3Cpath d='M27 35l-2 4'/%3E%3Cpath d='M45 20c2 4-1 6 3 8s-2 5 2 7'/%3E%3Cpath d='M70 15l3 8 8-2-6 6 3 8-7-4-7 4 3-8-6-6 8 2z' transform='scale(0.7)'/%3E%3Cpath d='M20 60c6 0 8-8 15-5s5 6 12 3'/%3E%3Cpath d='M60 70c-4 2 1 7-2 10s6-1 4 5'/%3E%3Crect x='75' y='75' width='10' height='10' rx='2' transform='rotate(20 80 80)' stroke-dasharray='3,2'/%3E%3Cpath d='M15 85c4-1 3 3 6 2s2-2 4 1'/%3E%3C/g%3E%3C/svg%3E"); */

    /* Minimalist Doodle Dots & Lines (Dark Mode) */
    /* background-image: url("data:image/svg+xml,%3Csvg width='70' height='70' viewBox='0 0 70 70' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23ccc' stroke-width='1.2' opacity='0.16' stroke-linecap='round'%3E%3Ccircle cx='20' cy='20' r='2' fill='%23ccc' opacity='0.12'/%3E%3Ccircle cx='50' cy='20' r='3' fill='%23ccc' opacity='0.12'/%3E%3Ccircle cx='20' cy='50' r='2.5' fill='%23ccc' opacity='0.12'/%3E%3Ccircle cx='50' cy='50' r='2' fill='%23ccc' opacity='0.12'/%3E%3Cpath d='M30 15c2 4-1 3 1 6'/%3E%3Cpath d='M15 35c4-1 2 3 5 2'/%3E%3Cpath d='M40 40c-2 3 3 1 1 4'/%3E%3Cpath d='M55 35c-3 2 1 4-1 6'/%3E%3C/g%3E%3C/svg%3E"); */

    /* Organic Doodle Patterns (Dark Mode) */
    /* background-image: url("data:image/svg+xml,%3Csvg width='85' height='85' viewBox='0 0 85 85' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23ccc' stroke-width='1.3' opacity='0.14' stroke-linecap='round'%3E%3Cpath d='M15 25c5-3 8 2 12-1s6 4 9 1'/%3E%3Cpath d='M20 45c-2 5 4 2 2 7s5-1 3 4'/%3E%3Cpath d='M45 20c3 3-1 5 2 8s-2 4 1 6'/%3E%3Cpath d='M60 40c-4 1 2 6-2 8s4 2 1 5'/%3E%3Cellipse cx='25' cy='65' rx='6' ry='4' transform='rotate(30 25 65)' stroke-dasharray='2,1'/%3E%3Cellipse cx='65' cy='65' rx='5' ry='7' transform='rotate(-20 65 65)' stroke-dasharray='3,1'/%3E%3Ccircle cx='70' cy='25' r='4' stroke-dasharray='1,1'/%3E%3C/g%3E%3C/svg%3E"); */

    /* Abstract Doodle Swirls (Dark Mode) */
    /* background-image: url("data:image/svg+xml,%3Csvg width='95' height='95' viewBox='0 0 95 95' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23ccc' stroke-width='1.4' opacity='0.13' stroke-linecap='round'%3E%3Cpath d='M20 30c3-8 12-2 8 5s-10 3-6-2'/%3E%3Cpath d='M50 20c-2 6 5 8 1 12s-7-1-3 5'/%3E%3Cpath d='M75 35c4-3 2 7-2 5s1-8-2-2'/%3E%3Cpath d='M25 60c6 2 1 9-4 6s2-8 4-6'/%3E%3Cpath d='M55 70c-3 4 6 2 4-3s-7 1-4 3'/%3E%3Cpath d='M75 70c2-5 5 3 2 6s-4-1-2-6'/%3E%3Ccircle cx='40' cy='45' r='3' stroke-dasharray='1.5,1'/%3E%3C/g%3E%3C/svg%3E"); */

    /* Friendly Doodle Mix - Chat App Style (Dark Mode) */
    /* background-image: url("data:image/svg+xml,%3Csvg width='130' height='130' viewBox='0 0 130 130' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23ccc' stroke-width='1.2' opacity='0.11' stroke-linecap='round'%3E%3Cpath d='M30 25c0-4 3-7 7-7s7 3 7 4c0 4-3 7-7 7s-7-3-7-4z'/%3E%3Cpath d='M32 35c-1 2 2 3 0 4'/%3E%3Cpath d='M60 20c4 1 2 6-1 5s1-6 1-5'/%3E%3Cpath d='M85 30l2 5 5-1-3 4 2 5-4-2-4 2 2-5-3-4 5 1z' transform='scale(0.6)'/%3E%3Cpath d='M25 60c5-1 6 4 10 2s3-3 6 0'/%3E%3Cpath d='M70 65c-3 3 2 5-1 7s4 0 2 3'/%3E%3Cpath d='M95 75c2-4 5 1 3 4s-3 0-3-4'/%3E%3Cpath d='M20 90c3 1 1 4 4 3s2-2 4 1'/%3E%3Cpath d='M60 95c-2 2 3 1 2 3s-3-1-2-3'/%3E%3Ccircle cx='105' cy='100' r='5' stroke-dasharray='2,1.5'/%3E%3C/g%3E%3C/svg%3E"); */
}

/* Usage Instructions:
1. The background is now fixed and won't scroll with content
2. All patterns work in both light and dark modes
3. Currently "Cute Doodle Hearts & Stars" is active
4. To switch patterns, just uncomment the desired pattern and comment out the current active one
5. Each pattern has both light mode (body) and dark mode (html.dark-mode body) versions
6. The stroke colors automatically adjust: #666 for light mode, #ccc for dark mode
7. Opacity levels are optimized for subtle visibility in both themes
*/
/* ============================================================================ */

/* Professional Alert Overlay */
.alert-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(15, 23, 42, 0.75);
    backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.alert-overlay.show {
    opacity: 1;
    visibility: visible;
}

/* Alert Container */
.alert-container {
    background: #ffffff;
    border-radius: 16px;
    box-shadow:
        0 25px 50px -12px rgba(0, 0, 0, 0.25),
        0 0 0 1px rgba(255, 255, 255, 0.05);
    max-width: 580px;
    width: 90%;
    position: relative;
    transform: scale(0.9) translateY(-40px);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    border: 1px solid rgba(226, 232, 240, 0.8);
}

.alert-overlay.show .alert-container {
    transform: scale(1) translateY(0);
}

/* Container Header */
.alert-container-header {
    position: relative;
    padding: 32px 32px 24px;
    text-align: center;
    border-bottom: 1px solid rgba(226, 232, 240, 0.6);
}

.alert-container-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--alert-color, #64748b);
    border-radius: 16px 16px 0 0;
}

/* Alert Icon */
.alert-icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background: var(--alert-bg, rgba(100, 116, 139, 0.1));
    border: 3px solid var(--alert-color, #64748b);
}

.alert-icon i {
    font-size: 32px;
    color: var(--alert-color, #64748b);
    animation: iconFloat 3s ease-in-out infinite;
}

@keyframes iconFloat {

    0%,
    100% {
        transform: translateY(0px) rotate(0deg);
    }

    50% {
        transform: translateY(-4px) rotate(2deg);
    }
}

/* Success Theme */
.alert-container-header.success {
    --alert-color: #10b981;
    --alert-bg: rgba(16, 185, 129, 0.1);
}

.alert-container-header.success .alert-icon {
    background: var(--alert-bg);
    border-color: var(--alert-color);
    box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.1);
}

/* Error Theme */
.alert-container-header.error {
    --alert-color: #ef4444;
    --alert-bg: rgba(239, 68, 68, 0.1);
}

.alert-container-header.error .alert-icon {
    background: var(--alert-bg);
    border-color: var(--alert-color);
    box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.1);
}

/* Warning Theme */
.alert-container-header.warning {
    --alert-color: #f59e0b;
    --alert-bg: rgba(245, 158, 11, 0.1);
}

.alert-container-header.warning .alert-icon {
    background: var(--alert-bg);
    border-color: var(--alert-color);
    box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.1);
}

/* Info Theme */
.alert-container-header.info {
    --alert-color: #3b82f6;
    --alert-bg: rgba(59, 130, 246, 0.1);
}

.alert-container-header.info .alert-icon {
    background: var(--alert-bg);
    border-color: var(--alert-color);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1);
}

/* Alert Title */
.alert-title {
    font-size: 24px;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 8px;
    letter-spacing: -0.025em;
    animation: slideUpFade 0.6s cubic-bezier(0.4, 0, 0.2, 1) 0.1s both;
}

/* Alert Message */
.alert-message {
    font-size: 16px;
    color: #64748b;
    line-height: 1.6;
    padding: 24px 32px;
    text-align: center;
    animation: slideUpFade 0.6s cubic-bezier(0.4, 0, 0.2, 1) 0.2s both;
}

/* Container Footer */
.alert-container-footer {
    padding: 24px 32px 32px;
    text-align: center;
    background: rgba(248, 250, 252, 0.5);
    border-top: 1px solid rgba(226, 232, 240, 0.6);
}

.alert-buttons {
    display: flex;
    justify-content: center;
    gap: 2rem;
}

/* Close Button */
.alert-close-btn,
.alert-submit-btn {
    background: linear-gradient(135deg, #334155 0%, #475569 100%);
    color: white;
    border: none;
    border-radius: 12px;
    padding: 14px 32px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow:
        0 4px 14px 0 rgba(0, 0, 0, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    animation: slideUpFade 0.6s cubic-bezier(0.4, 0, 0.2, 1) 0.3s both;
    position: relative;
    overflow: hidden;
    min-width: 120px;
}

.alert-close-btn::before,
.alert-submit-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s;
}

.alert-close-btn:hover::before,
.alert-submit-btn:hover::before {
    left: 100%;
}

.alert-close-btn:hover,
.alert-submit-btn:hover {
    transform: translateY(-2px);
    box-shadow:
        0 8px 25px 0 rgba(0, 0, 0, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.alert-close-btn:active,
.alert-submit-btn:active {
    transform: translateY(0);
    box-shadow:
        0 2px 8px 0 rgba(0, 0, 0, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

/* Themed Close Buttons */
.alert-submit-btn.success {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    box-shadow:
        0 4px 14px 0 rgba(16, 185, 129, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.alert-submit-btn.success:hover {
    box-shadow:
        0 8px 25px 0 rgba(16, 185, 129, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.alert-submit-btn.error {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    box-shadow:
        0 4px 14px 0 rgba(239, 68, 68, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.alert-submit-btn.error:hover {
    box-shadow:
        0 8px 25px 0 rgba(239, 68, 68, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.alert-submit-btn.warning {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    box-shadow:
        0 4px 14px 0 rgba(245, 158, 11, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.alert-submit-btn.warning:hover {
    box-shadow:
        0 8px 25px 0 rgba(245, 158, 11, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.alert-submit-btn.info {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
    box-shadow:
        0 4px 14px 0 rgba(59, 130, 246, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.alert-submit-btn.info:hover {
    box-shadow:
        0 8px 25px 0 rgba(59, 130, 246, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

/* Animations */
/* @keyframes slideUpFade {
            0% {
                transform: translateY(20px);
                opacity: 0;
            }

            100% {
                transform: translateY(0);
                opacity: 1;
            }
        } */

/* Responsive Design */
@media (max-width: 480px) {
    .alert-container {
        width: 95%;
        margin: 16px;
        border-radius: 12px;
    }

    .alert-container-header {
        padding: 24px 20px 20px;
    }

    .alert-message {
        padding: 20px;
        font-size: 15px;
    }

    .alert-container-footer {
        padding: 20px;
    }

    .alert-title {
        font-size: 20px;
    }

    .alert-icon {
        width: 60px;
        height: 60px;
        margin-bottom: 16px;
    }

    .alert-icon i {
        font-size: 28px;
    }
}

/* Dark mode support */
html.dark-mode .alert-container {
    background: #1e293b;
    border-color: rgba(71, 85, 105, 0.8);
}

html.dark-mode .alert-container-header {
    border-bottom-color: rgba(71, 85, 105, 0.6);
}

html.dark-mode .alert-title {
    color: #f1f5f9;
}

html.dark-mode .alert-message {
    color: #cbd5e1;
}

html.dark-mode .alert-container-footer {
    background: rgba(15, 23, 42, 0.5);
    border-top-color: rgba(71, 85, 105, 0.6);
}



/* ======================================================================== */
@keyframes slideInRight {
    from {
        transform: translateX(100%);
        opacity: 0;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideOutRight {
    from {
        transform: translateX(0);
        opacity: 1;
    }

    to {
        transform: translateX(100%);
        opacity: 0;
    }
}

.notification-container {
    position: fixed;
    top: 20px;
    right: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 15000;
    /* transform: translateZ(0); */
}

.notification {
    color: white;
    padding: 1rem 1rem;
    border-radius: 10px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    max-width: 300px;
    animation: slideInRight 0.3s ease;
    font-family: sans-serif;
}

@media screen and (max-width: 667px){
    .notification {
    font-size: 12px;
}
}

/* ============================================================================ */
/* Dark Mode Toggle Switch */

/* Hide theme toggle until it's properly initialized */

.theme-toggle.initialized {
    opacity: 1;
}

.theme-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-right: 20px;
    /* opacity: 0; */
    /* transition: opacity 0.1s ease; */
}

.theme-switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 30px;
}

.theme-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--gradient);
    transition: all 0.3s ease;
    border-radius: 30px;
    box-shadow: 0 2px 10px rgba(99, 102, 241, 0.3);
}

.slider:before {
    position: absolute;
    content: "";
    height: 22px;
    width: 22px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    transition: all 0.3s ease;
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

input:checked+.slider {
    background: linear-gradient(135deg, #1f2937 0%, #374151 100%);
    box-shadow: 0 2px 10px rgba(31, 41, 55, 0.3);
}

input:checked+.slider:before {
    transform: translateX(30px);
}

/* Theme Icons */
.theme-icon {
    font-size: 16px;
    transition: all 0.3s ease;
}

.theme-icon.sun {
    color: #fbbf24;
}

.theme-icon.moon {
    color: #6b7280;
}

html.dark-mode .theme-icon.sun {
    color: #6b7280;
}

html.dark-mode .theme-icon.moon {
    color: #60a5fa;
}

/* Dark Mode Styles */
/* :root {
            --bg-primary: #ffffff;
            --bg-secondary: #f8fafc;
            --text-primary: #1f2937;
            --text-secondary: #6b7280;
            --border-color: #ddd;
            --card-bg: #ffffff;
            --navbar-bg: rgba(255, 255, 255, 0.95);
        } */

/* html.dark-mode {
            --bg-primary: #111827;
            --bg-secondary: #1f2937;
            --text-primary: #f9fafb;
            --text-secondary: #d1d5db;
            --border-color: #374151;
            --card-bg: #1f2937;
            --navbar-bg: rgba(31, 41, 55, 0.95);
        } */

html.dark-mode {
    --bg-primary: #000;
    --bg-secondary: #1f2937;
    --text-primary: #f9fafb;
    --text-secondary: #d1d5db;
    --border-color: #374151;
    --card-bg: #000;
    --navbar-bg: #000;
    --white: #000;
}

/* Apply dark mode variables */
html.dark-mode body {
    background-color: var(--bg-primary);
    color: var(--text-primary);
    transition: all 0.3s ease;

}

.comment-item {
    scroll-margin-top: 200px;
    /* Adjust based on header height */
}

.related-post-card {
    border: 1px solid var(--border-color) !important;
}

html.dark-mode .post-type.bg-dark{
background: white !important;
}
html.dark-mode .loading-overlay {
    /* Blur and background color */
    background-color: rgba(0, 0, 0, 0.2); /* Light translucent background */
    backdrop-filter: blur(4px); /* Apply blur */
    -webkit-backdrop-filter: blur(4px); /* For Safari */
}

html.dark-mode .login-card {
    background: var(--card-bg) !important;
}

html.dark-mode .signup-container {
    background: var(--card-bg) !important;
}

html.dark-mode .reply-textarea {
    color: var(--text-primary) !important;
}

html.dark-mode .post-content h3 {
    color: var(--text-primary) !important;

}

.navbar {
    background-color: var(--navbar-bg) !important;
    /* border-bottom: 1px solid var(--border-color); */
}


/* .navbar-collapse {
            background-color: var(--navbar-bg) !important;
            border-bottom: 1px solid var(--border-color);
        } */

.navbar-nav .nav-link {
    color: var(--text-primary) !important;
}

.card {
    background-color: var(--card-bg);
    border: 1px solid var(--border-color);
    color: var(--text-primary);
}


.post-card {
    background-color: var(--card-bg);
    border: 1px solid var(--border-color);
    color: var(--text-primary);
}

/* Light Mode */
.text-muted {
    color: #555 !important; /* Medium-dark gray for readability */
}

/* Dark Mode */
html.dark-mode .text-muted {
    color: #aaa !important; /* Lighter gray for dark backgrounds */
}


.widget-content,
.category-count {
    /* background-color: var(--card-bg); */
    border: 1px solid var(--border-color);
    color: var(--text-primary);
}

.dropdown-menu {
    background-color: var(--card-bg);
    border: 1px solid var(--border-color);
    color: var(--text-primary) !important;
}

.profile-container,
.profile-info,
.stats-row {
    background-color: var(--card-bg);
    border: 1px solid var(--border-color);
    color: var(--text-primary) !important;
}

.post-content,
.post-content blockquote,
.info-box.info,
.info-box.success,
.info-box.warning,
.info-box.danger {
    background-color: var(--card-bg);
    color: var(--text-primary) !important;
}


.comment-form,
.form-input,
.comment-textarea,
.form-control,
#contactForm select {
    background-color: var(--card-bg);
    border: 1px solid var(--border-color);
    color: var(--text-primary) !important;
}

.comment-item,
.form-label,
#contactForm select {
    /* background-color: var(--card-bg); */
    color: var(--text-primary) !important;
}

.form-control::placeholder {
    color: var(--text-primary) !important;
}

.form-control:active,
.form-control:focus {
    color: var(--text-primary) !important;
    background-color: var(--card-bg);
}


/* .dropdown-menu .dropdown-item {
            color: var(--text-primary) !important;
        } */

.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus {
    background-color: var(--bg-secondary);
    color: var(--text-primary) !important;
}

.recent-post-content a {
    color: var(--text-primary) !important;
}

.related-post-content,
.related-post-card {
    background-color: var(--card-bg);
    color: var(--text-primary) !important;
}

.related-post-content .related-post-title a {
    color: var(--text-primary) !important;
}



.pagination .page-link {
    background-color: var(--card-bg) !important;
    border: 1px solid var(--border-color);
    color: var(--text-primary) !important;
    border: 1px solid var(--border-color) !important;

}

.page-item.active {
    /* color: var(--text-primary) !important; */
    color: white !important;
}

.category-list a {
    color: var(--text-primary) !important;
}


.footer {
    background-color: var(--bg-secondary);
    border-top: 1px solid var(--border-color);
}

/* Search bar dark mode */
.search-container input {
    background-color: var(--card-bg);
    border: 1px solid var(--border-color);
    color: var(--text-primary);
}

.search-container input::placeholder {
    color: var(--text-secondary);
}

/* Breadcrumb dark mode */
/* .breadcrumb-section {
            background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--card-bg) 100%);
        } */

/* Table dark mode */
.table {
    color: var(--text-primary);
}

.table th {
    border-color: var(--border-color);
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    color: white;
}

.table td {
    border-color: var(--border-color) !important;
}

.table tr {
    border-color: var(--border-color) !important;
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: var(--bg-secondary);
}

/* Code block dark mode - enhance existing styles */
.code-block {
    background-color: #0d1117 !important;
    border: 1px solid var(--border-color);
    color: #f0f6fc;
}

/* Alert boxes dark mode */
.alert-info.dark-mode {
    background-color: rgba(59, 130, 246, 0.1);
    border-color: #3b82f6;
    color: var(--text-primary);
}

.alert-warning.dark-mode {
    background-color: rgba(245, 158, 11, 0.1);
    border-color: #f59e0b;
    color: var(--text-primary);
}

.alert-success.dark-mode {
    background-color: rgba(34, 197, 94, 0.1);
    border-color: #22c55e;
    color: var(--text-primary);
}

.alert-danger.dark-mode {
    background-color: rgba(239, 68, 68, 0.1);
    border-color: #ef4444;
    color: var(--text-primary);
}

/* ========================================================= */
div[onclick] {
    transition: background 0.2s ease;
}
div[onclick]:hover {
    background-color: rgba(255, 255, 255, 0.05); /* Light hover effect */
}

img[onclick] {
    transition: background 0.2s ease;
}
img[onclick]:hover {
    background-color: rgba(255, 255, 255, 0.05); /* Light hover effect */
}


/* ======================================================== */

/* Loading Overlay - Now positioned below navbar */
.loading-overlay {
    position: fixed;
    top: 60px; /* Adjust this value based on your navbar height */
    left: 0;
    width: 100%;
    height: calc(100vh - 60px); /* Full height minus navbar height */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999; /* Lower z-index so navbar stays on top */
    opacity: 1;
    transition: opacity 0.5s ease-out;

    /* Blur and background color */
     background-color: rgba(255, 255, 255, 0.2); /* Light translucent background */
    backdrop-filter: blur(4px); /* Apply blur */
    -webkit-backdrop-filter: blur(4px); /* For Safari */
}




/* Alternative: Content Loading Overlay (covers only main content area) */
.loading-overlay.content-only {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
}

.loading-overlay.fade-out {
    opacity: 0;
    pointer-events: none;
}

/* Loading Container */
.loading-container {
    text-align: center;
    /* color: white; */
}

/* Main Loading Animation - Rotating Tech Icon */
.loading-spinner {
    position: relative;
    width: 20vw;
    max-width: 80px;
    height: 20vw;
    max-height: 80px;
    margin: 0 auto 20px;
}

.spinner-ring {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border-top: 3px solid #06b6d4;
    animation: spin 1s linear infinite;
}

.spinner-ring:nth-child(2) {
    width: 75%;
    height: 75%;
    top: 12.5%;
    left: 12.5%;
    border-top: 2px solid #8b5cf6;
    animation: spin 1.5s linear infinite reverse;
}

.spinner-ring:nth-child(3) {
    width: 50%;
    height: 50%;
    top: 25%;
    left: 25%;
    border-top: 2px solid #6366f1;
    animation: spin 2s linear infinite;
}

/* Animation keyframes */
@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* Optional: scale down on small screens */
@media (max-width: 480px) {
    .loading-spinner {
        width: 16vw;
        height: 16vw;
        max-width: 60px;
        max-height: 60px;
    }
}


/* Center Icon */
.loading-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 24px;
    color: white;
    animation: pulse 2s ease-in-out infinite;
}

/* Loading Text */
.loading-text {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 10px;
    animation: fadeInOut 2s ease-in-out infinite;
}

.loading-subtext {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    opacity: 0.8;
    animation: fadeInOut 2s ease-in-out infinite 0.5s;
}

/* Progress Bar */
.loading-progress {
    width: 200px;
    height: 4px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 2px;
    margin: 20px auto 0;
    overflow: hidden;
}

.progress-bar {
    height: 100%;
    background: linear-gradient(90deg, #06b6d4, #8b5cf6, #6366f1);
    border-radius: 2px;
    animation: progressMove 2s ease-in-out infinite;
}

/* Floating Particles */
.loading-particles {
    position: absolute;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.particle {
    position: absolute;
    width: 4px;
    height: 4px;
    background: rgba(255, 255, 255, 0.6);
    border-radius: 50%;
    animation: float 3s ease-in-out infinite;
}

.particle:nth-child(1) {
    left: 20%;
    animation-delay: 0s;
}

.particle:nth-child(2) {
    left: 80%;
    animation-delay: 0.5s;
}

.particle:nth-child(3) {
    left: 40%;
    animation-delay: 1s;
}

.particle:nth-child(4) {
    left: 60%;
    animation-delay: 1.5s;
}

.particle:nth-child(5) {
    left: 10%;
    animation-delay: 2s;
}

.particle:nth-child(6) {
    left: 90%;
    animation-delay: 2.5s;
}

/* Animations */
/* @keyframes spin {
            0% {
                transform: rotate(0deg);
            }

            100% {
                transform: rotate(360deg);
            }
        } */

@keyframes pulse {

    0%,
    100% {
        transform: translate(-50%, -50%) scale(1);
    }

    50% {
        transform: translate(-50%, -50%) scale(1.2);
    }
}

@keyframes fadeInOut {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}

@keyframes progressMove {
    0% {
        transform: translateX(-100%);
    }

    50% {
        transform: translateX(0%);
    }

    100% {
        transform: translateX(100%);
    }
}

@keyframes float {

    0%,
    100% {
        transform: translateY(100vh) scale(0);
        opacity: 0;
    }

    10% {
        opacity: 1;
        transform: translateY(90vh) scale(1);
    }

    90% {
        opacity: 1;
        transform: translateY(10vh) scale(1);
    }

    100% {
        opacity: 0;
        transform: translateY(0vh) scale(0);
    }
}

/* Responsive Design */
@media (max-width: 768px) {
    .loading-overlay{
        display: none;
    }
    .loading-spinner {
        width: 60px;
        height: 60px;
    }

    .loading-text {
        font-size: 16px;
    }

    .loading-progress {
        width: 150px;
    }
}

@media screen and (max-width: 678px) {
    .related-posts .col-md-4 {
        margin-bottom: 2rem;
    }

    .related-post-img {
        height: auto !important;
    }

    .breadcrumb-section .container {
        overflow: scroll;
    }

    .breadcrumb-section .breadcrumb {
        width: max-content;
    }

}

/* ============================== */
.scroll-icon-btn {
    position: fixed;
    right: 30px;
    bottom: 25px;
    z-index: 999;
    background: #4a00e0;
    color: white;
    border: none;
    border-radius: 50%;
    width: 35px;
    height: 35px;
    font-size: 18px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    cursor: pointer;
    transition: all 0.3s ease;
    display: none;
    /* Hidden by default */
}

.scroll-icon-btn:hover {
    background: #8e2de2;
    transform: scale(1.1);
}




/* =============================== */
/* === TOC Toggle Button (Left Vertical) === */


/* ============================= */

/* EMOJI RAIN CONTAINER */
.emoji-rain-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    pointer-events: none;
    z-index: 9999;
    overflow: hidden;
}


/* SMOOTH EMOJI DROP */
.emoji-drop {
    position: absolute;
    user-select: none;
    opacity: 1;
    animation: smoothFall linear forwards;
    will-change: transform;
}

.emoji-drop.sway {
    animation: smoothFall linear forwards, gentleSway ease-in-out infinite;
}

@keyframes smoothFall {
    0% {
        transform: translateY(-10vh) rotate(0deg);
        opacity: 1;
    }

    100% {
        transform: translateY(110vh) rotate(180deg);
        opacity: 0.6;
    }
}

@keyframes gentleSway {

    0%,
    100% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(15px);
    }
}

/* CENTERED EMOJI MESSAGE */
.emoji-message {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.5);
    font-size: 8rem;
    font-weight: bold;
    color: #fff;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.8);
    opacity: 0;
    z-index: 10000;
    pointer-events: none;
    animation: smoothBounce 1.5s cubic-bezier(0.68, -0.6, 0.32, 1.6) forwards;
}

@keyframes smoothBounce {
    0% {
        opacity: 0;
        transform: translate(-100%, -50%) scale(0.3) rotate(-20deg);
    }

    60% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1.2) rotate(5deg);
    }

    100% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1) rotate(0deg);
    }
}

/* SWIPE OUT */
.emoji-message.swipe-out {
    animation: smoothSwipeOut 1s ease-in forwards;
}

@keyframes smoothSwipeOut {
    0% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }

    100% {
        opacity: 0;
        transform: translate(100%, -50%) scale(0.5);
    }
}

/* ELASTIC BOUNCE */
.emoji-message.elastic {
    animation: smoothElastic 2s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
}

@keyframes smoothElastic {
    0% {
        opacity: 0;
        transform: translate(-50%, 100%) scale(0.2);
    }

    70% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1.1);
    }

    100% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

/* FADE OUT */
@keyframes fadeOut {
    to {
        opacity: 0;
    }
}


/* ============================================================================= */

/* Theme Modal Styles */
.theme-option {
    cursor: pointer;
    transition: all 0.3s ease;
    border: 2px solid transparent;
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.theme-option:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.theme-option.active {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.1);
}

.theme-preview {
    width: 100%;
    height: 80px;
    border-radius: 8px;
    margin-bottom: 15px;
    position: relative;
    overflow: hidden;
}

.theme-preview::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 30%;
    opacity: 0.8;
}

.theme-preview::after {
    content: '';
    position: absolute;
    bottom: 10px;
    left: 10px;
    right: 10px;
    height: 20px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 4px;
}

/* Theme-specific preview colors */
.theme-default .theme-preview {
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
}

.theme-forest .theme-preview {
    background: linear-gradient(135deg, #059669 0%, #065f46 100%);
}

.theme-sunset .theme-preview {
    background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
}

.theme-ocean .theme-preview {
    background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);
}

.theme-rose .theme-preview {
    background: linear-gradient(135deg, #e11d48 0%, #be185d 100%);
}

.theme-midnight .theme-preview {
    background: linear-gradient(135deg, #7c3aed 0%, #5b21b6 100%);
}

.theme-cyber .theme-preview {
    background: linear-gradient(135deg, #84cc16 0%, #65a30d 100%);
}

.theme-dark .theme-preview {
    background: linear-gradient(135deg, #374151 0%, #1f2937 100%);
}

.theme-dark .theme-preview {
    background: linear-gradient(135deg, #374151 0%, #1f2937 100%);
}



.theme-name {
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 5px;
}

.theme-description {
    font-size: 0.85rem;
    color: var(--text-light);
}

/* Demo content using CSS variables */
.demo-content {
    padding: 20px;
    margin: 20px 0;
}

.demo-card {
    background: var(--white);
    border: 1px solid var(--border-light);
    border-radius: 12px;
    padding: 20px;
    margin: 10px 0;
    box-shadow: 0 2px 4px var(--shadow-light);
    transition: var(--transition);
}

.demo-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px var(--shadow-medium);
}

.demo-button {
    background: var(--gradient);
    color: var(--white);
    border: none;
    padding: 10px 20px;
    border-radius: 8px;
    transition: var(--transition);
}

.demo-text-primary {
    color: var(--primary-color);
}

.demo-text-secondary {
    color: var(--secondary-color);
}

.demo-bg-light {
    background: var(--bg-light);
}

/* ============================================================================= */

/* body {
    background-color: var(--bg-light);
    color: var(--text-dark);
    line-height: 1.6;
} */

/* ==========================================================================
   HEADER & NAVIGATION STYLES
   ========================================================================== */

.main-header {
    background: var(--white);
    /* box-shadow: 0 2px 20px var(--shadow-light); */
    border-bottom: 1px solid var(--border-light);
    position: sticky;
    top: 0;
    z-index: 1040;
}

.navbar-brand {
    font-weight: 700;
    /* font-size: 1.5rem; */
    background: var(--gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-decoration: none;
}

body.dark-mode.theme-dark .navbar-brand {
    /* background: red !important; */
    color: #fff !important;
}


.navbar-nav .nav-link {
    color: var(--text-dark);
    font-weight: 500;
    margin: 0 10px;
    transition: var(--transition);
    position: relative;
    text-decoration: none;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
    color: var(--primary-color);
    transform: translateY(-2px);
}

.navbar-nav .nav-link::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--gradient);
    transition: width 0.3s ease;
}

.navbar-nav .nav-link:hover::after {
    width: 100%;
}

/* Dropdown Styles */
.dropdown-menu {
    border: none;
    box-shadow: 0 10px 40px var(--shadow-light);
    border-radius: 10px;
    animation: growIn 0.3s ease;
    z-index: 1050;
}

@keyframes growIn {
    0% {
        transform: scale(0.8);
        opacity: 0;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.dropdown-item {
    padding: 0.75rem 1.5rem;
    transition: var(--transition);
    color: var(--text-light);
}

/* .dropdown-item:hover,
.dropdown-item:focus {
    background: var(--bg-light);
    color: var(--primary-color);
} */

/* Submenu Styles */
.dropdown-submenu {
    position: relative;
}

.dropdown-submenu .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -1px;
    display: none;
}

.dropdown-submenu:hover .dropdown-menu {
    display: block;
}

.dropdown-submenu .dropdown-toggle::after {
    display: inline-block;
    margin-left: auto;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid transparent;
    border-right: 0;
    border-bottom: 0.3em solid transparent;
    border-left: 0.3em solid;
}

/* Search Box */
.search-box {
    position: relative;
}

.search-box input {
    border-radius: 25px;
    border: 2px solid var(--border-light);
    padding: 0.5rem 1rem 0.5rem 45px;
    transition: var(--transition);
    width: 100%;
}

.search-box input:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.2rem rgba(99, 102, 241, 0.25);
    outline: none;
}

.search-box .search-icon {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-light);
    pointer-events: none;
}

/* Profile Section */
.profile-section {
    position: relative;
}

.profile-trigger {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    /* padding: 0.5rem; */
    border-radius: 25px;
    transition: var(--transition);
    text-decoration: none;
    color: inherit;
    font-size: 35px;
    border: none;
    background: none;
}

.profile-trigger:hover {
    color: inherit;
    text-decoration: none;
}

.profile-img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid var(--primary-color);
    object-fit: cover;
}

.username {
    font-weight: 600;
    /* color: var(--text-dark); */
}

.profile-dropdown {
    min-width: 220px;
    border: none;
    box-shadow: 0 10px 40px var(--shadow-heavy);
    border-radius: 12px;
    padding: 0.5rem 0;
}

.profile-dropdown .dropdown-item {
    padding: 0.75rem 1.5rem;
    display: flex;
    align-items: center;
    transition: var(--transition);
}

.profile-dropdown .dropdown-item:hover {
    background: var(--bg-light);
    color: var(--primary-color);
}
.list-unstyled .dropdown-item:hover {
    background: rgba(75, 71, 71, 0.212);
    color: var(--primary-color) !important;
}

html.dark-mode .profile-dropdown .dropdown-item:hover {
    background: var(--bg-secondary);
    color: var(--primary-color);
}

.profile-dropdown .dropdown-item.text-danger:hover {
    background: rgba(220, 53, 69, 0.1);
    color: #dc3545;
}

/* Navbar Tools */
.navbar-tools {
    display: flex;
    align-items: center;
    gap: 1rem;
}

/* ==========================================================================
   BREADCRUMB STYLES
   ========================================================================== */

.breadcrumb-section {
    background: var(--gradient);
    color: var(--white);
    padding: 1rem 0;
}

.breadcrumb {
    background: transparent;
    margin: 0;
}

.breadcrumb-item a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
}

.breadcrumb-item a:hover {
    color: var(--white);
}

.breadcrumb-item.active {
    color: var(--white);
}

/* ==========================================================================
   MAIN CONTENT STYLES
   ========================================================================== */
@media screen and (min-width: 768px) {

    .main-content {
        margin-top: 2rem;
        /* margin-bottom: 2rem; */
    }
}

@media screen and (max-width: 767px) {

    .main-content {
        margin-top: 2rem;
        /* margin-bottom: 2rem; */
    }
}

/* ==========================================================================
   BLOG POST STYLES
   ========================================================================== */

@media screen and (min-width: 700px) {
    .blog-posts {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem;
    }

    /*.post-card {*/
    /*    display: flex;*/
        /* flex-direction: column; */
    /*}*/


    .post-card .post-content {
        padding: 1.5rem;
        /* width: 65%; */

    }

    .post-featured-image {
        width: 100%;
        height: auto;
        object-fit: cover;
        transition: transform 0.3s ease;
    }

    .thumbnail {
        /* width: 340px; */
        height: auto;
        /*padding: 10px;*/
        align-content: center;
    }

    .post-thumbnail {
        width: 100%;
        /* height: 100%; */
        /*border-radius: 15px;*/
        transition: transform 0.3s ease;
    }
}


.blog-post,
.post-card {
    /* background: var(--white); */
    border-radius: 15px;
    box-shadow: 0 5px 25px var(--shadow-light);
    overflow: hidden;
    margin-bottom: 0.5rem;
    transition: var(--transition);
}

.blog-post:hover,
.post-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px var(--shadow-medium);
}

/* Post Header */
.post-header,
.header-title {
    position: relative;
    overflow: hidden;
}



@media (max-width: 700px) {

    .post-featured-image {
        width: 100%;
        /* height: 400px; */
        /* object-fit: cover; */
        transition: transform 0.3s ease;
    }

     .thumbnail {
       position: relative;
    width: 100%; /* takes full width of parent */
    padding-top: 56.25%; /* 675 ÷ 1200 × 100 = 56.25% */
    overflow: hidden;
    }

    .post-thumbnail {
       position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    }
}

.post-overlay {
    /* position: absolute;
    top: 0;
    left: 0;
    right: 0; */
    /* background: linear-gradient(transparent, rgba(0, 0, 0, 0.7)); */
    /* color: var(--white); */
    /* padding: 1rem; */
    /* border-radius: 10px; */
    margin-bottom: 10px;
}

.post-category {
    background: var(--gradient);
    color: var(--white);
    padding: 0.3rem 1rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 500;
    display: inline-block;
    margin-bottom: 1rem;
    text-decoration: none;
}

.post-type {
    /* background: ; */
    color: var(--white);
    padding: 0.3rem 1rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 500;
    display: inline-block;
    margin-bottom: 1rem;
    text-decoration: none;
}

.post-title {
    /* font-size: 2.5rem; */
    font-weight: 700;
    /* margin-bottom: 1rem; */
    line-height: 1.2;
    color: var(--gradient);
    /* color: inherit; */
}


.post-card .post-title {
    font-size: 1.2rem;
    color: var(--text-dark);
}

/* Light Mode */
.post-meta {
    display: flex;
    align-items: center;
    gap: 2rem;
    opacity: 0.9;
    font-size: 0.8rem;
    color: #222; /* Dark text for light background */
    margin-left: 5px;
}

.post-meta a {
    opacity: 0.9;
    font-size: 0.8rem;
    color: #222; /* Match main text for contrast */
    text-decoration: none;
}

/* Dark Mode */
html.dark-mode .post-meta {
    color: #f0f0f0; /* Light text for dark background */
}

html.dark-mode .post-meta a {
    color: #f0f0f0; /* Links also bright for readability */
}




.post-card .post-meta {
    gap: 1rem;
}

.post-meta-item {
    display: flex;
    align-items: center;
    gap: 0.2rem;
}

.post-author {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Post Content */
.post-content {
    padding: 1.5rem;
    position: relative;
}



.post-content h3 {
    color: var(--text-light);
    font-weight: 600;
    /* margin: 2rem 0 1rem; */
    padding-bottom: 0.7rem;
    /* display: inline-block; */
}

.post-content>a>.post-title {
    text-decoration: none;

}

.post-content a {
    text-decoration: none;
}


.post-content p {
    /*line-height: 1.8;*/
    margin-bottom: 1.5rem;
    /* color: var(--text-dark); */
    font-size: 14px;
    text-align: justify;
    height: 41px;
    overflow: hidden;
}

.post-content-2 blockquote {
    background: var(--bg-light);
    border-left: 4px solid var(--primary-color);
    padding: 1.5rem;
    margin: 2rem 0;
    border-radius: 0 10px 10px 0;
    font-style: italic;
    position: relative;
}

.post-content-2 blockquote::before {
    content: '"';
    font-size: 4rem;
    color: var(--primary-color);
    position: absolute;
    top: -10px;
    left: 15px;
    font-family: serif;
}

/* ========================================================================== */
/* Post Content- 2 */
.post-content-2 blockquote p {
    margin-bottom: 0.5rem;
    padding-left: 2rem;
}

.post-content-2 blockquote cite {
    font-size: 0.9rem;
    color: var(--text-light);
    padding-left: 2rem;
}

.post-content-2 {
    padding: 0 1.5rem 1.5rem 1.5rem;
    /* position: relative; */
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    line-height: 1.7;
    color: var(--text-dark);
}

.social {
    padding: 0 0 1.5rem 1.5rem;
}

/* Headings */
.post-content-2 h1 {
    font-size: 2.5rem;
    font-weight: 700;
    margin: 2rem 0 1.5rem 0;
    background: var(--gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1.2;
}

.post-content-2 h2 {
    font-size: 2rem;
    font-weight: 600;
    margin: 2.5rem 0 1.2rem 0;
    color: var(--primary-color);
    position: relative;
    padding-bottom: 0.5rem;
}

.post-content-2 h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50px;
    height: 3px;
    background: var(--gradient);
    border-radius: 3px;
}

.post-content-2 h3 {
    font-size: 1.5rem;
    font-weight: 600;
    margin: 2rem 0 1rem 0;
    color: var(--secondary-color);
}

.post-content-2 h4 {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 1.5rem 0 0.8rem 0;
    color: var(--text-dark);
}

.post-content-2 h5 {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 1.2rem 0 0.6rem 0;
    color: var(--text-dark);
}

.post-content-2 h6 {
    font-size: 1rem;
    font-weight: 600;
    margin: 1rem 0 0.5rem 0;
    color: var(--text-light);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Paragraphs */
.post-content-2 p {
    margin: 1.5rem 0;
    font-size: 1.1rem;
    line-height: 1.8;
    color: var(--text-light);
}

/*.post-content-2 p:first-child {*/
/*    font-size: 1.2rem;*/
/*    font-weight: 400;*/
/*    color: var(--text-light);*/
/*    margin-bottom: 2rem;*/
/*}*/

/* Lists */
.post-content-2 ul,
.post-content-2 ol {
    margin: 1.5rem 0;
    padding-left: 2rem;
}

.post-content-2 ul li,
.post-content-2 ol li {
    margin: 0.8rem 0;
    font-size: 1.1rem;
    line-height: 1.7;
    color: var(--text-dark);
}

.post-content-2 ul li::marker {
    color: var(--primary-color);
}

.post-content-2 ol li::marker {
    color: var(--primary-color);
    font-weight: 600;
}

/* Nested Lists */
.post-content-2 ul ul,
.post-content-2 ol ol,
.post-content-2 ul ol,
.post-content-2 ol ul {
    margin: 0.5rem 0;
    padding-left: 1.5rem;
}

/* Links */
/* .post-content-2 a {
  color: var(--primary-color);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: all 0.3s ease;
}

.post-content-2 a:hover {
  color: var(--secondary-color);
  border-bottom-color: var(--secondary-color);
} */

/* Strong and Emphasis */
.post-content-2 strong,
.post-content-2 b {
    font-weight: 600;
    color: var(--primary-color);
}

.post-content-2 em {
    font-style: italic;
    color: var(--text-light);
}

/* ========================================================================== */

/* TABLE STYLES */

.comparison-table {
    /* background: var(--white); */
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 5px 15px var(--shadow-light);
    margin: 2rem 0;
}

.comparison-table table {
    margin: 0;
    width: 100%;
    /* border: 1px solid var(--border-light); */
}

.comparison-table thead {
    background: var(--gradient);
    color: var(--white);
    font-weight: 600;
    padding: 1rem;
    border: none;
}

.comparison-table thead th {
    padding: 1rem;
}

.comparison-table td {
    padding: 1rem;
    border-bottom: 1px solid #f3f4f6;
    vertical-align: middle;
}

.comparison-table tr:last-child td {
    border-bottom: none;
}

/* .comparison-table tr:hover {
    background: var(--bg-light);
} */

/* ==========================================================================
   BUTTON STYLES
   ========================================================================== */

/* Download Cards Container */
.download-cards-container {
    margin: 20px 0;
}

.download-cards-container h4 {
    color: #374151;
    margin-bottom: 15px;
    font-size: 1.1rem;
    /* text-transform: uppercase; */
    font-weight: 600;
    border-bottom: 2px solid #007bff;
    padding-bottom: 10px;
}

/* Download Card Layout */
.download-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* background: #fff; */
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 15px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    position: relative;
    overflow: hidden;
}

.download-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    border-color: var(--primary-color);
}

.download-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: var(--gradient);
    transform: scaleY(0);
    transition: transform 0.3s ease;
}

.download-card:hover::before {
    transform: scaleY(1);
}

/* Left Side - Download Info */
.download-info {
    flex: 1;
    padding-right: 20px;
}

.download-info h4 {
    color: #333;
    margin: 0 0 10px 0;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.4;
    transition: color 0.3s ease;
}

.download-card:hover .download-info h4 {
    color: var(--primary-color);
}

/* Badges Container */
.badges-container {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 0;
}

.badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}

.badge:hover {
    transform: scale(1.05);
}

/* Badge Colors */
.badge.bg-danger {
    background-color: #dc3545 !important;
    color: white;
}

.badge.bg-dark {
    background-color: #343a40 !important;
    color: white;
}

.badge.bg-warning {
    background-color: #ffc107 !important;
    color: #212529;
}

.badge.bg-secondary {
    background-color: #6c757d !important;
    color: white;
}

.badge.badge-info {
    background-color: #17a2b8 !important;
    color: white;
}

.badge i {
    margin-right: 4px;
    font-size: 0.7rem;
}

/* Right Side - Download Actions */
.download-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    min-width: 140px;
}

/* Download Button */
.download-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--gradient);
    color: white;
    text-decoration: none;
    padding: 12px 24px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 10px rgba(40, 167, 69, 0.3);
    position: relative;
    overflow: hidden;
    min-width: 120px;
}

.download-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transition: left 0.6s ease;
}

.download-btn:hover::before {
    left: 100%;
}

.download-btn:hover {
    background: var(--gradient);
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(40, 167, 69, 0.4);
    color: white;
    text-decoration: none;
}

.download-btn:active {
    transform: translateY(0);
}

.download-btn i {
    margin-right: 8px;
    font-size: 0.9rem;
    transition: transform 0.3s ease;
}

.download-btn:hover i {
    transform: translateY(-1px);
}

/* Server Name */
.server-name {
    color: #6c757d;
    font-size: 0.75rem;
    font-weight: 500;
    text-align: center;
    margin-top: 4px;
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

.download-card:hover .server-name {
    opacity: 1;
    color: #495057;
}

/* Loading Animation for Download Button */
.download-btn.loading {
    pointer-events: none;
    opacity: 0.7;
}

.download-btn.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
    border: 2px solid transparent;
    border-top: 2px solid #fff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Responsive Design */
@media (max-width: 768px) {
    .download-card {
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }

    .download-info {
        padding-right: 0;
        margin-bottom: 10px;
    }

    .download-actions {
        min-width: auto;
        width: 100%;
    }

    .download-btn {
        width: 100%;
        justify-content: center;
    }

    .badges-container {
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .download-card {
        padding: 15px;
    }

    .download-info h4 {
        font-size: 1.1rem;
    }

    .badge {
        font-size: 0.7rem;
        padding: 3px 6px;
    }

    .download-btn {
        padding: 10px 20px;
        font-size: 0.85rem;
    }
}

/* Dark Mode Support */

html.dark-mode .download-card {
    /* background: #2d3748; */
    border-color: #4a5568;
    color: #e2e8f0;
}

html.dark-mode .download-info h4 {
    color: #e2e8f0;
}

html.dark-mode .download-card:hover .download-info h4 {
    color: #63b3ed;
}

html.dark-mode .download-card:hover {
    border-color: #63b3ed;
}

html.dark-mode .server-name {
    color: #a0aec0;
}

/* Animation for cards appearing */
.download-card {
    animation: fadeInUp 0.6s ease forwards;
    opacity: 0;
    transform: translateY(20px);
}

.download-card:nth-child(1) {
    animation-delay: 0.1s;
}

.download-card:nth-child(2) {
    animation-delay: 0.2s;
}

.download-card:nth-child(3) {
    animation-delay: 0.3s;
}

.download-card:nth-child(4) {
    animation-delay: 0.4s;
}

.download-card:nth-child(5) {
    animation-delay: 0.5s;
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Success state for download button */
.download-btn.success {
    background: #0056b3;
    animation: fadeInUpBounce 0.6s ease-out forwards;
}

/* Animation keyframes */
@keyframes fadeInUpBounce {
    0% {
        opacity: 0;
        transform: translateY(15px) scale(0.95);
    }

    60% {
        opacity: 1;
        transform: translateY(-4px) scale(1.02);
    }

    100% {
        transform: translateY(0) scale(1);
    }
}



/* ======================================= */

/* Code Block */
.code-block {
    background: #1e293b;
    color: #e2e8f0;
    border-radius: 10px;
    padding: 1.5rem;
    margin: 2rem 0;
    position: relative;
    overflow-x: auto;
}

.code-block::before {
    content: attr(data-lang);
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    background: var(--primary-color);
    color: var(--white);
    padding: 0.2rem 0.8rem;
    border-radius: 15px;
    font-size: 0.8rem;
    font-weight: 500;
}

.code-block pre {
    margin: 0;
    color: inherit;
}

/* Info Boxes */
.info-box {
    border-radius: 10px;
    padding: 1.5rem;
    margin: 2rem 0;
    border-left: 4px solid;
}

.info-box.info {
    background: #eff6ff;
    border-color: #3b82f6;
    color: #1e40af;
}

.info-box.warning {
    background: #fffbeb;
    border-color: #f59e0b;
    color: #92400e;
}

.info-box.success {
    background: #f0fdf4;
    border-color: #10b981;
    color: #065f46;
}

.info-box.danger {
    background: #fef2f2;
    border-color: #ef4444;
    color: #991b1b;
}

.info-box h5 {
    margin-bottom: 0.5rem;
    font-weight: 600;
}


/* ==========================================================================
   RESPONSIVE DESIGN
   ========================================================================== */
/* .navbar-collapse */
/* ====================================================== */

/* Mobile Styles */
@media (max-width: 768px) {

    /* .post-featured-image,
    .post-thumbnail {
        height: 200px;
    } */

    /* .post-title {
        font-size: 2rem;
    } */

    .post-card .post-title {
        font-size: 1.3rem;
    }

    .post-meta {
        /* flex-direction: column; */
        gap: 0.5rem;
        display: flex;
        align-items: center;
    }

    .sidebar {
        margin-top: 2rem;
        position: relative;
        top: 0;
    }

    .post-content {
        padding: 1.5rem;
    }

    .post-card .post-content {
        padding: 1rem;
    }

    .navbar-brand {
        font-size: 1.25rem;
    }

    .comparison-table {
        overflow-x: auto;
    }

    .comparison-table table {
        min-width: 600px;
    }
}

/* Small Mobile Styles */
@media (max-width: 576px) {
    .search-box input {
        font-size: 16px;
        /* Prevents zoom on iOS */
    }

    /* .post-title {
        font-size: 1.75rem;
    } */

    /* .post-card .post-title {
        font-size: 1.2rem;
    } */

    .post-content {
        padding: 1rem;
    }

    .post-card .post-content {
        padding: 0.75rem;
    }

    .widget-content {
        padding: 1rem;
    }
}

/* ==========================================================================
   UTILITY CLASSES
   ========================================================================== */

.text-gradient {
    background: var(--gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.shadow-hover {
    transition: var(--transition);
}

.shadow-hover:hover {
    box-shadow: 0 10px 30px var(--shadow-medium);
    transform: translateY(-3px);
}

/* Navbar Toggler */
.navbar-toggler {
    border: none;
    padding: 0.25rem 0.5rem;
    position: relative;
}

.navbar-toggler:focus {
    box-shadow: none;
}

/* Focus States for Accessibility */
.nav-link:focus,
.dropdown-item:focus,
.btn-gradient:focus,
.btn-outline-gradient:focus {
    /* outline: 2px solid var(--primary-color); */
    outline-offset: 2px;
}

/* Print Styles */
@media print {

    .main-header,
    .sidebar,
    .navbar-tools {
        display: none;
    }

    .blog-post,
    .post-card {
        box-shadow: none;
        border: 1px solid #ddd;
    }
}


/* ============================================ */


.user-not-found-container {
    /* background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%); */
    border-radius: 20px;
    box-shadow: 0 20px 40px rgba(99, 102, 241, 0.1);
    padding: 60px 40px;
    text-align: center;
    /* margin: 40px 0; */
    border: 1px solid rgba(99, 102, 241, 0.1);
    position: relative;
    overflow: hidden;
}

.user-not-found-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--gradient);
}

.error-icon-container {
    position: relative;
    margin-bottom: 30px;
}

.error-icon-main {
    font-size: 120px;
    background: var(--gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 20px;
    animation: bounce 2s infinite;
    z-index: 9999;
}

.error-icon-floating {
    position: absolute;
    font-size: 24px;
    color: var(--accent-color);
    opacity: 0.6;
    animation: float 3s ease-in-out infinite;
}

.error-icon-floating:nth-child(2) {
    top: 10px;
    left: 20px;
    animation-delay: -1s;
}

.error-icon-floating:nth-child(3) {
    top: 30px;
    right: 30px;
    animation-delay: -2s;
}

.error-icon-floating:nth-child(4) {
    bottom: 20px;
    left: 40px;
    animation-delay: -0.5s;
}

.error-title {
    font-size: 2.5rem;
    font-weight: 700;
    background: var(--gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 20px;
}

.error-subtitle {
    font-size: 1.2rem;
    color: var(--text-light);
    margin-bottom: 30px;
    line-height: 1.6;
}

.error-description {
    font-size: 1rem;
    color: var(--text-light);
    margin-bottom: 40px;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.action-buttons {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.btn-primary-gradient {
    background: var(--gradient);
    border: none;
    color: white;
    padding: 12px 30px;
    border-radius: 10px;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(99, 102, 241, 0.3);
}

.btn-primary-gradient:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(99, 102, 241, 0.4);
    color: white;
}

.btn-outline-gradient {
    background: transparent;
    border: 2px solid var(--primary-color);
    color: var(--primary-color);
    padding: 10px 30px;
    border-radius: 10px;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
}

.btn-outline-gradient:hover {
    background: var(--gradient);
    color: white;
    border-color: transparent;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(99, 102, 241, 0.3);
}

.search-suggestions {
    background: rgba(99, 102, 241, 0.05);
    border-radius: 15px;
    padding: 30px;
    margin-top: 30px;
}

.search-suggestions h5 {
    color: var(--text-dark);
    font-weight: 600;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.suggestion-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 15px;
    /* background: white; */
    border-radius: 10px;
    margin-bottom: 10px;
    transition: all 0.3s ease;
    cursor: pointer;
    border: 1px solid rgba(99, 102, 241, 0.1);
}

.suggestion-item:hover {
    transform: translateX(5px);
    box-shadow: 0 5px 15px rgba(99, 102, 241, 0.15);
    border-color: var(--primary-color);
}

.suggestion-item i {
    color: var(--primary-color);
    font-size: 16px;
}

.suggestion-item span {
    color: var(--text-dark);
    font-weight: 500;
}

@keyframes bounce {

    0%,
    20%,
    50%,
    80%,
    100% {
        transform: translateY(0);
    }

    40% {
        transform: translateY(-10px);
    }

    60% {
        transform: translateY(-5px);
    }
}

@keyframes float {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-10px);
    }
}

@media (max-width: 768px) {
    .error-title {
        font-size: 2rem;
    }

    .error-icon-main {
        font-size: 80px;
    }

    .user-not-found-container {
        padding: 40px 20px;
        margin: 20px 0;
    }

    .action-buttons {
        flex-direction: column;
        align-items: center;
    }

    .btn-primary-gradient,
    .btn-outline-gradient {
        width: 100%;
        max-width: 280px;
        justify-content: center;
    }
}