/* =====================================================
   WLIDAAT - Additional Styles for Loader & Enhancements
   ===================================================== */

/* Counter animation helper */
.counter-animated {
    display: inline-block;
}

/* Highlight animation for urgency */
@keyframes highlight-pulse {
    0%, 100% { background-color: transparent; }
    50% { background-color: rgba(245, 158, 11, 0.1); }
}

/* Smooth fade transitions between tabs */
.tab-content {
    animation: tab-fade 0.3s ease;
}
@keyframes tab-fade {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Form focus glow enhancement */
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    animation: focus-glow 0.3s ease forwards;
}

/* Progress bar in scarcity */
.progress-bar-container {
    margin-top: 10px;
    background: rgba(255,255,255,0.08);
    border-radius: 100px;
    height: 6px;
    overflow: hidden;
}
.progress-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, #ef4444, #f97316);
    border-radius: 100px;
    animation: progress-anim 2s ease-out forwards;
    animation-delay: 0.5s;
    width: 0%;
}
@keyframes progress-anim {
    to { width: 78%; }
}

/* Testimonial-like cards */
.quote-animated {
    animation: quote-in 0.8s ease forwards;
}
@keyframes quote-in {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

/* Mobile menu open state */
.nav-toggle.open span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}
.nav-toggle.open span:nth-child(2) {
    opacity: 0;
    transform: translateX(-10px);
}
.nav-toggle.open span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

/* Parallax layers */
.parallax-layer {
    will-change: transform;
}

/* Card hover glow effect */
.actor-card:hover .actor-icon i,
.pb-item:hover .pb-icon,
.reass-item:hover i {
    filter: drop-shadow(0 0 8px currentColor);
}

/* Success animation */
.success-icon i {
    animation: success-bounce 0.5s cubic-bezier(0.36, 0.07, 0.19, 0.97);
}
@keyframes success-bounce {
    0% { transform: scale(0); }
    60% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

/* Loading state for submit button */
.btn-form-submit.loading::after {
    content: '';
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
    margin-left: 8px;
    display: inline-block;
}
@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Gradient text animation */
.hero-title .text-gradient {
    background-size: 200% 200%;
    animation: gradient-shift 4s ease infinite;
}
@keyframes gradient-shift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Stagger animations for lists */
.offer-list li {
    opacity: 0;
    transform: translateX(-10px);
    transition: opacity 0.4s ease, transform 0.4s ease;
}
.offer-list li.visible {
    opacity: 1;
    transform: translateX(0);
}

/* Nav active link */
.nav-links a.active {
    color: var(--primary);
    font-weight: 700;
}

/* Floating label effect */
.form-group:focus-within label {
    color: var(--primary-light);
}

/* TV screen scanlines effect */
.tv-screen::before {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 2px,
        rgba(0,0,0,0.03) 2px,
        rgba(0,0,0,0.03) 4px
    );
    pointer-events: none;
    z-index: 1;
    border-radius: 10px;
}
.tv-screen { position: relative; }

/* Section transitions */
section {
    transition: background 0.3s ease;
}

/* Premium border gradient */
.pilote-offer,
.hero-offer-box,
.contact-form-wrap {
    position: relative;
}

/* Shimmer effect on CTA buttons */
.btn-primary::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
    transition: left 0.5s ease;
    transform: skewX(-15deg);
}
.btn-primary {
    position: relative;
    overflow: hidden;
}
.btn-primary:hover::after {
    left: 150%;
}

/* Noise texture overlay */
body::before {
    content: '';
    position: fixed;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
    opacity: 0.015;
    pointer-events: none;
    z-index: 9998;
}

/* Glitch effect for logo on hover */
.nav-logo:hover .nav-logo-img {
    filter: brightness(0) invert(1) drop-shadow(0 0 8px rgba(167,139,250,0.8));
}

/* Hero gradient animation */
.hero-title .text-gradient {
    background: linear-gradient(135deg, #a78bfa, #7c5cfc, #06b6d4, #a78bfa);
    background-size: 300% 300%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: gradient-shift 5s ease infinite;
}
