/* Fuente principal */
body {
    font-family: 'Inter', sans-serif;
}

/* Scroll suave */
html {
    scroll-behavior: smooth;
}

/* Hero Background */
.hero-bg {
    background: linear-gradient(rgba(30, 58, 138, 0.8), rgba(59, 130, 246, 0.6)), 
                url('../imagen/hero.webp') center/cover no-repeat;
    min-height: 70vh;
}

/* Text Shadow for Hero */
.shadow-text {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

/* Smooth Scrolling Animation */
.animate-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.animate-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Instagram Gradient Button */
.instagram-gradient {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
}

/* Testimonials Carousel Animation */
@keyframes scrolling {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}

.animate-scrolling {
    animation: scrolling 60s linear infinite;
}

/* Gallery Lightbox Styles */
#lightbox {
    backdrop-filter: blur(4px);
}

#lightbox-img {
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}

/* Calculator Result Styles */
#resultado {
    transition: all 0.3s ease;
}

#resultado:has(#precio-valor:not(:empty)) {
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
    border-color: #0ea5e9;
}

/* FAQ Accordion Styles */
details summary {
    transition: color 0.3s ease;
}

details[open] summary {
    color: #1e40af;
}

/* Custom scrollbar for testimonials */
.overflow-hidden::-webkit-scrollbar {
    display: none;
}

.overflow-hidden {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .hero-bg {
        min-height: 60vh;
    }
    
    .animate-scrolling {
        animation: scrolling 45s linear infinite;
    }
}

/* Hover effects for service cards */
.transform:hover {
    transform: translateY(-4px) scale(1.02);
}

/* Timeline responsiveness */
@media (max-width: 768px) {
    .md\:grid-cols-4 .relative:not(:last-child)::after {
        content: '';
        position: absolute;
        top: 100%;
        left: 3rem;
        width: 2px;
        height: 3rem;
        background: #e5e7eb;
    }
}

/* Smooth transitions for all interactive elements */
button, a, .cursor-pointer {
    transition: all 0.2s ease-in-out;
}

/* Focus styles for accessibility */
button:focus,
a:focus,
input:focus,
select:focus {
    outline: 2px solid #3b82f6;
    outline-offset: 2px;
}

/* Print styles */
@media print {
    .fixed,
    #navigation-app,
    #mobile-menu-app,
    #footer-app {
        display: none !important;
    }
    
    .hero-bg {
        background: #1e40af;
        color: white;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }
}