/* =====================================================================
   FILE: public/frontend/css/workout-programs.css
   BỘ KHUÔN CSS TẬP TRUNG SẠCH SẼ - ĐÃ TÁCH BIỆT HOÀN TOÀN KHỎI HTML
   ===================================================================== */

.main-programs-wrapper {
    background-color: #1a1f2c;
    font-family: 'Inter', sans-serif;
}
.notification-alert-banner {
    background-color: #1f283e;
    border: 1px solid rgba(242, 101, 34, 0.25);
    border-radius: 6px;
}
.alert-subtext { font-size: 12px; font-weight: 400; }
.btn-enable-notification { background-color: #ff9800; color: #ffffff; border-radius: 4px; font-size: 12px; }

.custom-viewall-btn {
    background-color: #1f283e;
    border: 1px solid rgba(255,255,255,0.15) !important;
    font-size: 12px;
    font-weight: 500;
    border-radius: 4px;
    padding: 4px 12px;
    transition: background-color 0.2s ease;
}
.custom-viewall-btn:hover { background-color: #283452; color: #ffffff; }


/* KHUNG ẢNH TRỌNG TÂM - Chỉ bo cong 16px diện tích hình ảnh phía trên */
.thumbnail-image-wrapper{
    position:relative;
    width:100%;
    overflow:hidden;
    z-index:1;
}

.thumbnail-image-wrapper img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}
.new-status-tag {
    background-color: #ff9800;
    color: #ffffff;
    font-size: 9px;
    border-radius: 3px;
    z-index: 3;
    transition: opacity 0.2s ease;
}

/* =====================================================================
   🔥 HIỆU ỨNG HOVER LỚP PHỦ NỀN TỐI (CHỈ XUẤT HIỆN TRÊN PHẠM VI ẢNH)
   ===================================================================== */

/* 1. Trạng thái ẩn mặc định */
.hover-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(15, 23, 42, 0.95); /* Màu tối mịn sang trọng */
    backdrop-filter: blur(5px);
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding:72px 24px 24px;   /* tăng padding-top */

    /* Hiệu ứng ẩn chuyển cảnh thu nhỏ nhẹ */
    opacity: 0;
    visibility: hidden;
    transform: scale(0.97);
    transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
}

/* Định dạng cấu trúc chữ 3 mục thông tin trong overlay */
.overlay-info-item {
    text-align: left;
}
.overlay-info-item:last-child { margin-bottom: 0; }
.overlay-label {
    color: #94a3b8;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 2px;
}
.overlay-value {
    color: #f8fafc;
    font-size: 12px;
}

/* 3. LỚP PHỦ LINK CLICK TOÀN CARD (Giải quyết lỗi chặn đè hover kịch bản trước) */
.card-click-overlay-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10; /* Lên cao nhất để bao trọn vùng click chuyển trang */
}

/* Khối Banner Lớn ChuẩnBên Trái */
.featured-upcoming-card{
    position: relative;
    overflow: hidden;
    background: #111827;
    border-radius: 16px;
}
/* Desktop */
@media (min-width:768px){

    .featured-upcoming-card img{
        position:absolute;
        inset:0;
        width:100%;
        height:100%;
        object-fit:cover;
    }
}
/* Mobile */
@media (max-width:767.98px){

    .featured-upcoming-card img{
        position:relative;
        display:block;
        width:100%;
        object-fit:cover;
    }
}
.featured-card-overlay{
    position:absolute;
    inset:0;

    background:linear-gradient(
        90deg,
        rgba(0,0,0,.75) 0%,
        rgba(0,0,0,.45) 45%,
        rgba(0,0,0,.15) 100%
    );

    z-index:1;
}

.featured-card-content-box{
    position:absolute;
    left:30px;
    bottom:30px;
    width:60%;
    z-index:2;
}

.featured-program-label{
    font-size:14px;
    font-weight:700;
    color:#ff9800;
    text-transform:uppercase;
}
.featured-program-title{
    font-size:42px;
    font-weight:700;
    margin-bottom:15px;
}
.featured-program-meta{
    color:#cbd5e1;
    margin-bottom:20px;
}
.countdown-wrapper{
    display:flex;
    align-items:center;
    gap:15px;
    margin-bottom:25px;
}
.countdown-number{
    display:block;
    font-size:64px;
    font-weight:700;
    color:#fff;
}
.countdown-label{
    font-size:12px;
    color:#94a3b8;
}
.featured-btn{
    margin-top:auto;
}
@media (max-width:991px){
    .featured-card-content-box{
        width:100%;
        padding:20px;
    }
    .featured-program-title{
        font-size:28px;
    }
    @media (max-width:991px){
    .featured-upcoming-card{
        min-height:320px;
        height:auto;
    }
}
    
}
.fs-11 { font-size: 11px; }
.fs-12 { font-size: 12px; }
.color-orange { color: #ff9800; }
.tracking-wider { letter-spacing: 1px; }
/* Màu cho các mục chưa click */
.nav-pills .nav-link {
    color: #ff9800; /* Màu xanh dương nhạt (hoặc mã màu bác đang dùng cho chữ) */
    background-color: transparent;
    font-weight: 500;
    transition: all 0.3s ease;
}

/* Màu cho mục ĐANG ACTIVE */
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    color: #fff !important;         /* Màu chữ khi active */
    background-color: #ff9800 !important; /* Màu nền cam đang dùng */
}

