
/* Background blur effect  */
.blur-active {
    filter: blur(5px);
    pointer-events: none;
    user-select: none;
}
/* Slide-in transition */
.slide-menu {
    transform: translateX(-100%);
    transition: transform 0.35s ease;
}
.slide-menu.open {
    transform: translateX(0);
}
    @keyframes slide-scroll {
        0% {
            transform: translateX(0);
        }
        100% {
            transform: translateX(-50%);
        }
    }
    
    /* Active nav link */
    .nav-active {
        color: #48BEEC;
    }
    /* Trainer card styles */
    
    .trainer-card {
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
    .trainer-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    }
    .trainer-card img {
        height: 12rem;
        object-fit: contain;   /* changed from cover to contain */
        background-color: #f9fafb;  /* light gray background for empty space */
        width: 100%;
    }
    
    /* Mobile-only: force single column on very small screens */
    @media (max-width: 480px) {
        .trainers-grid {
            grid-template-columns: 1fr !important;
        }
        .trainer-card img {
            width: 100%;
            height: 12rem;
            object-fit: contain;
            background-color: #f9fafb;
        }
    }
    /* Filter sidebar smaller text */
    .filter-sidebar h2 {
        font-size: 0.95rem;
    }
    .filter-sidebar span,
    .filter-sidebar label,
    .filter-sidebar button {
        font-size: 0.8rem;
    }
/* Sticky header & progress card styles */
/* Sticky header: sits on top with slight translucency and blur */
    #mainPage {
        position: fixed;
        top: var(--promo-height, 0px);
        left: 0;
        right: 0;
        z-index: 30;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    box-shadow: 0 1px 6px rgba(16,24,40,0.04);
}

/* Filter search input */
.filter-search-input {
    width: 100%;
    padding: 6px 10px 6px 30px;
    font-size: 0.75rem;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    outline: none;
    background: #f9fafb;
    margin-bottom: 8px;
    box-sizing: border-box;
}
.filter-search-input:focus {
    border-color: #93c5fd;
    background: #fff;
}
.filter-search-wrapper {
    position: relative;
    margin-top: 10px;
}
.filter-search-wrapper svg {
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-60%);
    width: 13px;
    height: 13px;
    color: #9ca3af;
    pointer-events: none;
}
.filter-option-item.hidden-by-search {
    display: none;
}