/* ===================================
   HEROES HEADER
=================================== */

.heroes-banner{
    position: relative;
    padding: 35px 0 70px;
    background: transparent;
}

.heroes-container{

    width:90%;

    max-width:1450px;

    margin:auto;

    position:relative;

}

.heroes-breadcrumb{

    display:flex;

    align-items:center;

    gap:12px;

    font-size:14px;

    color:#666;

    margin-bottom:45px;

}

.heroes-breadcrumb a{

    color:#356b2b;

    text-decoration:none;

    font-weight:600;

}

.heroes-breadcrumb i{

    margin-right:5px;

}

.heroes-header{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:30px;

    text-align:center;

}

.heroes-header h1{

    font-family:'Bebas Neue',sans-serif;

    font-size:68px;

    color:#214d20;

    letter-spacing:2px;

    margin-bottom:12px;

}

.heroes-header p{

    font-size:18px;

    color:#666;

}

.leaf-line{

    width:140px;

    height:2px;

    background:#8bb84b;

    position:relative;

}

.leaf-line::before{

    content:"❋";

    position:absolute;

    top:-12px;

    left:50%;

    transform:translateX(-50%);

    color:#7BAF41;

    font-size:22px;

}

.hall-btn{

    position:absolute;

    right:0;

    top:10px;

    background:#2b5d23;

    color:#fff;

    text-decoration:none;

    padding:14px 24px;

    border-radius:8px;

    font-weight:600;

    transition:.3s;

}

.hall-btn:hover{

    background:#3f7b31;

    transform:translateY(-3px);

}

.hall-btn i{

    margin-right:8px;

}


/* =======================================
        HERO CARDS - PART 1
======================================= */

.heroes-section{
    position: relative;

    margin-top: -30px;
    padding: 0 0 80px;

    background:
        linear-gradient(
            rgba(255,255,255,.35),
            rgba(255,255,255,.35)
        ),
        url("../images/hero-bg.png");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;   /* optional */
}

.heroes-grid{
    width:100%;
    max-width:1450px;
    margin:auto;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:35px;
    align-items:start;
}

/* ==========================
        CARD
========================== */

.hero-card{
    position:relative;
    background:rgba(255,255,255,.94);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);

    border-radius:18px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.45);

    box-shadow:0 20px 40px rgba(0,0,0,.18);
    transition:.35s ease;
    width:100%;
    margin-top:50px;
}

.hero-card:hover{
    transform:translateY(-8px);
    box-shadow:0 22px 45px rgba(0,0,0,.14);
}

/* ==========================
        BADGE
========================== */

.hero-badge{
    position:absolute;
    top:20px;
    left:25px;
    display:flex;
    align-items:center;
    gap:10px;
    color:#fff;
    padding:10px 22px;
    border-radius:50px;
    font-size:13px;
    font-weight:700;
    letter-spacing:.5px;
    text-transform:uppercase;
    z-index:5;
}

.hero-badge i{
    font-size:15px;
}

.hero-badge.forest{
    background:#2f6d34;
}

.hero-badge.community{
    background:#0c728e;
}

/* ==========================
        TOP AREA
========================== */

.hero-top{
    display:grid;
    grid-template-columns:170px minmax(220px,1fr) 220px;
    gap:20px;
    padding:85px 25px 25px;
    align-items:start;
}

/* ==========================
        IMAGE
========================== */

.hero-image{
    display:flex;
    justify-content:center;
}

.hero-image img{
    width:170px;
    height:170px;
    object-fit:cover;
    border-radius:14px;
    border:5px solid #fff;
    box-shadow:0 10px 25px rgba(0,0,0,.15);
}

/* ==========================
        HERO INFO
========================== */

