/* public2/css/style.css */

/* Base overrides */
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    background-color: #f8f9fa;
    /* Bootstrap light */
}

/* Animations */
@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.animate-fade-up {
    animation: fadeUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    opacity: 0;
    /* Starting state for animation */
}

.animate-fade-in {
    animation: fadeIn 0.4s ease-in forwards;
}

/* Auth Backgrounds */
.auth-bg {
    background: linear-gradient(135deg, #fdfbfb 0%, #ebedee 100%);
}

.hero-section {
    background: radial-gradient(circle at center, #ffffff 0%, #f8f9fa 100%);
}

/* Glassmorphism nav */
.glass-nav {
    background: rgba(13, 110, 253, 0.9) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/* Utilities */
.fw-black {
    font-weight: 800;
}

.drop-shadow {
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
}

.z-index-10 {
    z-index: 10;
}

/* Form overrides */
.focus-none:focus {
    box-shadow: none !important;
    border-color: #dee2e6 !important;
}

.focus-sm:focus {
    box-shadow: 0 0 0 0.1rem rgba(13, 110, 253, 0.15) !important;
    border-color: #86b7fe !important;
}

.form-control:focus,
.form-select:focus {
    box-shadow: 0 0 0 0.15rem rgba(13, 110, 253, 0.15) !important;
    border-color: #86b7fe !important;
}

.input-group-text {
    background-color: transparent;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

/* input group form-control focus style fix */
.input-group:focus-within {
    box-shadow: 0 0 0 0.15rem rgba(13, 110, 253, 0.15) !important;
    border-radius: var(--bs-border-radius);
    outline: 0;
}

.input-group:focus-within .form-control,
.input-group:focus-within .input-group-text {
    border-color: #86b7fe !important;
    box-shadow: none !important;
    z-index: 3;
}

.input-group-text:has(+ .form-control:focus) {
    border-right-color: transparent !important;
}

.form-control:focus {
    border-left-color: transparent !important;
}

.form-select,
.form-select option {
    font-size: 0.85rem !important;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.form-control,
.form-control::placeholder {
    font-size: 0.85rem !important;
}

/* Placeholder and select resizing for mobile */
@media (max-width: 576px) {

    .form-control,
    .form-control::placeholder {
        font-size: 0.85rem !important;
    }

    .form-select,
    .form-select option {
        font-size: 0.85rem !important;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }
}

/* Components */
.transition-hover {
    transition: all 0.2s ease-in-out;
}

.transition-hover:hover {
    transform: translateY(-2px);
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important;
}

/* Cards */
.card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, .175) !important;
}

/* Custom Image Heights */
.hero-img {
    height: 400px;
    object-position: center center;
}

@media (max-width: 768px) {
    .hero-img {
        height: 220px;
    }
}