*, button, a, .btn, .btn-primary {
    transition: 0.3s;
}


/* Base Background and Text Colors */
body {
    background-color: #0e0e10;
    color: #ffffff;
    font-family: 'Roboto', sans-serif;
}

.welcome-section,
#about,
#features {
    padding-top: 120px;
}

/* General Layout */
.container {
    max-width: 1200px;
}

.navbar {
    background-color: #1f1f1f;
    padding: 8px;
    margin: 0px;
    border: none;
    box-shadow: 0px 0px 15px rgba(110, 75, 250, 0.7);
}

.navbar .nav-link {
    color: #ffffff;
    font-weight: 500;
    transition: 0.3s;
}

.navbar .nav-link:hover {
    color: #8e79f3;
}

/* Welcome Section */
.welcome-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px;
}

.welcome-section h1 {
    font-size: 3rem;
    font-weight: bold;
    color: #ffffff;
}

.welcome-section p {
    font-size: 1.25rem;
    color: #bfbfbf;
    margin-top: 30px;
    max-width: 600px;
}

.welcome-section .btn-primary {
    background: linear-gradient(135deg, #6e4bfa, #00f0ff);
    border: none;
    color: #ffffff;
    padding: 12px 24px;
    font-weight: 600;
    border-radius: 30px;
    transition: 0.3s;
}

.welcome-section .btn-primary:hover {
    background: linear-gradient(135deg, #00f0ff, #6e4bfa);
}

/* Gradient Accent Lines */
.accent-line {
    width: 70%;
    height: 5px;
    background: linear-gradient(135deg, #6e4bfa, #00f0ff);
    margin: 20px auto;
    border-radius: 3px;
}

/* Gradient Neon Effect */
.neon-accent {
    color: #ffffff;
    background: linear-gradient(160deg, #00f0ff, #6e4bfa);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.gradient-border {
    border: 2px solid;
    border-image-slice: 1;
    border-width: 2px;
    border-image-source: linear-gradient(135deg, #6e4bfa, #00f0ff);
    padding: 15px 30px;
    color: #ffffff;
    border-radius: 30px;
}

.text-gradient {
    background: linear-gradient(135deg, #6e4bfa, #00f0ff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Buttons */
.btn-outline-neon {
    border: 2px solid #00f0ff;
    color: #00f0ff;
    background: transparent;
    border-radius: 30px;
    padding: 12px 24px;
}

.btn-outline-neon:hover {
    background: #00f0ff;
    color: #ffffff;
}

.btn-gradient {
    background: linear-gradient(135deg, #6e4bfa, #00f0ff);
    color: #ffffff;
    border: none;
    border-radius: 30px;
    padding: 12px 24px;
    font-weight: 600;
    box-shadow: 0px 4px 12px rgba(110, 75, 250, 0.5);
}

.btn-gradient:hover {
    box-shadow: 0px 6px 18px rgba(110, 75, 250, 0.7);
    transform: translateY(-2px) rotate(3deg);
}

/* Section Headings */
.section-heading {
    font-size: 2.5rem;
    font-weight: 600;
    color: #ffffff;
    text-align: center;
    margin-bottom: 20px;
}

/* Interactive Elements */
.feature-box {
    background-color: #1a1a1d;
    border-radius: 12px;
    padding: 30px;
    text-align: center;
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.5);
    transition: 0.3s;
}

.feature-box:hover {
    transform: translateY(-5px) rotate(3deg);
    box-shadow: 0px 6px 18px rgba(110, 75, 250, 0.2);
}

.feature-icon {
    font-size: 3rem;
    color: #00f0ff;
}

.feature-title {
    font-size: 1.5rem;
    font-weight: bold;
    color: #ffffff;
    margin-top: 15px;
}

/* Gradient Outline for Icons or Accent Text */
.gradient-text {
    background: linear-gradient(135deg, #6e4bfa, #00f0ff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Footer */
.footer {
    background-color: #0e0e10;
    color: #bfbfbf;
    padding: 40px 0;
    text-align: center;
}

.footer a {
    color: #00f0ff;
    transition: 0.3s;
}

.footer a:hover {
    color: #6e4bfa;
}

/* Rounded Box for Highlights */
.rounded-box {
    background-color: #1a1a1d;
    border-radius: 15px;
    padding: 30px;
    text-align: center;
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.3);
    transition: 0.3s;
}

.rounded-box:hover {
    transform: translateY(-5px) rotate(3deg);
    box-shadow: 0px 6px 18px rgba(110, 75, 250, 0.3);
}

/* Adjustments for Feature Icons */
.feature-icon {
    font-size: 3rem;
    margin-bottom: 15px;
}

/* Rounded Circle Image (for Logos) */
.rounded-circle {
    border: 2px solid rgba(110, 75, 250, 0.5); /* Optional gradient border */
    box-shadow: 0 4px 10px rgba(110, 75, 250, 0.3); /* Optional shadow */
}

/* Center Modal */
.modal.show .modal-dialog {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Neon Border for Modal */
.modal-custom {
    position: relative;
    background-color: #1a1a1d !important;
    color: #ffffff !important;
    box-shadow: 0px 0px 15px rgba(110, 75, 250, 0.5), 0px 0px 20px rgba(0, 240, 255, 0.4) !important;
    border: 3px solid transparent;
    background-clip: padding-box;
    transition: 0.3s;
}

.modal, .modal-custom, .modal-content, .modal-header {
    border-radius: 20px !important;
}

/* Neon Border Effect */
.modal-custom:before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    border-radius: inherit;
    background: linear-gradient(135deg, #6e4bfa, #00f0ff);
    z-index: -1;
}

/* Custom Modal Header */
.modal-header-custom {
    border-bottom: 2px solid #6e4bfa !important;
    background-color: #0e0e10 !important;
}

/* Adjusted Input Fields */
.input-custom {
    background-color: #0e0e10 !important;
    color: #ffffff !important;
    border: 1px solid #6e4bfa !important;
    border-radius: 5px;
}

.input-custom:focus {
    background-color: #1f1f1f !important;
    color: #ffffff !important;
    border-color: #00f0ff !important;
    box-shadow: 0px 0px 10px rgba(110, 75, 250, 0.5) !important;
}



/* Neon Close Button */
.btn-close {
    border: 2px solid #00f0ff;
    color: #00f0ff !important;
    background: transparent;
    border-radius: 30px;
    padding: 2px 5px 8px 5px !important;
    transition: 1s;
}

/* Glow effect and scale on hover */
.btn-close:hover {
    border: 2px solid #ff3333;
    background: #ff3333;
    color: #ffffff !important;
    transform: rotate(720deg) scale(0.8);
}

/* Pulsing animation */
@keyframes neonPulse {
    0%, 100% {
        box-shadow: 0px 0px 5px rgba(0, 240, 255, 0.5), 0px 0px 5px rgba(110, 75, 250, 0.5);
    }
    50% {
        box-shadow: 0px 0px 10px rgba(0, 240, 255, 0.8), 0px 0px 15px rgba(110, 75, 250, 0.8);
    }
}

.neonPulse {
    animation: neonPulse 1s infinite alternate;
}


/* Strong Red-Orange Neon Accent */
.error-neon-accent {
    color: #ff3333; /* Bright red */
    background: linear-gradient(160deg, #ff3333, #ff6600); /* Red to orange */
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Red-Orange Neon Modal Border */
.error-modal-custom {
    position: relative;
    background-color: #1a1a1d !important;
    color: #ffffff !important;
    box-shadow: 0px 0px 15px rgba(255, 51, 51, 0.5), 0px 0px 20px rgba(255, 102, 0, 0.4) !important;
    border: 3px solid transparent;
    background-clip: padding-box;
    transition: 0.3s;
}

.error-modal-custom:before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    border-radius: inherit;
    background: linear-gradient(135deg, #ff3333, #ff6600); /* Red to orange gradient */
    z-index: -1;
}

/* Red-Orange Modal Header */
.error-modal-header-custom {
    border-bottom: 2px solid #aa3333 !important;
    background-color: #0e0e10 !important;
}

/* Red-Orange Close Button */
.btn-close.error-neonPulse {
    border: 2px solid #ff3333;
    color: #ff3333 !important;
    background: transparent;
    border-radius: 30px;
    padding: 2px 5px 8px 5px !important;
    transition: 1s;
}

.btn-close.error-neonPulse:hover {
    background: #ff3333;
    color: #ffffff !important;
    transform: rotate(720deg) scale(0.8);
}

/* Red-Orange Pulsing Animation */
@keyframes errorNeonPulse {
    0%, 100% {
        box-shadow: 0px 0px 5px rgb(255, 51, 51), 0px 0px 5px rgb(255, 102, 0); /* Red to orange */
    }
    50% {
        box-shadow: 0px 0px 10px rgb(255, 51, 51), 0px 0px 15px rgb(255, 102, 0); /* Red to orange intense */
    }
}

.error-neonPulse {
    animation: errorNeonPulse 1s infinite alternate;
}
