/*
Theme Name: NIT Meghalaya SHWB
Theme URI: https://shwb.nitm.ac.in/
Description: Custom child theme for NIT Meghalaya Student Health & Wellbeing.
Author: NIT Meghalaya
Template: astra
Version: 1.0.0
*/

/* Custom styles */
/*
Theme Name: NIT Meghalaya SHWB
Theme URI: https://shwb.nitm.ac.in/
Description: Custom child theme for NIT Meghalaya Student Health & Wellbeing.
Author: NIT Meghalaya
Template: astra
Version: 1.0.0
*/

/* =========================================
   Events Archive
   ========================================= */

.nitm-events-archive {
    padding-top: 70px;
    padding-bottom: 80px;
}

/* Archive heading */

.nitm-events-header {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 55px;
}

.nitm-events-label {
    display: inline-block;
    margin-bottom: 12px;
    color: #2E7D62;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.nitm-events-header h1 {
    margin-bottom: 15px;
    color: #123B5D;
    font-size: 42px;
    line-height: 1.2;
}

.nitm-events-header p {
    margin: 0;
    color: #5F6F7A;
    font-size: 17px;
    line-height: 1.7;
}


/* =========================================
   Event Grid
   ========================================= */

.nitm-events-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}


/* =========================================
   Event Card
   ========================================= */

.nitm-event-card {
    overflow: hidden;
    background: #FFFFFF;
    border: 1px solid #E5E9EC;
    border-radius: 8px;
    box-shadow: 0 4px 18px rgba(18, 59, 93, 0.08);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.nitm-event-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(18, 59, 93, 0.14);
}


/* =========================================
   Event Image
   ========================================= */

.nitm-event-image {
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: #EEF3F1;
}

.nitm-event-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.nitm-event-card:hover .nitm-event-image img {
    transform: scale(1.04);
}


/* =========================================
   Card Content
   ========================================= */

.nitm-event-card-content {
    padding: 25px;
}

.nitm-event-title {
    margin: 0 0 12px;
    font-size: 21px;
    line-height: 1.35;
}

.nitm-event-title a {
    color: #123B5D;
    text-decoration: none;
}

.nitm-event-title a:hover {
    color: #2E7D62;
}


/* =========================================
   Event Date
   ========================================= */

.nitm-event-date {
    margin-bottom: 7px;
    color: #2E7D62;
    font-size: 14px;
    font-weight: 700;
}


/* =========================================
   Venue
   ========================================= */

.nitm-event-venue {
    margin-bottom: 15px;
    color: #6B7780;
    font-size: 14px;
}


/* =========================================
   Description
   ========================================= */

.nitm-event-description {
    margin-bottom: 22px;
    color: #5F6F7A;
    font-size: 15px;
    line-height: 1.65;
}


/* =========================================
   View Event Button
   ========================================= */

.nitm-event-button {
    display: inline-block;
    padding: 10px 18px;
    background: #2E7D62;
    border-radius: 5px;
    color: #FFFFFF !important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.nitm-event-button:hover {
    background: #245F4B;
    color: #FFFFFF !important;
    transform: translateY(-1px);
}


/* =========================================
   No Events
   ========================================= */

.nitm-no-events {
    max-width: 700px;
    margin: 0 auto;
    padding: 60px 30px;
    text-align: center;
    background: #F4F8F6;
    border-radius: 8px;
}

.nitm-no-events h2 {
    color: #123B5D;
}

.nitm-no-events p {
    color: #5F6F7A;
}


/* =========================================
   Tablet
   ========================================= */

@media (max-width: 1024px) {

    .nitm-events-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .nitm-events-header h1 {
        font-size: 36px;
    }

}


/* =========================================
   Mobile
   ========================================= */

@media (max-width: 767px) {

    .nitm-events-archive {
        padding-top: 45px;
        padding-bottom: 55px;
    }

    .nitm-events-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .nitm-events-header {
        margin-bottom: 35px;
    }

    .nitm-events-header h1 {
        font-size: 30px;
    }

    .nitm-events-header p {
        font-size: 16px;
    }

    .nitm-event-card-content {
        padding: 22px;
    }

}

/* =========================================
   Events Year Cards
   ========================================= */

.nitm-events-page {
    padding-top: 70px;
    padding-bottom: 80px;
}

