/* VH Featured Block — Frontend CSS v1.1.0 */

@font-face {
    font-family: 'Josefin Sans VH';
    src: url('fonts/josefin-sans.woff2') format('woff2');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

/* ── Container — match theme width ── */
section.vhfb-featured-block {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 15px;
    box-sizing: border-box;
}

/* ── Grid ── */
section.vhfb-featured-block .vhfb-grid {
    display: -ms-grid;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 4px;
    height: 520px;
}

section.vhfb-featured-block .vhfb-item--left {
    -ms-grid-column: 1; -ms-grid-column-span: 2;
    -ms-grid-row: 1; -ms-grid-row-span: 2;
    grid-column: 1 / 3;
    grid-row: 1 / 3;
}
section.vhfb-featured-block .vhfb-item--rt {
    -ms-grid-column: 3; -ms-grid-row: 1;
    grid-column: 3 / 4;
    grid-row: 1 / 2;
}
section.vhfb-featured-block .vhfb-item--rb {
    -ms-grid-column: 3; -ms-grid-row: 2;
    grid-column: 3 / 4;
    grid-row: 2 / 3;
}

/* ── Item ── */
section.vhfb-featured-block .vhfb-item {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    display: block;
    text-decoration: none !important;
    -webkit-animation: vhfbFadeUp 0.65s ease-out both;
    animation: vhfbFadeUp 0.65s ease-out both;
}
section.vhfb-featured-block .vhfb-item--left { -webkit-animation-delay:.08s; animation-delay:.08s; }
section.vhfb-featured-block .vhfb-item--rt   { -webkit-animation-delay:.22s; animation-delay:.22s; }
section.vhfb-featured-block .vhfb-item--rb   { -webkit-animation-delay:.36s; animation-delay:.36s; }

@-webkit-keyframes vhfbFadeUp {
    from { opacity:0; -webkit-transform:translateY(25px); transform:translateY(25px); }
    to   { opacity:1; -webkit-transform:translateY(0);    transform:translateY(0); }
}
@keyframes vhfbFadeUp {
    from { opacity:0; transform:translateY(25px); }
    to   { opacity:1; transform:translateY(0); }
}

/* ── Image ── */
section.vhfb-featured-block .vhfb-item__img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
    -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.25,0.46,0.45,0.94);
    transition: transform 0.8s cubic-bezier(0.25,0.46,0.45,0.94);
}
section.vhfb-featured-block .vhfb-item:hover .vhfb-item__img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}
section.vhfb-featured-block .vhfb-item__placeholder {
    background: #2a2a2a;
}

/* ── Overlay ── */
section.vhfb-featured-block .vhfb-item__overlay {
    position: absolute;
    top:0; left:0; right:0; bottom:0;
    background: -webkit-linear-gradient(bottom, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.1) 55%, rgba(0,0,0,0) 100%);
    background: linear-gradient(0deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.1) 55%, rgba(0,0,0,0) 100%);
    -webkit-transition: background 0.5s;
    transition: background 0.5s;
}
section.vhfb-featured-block .vhfb-item:hover .vhfb-item__overlay {
    background: -webkit-linear-gradient(bottom, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.05) 55%, rgba(0,0,0,0) 100%);
    background: linear-gradient(0deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.05) 55%, rgba(0,0,0,0) 100%);
}

/* ── Title — WHITE, Josefin Sans, weight 900 ── */
section.vhfb-featured-block .vhfb-item__title {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    margin: 0 !important;
    padding: 18px 20px;
    font-family: 'Josefin Sans VH', 'Josefin Sans', sans-serif !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    font-size: 17px !important;
    line-height: 28px !important;
    letter-spacing: 1px !important;
    text-shadow: 0 1px 6px rgba(0,0,0,0.5);
    text-align: center;
    -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94);
    transition: transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94);
    background: none !important;
    border: none !important;
}
section.vhfb-featured-block .vhfb-item:hover .vhfb-item__title {
    -webkit-transform: translateY(-3px);
    transform: translateY(-3px);
}

/* Left: larger */
section.vhfb-featured-block .vhfb-item--left .vhfb-item__title {
    font-size: 28px !important;
    line-height: 40px !important;
    padding: 22px 28px;
}

/* Right: smaller */
section.vhfb-featured-block .vhfb-item--rt .vhfb-item__title,
section.vhfb-featured-block .vhfb-item--rb .vhfb-item__title {
    font-size: 17px !important;
    line-height: 28px !important;
    padding: 16px 18px;
}

/* ══════════════════════
   MOBILE
   ══════════════════════ */
@media (max-width: 768px) {
    section.vhfb-featured-block {
        background: #ffffff;
        max-width: 100%;
        padding: 0;
        margin-top: -5px;
        margin-bottom: 25px;
    }
    section.vhfb-featured-block .vhfb-grid {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 4px;
        height: auto;
        padding: 0;
    }
    section.vhfb-featured-block .vhfb-item--left,
    section.vhfb-featured-block .vhfb-item--rt,
    section.vhfb-featured-block .vhfb-item--rb {
        height: 190px;
    }
    /* Mobile titles: center, max 3 lines with ellipsis */
    section.vhfb-featured-block .vhfb-item__title {
        text-align: center !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 3 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }
    section.vhfb-featured-block .vhfb-item--left .vhfb-item__title {
        font-size: 14px !important;
        line-height: 22px !important;
        padding: 0 16px 14px;
        max-width: none;
    }
    section.vhfb-featured-block .vhfb-item--rt .vhfb-item__title,
    section.vhfb-featured-block .vhfb-item--rb .vhfb-item__title {
        font-size: 13px !important;
        line-height: 20px !important;
        padding: 0 16px 14px;
    }
}