/* =========================================================
   IFREE English News Page
   ========================================================= */

/* -------------------------
   News banner
   ------------------------- */

.ifree-news-banner{
    position:relative;
    overflow:hidden;
}

.ifree-news-banner #banner-img,
.ifree-news-banner-image{
    display:block;
    width:100%;
    object-fit:cover;
    object-position:center;
}

.ifree-news-banner #banner-img{
    height:clamp(220px,26vw,360px);
}

.ifree-news-banner-image{
    height:clamp(190px,20vw,270px);
}

.ifree-news-banner #banner-box,
.ifree-news-banner-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,rgba(5,25,33,.76) 0%,rgba(5,25,33,.42) 48%,rgba(5,25,33,.12) 100%),
        linear-gradient(0deg,rgba(5,25,33,.44),transparent 65%);
}

.ifree-news-banner-overlay{
    background:
        linear-gradient(90deg,rgba(5,25,33,.68) 0%,rgba(5,25,33,.36) 52%,rgba(5,25,33,.12) 100%),
        linear-gradient(0deg,rgba(5,25,33,.38),transparent 68%);
}

.ifree-news-banner #banner-box .container,
.ifree-news-banner-overlay .container{
    height:100%;
}

.ifree-news-banner-overlay .container{
    display:flex;
    align-items:center;
}

.ifree-news-banner #banner-text,
.ifree-news-banner-content{
    padding:32px 0;
    color:#fff;
}

/* Banner title: list-page H1 and detail-page label */
.ifree-news-banner-title,
.ifree-news-banner-label,
.ifree-news-banner #banner-text h1,
.ifree-news-banner #banner-text p.ifree-news-banner-title,
.ifree-news-banner #banner-text p.ifree-news-banner-label{
    display:block;
    margin:0 0 10px;
    color:#fff;
    font-size:clamp(34px,4vw,56px);
    font-weight:700;
    line-height:1.1;
    letter-spacing:-.02em;
    text-shadow:0 2px 10px rgba(0,0,0,.25);
}

/* Banner description */
.ifree-news-banner-description,
.ifree-news-banner #banner-text p:not(.ifree-news-banner-title):not(.ifree-news-banner-label){
    max-width:680px;
    margin:0;
    color:rgba(255,255,255,.9);
    font-size:clamp(16px,1.5vw,21px);
    line-height:1.5;
}

/* -------------------------
   Breadcrumb
   ------------------------- */

.ifree-news-breadcrumb .breadcrumb{
    font-size:14px;
}

.ifree-news-breadcrumb .breadcrumb a{
    color:#117b9b;
    text-decoration:none;
}

.ifree-news-breadcrumb .breadcrumb a:hover,
.ifree-news-breadcrumb .breadcrumb a:focus-visible{
    color:#19a8d2;
}

/* -------------------------
   News list
   ------------------------- */

.ifree-news-list .news-card{
    height:100%;
    overflow:hidden;
    border:1px solid #e4ecef;
    border-radius:8px;
    background:#fff;
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.ifree-news-list .news-card:hover,
.ifree-news-list .news-card:focus-within{
    border-color:rgba(25,168,210,.55);
    box-shadow:0 12px 28px rgba(20,55,65,.1);
    transform:translateY(-3px);
}

.ifree-news-list .news-card-link{
    display:flex;
    height:100%;
    flex-direction:column;
    color:inherit;
    text-decoration:none;
}

.ifree-news-list .news-card-link:focus-visible{
    outline:2px solid #19a8d2;
    outline-offset:3px;
}

.ifree-news-list .news-card-media{
    overflow:hidden;
    background:#eef4f6;
}

.ifree-news-list .news-card-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease;
}

.ifree-news-list .news-card:hover .news-card-media img{
    transform:scale(1.03);
}

.ifree-news-list .news-card-body{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:20px 20px 22px;
}

.ifree-news-list .news-meta{
    margin-bottom:12px;
    color:#68777e;
    font-size:13px;
    line-height:1.4;
}

.ifree-news-list .news-date{
    color:#68777e;
}