.nitm-event-years {
    max-width: 1000px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.nitm-event-year {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 240px;
    padding: 40px 30px;
    background: #FFFFFF;
    border: 1px solid #E5E9EC;
    border-radius: 10px;
    text-align: center;
    text-decoration: none !important;
    box-shadow: 0 5px 20px rgba(18, 59, 93, 0.07);
    overflow: hidden;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

/* Decorative top border */

.nitm-event-year::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: #2E7D62;
}

/* Hover */

.nitm-event-year:hover {
    transform: translateY(-6px);
    border-color: #2E7D62;
    box-shadow: 0 12px 30px rgba(18, 59, 93, 0.13);
}

/* Year */

.nitm-event-year-number {
    display: block;
    margin-bottom: 8px;
    color: #123B5D;
    font-size: 48px;
    font-weight: 700;
    line-height: 1;
}

/* Event count */

.nitm-event-year-count {
    display: block;
    margin-bottom: 25px;
    color: #6B7780;
    font-size: 16px;
}

/* Arrow */

.nitm-event-year-arrow {
    display: inline-block;
    color: #2E7D62;
    font-size: 16px;
    font-weight: 600;
    transition: transform 0.2s ease;
}

.nitm-event-year:hover .nitm-event-year-arrow {
    transform: translateX(6px);
}


/* =========================================
   Mobile
   ========================================= */

@media (max-width: 767px) {

    .nitm-events-page {
        padding-top: 45px;
        padding-bottom: 55px;
    }

    .nitm-event-years {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .nitm-event-year {
        min-height: 200px;
        padding: 35px 25px;
    }

    .nitm-event-year-number {
        font-size: 40px;
    }

}



/* =========================================
   Event Page - Show Date Only
   ========================================= */

/* Hide the author */
.single-event .entry-meta .byline {
    display: none !important;
}

/* Hide the remaining text separator and restore the date */
.single-event .entry-meta {
    font-size: 0;
}

.single-event .entry-meta .posted-on {
    font-size: 14px;
}


/* =========================================
   Single Event Page
   ========================================= */

.nitm-single-event {
    padding-top: 70px;
    padding-bottom: 90px;
}

/* Event header */

.nitm-single-event-header {
    max-width: 900px;
    margin: 0 auto 45px;
    text-align: center;
}

.nitm-single-event-header .nitm-events-label {
    display: inline-block;
    margin-bottom: 14px;
    color: #2E7D62;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.nitm-single-event-title {
    margin: 0 0 20px;
    color: #123B5D;
    font-size: 46px;
    line-height: 1.2;
}

.nitm-single-event-meta {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 25px;
    color: #5F6F7A;
    font-size: 16px;
}

.nitm-single-event-date {
    color: #2E7D62;
    font-weight: 700;
}

.nitm-single-event-venue::before {
    content: "📍";
    margin-right: 5px;
}


/* =========================================
   Featured Image
   ========================================= */

.nitm-single-event-featured-image {
    max-width: 1100px;
    margin: 0 auto 50px;
    overflow: hidden;
    border-radius: 10px;
}

.nitm-single-event-featured-image img {
    display: block;
    width: 100%;
    height: auto;
}


/* =========================================
   Event Content
   ========================================= */

.nitm-single-event-content {
    max-width: 850px;
    margin: 0 auto;
}

.nitm-single-event-intro {
    margin-bottom: 35px;
    padding: 25px 30px;
    background: #F1F7F4;
    border-left: 4px solid #2E7D62;
    border-radius: 4px;
    color: #123B5D;
    font-size: 18px;
    line-height: 1.7;
}

.nitm-single-event-description {
    color: #46545D;
    font-size: 17px;
    line-height: 1.8;
}

.nitm-single-event-description h2 {
    margin-top: 45px;
    margin-bottom: 18px;
    color: #123B5D;
    font-size: 28px;
}

.nitm-single-event-description h3 {
    margin-top: 35px;
    margin-bottom: 15px;
    color: #123B5D;
}

.nitm-single-event-description p {
    margin-bottom: 20px;
}

.nitm-single-event-description ul,
.nitm-single-event-description ol {
    margin-bottom: 25px;
}


/* =========================================
   Event Gallery
   ========================================= */

.nitm-single-event-description .wp-block-gallery {
    margin-top: 35px;
    margin-bottom: 40px;
}

.nitm-single-event-description .wp-block-gallery img {
    border-radius: 6px;
}


/* =========================================
   Mobile
   ========================================= */

@media (max-width: 767px) {

    .nitm-single-event {
        padding-top: 45px;
        padding-bottom: 60px;
    }

    .nitm-single-event-title {
        font-size: 32px;
    }

    .nitm-single-event-meta {
        flex-direction: column;
        gap: 8px;
    }

    .nitm-single-event-featured-image {
        margin-bottom: 35px;
        border-radius: 6px;
    }

    .nitm-single-event-content {
        width: 100%;
    }

    .nitm-single-event-intro {
        padding: 20px;
        font-size: 16px;
    }

    .nitm-single-event-description {
        font-size: 16px;
        line-height: 1.75;
    }

    .nitm-single-event-description h2 {
        font-size: 24px;
    }

}


/* =========================================
   FIX: Single Event Layout
   Force event content into a vertical layout
   ========================================= */

.single-event .site-main.nitm-single-event {
    display: block !important;
    width: 100% !important;
}

.single-event .nitm-single-event > .ast-container {
    display: block !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Event header */
.single-event .nitm-single-event-header {
    display: block !important;
    width: 100% !important;
    max-width: 900px !important;
    margin: 0 auto 45px !important;
    text-align: center !important;
}

/* Event title */
.single-event .nitm-single-event-title {
    display: block !important;
    width: 100% !important;
    margin: 0 0 20px !important;
}

/* Date and venue */
.single-event .nitm-single-event-meta {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
}

/* Featured image */
.single-event .nitm-single-event-featured-image {
    display: block !important;
    width: 100% !important;
    max-width: 1100px !important;
    margin: 0 auto 50px !important;
}

/* Featured image itself */
.single-event .nitm-single-event-featured-image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
}

/* Event content */
.single-event .nitm-single-event-content {
    display: block !important;
    width: 100% !important;
    max-width: 850px !important;
    margin: 0 auto !important;
}

/* Introduction */
.single-event .nitm-single-event-intro {
    display: block !important;
    width: 100% !important;
}

/* Description */
.single-event .nitm-single-event-description {
    display: block !important;
    width: 100% !important;
}

/* Gallery */
.single-event .nitm-single-event-description .wp-block-gallery {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 18px !important;
    width: 100% !important;
    margin: 35px 0 40px !important;
}

.single-event .nitm-single-event-description .wp-block-gallery .wp-block-image {
    width: 100% !important;
    margin: 0 !important;
}

.single-event .nitm-single-event-description .wp-block-gallery img {
    display: block !important;
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
}

.single-event .nitm-single-event-featured-image {
    max-width: 1100px !important;
    max-height: 600px !important;
    margin: 0 auto 50px !important;
    overflow: hidden !important;
    border-radius: 10px !important;
}

.single-event .nitm-single-event-featured-image img {
    display: block !important;
    width: 100% !important;
    max-height: 600px !important;
    object-fit: cover !important;
}


/* =========================================
   Event Gallery Lightbox
   ========================================= */

.nitm-lightbox {
    position: fixed;
    inset: 0;
    z-index: 999999;

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

    padding: 40px;

    background: rgba(0, 0, 0, 0.92);

    opacity: 0;
    visibility: hidden;

    transition:
        opacity 0.25s ease,
        visibility 0.25s ease;
}

.nitm-lightbox.is-open {
    opacity: 1;
    visibility: visible;
}


/* Prevent page scrolling */

body.nitm-lightbox-open {
    overflow: hidden;
}


/* =========================================
   Lightbox Image
   ========================================= */

.nitm-lightbox-content {
    position: relative;

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

    max-width: 90vw;
    max-height: 90vh;
}

.nitm-lightbox-content img {
    display: block;

    max-width: 90vw;
    max-height: 85vh;

    width: auto;
    height: auto;

    object-fit: contain;

    border-radius: 4px;
}


/* =========================================
   Close Button
   ========================================= */

.nitm-lightbox-close {
    position: absolute;

    top: 20px;
    right: 25px;

    z-index: 10;

    width: 45px;
    height: 45px;

    border: 0;
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.15);

    color: #FFFFFF;

    font-size: 32px;
    line-height: 40px;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.nitm-lightbox-close:hover {
    background: rgba(255, 255, 255, 0.28);
    transform: scale(1.05);
}


/* =========================================
   Previous / Next
   ========================================= */

.nitm-lightbox-prev,
.nitm-lightbox-next {
    position: absolute;

    top: 50%;

    z-index: 10;

    width: 50px;
    height: 50px;

    margin-top: -25px;

    border: 0;
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.15);

    color: #FFFFFF;

    font-size: 30px;
    line-height: 45px;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.nitm-lightbox-prev {
    left: 25px;
}

.nitm-lightbox-next {
    right: 25px;
}

.nitm-lightbox-prev:hover,
.nitm-lightbox-next:hover {
    background: rgba(255, 255, 255, 0.28);
}

.nitm-lightbox-prev:hover {
    transform: translateX(-3px);
}

.nitm-lightbox-next:hover {
    transform: translateX(3px);
}


/* =========================================
   Mobile
   ========================================= */

@media (max-width: 767px) {

    .nitm-lightbox {
        padding: 20px;
    }

    .nitm-lightbox-content {
        max-width: 94vw;
        max-height: 85vh;
    }

    .nitm-lightbox-content img {
        max-width: 94vw;
        max-height: 80vh;
    }

    .nitm-lightbox-close {
        top: 12px;
        right: 12px;

        width: 40px;
        height: 40px;

        font-size: 28px;
    }

    .nitm-lightbox-prev,
    .nitm-lightbox-next {
        width: 42px;
        height: 42px;

        font-size: 24px;
    }

    .nitm-lightbox-prev {
        left: 10px;
    }

    .nitm-lightbox-next {
        right: 10px;
    }

}


/* =========================================
   Lightbox Controls - Override Astra
   ========================================= */

/* Close button */

.nitm-lightbox .nitm-lightbox-close {
    position: absolute !important;

    top: 20px !important;
    right: 25px !important;

    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;

    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;

    padding: 0 !important;
    margin: 0 !important;

    border: none !important;
    border-radius: 50% !important;

    background: rgba(0, 0, 0, 0.55) !important;

    color: #FFFFFF !important;

    font-size: 30px !important;
    font-weight: 400 !important;
    line-height: 46px !important;
    text-align: center !important;

    box-shadow: none !important;

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

    cursor: pointer !important;

    transform: none !important;
}


/* Previous and Next */

.nitm-lightbox .nitm-lightbox-prev,
.nitm-lightbox .nitm-lightbox-next {
    position: absolute !important;

    top: 50% !important;

    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;

    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;

    padding: 0 !important;
    margin: -26px 0 0 0 !important;

    border: none !important;
    border-radius: 50% !important;

    background: rgba(0, 0, 0, 0.55) !important;

    color: #FFFFFF !important;

    font-size: 30px !important;
    font-weight: 400 !important;
    line-height: 52px !important;
    text-align: center !important;

    box-shadow: none !important;

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

    cursor: pointer !important;

    transform: none !important;
}


/* Position */

.nitm-lightbox .nitm-lightbox-prev {
    left: 25px !important;
}

.nitm-lightbox .nitm-lightbox-next {
    right: 25px !important;
}


/* Hover */

.nitm-lightbox .nitm-lightbox-close:hover,
.nitm-lightbox .nitm-lightbox-prev:hover,
.nitm-lightbox .nitm-lightbox-next:hover {
    background: rgba(0, 0, 0, 0.75) !important;
    color: #FFFFFF !important;
}


/* Keep the controls circular on hover */

.nitm-lightbox .nitm-lightbox-close:hover {
    transform: scale(1.05) !important;
}

.nitm-lightbox .nitm-lightbox-prev:hover {
    transform: translateX(-3px) !important;
}

.nitm-lightbox .nitm-lightbox-next:hover {
    transform: translateX(3px) !important;
}


/* =========================================
   Mobile
   ========================================= */

@media (max-width: 767px) {

    .nitm-lightbox .nitm-lightbox-close {
        top: 12px !important;
        right: 12px !important;

        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;

        height: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;

        line-height: 42px !important;
    }

    .nitm-lightbox .nitm-lightbox-prev,
    .nitm-lightbox .nitm-lightbox-next {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;

        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;

        margin-top: -22px !important;

        line-height: 44px !important;
    }

    .nitm-lightbox .nitm-lightbox-prev {
        left: 10px !important;
    }

    .nitm-lightbox .nitm-lightbox-next {
        right: 10px !important;
    }

}


/* =========================================
   Event Breadcrumbs
   ========================================= */

.nitm-event-breadcrumbs {
    max-width: 1100px;
    margin: 0 auto 30px;
    padding: 0;
    
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;

    color: #6B7780;
    font-size: 14px;
    line-height: 1.5;
}

.nitm-event-breadcrumbs a {
    color: #2E7D62;
    text-decoration: none;
    font-weight: 600;
}

.nitm-event-breadcrumbs a:hover {
    color: #123B5D;
    text-decoration: underline;
}

.nitm-breadcrumb-separator {
    color: #A7B1B7;
    padding: 0 2px;
}

.nitm-breadcrumb-current {
    color: #6B7780;
}


/* Mobile */

@media (max-width: 767px) {

    .nitm-event-breadcrumbs {
        margin-bottom: 25px;
        font-size: 13px;
    }

}


/* =========================================
   Event Year Archive Layout Fix
   ========================================= */

/* Prevent Astra from squeezing the archive
   header and event grid into columns */

.nitm-events-archive .ast-container {
    display: block !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


/* Archive header */

.nitm-events-archive .nitm-events-header {
    display: block !important;
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 auto 55px !important;
    text-align: center !important;
}


/* Event grid */

.nitm-events-archive .nitm-events-grid {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 30px !important;
}


/* Event cards */

.nitm-events-archive .nitm-event-card {
    width: 100% !important;
    min-width: 0 !important;
}


/* Tablet */

@media (max-width: 1024px) {

    .nitm-events-archive .nitm-events-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

}


/* Mobile */

@media (max-width: 767px) {

    .nitm-events-archive .nitm-events-grid {
        grid-template-columns: 1fr !important;
    }

}


/* =========================================
   Event Card - Consistent Layout
   ========================================= */

.nitm-events-archive .nitm-events-grid {
    align-items: stretch !important;
}

.nitm-events-archive .nitm-event-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}


/* =========================================
   Event Image
   ========================================= */

.nitm-events-archive .nitm-event-image {
    display: block !important;
    width: 100% !important;
    height: 220px !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
}

.nitm-events-archive .nitm-event-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}


/* =========================================
   Card Content
   ========================================= */

.nitm-events-archive .nitm-event-card-content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
}


