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

.events-page{
    width:100%;
    margin:48px auto;
    padding:0 20px;
}

/* =========================================================
   TOOLBAR
========================================================= */

.events-toolbar{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    margin-bottom:34px;
}

.events-view-toggle{
    display:flex;
    gap:10px;
}

.events-view-btn{
    height:48px;
    padding:0 20px;
    border:none;
    border-radius:16px;
    background:rgba(255,255,255,.07);
    color:#fff;
    font-weight:800;
    font-size:.95rem;
    cursor:pointer;
    transition:
        background .2s ease,
        transform .2s ease,
        color .2s ease;
}

.events-view-btn:hover{
    background:rgba(255,255,255,.12);
    transform:translateY(-1px);
}

.events-view-btn.is-active{
    background:#ffcc00;
    color:#111;
}

/* =========================================================
   GRID
========================================================= */

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

/* =========================================================
   EVENT CARD
========================================================= */

/*
 * Theme already styles:
 * .card
 * .card-image
 * .card-content
 * .card-title
 * .card-meta
 * .card-excerpt
 *
 * Only event-specific styles here.
 */

.event-card{
    position:relative;
}

/* =========================================================
   DATE PILL
========================================================= */

.event-card .card-category-pill{
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
    box-shadow:0 8px 24px rgba(0,0,0,.22);
}

/* =========================================================
   ENTRY FEE
========================================================= */

.event-fee{
    display:inline-flex;
    align-items:center;
    gap:6px;
    width:max-content;
    margin-top:2px;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(255,204,0,.12);
    color:#ffcc00;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

/* =========================================================
   GOING
========================================================= */

.event-going-wrap{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-top:18px;
}

.event-going-btn{
    height:42px;
    padding:0 14px;
    border:none;
    border-radius:14px;
    background:rgba(255,255,255,.06);
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    width:max-content;
    cursor:pointer;
    transition:
        background .2s ease,
        transform .2s ease;
}

.event-going-btn:hover{
    background:rgba(255,255,255,.14);
    transform:translateY(-1px);
}

.event-going-btn i{
    font-size:13px;
}

.event-going-count{
    font-weight:800;
}

.event-going-users{
    font-size:.84rem;
    line-height:1.5;
    color:rgba(255,255,255,.68);
}

/* =========================================================
   MONTH VIEW
========================================================= */

.events-month{
    display:none;
    flex-direction:column;
    gap:16px;
}

.month-row{
    display:flex;
    align-items:center;
    gap:20px;
    padding:20px 22px;
    border-radius:22px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.05);
    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.month-row:hover{
    transform:translateY(-2px);
    background:rgba(255,255,255,.06);
    border-color:rgba(255,204,0,.18);
}

.month-day{
    min-width:92px;
    font-size:1rem;
    font-weight:900;
    color:#ffcc00;
}

.month-main{
    flex:1;
    min-width:0;
}

.month-title{
    color:#fff;
    text-decoration:none;
    font-weight:800;
    font-size:1.05rem;
}

.month-title:hover{
    color:#ffcc00;
}

.month-meta{
    opacity:.72;
    margin-top:6px;
    line-height:1.5;
}

/* =========================================================
   SUBMIT FORM
========================================================= */

.events-submit-wrap{
    width:100%;
    max-width:860px;
    margin:48px auto;
    padding:36px;
    border-radius:28px;
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.04),
            rgba(255,255,255,.02)
        );
    border:1px solid rgba(255,255,255,.06);
}

.events-submit-form{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.events-submit-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:14px;
}

.events-submit-form input,
.events-submit-form textarea{
    width:100%;
    padding:16px 18px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(0,0,0,.22);
    color:#fff;
    font:inherit;
    transition:
        border-color .2s ease,
        background .2s ease;
}

.events-submit-form input:focus,
.events-submit-form textarea:focus{
    outline:none;
    border-color:rgba(255,204,0,.45);
    background:rgba(0,0,0,.34);
}

.events-submit-form textarea{
    min-height:180px;
    resize:vertical;
}

.events-submit-form button{
    height:54px;
    border:none;
    border-radius:18px;
    background:#ffcc00;
    color:#111;
    font-weight:900;
    font-size:.95rem;
    cursor:pointer;
    transition:
        transform .2s ease,
        filter .2s ease;
}

.events-submit-form button:hover{
    transform:translateY(-2px);
    filter:brightness(1.03);
}

/* =========================================================
   PAGINATION
========================================================= */

.events-pagination{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px;
    margin-top:48px;
}

.events-pagination .page-numbers{
    min-width:46px;
    height:46px;
    padding:0 14px;
    border-radius:14px;
    background:rgba(255,255,255,.06);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    font-weight:700;
    transition:
        background .2s ease,
        transform .2s ease;
}

.events-pagination .page-numbers:hover{
    background:rgba(255,255,255,.12);
    transform:translateY(-1px);
}

.events-pagination .current{
    background:#ffcc00;
    color:#111;
}

/* =========================================================
   STATES
========================================================= */

.events-empty,
.events-success{
    padding:26px;
    border-radius:22px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.06);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1100px){

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

}

@media(max-width:900px){

    .events-submit-grid{
        grid-template-columns:1fr 1fr;
    }

}

@media(max-width:768px){

    .events-page{
        margin:34px auto;
        padding:0 16px;
    }

    .events-toolbar{
        justify-content:flex-start;
    }

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

    .month-row{
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
    }

    .month-day{
        min-width:auto;
    }

    .events-submit-wrap{
        padding:24px;
        border-radius:24px;
    }

    .events-submit-grid{
        grid-template-columns:1fr;
    }

}

@media(max-width:560px){

    .events-view-btn{
        flex:1;
    }

    .events-view-toggle{
        width:100%;
    }

}