/* ═══════════════════════════════════════════════════════════
   GOGAY EVENTS PLUGIN — Frontend Styles
   Suffix: 47 (anti-conflict)
   Colors: #e9edf1 (light bg) | #232323 (dark bg)
           #4d52e2 (brand) | #000000 | #ffffff
   Font: Montserrat only
═══════════════════════════════════════════════════════════ */

/* ─── Reset & Base ─────────────────────────────────────── */
.ge-wrap47,
.ge-wrap47 *,
.ge-wrap47 *::before,
.ge-wrap47 *::after {
    box-sizing: border-box !important;
    font-family: 'Montserrat', sans-serif !important;
}

/* ─── Main wrapper ─────────────────────────────────────── */
.ge-wrap47 {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    background: transparent !important;
    color: #000000 !important;
}

/* ═══════════════════════════════════════════════════════════
   FILTERS BAR
═══════════════════════════════════════════════════════════ */
.ge-filters47 {
    background: #ffffff !important;
    border: 2px solid #e9edf1 !important;
    border-radius: 16px !important;
    padding: 20px 24px !important;
    margin-bottom: 32px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
}

.ge-date-tabs47 {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

.ge-tab47 {
    background: #e9edf1 !important;
    color: #000000 !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 8px 20px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    outline: none !important;
}

.ge-tab47:hover {
    background: #4d52e2 !important;
    color: #ffffff !important;
}

.ge-tab47.active47 {
    background: #4d52e2 !important;
    color: #ffffff !important;
}

.ge-cat-tags47 {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

.ge-cat47 {
    background: transparent !important;
    color: #000000 !important;
    border: 1.5px solid #e9edf1 !important;
    border-radius: 50px !important;
    padding: 6px 16px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    outline: none !important;
}

.ge-cat47:hover {
    border-color: #4d52e2 !important;
    color: #4d52e2 !important;
}

.ge-cat47.active47 {
    background: #4d52e2 !important;
    border-color: #4d52e2 !important;
    color: #ffffff !important;
}

/* ═══════════════════════════════════════════════════════════
   EVENT GRID
═══════════════════════════════════════════════════════════ */
.ge-grid47 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
    min-height: 200px !important;
}

@media (max-width: 900px) {
    .ge-grid47 { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 600px) {
    .ge-grid47 { grid-template-columns: 1fr !important; }
}

/* ─── Event Card ─── */
.ge-card47 {
    background: #ffffff !important;
    color: #000000 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 16px rgba(0,0,0,0.08) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    text-decoration: none !important;
}

.ge-card47:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 32px rgba(77,82,226,0.18) !important;
}

.ge-card-img47 {
    width: 100% !important;
    height: 180px !important;
    object-fit: cover !important;
    display: block !important;
    background: #e9edf1 !important;
}

.ge-card-img-placeholder47 {
    width: 100% !important;
    height: 180px !important;
    background: linear-gradient(135deg, #4d52e2 0%, #7c7ff5 100%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 48px !important;
}

.ge-card-cat-badge47 {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    background: #4d52e2 !important;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 4px 10px !important;
    border-radius: 50px !important;
}

.ge-card-body47 {
    padding: 16px !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.ge-card-date47 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #4d52e2 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
}

.ge-card-title47 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #000000 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    display: block !important;
}

.ge-card-loc47 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #666666 !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.ge-card-footer47 {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 12px 16px !important;
    border-top: 1px solid #e9edf1 !important;
    background: #ffffff !important;
}

.ge-card-going47 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #666666 !important;
}

/* ─── Going Button ─── */
.ge-btn-going47 {
    background: #e9edf1 !important;
    color: #000000 !important;
    border: 2px solid #e9edf1 !important;
    border-radius: 50px !important;
    padding: 7px 18px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    outline: none !important;
}

.ge-btn-going47:hover,
.ge-btn-going47.ge-going-active47 {
    background: #4d52e2 !important;
    border-color: #4d52e2 !important;
    color: #ffffff !important;
}

/* ═══════════════════════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════════════════════ */
.ge-btn47 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    border-radius: 10px !important;
    padding: 10px 20px !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    border: 2px solid transparent !important;
    outline: none !important;
    line-height: 1.4 !important;
}

.ge-btn-primary47 {
    background: #4d52e2 !important;
    color: #ffffff !important;
    border-color: #4d52e2 !important;
}

