/* ============================================================
 * BLOODMOON GRID - Events module
 * Version : 2026-09-08 20:15
 * ============================================================ */

.events-page {
    min-height:70vh;
    background:linear-gradient(180deg,#f7f8fa 0%,#fff 34%,#f8f8f6 100%)
}

.events-container {
    width:min(1240px,calc(100% - 40px));
    margin:0 auto
}

.events-hero {
    padding:28px 0 48px;
    border-bottom:1px solid #eadedb;
    background:radial-gradient(circle at 82% 18%,rgba(158,29,55,.085),transparent 34%),linear-gradient(135deg,#fff 0%,#fff1ee 58%,#f8f8f7 100%)
}

.events-hero.is-compact {
    padding-bottom:38px
}

.events-topbar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:38px;
    margin-bottom:14px
}

.events-language-switch {
    display:inline-flex;
    gap:4px;
    margin-left:auto;
    padding:4px;
    border:1px solid #ead7d3;
    border-radius:999px;
    background:rgba(255,255,255,.75)
}

.events-language-switch a {
    min-width:42px;
    padding:7px 11px;
    border-radius:999px;
    text-align:center;
    text-decoration:none;
    font-size:.74rem;
    font-weight:900;
    color:#737986
}

.events-language-switch a.is-active {
    background:#9e1d37;
    color:#fff
}

.events-kicker,.events-section-kicker {
    display:inline-block;
    margin-bottom:8px;
    font-size:.74rem;
    font-weight:800;
    letter-spacing:.11em;
    text-transform:uppercase;
    color:#9e1d37
}

.events-hero h1 {
    margin:0;
    font-size:clamp(2.3rem,5vw,4rem);
    line-height:1.02;
    color:#202632
}

.events-hero p {
    max-width:820px;
    margin:15px 0 0;
    font-size:1rem;
    line-height:1.65;
    color:#6d7583
}

.events-actions {
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:22px
}

.events-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:9px 15px;
    border:0;
    border-radius:10px;
    background:#9e1d37;
    text-decoration:none;
    font:inherit;
    font-size:.79rem;
    font-weight:800;
    color:#fff;
    cursor:pointer
}

.events-button:hover {
    background:#86182e;
    color:#fff
}

.events-button.is-secondary {
    border:1px solid #e1d7d5;
    background:#fff;
    color:#59606d
}

.events-button.is-secondary:hover {
    border-color:#d4aeb6;
    color:#9e1d37
}

.events-button.is-danger {
    background:#a82e42
}

.events-section {
    padding:34px 0 62px
}

.events-alert {
    margin-bottom:18px;
    padding:13px 15px;
    border-radius:12px;
    font-size:.84rem;
    line-height:1.55
}

.events-alert.is-error {
    border:1px solid #ebcfd4;
    background:#fff4f6;
    color:#8f273b
}

.events-alert ul {
    margin:0;
    padding-left:20px
}

.events-section-heading {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:17px
}

.events-section-heading h2 {
    margin:0;
    font-size:1.35rem;
    color:#292f3b
}

.events-section-heading p {
    max-width:570px;
    margin:0;
    text-align:right;
    font-size:.78rem;
    line-height:1.55;
    color:#818895
}

.events-calendar-card,.events-form-card,.event-view-card {
    border:1px solid #e5e2df;
    border-radius:20px;
    background:#fff;
    box-shadow:0 12px 32px rgba(29,35,47,.045)
}

.events-calendar-card {
    padding:22px
}

.events-calendar-card .fc {
    font-size:.82rem
}

.events-calendar-card .fc .fc-toolbar-title {
    font-size:1.25rem;
    color:#2c3340
}

.events-calendar-card .fc .fc-button-primary {
    border-color:#e2d8d6;
    background:#fbfaf8;
    color:#4d5562
}

.events-calendar-card .fc .fc-button-primary:hover,.events-calendar-card .fc .fc-button-primary:not(:disabled).fc-button-active {
    border-color:#d6aeb7;
    background:#fff1ee;
    color:#9e1d37
}

.events-calendar-card .fc .fc-daygrid-day.fc-day-today {
    background:#fff7f4
}

.events-calendar-card .fc .fc-event {
    border-color:#8d1930;
    background:#9e1d37
}

.events-upcoming-heading {
    margin-top:38px
}

.events-card-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:17px
}

.event-card {
    overflow:hidden;
    border:1px solid #e6e3e0;
    border-radius:18px;
    background:#fbfaf8;
    box-shadow:0 10px 28px rgba(29,35,47,.045)
}

.event-card-media {
    display:block;
    aspect-ratio:4/3;
    background:#f4efed;
    overflow:hidden
}

.event-card-media img {
    width:100%;
    height:100%;
    object-fit:cover
}