/* =========================================
   Event Title
   ========================================= */

.nitm-events-archive .nitm-event-title {
    min-height: 58px;
    margin-bottom: 10px !important;
}


/* =========================================
   Date
   ========================================= */

.nitm-events-archive .nitm-event-date {
    min-height: 22px;
    margin-bottom: 5px !important;
}


/* =========================================
   Venue
   ========================================= */

.nitm-events-archive .nitm-event-venue {
    min-height: 22px;
    margin-bottom: 10px !important;
}


/* =========================================
   Description
   ========================================= */

.nitm-events-archive .nitm-event-description {
    min-height: 50px;
    margin-bottom: 20px !important;
}


/* =========================================
   View Event Button
   ========================================= */

.nitm-events-archive .nitm-event-button {
    margin-top: auto !important;
    align-self: flex-start !important;
}


/* =========================================
   Mobile
   ========================================= */

@media (max-width: 767px) {

    .nitm-events-archive .nitm-event-image {
        height: 220px !important;
    }

    .nitm-events-archive .nitm-event-title {
        min-height: auto;
    }

    .nitm-events-archive .nitm-event-description {
        min-height: auto;
    }

}

/* =========================================
   EVENTS LANDING PAGE
   ========================================= */

/*
 * Main Events container
 *
 * Astra can make .ast-container a flex
 * container. We want the Events page to
 * flow vertically.
 */