.ge-btn-primary47:hover {
    background: #3b40cc !important;
    border-color: #3b40cc !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

.ge-btn-outline47 {
    background: transparent !important;
    color: #4d52e2 !important;
    border-color: #4d52e2 !important;
}

.ge-btn-outline47:hover {
    background: #4d52e2 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

.ge-btn-danger47 {
    background: transparent !important;
    color: #dc2626 !important;
    border-color: #dc2626 !important;
}

.ge-btn-danger47:hover {
    background: #dc2626 !important;
    color: #ffffff !important;
}

.ge-btn-sm47 {
    font-size: 12px !important;
    padding: 6px 14px !important;
    border-radius: 8px !important;
}

.ge-btn-full47 {
    width: 100% !important;
    display: flex !important;
}

.ge-btn-ticket47 {
    font-size: 16px !important;
    padding: 14px 24px !important;
    border-radius: 12px !important;
    margin-top: 0 !important;
}

/* ═══════════════════════════════════════════════════════════
   LOAD MORE / PAGINATION
═══════════════════════════════════════════════════════════ */
.ge-pagination47 {
    text-align: center !important;
    margin-top: 40px !important;
}

.ge-load-more47 {
    background: transparent !important;
    color: #4d52e2 !important;
    border: 2px solid #4d52e2 !important;
    border-radius: 50px !important;
    padding: 12px 36px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.ge-load-more47:hover {
    background: #4d52e2 !important;
    color: #ffffff !important;
}

/* ═══════════════════════════════════════════════════════════
   LOADING SPINNER
═══════════════════════════════════════════════════════════ */
.ge-loading47 {
    grid-column: 1 / -1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 60px 0 !important;
    color: #666666 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
}

.ge-spinner47 {
    width: 40px !important;
    height: 40px !important;
    border: 3px solid #e9edf1 !important;
    border-top-color: #4d52e2 !important;
    border-radius: 50% !important;
    animation: ge-spin47 0.8s linear infinite !important;
    margin-bottom: 12px !important;
}

@keyframes ge-spin47 {
    to { transform: rotate(360deg); }
}

/* ═══════════════════════════════════════════════════════════
   EMPTY STATE
═══════════════════════════════════════════════════════════ */
.ge-empty47 {
    text-align: center !important;
    padding: 60px 20px !important;
    color: #000000 !important;
}

.ge-empty-icon47 {
    font-size: 56px !important;
    margin-bottom: 16px !important;
    display: block !important;
}

.ge-empty47 h3 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #000000 !important;
    margin: 0 0 8px !important;
}

.ge-empty47 p {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    color: #666666 !important;
    margin: 0 !important;
}

/* ═══════════════════════════════════════════════════════════
   NOTICES
═══════════════════════════════════════════════════════════ */
.ge-notice47 {
    border-radius: 12px !important;
    padding: 14px 18px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    margin-bottom: 20px !important;
    color: #000000 !important;
}

.ge-notice-info47 {
    background: #eef0fd !important;
    border-left: 4px solid #4d52e2 !important;
    color: #000000 !important;
}

.ge-notice-success47 {
    background: #dcfce7 !important;
    border-left: 4px solid #22c55e !important;
    color: #000000 !important;
}

.ge-notice-warning47 {
    background: #fef9c3 !important;
    border-left: 4px solid #f59e0b !important;
    color: #000000 !important;
}

.ge-notice-error47 {
    background: #fee2e2 !important;
    border-left: 4px solid #dc2626 !important;
    color: #000000 !important;
}

/* ═══════════════════════════════════════════════════════════
   DASHBOARD
═══════════════════════════════════════════════════════════ */
.ge-dashboard47 {
    padding-top: 20px !important;
}

.ge-dash-header47 {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 28px !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
}

.ge-dash-info47 {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

.ge-avatar47 {
    width: 56px !important;
    height: 56px !important;
    background: #4d52e2 !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    flex-shrink: 0 !important;
}

.ge-dash-info47 h2 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #000000 !important;
    margin: 0 0 6px !important;
}

.ge-badge47 {
    display: inline-block !important;
    border-radius: 50px !important;
    padding: 4px 12px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.ge-badge-trusted47 {
    background: #dcfce7 !important;
    color: #166534 !important;
}

.ge-badge-pending47 {
    background: #fef9c3 !important;
    color: #854d0e !important;
}

/* Dash table */
.ge-dash-table47 {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.ge-dash-row47 {
    background: #ffffff !important;
    border: 1.5px solid #e9edf1 !important;
    border-radius: 14px !important;
    padding: 16px !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    transition: border-color 0.2s !important;
}

.ge-dash-row47:hover {
    border-color: #4d52e2 !important;
}

.ge-dash-row-img47 {
    width: 64px !important;
    height: 64px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
}

.ge-dash-row-img47 img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.ge-dash-row-img-placeholder47 {
    width: 64px !important;
    height: 64px !important;
    background: linear-gradient(135deg, #4d52e2, #7c7ff5) !important;
    border-radius: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 28px !important;
}

.ge-dash-row-info47 {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.ge-dash-row-info47 strong {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #000000 !important;
}

.ge-dash-row-info47 span {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    color: #666666 !important;
}

.ge-dash-row-going47 {
    text-align: center !important;
    flex-shrink: 0 !important;
}

.ge-dash-row-going47 strong {
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #4d52e2 !important;
}

.ge-dash-row-going47 small {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    color: #666666 !important;
}

.ge-status47 {
    display: inline-block !important;
    border-radius: 50px !important;
    padding: 4px 10px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

.ge-status-pub47   { background: #dcfce7 !important; color: #166534 !important; }
.ge-status-pend47  { background: #fef9c3 !important; color: #854d0e !important; }
.ge-status-draft47 { background: #e9edf1 !important; color: #000000 !important; }
.ge-status-arch47  { background: #f3f4f6 !important; color: #6b7280 !important; }

.ge-dash-row-actions47 {
    display: flex !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
}

.ge-events-list47 h3 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #000000 !important;
    margin: 0 0 16px !important;
}

/* ═══════════════════════════════════════════════════════════
   EVENT FORM
═══════════════════════════════════════════════════════════ */
.ge-form-wrap47 {
    padding: 20px 0 !important;
}

.ge-form-header47 {
    margin-bottom: 28px !important;
}

.ge-back-link47 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #4d52e2 !important;
    text-decoration: none !important;
    display: inline-block !important;
    margin-bottom: 12px !important;
}

.ge-back-link47:hover {
    text-decoration: underline !important;
    color: #4d52e2 !important;
}

.ge-form-header47 h2 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    color: #000000 !important;
    margin: 0 !important;
}

.ge-event-form47 {
    background: transparent !important;
}

.ge-form-grid47 {
    display: grid !important;
    grid-template-columns: 1fr 320px !important;
    gap: 28px !important;
    align-items: start !important;
}

@media (max-width: 800px) {
    .ge-form-grid47 { grid-template-columns: 1fr !important; }
}

.ge-field47 {
    margin-bottom: 20px !important;
}

.ge-field-row47 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
}

@media (max-width: 600px) {
    .ge-field-row47 { grid-template-columns: 1fr !important; }
}

.ge-label47 {
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    margin-bottom: 6px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
}

.ge-input47 {
    width: 100% !important;
    background: #ffffff !important;
    color: #000000 !important;
    border: 2px solid #e9edf1 !important;
    border-radius: 10px !important;
    padding: 10px 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    outline: none !important;
    transition: border-color 0.2s !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

.ge-input47:focus {
    border-color: #4d52e2 !important;
    box-shadow: 0 0 0 3px rgba(77,82,226,0.12) !important;
}

.ge-input47::placeholder {
    color: #aaaaaa !important;
}

.ge-textarea47 {
    resize: vertical !important;
    min-height: 120px !important;
}

/* Upload area */
.ge-upload-area47 {
    border: 2px dashed #e9edf1 !important;
    border-radius: 12px !important;
    padding: 24px !important;
    text-align: center !important;
    cursor: pointer !important;
    background: #ffffff !important;
    transition: border-color 0.2s !important;
    min-height: 160px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.ge-upload-area47:hover {
    border-color: #4d52e2 !important;
}

.ge-upload-placeholder47 span {
    display: block !important;
    font-size: 36px !important;
    margin-bottom: 8px !important;
}

.ge-upload-placeholder47 p {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #000000 !important;
    margin: 0 0 4px !important;
}

.ge-upload-placeholder47 small {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    color: #666666 !important;
}

.ge-upload-preview47 {
    max-width: 100% !important;
    max-height: 200px !important;
    border-radius: 8px !important;
    object-fit: cover !important;
}

/* Form footer */
.ge-form-footer47 {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 12px !important;
    padding-top: 24px !important;
    border-top: 2px solid #e9edf1 !important;
    margin-top: 8px !important;
}

/* ═══════════════════════════════════════════════════════════
   AUTH / LOGIN / REGISTER
═══════════════════════════════════════════════════════════ */
.ge-auth-wrap47 {
    max-width: 480px !important;
    margin: 0 auto !important;
    padding: 40px 20px !important;
}

.ge-auth-tabs47 {
    display: flex !important;
    border-bottom: 2px solid #e9edf1 !important;
    margin-bottom: 28px !important;
    gap: 0 !important;
}

.ge-auth-tab47 {
    background: transparent !important;
    color: #666666 !important;
    border: none !important;
    padding: 12px 24px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    border-bottom: 3px solid transparent !important;
    margin-bottom: -2px !important;
    transition: all 0.2s !important;
    outline: none !important;
}

.ge-auth-tab47.active47 {
    color: #4d52e2 !important;
    border-bottom-color: #4d52e2 !important;
}

.ge-auth-panel47 {
    display: none !important;
}

.ge-auth-panel47.active47 {
    display: block !important;
}

.ge-auth-panel47 h2 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #000000 !important;
    margin: 0 0 8px !important;
}

.ge-auth-subtitle47 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    color: #666666 !important;
    margin: 0 0 24px !important;
}

/* WP login form overrides */
.ge-auth-wrap47 .login-form-wrap,
.ge-auth-wrap47 #login,
.ge-auth-wrap47 #loginform {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.ge-auth-wrap47 #loginform label {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    text-transform: uppercase !important;
}

.ge-auth-wrap47 #loginform input[type="text"],
.ge-auth-wrap47 #loginform input[type="password"] {
    width: 100% !important;
    background: #ffffff !important;
    color: #000000 !important;
    border: 2px solid #e9edf1 !important;
    border-radius: 10px !important;
    padding: 10px 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    outline: none !important;
    box-shadow: none !important;
}

.ge-auth-wrap47 #loginform input[type="submit"] {
    background: #4d52e2 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 12px 24px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    width: 100% !important;
    margin-top: 8px !important;
}

/* ═══════════════════════════════════════════════════════════
   SINGLE EVENT PAGE
═══════════════════════════════════════════════════════════ */
.ge-single-wrap47 {
    font-family: 'Montserrat', sans-serif !important;
    color: #000000 !important;
    background: #e9edf1 !important;
    min-height: 100vh !important;
}

.ge-single-hero47 {
    width: 100% !important;
    min-height: 400px !important;
    background-size: cover !important;
    background-position: center !important;
    position: relative !important;
    display: flex !important;
    align-items: flex-end !important;
}

.ge-single-hero-overlay47 {
    background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.3) 60%, transparent 100%) !important;
    width: 100% !important;
    padding: 60px 5% 40px !important;
}

.ge-single-cat47 {
    display: inline-block !important;
    background: #4d52e2 !important;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 4px 12px !important;
    border-radius: 50px !important;
    text-decoration: none !important;
    margin-bottom: 12px !important;
}

.ge-single-title47 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 36px !important;
    font-weight: 900 !important;
    color: #ffffff !important;
    margin: 0 0 12px !important;
    line-height: 1.2 !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.4) !important;
}

