
/* 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) now defined once in base.html */
    /* Trainer card styles: the card's look comes from .tr-card
       (training-resources.css). It clips its contents, which would cut off
       the bookmark dropdown, and its pointer cursor implies the whole card is
       a link when only "Know more" is. */

    .trainer-card {
        overflow: visible;
        cursor: auto;
    }
    .trainer-card img {
        height: 12rem;
        object-fit: cover;
        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: cover;
        }
    }
    /* Filter sidebar: panel styles come from .tr-panel (training-resources.css);
       sticky / collapse behaviour and the checkbox accent from page-search.css;
       its stacking level (--filter-z) is set inline on the aside. */
    .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);
}

/* Page-head search: the htmx "Searching..." indicator is only faded out while
   idle, so left in the flow it pulled the search box above centre. */
.tr-head-search {
    position: relative;
}
.tr-head-search .search-loader {
    position: absolute;
    top: 100%;
}

/* Filter search input */
.filter-search-input {
    width: 100%;
    padding: 6px 10px 6px 30px;
    font-size: 0.75rem;
    border: 1px solid var(--tr-line);
    border-radius: 6px;
    outline: none;
    background: #f8fafc;
    margin-bottom: 8px;
    box-sizing: border-box;
}
.filter-search-input:focus {
    border-color: var(--tr-blue);
    box-shadow: 0 0 0 3px var(--tr-blue-soft);
    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;
}