.hero-info{
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.hero-info h2{
    margin:0;
    font-size:34px;
    font-weight:700;
    color:#214d20;
    line-height:1.2;
}

.hero-info .designation{
    margin:12px 0 6px;
    font-size:19px;
    color:#444;
    font-weight:600;
}

.hero-info .range{
    margin:0;
    font-size:17px;
    color:#7aa63d;
    font-weight:600;
}

/* ==========================
        QUOTE
========================== */

.hero-quote{
    background:#f7f9f6;
    border-left:5px solid #6fa53d;
    border-radius:12px;
    padding:22px;
    position:relative;
    min-height:150px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.hero-quote i{
    font-size:30px;
    color:#6fa53d;
    margin-bottom:12px;
}

.hero-quote p{
    margin:0;
    color:#555;
    line-height:1.7;
    font-size:16px;
    font-style:italic;
}

/* =======================================
        HERO CARDS - PART 2
        META • ACHIEVEMENTS • BUTTON
======================================= */

/* ==========================
        META SECTION
========================== */

.hero-meta{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    padding:0 30px 28px;
}

.meta-box{
    display:flex;
    align-items:center;
    gap:15px;
    background:#f8faf8;
    border:1px solid #e7ece7;
    border-radius:12px;
    padding:18px;
    transition:.3s;
}

.meta-box:hover{
    background:#eef7ea;
    border-color:#7fae48;
    transform:translateY(-4px);
}

.meta-box i{
    width:50px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#2f6d34;
    color:#fff;
    border-radius:50%;
    font-size:20px;
}

.community-card .meta-box i{
    background:#0c728e;
}

.meta-box small{
    display:block;
    color:#777;
    font-size:12px;
    margin-bottom:4px;
    text-transform:uppercase;
    letter-spacing:.5px;
}

.meta-box h5{
    margin:0;
    font-size:17px;
    color:#214d20;
    font-weight:700;
}

/* ==========================
    ACHIEVEMENT SECTION
========================== */

.achievement-section{
    padding:0 30px 30px;
}

.achievement-section h4{
    margin:5px 0 18px;
    text-align:center;
    color:#214d20;
    font-size:18px;
    letter-spacing:1px;
    text-transform:uppercase;
    position:relative;
}

.achievement-section h4::after{
    content:"";
    width:80px;
    height:3px;
    background:#79aa3d;
    display:block;
    margin:10px auto 0;
    border-radius:30px;
}

.achievement-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    border:1px solid #e8e8e8;
    border-radius:12px;
    overflow:hidden;
}

.achievement-item{
    padding:25px 12px;
    text-align:center;
    background:#fff;
    border-right:1px solid #ececec;
    transition:.3s;
}

.achievement-item:last-child{
    border-right:none;
}

.achievement-item:hover{
    background:#f4f9f2;
}

.community-card .achievement-item:hover{
    background:#eef8fb;
}

.achievement-item i{
    font-size:28px;
    color:#2f6d34;
    margin-bottom:14px;
}

.community-card .achievement-item i{
    color:#0c728e;
}

.achievement-item strong{
    display:block;
    font-size:26px;
    color:#214d20;
    margin-bottom:8px;
    font-weight:700;
}

.achievement-item span{
    display:block;
    font-size:13px;
    color:#666;
    line-height:1.5;
}

/* ==========================
        BUTTON
========================== */

.hero-footer{
    padding:0 30px 35px;
    display:flex;
    justify-content:center;
}

.read-story-btn{
    display:inline-flex;
    align-items:center;
    gap:12px;
    padding:15px 34px;
    border-radius:50px;
    text-decoration:none;
    background:#2f6d34;
    color:#fff;
    font-size:15px;
    font-weight:700;
    transition:.35s;
    box-shadow:0 10px 20px rgba(47,109,52,.25);
}

.community-card .read-story-btn{
    background:#0c728e;
    box-shadow:0 10px 20px rgba(12,114,142,.25);
}

.read-story-btn:hover{
    transform:translateY(-4px);
    letter-spacing:.4px;
}

.read-story-btn i{
    transition:.3s;
}

.read-story-btn:hover i{
    transform:translateX(6px);
}

/* =======================================
        HERO CARDS - PART 3
        RESPONSIVE
======================================= */

/* ==========================
        Large Tablet
========================== */

@media (max-width:1200px){

    .heroes-grid{
        grid-template-columns:1fr;
        gap:40px;
    }

    .hero-card{
        max-width:950px;
        margin:auto;
    }

}

/* ==========================
        Tablet
========================== */

@media (max-width:992px){

    .hero-top{

        grid-template-columns:1fr;

        text-align:center;

        padding:85px 25px 30px;

    }

    .hero-image{
        justify-content:center;
    }

    .hero-info{
        align-items:center;
    }

    .hero-meta{

        grid-template-columns:1fr;

    }

    .achievement-grid{

        grid-template-columns:repeat(2,1fr);

    }

    .achievement-item{

        border-right:none;

        border-bottom:1px solid #ececec;

    }

    .achievement-item:nth-child(odd){

        border-right:1px solid #ececec;

    }

    .achievement-item:last-child{

        grid-column:1 / -1;

        border-bottom:none;

    }

}

/* ==========================
        Mobile
========================== */

@media (max-width:768px){

    .heroes-header h1{

        font-size:42px;

    }

    .heroes-header{

        flex-direction:column;

        gap:20px;

    }

    .leaf-line{

        width:80px;

    }

    .hall-btn{

        position:relative;

        display:inline-block;

        margin:30px auto 0;

        right:auto;

        top:auto;

    }

    .hero-image img{

        width:150px;

        height:150px;

    }

    .hero-info h2{

        font-size:28px;

    }

    .hero-info .designation{

        font-size:17px;

    }

    .hero-info .range{

        font-size:15px;

    }

    .hero-quote{

        min-height:auto;

    }

}

/* ==========================
        Small Mobile
========================== */

@media (max-width:576px){

    .heroes-container,
    .heroes-grid{

        width:95%;

    }

    .hero-card{

        border-radius:14px;

    }

    .hero-badge{

        left:15px;

        top:15px;

        font-size:11px;

        padding:8px 16px;

    }

    .hero-top{

        padding:75px 18px 20px;

    }

    .hero-meta{

        padding:0 18px 20px;

    }

    .achievement-section{

        padding:0 18px 20px;

    }

    .achievement-grid{

        grid-template-columns:1fr;

    }

    .achievement-item{

        border-right:none !important;

        border-bottom:1px solid #ececec;

    }

    .achievement-item:last-child{

        border-bottom:none;

    }

    .hero-footer{

        padding:0 18px 25px;

    }

    .read-story-btn{

        width:100%;

        justify-content:center;

    }

}


/* ===================================
        GALLERY SECTION
===================================*/

.gallery-section{

    padding:70px 0;

}

.gallery-grid{

    width:90%;
    max-width:1450px;
    margin:auto;

    display:grid;
    grid-template-columns:1fr 1.6fr 1.4fr;
    gap:22px;

}

.gallery-card{

    background:#fff;

    border:1px solid #e5e5e5;

    border-radius:14px;

    padding:18px;

    box-shadow:0 8px 25px rgba(0,0,0,.05);

}

.gallery-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:15px;

}