.ge-single-meta47 {
    display: flex !important;
    gap: 20px !important;
    flex-wrap: wrap !important;
}

.ge-single-meta47 span {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: rgba(255,255,255,0.9) !important;
}

.ge-single-body47 {
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 40px 5% !important;
    display: grid !important;
    grid-template-columns: 1fr 340px !important;
    gap: 40px !important;
    align-items: start !important;
}

@media (max-width: 800px) {
    .ge-single-body47 { grid-template-columns: 1fr !important; }
    .ge-single-title47 { font-size: 26px !important; }
}

.ge-single-content47 {
    background: #ffffff !important;
    border-radius: 16px !important;
    padding: 32px !important;
    color: #000000 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

/* Sidebar cards */
.ge-sidebar-card47 {
    background: #ffffff !important;
    border-radius: 16px !important;
    padding: 24px !important;
    margin-bottom: 16px !important;
    color: #000000 !important;
}

.ge-sidebar-card47 h4 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #000000 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin: 0 0 16px !important;
}

.ge-going-card47 {
    text-align: center !important;
}

.ge-going-count47 {
    margin-bottom: 16px !important;
}

.ge-going-count47 strong {
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 40px !important;
    font-weight: 900 !important;
    color: #4d52e2 !important;
    line-height: 1 !important;
}