.event-card-placeholder {
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    font-size:2rem;
    font-weight:900;
    color:#9e1d37;
    background:#fff1ee
}

.event-card-body {
    padding:16px
}

.event-card-date {
    margin-bottom:7px;
    font-size:.71rem;
    font-weight:800;
    color:#9e1d37
}

.event-card h3 {
    margin:0;
    font-size:1rem;
    line-height:1.35
}

.event-card h3 a {
    text-decoration:none;
    color:#2a303c
}

.event-card-meta {
    display:grid;
    gap:4px;
    margin-top:10px;
    font-size:.72rem;
    line-height:1.45;
    color:#7c838f
}

.event-badge,.event-status {
    display:inline-flex;
    margin-top:11px;
    padding:5px 8px;
    border-radius:999px;
    background:#fff1ee;
    font-size:.63rem;
    font-weight:900;
    text-transform:uppercase;
    color:#9e1d37
}

.event-card-link {
    display:block;
    margin-top:13px;
    text-decoration:none;
    font-size:.75rem;
    font-weight:800;
    color:#9e1d37
}

.events-empty {
    padding:28px;
    border:1px dashed #dedfe3;
    border-radius:16px;
    background:#fbfaf8;
    text-align:center;
    color:#7e8591
}

.events-form-layout {
    display:grid;
    grid-template-columns:minmax(0,1fr) 280px;
    align-items:start;
    gap:20px
}

.events-form-card {
    padding:26px;
    background:#fbfaf8
}

.events-side-note {
    padding:21px;
    border:1px solid #f0dad5;
    border-radius:18px;
    background:#fff1ee
}

.events-side-note h2 {
    margin:0;
    font-size:1rem;
    color:#2e3440
}

.events-side-note p {
    font-size:.8rem;
    line-height:1.55;
    color:#6f7784
}

.events-muted {
    color:#858b96!important
}

.events-identity {
    display:grid;
    gap:4px;
    margin-bottom:22px;
    padding:14px;
    border:1px solid #f0dad5;
    border-radius:13px;
    background:#fff1ee
}

.events-identity span {
    font-size:.65rem;
    font-weight:900;
    text-transform:uppercase;
    color:#979da6
}

.events-identity strong {
    font-size:.9rem;
    color:#313844
}

.events-identity code {
    font-size:.68rem;
    color:#747c88;
    overflow-wrap:anywhere
}

.events-field {
    margin-bottom:18px
}

.events-field label,.events-field-label {
    display:block;
    margin-bottom:7px;
    font-size:.77rem;
    font-weight:800;
    color:#383f4b
}

.events-field input,.events-field textarea,.events-field select {
    display:block;
    width:100%;
    box-sizing:border-box;
    min-height:44px;
    padding:10px 12px;
    border:1px solid #dde1e6;
    border-radius:10px;
    background:#fff;
    font:inherit;
    font-size:.86rem;
    color:#303642;
    outline:none
}

.events-field textarea {
    min-height:150px;
    resize:vertical
}

.events-field input:focus,.events-field textarea:focus,.events-field select:focus {
    border-color:#c98794;
    box-shadow:0 0 0 3px rgba(158,29,55,.08)
}

.events-field-hint {
    display:block;
    margin-top:6px;
    font-size:.69rem;
    line-height:1.45;
    color:#8c929c
}

.events-manual-region[hidden],.events-weekly[hidden] {
    display:none!important
}

.events-manual-region {
    margin-top:8px!important
}

.events-form-row {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px
}

.events-recurrence {
    margin-bottom:18px;
    padding:16px;
    border:1px solid #e6e3e0;
    border-radius:14px;
    background:#fff
}

.events-recurrence>label {
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-right:18px;
    font-size:.78rem;
    color:#59616e
}

.events-weekly {
    margin-top:15px;
    padding-top:15px;
    border-top:1px solid #eceef1
}

.events-day-grid {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-bottom:14px
}

.events-day-grid label {
    padding:7px 9px;
    border:1px solid #e1e4e8;
    border-radius:9px;
    background:#fbfaf8;
    font-size:.72rem
}

.events-file {
    padding:9px!important
}

.events-form-actions,.event-view-actions,.my-event-actions {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px
}

.events-current-image {
    margin-bottom:18px;
    padding:13px;
    border:1px solid #e4e6ea;
    border-radius:13px;
    background:#fff
}

.events-current-image img {
    display:block;
    max-width:240px;
    max-height:180px;
    margin-bottom:10px;
    border-radius:10px;
    object-fit:contain
}

.events-current-image label {
    font-size:.75rem;
    color:#6b7280
}

.event-view-layout {
    max-width:1040px
}

.events-back {
    font-size:.78rem;
    font-weight:800;
    text-decoration:none;
    color:#737a88
}