.gallery-header h4{

    font-size:15px;

    color:#214d20;

    font-weight:700;

}

.gallery-header h4 i{

    color:#5d9b35;

    margin-right:8px;

}

.gallery-header a{

    color:#555;

    text-decoration:none;

    font-size:13px;

    font-weight:600;

}

.intro-content{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

}

.intro-content h4{

    color:#214d20;

    margin-bottom:15px;

    font-size:16px;

}

.intro-content h4 i{

    color:#5d9b35;

    margin-right:8px;

}

.intro-content p{

    font-size:14px;

    line-height:1.8;

    color:#555;

}

.intro-content img{

    width:95px;

}

/* Photo */

.photo-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:12px;

}

.photo-grid img{

    width:100%;

    height:110px;

    object-fit:cover;

    border-radius:8px;

}

.gallery-dots{

    margin-top:15px;

    display:flex;

    justify-content:center;

    gap:8px;

}

.gallery-dots span{

    width:8px;

    height:8px;

    border-radius:50%;

    background:#cfcfcf;

}

.gallery-dots .active{

    background:#5b9c3c;

}

/* Videos */

.video-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:15px;

}

.video-item{

    position:relative;

}

.video-item img{

    width:100%;

    height:120px;

    object-fit:cover;

    border-radius:8px;

}

.play-btn{

    position:absolute;

    top:40px;

    left:50%;

    transform:translateX(-50%);

    width:46px;

    height:46px;

    background:rgba(0,0,0,.65);

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    color:#fff;

}

