* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body, html {
    height: 100%;
    font-family: 'Poppins', sans-serif;
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(64, 0, 166, 0.3);
    z-index: 1;
}

.overlay-dark {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(64, 0, 166, 0.6);
    z-index: 1;
}

.overlay-gradient {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #190040 0%, rgba(64, 0, 166, 0) 145.94%);
    z-index: 1;
}

.avatar {
    border-radius: 50%;
}

.highlight {
    color: var(--bs-purple);
}

.semibold {
    font-weight: 600;
}

.latteral-warning-borders {
    border-right: 2px solid var(--bs-warning);
    border-left: 2px solid var(--bs-warning);
}

/* header */
.header-mobile {
    display: none;
}

.header {
    background: transparent;
    transition: all 0.4s ease;
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 12%;
    z-index: 999;
}

.nav-link {
    color: var(--bs-light);
}

.nav-link:hover {
    color: var(--bs-light);
}

.header.scrolled {
    background: #f5f5f5; 
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    height: 10%;
}

.header.scrolled .nav-link,
.header.scrolled .nav-link:hover  {
    color: var(--bs-purple); 
}

.header .nav-link, 
.header .btn {
    transition: all 0.3s ease;
}

.header .nav-item {
    border-bottom: none;
    position: relative;
    transition: box-shadow 0.2s ease-in-out;
}

.header .nav-item:hover {
    box-shadow: inset 0 -6px 0 0 var(--bs-warning);
}

/* Hide dropdown initially */
.fade-menu {
    display: block;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease-in-out;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    z-index: 1000;
    padding: 0;
}

.fade-menu a {
    font-weight: 600;
    font-size: 14px;
}

/* Show with fade + slide */
.nav-item:hover .fade-menu,
.nav-item:focus-within .fade-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* End of header */

/* Footer */
footer {
    position: relative;
    color: white;
}

.copyright-section {
    width: 100%;
    border-top: 1px solid #f5f5f5;
}

.copyright-section {
    font-size: 14px;
    opacity: 0.8;
}

.copyright-section .links ul{
    list-style: none;
    padding: 0;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.copyright-section .links ul a {
    color: var(--bs-light);
}

.footer-content__links ul {
    display: flex;
    flex-direction: column;
    gap: 15px;
    font-size: 12px;
}

.footer-content__links ul li a{
    color: var(--bs-light);
    text-decoration: none;

}

.footer-content__links ul li::marker {
    color: #5900DF;
}

.footer-content__posts small {
    font-weight: 400;
    font-size: 14px;
    line-height: 21px;
}

.footer-content .flex-col {
    flex: 1;          /* equal width for all 4 */
    min-width: 0; 
}

.footer-content h4 {
    margin-bottom: 40px;
}

.footer-content__posts_item {
    margin-bottom: 20px;
}
/* End of footer */

/* Loader */
#preloader {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: var(--bs-purple);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

#preloader .loader-container {
    position: relative;
    width: 200px;
    height: 200px;
}

/* Circular Spinner */
#preloader .spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 180px;
    height: 180px;
    border: 6px solid rgba(255,255,255,0.2);
    border-top: 6px solid #fff;
    border-radius: 50%;
    animation: spin 1.5s linear infinite;
    transform: translate(-50%, -50%);
}

@keyframes spin {
    0%   { transform: translate(-50%, -50%) rotate(0deg); }
    100% { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Logo stroke draw */
#preloader .logo {
    position: relative;
    width: 140px;
    height: 140px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#preloader .logo path {
    fill: none;
    stroke: white;
    stroke-width: 2;
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    animation: draw 3s forwards ease-in-out;
}

@keyframes draw {
    to {
        stroke-dashoffset: 0;
    }
}
/* End loader */


@media (max-width: 1199px) {
    .header {
        display: none;
    }

    /* Hamburger button */
    .hamburger {
        font-size: 28px;
        background: none;
        border: none;
        color: var(--bs-light);
        cursor: pointer;
    }

    /* Mobile menu hidden by default */
    .nav-menu {
        display: flex;
        gap: 15px;
    }

    .header-mobile {
        display: block;
        position: fixed;
        top: 0;
        z-index: 99;
        width: 100%;
        background: #fff;
    }
    .nav-menu {
        flex-direction: column;
        align-items: center;
        background: transparent;
        width: 100%;
        height: 0;
        padding: 0;
        opacity: 0;
        transition: all 0.3s ease;
    }

    .nav-menu.active {
        height: 460px;
        padding: 20px;
        opacity: 1;
    }

    /* .nav-menu.active {
        display: flex; 
    } */

    .nav-item {
        margin: 10px 0;
    }

    .header-contact {
        margin-top: 10px;
    }

    .hamburger {
        display: block;
    }
    
    .footer-content {
        flex-direction: column;
        gap: 20px;
    }
}