.nitm-events-page > .ast-container {
    display: block !important;

    width: 100% !important;
    max-width: 1200px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* =========================================
   Events Header
   ========================================= */

.nitm-events-page .nitm-events-header {
    display: block !important;

    width: 100% !important;
    max-width: 760px !important;

    margin: 0 auto 55px !important;

    text-align: center !important;
}


/* Small heading */

.nitm-events-page .nitm-events-label {
    display: block !important;

    margin-bottom: 14px !important;

    color: #2E7D62 !important;

    font-size: 13px !important;
    font-weight: 700 !important;

    letter-spacing: 1.4px !important;

    line-height: 1.5 !important;
}


/* Main Events heading */

.nitm-events-page .nitm-events-header h1 {
    display: block !important;

    margin: 0 0 14px !important;

    color: #123B5D !important;

    font-size: 48px !important;
    font-weight: 700 !important;

    line-height: 1.15 !important;
}


/* Description */

.nitm-events-page .nitm-events-header p {
    display: block !important;

    margin: 0 !important;

    color: #5E7180 !important;

    font-size: 16px !important;

    line-height: 1.7 !important;
}


/* =========================================
   Event Years Grid
   ========================================= */

.nitm-events-page .nitm-event-years {
    display: grid !important;

    width: 100% !important;
    max-width: 850px !important;

    margin: 0 auto !important;

    padding: 0 !important;

    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;

    gap: 30px !important;

    align-items: stretch !important;
}


/* =========================================
   Year Card
   ========================================= */

.nitm-events-page .nitm-event-year-card {
    display: block !important;

    width: 100% !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #FFFFFF !important;

    border: 1px solid #DCE5E8 !important;

    border-top: 4px solid #2E8066 !important;

    border-radius: 10px !important;

    box-shadow:
        0 8px 24px rgba(18, 59, 93, 0.08) !important;

    overflow: hidden !important;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease !important;
}


/* Card hover */

.nitm-events-page .nitm-event-year-card:hover {
    transform: translateY(-4px) !important;

    box-shadow:
        0 12px 30px rgba(18, 59, 93, 0.13) !important;
}


/* =========================================
   Year Card Link
   ========================================= */

.nitm-events-page .nitm-event-year-link {
    display: flex !important;

    flex-direction: column !important;

    align-items: center !important;

    justify-content: center !important;

    width: 100% !important;

    min-height: 250px !important;

    padding: 35px 30px !important;

    box-sizing: border-box !important;

    color: inherit !important;

    text-decoration: none !important;
}


/* =========================================
   Year Number
   ========================================= */

.nitm-events-page .nitm-event-year-number {
    display: block !important;

    margin: 0 0 12px !important;

    color: #123B5D !important;

    font-size: 52px !important;

    font-weight: 500 !important;

    line-height: 1.1 !important;
}


/* =========================================
   Event Count
   ========================================= */

.nitm-events-page .nitm-event-year-count {
    display: block !important;

    margin: 0 0 28px !important;

    color: #647987 !important;

    font-size: 15px !important;

    line-height: 1.5 !important;
}


/* =========================================
   Explore Events
   ========================================= */

.nitm-events-page .nitm-event-year-explore {
    display: block !important;

    margin: 0 !important;

    color: #2E8066 !important;

    font-size: 15px !important;
    font-weight: 700 !important;

    line-height: 1.5 !important;
}


/* Arrow */

.nitm-events-page .nitm-event-year-explore span {
    display: inline-block !important;

    margin-left: 4px !important;

    transition: transform 0.2s ease !important;
}


/* Arrow movement on hover */

.nitm-events-page
.nitm-event-year-card:hover
.nitm-event-year-explore span {
    transform: translateX(4px) !important;
}


/* =========================================
   No Events
   ========================================= */

.nitm-events-page .nitm-no-events {
    width: 100% !important;

    max-width: 700px !important;

    margin: 0 auto !important;

    padding: 50px 30px !important;

    text-align: center !important;

    border: 1px solid #DCE5E8 !important;

    border-radius: 10px !important;
}


/* =========================================
   Mobile
   ========================================= */

@media (max-width: 767px) {

    .nitm-events-page {
        padding-top: 50px !important;
        padding-bottom: 60px !important;
    }


    .nitm-events-page .nitm-events-header {
        margin-bottom: 40px !important;

        padding-left: 15px !important;
        padding-right: 15px !important;
    }


    .nitm-events-page .nitm-events-header h1 {
        font-size: 38px !important;
    }


    .nitm-events-page .nitm-events-header p {
        font-size: 15px !important;
    }


    .nitm-events-page .nitm-event-years {
        grid-template-columns: 1fr !important;

        gap: 20px !important;

        padding-left: 15px !important;
        padding-right: 15px !important;
    }


    .nitm-events-page .nitm-event-year-link {
        min-height: 220px !important;
    }


    .nitm-events-page .nitm-event-year-number {
        font-size: 46px !important;
    }

}


/* =========================================
   Events Page - Center Alignment
   ========================================= */

/* Center the complete Events section */
.nitm-events-page {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box !important;
}


/* Center the inner Events container */
.nitm-events-page > .ast-container {
    display: block !important;

    width: calc(100% - 40px) !important;
    max-width: 1100px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box !important;
}


/* Center the Events heading */
.nitm-events-page .nitm-events-header {
    width: 100% !important;
    max-width: 760px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    text-align: center !important;
}


/* Center the year cards */
.nitm-events-page .nitm-event-years {
    width: 100% !important;
    max-width: 850px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* =========================================
   Desktop spacing
   ========================================= */

@media (min-width: 1025px) {

    .nitm-events-page {
        padding-top: 70px !important;
        padding-bottom: 80px !important;
    }

}


/* =========================================
   Mobile
   ========================================= */

@media (max-width: 767px) {

    .nitm-events-page > .ast-container {
        width: calc(100% - 30px) !important;
    }

}


/* ==========================================
   Student Health & Wellbeing Menu Icons
   ========================================== */

.main-header-menu > .menu-item > a::before {
    display: inline-block;
    margin-right: 8px;
    width: 18px;
    height: 18px;
    vertical-align: -3px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* ==========================================
   1. Home - House
   ========================================== */

.main-header-menu > .menu-item:nth-child(1) > a::before {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123B5D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5 9.5V21h14V9.5'/%3E%3Cpath d='M9 21v-6h6v6'/%3E%3C/svg%3E");
}


/* ==========================================
   2. MoU - Document
   ========================================== */

.main-header-menu > .menu-item:nth-child(2) > a::before {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123B5D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h9l4 4v14H6z'/%3E%3Cpath d='M15 3v5h4'/%3E%3Cpath d='M9 13h6'/%3E%3Cpath d='M9 17h6'/%3E%3C/svg%3E");
}


/* ==========================================
   3. Resources - Book
   ========================================== */

.main-header-menu > .menu-item:nth-child(3) > a::before {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123B5D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2Z'/%3E%3C/svg%3E");
}


/* ==========================================
   4. Self Assessment - Clipboard
   ========================================== */

.main-header-menu > .menu-item:nth-child(4) > a::before {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123B5D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Cpath d='m8 16 1.5-3.5L15 7l2 2-5.5 5.5L8 16Z'/%3E%3Cpath d='m13.5 8.5 2 2'/%3E%3C/svg%3E");
}


/* ==========================================
   5. Counselling - Two People
   ========================================== */

.main-header-menu > .menu-item:nth-child(5) > a::before {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123B5D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3 21v-2a6 6 0 0 1 12 0v2'/%3E%3Ccircle cx='17' cy='7' r='2.5'/%3E%3Cpath d='M16 13a5 5 0 0 1 5 5v1'/%3E%3C/svg%3E");
}


/* ==========================================
   6. Events - Calendar
   ========================================== */

.main-header-menu > .menu-item:nth-child(6) > a::before {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123B5D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='17' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
}


/* ==========================================
   7. Contact - Envelope
   ========================================== */

.main-header-menu > .menu-item:nth-child(7) > a::before {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123B5D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
}

/* ==========================================================
   EVENTS PAGE — FINAL STRUCTURE FIX
   Page ID: 2863

   The Events page has the hero and Events content as two
   direct children of Astra's #content > .ast-container.

   Astra makes that outer container a flex row by default,
   which was causing the hero to occupy the left half and
   the Events content to occupy the right half.

   Fix only the OUTER page structure. Do not override
   Spectra's internal hero layout.
   ========================================================== */

@media (min-width: 922px) {

    /* 1. Main page container must flow vertically */
    body.page-id-2863 #content > .ast-container {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* 2. Header overlays the hero */
    body.page-id-2863 #masthead,
    body.page-id-2863 .site-header {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        z-index: 9999 !important;
        background: transparent !important;
        box-shadow: none !important;
        transform: none !important;
    }

    body.page-id-2863 #masthead .ast-primary-header-bar,
    body.page-id-2863 #masthead .main-header-bar {
        background: transparent !important;
        box-shadow: none !important;
    }

    /* 3. Navigation white panel */
    body.page-id-2863 #masthead .ast-builder-menu-1 {
        background: transparent !important;
    }

    body.page-id-2863 #masthead .ast-builder-menu-1 > .main-header-menu {
        background: #ffffff !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    /* 4. Hero is full browser width */
    body.page-id-2863
    #content > .ast-container
    > .wp-block-spectra-container.alignfull {
        display: flex !important;
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        box-sizing: border-box !important;
        flex: none !important;
        flex-shrink: 0 !important;
    }

    /* 5. Events content must be BELOW the hero */
    body.page-id-2863
    #content > .ast-container
    > .nitm-events-page {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
        float: none !important;
        clear: both !important;
    }

    /* Inner Events content stays centered */
    body.page-id-2863
    .nitm-events-page > .ast-container {
        display: block !important;
        width: calc(100% - 40px) !important;
        max-width: 1100px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    body.page-id-2863 #content,
    body.page-id-2863 .site-content {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
}

/* Mobile / tablet */
@media (max-width: 921px) {

    body.page-id-2863 #content > .ast-container {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.page-id-2863
    #content > .ast-container
    > .wp-block-spectra-container.alignfull {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.page-id-2863
    #content > .ast-container
    > .nitm-events-page {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* ==========================================================
   EVENTS PAGE — WHITE MENU BACKGROUND ONLY
   ========================================================== */

@media (min-width: 922px) {

    body.page-id-2863 #masthead .main-header-menu {
        background: #ffffff !important;
    }

}








/* ==========================================================
   NITM EVENT HERO
   Applies to:
   - Events landing page
   - Event Year archives
   - Individual Events
   ========================================================== */


/* ----------------------------------------------------------
   DESKTOP
   ---------------------------------------------------------- */

@media (min-width: 922px) {


    /* ======================================================
       EVENT YEAR + SINGLE EVENT PAGE STRUCTURE
       ====================================================== */

    body.tax-event_year #content > .ast-container,
    body.single-event #content > .ast-container {

        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;

        padding-left: 0 !important;
        padding-right: 0 !important;

        box-sizing: border-box !important;
    }


    /* ======================================================
       HEADER OVER HERO
       ====================================================== */

    body.tax-event_year #masthead,
    body.tax-event_year .site-header,
    body.single-event #masthead,
    body.single-event .site-header {

        position: absolute !important;

        top: 0 !important;
        left: 0 !important;

        width: 100% !important;

        z-index: 9999 !important;

        background: transparent !important;

        box-shadow: none !important;

        transform: none !important;
    }


    body.tax-event_year #masthead .ast-primary-header-bar,
    body.tax-event_year #masthead .main-header-bar,
    body.single-event #masthead .ast-primary-header-bar,
    body.single-event #masthead .main-header-bar {

        background: transparent !important;

        box-shadow: none !important;
    }


    /* ======================================================
       WHITE NAVIGATION BOX
       ====================================================== */

    body.tax-event_year #masthead .ast-builder-menu-1,
    body.single-event #masthead .ast-builder-menu-1 {

        background: transparent !important;
    }


    body.tax-event_year
    #masthead .ast-builder-menu-1 > .main-header-menu,

    body.single-event
    #masthead .ast-builder-menu-1 > .main-header-menu {

        background: #ffffff !important;

        border-radius: 0 !important;

        box-shadow: none !important;
    }


    /* ======================================================
       EVENT HERO
       ====================================================== */

    body.tax-event_year .nitm-event-hero,
    body.single-event .nitm-event-hero {

        position: relative !important;

        width: 100vw !important;
        max-width: 100vw !important;

        min-width: 100vw !important;

        height: 420px !important;
        min-height: 420px !important;

        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;

        padding: 0 !important;

        box-sizing: border-box !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        overflow: hidden !important;

        background-image:
            linear-gradient(
                rgba(0, 0, 0, 0.30),
                rgba(0, 0, 0, 0.30)
            ),
            url('/wp-content/uploads/2026/08/ChatGPT-Image-Aug-16-2026-05_50_31-PM.png');

        background-size: cover !important;

        background-position: center center !important;

        background-repeat: no-repeat !important;
    }


    /* ======================================================
       HERO TITLE
       ====================================================== */

    body.tax-event_year .nitm-event-hero-title,
    body.single-event .nitm-event-hero-title {

        margin: 0 !important;

        padding: 0 !important;

        color: #ffffff !important;

        font-family: 'Lexend', sans-serif !important;

        font-size: 76px !important;

        font-weight: 600 !important;

        line-height: 1.1 !important;

        letter-spacing: -3px !important;

        text-align: center !important;

        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.35);
    }


    /* ======================================================
       CONTENT BELOW HERO
       ====================================================== */

    body.tax-event_year #primary,
    body.single-event #primary {

        width: 100% !important;

        max-width: 100% !important;

        margin: 0 !important;

        padding: 0 !important;

        float: none !important;

        clear: both !important;
    }


    body.tax-event_year #primary > .ast-container,
    body.single-event #primary > .ast-container {

        display: block !important;

        width: calc(100% - 40px) !important;

        max-width: 1100px !important;

        margin-left: auto !important;
        margin-right: auto !important;

        padding-left: 0 !important;
        padding-right: 0 !important;

        box-sizing: border-box !important;
    }


    body.tax-event_year #content,
    body.tax-event_year .site-content,
    body.single-event #content,
    body.single-event .site-content {

        margin-top: 0 !important;

        padding-top: 0 !important;
    }

}


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