.duration{

    position:absolute;

    right:8px;

    bottom:42px;

    background:rgba(0,0,0,.75);

    color:#fff;

    padding:3px 8px;

    font-size:11px;

    border-radius:5px;

}

.video-item h5{

    margin-top:10px;

    font-size:13px;

    line-height:1.5;

    color:#333;

}

/* Responsive */

@media(max-width:1100px){

.gallery-grid{

grid-template-columns:1fr;

}

.photo-grid{

grid-template-columns:repeat(2,1fr);

}

.video-grid{

grid-template-columns:1fr;

}

}


/* ===================================
      NOMINATE HERO SECTION
===================================*/

.nominate-section{

    padding:0 0 70px;

}

.nominate-container{

    width:90%;
    max-width:1450px;
    margin:auto;

    background:#f4f5ea;

    border:1px solid #e2e2d5;

    border-radius:12px;

    padding:22px 28px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:30px;

}

/* LEFT */

.nominate-left{

    display:flex;

    align-items:center;

    gap:20px;

}

.nominate-icon{

    width:72px;

    height:72px;

    border-radius:50%;

    background:#3d6f2b;

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    flex-shrink:0;

}

.nominate-icon i{

    font-size:34px;

}

.nominate-text h3{

    margin:0 0 6px;

    color:#214d20;

    font-size:24px;

    font-weight:700;

}

.nominate-text p{

    margin:0;

    color:#666;

    font-size:15px;

    line-height:1.7;

}

/* RIGHT */

.nominate-actions{

    display:flex;

    gap:14px;

}

.nominate-btn,
.share-btn{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:14px 22px;

    border-radius:8px;

    text-decoration:none;

    font-size:15px;

    font-weight:600;

    transition:.3s;

}

.nominate-btn{

    background:#fff;

    color:#2d5e23;

    border:1px solid #cfd6c8;

}

.nominate-btn:hover{

    background:#eef6ea;

    transform:translateY(-2px);

}

.share-btn{

    background:#58792b;

    color:#fff;

}

.share-btn:hover{

    background:#446320;

    transform:translateY(-2px);

}

.nominate-btn i,
.share-btn i{

    font-size:16px;

}

/* ==========================
        Responsive
========================== */

@media(max-width:992px){

.nominate-container{

flex-direction:column;

align-items:flex-start;

}

.nominate-actions{

width:100%;

}

.nominate-btn,
.share-btn{

flex:1;

justify-content:center;

}

}

@media(max-width:576px){

.nominate-left{

flex-direction:column;

text-align:center;

}

.nominate-actions{

flex-direction:column;

width:100%;

}

}

/* =====================================================
                HALL OF FAME PAGE
======================================================*/

/* Banner */

.hall-banner{
    position:relative;
    padding:60px 0;
    background:linear-gradient(135deg,#214d20,#3c6f2f);
    overflow:hidden;
}

.hall-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.18);
}

.hall-container{
    width:90%;
    max-width:1450px;
    margin:auto;
    position:relative;
    z-index:2;
}

.hall-breadcrumb{
    display:flex;
    gap:10px;
    align-items:center;
    color:#fff;
    font-size:14px;
    margin-bottom:35px;
}

.hall-breadcrumb a{
    color:#fff;
    text-decoration:none;
}

.hall-header{
    text-align:center;
    color:#fff;
}

.hall-icon{
    width:90px;
    height:90px;
    margin:auto;
    border-radius:50%;
    background:#fff;
    color:#2f6d34;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:38px;
    margin-bottom:25px;
}

.hall-header h1{
    font-family:'Bebas Neue',sans-serif;
    font-size:64px;
    letter-spacing:3px;
    margin-bottom:15px;
}

.hall-header p{
    max-width:700px;
    margin:auto;
    line-height:1.8;
    font-size:18px;
}

/* ===========================
        FILTER
=========================== */

.archive-filter{
    padding:60px 0 30px;
    background:#f6f8f4;
}

