/* Custom styles for GestLocative homepage */

/* Card hover effects */
.card {
    transition: all 0.3s ease;
    border: none;
}

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

/* Button variants */
.btn-green {
    background-color: #28a745;
    border-color: #28a745;
    color: white;
}

.btn-green:hover {
    background-color: #218838;
    border-color: #1e7e34;
    color: white;
}

.btn-orange {
    background-color: #fd7e14;
    border-color: #fd7e14;
    color: white;
}

.btn-orange:hover {
    background-color: #e8680a;
    border-color: #dc6008;
    color: white;
}

.btn-purple {
    background-color: #6f42c1;
    border-color: #6f42c1;
    color: white;
}

.btn-purple:hover {
    background-color: #5a359a;
    border-color: #553093;
    color: white;
}

.btn-blue {
    background-color: #007bff;
    border-color: #007bff;
    color: white;
}

.btn-blue:hover {
    background-color: #0069d9;
    border-color: #0062cc;
    color: white;
}

.btn-red {
    background-color: #dc3545;
    border-color: #dc3545;
    color: white;
}

.btn-red:hover {
    background-color: #c82333;
    border-color: #bd2130;
    color: white;
}

/* Soft button variants */
.btn-soft-green {
    background-color: rgba(40, 167, 69, 0.1);
    color: #28a745;
}

.btn-soft-orange {
    background-color: rgba(253, 126, 20, 0.1);
    color: #fd7e14;
}

.btn-soft-purple {
    background-color: rgba(111, 66, 193, 0.1);
    color: #6f42c1;
}

.btn-soft-blue {
    background-color: rgba(0, 123, 255, 0.1);
    color: #007bff;
}

.btn-soft-red {
    background-color: rgba(220, 53, 69, 0.1);
    color: #dc3545;
}

/* Link variants */
.link-green {
    color: #28a745;
}

.link-green:hover {
    color: #218838;
}

.link-orange {
    color: #fd7e14;
}

.link-orange:hover {
    color: #e8680a;
}

.link-purple {
    color: #6f42c1;
}

.link-purple:hover {
    color: #5a359a;
}

/* Hero section enhancements */
.wrapper.bg-soft-primary {
    background: linear-gradient(135deg, #f8f9ff 0%, #e8ecff 100%);
}

/* Icon enhancements */
.icon {
    font-size: 1.5rem;
}

/* Responsive improvements */
@media (max-width: 768px) {
    .display-1 {
        font-size: 2.5rem;
    }
    
    .display-4 {
        font-size: 2rem;
    }
    
    .card-body {
        padding: 1.5rem !important;
    }
}
