/* ==========================================================================
   FIȘIER PRINCIPAL DE STILURI (STYLE.CSS) - RAIDEV
   Versiune: 1.5 (Restaurat Complet + Fix Săgeată Mobil)
   ========================================================================== */

/* CUPRINS:
   1. RESETĂRI & GLOBALE
   2. HEADER & NAVIGARE
   3. MENIU MOBIL
   4. TYPOGRAPHY (TEXTE)
   5. UI COMPONENTS (CARDURI & BUTOANE)
   6. ELEMENTE INTERACTIVE (SCROLL, CURSOR)
   7. SECTIUNI SPECIFICE
   8. FIX-URI PENTRU MOBIL
*/


/* =========================================
   1. RESETĂRI & GLOBALE
   ========================================= */

/* Blochează selectarea textului și tragerea imaginilor (Protecție) */
*, *:before, *:after { 
    -webkit-user-select: none !important; 
    user-select: none !important; 
    -webkit-touch-callout: none !important; 
}

img { 
    -webkit-user-drag: none !important; 
    pointer-events: none !important; 
}

/* Permite interacțiunea normală cu input-uri, link-uri și butoane */
input, textarea, select, a, button { 
    -webkit-user-select: text !important; 
    user-select: text !important; 
    pointer-events: auto !important; 
}

/* Stiluri de bază pentru corp */
body { 
    background-color: #FAFAFA; 
    color: #111827; 
    font-family: 'Space Grotesk', sans-serif; 
    overflow-x: clip; 
    -webkit-tap-highlight-color: transparent; 
}

/* Fundalul cu textură (Noise) */
.global-bg { 
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    pointer-events: none; 
    z-index: -1; 
    background-color: #FAFAFA; 
}

.global-bg::after { 
    content: ""; 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='1'/%3E%3C/svg%3E"); 
    opacity: 0.08; 
    mix-blend-mode: multiply; 
}


/* =========================================
   2. HEADER & NAVIGARE
   ========================================= */

/* Stilul "pilulă" pentru meniu */
.nav-pill { 
    background: rgba(5, 5, 5, 0.85); 
    backdrop-filter: blur(12px); 
    border: 1px solid rgba(255, 255, 255, 0.1); 
    transition: all 0.3s ease; 
}

/* Pe mobil fundalul e solid */
@media (max-width: 768px) { 
    .nav-pill { 
        background: #050505; 
        backdrop-filter: none; 
    } 
}

/* Stare meniu la scroll */
.nav-pill.scrolled { 
    background: #050505; 
    padding-top: 0.75rem; 
    padding-bottom: 0.75rem; 
}

/* Linia galbenă sub link-uri */
.nav-item { 
    position: relative; 
}

.nav-item::before { 
    content: ''; 
    position: absolute; 
    bottom: -4px; 
    left: 50%; 
    width: 0; 
    height: 2px; 
    background: #FACC15; 
    transition: all 0.3s ease; 
    transform: translateX(-50%); 
}

.nav-item:hover::before { 
    width: 100%; 
}

.btn-shine { 
    position: relative; 
    overflow: hidden; 
}

/* --- Buton Hamburger (Mobil) --- */
#menu-btn { 
    position: relative; 
    width: 24px; 
    height: 24px; 
    display: flex; 
    flex-direction: column; 
    justify-content: center; 
    align-items: center; 
    z-index: 50; 
    border: none; 
    background: transparent; 
}

@media (min-width: 1024px) { 
    #menu-btn { display: none !important; } 
}

#menu-btn .line { 
    position: absolute; 
    left: 50%; 
    width: 24px; 
    height: 2px; 
    background-color: white; 
    border-radius: 2px; 
    transition: top 0.3s ease-in-out, transform 0.3s ease-in-out; 
    transform: translateX(-50%); 
}

#menu-btn .line-1 { top: 7px; }
#menu-btn .line-2 { top: 15px; }

/* Transformare în X */
#menu-btn.is-active .line-1 { 
    top: 50%; 
    transform: translateX(-50%) translateY(-50%) rotate(45deg); 
}

#menu-btn.is-active .line-2 { 
    top: 50%; 
    transform: translateX(-50%) translateY(-50%) rotate(-45deg); 
}


/* =========================================
   3. MENIU MOBIL (Overlay)
   ========================================= */

.mobile-overlay { 
    background: rgba(250, 250, 250, 0.98); 
    backdrop-filter: blur(15px); 
    -webkit-backdrop-filter: blur(15px); 
    position: fixed; 
    inset: 0; 
    z-index: 40; 
    transform: translateY(-100%); 
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1); 
    opacity: 0; 
    visibility: hidden; 
}