.filter-card{
    background:#fff;
    border-radius:18px;
    padding:35px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.filter-title{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:30px;
}

.filter-title i{
    color:#2f6d34;
    font-size:24px;
}

.filter-title h3{
    margin:0;
    color:#214d20;
}

.filter-row{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.filter-box{
    display:flex;
    flex-direction:column;
}

.filter-box label{
    margin-bottom:10px;
    font-weight:600;
    color:#444;
}

.filter-box select{
    height:50px;
    border:1px solid #d7ddd3;
    border-radius:8px;
    padding:0 15px;
    font-size:15px;
}

.filter-btn{
    display:flex;
    align-items:flex-end;
}

.filter-btn button{
    width:100%;
    height:50px;
    border:none;
    background:#2f6d34;
    color:#fff;
    border-radius:8px;
    cursor:pointer;
    font-size:15px;
    font-weight:600;
    transition:.3s;
}

.filter-btn button:hover{
    background:#3d7d41;
}

/* ===========================
      RESULT SECTION
=========================== */

.archive-results{
    padding:20px 0 70px;
    background:#f6f8f4;
}

.archive-heading{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:35px;
}

.archive-heading h2{
    color:#214d20;
    font-size:32px;
}

.archive-heading p{
    color:#666;
}

/* ===========================
      OTHER MONTHS
=========================== */

.other-months-section{
    padding:70px 0;
}

.months-list{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.month-item{
    background:#fff;
    border:1px solid #e5e5e5;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 8px 20px rgba(0,0,0,.05);
}

.month-item summary{
    list-style:none;
    cursor:pointer;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:22px 25px;
    font-size:18px;
    font-weight:600;
    color:#214d20;
}

.month-item summary::-webkit-details-marker{
    display:none;
}

.hero-count{
    background:#edf6ea;
    color:#2f6d34;
    padding:8px 16px;
    border-radius:50px;
    font-size:14px;
}

.month-content{
    padding:25px;
    border-top:1px solid #eee;
}

.month-content p{
    margin-bottom:12px;
    color:#555;
}

.view-month-btn{
    display:inline-flex;
    gap:10px;
    align-items:center;
    margin-top:15px;
    padding:12px 24px;
    background:#2f6d34;
    color:#fff;
    border-radius:8px;
    text-decoration:none;
    transition:.3s;
}

.view-month-btn:hover{
    background:#3b7b39;
}

/* ===========================
      BACK BUTTON
=========================== */

.back-section{
    padding:0 0 70px;
}

.back-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:15px 28px;
    background:#214d20;
    color:#fff;
    text-decoration:none;
    border-radius:8px;
    transition:.3s;
}

.back-btn:hover{
    background:#356b2b;
}

/* ===========================
      RESPONSIVE
=========================== */

@media(max-width:992px){

.filter-row{
    grid-template-columns:1fr;
}

.archive-heading{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
}

}

@media(max-width:768px){

.hall-header h1{
    font-size:42px;
}

.month-item summary{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
}

}

/*====================================
        HALL OF FAME TIMELINE
====================================*/

.timeline-section{
    padding:80px 20px;
    background:#f8fbf7;
}

.timeline{
    position:relative;
    max-width:900px;
    margin:50px auto 0;
    padding-left:40px;
}

.timeline::before{
    content:"";
    position:absolute;
    left:18px;
    top:0;
    bottom:0;
    width:4px;
    background:#2e7d32;
}

.timeline-item{
    position:relative;
    margin-bottom:50px;
}

.timeline-item::before{
    content:"";
    position:absolute;
    left:-31px;
    top:12px;
    width:18px;
    height:18px;
    background:#2e7d32;
    border-radius:50%;
    border:4px solid #fff;
    box-shadow:0 0 0 3px #2e7d32;
}

.timeline-date{
    font-size:22px;
    font-weight:700;
    color:#2e7d32;
    margin-bottom:12px;
}

.timeline-content{
    background:#fff;
    border-radius:15px;
    padding:25px;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.timeline-content h4{
    color:#1f4d2e;
    margin-bottom:8px;
    margin-top:15px;
}

.timeline-content h4:first-child{
    margin-top:0;
}

.timeline-content p{
    color:#555;
    line-height:1.8;
    margin-bottom:10px;
}

@media(max-width:768px){

    .timeline{
        padding-left:25px;
    }

    .timeline::before{
        left:10px;
    }

    .timeline-item::before{
        left:-18px;
    }

    .timeline-date{
        font-size:18px;
    }

}