/* ===========================================
   SHARED REXAKIT HEADER & FOOTER STYLES
   Import this after main tool stylesheet
   =========================================== */

@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap');

/* Ensure container class exists */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
}

/* Header Override */
.site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    background: #ffffff !important;
    border-bottom: 3px solid #000000 !important;
    padding: 0.8rem 0 !important;
    box-shadow: 0 4px 0 rgba(0, 0, 0, 0.1) !important;
}

.header-inner {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.logo-link {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    text-decoration: none !important;
    background: transparent !important;
    color: #000 !important;
    padding: 5px 0 !important;
    border: none !important;
}

.logo-img {
    width: 32px !important;
    height: 32px !important;

    background: transparent !important;
    display: inline-block !important;
    border: 3px solid #000 !important;
    box-shadow: 3px 3px 0 #000 !important;
}

.logo-text {
    font-family: 'Press Start 2P', cursive !important;
    font-size: 1.2rem !important;
    color: #000 !important;
    text-transform: uppercase !important;
}

.main-nav {
    display: flex !important;
    gap: 15px !important;
}

.nav-link {
    font-family: 'Press Start 2P', cursive !important;
    font-size: 0.7rem !important;
    color: #000 !important;
    padding: 10px 15px !important;
    border: 3px solid #000 !important;
    background: #fff !important;
    transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    box-shadow: 4px 4px 0 #000 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    display: inline-block !important;
}

.nav-link:hover {
    background: #ffbe00 !important;
    color: #000 !important;
    text-decoration: none !important;
    box-shadow: 8px 8px 0 #000 !important;
    transform: translate(-4px, -4px) !important;
}

.nav-link.active {
    background: #ffbe00 !important;
    box-shadow: 4px 4px 0 #000 !important;
    transform: none !important;
}

/* Footer Override */
.site-footer {
    background: #000 !important;
    border-top: 3px solid #000 !important;
    padding: 2rem 0 !important;
    text-align: center !important;
    color: #fff !important;
    font-family: 'Press Start 2P', cursive !important;
    font-size: 1rem !important;
}

.footer-links {
    margin-bottom: 20px !important;
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
}

.site-footer a {
    color: #fff !important;
    text-decoration: none !important;
    font-family: 'Press Start 2P', cursive !important;
    font-size: 0.8rem !important;
    transition: 0.2s !important;
}

.site-footer a:hover {
    text-decoration: underline !important;
    color: #ffbe00 !important;
}

.footer-social-icons {
    display: flex !important;
    justify-content: center !important;
    gap: 15px !important;
    margin-bottom: 20px !important;
}

.social-icon {
    color: inherit !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0.7 !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

.social-icon:hover {
    opacity: 1 !important;
    transform: translateY(-3px) !important;
    color: #ffbe00 !important;
}

.social-icon svg {
    width: 24px !important;
    height: 24px !important;
    fill: currentColor !important;
}

/* Glitch Effect */
.glitch {
    position: relative;
}

.glitch:hover {
    color: #000;
}

.glitch:hover::before,
.glitch:hover::after {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    opacity: 0.8;
    pointer-events: none;
}

.glitch:hover::before {
    color: #ff00c1;
    z-index: 2;
    mix-blend-mode: multiply;
    animation: glitch-anim-1 4s infinite linear alternate-reverse;
}

.glitch:hover::after {
    color: #00fff9;
    z-index: 2;
    mix-blend-mode: multiply;
    animation: glitch-anim-2 4s infinite linear alternate-reverse;
}

@keyframes glitch-anim-1 {
    0% {
        clip-path: inset(20% 0 80% 0);
        transform: translate(-1.5px, 1px);
    }

    20% {
        clip-path: inset(60% 0 1% 0);
        transform: translate(1px, -1px);
    }

    40% {
        clip-path: inset(40% 0 20% 0);
        transform: translate(-1px, 1.5px);
    }

    60% {
        clip-path: inset(80% 0 5% 0);
        transform: translate(1.5px, -1.5px);
    }

    80% {
        clip-path: inset(10% 0 60% 0);
        transform: translate(-1.5px, 1px);
    }

    100% {
        clip-path: inset(30% 0 20% 0);
        transform: translate(1px, -1px);
    }
}

@keyframes glitch-anim-2 {
    0% {
        clip-path: inset(10% 0 60% 0);
        transform: translate(1.5px, -1px);
    }

    20% {
        clip-path: inset(30% 0 20% 0);
        transform: translate(-1px, 1.5px);
    }

    40% {
        clip-path: inset(10% 0 80% 0);
        transform: translate(1px, -1.5px);
    }

    60% {
        clip-path: inset(40% 0 10% 0);
        transform: translate(-1.5px, 1px);
    }

    80% {
        clip-path: inset(80% 0 5% 0);
        transform: translate(1.5px, -1px);
    }

    100% {
        clip-path: inset(20% 0 40% 0);
        transform: translate(-1px, 1px);
    }
}



/* Cursor Trail Effect */
.cursor-trail {
    position: absolute !important;
    width: 6px !important;
    height: 6px !important;
    background-color: #000 !important;
    pointer-events: none !important;
    z-index: 9998 !important;
    opacity: 0.8 !important;
    animation: fadeOut 0.5s forwards !important;
}

@keyframes fadeOut {
    to {
        transform: scale(0);
        opacity: 0;
    }
}

/* Mobile */
@media (max-width: 768px) {

    /* Mobile Header Layout */
    .site-header {
        padding: 1rem 0 !important;
    }

    .header-inner {
        flex-direction: column !important;
        gap: 15px !important;
    }

    /* Center Logo */
    .logo-link {
        justify-content: center !important;
        width: 100% !important;
    }

    /* Nav Links Grid */
    .main-nav {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 12px !important;
        width: 100% !important;
        margin-top: 5px !important;
    }

    /* Nav Link Sizing */
    .nav-link {
        font-size: 0.7rem !important;
        padding: 10px 10px !important;
        min-width: 70px !important;
        text-align: center !important;
        flex-grow: 1 !important;
        max-width: 120px !important;
    }

    /* Contact Button */
    .nav-link.btn-contact {
        width: 140px !important;
        margin-top: 5px !important;
        flex-grow: 0 !important;
    }
}