@media (max-width: 921px) {


    body.tax-event_year #content > .ast-container,
    body.single-event #content > .ast-container {

        display: block !important;

        width: 100% !important;

        max-width: 100% !important;

        margin: 0 !important;

        padding: 0 !important;
    }


    body.tax-event_year .nitm-event-hero,
    body.single-event .nitm-event-hero {

        width: 100% !important;

        max-width: 100% !important;

        min-width: 0 !important;

        height: 320px !important;

        min-height: 320px !important;

        margin: 0 !important;

        display: flex !important;

        align-items: center !important;

        justify-content: center !important;

        background-size: cover !important;

        background-position: center center !important;
    }


    body.tax-event_year .nitm-event-hero-title,
    body.single-event .nitm-event-hero-title {

        font-size: 54px !important;

        letter-spacing: -2px !important;

        text-align: center !important;
    }


    body.tax-event_year #primary > .ast-container,
    body.single-event #primary > .ast-container {

        width: calc(100% - 30px) !important;

        max-width: none !important;

        margin-left: auto !important;

        margin-right: auto !important;
    }

}

/* ==========================================================
   WHITE MENU BACKGROUND
   Event Year + Single Event pages
   ========================================================== */

@media (min-width: 922px) {

    body.tax-event_year #masthead .main-header-menu,
    body.tax-event_year #masthead .ast-builder-menu-1 .main-header-menu,
    body.single-event #masthead .main-header-menu,
    body.single-event #masthead .ast-builder-menu-1 .main-header-menu {
        background: #ffffff !important;
    }

}

