@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&family=Montserrat:wght@300;400;500;600;700;800&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');
@import url('https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css');

:root {
            --dark-bg: #1a1a1a;
            --card-bg: #2a2a2a;
            --soft-white: #f0f0f0;
            --royal-purple: #6c5ce7;
            --deep-navy: #001f3f;
            --text-secondary: #b0b0b0;
            --shadow-color: rgba(108, 92, 231, 0.2);
        }

            /* Light Mode Overrides */
    body.light {
      --dark-bg: #f9f9f9;
      --card-bg: #ffffff;
      --soft-white: #1a1a1a;
      --royal-purple: #4a3ce5;
      --deep-navy: #003366;
      --text-secondary: #444;
      --shadow-color: rgba(74, 60, 229, 0.2);
      background: var(--dark-bg);
      color: var(--soft-white);
    }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
    /* Toggle Button */
    .theme-toggle {
      position: fixed;
      top: 20px;
      right: 20px;
      background: linear-gradient(45deg, var(--royal-purple), var(--deep-navy));
      border: none;
      border-radius: 50%;
      width: 45px;
      height: 45px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      color: #fff;
      font-size: 1.2rem;
      z-index: 2000;
      box-shadow: 0 4px 15px var(--shadow-color);
      transition: all 0.3s ease;
    }

    .theme-toggle:hover {
      transform: scale(1.1);
    }


        

        body {
            font-family: 'Poppins', sans-serif;
            background: var(--dark-bg);
            color: var(--soft-white);
            overflow-x: hidden;
            line-height: 1.6;
            min-height: 100vh;
            position: relative;
        }

        html {
            scroll-behavior: smooth;
        }

        /* Background Animation */
        .background-animation {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: -1;
            background: 
                radial-gradient(circle at 20% 30%, rgba(108, 92, 231, 0.1) 0%, transparent 50%),
                radial-gradient(circle at 80% 70%, rgba(0, 31, 63, 0.1) 0%, transparent 50%),
                radial-gradient(circle at 40% 80%, rgba(108, 92, 231, 0.05) 0%, transparent 50%);
            animation: backgroundPulse 8s ease-in-out infinite alternate;
        }

        .floating-dots {
            position: absolute;
            width: 100%;
            height: 100%;
            overflow: hidden;
        }

        .dot {
            position: absolute;
            width: 4px;
            height: 4px;
            background: var(--royal-purple);
            border-radius: 50%;
            opacity: 0.3;
            animation: float 6s ease-in-out infinite;
        }

        .dot:nth-child(1) { top: 20%; left: 10%; animation-delay: 0s; }
        .dot:nth-child(2) { top: 60%; left: 20%; animation-delay: 1s; }
        .dot:nth-child(3) { top: 40%; left: 80%; animation-delay: 2s; }
        .dot:nth-child(4) { top: 80%; left: 70%; animation-delay: 3s; }
        .dot:nth-child(5) { top: 10%; left: 60%; animation-delay: 4s; }

        /* Main Container */
        .main-container {
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 2rem 0;
        }
        /* Home Logo */
        .Home-logo{
            display: flex;
            justify-content: center;
            height:3.8rem;
            width:3.8rem;
            left:27.5rem;
        }
        .Home-logo i{
            font-size: 1.3rem;
            text-decoration: none;
        }
        
        /* Contact Card */
        .contact-card {
            background: var(--card-bg);
            border-radius: 25px;
            padding: 3rem;
            box-shadow: 
                0 20px 60px rgba(0, 0, 0, 0.3),
                0 0 40px var(--shadow-color);
            border: 1px solid rgba(108, 92, 231, 0.2);
            max-width: 600px;
            width: 100%;
            margin: 0 auto;
            position: relative;
            overflow: hidden;
            opacity: 0;
            transform: translateY(50px);
            animation: fadeInUp 1s ease-out 0.3s forwards;
        }

        .contact-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: linear-gradient(135deg, rgba(108, 92, 231, 0.05), rgba(0, 31, 63, 0.05));
            border-radius: 25px;
            z-index: -1;
        }
       

        /* Heading */
        .contact-heading {
            text-align: center;
            margin-bottom: 2.5rem;
            opacity: 0;
            transform: translateY(30px);
            animation: fadeInUp 1s ease-out 0.6s forwards;
        }

        .contact-heading h1 {
            font-family: 'Montserrat', sans-serif;
            font-size: 3rem;
            font-weight: 700;
            color: var(--soft-white);
            margin-bottom: 1rem;
            background: linear-gradient(90deg, rgb(0, 229, 255), rgb(59, 59, 253));
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            text-shadow: 0 0 30px rgba(108, 92, 231, 0.3);
        }

        .heading-underline {
            width: 80px;
            height: 3px;
            background: linear-gradient(90deg, var(--royal-purple), var(--deep-navy));
            margin: 0 auto;
            border-radius: 2px;
            animation: glowPulse 2s ease-in-out infinite alternate;
        }

        /* Email Section */
        .email-section {
            text-align: center;
            margin-bottom: 3rem;
            opacity: 0;
            transform: translateY(30px);
            animation: fadeInUp 1s ease-out 0.9s forwards;
        }

        .email-label {
            font-size: 1.2rem;
            color: var(--text-secondary);
            margin-bottom: 0.5rem;
            font-weight: 500;
        }

        .email-address {
            font-size: 1.4rem;
            color: var(--royal-purple);
            font-weight: 600;
            text-decoration: none;
            transition: all 0.3s ease;
            display: inline-block;
            padding: 0.5rem 1rem;
            border-radius: 10px;
            border: 1px solid transparent;
        }

        .email-address:hover {
            color: var(--soft-white);
            background: linear-gradient(45deg, var(--royal-purple), var(--deep-navy));
            box-shadow: 0 5px 20px var(--shadow-color);
            transform: translateY(-2px);
        }

        /* Social Media Section */
        .social-section {
            opacity: 0;
            transform: translateY(30px);
            animation: fadeInUp 1s ease-out 1.2s forwards;
        }

        .social-title {
            text-align: center;
            font-size: 1.5rem;
            color: var(--soft-white);
            margin-bottom: 2rem;
            font-weight: 600;
            transition: transform 0.3s ease-in-out;
        }
        .social-title:hover{
            transform: scale(1.3);
             background: linear-gradient(45deg, #33e0f0, #52879f, #2791dc, #2364cc);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .social-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 1.5rem;
        }

        .social-item {
            display: flex;
            align-items: center;
            padding: 1.2rem;
            background: rgba(255, 255, 255, 0.05);
            border-radius: 15px;
            border: 1px solid rgba(108, 92, 231, 0.1);
            transition: all 0.4s ease;
            text-decoration: none;
            color: var(--soft-white);
            position: relative;
            overflow: hidden;
            opacity: 0;
            transform: scale(0.9);
            animation: scaleIn 0.6s ease-out forwards;
        }

        .social-item:nth-child(1) { animation-delay: 1.5s; }
        .social-item:nth-child(2) { animation-delay: 1.7s; }
        .social-item:nth-child(3) { animation-delay: 1.9s; }
        .social-item:nth-child(4) { animation-delay: 2.1s; }

        .social-item::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(108, 92, 231, 0.1), transparent);
            transition: left 0.5s ease;
        }

        .social-item:hover::before {
            left: 100%;
        }

        .social-item:hover {
            transform: translateY(-5px) scale(1.02);
            box-shadow: 
                0 10px 30px var(--shadow-color),
                0 0 20px rgba(108, 92, 231, 0.3);
            border-color: var(--royal-purple);
            color: var(--soft-white);
        }

        .social-icon {
            font-size: 2rem;
            margin-right: 1rem;
            transition: all 0.3s ease;
            width: 50px;
            text-align: center;
        }

        .social-item:hover .social-icon {
            transform: scale(1.1);
            color: var(--royal-purple);
        }

        .social-text {
            font-size: 1.1rem;
            font-weight: 500;
            transition: all 0.3s ease;
        }

        .social-item:hover .social-text {
            transform: translateX(5px);
        }

        /* LinkedIn */
        .linkedin:hover .social-icon { color: #0077b5; }
        .linkedin:hover { border-color: #0077b5; }

        /* Instagram */
        .instagram:hover .social-icon { 
            background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }
        .instagram:hover { border-color: #e63cbe; }

        /* Facebook */
        .facebook:hover .social-icon { color: #1877f2; }
        .facebook:hover { border-color: #1877f2; }

        /* Twitter */
        .twitter:hover .social-icon { color: #1df239; }
        .twitter:hover { border-color: #1df236; }

        /* Scroll to Top Button */
        .scroll-top {
            position: fixed;
            bottom: 30px;
            right: 30px;
            width: 50px;
            height: 50px;
            background: linear-gradient(45deg, var(--royal-purple), var(--deep-navy));
            border: none;
            border-radius: 50%;
            color: var(--soft-white);
            font-size: 1.2rem;
            cursor: pointer;
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease;
            z-index: 1000;
            box-shadow: 0 5px 20px var(--shadow-color);
        }

        .scroll-top.show {
            opacity: 1;
            visibility: visible;
        }

        .scroll-top:hover {
            transform: translateY(-3px) scale(1.1);
            box-shadow: 0 8px 25px var(--shadow-color);
        }

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

        @keyframes scaleIn {
            to {
                opacity: 1;
                transform: scale(1);
            }
        }

        @keyframes glowPulse {
            0% {
                box-shadow: 0 0 5px rgba(108, 92, 231, 0.5);
            }
            100% {
                box-shadow: 0 0 20px rgba(108, 92, 231, 0.8);
            }
        }

        @keyframes backgroundPulse {
            0% {
                opacity: 0.3;
            }
            100% {
                opacity: 0.6;
            }
        }

        @keyframes float {
            0%, 100% {
                transform: translateY(0px);
                opacity: 0.3;
            }
            50% {
                transform: translateY(-20px);
                opacity: 0.6;
            }
        }

        /* Responsive Design */
        @media (max-width: 768px) {
            .contact-card {
                padding: 2rem;
                margin: 1rem;
            }

            .contact-heading h1 {
                font-size: 2.2rem;
            }

            .social-grid {
                grid-template-columns: 1fr;
                gap: 1rem;
            }

            .social-item {
                padding: 1rem;
            }

            .social-icon {
                font-size: 1.8rem;
                margin-right: 0.8rem;
            }

            .social-text {
                font-size: 1rem;
            }

            .email-address {
                font-size: 1.2rem;
            }
        }

        @media (max-width: 576px) {
            .contact-card {
                padding: 1.5rem;
            }

            .contact-heading h1 {
                font-size: 1.8rem;
            }

            .email-address {
                font-size: 1.1rem;
            }

            .social-icon {
                font-size: 1.6rem;
            }

            .scroll-top {
                bottom: 20px;
                right: 20px;
                width: 45px;
                height: 45px;
            }
        }

        /* Tablets / Medium screens (769px - 1024px) */
@media (min-width: 769px) and (max-width: 1024px) {
    .contact-card {
        padding: 2.5rem;
        margin: 1.5rem;
    }

    .contact-heading h1 {
        font-size: 2.5rem;
    }

    .social-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.2rem;
    }

    .social-item {
        padding: 1.1rem;
    }

    .social-icon {
        font-size: 1.9rem;
        margin-right: 0.9rem;
    }

    .social-text {
        font-size: 1.05rem;
    }

    .email-address {
        font-size: 1.3rem;
    }

    .scroll-top {
        bottom: 25px;
        right: 25px;
    }
}

/* Large screens (1200px and above) */
@media (min-width: 1200px) {
    .contact-card {
        max-width: 700px;
        padding: 4rem;
    }

    .contact-heading h1 {
        font-size: 3.5rem;
    }

    .social-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 2rem;
    }

    .social-item {
        padding: 1.5rem;
    }

    .social-icon {
        font-size: 2.2rem;
        margin-right: 1.2rem;
    }

    .social-text {
        font-size: 1.2rem;
    }

    .email-address {
        font-size: 1.5rem;
    }
}