/* Hiệu ứng di chuột vào mục chưa active */
.nav-pills .nav-link:hover {
    color: #f26522;
    background-color: rgba(0, 123, 255, 0.1);
}

.card-body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 5px;
}
/* Tăng độ rõ nét cho các trường thời gian và ngày */
.text-white-50 {
    color: #ffffff !important; /* Đổi thành trắng hoàn toàn thay vì mờ 50% */
    opacity: 1 !important;     /* Bỏ độ trong suốt */
    font-size: 9px;
    margin-bottom: 5px;
}

/* Đảm bảo phần card body có khoảng cách để chữ không bị sát lề */
.card-body.p-3 {
    padding: 15px !important;
}
.nav-item{
padding: 5px !important;
}
/* Style cơ bản cho nút bộ lọc */
.nav-pills .nav-link {
    color: #ff9800 !important; /* Màu cam */
    border: 1px solid #ff9800 !important; /* Đường viền cam */
    border-radius: 5px; /* Bo góc */
    padding: 8px 16px;
    margin-right: 10px;
    transition: all 0.3s ease;
    background: transparent;
}

/* Hiệu ứng khi Hover hoặc Active */
.nav-pills .nav-link:hover,
.nav-pills .nav-link.active {
    background-color: #ff9800 !important; /* Nền cam */
    color: #ffffff !important; /* Chữ trắng */
}
.btn-orange-custom {
    background-color: #ff9800 !important;
    border-color: #ff9800 !important;
    color: #ffffff !important;
    padding: 10px 25px;
    transition: all 0.3s ease;
}

.btn-orange-custom:hover {
    background-color: #e06a0c !important; /* Màu cam đậm hơn khi hover */
    border-color: #e06a0c !important;
    transform: translateY(-2px); /* Hiệu ứng nổi nhẹ */
    box-shadow: 0 4px 8px rgba(0,0,0,0.2) !important;
}
.workout-info {
    display: flex;
    flex-wrap: wrap; /* Cho phép xuống dòng nếu màn hình nhỏ */
    gap: 15px;       /* Khoảng cách giữa các mục */
    font-size: 14px;
    color: #ccc;
}
.workout-info span {
    display: flex;
    align-items: center;
    gap: 5px; /* Khoảng cách giữa icon và chữ */
}
.completed-day{
    background:#28a745 !important;
    color:#fff !important;
    border-color:#28a745 !important;
}
.program-level-badge{
    position:absolute;
    top:16px;
    left:16px;
    display:inline-flex;
    align-items:center;
    padding:5px 5px;
    border-radius:5px;
    color:#fff;
    font-size:11px;
    width:auto;
    max-width:max-content;
    z-index:20;
}
.standard-workout-grid-card{
    position: relative;
    height:100%;
    display: flex;
    flex-direction: column;
    background: #1e293b;
    border: 1.5px solid transparent;
    border-radius: 10px;
    overflow: hidden;
    transition:
        transform .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;
}

.standard-workout-grid-card:hover{
    transform: translateY(-4px);
}

/* 2. Khi di chuột vào vùng card -> Kích hoạt hiển thị lớp phủ trên bề mặt ảnh */
.standard-workout-grid-card:hover .hover-overlay {
    opacity: 0.9 !important;
    visibility: visible !important;
    transform: scale(1) !important;
}
.standard-workout-grid-card:hover .new-status-tag {
    opacity: 0 !important;
}
.card-text-content-area{
    background:#111827;
    padding:12px 14px;
    display:flex;
    flex-direction:column;
    gap:6px;
}

.grid-card-title{
    margin: 0;
    color:#fff;
    font-size:18px;
    line-height:1.3;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.grid-card-meta{
    display:flex;
    align-items:center;
    color:rgba(255,255,255,.72);
    font-size:13px;
    gap:15px;   /* chỉnh 10,12,14,16 tùy ý */
    font-size:12px;
}
.grid-card-meta span{
    align-items:center;
    gap:2px;
}
.grid-card-meta i{
    margin-right:4px;
}

.meta-dot{
    opacity:.5;
    padding: 10px;
}
@media (max-width:992px){
.grid-card-title{
    font-size:14px;
}
}
@media (max-width:576px){
.grid-card-title{
    font-size:12px;
}
}
@media (max-width: 576px){

    .hover-overlay{
        padding:52px 16px 10px;
    }
    .overlay-info-item{
        margin-bottom:2px;
    }
     .overlay-label{
        font-size:10px;
        letter-spacing:.5px;
    }
     .overlay-value{
        font-size:9px;
        line-height:1.3;
    }
}
.standard-workout-grid-card .card-text-content-area{
    flex:1;
    display:flex;
    flex-direction:column;
}
@media (max-width:768px){

.thumbnail-image-wrapper{
    aspect-ratio:4/3;
}
.card-text-content-area{
    padding:12px;
    gap:8px;
}
.grid-card-title{
    font-size:13px;
    line-height:1.3;
}
.grid-card-meta{

    gap:10px;
    flex-wrap:wrap;
    font-size:9px;
}
.standard-workout-grid-card{
    border-radius: 5px;
}
.program-level-badge {
    font-size: 8px;
}
}