/* ==========================================================
   SPACE BETWEEN EVENT HERO AND CONTENT
   Event Year + Single Event
   ========================================================== */

@media (min-width: 922px) {

    /* Event Year pages: /events/2025/ /events/2024/ */
    body.tax-event_year #primary {
        padding-top: 70px !important;
    }

    /* Individual Event pages */
    body.single-event #primary {
        padding-top: 70px !important;
    }

}

/* ==========================================================
   EVENTS PAGE — MOBILE HEADER OVER HERO
   Makes the logo + hamburger sit ON TOP of the hero,
   matching the MoU page.

   Desktop is NOT affected.
   ========================================================== */

@media (max-width: 921px) {

    /* Put the Events header over the hero */
    body.page-id-2863 #masthead {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 9999 !important;

        background: transparent !important;
        box-shadow: none !important;
    }

    /* Remove the white background from Astra's mobile header */
    body.page-id-2863 #masthead .ast-mobile-header-wrap,
    body.page-id-2863 #masthead .ast-main-header-wrap,
    body.page-id-2863 #masthead .ast-primary-header-bar,
    body.page-id-2863 #masthead .site-primary-header-wrap {
        background: transparent !important;
        box-shadow: none !important;
    }

}

/* ==========================================================
   MOBILE HERO IMAGE
   Event Year + Single Event
   ========================================================== */