.mobile-overlay.active { 
    transform: translateY(0); 
    opacity: 1; 
    visibility: visible; 
}

.mobile-link { 
    position: relative; 
    display: inline-block; 
    transition: color 0.3s ease, transform 0.3s ease; 
}

.mobile-link:hover { 
    color: #ca8a04; 
    transform: translateX(5px); 
}


/* =========================================
   4. TYPOGRAPHY
   ========================================= */

.text-gradient-flow {
    background-image: linear-gradient(to right, #111827, #ca8a04);
    -webkit-background-clip: text; 
    -webkit-text-fill-color: transparent;
}

.text-solid-hero { 
    color: #111827; 
}


/* =========================================
   5. UI COMPONENTS (Carduri)
   ========================================= */

.glass-card {
    background: #ffffff; 
    border: 1px solid #e5e7eb; 
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

@media (min-width: 1024px) {
    .glass-card:hover { 
        border-color: #d1d5db; 
        box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1); 
        transform: translateY(-5px); 
    }
}

.stack-card { 
    position: relative; 
    margin-bottom: 40px; 
    z-index: 10; 
    background: white; 
}

@media (min-width: 1024px) {
    .stack-card { 
        position: sticky; 
        top: 120px; 
        margin-bottom: 60px; 
    }
}


/* =========================================
   6. ELEMENTE INTERACTIVE
   ========================================= */

/* --- Buton Scroll Top --- */
#scrollToTopBtn {
    position: fixed; 
    bottom: 30px; 
    right: 30px; 
    z-index: 9999;
    background-color: #050505; 
    color: white; 
    border: 1px solid #333;
    border-radius: 50%; 
    width: 50px; 
    height: 50px;
    cursor: pointer; 
    display: flex; 
    align-items: center; 
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    opacity: 0; 
    visibility: hidden; 
    transform: translateY(20px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

#scrollToTopBtn svg { 
    width: 24px; 
    height: 24px; 
}

#scrollToTopBtn.show { 
    opacity: 1; 
    visibility: visible; 
    transform: translateY(0); 
}

#scrollToTopBtn:hover { 
    background-color: #ca8a04; 
    border-color: #ca8a04; 
    transform: translateY(-3px); 
}

@media (max-width: 768px) {
    #scrollToTopBtn { 
        width: 42px; 
        height: 42px; 
        bottom: 20px; 
        right: 15px; 
        margin-bottom: env(safe-area-inset-bottom); 
    }
    #scrollToTopBtn svg { 
        width: 20px; 
        height: 20px; 
    }
}

/* --- Săgeata Scroll Jos (Indicator) --- */
#scrollDownIndicator {
    transition: opacity 0.3s ease, transform 0.3s ease;
    opacity: 0; 
    animation: fadeInArrow 1s ease-out 1.5s forwards; 
    
    /* Important pentru a putea da click pe ea */
    cursor: pointer;
    position: relative;
    z-index: 20;
}

@keyframes fadeInArrow {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

#scrollDownIndicator.hide-arrow {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(10px); 
}

/* --- Cursor Typewriter --- */
.cursor-blink {
    display: inline-block; 
    width: 3px; 
    background-color: #ca8a04;
    animation: blink 1s infinite; 
    vertical-align: middle; 
    margin-left: 2px; 
    height: 30px;
}

@media (min-width: 768px) { 
    .cursor-blink { 
        height: 80px; 
        width: 4px; 
        margin-left: 4px; 
    } 
}

@keyframes blink { 
    0%, 100% { opacity: 1; } 
    50% { opacity: 0; } 
}


/* =========================================
   7. SECTIUNI SPECIFICE
   ========================================= */

.faq-content { 
    transition: height 0.3s ease-in-out; 
}


/* =========================================
   8. FIX-URI PENTRU MOBIL
   ========================================= */

@media (max-width: 768px) {
    /* Oprim animațiile complexe care pot bloca scroll-ul pe mobil */
    .reveal-auto, .reveal-title {
        opacity: 1 !important; 
        transform: none !important; 
        visibility: visible !important;
    }

    /* LOGICA PENTRU SĂGEATA DE SCROLL:
       1. Implicit e ascunsă pe toate paginile mobile.
       2. O afișăm DOAR dacă body are clasa 'page-index' (Home).
    */
    
    #scrollDownIndicator {
        display: none !important;
    }

    body.page-index #scrollDownIndicator {
        display: block !important;
        transform: scale(0.8);
        margin-top: 2rem;
    }
}

/* Preferințe utilizator (Reduced Motion) */
@media (prefers-reduced-motion: reduce) { 
    * { 
        animation-duration: 0.01ms !important; 
        transition-duration: 0.01ms !important; 
    } 
}