.event-view-card {
    overflow:hidden
}

.event-view-image {
    display:block;
    width:100%;
    max-height:680px;
    object-fit:contain;
    background:#f5f2f0
}

.event-view-body {
    padding:26px
}

.event-view-meta-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px
}

.event-view-meta-grid>div {
    padding:13px;
    border:1px solid #eceef1;
    border-radius:12px;
    background:#fbfaf8
}

.event-view-meta-grid span,.event-view-meta-grid strong {
    display:block
}

.event-view-meta-grid span {
    margin-bottom:4px;
    font-size:.64rem;
    font-weight:900;
    text-transform:uppercase;
    color:#9a9fa8
}

.event-view-meta-grid strong {
    font-size:.82rem;
    line-height:1.45;
    color:#404754
}

.event-recurrence-note {
    display:flex;
    flex-direction:column;
    gap:4px;
    margin-top:16px;
    padding:14px;
    border:1px solid #f0dad5;
    border-radius:12px;
    background:#fff1ee;
    font-size:.78rem;
    color:#6b5860
}

.event-description {
    margin-top:25px
}

.event-description h2 {
    font-size:1.1rem;
    color:#2d3440
}

.event-description p {
    font-size:.86rem;
    line-height:1.7;
    color:#626a77
}

.event-description a {
    color:#9e1d37;
    overflow-wrap:anywhere
}

.event-view-actions {
    margin-top:24px
}

.event-view-actions form,.my-event-actions form {
    margin:0
}

.events-filter-tabs {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:20px
}

.events-filter-tabs a {
    display:inline-flex;
    gap:7px;
    padding:8px 11px;
    border:1px solid #e0e3e7;
    border-radius:999px;
    background:#fff;
    text-decoration:none;
    font-size:.74rem;
    font-weight:800;
    color:#626a77
}

.events-filter-tabs a span {
    color:#9e1d37
}

.events-filter-tabs a.is-active {
    border-color:#f0dad5;
    background:#fff1ee;
    color:#9e1d37
}

.my-events-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px
}

.my-event-card {
    display:grid;
    grid-template-columns:110px minmax(0,1fr);
    overflow:hidden;
    border:1px solid #e6e3e0;
    border-radius:17px;
    background:#fbfaf8
}

.my-event-thumb {
    min-height:150px;
    background:#fff1ee
}

.my-event-thumb img {
    width:100%;
    height:100%;
    object-fit:cover
}

.my-event-thumb span {
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    font-weight:900;
    color:#9e1d37
}

.my-event-body {
    padding:14px
}

.my-event-body h2 {
    margin:8px 0;
    font-size:.95rem;
    line-height:1.35;
    color:#2e3440
}

.my-event-body p {
    margin:4px 0;
    font-size:.7rem;
    line-height:1.45;
    color:#7c838f
}

.event-status {
    margin:0
}

.event-status.is-archived {
    background:#f0f1f3;
    color:#676e79
}

.event-status.is-pending {
    background:#fff7df;
    color:#8b6a19
}

.my-event-actions {
    margin-top:11px
}

.my-event-actions a,.my-event-actions button {
    border:0;
    background:none;
    padding:0;
    text-decoration:none;
    font:inherit;
    font-size:.7rem;
    font-weight:800;
    color:#9e1d37;
    cursor:pointer
}

.my-event-actions button {
    color:#a93043
}

.events-pagination {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    margin-top:22px
}

.events-pagination a {
    text-decoration:none;
    font-size:.76rem;
    font-weight:800;
    color:#9e1d37
}

.events-pagination span {
    font-size:.72rem;
    color:#8c929c
}

@media(max-width:1050px) {
    .events-card-grid {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
    .my-events-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .events-form-layout {
        grid-template-columns:1fr
    }
    .events-side-note {
        display:none
    }
}

@media(max-width:760px) {
    .events-section-heading {
        align-items:flex-start;
        flex-direction:column
    }
    .events-section-heading p {
        text-align:left
    }
    .events-card-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .events-calendar-card {
        padding:14px
    }
    .events-form-row,.event-view-meta-grid {
        grid-template-columns:1fr
    }
    .my-events-grid {
        grid-template-columns:1fr
    }
}

@media(max-width:520px) {
    .events-container {
        width:min(100% - 28px,1240px)
    }
    .events-hero {
        padding:22px 0 37px
    }
    .events-section {
        padding:24px 0 44px
    }
    .events-card-grid {
        grid-template-columns:1fr
    }
    .events-form-card,.event-view-body {
        padding:18px
    }
    .my-event-card {
        grid-template-columns:90px minmax(0,1fr)
    }
    .events-calendar-card .fc .fc-toolbar {
        align-items:flex-start;
        flex-direction:column;
        gap:8px
    }
}
