/* 1. HIDE DEFAULT CURSOR (Desktop Only) - SCOPED */
@media (hover: hover) and (pointer: fine) {
    body.welkem-custom-cursor {
        cursor: none;
    }

    body.welkem-custom-cursor a,
    body.welkem-custom-cursor button,
    body.welkem-custom-cursor input,
    body.welkem-custom-cursor textarea,
    body.welkem-custom-cursor .cursor-pointer {
        cursor: none;
    }

    /* 2. CUSTOM RETICLE CURSOR */
    .custom-cursor {
        position: fixed;
        top: 0;
        left: 0;
        width: 16px;
        height: 16px;
        border-radius: 50%;
        pointer-events: none;
        z-index: 9999999; /* Higher than preloader (999999) */
        transform: translate(-50%, -50%);
        /* Default Styles for visibility */
        border: 2px solid #0ea5e9;
        /* Sky blue default */
        background: rgba(14, 165, 233, 0.1);
        display: none;
        /* Hidden by default until JS adds active class or body has class */
        box-sizing: border-box;
        /* Ensure border doesn't add to width */
    }

    body.welkem-custom-cursor .custom-cursor {
        display: block;
        /* Show only when enabled */
    }

    .custom-cursor.hovered {
        width: 36px;
        height: 36px;
        backdrop-filter: blur(2px);
    }

    .custom-cursor::after {
        /* The center dot */
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 4px;
        height: 4px;
        border-radius: 50%;
        transform: translate(-50%, -50%);
        background: white;
        /* Default White */
    }

    /* 3. SONAR RIPPLE CLICK */
    /* 3. SONAR RIPPLE CLICK */
    .sonar-ripple {
        position: fixed;
        border-radius: 50%;
        transform: translate(-50%, -50%) scale(0);
        pointer-events: none;
        z-index: 9998;
    }


}

/* ==========================================================================
   CONTACT PAGE STYLES (Sci-Fi Layout)
   ========================================================================== */

/* Scanner Map Animation */
@keyframes scan {
    0% {
        top: 0%;
        opacity: 0;
    }

    10% {
        opacity: 1;
    }

    90% {
        opacity: 1;
    }

    100% {
        top: 100%;
        opacity: 0;
    }
}

.animate-scan {
    animation: scan 3s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

/* Form Glow Inputs - Extended for CF7 */
.form-glow-input {
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: white !important;
    /* transition: all 0.3s ease; is handled by base form styles or tailwind class */
}

.form-glow-input:focus {
    border-color: #0ea5e9 !important;
    box-shadow: 0 0 0 1px #0ea5e9, 0 0 15px rgba(14, 165, 233, 0.3) !important;
    outline: none !important;
}

textarea.form-glow-input {
    min-height: 150px;
    height: auto;
}

/* Contact Form 7 Overrides for consistency */
.sci-fi-form.form-dark input,
.sci-fi-form.form-dark textarea,
.sci-fi-form.form-dark select {
    background: rgba(2, 6, 23, 0.5) !important;
    border: 1px solid #334155 !important;
    color: white !important;
    padding: 12px 16px !important;
    border-radius: 0 !important;
    /* Tech feel */
    width: 100%;
    transition: all 0.3s ease;
}

.sci-fi-form.form-dark input:focus,
.sci-fi-form.form-dark textarea:focus,
.sci-fi-form.form-dark select:focus {
    border-color: #0ea5e9 !important;
    box-shadow: 0 0 15px rgba(14, 165, 233, 0.2) !important;
    outline: none;
}

.sci-fi-form.form-dark input[type="submit"] {
    background: rgba(14, 165, 233, 0.1) !important;
    border: 1px solid #0ea5e9 !important;
    color: #0ea5e9 !important;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
}

.sci-fi-form.form-dark input[type="submit"]:hover {
    background: #0ea5e9 !important;
    color: white !important;
    box-shadow: 0 0 20px rgba(14, 165, 233, 0.4);
}

/* Light Mode Overrides (Heroic Light Polish) */
.sci-fi-form.form-light input,
.sci-fi-form.form-light textarea,
.sci-fi-form.form-light select {
    background: #f8fafc !important;
    /* Slate-50 */
    border: 1px solid #e2e8f0 !important;
    /* Slate-200 */
    color: #0f172a !important;
    /* Slate-900 */
    padding: 14px 20px !important;
    border-radius: 12px !important;
    width: 100%;
    transition: all 0.2s ease-in-out;
    font-size: 0.95rem;
}

.sci-fi-form.form-light input::placeholder,
.sci-fi-form.form-light textarea::placeholder {
    color: #94a3b8 !important;
    /* Slate-400 */
}

.sci-fi-form.form-light input:focus,
.sci-fi-form.form-light textarea:focus,
.sci-fi-form.form-light select:focus {
    background: white !important;
    border-color: #0ea5e9 !important;
    box-shadow: 0 0 0 4px rgba(14, 165, 233, 0.1) !important;
    outline: none !important;
}

.sci-fi-form.form-light input[type="submit"] {
    background: linear-gradient(135deg, #2563eb 0%, #0ea5e9 100%) !important;
    border: none !important;
    color: white !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    box-shadow: 0 10px 15px -3px rgba(14, 165, 233, 0.3);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.sci-fi-form.form-light input[type="submit"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 25px -5px rgba(14, 165, 233, 0.4);
    filter: brightness(1.1);
}

/* Hide fallback if JS detects CF7 (Advanced) */
.wpcf7-form~.hidden-if-cf7-laoded {
    display: none !important;
}

/* ==========================================================================
   UTILITY ANIMATIONS
   ========================================================================== */
@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeLeft {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeRight {
    from {
        opacity: 0;
        transform: translateX(30px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.anim-up {
    animation: fadeUp 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

.anim-left {
    animation: fadeLeft 1.2s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

.anim-right {
    animation: fadeRight 1.2s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

/* Custom Scrollbar for HUD */
.custom-scrollbar::-webkit-scrollbar {
    width: 6px;
}

.custom-scrollbar::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 4px;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 4px;
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: rgba(14, 165, 233, 0.5);
}

/* Ensure Animate Scan is available globally if not already */
@keyframes scan-line {
    0% {
        left: -100%;
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        left: 100%;
        opacity: 0;
    }
}

.animate-scan-line {
    animation: scan-line 2s linear infinite;
}