/* AFCMall v1.3.36 — Unified Main Media + Blog Gallery */

.afc-blog-unified-carousel{
    max-width:980px;
    padding-top:42px;
    padding-bottom:18px
}

.afc-blog-carousel-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:14px
}

.afc-blog-carousel-head h2{
    margin:0;
    color:#163650
}

.afc-blog-carousel-head span{
    color:#9b7418;
    font-size:11px;
    font-weight:850;
    letter-spacing:.06em;
    text-transform:uppercase
}

.afc-blog-carousel-stage{
    position:relative;
    display:grid;
    min-height:360px;
    place-items:center;
    padding:20px 72px 46px;
    overflow:hidden;
    border:1px solid rgba(18,50,78,.10);
    border-radius:26px;
    background:
        radial-gradient(circle at 85% 10%,rgba(204,163,45,.12),transparent 30%),
        linear-gradient(145deg,#f5f7f9,#fff);
    box-shadow:0 22px 58px rgba(7,28,50,.10)
}

.afc-blog-carousel-track{
    display:grid;
    width:100%;
    place-items:center
}

.afc-blog-carousel-slide{
    display:none;
    width:100%;
    margin:0;
    place-items:center;
    text-align:center
}

.afc-blog-carousel-slide.is-active{
    display:grid
}

.afc-blog-carousel-slide img,
.afc-blog-carousel-slide video,
.afc-blog-carousel-slide iframe{
    display:block;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:min(66vh,620px);
    object-fit:contain;
    object-position:center;
    border-radius:16px;
    background:#fff
}

.afc-blog-carousel-slide video,
.afc-blog-carousel-slide iframe{
    width:100%;
    aspect-ratio:16/9;
    border:0
}

.afc-blog-carousel-image-button{
    position:relative;
    display:grid;
    width:100%;
    place-items:center;
    padding:0;
    border:0;
    background:transparent;
    cursor:zoom-in
}

.afc-blog-carousel-image-button>span{
    position:absolute;
    top:12px;
    right:12px;
    display:grid;
    width:38px;
    height:38px;
    place-items:center;
    border:1px solid rgba(255,255,255,.35);
    border-radius:12px;
    color:#fff;
    background:rgba(5,25,44,.72);
    backdrop-filter:blur(8px)
}

.afc-blog-carousel-slide figcaption{
    margin-top:12px;
    color:#627183;
    font-size:13px;
    line-height:1.5
}

.afc-blog-carousel-nav{
    position:absolute;
    z-index:3;
    top:50%;
    display:grid;
    width:50px;
    height:64px;
    place-items:center;
    padding:0;
    border:1px solid rgba(20,52,80,.16);
    border-radius:16px;
    color:#173650;
    background:rgba(255,255,255,.92);
    box-shadow:0 10px 25px rgba(7,28,50,.12);
    font-size:40px;
    cursor:pointer;
    transform:translateY(-50%)
}

.afc-blog-carousel-nav.is-prev{
    left:14px
}

.afc-blog-carousel-nav.is-next{
    right:14px
}

.afc-blog-carousel-counter{
    position:absolute;
    right:0;
    bottom:16px;
    left:0;
    color:#657487;
    font-size:12px;
    font-weight:850;
    text-align:center
}

.afc-blog-carousel-thumbnails{
    display:flex;
    gap:9px;
    padding:12px 2px 2px;
    overflow-x:auto;
    scrollbar-width:thin
}

.afc-blog-carousel-thumb{
    display:grid;
    width:78px;
    height:62px;
    flex:0 0 78px;
    place-items:center;
    overflow:hidden;
    padding:3px;
    border:2px solid transparent;
    border-radius:12px;
    background:#fff;
    box-shadow:0 5px 14px rgba(7,28,50,.08);
    cursor:pointer
}

.afc-blog-carousel-thumb.is-active{
    border-color:#c8a126;
    box-shadow:0 0 0 3px rgba(200,161,38,.12)
}

.afc-blog-carousel-thumb img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain
}

.afc-blog-carousel-video-thumb{
    display:grid;
    width:100%;
    height:100%;
    place-items:center;
    color:#fff;
    background:linear-gradient(145deg,#102f4d,#1e5b88);
    font-size:22px
}

.afc-blog-carousel-lightbox{
    position:fixed;
    z-index:100000;
    inset:0;
    display:none;
    place-items:center
}

.afc-blog-carousel-lightbox.is-open{
    display:grid
}

.afc-blog-carousel-lightbox-backdrop{
    position:absolute;
    inset:0;
    background:rgba(2,12,23,.88);
    backdrop-filter:blur(12px)
}

.afc-blog-carousel-lightbox-dialog{
    position:relative;
    z-index:1;
    display:grid;
    width:min(1100px,calc(100vw - 32px));
    height:min(820px,calc(100vh - 32px));
    place-items:center;
    padding:28px 74px 45px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:26px;
    background:rgba(7,25,43,.94);
    box-shadow:0 35px 100px rgba(0,0,0,.45)
}

.afc-blog-carousel-lightbox-dialog figure{
    display:grid;
    width:100%;
    height:100%;
    place-items:center;
    margin:0
}

.afc-blog-carousel-lightbox-dialog img{
    display:block;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:calc(100vh - 145px);
    object-fit:contain;
    border-radius:14px;
    background:#fff
}

.afc-blog-carousel-lightbox-dialog figcaption{
    margin-top:10px;
    color:#e4ebf2;
    font-size:13px;
    text-align:center
}

.afc-blog-carousel-lightbox-close,
.afc-blog-carousel-lightbox-nav{
    position:absolute;
    z-index:3;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid rgba(255,255,255,.25);
    color:#fff;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(8px);
    cursor:pointer
}

.afc-blog-carousel-lightbox-close{
    top:14px;
    right:14px;
    width:44px;
    height:44px;
    border-radius:14px;
    font-size:30px
}

.afc-blog-carousel-lightbox-nav{
    top:50%;
    width:52px;
    height:64px;
    border-radius:16px;
    font-size:42px;
    transform:translateY(-50%)
}

.afc-blog-carousel-lightbox-nav.is-prev{
    left:14px
}

.afc-blog-carousel-lightbox-nav.is-next{
    right:14px
}

@media(max-width:640px){
    .afc-blog-carousel-stage{
        min-height:240px;
        padding:12px 10px 74px
    }

    .afc-blog-carousel-slide img,
    .afc-blog-carousel-slide video{
        max-height:54vh
    }

    .afc-blog-carousel-nav{
        top:auto;
        bottom:12px;
        width:46px;
        height:46px;
        transform:none
    }

    .afc-blog-carousel-nav.is-prev{
        left:12px
    }

    .afc-blog-carousel-nav.is-next{
        right:12px
    }

    .afc-blog-carousel-counter{
        bottom:27px
    }

    .afc-blog-carousel-lightbox-dialog{
        width:calc(100vw - 14px);
        height:calc(100vh - 14px);
        padding:60px 10px 80px;
        border-radius:18px
    }

    .afc-blog-carousel-lightbox-nav{
        top:auto;
        bottom:15px;
        width:48px;
        height:48px;
        transform:none
    }
}
