/* Webtic - Estilos Personalizados */

/* Header height compensation */
.header-compensation {
    padding-top: 120px; /* Espacio para header con logo grande */
}

@media (max-width: 768px) {
    .header-compensation {
        padding-top: 100px; /* Menos espacio en tablet */
    }
}

@media (max-width: 640px) {
    .header-compensation {
        padding-top: 90px; /* Menos espacio en móvil */
    }
}

/* Estilos para dropdown de servicios */
.group:hover .group-hover\:opacity-100,
.group:hover [class*="group-hover:opacity-100"] {
    opacity: 1 !important;
}

.group:hover .group-hover\:visible,
.group:hover [class*="group-hover:visible"] {
    visibility: visible !important;
}

.group:hover .group-hover\:rotate-180,
.group:hover [class*="group-hover:rotate-180"] {
    transform: rotate(180deg) !important;
}

/* Dropdown principal */
.group .absolute {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
}

.group:hover .absolute {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Flecha de dropdown */
.group .fa-chevron-down {
    transition: transform 0.3s ease;
}

.group:hover .fa-chevron-down {
    transform: rotate(180deg);
}

/* Animaciones para el dropdown */
.dropdown-enter {
    opacity: 0;
    transform: translateY(-10px);
    transition: all 0.3s ease;
}

.dropdown-enter-active {
    opacity: 1;
    transform: translateY(0);
}

/* Mobile dropdown styles */
.mobile-dropdown button {
    user-select: none;
}

.rotate-180 {
    transform: rotate(180deg);
}

/* Gradientes y fondos */
.gradient-bg {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

/* Efectos hover para tarjetas */
.card-hover {
    transition: all 0.3s ease;
}

.card-hover:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

/* Tarjetas de servicios */
.service-card {
    transition: all 0.3s ease;
}

.service-card:hover {
    transform: scale(1.05);
}

/* Tarjetas de precios */
.pricing-card {
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.pricing-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.15);
}

.pricing-card.featured::before {
    content: "Más Popular";
    position: absolute;
    top: 20px;
    right: -30px;
    background: #f59e0b;
    color: white;
    padding: 5px 40px;
    transform: rotate(45deg);
    font-size: 12px;
    font-weight: bold;
}

/* Animaciones */
@keyframes float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-20px); }
    100% { transform: translateY(0px); }
}

.float-animation {
    animation: float 3s ease-in-out infinite;
}

.float-animation .hero-logo {
    animation: none; /* Evitar doble animación */
}

/* Iconos con efectos */
.feature-icon {
    transition: all 0.3s ease;
}

.feature-icon:hover {
    transform: scale(1.1) rotate(5deg);
}

/* Timeline (línea de tiempo) */
.timeline-item {
    position: relative;
    padding-left: 40px;
}

.timeline-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 2px;
    background: #e5e7eb;
}

.timeline-item::after {
    content: '';
    position: absolute;
    left: -4px;
    top: 8px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #8b5cf6;
}

/* Transiciones globales */
* {
    scroll-behavior: smooth;
}

/* Efectos para las secciones */
.section-fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.section-fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Header con sombra dinámica */
.header-shadow {
    transition: box-shadow 0.3s ease;
}

/* Botones con efectos */
.btn-primary {
    transition: all 0.3s ease;
}

.btn-primary:hover {
    transform: scale(1.05);
}

/* Responsividad mejorada */
@media (max-width: 768px) {
    .float-animation {
        animation: none;
    }
    
    .service-card:hover {
        transform: none;
    }
    
    .pricing-card:hover {
        transform: none;
    }
}