.ifree-news-list .news-card-title{
    display:-webkit-box;
    overflow:hidden;
    margin:0 0 12px;
    color:#1c2a31;
    font-size:19px;
    font-weight:700;
    line-height:1.35;
    overflow-wrap:anywhere;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

.ifree-news-list .news-card-summary{
    display:-webkit-box;
    overflow:hidden;
    margin:0;
    color:#68777e;
    font-size:14px;
    line-height:1.6;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
}

.ifree-news-list .news-card-read{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:auto;
    padding-top:20px;
    color:#117b9b;
    font-size:14px;
    font-weight:700;
}

.ifree-news-list .news-card-read i{
    transition:transform .2s ease;
}

.ifree-news-list .news-card:hover .news-card-read i{
    transform:translateX(4px);
}

/* -------------------------
   Pagination
   ------------------------- */

.ifree-news-pagination-wrap{
    display:flex;
    justify-content:center;
    margin:48px 0 64px;
    padding-top:24px;
    border-top:1px solid #e4ecef;
}

.ifree-news-pagination-wrap nav{
    width:100%;
}

.ifree-news-pagination{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin:0;
    padding:0;
}

.ifree-news-pagination > li{
    margin:0;
    list-style:none;
}

.ifree-news-pagination > a,
.ifree-news-pagination > b,
.ifree-news-pagination > span,
.ifree-news-pagination > li > a,
.ifree-news-pagination > li > span{
    display:inline-flex;
    min-width:42px;
    min-height:42px;
    align-items:center;
    justify-content:center;
    padding:8px 12px;
    border:1px solid #e1eaed;
    border-radius:6px;
    color:#1c2a31;
    background:#fff;
    font-size:14px;
    line-height:1;
    text-decoration:none;
    transition:
        color .2s ease,
        background .2s ease,
        border-color .2s ease;
}

.ifree-news-pagination > a:hover,
.ifree-news-pagination > a:focus-visible,
.ifree-news-pagination > li > a:hover,
.ifree-news-pagination > li > a:focus-visible{
    border-color:#19a8d2;
    color:#117b9b;
    outline:none;
}

.ifree-news-pagination > b,
.ifree-news-pagination > .thisclass,
.ifree-news-pagination > .current,
.ifree-news-pagination > li.active > a,
.ifree-news-pagination > li > span.current,
.ifree-news-pagination > li > span[aria-current="page"]{
    border-color:#117b9b;
    color:#fff;
    background:#117b9b;
    font-weight:700;
}

.ifree-news-pagination > span,
.ifree-news-pagination > li.disabled > span{
    color:#a6b3b8;
    background:#f7f9fa;
    cursor:not-allowed;
}

/* -------------------------
   Article page
   ------------------------- */

.ifree-news-article-title{
    margin:0;
    color:#1c2a31;
    font-size:clamp(28px,3.2vw,44px);
    font-weight:700;
    line-height:1.25;
    letter-spacing:-.015em;
}

.ifree-news-article-meta{
    color:#68777e;
    font-size:14px;
    line-height:1.5;
}

/* -------------------------
   Tablet
   ------------------------- */

@media (max-width:991.98px){
    .ifree-news-list .news-card-title{
        font-size:18px;
    }
}

/* -------------------------
   Mobile
   ------------------------- */

@media (max-width:767.98px){
    .ifree-news-banner #banner-img{
        height:230px;
    }

    .ifree-news-banner-image{
        height:190px;
    }

    .ifree-news-banner #banner-text,
    .ifree-news-banner-content{
        padding:24px 0;
    }

    .ifree-news-banner-title,
    .ifree-news-banner-label,
    .ifree-news-banner #banner-text h1,
    .ifree-news-banner #banner-text p.ifree-news-banner-title,
    .ifree-news-banner #banner-text p.ifree-news-banner-label{
        font-size:clamp(30px,8vw,42px);
    }

    .ifree-news-banner-description,
    .ifree-news-banner #banner-text p:not(.ifree-news-banner-title):not(.ifree-news-banner-label){
        max-width:520px;
        font-size:15px;
    }

    .ifree-news-article-title{
        font-size:clamp(26px,7vw,36px);
    }

    .ifree-news-pagination-wrap{
        margin-top:38px;
        margin-bottom:48px;
        padding-top:20px;
    }

    .ifree-news-pagination{
        gap:6px;
    }

    .ifree-news-pagination > a,
    .ifree-news-pagination > b,
    .ifree-news-pagination > span,
    .ifree-news-pagination > li > a,
    .ifree-news-pagination > li > span{
        min-width:40px;
        min-height:40px;
        padding:7px 10px;
    }
}

/* -------------------------
   Reduced motion
   ------------------------- */

@media (prefers-reduced-motion:reduce){
    .ifree-news-list .news-card,
    .ifree-news-list .news-card-media img,
    .ifree-news-list .news-card-read i{
        transition:none;
    }
}