@media (max-width: 921px) {

    body.tax-event_year .nitm-event-hero,
    body.single-event .nitm-event-hero {

        background-image:
            linear-gradient(
                rgba(0, 0, 0, 0.30),
                rgba(0, 0, 0, 0.30)
            ),
            url('https://shwb.nitm.ac.in/wp-content/uploads/2026/08/ChatGPT-Image-Aug-16-2026-05_50_31-PM.png') !important;

        background-size: cover !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
    }

}

/* ==========================================================
   MOBILE EVENT HERO — HEADER OVER HERO
   Event Year + Single Event
   ========================================================== */

@media (max-width: 921px) {

    /* ------------------------------------------------------
       Header overlays the hero
       ------------------------------------------------------ */

    body.tax-event_year #masthead,
    body.tax-event_year .site-header,
    body.single-event #masthead,
    body.single-event .site-header {

        position: absolute !important;

        top: var(
            --wp-admin--admin-bar--height,
            0px
        ) !important;

        left: 0 !important;

        width: 100% !important;

        z-index: 9999 !important;

        background: transparent !important;

        box-shadow: none !important;
    }


    /* ------------------------------------------------------
       Make Astra header rows transparent
       ------------------------------------------------------ */

    body.tax-event_year #masthead .ast-primary-header-bar,
    body.tax-event_year #masthead .site-primary-header-wrap,
    body.tax-event_year #masthead .ast-builder-grid-row,
    body.tax-event_year #masthead .ast-builder-grid-row-container,
    body.tax-event_year #masthead .ast-main-header-bar-alignment,

    body.single-event #masthead .ast-primary-header-bar,
    body.single-event #masthead .site-primary-header-wrap,
    body.single-event #masthead .ast-builder-grid-row,
    body.single-event #masthead .ast-builder-grid-row-container,
    body.single-event #masthead .ast-main-header-bar-alignment {

        background: transparent !important;

        background-color: transparent !important;

        box-shadow: none !important;
    }


    /* ------------------------------------------------------
       Hero starts at the very top of the page
       ------------------------------------------------------ */

    body.tax-event_year .nitm-event-hero,
    body.single-event .nitm-event-hero {

        margin-top: 0 !important;

        position: relative !important;

        z-index: 1 !important;
    }


    /* ------------------------------------------------------
       Hero image
       ------------------------------------------------------ */

    body.tax-event_year .nitm-event-hero,
    body.single-event .nitm-event-hero {

        background-image:
            linear-gradient(
                rgba(0, 0, 0, 0.30),
                rgba(0, 0, 0, 0.30)
            ),
            url('https://shwb.nitm.ac.in/wp-content/uploads/2026/08/ChatGPT-Image-Aug-16-2026-05_50_31-PM.png') !important;

        background-size: cover !important;

        background-position: center center !important;

        background-repeat: no-repeat !important;
    }


    /* ------------------------------------------------------
       Keep hero above page content
       ------------------------------------------------------ */

    body.tax-event_year .nitm-event-hero,
    body.single-event .nitm-event-hero {

        width: 100vw !important;

        max-width: 100vw !important;

        min-width: 100vw !important;

        height: 450px !important;

        min-height: 450px !important;

        margin-left: 0 !important;

        margin-right: 0 !important;
    }

}

