/**
 * Flamenet Events — CSS
 * Styled to match the Flamenet theme.
 * Colors: #003399 blue, #CC0000 red, #FFCC00 yellow, #0000CC link blue
 */

/* -------------------------------------------------------
   Container
------------------------------------------------------- */
.fne-events {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    color: #000000;
    margin: 0 0 10px 0;
}

/* -------------------------------------------------------
   Category filter tabs
------------------------------------------------------- */
.fne-cat-tabs {
    margin-bottom: 8px;
}

.fne-cat-tab {
    display: inline-block;
    padding: 2px 8px;
    border: 1px solid #AAAAAA;
    color: #0000CC;
    text-decoration: none;
    font-size: 11px;
    margin-right: 2px;
    background: #FFFFFF;
}

.fne-cat-tab:hover {
    background: #003399;
    color: #FFFFFF;
    border-color: #003399;
}

.fne-tab-active,
.fne-tab-active:visited,
.fne-tab-active:hover,
.fne-tab-active:visited:hover {
    color: #FFFFFF;
    text-decoration: none;
}

.fne-tab-active {
    background: #003399;
    border-color: #003399;
    font-weight: bold;
}

/* -------------------------------------------------------
   Month group heading
------------------------------------------------------- */
.fne-month-group {
    margin-bottom: 12px;
}

.fne-month-header {
    background-color: #003399;
    color: #FFFFFF;
    font-weight: bold;
    font-size: 11px;
    padding: 3px 8px;
}

/* -------------------------------------------------------
   Events listing table
------------------------------------------------------- */
.fne-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #7F9DB9;
    font-size: 11px;
}

.fne-table thead tr {
    background-color: #6688BB;
    color: #FFFFFF;
}

.fne-table th {
    padding: 3px 6px;
    text-align: left;
    font-weight: bold;
    font-size: 11px;
}

.fne-table td {
    padding: 4px 6px;
    border-bottom: 1px solid #DDDDDD;
    vertical-align: top;
}