.ge-going-count47 span {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    color: #666666 !important;
}

.ge-btn-going47 {
    width: 100% !important;
}

.ge-going-hint47 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    color: #666666 !important;
    margin: 8px 0 0 !important;
}

.ge-info-row47 {
    display: flex !important;
    gap: 12px !important;
    align-items: flex-start !important;
    margin-bottom: 14px !important;
}

.ge-info-row47 > span:first-child {
    font-size: 20px !important;
    flex-shrink: 0 !important;
    line-height: 1.4 !important;
}

.ge-info-row47 div {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

.ge-info-row47 strong {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #000000 !important;
}

.ge-info-row47 span {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    color: #666666 !important;
}

/* ═══════════════════════════════════════════════════════════
   MY PLANS
═══════════════════════════════════════════════════════════ */
.ge-my-plans47 h2 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 26px !important;
    font-weight: 900 !important;
    color: #000000 !important;
    margin: 0 0 24px !important;
}

.ge-plans-grid47 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
}

@media (max-width: 900px) {
    .ge-plans-grid47 { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 600px) {
    .ge-plans-grid47 { grid-template-columns: 1fr !important; }
}

.ge-plan-card47 {
    background: #ffffff !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
    display: flex !important;
    flex-direction: column !important;
}

.ge-plan-card47.ge-plan-past47 {
    opacity: 0.6 !important;
}

.ge-plan-img47 {
    width: 100% !important;
    height: 140px !important;
    object-fit: cover !important;
    display: block !important;
}

.ge-plan-info47 {
    padding: 14px !important;
    flex: 1 !important;
}

.ge-plan-date47 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #4d52e2 !important;
    text-transform: uppercase !important;
    margin-bottom: 6px !important;
}