/* ==========================================================
   MOBILE EVENT HERO — FINAL POSITIONING
   Taxonomy + Single Event
   Desktop remains untouched
   ========================================================== */

@media (max-width: 921px) {

    /* ------------------------------------------------------
       HEADER — overlay hero and move logo/menu upward
       ------------------------------------------------------ */

    body.tax-event_year #masthead,
    body.single-event #masthead {
        position: absolute !important;
        top: 15px !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 9999 !important;

        background: transparent !important;
        box-shadow: none !important;
    }


    /* Remove Astra mobile header background */
    body.tax-event_year #masthead .ast-mobile-header-wrap,
    body.single-event #masthead .ast-mobile-header-wrap,
    body.tax-event_year #masthead .ast-main-header-wrap,
    body.single-event #masthead .ast-main-header-wrap,
    body.tax-event_year #masthead .ast-primary-header-bar,
    body.single-event #masthead .ast-primary-header-bar,
    body.tax-event_year #masthead .site-primary-header-wrap,
    body.single-event #masthead .site-primary-header-wrap {
        background: transparent !important;
        background-color: transparent !important;
        box-shadow: none !important;
    }


    /* Move logo + hamburger upward.
       Does NOT move the hero. */
    body.tax-event_year #masthead .ast-builder-grid-row,
    body.single-event #masthead .ast-builder-grid-row {
        transform: translateY(-15px) !important;
    }


    /* ------------------------------------------------------
       HERO
       ------------------------------------------------------ */

    body.tax-event_year .nitm-event-hero,
    body.single-event .nitm-event-hero {
        position: relative !important;

        width: 100% !important;
        max-width: 100% !important;

        height: 320px !important;
        min-height: 320px !important;
        max-height: 320px !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: hidden !important;
        z-index: 1 !important;

        background-size: cover !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
    }


    /* ------------------------------------------------------
       HERO TITLE
       ------------------------------------------------------ */

    body.tax-event_year .nitm-event-hero-title,
    body.single-event .nitm-event-hero-title {
        position: absolute !important;

        top: 50% !important;
        left: 50% !important;

        transform: translate(-50%, -50%) !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        text-align: center !important;

        color: #ffffff !important;

        font-size: 54px !important;
        letter-spacing: -3px !important;
        font-weight: 600;
        font-family: 'Lexend',sans-serif;
        line-height: 1.4em;
        text-transform: none;

        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.35) !important;

        z-index: 2 !important;
    }


    /* ------------------------------------------------------
       REMOVE EXTRA SPACE BEFORE CONTENT
       ------------------------------------------------------ */

    body.tax-event_year #content,
    body.single-event #content,
    body.tax-event_year .site-content,
    body.single-event .site-content {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }


    body.tax-event_year .nitm-events-archive,
    body.single-event .nitm-single-event {
        margin-top: 0 !important;
    }

}