.fne-row-even { background-color: #EEF2FF; }
.fne-row-odd  { background-color: #FFFFFF; }

/* Past events table — slightly muted */
.fne-past .fne-row-even { background-color: #F4F4F4; }
.fne-past .fne-row-odd  { background-color: #FFFFFF; }
.fne-past .fne-event-link { color: #666666; }
.fne-past .fne-event-link:hover { color: #CC0000; }

/* Column widths */
.fne-th-date  { width: 80px; white-space: nowrap; }
.fne-th-time  { width: 100px; white-space: nowrap; }
.fne-th-loc   { width: 130px; }

/* Date cell */
.fne-date-short {
    font-weight: bold;
}

.fne-dow {
    color: #666666;
    font-size: 10px;
    margin-left: 3px;
}

/* Event link */
.fne-event-link {
    color: #003399;
    font-weight: bold;
    text-decoration: none;
}

.fne-event-link:hover {
    color: #CC0000;
    text-decoration: underline;
}

.fne-muted {
    color: #999999;
}

/* -------------------------------------------------------
   Past events section header
------------------------------------------------------- */
.fne-section-header {
    background-color: #666666;
    color: #FFFFFF;
    font-weight: bold;
    font-size: 11px;
    padding: 3px 8px;
    margin: 14px 0 0 0;
}

/* -------------------------------------------------------
   Event detail
------------------------------------------------------- */
.fne-detail-wrap {
    border: 1px solid #003399;
    margin-bottom: 10px;
}

.fne-detail-header {
    background-color: #003399;
    color: #FFFFFF;
    font-weight: bold;
    font-size: 13px;
    padding: 4px 8px;
}

.fne-detail-body {
    padding: 10px 12px;
    background: #FFFFFF;
}

.fne-detail-table {
    margin-bottom: 10px;
    border-collapse: collapse;
}

.fne-detail-table th {
    text-align: right;
    padding: 3px 10px 3px 0;
    color: #003399;
    font-weight: bold;
    white-space: nowrap;
    vertical-align: top;
    font-size: 11px;
}

.fne-detail-table td {
    padding: 3px 0;
    font-size: 11px;
    vertical-align: top;
}

.fne-detail-table td a {
    color: #0000CC;
    text-decoration: underline;
    word-break: break-all;
}

.fne-detail-table td a:hover {
    color: #CC0000;
}

.fne-detail-content {
    border-top: 1px dotted #CCCCCC;
    padding-top: 8px;
    font-size: 11px;
    line-height: 1.5;
}

.fne-detail-content p {
    margin: 0 0 6px 0;
}

/* -------------------------------------------------------
   Compact [upcoming_events] shortcode
------------------------------------------------------- */
.fne-compact-list {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 11px;
}

.fne-compact-item {
    border-bottom: 1px dotted #CCCCCC;
    padding: 3px 0;
    line-height: 1.4;
}

.fne-compact-item:last-child {
    border-bottom: none;
}

.fne-compact-date {
    color: #CC0000;
    font-weight: bold;
    margin-right: 4px;
}

.fne-compact-link {
    color: #0000CC;
    text-decoration: none;
}

.fne-compact-link:hover {
    color: #CC0000;
    text-decoration: underline;
}

.fne-compact-time {
    color: #666666;
    font-size: 10px;
    margin-left: 3px;
}

.fne-compact-empty {
    color: #666666;
    font-size: 11px;
    font-style: italic;
}

.fne-widget-more {
    font-size: 10px;
    text-align: right;
    margin: 4px 0 0 0;
    padding-top: 3px;
    border-top: 1px dotted #CCCCCC;
}

.fne-widget-more a {
    color: #0000CC;
    text-decoration: underline;
}

.fne-widget-more a:hover {
    color: #CC0000;
}

/* -------------------------------------------------------
   Pagination
------------------------------------------------------- */
.fne-pagination {
    font-size: 11px;
    margin: 6px 0;
}

.fne-page-link {
    display: inline-block;
    padding: 1px 6px;
    margin: 0 1px;
    border: 1px solid #AAAAAA;
    color: #0000CC;
    text-decoration: none;
    background: #FFFFFF;
}

.fne-page-link:hover {
    background: #003399;
    color: #FFFFFF;
    border-color: #003399;
}

.fne-page-cur {
    display: inline-block;
    padding: 1px 6px;
    margin: 0 1px;
    border: 1px solid #003399;
    background: #003399;
    color: #FFFFFF;
    font-weight: bold;
}

/* -------------------------------------------------------
   Misc
------------------------------------------------------- */
.fne-back {
    font-size: 11px;
    margin-bottom: 8px;
}

.fne-back a {
    color: #0000CC;
    text-decoration: underline;
}

.fne-back a:hover {
    color: #CC0000;
}

.fne-empty {
    color: #666666;
    font-style: italic;
    font-size: 11px;
    margin: 10px 0;
}

.fne-error {
    color: #CC0000;
    font-size: 11px;
    margin: 8px 0;
}

/* -------------------------------------------------------
   Submit bar & notices
------------------------------------------------------- */
.fne-submit-bar {
    margin-bottom: 6px;
    text-align: right;
}

.fne-submit-link,
.fne-submit-link:visited,
.fne-submit-link:hover,
.fne-submit-link:visited:hover {
    color: #FFFFFF;
    text-decoration: none;
}

.fne-submit-link {
    display: inline-block;
    padding: 2px 10px;
    background: #003399;
    font-size: 11px;
    font-weight: bold;
    border: 1px solid #002277;
}

.fne-submit-link:hover,
.fne-submit-link:visited:hover {
    background: #CC0000;
    border-color: #990000;
}

.fne-notice-success {
    background: #DFF0D8;
    border: 1px solid #3C763D;
    color: #3C763D;
    font-size: 11px;
    padding: 6px 10px;
    margin-bottom: 8px;
}

.fne-notice-error {
    background: #F2DEDE;
    border: 1px solid #A94442;
    color: #A94442;
    font-size: 11px;
    padding: 6px 10px;
    margin-bottom: 8px;
}

/* -------------------------------------------------------
   Submit event form
------------------------------------------------------- */
.fne-form-wrap {
    border: 1px solid #003399;
    margin-bottom: 10px;
}

.fne-form-header {
    background-color: #003399;
    color: #FFFFFF;
    font-weight: bold;
    font-size: 13px;
    padding: 4px 8px;
}

.fne-form-body {
    padding: 12px 14px;
    background: #FFFFFF;
}

.fne-form-row {
    margin-bottom: 10px;
}

.fne-form-row-split {
    display: flex;
    gap: 16px;
}

.fne-form-col {
    flex: 1;
}

.fne-form-label {
    display: block;
    font-size: 11px;
    font-weight: bold;
    color: #003399;
    margin-bottom: 2px;
}

.fne-form-req {
    color: #CC0000;
}

.fne-form-input,
.fne-form-select {
    width: 100%;
    font-size: 11px;
    padding: 3px 5px;
    border: 1px solid #AAAAAA;
    background: #FFFFFF;
    color: #000000;
    box-sizing: border-box;
}

.fne-form-input:focus,
.fne-form-select:focus,
.fne-form-textarea:focus {
    border-color: #003399;
    outline: none;
}

.fne-form-textarea {
    width: 100%;
    font-size: 11px;
    padding: 3px 5px;
    border: 1px solid #AAAAAA;
    background: #FFFFFF;
    color: #000000;
    box-sizing: border-box;
    resize: vertical;
    font-family: Arial, Helvetica, sans-serif;
}

.fne-form-submit,
.fne-form-submit:visited,
.fne-form-submit:hover,
.fne-form-submit:visited:hover {
    color: #FFFFFF;
    text-decoration: none;
}

.fne-form-submit {
    background: #003399;
    border: 1px solid #002277;
    font-size: 12px;
    font-weight: bold;
    padding: 4px 16px;
    cursor: pointer;
    font-family: Arial, Helvetica, sans-serif;
}

.fne-form-submit:hover,
.fne-form-submit:visited:hover {
    background: #CC0000;
    border-color: #990000;
}

.fne-form-note {
    font-size: 10px;
    color: #666666;
    margin-left: 8px;
    font-style: italic;
}

/* -------------------------------------------------------
   Messaging integration
------------------------------------------------------- */
.fne-contact-organizer {
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid #CCCCCC;
}

.fne-login-prompt {
    font-size: 11px;
    color: #555555;
    margin: 0;
}

.fne-login-prompt a {
    color: #0000CC;
    text-decoration: none;
    font-weight: bold;
}

.fne-login-prompt a:hover {
    text-decoration: underline;
}

.fne-btn-msg,
.fne-btn-msg:visited,
.fne-btn-msg:hover,
.fne-btn-msg:visited:hover {
    color: #fff;
    text-decoration: none;
}

.fne-btn-msg {
    display: inline-block;
    background: #336699;
    border: 1px solid #224477;
    font-size: 11px;
    font-weight: bold;
    padding: 3px 10px;
    cursor: pointer;
}

.fne-btn-msg:hover,
.fne-btn-msg:visited:hover {
    background: #224477;
}

/* -------------------------------------------------------
   Responsive — hide location and time on narrow screens
------------------------------------------------------- */
@media (max-width: 480px) {
    .fne-th-loc,
    .fne-td-loc,
    .fne-th-time,
    .fne-td-time {
        display: none;
    }

    .fne-detail-table th {
        display: block;
        text-align: left;
        padding-right: 0;
        padding-bottom: 0;
    }

    .fne-detail-table td {
        display: block;
        padding-bottom: 6px;
    }
}