.ge-plan-info47 h4 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    margin: 0 0 6px !important;
}

.ge-plan-info47 h4 a {
    color: #000000 !important;
    text-decoration: none !important;
}

.ge-plan-info47 h4 a:hover {
    color: #4d52e2 !important;
}

.ge-plan-loc47 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    color: #666666 !important;
}

.ge-plan-actions47 {
    padding: 12px 14px !important;
    display: flex !important;
    gap: 8px !important;
    border-top: 1px solid #e9edf1 !important;
}

.ge-plan-past-label47 {
    padding: 8px 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #aaaaaa !important;
    text-align: center !important;
}

/* ═══════════════════════════════════════════════════════════
   DARK THEME OVERRIDES
═══════════════════════════════════════════════════════════ */
@media (prefers-color-scheme: dark) {
    .ge-filters47 {
        background: #2e2e2e !important;
        border-color: #3a3a3a !important;
    }
    .ge-tab47 {
        background: #3a3a3a !important;
        color: #ffffff !important;
    }
    .ge-tab47.active47 {
        background: #4d52e2 !important;
        color: #ffffff !important;
    }
    .ge-cat47 {
        border-color: #3a3a3a !important;
        color: #ffffff !important;
    }
    .ge-card47 {
        background: #2e2e2e !important;
        color: #ffffff !important;
    }
    .ge-card-title47 { color: #ffffff !important; }
    .ge-card-footer47 { background: #2e2e2e !important; border-color: #3a3a3a !important; }
    .ge-card-loc47 { color: #aaaaaa !important; }
    .ge-input47 { background: #2e2e2e !important; color: #ffffff !important; border-color: #3a3a3a !important; }
    .ge-label47 { color: #ffffff !important; }
    .ge-upload-area47 { background: #2e2e2e !important; border-color: #3a3a3a !important; }
    .ge-upload-placeholder47 p { color: #ffffff !important; }
    .ge-sidebar-card47 { background: #2e2e2e !important; color: #ffffff !important; }
    .ge-sidebar-card47 h4 { color: #ffffff !important; }
    .ge-info-row47 strong { color: #ffffff !important; }
    .ge-single-wrap47 { background: #232323 !important; }
    .ge-single-content47 { background: #2e2e2e !important; color: #ffffff !important; }
    .ge-dash-row47 { background: #2e2e2e !important; border-color: #3a3a3a !important; }
    .ge-dash-info47 h2 { color: #ffffff !important; }
    .ge-form-header47 h2 { color: #ffffff !important; }
    .ge-form-footer47 { border-color: #3a3a3a !important; }
    .ge-events-list47 h3 { color: #ffffff !important; }
    .ge-auth-panel47 h2 { color: #ffffff !important; }
    .ge-auth-tab47 { color: #aaaaaa !important; }
    .ge-auth-tab47.active47 { color: #4d52e2 !important; }
    .ge-auth-tabs47 { border-color: #3a3a3a !important; }
    .ge-plan-card47 { background: #2e2e2e !important; }
    .ge-plan-info47 h4 { color: #ffffff !important; }
    .ge-plan-info47 h4 a { color: #ffffff !important; }
    .ge-plan-actions47 { border-color: #3a3a3a !important; }
    .ge-my-plans47 h2 { color: #ffffff !important; }
    .ge-empty47 h3 { color: #ffffff !important; }
    .ge-dash-row-info47 strong { color: #ffffff !important; }
    .ge-going-count47 strong { color: #4d52e2 !important; }
    .ge-going-count47 span { color: #aaaaaa !important; }
    .ge-going-hint47 { color: #aaaaaa !important; }
    .ge-btn-going47 { background: #3a3a3a !important; border-color: #3a3a3a !important; color: #ffffff !important; }
}

/* WordPress dark mode class support */
.dark-mode .ge-filters47,
[data-theme="dark"] .ge-filters47,
.dark .ge-filters47 {
    background: #2e2e2e !important;
    border-color: #3a3a3a !important;
}

.dark-mode .ge-tab47,
[data-theme="dark"] .ge-tab47,
.dark .ge-tab47 {
    background: #3a3a3a !important;
    color: #ffffff !important;
}

.dark-mode .ge-card47,
[data-theme="dark"] .ge-card47,
.dark .ge-card47 {
    background: #2e2e2e !important;
    color: #ffffff !important;
}

.dark-mode .ge-card-title47,
[data-theme="dark"] .ge-card-title47,
.dark .ge-card-title47 {
    color: #ffffff !important;
}

.dark-mode .ge-input47,
[data-theme="dark"] .ge-input47,
.dark .ge-input47 {
    background: #2e2e2e !important;
    color: #ffffff !important;
    border-color: #3a3a3a !important;
}

.dark-mode .ge-label47,
[data-theme="dark"] .ge-label47,
.dark .ge-label47 {
    color: #ffffff !important;
}

.dark-mode .ge-sidebar-card47,
[data-theme="dark"] .ge-sidebar-card47,
.dark .ge-sidebar-card47 {
    background: #2e2e2e !important;
}

.dark-mode .ge-sidebar-card47 h4,
[data-theme="dark"] .ge-sidebar-card47 h4,
.dark .ge-sidebar-card47 h4 {
    color: #ffffff !important;
}

.dark-mode .ge-single-wrap47,
[data-theme="dark"] .ge-single-wrap47,
.dark .ge-single-wrap47 {
    background: #232323 !important;
}

.dark-mode .ge-single-content47,
[data-theme="dark"] .ge-single-content47,
.dark .ge-single-content47 {
    background: #2e2e2e !important;
    color: #ffffff !important;
}

.dark-mode .ge-dash-row47,
[data-theme="dark"] .ge-dash-row47,
.dark .ge-dash-row47 {
    background: #2e2e2e !important;
    border-color: #3a3a3a !important;
}

.dark-mode .ge-form-footer47,
[data-theme="dark"] .ge-form-footer47,
.dark .ge-form-footer47 {
    border-color: #3a3a3a !important;
}

/* Toast notification */
.ge-toast47 {
    position: fixed !important;
    bottom: 24px !important;
    right: 24px !important;
    background: #4d52e2 !important;
    color: #ffffff !important;
    padding: 14px 22px !important;
    border-radius: 12px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 24px rgba(77,82,226,0.35) !important;
    z-index: 99999 !important;
    transform: translateY(80px) !important;
    opacity: 0 !important;
    transition: all 0.3s ease !important;
    pointer-events: none !important;
    max-width: 320px !important;
}

.ge-toast47.ge-toast-visible47 {
    transform: translateY(0) !important;
    opacity: 1 !important;
}

.ge-toast47.ge-toast-error47 {
    background: #dc2626 !important;
}
