/* ==================================
   HERO SECTION
================================== */

.pub-hero{

    height:65vh;

    background:
    linear-gradient(
        rgba(0,0,0,0.55),
        rgba(0,0,0,0.55)
    ),
    url('../images/ESDSetUp.png');

    background-size:cover;
    background-position:center;

    display:flex;
    align-items:center;
    justify-content:center;

    text-align:center;
}

.hero-overlay{

    color:white;
}

.hero-overlay h1{

    font-size:clamp(3rem,6vw,5rem);
    font-weight:700;
}

.hero-overlay p{

    font-size:1.3rem;
    margin-top:15px;
}


/* ==================================
   STATISTICS STRIP
================================== */

.pub-stats{

    background:#0b1d51;
    color:white;

    padding:40px 0;
}

.pub-stats h2{

    color:#4da6ff;

    font-size:2.5rem;
    font-weight:bold;
}

.pub-stats p{

    margin-bottom:0;
}


/* ==================================
   SECTION TITLES
================================== */

.section-title{

    text-align:center;

    font-weight:700;

    margin-bottom:40px;

    color:#0b1d51;
}


/* ==================================
   FEATURED CARDS
================================== */

.featured-card{

    background:white;

    border-radius:15px;

    padding:25px;

    height:100%;

    box-shadow:
        0 8px 25px rgba(0,0,0,0.10);

    transition:all 0.3s ease;
}

.featured-card:hover{

    transform:translateY(-8px);

    box-shadow:
        0 15px 35px rgba(0,0,0,0.15);
}

.featured-card h4{

    margin-top:15px;
    margin-bottom:15px;

    color:#0b1d51;
}


/* ==================================
   SEARCH BOX
================================== */

#pubSearch{

    border-radius:50px;

    padding:15px 25px;

    box-shadow:
        0 5px 15px rgba(0,0,0,0.08);

    border:none;
}


/* ==================================
   ACCORDION
================================== */

.card{

    border:none;

    margin-bottom:15px;

    box-shadow:
        0 5px 20px rgba(0,0,0,0.08);
}

.card-header{

    background:white;

    border:none;
}

.card-header button{

    width:100%;

    text-align:left;

    color:#0b1d51;

    font-weight:bold;

    font-size:1.2rem;

    text-decoration:none !important;
}

.card-header button:hover{

    color:#1e88e5;
}

.publication-item{

    border-top:
        1px solid rgba(0,0,0,0.05);
}

.publication-item h5{

    margin-top:10px;

    color:#0b1d51;
}


/* ==================================
   BADGES
================================== */

.badge{

    font-size:0.85rem;

    padding:8px 12px;
}

.badge-primary{

    background:#0d6efd;
}

.badge-warning{

    background:#fd7e14;
    color:white;
}

.badge-info{

    background:#6f42c1;
}


/* ==================================
   PATENTS
================================== */

.featured-card p{

    line-height:1.6;
}


/* ==================================
   ANIMATIONS
================================== */

.featured-card,
.card{

    animation:fadeUp 0.8s ease;
}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:
            translateY(30px);
    }

    to{

        opacity:1;

        transform:
            translateY(0);
    }
}


/* ==================================
   MOBILE
================================== */

@media(max-width:768px){

    .pub-hero{

        height:50vh;
    }

    .hero-overlay h1{

        font-size:2.5rem;
    }

    .hero-overlay p{

        font-size:1rem;
    }

    .pub-stats .col{

        margin-bottom:20px;
    }

}