/* =========================================================
   What's Happening Section — whats-happening-section.css
   Matches Figma: desktop 5-col row → tablet 3+2 → mobile 3+2
   ========================================================= */

/* ---------- Section Wrapper ---------- */
.wh-section {
    padding: 120px 0 0;
    background: #fff;
    position: relative;
    overflow-x: clip;
}



.wh-title {
    margin-bottom: 20px !important;
}

.wh-header{
    margin-bottom:27px;
}

/* ---------- Background blobs (::before / ::after) ---------- */
.wh-section .bg-linear {
    position: relative;
}

.wh-section .bg-linear::before {
    content: '';
    position: absolute;
    display: block;
    width: 546.894px;
    height: 497.447px;
    filter: blur(117px);
    border-radius: 546.894px;
    background: rgba(84, 79, 248, 0.30);
    left: 15%;
    top: 10%;
    pointer-events: none;
    z-index: 0;
}

.wh-section .bg-linear::after {
    content: '';
    position: absolute;
    display: block;
    width: 546.894px;
    height: 497.447px;
    border-radius: 546.894px;
    background: rgba(46, 182, 174, 0.30);
    filter: blur(117px);
     right: 15%;
    top: 10%;
    pointer-events: none;
    z-index: 0;
}

.wh-section .bg-gradient-indus {
    position: relative;
    overflow: hidden;
    height: 100%;
    width: 100%;
}
.wh-section .ratio::before{
    display: none;
}
.wh-section .wh-grid-content{
    margin: 0 auto;
}

/* ---------- Video Block — shared with aboutus-video-section ---------- */
.wh-section .video-img-wrap {
    position: relative;
    overflow: hidden;
    width: 800px;
    max-width: 100%;
    height: 468px;
    margin: 0 auto 27px;
    z-index: 1;
}

.wh-section .overview-video-wrapper {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100%;
    flex-shrink: 0;
    aspect-ratio: 71 / 40;
    border-radius: 12px;
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.40);
    border: 1px solid #FFF;
    padding: 20px;
    z-index: 1;
}

.wh-section .overview-video-wrapper img {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 12px;
}

.wh-section .vaHomevideo-btn {
    position: absolute;
    bottom: 40px;
    right: 40px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    text-decoration: none;
    font-size: 17px;
    font-weight: 400;
    line-height: 145%;
}

.wh-section .vaHomevideo-btn img {
    width: 72px;
    height: 72px;
}

.wh-section .videopopup-section .modal .btn-close {
    background: url(https://d1k5qim9574h9e.cloudfront.net/wp-content/uploads/2025/08/popup-closed-btn.svg) no-repeat;
    position: absolute;
    z-index: 1;
    right: -32px;
    padding: 0;
    border-radius: 0;
    color: #000;
    opacity: 1;
    margin: 0;
    width: 24px;
    height: 24px;
    top: -10px;
}

/* ---------- Activity Image Grid ---------- */
/*
  Desktop  : 5 equal columns, 1 row
  Tablet   : 3 cols first row, 2 cols second row (centered)
  Mobile   : 3 cols first row, 2 cols second row
*/

.wh-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    width: 100%;
}

.wh-grid-item {
    min-width: 0;
}

.wh-grid-img-wrap {
    position: relative;
    width: 100%;
    min-height: 184px;
    aspect-ratio: 1 / 1;
    border-radius: 16px;
    overflow: hidden;
    background: #e0e0ee;
}

.wh-grid-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 16px;
    transition: transform 0.4s ease;
}

.wh-grid-img-wrap:hover img {
    transform: scale(1.06);
}

/* Gradient + blur overlay — matches .grid-item::after in life-at-valuelabs */
.wh-grid-img-wrap::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
     height: 45%;
    background: linear-gradient(rgba(0, 0, 0, 0.02) 100%);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    border-radius: 12px;
    transition: all 0.5s ease-in-out;
     mask-image: linear-gradient(180deg, transparent 0%, black 42%);
    pointer-events: none;
    z-index: 0;
}


/* Label overlay — bottom left, blurred bg */
.wh-grid-label {
    position: absolute;
    bottom: 15px;
    left: 20px;
    color: #FFF;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%; /* 22.4px */
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
    z-index: 1;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

/* ── Common: both tablet & mobile ── */
    @media (max-width: 1199.98px) {

     .wh-grid {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .wh-grid-item {
        flex-shrink: 0;
    }

    .wh-grid-img-wrap {
        aspect-ratio: unset;
    } 
    .wh-header{
        margin-bottom: 45px;
    }
    .wh-section .video-img-wrap{
        margin: 0 auto 28px;
        height: 302px;
    }
    .wh-section .vaHomevideo-btn img {
        width: 47px;
        height: 47px;
    }
    .wh-section .wh-grid-content {
        margin: 0;
    }
}
@media (min-width: 768px) and (max-width: 1199.98px) {

    .wh-section { padding: 80px 0 0px; }
    .wh-title { font-size: 32px; }

    .wh-grid { gap: 20px; }

    .wh-grid-item { width: calc(33.333% - 14px); }

    .wh-grid-img-wrap {
        width: 100%;
        height: 183px;
        min-width: unset;
        min-height: 183px;
    }
}

/* ── Mobile only ── */
@media (max-width: 767.98px) {

    .wh-section { padding: 60px 0 0px; }
    .wh-title { font-size: 28px; }
    .wh-desc { font-size: 14px; }
    .wh-section .bg-linear::before{
        height: 250px;
        width: 350px;
    }
 .wh-section .bg-linear::after{
        height: 250px;
        width: 350px;
    }
    .wh-grid { gap: 10px; position: static; }

    .wh-grid-item { width: calc(33.333% - 7px); z-index: 2; }

    .wh-section .video-img-wrap {
        height: auto;
        width: 100%;
    }

    .wh-section .overview-video-wrapper {
        height: auto;
        padding: 10px;
    }
    .wh-header {
        margin-bottom: 23px;
    }

    .wh-grid-img-wrap {
        width: 100%;
        height: 96px;
        min-width: unset;
        min-height: 96px;
    }

    .wh-grid-label {
        font-size: 14px;
        bottom: 4px;
        left: 0;
        width: 100%;
        text-align: center;
    }
    .wh-section .video-img-wrap {
        margin: 0 auto 26px;
    }
    .wh-section .vaHomevideo-btn img {
        width: 27px;
        height: 27px;
    }
    .wh-section .vaHomevideo-btn{
        bottom: 20px;
        right: 22px;
    }
    .wh-section .vaHomevideo-btn .wh-btn-text {
        display: none;
    }
}
