/**
 * Modern Event Calendar Styles
 * A clean, modern calendar UI with responsive design
 */

/* CSS Variables for theming */
:root {
    --mec-primary: #2563eb;
    --mec-primary-hover: #1d4ed8;
    --mec-danger: #dc2626;
    --mec-danger-hover: #b91c1c;
    --mec-warning: #f59e0b;
    --mec-success: #10b981;
    --mec-gray-50: #f9fafb;
    --mec-gray-100: #f3f4f6;
    --mec-gray-200: #e5e7eb;
    --mec-gray-300: #d1d5db;
    --mec-gray-400: #9ca3af;
    --mec-gray-500: #6b7280;
    --mec-gray-600: #4b5563;
    --mec-gray-700: #374151;
    --mec-gray-800: #1f2937;
    --mec-gray-900: #111827;
    --mec-white: #ffffff;
    --mec-border-radius: 8px;
    --mec-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
    --mec-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --mec-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    --mec-transition: all 0.2s ease;
}

/* Calendar Wrapper */
.mec-calendar-wrapper {
    font-family: poppins;
    width: 100%;
    max-width: none !important;
    margin: 0;
    background: var(--mec-white);
    border-radius: 0;
    box-shadow: var(--mec-shadow);
    overflow: hidden;
    position: relative;
    padding: 0;
    box-sizing: border-box;
}

.mec-calendar-wrapper .mec-calendar-grid,
.mec-calendar-wrapper .mec-month-view,
.mec-calendar-wrapper .mec-days-grid {
    width: 100%;
}

/* Calendar Header */
.mec-calendar-header {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 16px 24px;
    background: var(--mec-white);
    border-bottom: 1px solid var(--mec-gray-200);
    gap: 12px;
    position: relative;
}

.mec-header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    flex-wrap: nowrap;
    width: 100%;
}

.mec-header-center {
    flex: 1;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    min-width: 200px;
}

.mec-nav-group {
    display: flex;
    align-items: center;
    gap: 8px;
}

.mec-header-left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.mec-header-right {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: nowrap;
}

.mec-upcoming-toggle {
    position: absolute;
    right: 0px;
    top: calc(100% - -36px);
    border: 1px solid var(--mec-gray-400); border-bottom: none;
border-right: none;    background: transparent !important;

    padding: 2px 12px;
    color: var(--mec-gray-700) !important;
    font-size: 12px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    z-index: 5;
}

.mec-upcoming-toggle svg {
    width: 16px;
    height: 16px;
}

.mec-header-category {
    display: flex;
    align-items: center;
}

.mec-category-header-filter {
    padding: 0 14px;
    border: 1px solid var(--mec-gray-300);
    border-radius: 6px;
    font-size: 13px;
    color: var(--mec-gray-800);
    background: var(--mec-white);
    cursor: pointer;
    height: 40px;
    box-sizing: border-box;
}

.mec-category-header-filter option.mec-category-add-option {
    color: #16a34a;
    font-weight: 600;
}

/* Custom category dropdown with swatches */
.mec-custom-category-dropdown {
    position: relative;
    display: inline-flex;
}

.mec-custom-category-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    height: 40px;
    border: 1px solid var(--mec-gray-300);
    border-radius: 6px;
    background: var(--mec-white);
    font-size: 13px;
    color: var(--mec-gray-800);
    cursor: pointer;
    white-space: nowrap;
    box-sizing: border-box;
}

.mec-custom-category-toggle:hover {
    border-color: #9ca3af;
}

.mec-custom-category-toggle--open {
    border-color: #6b7280;
}

.mec-custom-cat-arrow {
    font-size: 10px;
    color: #9ca3af;
    margin-left: 2px;
}

.mec-custom-category-toggle .mec-category-swatch {
    width: 12px;
    height: 12px;
    border-radius: 3px;
    flex-shrink: 0;
}

.mec-custom-category-list {
    display: none;
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    min-width: 100%;
    max-height: 280px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
    z-index: 200;
    padding: 4px 0;
}

.mec-custom-category-list--open {
    display: block;
}

.mec-custom-category-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px;
    font-size: 13px;
    color: #1f2937;
    cursor: pointer;
    white-space: nowrap;
}

.mec-custom-category-item:hover {
    background: #f3f4f6;
}

.mec-custom-category-item .mec-category-swatch {
    width: 12px;
    height: 12px;
    border-radius: 3px;
    flex-shrink: 0;
}

.mec-custom-category-item--add {
    color: #16a34a;
    font-weight: 600;
    border-top: 1px solid #e5e7eb;
    margin-top: 2px;
    padding-top: 9px;
}

.mec-event-view-action-add-calendar {
    color: var(--mec-primary);
    font-weight: 600;
}

.mec-event-view-action-add-calendar:hover {
    text-decoration: underline;
}

.mec-current-month {
    font-size: 2em;
    font-weight: 600;
    color: var(--mec-gray-900);
    margin: 0;
    text-align: center;
    letter-spacing: 0.05em;
    text-transform: none;
    white-space: nowrap;
}

.mec-sync-warning {
    margin-top: 6px;
    color: #dc2626 !important;
    font-size: 13px;
    font-weight: 300;
    text-align: center;
    line-height: 1.35;
}

.mec-calendar-wrapper .mec-header-center .mec-sync-warning {
    color: #dc2626 !important;
}

/* Navigation Buttons */
.mec-nav-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    background: var(--mec-white);
    border: 1px solid var(--mec-gray-300);
    border-radius: 6px;
    color: var(--mec-gray-700);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: var(--mec-transition);
}

.mec-nav-btn:hover {
    background: var(--mec-gray-50);
    border-color: var(--mec-gray-400);
}

.mec-nav-btn:active {
    background: var(--mec-gray-100);
}

.mec-prev-btn,
.mec-next-btn {
    padding: 8px;
    background: #fff;
    border: 2px solid #111;
    color: #111;
    box-shadow: none;
}

.mec-prev-btn svg,
.mec-next-btn svg {
    stroke: currentColor;
}

.mec-prev-btn:hover,
.mec-next-btn:hover {
    background: #f3f4f8;
    border-color: #111;
}

/* View Toggle */
.mec-view-toggle {
    display: flex;
    background: var(--mec-gray-100);
    border-radius: 6px;
    padding: 4px;
    width: fit-content;
    justify-content: center;
    margin-bottom: 0px;
}

.mec-view-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: transparent;
    border: none;
    border-radius: 4px;
    color: var(--mec-gray-600);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: var(--mec-transition);
}

.mec-view-btn:hover {
    color: var(--mec-gray-900);
}

.mec-view-btn.active {
    background: var(--mec-white);
    color: var(--mec-gray-900);
    box-shadow: var(--mec-shadow);
}

.mec-view-btn svg {
    width: 16px;
    height: 16px;
}

.mec-view-btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.mec-mobile-view-select-wrap {
    display: none;
}

.mec-mobile-view-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: 1px solid var(--mec-gray-300);
    border-radius: 6px;
    background: #fff;
    color: var(--mec-gray-800);
    font-size: 13px;
    font-weight: 600;
    padding: 8px 28px 8px 10px;
    line-height: 1.2;
    min-width: 110px;
    background-image: linear-gradient(45deg, transparent 50%, #6b7280 50%), linear-gradient(135deg, #6b7280 50%, transparent 50%);
    background-position: calc(100% - 14px) calc(50% - 2px), calc(100% - 9px) calc(50% - 2px);
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
}

.mec-day-event-dots {
    display: none;
}

.mec-nav-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-bottom: 4px;
    gap: 12px;
}

.mec-nav-left {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    justify-content: flex-start;
}

.mec-nav-center {
    display: flex;
    justify-content: center;
    flex: 0 0 auto;
}

.mec-nav-right {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    justify-content: flex-end;
}

/* Subscribe Button */
.mec-subscribe-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: var(--mec-white);
    border: 1px solid var(--mec-gray-300);
    border-radius: 6px;
    color: var(--mec-gray-800) !important;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: var(--mec-transition);
    height: 40px;
    box-sizing: border-box;
}



.mec-subscribe-btn svg {
    width: 16px;
    height: 16px;
}

.mec-subscribe-dropdown {
    position: relative;
    display: inline-flex;
}

.mec-subscribe-dropdown .mec-subscribe-caret {
    width: 10px;
    height: 6px;
}

.mec-subscribe-options {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    background: var(--mec-white);
    border: 1px solid var(--mec-gray-200);
    border-radius: 6px;
    box-shadow: var(--mec-shadow);
    display: none;
    flex-direction: column;
    min-width: 220px;
    z-index: 40;
}

.mec-subscribe-dropdown.open .mec-subscribe-options {
    display: flex;
}

.mec-subscribe-option {
    width: 100%;
    padding: 10px 14px;
    border: none;
    background: transparent;
    text-align: left;
    font-size: 13px;
    color: var(--mec-gray-800);
    cursor: pointer;
    transition: background 0.2s ease;
}

.mec-subscribe-option:hover {
    background: var(--mec-gray-50);
}

/* Print Dropdown */
.mec-print-dropdown {
    position: relative;
    display: inline-flex;
    margin-left: 8px;
}

.mec-print-btn {
    background: var(--mec-white);
    border: 1px solid var(--mec-gray-300);
    border-radius: 6px;
    color: var(--mec-gray-800) !important;
    padding: 8px 14px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: var(--mec-transition);
    height: 40px;
    box-sizing: border-box;
}

.mec-print-btn svg {
    width: 16px;
    height: 16px;
}



.mec-print-dropdown .mec-print-caret {
    width: 10px;
    height: 6px;
}

.mec-print-options {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    background: var(--mec-white);
    border: 1px solid var(--mec-gray-200);
    border-radius: 6px;
    box-shadow: var(--mec-shadow);
    display: none;
    flex-direction: column;
    min-width: 180px;
    z-index: 40;
}

.mec-print-dropdown.open .mec-print-options {
    display: flex;
}

.mec-print-option {
    width: 100%;
    padding: 10px 14px;
    border: none;
    background: transparent;
    text-align: left;
    font-size: 13px;
    color: var(--mec-gray-800);
    cursor: pointer;
    transition: background 0.2s ease;
}

.mec-print-option:hover {
    background: var(--mec-gray-50);
}

/* Print helper display */
.mec-day-event-print-time {
    display: none;
    font-size: 12px;
    font-weight: 600;
    color: var(--mec-gray-700);
    margin-bottom: 2px;
}

.mec-calendar-wrapper.mec-print-paper-mode .mec-day-event-print-time {
    display: block !important;
}

.mec-calendar-wrapper.mec-print-paper-mode .mec-day-event-time-row {
    display: none !important;
}

.mec-calendar-wrapper.mec-print-paper-mode .mec-day-event .mec-day-event-time-text {
    display: inline !important;
    visibility: visible !important;
}

.mec-calendar-wrapper.mec-print-paper-mode .mec-recurring-indicator {
    display: none;
}

.mec-calendar-wrapper.mec-print-paper-mode {
    padding: 0;
    width: 100%;
}

.mec-calendar-wrapper.mec-print-paper-mode .mec-header-row,
.mec-calendar-wrapper.mec-print-paper-mode .mec-list-controls,
.mec-calendar-wrapper.mec-print-paper-mode .mec-month-search-controls,
.mec-calendar-wrapper.mec-print-paper-mode .mec-header-category,
.mec-calendar-wrapper.mec-print-paper-mode .mec-subscribe-dropdown,
.mec-calendar-wrapper.mec-print-paper-mode .mec-print-dropdown {
    display: none !important;
}

.mec-calendar-wrapper.mec-print-mode .mec-header-row,
.mec-calendar-wrapper.mec-print-mode .mec-list-controls,
.mec-calendar-wrapper.mec-print-mode .mec-month-search-controls,
.mec-calendar-wrapper.mec-print-mode .mec-header-category,
.mec-calendar-wrapper.mec-print-mode .mec-subscribe-dropdown,
.mec-calendar-wrapper.mec-print-mode .mec-print-dropdown,
.mec-calendar-wrapper.mec-print-mode .mec-nav-row,
.mec-calendar-wrapper.mec-print-mode .mec-upcoming-toggle {
    display: none !important;
}

.mec-calendar-wrapper.mec-print-mode .mec-header-row {
    display: flex !important;
}

.mec-calendar-wrapper.mec-print-mode .mec-header-left,
.mec-calendar-wrapper.mec-print-mode .mec-header-right,
.mec-calendar-wrapper.mec-print-mode .mec-add-event-btn {
    display: none !important;
}

.mec-calendar-wrapper.mec-print-mode .mec-header-center,
.mec-calendar-wrapper.mec-print-mode .mec-current-month {
    display: block !important;
}

.mec-calendar-wrapper.mec-print-mode .chs-header-mobile {
    display: none !important;
}

.mec-calendar-wrapper.mec-print-mode .trigger-btn {
    display: none !important;
}

.mec-calendar-wrapper.mec-print-view-month .mec-list-view,
.mec-calendar-wrapper.mec-print-view-month .mec-card-view,
.mec-calendar-wrapper.mec-print-view-month .mec-agenda-view {
    display: none !important;
}

.mec-calendar-wrapper.mec-print-view-list .mec-month-with-sidebar,
.mec-calendar-wrapper.mec-print-view-list .mec-card-view,
.mec-calendar-wrapper.mec-print-view-list .mec-agenda-view {
    display: none !important;
}

.mec-calendar-wrapper.mec-print-view-agenda .mec-month-with-sidebar,
.mec-calendar-wrapper.mec-print-view-agenda .mec-list-view,
.mec-calendar-wrapper.mec-print-view-agenda .mec-card-view {
    display: none !important;
}

.mec-calendar-wrapper.mec-print-view-card .mec-month-with-sidebar,
.mec-calendar-wrapper.mec-print-view-card .mec-list-view,
.mec-calendar-wrapper.mec-print-view-card .mec-agenda-view {
    display: none !important;
}

.mec-calendar-wrapper.mec-print-paper-mode .mec-day-cell {
    padding: 4px;
}

.mec-calendar-wrapper.mec-print-paper-mode .mec-day-event {
    padding: 6px;
    font-size: 12px;
}

.mec-calendar-wrapper.mec-print-paper-mode .mec-day-event-tooltip {
    display: none !important;
}

.mec-calendar-wrapper.mec-print-paper-mode .mec-calendar-header {
    border-bottom: 0;
    padding-top: 0;
    padding-bottom: 6px;
}

.mec-calendar-wrapper.mec-print-paper-mode .mec-current-month {
    font-size: 18px !important;
    padding-top: 0 !important;
    margin: 0;
    letter-spacing: 0.05em;
}

.mec-calendar-wrapper.mec-print-mode .mec-day-cell.mec-today {
    border: none !important;
    box-shadow: none !important;
}

.mec-calendar-wrapper.mec-print-mode .mec-card.mec-card--today {
    box-shadow: none !important;
    border-color: #e5e7eb !important;
}

/* List Controls */
.mec-list-controls {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 12px 20px;
    background: var(--mec-gray-50);
    border-bottom: 1px solid var(--mec-gray-200);
}

.mec-search-box {
    position: relative;
    width: 500px;
    max-width: 500px;
}

.mec-search-box svg {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--mec-gray-400);
    pointer-events: none;
}

.mec-search-input {
    width: 100%;
    padding: 10px 12px 10px 40px;
    border: 1px solid var(--mec-gray-300);
    border-radius: 6px;
    font-size: 14px;
    color: var(--mec-gray-900);
    background: var(--mec-white);
    transition: var(--mec-transition);
}

.mec-search-input:focus {
    outline: none;
    border-color: var(--mec-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.mec-filter-box {
    min-width: 180px;
}

@media (max-width: 640px) {
    .mec-search-box {
        width: 100%;
    }
}

/* Month View Search Controls */
.mec-month-search-controls {
    display: flex;
    justify-content: center;
    padding: 12px 20px;
    background: var(--mec-gray-50);
    border-bottom: 1px solid var(--mec-gray-200);
}

.mec-month-search-box {
    position: relative;
}

.mec-month-search-box svg:first-child {
    z-index: 1;
}

.mec-month-search-input {
    width: 100%;
    padding: 10px 12px 10px 40px;
    border: 1px solid var(--mec-gray-300);
    border-radius: 6px;
    font-size: 14px;
    color: var(--mec-gray-900);
    background: var(--mec-white);
    background-image: none !important;
    transition: var(--mec-transition);
}

input.mec-month-search-input,
.mec-month-search-input[type="text"],
.mec-month-search-input[type="search"] {
    background-color: #ffffff !important;
    background-image: none !important;
    -webkit-appearance: none;
    appearance: none;
}

.mec-month-search-input:focus {
    outline: none;
    border-color: var(--mec-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.mec-month-search-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin-top: 4px;
    background: var(--mec-white);
    border: 1px solid var(--mec-gray-200);
    border-radius: 8px;
    box-shadow: var(--mec-shadow-lg);
    z-index: 1000;
    max-height: 320px;
    overflow-y: auto;
}

.mec-month-search-results {
    padding: 4px 0;
}

.mec-month-search-result {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    cursor: pointer;
    transition: background 0.15s ease;
    border-bottom: 1px solid var(--mec-gray-100);
}

.mec-month-search-result:last-child {
    border-bottom: none;
}

.mec-month-search-result:hover {
    background: var(--mec-gray-50);
}

.mec-month-search-result-date {
    flex-shrink: 0;
    width: 50px;
    text-align: center;
    padding: 6px 4px;
    background: var(--mec-gray-100);
    border-radius: 6px;
}

.mec-month-search-result-date-day {
    display: block;
    font-size: 16px;
    font-weight: 600;
    color: var(--mec-gray-900);
    line-height: 1.2;
}

.mec-month-search-result-date-month {
    display: block;
    font-size: 10px;
    font-weight: 500;
    color: var(--mec-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.mec-month-search-result-info {
    flex: 1;
    min-width: 0;
}

.mec-month-search-result-title {
    font-size: 14px;
    font-weight: 500;
    color: var(--mec-gray-900);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 2px;
}

.mec-month-search-result-time {
    font-size: 12px;
    color: var(--mec-gray-500);
}

.mec-month-search-no-results {
    padding: 16px;
    text-align: center;
    color: var(--mec-gray-500);
    font-size: 14px;
}

.mec-calendar-wrapper.mec-list-mode .mec-month-search-controls {
    display: none;
}

.mec-category-filter {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--mec-gray-300);
    border-radius: 6px;
    font-size: 14px;
    color: var(--mec-gray-900);
    background: var(--mec-white);
    cursor: pointer;
    transition: var(--mec-transition);
}

.mec-category-filter:focus {
    outline: none;
    border-color: var(--mec-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

/* Month View */
.mec-month-view {
    padding: 0;
}

.mec-month-with-sidebar {
    display: flex;
    gap: 24px;
    align-items: stretch;
}

.mec-calendar-wrapper.mec-agenda-active .mec-month-with-sidebar {
    display: none;
}

.mec-list-view .mec-month-with-sidebar {
    flex-direction: column;
}

.mec-month-with-sidebar .mec-month-view {
    flex: 1 1 0;
    min-width: 0;
}

.mec-upcoming-panel {
    width: 280px;
    background: #f9fafb;
    color: #f8fafc;
    border-radius: -33px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    /*! gap: 12px; */
    /*! box-shadow: 0 20px 45px rgba(0, 0, 0, 0.35); */
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.mec-upcoming-panel-shortcode {
    width: 100%;
    max-width: 460px;
    border-radius: 18px;
    padding: 0;
    background: none;
    border: none;
}

.mec-upcoming-panel-shortcode.mec-upcoming-panel-module-row {
    max-width: none;
}

.mec-upcoming-panel-shortcode.mec-upcoming-panel-module-image {
    max-width: none;
}

.mec-calendar-wrapper.mec-print-paper-mode .mec-upcoming-panel,
.mec-calendar-wrapper.mec-print-paper-mode .mec-upcoming-toggle {
    display: none !important;
}

.mec-calendar-wrapper.mec-print-paper-mode .mec-month-with-sidebar {
    gap: 0;
    flex-direction: column;
}

.mec-upcoming-label {color: #000 !important; font-size: 20px !important; }

.mec-upcoming-panel .mec-upcoming-header {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.mec-upcoming-label {
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: 11px;
    color: rgba(249, 250, 251, 0.7);
    margin: 0;
}

.mec-upcoming-title {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.03em;
}

.mec-upcoming-panel .mec-upcoming-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.mec-upcoming-panel .mec-upcoming-list--row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.mec-upcoming-panel .mec-upcoming-list--row .mec-upcoming-month-heading {
    grid-column: 1 / -1;
}

.mec-upcoming-panel .mec-upcoming-list--row .mec-upcoming-card {
    padding: 16px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 14px;
}

.mec-upcoming-panel-shortcode.mec-upcoming-panel-module-row .mec-upcoming-card {
    border-radius: 0 !important;
}

.mec-upcoming-panel .mec-upcoming-list--row .mec-upcoming-card:last-child {
    border-bottom: 1px solid rgba(15, 23, 42, 0.12);
}

@media (max-width: 900px) {
    .mec-upcoming-panel .mec-upcoming-list--row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .mec-upcoming-panel .mec-upcoming-list--row {
        grid-template-columns: minmax(0, 1fr);
    }

    .mec-upcoming-panel-shortcode.mec-upcoming-panel-module-row {
        padding-left: 14px;
        padding-right: 14px;
        box-sizing: border-box;
    }

    .mec-upcoming-panel .mec-upcoming-list--row .mec-upcoming-card {
        border-radius: 0 !important;
    }
}

@media (max-width: 1300px) {
    .mec-agenda-title {
        font-size: 14px;
        font-weight: 600;
    }
}

.mec-upcoming-card {
    display: flex;
    gap: 12px;
    padding: 16px 0;
    cursor: pointer;
    border-bottom: 1px solid rgba(15, 23, 42, 0.12);
    position: relative;
    overflow: visible;
}

.mec-upcoming-card:last-child {
    border-bottom: none;
}

.mec-upcoming-card-content {
    display: flex;
    width: 100%;
    gap: 12px;
    align-items: flex-start;
}

.mec-upcoming-card-date {
    width: 56px;
    min-width: 56px;
    height: 56px;
    /*! border-radius: 16px; */
    background: #d6d6d6;
    color: #0f172a;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.mec-upcoming-card-date span:first-child {
    font-size: 10px;
}

.mec-upcoming-panel-shortcode .mec-upcoming-card-date span:first-child {
    font-size: 13px;
}

.mec-upcoming-card-date span:last-child {
    font-size: 20px;
    line-height: 1;
}

.mec-upcoming-panel-module-listimage .mec-upcoming-card-media {
    width: 90px;
    min-width: 90px;
    height: 70px;
    border: 1px solid #d1d5db;
    background: #e5e7eb;
    overflow: hidden;
}

.mec-upcoming-panel-module-listimage .mec-upcoming-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mec-upcoming-panel-module-listimage .mec-upcoming-card-media--placeholder {
    background: #d1d5db;
}

/* Shortcode module: image grid (view="list" num="12" module="image") */
.mec-upcoming-panel-module-image .mec-upcoming-list--image {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 26px;
}

@media (max-width: 1024px) {
    .mec-upcoming-panel-module-image .mec-upcoming-list--image {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }
}

@media (max-width: 560px) {
    .mec-upcoming-panel-module-image .mec-upcoming-list--image {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }
}

.mec-upcoming-panel-module-image .mec-upcoming-card--image {
    display: block;
    padding: 0;
    border: none;
}

.mec-upcoming-panel-module-image .mec-upcoming-card--image:focus {
    outline: 2px solid rgba(37, 99, 235, 0.45);
    outline-offset: 3px;
}

.mec-upcoming-panel-module-image .mec-upcoming-card-media {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #e5e7eb;
}

.mec-upcoming-panel-module-image .mec-upcoming-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1);
    transition: transform 240ms ease;
}

.mec-upcoming-panel-module-image .mec-upcoming-card--image:hover .mec-upcoming-card-media img {
    transform: scale(1.03);
}

.mec-upcoming-panel-module-image .mec-upcoming-card-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    background: #ffffff;
    color: #111827;
    padding: 8px 10px;
    text-align: center;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 10px 18px rgba(0, 0, 0, 0.18);
}

.mec-upcoming-panel-module-image .mec-upcoming-card-badge-month {
    display: block;
    font-size: 12px;
    letter-spacing: 0.08em;
}

.mec-upcoming-panel-module-image .mec-upcoming-card-badge-day {
    display: block;
    font-size: 18px;
    margin-top: 4px;
}

.mec-upcoming-panel-module-image .mec-upcoming-card-details {
    padding-top: 0;
}

.mec-upcoming-panel-module-image .mec-upcoming-card-title {
    padding-top: 6px;
    font-size: 16px;
    line-height: 1.25;
    font-weight: 800;
    color: #0b5f88;
}

.mec-upcoming-panel-module-image .mec-upcoming-card-schedule {
    margin-top: 0;
    padding-top: 0;
    font-size: 15px;
    color: #2b7aa6;
}

.mec-upcoming-panel-module-listimage .mec-upcoming-card-content {
    align-items: center;
}

.mec-upcoming-panel-module-listimage .mec-upcoming-card-details {
    justify-content: center;
    padding-top: 0;
}

.mec-upcoming-panel-module-listimage .mec-upcoming-card-schedule {
    font-size: 14px;
}

.mec-upcoming-card-details {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 4px;
}

.mec-upcoming-card-title {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #111827;
    line-height: 16px;
}

.mec-upcoming-card-schedule {
    font-size: 13px;
    color: #404040;
    line-height: 16px;
}

.mec-upcoming-card-location {
    font-size: 12px;
    color: rgba(248, 250, 252, 0.65);
    display: flex;
    align-items: center;
    gap: 6px;
}

.mec-upcoming-month-heading {
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--mec-gray-700);
    padding: 12px 0 4px;
}

.mec-upcoming-card-location svg {
    width: 14px;
    height: 14px;
}

.mec-upcoming-card-tooltip {
    position: absolute;
    top: 0;
    left: 100%;
    transform: translate(10px, -4px);
    min-width: 220px;
    max-width: 300px;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.12);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.17);
    padding: 10px;
    border-radius: 12px;
    z-index: 20000;
    display: none;
    pointer-events: none;
    line-height: 1.3;
    font-size: 13px;
    color: var(--mec-gray-900);
}

.mec-upcoming-card:hover .mec-upcoming-card-tooltip,
.mec-upcoming-card:focus-within .mec-upcoming-card-tooltip {
    display: block;
}

.mec-agenda-view {
    width: 100%;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    padding: 28px;
    box-shadow: var(--mec-shadow-lg);
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.mec-agenda-view h4 {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: #0f172a;
}

.mec-agenda-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 14%) minmax(0, 12%) minmax(0, 11%) 160px;
    column-gap: 10px;
    row-gap: 4px;
    align-items: center;
    padding: 4px 0;
    border-bottom: 1px solid #e5e7eb;
    min-height: 56px;
}

.mec-agenda-no-category .mec-agenda-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 12%) minmax(0, 11%) 160px;
}

.mec-agenda-no-location .mec-agenda-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 16%) minmax(0, 14%) minmax(0, 12%) minmax(140px, 140px);
    column-gap: 18px;
}

.mec-agenda-no-location.mec-agenda-no-category .mec-agenda-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 14%) minmax(0, 12%) minmax(140px, 140px);
    column-gap: 30px;
}



.mec-agenda-row:last-child {
    border-bottom: none;
}

.mec-agenda-category-indicator {
    display: none;
}

.mec-agenda-month-group {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.mec-agenda-month-group+.mec-agenda-month-group {
    margin-top: 12px;
}

.mec-agenda-location svg {
    width: 14px;
    height: 14px;
}

.mec-agenda-date-label,
.mec-agenda-time-label {
    font-size: 13px;
    color: #475569;
}

.mec-agenda-title,
.mec-agenda-category-name,
.mec-agenda-location,
.mec-agenda-date-label,
.mec-agenda-date-text,
.mec-agenda-time-label,
.mec-agenda-time-text,
.mec-agenda-view-link,
.mec-agenda-link-placeholder {
    font-size: 13px;
    line-height: 1.4;
    text-transform: none;
    color: #0f172a;
}

.mec-agenda-title {
    font-weight: 600;
    margin: 0;
}

.mec-agenda-title-link {
    display: inline-flex;
    align-items: center;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    text-align: left;
}

.mec-agenda-title-link:hover .mec-agenda-title {
    text-decoration: underline;
}

.mec-agenda-title-column {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-left: 6px;
}

.mec-agenda-column-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: #6b7280;
    text-align: left;
    justify-self: start;
}

.mec-agenda-column-label--details {
    justify-self: end;
}

.mec-agenda-column-header {
    border-bottom: 1px solid #d9d9d9;
    padding: 12px 0;
    background: #f9fafb;
    grid-template-columns: minmax(0, 1fr) minmax(0, 14%) minmax(0, 12%) minmax(0, 11%) minmax(140px, 140px);
    column-gap: 10px;
}

.mec-agenda-no-category .mec-agenda-column-header {
    grid-template-columns: minmax(0, 1fr) minmax(0, 12%) minmax(0, 11%) minmax(140px, 140px);
}

.mec-agenda-no-location .mec-agenda-column-header {
    grid-template-columns: minmax(0, 1fr) minmax(0, 16%) minmax(0, 14%) minmax(0, 12%) minmax(140px, 140px);
    column-gap: 18px;
}

.mec-agenda-no-location.mec-agenda-no-category .mec-agenda-column-header {
    grid-template-columns: minmax(0, 1fr) minmax(0, 14%) minmax(0, 12%) minmax(140px, 140px);
    column-gap: 30px;
}

.mec-agenda-month-group .mec-agenda-row:nth-of-type(odd):not(.mec-agenda-column-header) {
    background: #fff;
}

.mec-agenda-month-group .mec-agenda-row:nth-of-type(even):not(.mec-agenda-column-header) {
    background: #f8fafc;
}

.mec-agenda-category-name {
    text-align: left;
    justify-self: start;
}

.mec-agenda-category-name.mec-category-badge {
    font-weight: 400;
    font-size: 0.68rem;
}

.mec-agenda-category-name .mec-category-label {
    text-transform: none;
    font-weight: 400;
}

.mec-agenda-location {
    color: #475569;
    display: flex;
    gap: 6px;
    align-items: center;
}

.mec-agenda-location-column {
    display: none;
}

.mec-agenda-title-row-inner {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.mec-agenda-location-pin {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #9ca3af;
    cursor: help;
    position: relative;
    flex-shrink: 0;
}

.mec-agenda-location-pin svg {
    width: 18px;
    height: 18px;
}

.mec-agenda-location-pin:hover {
    color: #374151;
}

.mec-agenda-location-pin[data-tooltip]:hover::after {
    content: attr(data-tooltip);
    position: absolute;
    left: 50%;
    top: calc(100% + 6px);
    transform: translateX(-50%);
    background: #1f2937;
    color: #fff;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    padding: 6px 10px;
    border-radius: 6px;
    white-space: nowrap;
    max-width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
    z-index: 100;
    pointer-events: none;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.mec-agenda-location-pin[data-tooltip]:hover::before {
    content: '';
    position: absolute;
    left: 50%;
    top: calc(100% + 2px);
    transform: translateX(-50%);
    border: 4px solid transparent;
    border-bottom-color: #1f2937;
    z-index: 100;
    pointer-events: none;
}

.mec-agenda-location-inline {
    display: none;
}

.mec-agenda-location-icon svg {
    width: 14px;
    height: 14px;
}

.mec-agenda-date-label,
.mec-agenda-time-label {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: flex-start;
    text-align: left;
    justify-self: start;
}

.mec-agenda-date-label {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}

.mec-agenda-date-row {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.mec-agenda-date-icon svg,
.mec-agenda-time-icon svg {
    width: 12px;
    height: 12px;
}

.mec-agenda-date-text {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.mec-agenda-date-text--stacked {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    white-space: normal;
}

.mec-agenda-date-day {
    font-weight: 400;
}

.mec-agenda-date-daymonth {
    font-weight: 600;
    text-transform: none;
}

.mec-agenda-time-text {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.mec-agenda-time-text--stacked {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    white-space: normal;
}

.mec-agenda-time-start,
.mec-agenda-time-end {
    display: block;
    line-height: 1.2;
}

.mec-agenda-view-link {
    display: inline-flex;
    align-items: center;
    justify-self: flex-end;
    margin-left: auto;
    white-space: nowrap;
}

.mec-agenda-view-link:hover {
    text-decoration: none;
}

.mec-agenda-link-placeholder {
    min-height: 1.6em;
    display: inline-block;
}

.mec-agenda-details-cell {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: flex-end;
    width: 100%;
    overflow: visible;
    position: relative;
}

.mec-agenda-row {
    overflow: visible !important;
}

.mec-agenda-row:hover .mec-event-edit-dropdown {
    opacity: 1;
}

.mec-agenda-empty {
    padding: 20px;
    text-align: center;
    color: #6b7280;
}

/* Responsive agenda handled by main grid definitions */

.mec-upcoming-footer {
    margin-top: auto;
    text-align: center;
}

.mec-upcoming-footer .mec-upcoming-collapse {
    width: 100%;
    padding: 8px 0;
}

.mec-month-with-sidebar:not(.mec-upcoming-visible) .mec-upcoming-panel {
    display: none;
}

.mec-month-with-sidebar:not(.mec-upcoming-visible) .mec-month-view {
    width: 100%;
}

.mec-list-mode .mec-upcoming-panel {
    display: none;
}

@media (max-width: 1279px) {
    .mec-month-with-sidebar .mec-upcoming-panel {
        display: none;
    }

    .mec-upcoming-toggle {
        display: none;
    }
}

.mec-calendar-grid {
    display: flex;
    flex-direction: column;
}

/* Weekday Header */
.mec-weekday-header {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    background: var(--mec-gray-50);
    border-bottom: 1px solid var(--mec-gray-200);
}

.mec-weekday {
    padding: 12px 8px;
    text-align: center;
    font-size: 12px;
    font-weight: 600;
    color: var(--mec-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Days Grid */
.mec-days-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    border-left: 1px solid var(--mec-gray-200);
    width: 100%;
    position: relative;
}

.mec-day-cell {
    min-height: 120px;
    padding: 6px;
    border: 1px solid var(--mec-gray-200);
    background: var(--mec-white);
    position: relative;
    transition: var(--mec-transition);
    border-radius: 0;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    overflow: visible;
    z-index: 0;
}

.mec-day-cell:hover {
    background: var(--mec-gray-50);
    z-index: 2;
}

.mec-day-cell.mec-other-month {
    background: var(--mec-gray-50);
}

.mec-day-cell.mec-other-month .mec-day-number {
    color: var(--mec-gray-400);
}

.mec-day-cell.mec-today {
    background: var(--mec-gray-300);
    border: 1px solid var(--mec-gray-300);
    box-shadow: none;
}

.mec-day-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 4px;
    padding: 4px;
}

.mec-day-header,
.mec-day-events {
    position: relative;
    z-index: 0;
}

.mec-day-events {
    padding-top: 4px;
}

.mec-day-number {
    font-size: 14px;
    font-weight: 500;
    color: var(--mec-gray-900);
}

/* Add Event Button (Admin Only) */
.mec-add-event-link {
    font-size: 12px;
    color: var(--mec-primary);
    text-decoration: underline;
    font-weight: 600;
    opacity: 0;
    pointer-events: none;
    transition: var(--mec-transition);
    align-self: flex-start;
    cursor: pointer;
}

.mec-day-cell:hover .mec-add-event-link {
    opacity: 1;
    pointer-events: auto;
}

/* Day Events */
.mec-day-events {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 0 4px;
    padding-top: 4px;
    overflow: visible;
}

.mec-day-event-overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    grid-template-rows: repeat(6, minmax(0, 1fr));
    gap: 0;
    pointer-events: none;
    z-index: 10;
}

.mec-day-event {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 6px;
    padding: 4px 8px 4px 10px;
    background: var(--mec-gray-50);
    border-radius: 0;
    font-size: 14px;
    color: #333537;
    cursor: pointer;
    transition: var(--mec-transition);
    overflow: visible;
    border: 1px solid #7f7f7f1c;
    border-left: 0;
    border-top: 2px solid var(--event-color, var(--mec-primary));
    margin-bottom: 5px;
    z-index: 999;
}

.mec-day-event:hover {
    z-index: 9999;
}

.mec-day-event-tooltip {
    position: absolute;
    top: 0;
    left: 100%;
    transform: translate(8px, -4px);
    min-width: 220px;
    max-width: 300px;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.12);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.17);
    padding: 10px;
    border-radius: 12px;
    z-index: 20000;
    display: none;
    pointer-events: none;
    line-height: 1.3;
    font-size: 13px;
    color: var(--mec-gray-900);
}

.mec-day-event-tooltip.mec-day-event-tooltip-left {
    left: auto;
    right: 100%;
    transform: translate(-8px, -4px);
}

.mec-calendar-wrapper .mec-day-event-tooltip .mec-day-event-tooltip-text {
    margin: 0;
    font-size: 13px !important;
    line-height: 1.3 !important;
    color: var(--mec-gray-900);
    letter-spacing: 0.01em;
    text-transform: none;
}

.mec-week-shortcode .mec-day-event-tooltip .mec-day-event-tooltip-text {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    color: var(--mec-gray-900) !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
    font-weight: 400 !important;
}

.mec-day-event-tooltip-note {
    margin: 0;
    padding-top: 10px;
    font-size: 12px !important;
    line-height: 1.4 !important;
    font-style: italic;
    color: var(--mec-gray-500);
}

.bx-root .mec-day-event-tooltip .mec-day-event-tooltip-note {
    font-size: 12px !important;
    line-height: 1.4 !important;
    font-style: italic;
    padding-top: 10px;
    color: var(--mec-gray-500) !important;
}

.mec-day-event-tooltip-divider {
    border: none;
    border-top: 1px solid rgba(15, 23, 42, 0.2);
    margin: 8px 0 4px;
}

.mec-day-event:hover .mec-day-event-tooltip {
    display: block;
}

.mec-day-event-tooltip-media {
    margin-bottom: 8px;
}

.mec-day-event-tooltip-media img {
    width: 100%;
    height: auto;
    max-height: 140px;
    object-fit: cover;
    border-radius: 6px;
    display: block;
}

.mec-day-event-span {
    position: relative;
    z-index: 2;
    background: #fff;
    border: 1px solid #d1d5db;
    border-top: 2px solid var(--event-color, #4CAF50);
    border-radius: 4px;
    padding: 6px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    color: var(--mec-gray-900);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    justify-content: flex-start;
    align-self: start;
    margin: 4px 4px;
    pointer-events: auto;
    cursor: pointer;
}

.mec-day-event-span-title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: var(--mec-gray-900);
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mec-day-event-span-time {
    font-size: 12px;
    font-weight: 600;
    color: var(--mec-danger);
}

.mec-day-event-span-action {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    color: var(--mec-gray-500);
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--mec-gray-200);
    justify-content: center;
    transition: background 0.2s ease;
    pointer-events: none;
}

.mec-day-event-span-action svg {
    width: 12px;
    height: 12px;
    color: inherit;
    display: block;
}

.mec-day-event.mec-span-start,
.mec-day-event.mec-span-middle,
.mec-day-event.mec-span-end {
    margin-bottom: 2px;
}

.mec-day-event.mec-span-start {
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
}

.mec-day-event.mec-span-middle {
    border-radius: 0;
}

.mec-day-event.mec-span-end {
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
}

.mec-day-event .mec-day-event-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    min-width: 0;
    width: 100%;
}

.mec-day-event:hover {
    background: var(--mec-gray-100);
    border-color: var(--mec-gray-200);
    border-top-color: var(--event-color, var(--mec-primary));
}

.mec-day-event .mec-event-title {
    font-weight: 400;
    min-width: 0;
    font-size: 13px;
    white-space: normal;
    text-overflow: unset;
    line-height: 1.2;
}

.mec-day-event .mec-event-title {
    font-weight: 400;
    min-width: 0;
    white-space: normal;
    text-overflow: unset;
    line-height: 1.2;
}

.mec-month-view .mec-day-event .mec-event-title {
    font-weight: 300;
}

.mec-day-event-time-row,
.mec-day-event-title-row {
    display: flex;
    align-items: center;
    font-weight: 600;
    width: 100%;
}

.mec-day-event-time-row--with-actions {
    justify-content: space-between;
}

.mec-day-event-time-left {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.mec-month-view .mec-day-event .mec-event-edit-dropdown {
    position: absolute;
    top: 4px;
    right: 4px;
    opacity: 0;
    pointer-events: none;
}

.mec-month-view .mec-day-event:hover .mec-event-edit-dropdown,
.mec-month-view .mec-day-event:focus-within .mec-event-edit-dropdown {
    opacity: 1;
    pointer-events: auto;
}

.mec-day-event-time-row {
    color: #aa3931;
    line-height: 1.2;
    margin-bottom: 0;
    padding: 3px 0;
}


.mec-day-event-time-row .mec-recurring-indicator {
    margin-left: 0;
}

.mec-day-event-time-row .mec-register-indicator {
    display: inline-flex;
    width: 16px;
    height: 16px;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background: #059669;
    border-radius: 999px;
    line-height: 1;
    margin-left: 2px;
}

.mec-day-event-time-row .mec-register-indicator svg {
    width: 10px;
    height: 10px;
    display: block;
    color: #ffffff !important;
}

.mec-day-event-time-row .mec-register-indicator svg path,
.mec-day-event-time-row .mec-register-indicator svg circle {
    stroke: #ffffff !important;
}

.mec-day-event-tooltip-register-note {
    color: #059669 !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    padding-top: 5px !important;
}

.mec-day-event-tooltip-register-divider {
    border: 0;
    border-top: 1px solid #d1d5db;
    margin: 8px 0 0 !important;
}

.mec-calendar-wrapper .mec-day-event-tooltip .mec-day-event-tooltip-register-note-fixed,
.mec-week-shortcode .mec-day-event-tooltip .mec-day-event-tooltip-register-note-fixed {
    color: #059669 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    font-style: normal !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    margin: 0 !important;
    padding-top: 5px !important;
}

.mec-calendar-wrapper .mec-day-event-tooltip .mec-day-event-tooltip-title-fixed,
.mec-week-shortcode .mec-day-event-tooltip .mec-day-event-tooltip-title-fixed,
.mec-upcoming-card-tooltip .mec-day-event-tooltip-title-fixed {
    color: #000000 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    margin: 0 0 6px 0 !important;
}

.mec-upcoming-card-tooltip .mec-day-event-tooltip-text {
    margin: 0;
    font-size: 13px !important;
    line-height: 1.3 !important;
    color: var(--mec-gray-900);
}

.mec-upcoming-card-tooltip .mec-day-event-tooltip-note {
    margin: 0;
    padding-top: 10px;
    font-size: 12px !important;
    line-height: 1.4 !important;
    font-style: italic;
    color: var(--mec-gray-500) !important;
}

.mec-upcoming-card-tooltip .mec-day-event-tooltip-register-note-fixed {
    color: #059669 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    padding-top: 5px !important;
}

.mec-day-event-actions {
    position: absolute;
    top: 4px;
    right: 8px;
    display: inline-flex;
    align-items: center;
}

.mec-day-event-actions-toggle {
    display: none !important;
}

.mec-day-event-actions-dropdown {
    position: absolute;
    right: 0;
    top: 28px;
    background: var(--mec-white);
    border: 1px solid var(--mec-gray-200);
    border-radius: 6px;
    box-shadow: var(--mec-shadow);
    display: none;
    flex-direction: column;
    min-width: 180px;
    z-index: 20000;
}

.mec-day-event-actions-dropdown.show {
    display: flex;
}

.mec-day-event-actions-dropdown button {
    border: none;
    background: transparent;
    text-align: left;
    padding: 8px 12px;
    cursor: pointer;
    font-size: 13px;
    color: var(--mec-gray-800);
}

.mec-day-event-actions-dropdown button:hover {
    background: var(--mec-gray-100);
}

.mec-day-event.mec-all-day {
    background: var(--mec-primary);
    color: var(--mec-white);
    border-left: none;
}

.mec-day-event.mec-all-day:hover {
    background: var(--mec-primary-hover);
}

.mec-more-events {
    font-size: 11px;
    color: var(--mec-gray-500);
    padding: 2px 6px;
    cursor: pointer;
    font-weight: 500;
}

.mec-more-events:hover {
    color: var(--mec-primary);
}

.mec-more-events-hidden {
    margin-top: 4px;
}

/* List View */
.mec-list-view {
    padding: 32px 28px 40px;
    max-width: 855px;
    width: 100%;
    margin: 0 auto;
}

.mec-list-view.mec-list-has-inline-images {
    max-width: 955px;
}

.mec-events-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.mec-list-date-group {
    margin-bottom: 16px;
}

.mec-list-date-header {
    font-size: 13px;
    font-weight: 600;
    color: var(--mec-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--mec-gray-200);
    margin-bottom: 12px;
}

.mec-list-event-group {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 28px;
}

.mec-list-event-group-header {
    font-size: 15px;
    font-weight: 600;
    color: var(--mec-gray-600);
    letter-spacing: 0.02em;
    text-transform: capitalize;
}

.mec-list-event-group:last-child {
    margin-bottom: 16px;
}

.mec-list-event {
    display: grid;
    grid-template-columns: 85px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    background: #f5f6f8;
    border: 1px solid #e5e7eb;
    overflow: hidden;
    transition: border-color 0.2s ease;
    cursor: pointer;
}

.mec-list-view.mec-list-has-inline-images .mec-list-event {
    grid-template-columns: 85px minmax(0, 1fr) auto;
    gap: 12px;
}

.mec-list-view.mec-list-has-inline-images .mec-list-event.mec-list-event--has-inline-image {
    grid-template-columns: 85px 140px minmax(0, 1fr) auto;
    gap: 16px;
}

.mec-list-event+.mec-list-event {
    margin-top: 12px;
}

.mec-list-event:hover {
    border-color: #d1d5db;
}

.mec-list-event-actions {
    display: flex;
    align-items: center;
    gap: 25px;
    justify-content: flex-end;
}

.mec-list-event-thumb {
    display: none;
}

.mec-list-event-inline-media {
    width: 140px;
    height: 105px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    background: #ffffff;
    display: block;
}

.mec-list-event-inline-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mec-list-event-details-btn {
    display: inline-flex;
    padding: 6px 12px;
    border-radius: 6px;
    border: 1px solid transparent;
    background: transparent;
    color: var(--mec-primary);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: color 0.2s ease, border-color 0.2s ease;
}

.mec-list-event-details-btn:hover {
    border-color: var(--mec-primary);
    text-decoration: none;
}

.mec-list-event-thumb {
    width: 140px;
    height: 135px;
    overflow: hidden;
    border-radius: 0;
    border: 1px solid #e5e7eb;
    background: #fff;
}

.mec-list-event-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mec-list-event-date-square {
    width: 82px;
    /*! background-color: #e5e7eb; */
    border-right: 1px solid rgba(209, 213, 219, 0.5);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1rem 0;
    /*! border-radius: 1rem 0 0 1rem; */
}

.mec-list-event-date-square span {
    line-height: 1;
}

.mec-list-event-date-square .mec-list-event-month {
    font-size: 0.75rem;
    font-weight: 700;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0.25rem;
}

.mec-list-event-date-square .mec-list-event-daynum {
    font-size: 2.0rem;
    font-weight: 900;
    color: #1f2937;
}

.mec-list-event-body {
    flex: 1;
    /*! background-color: #f9fafb; */
    padding: 1rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    /*! max-width: calc(100% - 170px); */
}

.mec-list-event-time-row {
    display: flex;
    align-items: center;
    gap: 0.15rem;
}

.mec-list-event-time {
    font-size: 1rem !important;
    font-weight: 600;
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: #135e96 !important;
}

.mec-list-event-time-icon {
    width: 14px;
    height: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.mec-list-event-time-range {
    font-size: 1rem;
    font-weight: 600;
    color: #135e96;
    letter-spacing: 0;
    text-transform: none;
}

.mec-list-event-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #111827;
}

.mec-list-event-body .mec-list-event-description {
    font-size: 0.85rem !important;
    color: #6b7280 !important;
}



.mec-list-event-body .mec-list-event-description {
    font-size: 0.75rem;
    color: #6b7280;
    line-height: 1.4 !important;
    margin: 0;
    max-height: 2.6rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}


.mec-list-event-category-pill {
    margin-left: 10px !important;
    transform: translateY(-5px);
}



@media (max-width: 767px) {
    .mec-list-view {
        padding: 0 14px 12px;
        margin: 0;
        max-width: none;
    }



    .mec-list-event {
        grid-template-columns: auto 1fr;
        grid-template-rows: auto auto auto;
        padding: 18px 16px 0;
        border-radius: 0 !important;
    }

    .mec-list-view.mec-list-has-inline-images {
        max-width: none;
    }

    .mec-list-view.mec-list-has-inline-images .mec-list-event {
        grid-template-columns: auto 1fr;
    }

    .mec-list-view.mec-list-has-inline-images .mec-list-event.mec-list-event--has-inline-image {
        grid-template-columns: auto 1fr;
        gap: 12px;
    }

    .mec-list-event-body {
        padding-bottom: 0;
    }

    .mec-list-event-inline-media {
        display: none;
    }

    .mec-list-event-title {
        font-size: 16px;
        font-weight: 600;
    }

    .mec-list-event-time {
        font-size: 14px;
        font-weight: 600;
    }

    .mec-list-event-date-square {
        width: 56px;
        height: 56px;
    }

    .mec-list-event-details-btn {
        grid-column: 1 / -1;
        grid-row: 3;
        width: 100%;
        margin-top: 12px;
    }
}

.mec-list-event-meta {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 13px;
    color: var(--mec-gray-500);
}

.mec-list-event-meta span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.mec-list-event-location-line {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 14px;
    font-size: 13px;
    color: var(--mec-gray-600);
    padding-right: 2px;
}

.mec-list-event-location-line.has-address {
    background: #fbfbfb;
    padding: 8px 10px;
    border: 1px #dadada solid;
    margin-top: 6px;
}

.mec-list-event-location-copy {
    display: flex;
    align-items: flex-start;
    gap: 5px;
    flex: 1;
    min-width: 0;
}

.mec-list-event-location-icon {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--mec-gray-100);
    color: var(--mec-gray-500);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.mec-list-event-location-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 0;
}

.mec-list-event-location-text strong {
    font-size: 13px;
    font-weight: 700;
    color: var(--mec-gray-900);
}

.mec-list-event-location-address {
    font-size: 13px;
    color: var(--mec-gray-500);
    display: inline;
}

.mec-list-event-map-link {
    font-size: 13px;
    color: var(--mec-primary);
    text-decoration: none;
    font-weight: 600;
    white-space: nowrap;
    margin-left: 8px;
}

.mec-list-event-map-link:hover {
    text-decoration: underline;
}

.mec-list-event-details-btn {
    padding: 0.375rem 0.75rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.25rem;
    background: #ffffff;
    color: #374151;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: all 0.2s;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.mec-list-event-actions .mec-list-event-register-btn,
.mec-agenda-details-cell .mec-list-event-register-btn {
    border-color: #059669 !important;
    background: #ffffff !important;
    color: #059669 !important;
    text-decoration: none !important;
}

.mec-list-event-actions .mec-list-event-register-btn:hover,
.mec-list-event-actions .mec-list-event-register-btn:focus,
.mec-list-event-actions .mec-list-event-register-btn:active,
.mec-list-event-actions .mec-list-event-register-btn:visited,
.mec-agenda-details-cell .mec-list-event-register-btn:hover,
.mec-agenda-details-cell .mec-list-event-register-btn:focus,
.mec-agenda-details-cell .mec-list-event-register-btn:active,
.mec-agenda-details-cell .mec-list-event-register-btn:visited {
    border-color: #047857 !important;
    background: #ffffff !important;
    color: #059669 !important;
    text-decoration: none !important;
}

.b-row .b-block-content a.mec-list-event-register-btn,
.b-row .b-block-content a.mec-list-event-register-btn:link,
.b-row .b-block-content a.mec-list-event-register-btn:visited,
.b-row .b-block-content a.mec-list-event-register-btn:hover,
.b-row .b-block-content a.mec-list-event-register-btn:focus,
.b-row .b-block-content a.mec-list-event-register-btn:active {
    color: #059669 !important;
    text-decoration: none !important;
}



.mec-list-event-category {
    margin-top: 10px;
    margin-right: 6px;
}

.mec-list-no-events {
    text-align: center;
    padding: 60px 20px;
    color: var(--mec-gray-500);
}

.mec-list-no-events svg {
    width: 48px;
    height: 48px;
    margin-bottom: 12px;
    color: var(--mec-gray-300);
}

.mec-list-no-events p {
    font-size: 16px;
    margin: 0;
}

/* Loading Spinner */
.mec-loading {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    transition: var(--mec-transition);
}

.mec-loading.active {
    opacity: 1;
    visibility: visible;
}

.mec-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid var(--mec-gray-200);
    border-top-color: var(--mec-primary);
    border-radius: 50%;
    animation: mec-spin 0.8s linear infinite;
}

@keyframes mec-spin {
    to {
        transform: rotate(360deg);
    }
}

/* Modal Styles */
.mec-modal {
    position: fixed;
    inset: 0;
    z-index: 2147483646;
    isolation: isolate;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

body.mec-modal-scroll-lock {
    height: 100%;
    position: fixed;
    overflow: hidden;
    width: 100%;
    left: 0;
    right: 0;
    overscroll-behavior: none;
}

html.mec-modal-scroll-lock {
    height: 100%;
    overflow: hidden;
    overscroll-behavior: none;
}

.mec-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.72);
    z-index: 0;
}

.mec-modal-content {
    position: relative;
    width: 100%;
    max-width: 1000px;
    max-height: 90vh;
    background: var(--mec-white);
    border-radius: 12px;
    box-shadow: var(--mec-shadow-xl);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    animation: mec-modal-in 0.2s ease-out;
    z-index: 1;
    overscroll-behavior: contain;
}

.mec-event-modal .mec-modal-content {
    max-width: 750px;
    border-radius: 0;
    /* Keep the modal 20px from top/bottom (the .mec-modal has 20px padding). */
    max-height: calc(100vh - 40px);
}

/* Event modal header/footer to match the "New Event" layout */
.mec-event-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 33px 35px;
    border-bottom: 1px solid var(--mec-gray-200);
    background: var(--mec-white);
}

.mec-event-modal-title {
    margin: 0;
    font-size: 20px;
    line-height: 1.1;
    font-weight: 700;
    color: var(--mec-gray-900);
}

.mec-event-modal-header-actions {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.mec-event-modal-header-actions .mec-btn-cancel-link {
    background: transparent;
    border: 0;
    color: #dc2626;
    font-weight: 700;
    padding: 10px 8px;
}

.mec-event-modal-header-actions .mec-btn-cancel-link:hover {
    text-decoration: underline;
}

.mec-event-modal-save {
    background: #16a34a;
    border-color: #16a34a;
    color: #fff;
    border-radius: 6px;
    padding: 10px 14px;
    font-weight: 800;
}

.mec-event-modal-save:hover:not(:disabled) {
    background: #15803d;
    border-color: #15803d;
}

.mec-event-modal .mec-modal-x {
    width: 36px;
    height: 36px;
    border: 0;
    background: transparent;
    color: #dc2626 !important;
    font-size: 32px !important;
    font-weight: 800 !important;
    line-height: 1;
    cursor: pointer;
    border-radius: 6px;
    padding: 0;
    min-width: 36px;
}

.mec-event-modal .mec-modal-x:hover {
    background: var(--mec-gray-50);
    color: #b91c1c !important;
}

.mec-event-modal-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 29px 35px;
    border-top: 1px solid var(--mec-gray-200);
    background: #fafafa;
}

.mec-event-modal-footer .mec-btn-cancel-link {
    background: transparent;
    border: 0;
    padding: 10px 8px;
    color: var(--mec-gray-700);
    font-weight: 600;
}

.mec-event-modal-footer .mec-btn-cancel-link:hover {
    text-decoration: underline;
}

.mec-event-modal-footer .mec-btn-primary {
    background: #0b5cff;
    color: #fff;
    border: 1px solid #0b5cff;
    border-radius: 6px;
    padding: 10px 16px;
    font-weight: 700;
}

.mec-event-modal-footer .mec-btn-primary:hover:not(:disabled) {
    background: #094ed9;
    border-color: #094ed9;
}

.mec-event-modal-footer .mec-btn-secondary {
    border-radius: 6px;
    padding: 10px 14px;
    font-weight: 700;
}

.mec-modal,
.mec-modal-body,
.mec-event-view-body {
    overscroll-behavior: contain;
}

@keyframes mec-modal-in {
    from {
        opacity: 0;
        transform: scale(0.95) translateY(-10px);
    }

    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.mec-modal-small {
    max-width: 420px;
}

.mec-share-modal .mec-modal-content {
    max-width: 420px;
}

.mec-share-modal .mec-modal-body {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.mec-share-instructions {
    margin: 0;
    font-size: 14px;
    color: var(--mec-gray-600);
}

.mec-share-link-row {
    display: flex;
    gap: 8px;
    align-items: center;
}

.mec-share-link-row input {
    flex: 1;
    min-width: 0;
    padding: 8px 10px;
    border-radius: 6px;
    border: 1px solid var(--mec-gray-300);
    font-size: 14px;
}

.mec-share-copy-status {
    font-size: 13px;
    color: var(--mec-success);
    min-height: 18px;
    display: none;
}

.mec-event-view-modal .mec-modal-content {
    max-height: min(1100px, calc(100vh - 40px));
    height: auto;
}

.mec-event-view-modal .mec-modal-body {
    max-height: none;
    overflow: visible;
}

.mec-day-events-modal .mec-modal-content {
    max-width: 620px;
    width: 100%;
    margin: 0 auto;
}

.mec-day-events-modal {
    z-index: 2147483647 !important;
}

.mec-day-events-modal .mec-modal-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 0;
}

.mec-day-events-header {
    font-weight: 600;
    color: #0f172a;
    padding: 0 24px;
    font-size: 18px;
}

.mec-day-events-modal .mec-events-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 0 20px 24px;
}

.mec-event-view-modal {
    align-items: center;
    z-index: 2147483647;
}

.mec-event-view-modal .mec-modal-content {
    max-width: 500px;
    width: 100%;
    border-radius: 18px;
    box-shadow: var(--mec-shadow-xl);
}

.mec-event-view-content {
    max-width: 600px;
    width: 100%;
    max-height: 600px;
}

.mec-event-view-content.admin-tools {
    max-width: 760px;
}

@media (max-width: 768px) {
    .mec-event-view-modal .mec-modal-content {
        padding: 0;
    }

    .mec-event-view-content {
        max-width: 100%;
        padding: 0;
        border-radius: 0;
    }

    .mec-event-view-body {
        padding: 16px;
        gap: 16px;
    }

    .mec-event-view-top {
        flex-direction: column;
        gap: 16px;
    }

    .mec-event-view-date-pill {
        width: 64px;
        height: 64px;
    }

    .mec-event-view-date-day {
        font-size: 11px;
    }

    .mec-event-view-date-number {
        font-size: 24px;
    }

    .mec-event-view-actions-column {
        border-left: none;
        border-top: 1px solid #e5e7eb;
        padding: 12px 0 0;
        width: 100%;
        margin-top: 0;
    }

    .mec-event-view-actions-column .mec-event-view-action {
        font-size: 14px;
    }

    .mec-event-view-body.has-admin-tools {
        grid-template-columns: 1fr;
    }

    .mec-view-toggle {
        display: none;
    }

    .mec-mobile-view-select-wrap {
        display: block;
    }

    .mec-list-controls,
    .mec-month-search-controls {
        display: grid;
        grid-template-columns: max-content minmax(0, 1fr);
        align-items: center;
        column-gap: 10px;
        row-gap: 8px;
        padding: 12px 14px;
    }

    .mec-list-controls .mec-search-box,
    .mec-month-search-controls .mec-search-box {
        flex: 1 1 auto;
        width: auto;
        max-width: none;
    }

    .mec-mobile-view-select {
        height: 40px;
        min-width: 94px;
        padding: 0 28px 0 10px;
    }

    .mec-list-controls .mec-mobile-view-select-wrap,
    .mec-month-search-controls .mec-mobile-view-select-wrap {
        grid-column: 1;
    }

    .mec-list-controls .mec-search-box,
    .mec-month-search-controls .mec-search-box {
        grid-column: 2;
    }

    .mec-list-controls .mec-header-category,
    .mec-month-search-controls .mec-header-category {
        grid-column: 1 / -1;
        width: 100%;
        margin-top: 2px;
    }

    .mec-list-controls .mec-header-category .mec-category-header-filter,
    .mec-month-search-controls .mec-header-category .mec-category-header-filter {
        width: 100%;
        height: 40px;
    }
}

@media (max-width: 540px) {
    .mec-event-view-modal .mec-modal-content {
        max-width: 100%;
        margin: 0 8px;
    }

    .mec-event-view-content {
        padding-bottom: 8px;
    }

    .mec-event-view-body {
        padding: 12px;
        gap: 12px;
    }

    .mec-event-view-body.has-admin-tools {
        gap: 12px;
    }

    .mec-event-view-actions-column {
        padding: 8px 0 0;
    }
}

@media (max-width: 420px) {
    .mec-event-view-modal .mec-modal-content {
        border-radius: 0;
        margin: 0;
        max-width: 100%;
        width: 100%;
    }

    .mec-event-view-top {
        padding: 0;
    }

    .mec-event-view-date-pill {
        width: 54px;
        height: 54px;
    }

    .mec-event-view-body {
        padding: 10px;
    }

    .mec-event-view-actions-column {
        padding: 6px 0 0;
    }
}


.mec-event-view-body {
    display: flex;
    flex-direction: column;
    padding: 20px;
    overflow-y: auto;
}

/* NEW: Wrapper for the top row (Details + Admin Actions) */
.mec-event-view-top {
    display: flex;
    flex-direction: row;
    gap: 24px;
    width: 100%;
}


.mec-event-view-body.has-admin-tools {
    grid-template-columns: minmax(0, 3fr) minmax(220px, 1fr);
    grid-template-rows: auto auto;
    align-items: start;
}

.mec-event-view-data {
    flex: 1;
    /* Takes full width by default */
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.mec-event-view-heading h4 {
    font-size: 20px;
    font-weight: 600;
    color: var(--mec-gray-900);
    margin: 0;
    grid-column: 1 / 2;
}

.mec-event-view-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    font-size: 15px;
    color: var(--mec-gray-700);
    grid-column: 1 / 2;
    padding: 12px 14px;
    background: #f7f7f7;
    border-radius: 10px;
}

.mec-event-view-label {
    font-weight: 700;
    color: var(--mec-gray-500);
    flex-shrink: 0;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 11px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.mec-event-view-value {
    flex: 1;
    text-align: right;
    font-size: 17px;
    font-weight: 700;
    color: var(--mec-gray-900);
}

.mec-event-view-label .mec-icon {
    width: 20px;
    height: 20px;
}

.mec-value {
    font-size: 1.6rem !important;
    font-weight: 700;
    color: #1d4ed8 !important;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.mec-value .mec-icon {
    width: 22px;
    height: 22px;
}

#mec-event-view-when {
    font-size: 16px;
    font-weight: 700;
    color: #de0011;
}


.mec-event-view-location-address {
    font-size: 13px;
    color: var(--mec-gray-600);
    margin-top: 2px;
    line-height: 1.4;
}

.mec-event-view-description {
    border-top: 1px solid var(--mec-gray-200);
    padding-top: 20px;
    margin-top: 15px;
    width: 100%;
    grid-column: 1 / -1;
}

#mec-event-view-featured {
    margin-top: 16px;
}

#mec-event-view-featured img {
    width: 100%;
    border-radius: 0;
    border: 1px solid #e5e7eb;
    display: block;
}

#mec-event-view-description .mec-event-view-description-text {
    font-size: 14px !important;
    line-height: 1.4;
    color: var(--mec-gray-700);
    margin: 0;
    width: 100%;
    display: block;
    padding-top: 0;
}

#mec-event-view-description .mec-event-view-description-text p {
    margin: 0 0 12px;
    font-size: 15px !important;
    line-height: 1.7;
}

#mec-event-view-description p {
    margin: 0 0 12px;
    font-size: 15px;
    line-height: 1.7;
    color: var(--mec-gray-700);
}

.mec-event-view-heading,
.mec-event-view-row {
    width: 100%;
}


.mec-event-view-general-link {
    border-top: 1px solid var(--mec-gray-200);
    padding-top: 16px;
    margin-top: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    width: 100%;
}

.mec-event-view-general-link a,
.mec-event-view-general-link button,
.mec-event-view-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    background: #fff;
    border: 1px solid #4b5563;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 500;
    color: #374151;
    cursor: pointer;
    text-decoration: none !important;
    transition: background-color 0.15s, border-color 0.15s;
}

.mec-event-view-general-link a:hover,
.mec-event-view-general-link button:hover,
.mec-event-view-action-btn:hover {
    background: #f3f4f6;
    border-color: #374151;
    text-decoration: none !important;
}

.mec-event-view-action-btn svg {
    flex-shrink: 0;
    width: 14px;
    height: 14px;
}

.mec-reminder-modal .mec-modal-content {
    max-width: 400px;
}

.mec-reminder-modal .mec-form-row {
    margin-bottom: 12px;
}

.mec-reminder-modal label {
    display: block;
    margin-bottom: 4px;
    font-weight: 600;
    font-size: 13px;
    color: var(--mec-gray-700);
}

.mec-reminder-modal input[type="email"],
.mec-reminder-modal select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--mec-gray-300);
    border-radius: 6px;
    font-size: 14px;
}

.mec-reminder-modal input[type="email"]:focus,
.mec-reminder-modal select:focus {
    outline: none;
    border-color: var(--mec-primary);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.mec-reminder-status {
    font-size: 13px;
    min-height: 20px;
}

.mec-reminder-status.success {
    color: #059669;
}

.mec-reminder-status.error {
    color: #dc2626;
}

.mec-reminder-instructions {
    margin: 0 0 16px 0;
    font-size: 14px;
    color: var(--mec-gray-600);
}

.mec-event-view-data>* {
    /*! margin-bottom: 16px; */
}

.mec-event-view-data>*:last-child {
    margin-bottom: 0;
}

.mec-event-view-category-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 12px;
    border-radius: 999px;
    background: transparent;
    border: 1px solid currentColor;
    font-size: 13px;
}

.mec-event-view-actions-column {
    background: transparent;
    border: none;
    padding: 0;
    min-width: 160px;
    display: none;
    flex-direction: column;
    gap: 0;
    align-self: flex-start;
    margin-top: 30px;
}

.mec-event-view-body.has-admin-tools .mec-event-view-actions-column {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    display: flex;
}

.mec-event-view-actions-group {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 8px 0;
    border-bottom: 1px solid var(--mec-gray-200);
}

.mec-event-view-actions-group:last-child {
    border-bottom: none;
}

.mec-event-view-actions-column .mec-event-view-action {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
    font-size: 13px;
    font-weight: 400;
    text-decoration: none;
    cursor: pointer;
    transition: color 0.15s ease;
    white-space: nowrap;
    color: #107c10;
}

.mec-event-view-actions-column .mec-event-view-action:hover {
    opacity: 0.8;
}

.mec-event-view-actions-column .mec-event-view-action svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

.mec-event-view-actions-column .mec-event-view-action.mec-action-delete,
.mec-event-view-actions-column a.mec-action-delete {
    color: #d13438 !important;
}

.mec-event-view-actions-column .mec-event-view-action.mec-action-delete svg,
.mec-event-view-actions-column a.mec-action-delete svg {
    color: #d13438 !important;
}

.mec-event-view-body.has-admin-tools .mec-event-view-actions-column {
    display: flex;
}

.mec-event-view-actions-group.mec-event-view-action-recurring,
.mec-event-view-actions-group.mec-event-view-action-single {
    display: none;
}

.mec-event-view-actions-column.single-event .mec-event-view-actions-group.mec-event-view-action-single {
    display: flex;
}

.mec-event-view-actions-column.has-recurring .mec-event-view-actions-group.mec-event-view-action-recurring {
    display: flex;
}




.mec-event-view-badge {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 999px;
    margin-right: 6px;
    vertical-align: middle;
}

.mec-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid var(--mec-gray-200);
    flex-shrink: 0;
    background: var(--mec-white);
    gap: 12px;
    border-radius: 12px 12px 0 0;
}

.mec-event-view-modal .mec-modal-header {
    border-radius: 18px 18px 0 0;
}

.mec-modal-header-left {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
}

.mec-modal-header-right {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 20px;
}

.mec-modal-kicker {
    font-size: 11px;
    font-weight: 500;
    color: var(--mec-gray-500);
    letter-spacing: 0.32em;
    text-transform: uppercase;
}

.mec-modal-header .mec-btn {
    padding: 6px 14px;
    font-size: 13px;
}

/* Cancel button as red link */
.mec-modal-header .mec-btn-cancel-link {
    background: transparent;
    border: none;
    color: var(--mec-danger);
    padding: 6px 0;
    font-weight: 500;
}

.mec-modal-header .mec-btn-cancel-link:hover {
    background: transparent;
    text-decoration: none;
    opacity: 0.8;
}

.mec-modal-title {
    font-size: 12px;
    font-weight: 600;
    color: var(--mec-gray-500);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.mec-modal-close {
    background: none;
    border: none;
    color: var(--mec-primary);
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    padding: 0;
    text-decoration: none;
}

.mec-modal-close:hover {
    text-decoration: underline;
}

.mec-modal-cancel {
    background: none;
    border: none;
    color: var(--mec-danger);
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    padding: 0;
}

.mec-modal-cancel:hover {
    text-decoration: underline;
}

.mec-event-modal .mec-modal-cancel {
    text-decoration: none;
    color: var(--mec-danger);
}

.mec-event-modal .mec-modal-cancel:hover {
    text-decoration: none;
}

.mec-location-settings-modal .mec-modal-cancel {
    text-decoration: underline;
}

/* Sub-modals (category, location, delete) appear above main modal */
.mec-sub-modal {
    z-index: 2147483647;
}

.mec-modal-body {
    padding: 20px;
}

/* Event Form */
.mec-event-form {
    padding: 33px 35px 25px;
    overflow-y: auto;
    /* Let the form take the remaining height inside the modal and scroll. */
    flex: 1 1 auto;
    max-height: none;
}

.mec-event-modal .mec-form-row {
    margin-bottom: 22px;
}

.mec-event-modal .mec-form-row-half {
    margin-bottom: 22px;
}

.mec-event-modal .mec-form-row-half .mec-form-row {
    margin-bottom: 0;
}

.mec-event-modal .mec-form-row label {
    font-size: 15px;
    font-weight: 600;
    color: var(--mec-gray-900);
    margin-bottom: 8px;
}

.mec-event-modal .mec-form-row input[type="text"],
.mec-event-modal .mec-form-row input[type="url"],
.mec-event-modal .mec-form-row input[type="date"],
.mec-event-modal .mec-form-row input[type="time"],
.mec-event-modal .mec-form-row textarea,
.mec-event-modal .mec-form-row select {
    border-radius: 6px;
    height: 40px;
    font-size: 14px;
}

.mec-event-modal .mec-form-row textarea {
    height: auto;
}

.mec-event-form-grid {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
    gap: 24px;
    align-items: flex-start;
    margin-bottom: 16px;
}

.mec-event-modal .mec-event-form-grid {
    grid-template-columns: minmax(0, 1fr);
}

.mec-event-main-col,
.mec-event-dates-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.mec-event-dates-col .mec-form-row {
    margin-bottom: 0;
}

.mec-event-actions-panel {
    margin-top: 20px;
    border: 1px solid var(--mec-gray-200);
    border-radius: 8px;
    background: var(--mec-gray-50);
    padding: 14px;
}

.mec-event-actions-panel h4 {
    font-size: 13px;
    font-weight: 700;
    margin: 0 0 10px;
    color: var(--mec-gray-700);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.mec-event-actions-stack {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mec-event-actions-panel .mec-btn {
    width: 100%;
    justify-content: flex-start;
}

.mec-event-actions-note {
    margin-top: 10px;
    font-size: 13px;
    color: var(--mec-gray-600);
    min-height: 18px;
}

.mec-form-row {
    margin-bottom: 16px;
}

.mec-form-row.mec-repeat-row .mec-repeat-row-controls {
    display: flex;
    gap: 8px;
    align-items: center;
    width: 100%;
}

.mec-form-row.mec-repeat-row .mec-repeat-row-controls select {
    flex: 1;
}

.mec-form-row.mec-form-row-title-image {
    margin-bottom: 0;
}

.mec-title-image-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 230px;
    gap: 12px;
    align-items: end;
}

.mec-ghost-label {
    display: block;
    /* Make the upload control align with the input row (not between label and input). */
    height: 28px;
    margin: 0;
}

.mec-title-image-grid .mec-title-field,
.mec-title-image-grid .mec-image-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.mec-featured-image-drop--inline {
    width: 100%;
    border: 2px solid #0b5cff;
    border-radius: 6px;
    background: #f2f7ff;
    padding: 10px 10px;
    color: #0b5cff;
    font-weight: 700;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mec-image-field {
    align-self: end;
}

.mec-image-field.has-featured-image .mec-ghost-label {
    height: 0;
    display: none;
}

.mec-featured-image-drop--inline span {
    font-size: 14px;
}

.mec-form-row.mec-form-row-datetime {
    padding-top: 22px;
}

.mec-form-row.mec-form-row-datetime .mec-datetime-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.mec-form-row.mec-form-row-datetime input[type="date"] {
    width: 160px;
}

.mec-time-field {
    position: relative;
    width: 120px;
}

.mec-time-input {
    width: 100%;
}

.mec-time-sep {
    color: var(--mec-gray-600);
    font-weight: 700;
    padding: 0 2px;
}

.mec-enter-end-inline {
    margin: 0 0 0 6px;
    user-select: none;
    display: flex;
    align-items: center;
    gap: 8px;
    height: 40px; /* match input height for vertical centering */
    font-weight: 400;
    align-self: center;
}

.mec-enter-end-inline span {
    font-weight: 400;
}

.mec-enter-end-inline .mec-enter-end-emphasis {
    font-weight: 700;
}

.mec-enter-end-inline input[type="checkbox"] {
    margin: 0;
}

.mec-enter-end-wrap {
    padding-top: 0;
}

.mec-end-fields {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.mec-repeat-all-day {
    margin-left: auto;
    white-space: nowrap;
}

#mec-featured-image-drop {
    margin-top: 0;
    transform: translateY(10px);
}

.mec-form-divider {
    border: 0;
    border-top: 1px solid var(--mec-gray-200);
    margin: 18px 0;
}

.mec-event-advanced.hidden {
    display: none;
}

.mec-more-options-row {
    margin-top: 8px;
}

.mec-more-options-full {
    width: 100%;
    justify-content: center;
    padding: 12px 14px;
}

.mec-advanced-links-row {
    display: flex;
    gap: 10px;
}

.mec-link-btn {
    border: 0;
    background: transparent;
    color: var(--mec-primary);
    font-weight: 700;
    padding: 0;
    cursor: pointer;
    text-decoration: underline;
}

.mec-time-suggestions {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: var(--mec-white);
    border: 1px solid var(--mec-gray-200);
    border-radius: 8px;
    box-shadow: var(--mec-shadow);
    padding: 6px;
    z-index: 2147483646;
    display: none;
}

.mec-time-suggestions.open {
    display: block;
}

.mec-time-suggestions button {
    width: 100%;
    text-align: left;
    border: none;
    background: transparent;
    padding: 8px 10px;
    border-radius: 6px;
    cursor: pointer;
    color: var(--mec-gray-800);
    font-size: 13px;
    font-weight: 400;
}

.mec-time-suggestions button:hover,
.mec-time-suggestions button[aria-selected="true"] {
    background: var(--mec-gray-50);
}

.mec-start-date-label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.mec-start-date-label-row .mec-checkbox-label {
    margin: 0;
}

.mec-end-fields.hidden {
    display: none;
}

.mec-select-with-button {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.mec-select-with-button select,
.mec-select-with-button input[type="text"] {
    flex: 1;
}

.mec-category-field {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.mec-category-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    margin-left: auto;
    margin-top: 6px;
}

.mec-select-with-button .mec-open-location-settings {
    height: 44px;
    align-items: center;
    display: inline-flex;
    padding: 0 12px;
}

.mec-settings-pill {
    width: 220px;
    height: 44px;
    border-radius: 6px;
    border: 1px solid #0f172a;
    color: #0f172a;
    font-weight: 400;
    background: transparent;
    justify-content: center;
    transition: background 0.2s ease, color 0.2s ease;
}

.mec-settings-pill:hover {
    background: rgba(15, 23, 42, 0.08);
}

.mec-category-actions .mec-settings-pill,
.mec-select-with-button .mec-settings-pill {
    margin-left: auto;
}

.mec-select-with-button .mec-open-location-settings,
.mec-category-actions .mec-open-category-settings {
    border: 1px solid #0f172a;
    color: #0f172a;
    font-weight: 400;
    background: transparent;
    justify-content: center;
    transition: background 0.2s ease, color 0.2s ease;
    height: 44px;
}

.mec-select-with-button .mec-open-location-settings:hover,
.mec-category-actions .mec-open-category-settings:hover {
    background: rgba(15, 23, 42, 0.08);
}

.mec-event-form.all-day .mec-form-row-start-time,
.mec-event-form.all-day .mec-form-row-enter-end {
    display: none;
}

.mec-category-checkboxes {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
    padding: 6px 0;
    max-height: 72px;
    overflow-y: auto;
}

.mec-category-checkbox-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border: 1px solid var(--mec-gray-300);
    border-radius: 999px;
    font-size: 13px;
    cursor: pointer;
    background: var(--mec-white);
    transition: border-color 0.2s ease, background 0.2s ease;
    white-space: nowrap;
}

.mec-category-checkbox-item input[type="checkbox"] {
    width: 16px;
    height: 16px;
}

.mec-category-checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.mec-category-checkbox-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 1px solid transparent;
}

.mec-category-checkbox-item input[type="checkbox"]:checked+.mec-category-checkbox-label {
    font-weight: 600;
}

.mec-category-add-row .mec-category-add-inline {
    display: flex;
    gap: 8px;
    align-items: center;
}

.mec-category-add-inline input[type="text"] {
    flex: 1;
}

.mec-category-add-inline .mec-btn {
    flex-shrink: 0;
}

.mec-category-add-inline input[type="text"],
.mec-category-add-inline .mec-btn,
.mec-category-color-input {
    height: 44px;
}

.mec-location-add-row .mec-location-add-inline {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.mec-location-add-inline input[type="text"] {
    flex: 1;
}

.mec-location-add-inline .mec-btn {
    flex-shrink: 0;
}

.mec-location-add-inline input[type="text"],
.mec-location-add-inline .mec-btn {
    height: 44px;
}

.mec-category-color-input {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid var(--mec-gray-300);
    padding: 0;
    -webkit-appearance: none;
    appearance: none;
}

.mec-modal-divider {
    border: 0;
    border-top: 1px solid var(--mec-gray-200);
    margin: 16px 0 12px;
}

.mec-category-manage-heading {
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--mec-gray-600);
}

.mec-category-checkbox-item.is-active {
    border-color: var(--mec-primary);
    background: rgba(37, 99, 235, 0.07);
}

.mec-select-button-group {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.mec-location-field-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
}

.mec-location-field-wrapper input[type="text"] {
    flex: 1;
    min-width: 150px;
}

.mec-select-with-button select[multiple] {
    min-height: 120px;
}

/* Recurrence summary */
.mec-recurrence-summary {
    margin: 0;
    padding: 8px 12px;
    background: var(--mec-gray-50);
    border: 1px solid var(--mec-gray-200);
    border-radius: 6px;
    font-size: 13px;
    color: var(--mec-gray-700);
    white-space: nowrap;
}

.mec-recurrence-summary .mec-edit-recurrence {
    color: var(--mec-primary);
    cursor: pointer;
    margin-left: 8px;
    font-weight: 500;
}

.mec-recurrence-summary .mec-edit-recurrence:hover {
    text-decoration: underline;
}

/* Recurrence modal body */
#mec-recurrence-modal .mec-modal-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

#mec-recurrence-modal .mec-weekdays-selection,
#mec-recurrence-modal .mec-pattern-panel,
#mec-recurrence-modal .mec-recurrence-end-section {
    padding-top: 12px;
    border-top: 1px solid var(--mec-gray-200);
}

#mec-recurrence-modal .mec-monthly-dow {
    display: flex;
    gap: 8px;
    margin-top: 8px;
}

#mec-recurrence-modal .mec-monthly-dow select {
    flex: 1;
}

.mec-pattern-panel select {
    padding: 10px 12px;
    border-radius: 6px;
    border: 1px solid var(--mec-gray-300);
    background: var(--mec-white);
    font-size: 14px;
}

.mec-pattern-panel {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 12px;
}

.mec-pattern-select {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.mec-pattern-description {
    min-height: 20px;
    font-size: 13px;
    color: var(--mec-gray-600);
}

.mec-weekly-plain-summary {
    margin-top: 10px;
    font-size: 13px;
    font-weight: 500;
    color: var(--mec-gray-700);
}

/* Manage modals (category, location) */
.mec-manage-modal .mec-modal-content {
    max-width: 420px;
}

.mec-location-settings-modal .mec-modal-content {
    max-width: 520px;
}

.mec-jump-modal-content {
    max-width: 300px;
}

.mec-manage-modal .mec-modal-body {
    padding: 12px 16px;
    max-height: none;
    overflow-y: visible;
}

.mec-recurrence-modal .mec-modal-content {
    max-width: 500px !important;
    width: 100%;
    min-height: 650px;
    max-height: none;
    overflow: visible;
    border-radius: 20px 20px 12px 12px;
}

.mec-recurrence-only .mec-modal-content {
    max-width: 500px !important;
    width: 100%;
    min-height: 650px;
    max-height: none;
    overflow: visible;
    border-radius: 20px 20px 12px 12px;
}

.mec-category-settings-modal .mec-modal-content,
.mec-location-settings-modal .mec-modal-content {
    max-width: 710px;
}

.mec-sub-modal .mec-modal-header {
    grid-template-columns: auto 1fr auto;
    gap: 10px;
    align-items: center;
}

.mec-sub-modal .mec-modal-header-left {
    display: none;
}

.mec-sub-modal .mec-modal-title {
    text-align: left;
    font-size: 13px;
    margin: 0;
}

.mec-sub-modal .mec-modal-header-right {
    justify-content: flex-start;
    gap: 10px;
}

.mec-sub-modal .mec-btn {
    padding: 5px 12px;
    font-size: 12px;
}

.mec-sub-modal .mec-modal-body {
    padding: 12px 16px;
    text-align: left;
}

.mec-category-settings-modal .mec-modal-header-right,
.mec-location-settings-modal .mec-modal-header-right {
    justify-content: flex-end;
    gap: 10px;
}

#mec-recurrence-modal .mec-modal-header {
    grid-template-columns: 1fr auto;
}

#mec-recurrence-modal .mec-modal-header-right {
    grid-column: 2 / 3;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
}

.mec-cancel-link {
    color: #dc2626;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
}

.mec-cancel-link:hover {
    text-decoration: underline;
    color: #b91c1c;
}

.mec-recurrence-frequency-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(160px, 1fr);
    grid-template-rows: auto auto;
    gap: 8px;
    align-items: flex-start;
}

.mec-frequency-count {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
}

.mec-frequency-count input,
.mec-frequency-select select {
    width: 100%;
}

.mec-frequency-select {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    display: flex;
    justify-content: flex-end;
    margin-top: 2px;
}

.mec-screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.mec-manage-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mec-manage-list:empty::after {
    content: "No items yet";
    color: var(--mec-gray-500);
    font-size: 14px;
    text-align: center;
    padding: 20px;
}

.mec-manage-row {
    display: grid;
    grid-template-columns: 44px 1fr auto auto;
    gap: 8px;
    align-items: center;
    padding: 8px 12px;
    background: var(--mec-gray-50);
    border-radius: 6px;
    border: 1px solid var(--mec-gray-200);
}

.mec-manage-row input[type="text"] {
    width: 100%;
    padding: 6px 10px;
    font-size: 13px;
    border: 1px solid var(--mec-gray-300);
    border-radius: 4px;
    background: var(--mec-white);
}

.mec-manage-row input[type="text"]:focus {
    outline: none;
    border-color: var(--mec-primary);
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.1);
}

.mec-manage-row input[type="color"] {
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid var(--mec-gray-300);
    border-radius: 50%;
    cursor: pointer;
}

.mec-manage-row .mec-btn {
    padding: 5px 10px;
    font-size: 12px;
}

.mec-location-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)) auto auto;
    gap: 8px;
    align-items: center;
    padding: 8px 12px;
    background: var(--mec-gray-50);
    border-radius: 6px;
    border: 1px solid var(--mec-gray-200);
}

.mec-location-row input[type="text"] {
    width: 100%;
    padding: 6px 10px;
    font-size: 13px;
    border: 1px solid var(--mec-gray-300);
    border-radius: 4px;
    background: var(--mec-white);
}

.mec-location-row input[type="text"]:focus {
    outline: none;
    border-color: var(--mec-primary);
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.1);
}

.mec-location-row .mec-btn {
    padding: 5px 10px;
    font-size: 12px;
}

/* Add Category form in modal */
#mec-category-add-form .mec-form-row {
    margin-bottom: 16px;
}

#mec-category-add-form .mec-form-row:last-child {
    margin-bottom: 0;
}

#mec-category-add-form input[type="color"] {
    width: 60px;
    height: 36px;
    padding: 4px;
    border: 1px solid var(--mec-gray-300);
    border-radius: 6px;
    cursor: pointer;
}

.mec-form-row label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--mec-gray-900);
    margin-bottom: 6px;
}

.mec-field-label-with-links {
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}



.mec-label-links {
    display: inline-flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}

.mec-link-text {
    font-size: 13px;
    font-weight: 600;
    padding-left: 20px;
    color: var(--mec-primary);
    text-decoration: none;
    transition: color 0.2s ease;
}

.mec-event-modal .mec-link-text {
    padding-left: 0;
}

.mec-link-text:hover,
.mec-link-text:focus {
    text-decoration: underline;
}

.mec-form-row.mec-featured-image-row {
    flex-direction: column;
    gap: 6px;
    align-items: flex-start;
    align-self: stretch;
    width: 100%;
}

.mec-featured-image-drop {
    border: 1px dashed #cbd5f5;
    padding: 20px 10px;
    border-radius: 8px;
    background: #f7f8fb;
    text-align: center;
    color: #506085;
    font-size: 0.85rem;
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease;
    width: 230px;
    position: relative;
    overflow: hidden;
}

.mec-featured-image-drop.drag-over {
    border-color: #2563eb;
    background: #eef2ff;
}

.mec-featured-image-drop.uploading {
    opacity: 0.6;
}

.mec-featured-image-drop.has-image {
    padding: 0;
    border-style: solid;
    border-color: #dbeafe;
    background: #eff6ff;
    height: 64px;
    display: block;
}

.mec-featured-image-drop.has-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mec-featured-image-drop.has-image .mec-featured-image-remove {
    position: absolute;
    top: 6px;
    right: 6px;
    z-index: 3;
}

.mec-featured-image-change {
    position: absolute;
    left: 8px;
    bottom: 6px;
    font-size: 12px;
    font-weight: 600;
    color: #0b5cff;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 999px;
    padding: 2px 8px;
    opacity: 0;
    transition: opacity 0.15s ease;
    pointer-events: none;
}

.mec-featured-image-drop.has-image:hover .mec-featured-image-change {
    opacity: 1;
}

.mec-featured-image-preview {
    margin-top: 4px;
    width: 160px;
}

.mec-featured-image-preview img {
    width: 100%;
    height: auto;
    border-radius: 6px;
    border: 1px solid #e5e7eb;
}

.mec-featured-image-preview-inner {
    position: relative;
    display: inline-block;
    width: 100%;
}

.mec-featured-image-remove {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.9);
    color: #c53030;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

.mec-featured-image-preview {
    margin-top: 4px;
    width: 160px;
}

.mec-featured-image-preview img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
}

.mec-featured-image-remove {
    z-index: 3;
}

.mec-form-row label .required {
    color: var(--mec-danger);
}

.mec-form-row label[for="mec-event-description"] {
    margin-bottom: -20px;
}

.mec-event-modal .mec-form-row-description > label[for="mec-event-description"] {
    position: relative;
    top: 18px;
    margin-bottom: -10px;
    pointer-events: none;
}

.mec-event-modal .mec-form-row-description .mec-description-editor {
    margin-top: 0;
}

#wp-mec-event-description-wrap,
#wp-mec-event-description-wrap *,
#wp-mec-event-description-wrap iframe {
    pointer-events: auto !important;
}

.mec-form-row input[type="text"],
.mec-form-row input[type="url"],
.mec-form-row input[type="date"],
.mec-form-row input[type="time"],
.mec-form-row input[type="number"],
.mec-form-row textarea,
.mec-form-row select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--mec-gray-300);
    border-radius: 6px;
    font-size: 14px;
    color: var(--mec-gray-900);
    background: var(--mec-white);
    transition: var(--mec-transition);
}

.mec-form-row input[type="date"]::-webkit-calendar-picker-indicator,
.mec-form-row input[type="date"]::-webkit-inner-spin-button {
    cursor: pointer;
}

.mec-form-row input[type="date"]::-webkit-calendar-picker-indicator {
    background-color: transparent;
    border-radius: 6px;
    padding: 5px;
    margin-right: 2px;
    box-shadow: inset 0 0 0 1px #d1d5db, inset 0 1px 2px rgba(0, 0, 0, 0.05);
    color: #111;
    fill: #111;
    filter: none;
}

.mec-form-row input[type="time"]::-webkit-clear-button,
.mec-form-row input[type="time"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
}

.mec-form-row input[type="time"]::-webkit-calendar-picker-indicator {
    background-color: transparent;
    border-radius: 6px;
    padding: 5px;
    margin-right: 2px;
    box-shadow: inset 0 0 0 1px #d1d5db, inset 0 1px 2px rgba(0, 0, 0, 0.05);
    color: #111;
    fill: #111;
    filter: none;
}

.mec-form-row input:focus,
.mec-form-row textarea:focus,
.mec-form-row select:focus {
    outline: none;
    border-color: var(--mec-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.mec-form-row textarea {
    resize: vertical;
    min-height: 80px;
}

.mec-form-row-half {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.mec-form-row-inline {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.mec-form-row-checkbox {
    margin-bottom: 12px;
}

.mec-form-col {
    display: flex;
    flex-direction: column;
}

.mec-checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    cursor: pointer;
    font-size: 14px;
    color: var(--mec-gray-700);
}

.mec-checkbox-label input[type="checkbox"] {
    width: 15px;
    height: 15px;
    accent-color: var(--mec-primary);
    cursor: pointer;
    margin-right: 5px !important;
}

.mec-small-input {
    width: 70px !important;
}

.mec-date-input {
    width: 150px !important;
}

/* Form Section */
.mec-form-section {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--mec-gray-200);
}

.mec-form-section h4 {
    font-size: 14px;
    font-weight: 600;
    color: var(--mec-gray-800);
    margin: 0 0 16px;
}

.mec-event-view-general-link {

    gap: 20px !important;

}

/* Recurrence Options */
.mec-recurrence-options {
    background: var(--mec-gray-50);
    padding: 16px;
    border-radius: 8px;
    margin-top: 12px;
}

.mec-recurrence-options .mec-form-row {
    margin-bottom: 12px;
}

.mec-recurrence-options .mec-form-row:last-child {
    margin-bottom: 0;
}

/* Weekday Selection */
.mec-weekdays-selection {
    margin-top: 12px;
}

.mec-weekday-buttons {
    display: flex;
    gap: 6px;
    margin-top: 8px;
}

.mec-weekday-btn {
    cursor: pointer;
}

.mec-weekday-btn input {
    display: none;
}

.mec-weekday-btn span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--mec-gray-300);
    border-radius: 50%;
    font-size: 12px;
    font-weight: 600;
    color: var(--mec-gray-600);
    background: var(--mec-white);
    transition: var(--mec-transition);
}

.mec-weekday-btn input:checked+span {
    background: var(--mec-primary);
    border-color: var(--mec-primary);
    color: var(--mec-white);
}

.mec-weekday-btn:hover span {
    border-color: var(--mec-primary);
}

/* Recurrence End Options */
.mec-recurrence-end-options {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.mec-radio-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--mec-gray-700);
    cursor: pointer;
}

.mec-radio-label input[type="radio"] {
    accent-color: var(--mec-primary);
    cursor: pointer;
}

/* Modal Footer */
.mec-modal-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    border-top: 1px solid var(--mec-gray-200);
    background: var(--mec-gray-50);
    flex-shrink: 0;
}

/* Buttons */
.mec-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 18px;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: var(--mec-transition);
}

.mec-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.mec-btn-primary {
    background: var(--mec-primary);
    color: var(--mec-white);
}

.mec-btn-primary:hover:not(:disabled) {
    background: var(--mec-primary-hover);
}

.mec-btn-secondary {
    background: var(--mec-white);
    color: var(--mec-gray-700);
    border: 1px solid var(--mec-gray-300);
}

.mec-btn-secondary:hover:not(:disabled) {
    background: var(--mec-gray-50);
    border-color: var(--mec-gray-400);
}

.mec-btn-danger {
    background: var(--mec-danger);
    color: var(--mec-white);
}

.mec-btn-danger:hover:not(:disabled) {
    background: var(--mec-danger-hover);
}

.mec-btn-warning {
    background: var(--mec-warning);
    color: var(--mec-white);
}

.mec-btn-warning:hover:not(:disabled) {
    background: #d97706;
}

.mec-btn-success {
    background: #16a34a;
    color: var(--mec-white);
}

.mec-btn-success:hover:not(:disabled) {
    background: #15803d;
}

/* Time fields hide when all day */
.mec-event-form.all-day .mec-time-field {
    display: none;
}

/* Responsive Design */
@media (max-width: 768px) {
    .mec-calendar-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .mec-header-left {
        order: 2;
        width: 100%;
        justify-content: space-between;
    }

    .mec-header-right {
        order: 1;
        width: 100%;
        justify-content: space-between;
    }

    .mec-current-month {
        font-size: 18px;
        margin: 0 8px;
    }

    .mec-day-cell {
        min-height: 80px;
        padding: 2px;
    }

    .mec-day-number {
        font-size: 12px;
    }

    .mec-day-event {
        font-size: 10px;
        padding: 2px 4px;
    }

    .mec-day-event .mec-day-event-time-text {
        display: none;
    }

    .mec-weekday {
        padding: 8px 4px;
        font-size: 10px;
    }
	
.mec-day-event-time-text {
  font-size: 14px;
  font-family: inherit;
  margin-top: 0px;
}

    .mec-form-row-half {
        grid-template-columns: 1fr;
    }

    .mec-event-form-grid {
        grid-template-columns: 1fr;
    }

    .mec-title-image-grid {
        grid-template-columns: 1fr;
    }

    .mec-form-row.mec-form-row-datetime input[type="date"],
    .mec-time-field {
        width: 100%;
    }

    .mec-select-with-button {
        flex-direction: column;
    }

    .mec-location-field-wrapper {
        flex-direction: column;
    }

    .mec-modal-content {
        max-height: 95vh;
    }

    .mec-event-form {
        max-height: calc(95vh - 100px);
    }

    .mec-modal-header {
        padding: 10px 12px;
    }

    .mec-modal-header .mec-btn {
        padding: 5px 10px;
        font-size: 12px;
    }

    .mec-modal-title {
        font-size: 14px;
    }

    .mec-delete-actions {
        flex-direction: column;
        gap: 8px;
    }

    .mec-delete-actions .mec-btn {
        width: 100%;
    }

    .mec-view-btn span:not(svg) {
        display: none;
    }

    .mec-subscribe-btn span {
        display: none;
    }

    .mec-event-view-body.has-admin-tools {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .mec-calendar-wrapper {
        border-radius: 0;
    }

    .mec-day-cell {
        min-height: 60px;
    }

    .mec-day-events {
        display: none;
    }

    .mec-day-cell.has-events .mec-day-event-dots {
        display: flex;
        align-items: center;
        gap: 3px;
        padding: 0 6px 6px;
    }

    .mec-day-event-dot {
        width: 5px;
        height: 5px;
        border-radius: 50%;
        background: var(--mec-primary);
        opacity: 0.95;
    }

    .mec-list-event {
        flex-direction: column;
        gap: 8px;
    }

    .mec-list-view .mec-list-event-thumb,
    .mec-list-view .mec-list-event-details-btn {
        display: none;
    }

    .mec-list-event-color {
        width: 100%;
        height: 4px;
    }
}

@page {
    size: letter landscape;
    margin: 0;
}

/* Print Styles */
@media print {

    html,
    body {
        margin: 0;
        background: #fff;
    }

    body {
        padding: 0;
    }

    .mec-calendar-wrapper {
        margin: -40px 0 0 0 !important;
        padding: 0 !important;
        position: static !important;
        top: 0 !important;
    }

    .mec-calendar-header button,
    .mec-add-event-link,
    .mec-modal {
        display: none !important;
    }

    .mec-calendar-wrapper {
        box-shadow: none;
        border: none;
        width: 100%;
        max-width: none;
    }

    .mec-calendar-wrapper {
        margin: 0;
        padding: 0;
    }

    .mec-calendar-header {
        border-bottom: 0;
        border-top: 0;
        padding: 0;
        margin: 0;
    }

    .mec-current-month {
        font-size: 18px !important;
        margin: 0;
        padding: 0;
        letter-spacing: 0.04em;
    }

    .mec-nav-group,
    .mec-view-toggle,
    .mec-header-left,
    .mec-header-center,
    .mec-header-right {
        display: none;
    }

    .mec-calendar-wrapper.mec-print-paper-mode {
        transform: none;
    }

    .mec-calendar-header,
    .mec-current-month {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .mec-day-events,
    .mec-day-event {
        page-break-inside: avoid;
    }

    .trigger-btn,
    .chs-header-mobile {
        display: none !important;
    }

    .mec-card-btn,
    .mec-agenda-view-link,
    .mec-list-event-details-btn,
    .mec-carousel-card-details {
        display: none !important;
    }

    .mec-day-event-time-row {
        display: flex !important;
    }

    .mec-day-event .mec-day-event-time-text {
        display: inline !important;
        visibility: visible !important;
    }

    .mec-day-event-print-time {
        display: none !important;
    }

    .mec-day-event[data-print-time] .mec-day-event-title-row {
        flex-wrap: wrap;
    }

    .mec-day-event[data-print-time] .mec-day-event-title-row::before {
        content: attr(data-print-time);
        display: block;
        width: 100%;
        font-size: 11px;
        font-weight: 600;
        color: #475569;
        margin-bottom: 2px;
    }
}

/* Category Colors - Dynamic via inline styles */
.mec-day-event[data-color] {
    border-top-color: var(--event-color);
}

.mec-day-event.mec-all-day[data-color] {
    background: var(--event-color);
}

.mec-list-event-color[data-color] {
    background: var(--event-color);
}

.mec-list-event-category[data-color] {
    /* color now handled by .mec-category-badge */
}

/* Recurring event indicator */
.mec-recurring-indicator {
    display: inline-flex;
    align-items: center;
    margin-left: 0;
    opacity: 0.7;
}

.mec-recurring-indicator svg {
    width: 12px;
    height: 12px;
}


/* =========================================
   Event Card Modal Styles
   ========================================= */

.mec-event-view-modal {
    display: flex;
    align-items: center;
    justify-content: center;
}

.mec-event-card {
    position: relative;
    width: 100%;
    max-width: 700px;
    background: #ffffff;
    border-left: none;
    border-radius: 12px;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    animation: mec-modal-in 0.2s ease-out;
    z-index: 2147483642;
}

/* Card Header */
.mec-card-header {
    background-color: #f9fafb;
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid #f3f4f6;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.mec-category-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px 3px 4px;
    border: 1px solid #b0b0b0;
    border-radius: 4px;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.025em;
}

.mec-category-swatch {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 3px;
    flex-shrink: 0;
}

.mec-category-label {
    color: #222;
    text-transform: uppercase;
}

.mec-header-actions {
    display: flex;
    gap: 0.5rem;
    margin-left: auto;
}

.mec-icon-btn {
    background: transparent;
    border: none;
    padding: 6px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mec-icon-btn svg {
    width: 18px;
    height: 18px;
}

.mec-btn-edit {
    color: #16a34a;
}

.mec-btn-edit:hover {
    background-color: #f0fdf4;
    color: #15803d;
}

.mec-btn-delete {
    color: #ef4444;
}

.mec-btn-delete:hover {
    background-color: #fef2f2;
    color: #b91c1c;
}

.mec-btn-close {
    color: #6b7280;
}

.mec-btn-close:hover {
    background-color: #f3f4f6;
    color: #374151;
}

/* Close link text style */
.mec-close-link {
    background: transparent;
    border: none;
    color: #6b7280;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    cursor: pointer;
    padding: 0.2rem 0.5rem;
    transition: color 0.2s;
}

.mec-close-link:hover {
    color: #374151;
}

/* Action Dropdowns */
.mec-action-dropdown {
    position: relative;
    display: inline-flex;
}

.mec-dropdown-menu {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 4px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    min-width: 220px;
    z-index: 1000;
    display: none;
    flex-direction: column;
    overflow: hidden;
}

.mec-action-dropdown.open .mec-dropdown-menu {
    display: flex;
}

.mec-dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 14px;
    border: none;
    background: transparent;
    text-align: left;
    font-size: 13px;
    font-weight: 500;
    color: #374151;
    cursor: pointer;
    transition: background 0.15s;
}

.mec-dropdown-item:hover {
    background: #f9fafb;
}

.mec-dropdown-item svg {
    flex-shrink: 0;
}

.mec-dropdown-item-danger {
    color: #dc2626;
}

.mec-dropdown-item-danger:hover {
    background: #fef2f2;
}

/* Show/hide single vs recurring actions */
.mec-dropdown-single-actions,
.mec-dropdown-recurring-actions {
    display: none;
}

.mec-event-card.single-event .mec-dropdown-single-actions {
    display: flex;
    flex-direction: column;
}

.mec-event-card.recurring-event .mec-dropdown-recurring-actions {
    display: flex;
    flex-direction: column;
}

/* Hide admin controls for non-admins */
.mec-event-card:not(.can-manage) .mec-header-actions .mec-edit-dropdown,
.mec-event-card:not(.can-manage) .mec-header-actions .mec-delete-dropdown {
    display: none;
}

/* Card Body */
.mec-card-body {
    padding: 1.5rem 2rem;
}

.mec-event-card .mec-event-title {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 1.5rem;
    color: #111827; letter-spacing: 0pt;
}

.mec-event-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.mec-event-title-row .mec-event-title {
    flex: 1 1 auto;
    min-width: 0;
    margin-bottom: 0;
}

.mec-datetime-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
    margin-bottom: 1.5rem;
}

.mec-info-box {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    padding: 1rem;
    border-radius: 10px;
    text-align: left;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.mec-event-card .mec-label {
    font-size: 0.65rem;
    text-transform: uppercase;
    font-weight: 700;
    color: #9ca3af;
    letter-spacing: 0.05em;
    margin-bottom: 0.25rem;
    text-align: left !important;
}

.mec-info-box .mec-label {
    text-align: center;
    color: #9ca3af !important;
    font-size: 12px !important;
}

.mec-value {
    font-size: 1.6rem !important;
    font-weight: 700;
    color: #1d4ed8 !important;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

#mec-event-view-date {
    font-size: 20px !important;
}

#mec-event-view-time {
    font-size: 20px !important;
}

/* Location Section */
.mec-location-section {
    margin-bottom: 1.5rem;
}

.mec-registration-section {
    margin-bottom: 0;
    flex: 0 0 auto;
}

.mec-registration-btn {
    width: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    background: #059669;
    border: 2px solid #047857;
    color: #ffffff;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.82rem;
    border-radius: 8px;
    padding: 0.45rem 0.7rem;
    line-height: 1;
    white-space: nowrap;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.mec-registration-btn:hover {
    background: #047857;
    border-color: #065f46;
    color: #ffffff;
}

.mec-registration-btn span {
    font-weight: 600;
}

.mec-registration-btn svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

#mec-event-view-row-location .mec-label {
    color: #9ca3af;
    font-size: 12px !important;
}

.mec-location-pill {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
    background-color: #f9fafb;
    padding: 0.75rem;
    border-radius: 8px;
    border: 1px solid #f3f4f6;
    margin-top: 0.4rem;
}

.mec-location-pill svg {
    width: 20px;
    height: 20px;
    color: #6366f1;
    flex-shrink: 0;
}

.mec-map-link {
    margin-left: auto;
    font-size: 0.8rem;
    font-weight: 600;
    color: #4f46e5;
    text-decoration: none;
}

.mec-map-link:hover {
    text-decoration: underline;
}

/* Description */
.mec-event-card .mec-description {
    font-size: 14px;
    line-height: 1.5;
    color: #4b5563;
}

.mec-event-card .mec-description p {
    margin: 0 0 0.75rem;
    font-size: 15px !important;
}

.mec-event-card .mec-description p:last-child {
    margin-bottom: 0;
}

/* Card Footer */
.mec-card-footer {
    background-color: #f9fafb;
    padding: 1.25rem;
    border-top: 1px solid #e5e7eb;
    display: flex;
    flex-direction: row;
    gap: 0.75rem;
}

.mec-card-footer .mec-btn {
    flex: 1;
    min-width: 140px;
    justify-content: center;
    border-radius: 10px;
}

.mec-btn-primary {
    width: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    background-color: #4f46e5;
    color: white;
    font-weight: 600;
    padding: 0.625rem 1rem;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
    font-size: 0.875rem;
}

.mec-btn-primary:hover {
    background-color: #4338ca;
}

.mec-btn-primary svg,
.mec-btn-secondary svg {
    width: 16px;
    height: 16px;
}

.mec-btn-secondary {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    background-color: white;
    border: 1px solid #d1d5db;
    color: #374151;
    font-weight: 500;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.2s;
    font-size: 0.875rem;
}

.mec-card-footer .mec-btn-primary,
.mec-card-footer .mec-btn-secondary {
    flex: 1 1 0;
    min-width: 140px;
}

.mec-btn-secondary:hover {
    background-color: #f9fafb;
}

/* Responsive adjustments for event card */
@media (max-width: 640px) {
    .mec-event-card {
        border-radius: 0 8px 8px 0;
        max-width: 100%;
    }

    .mec-card-body {
        padding: 1rem 1.25rem;
    }

    .mec-event-card .mec-event-title {
        font-size: 1.05rem;
    }

    .mec-event-title-row {
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .mec-datetime-grid {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .mec-value {
        font-size: 1.05rem !important;
    }

    #mec-event-view-date,
    #mec-event-view-time {
        font-size: 16px !important;
    }

    .mec-footer-sub-grid {
        grid-template-columns: 1fr;
    }

    .mec-dropdown-menu {
        min-width: 180px;
    }

    .mec-card-footer {
        flex-direction: column;
        gap: 8px;
        padding: 10px 12px;
    }

    .mec-card-footer .mec-btn,
    .mec-card-footer .mec-btn-primary,
    .mec-card-footer .mec-btn-secondary {
        width: 100%;
        min-width: 0;
        min-height: 30px;
        height: 30px;
        padding: 4px 10px;
        border-radius: 6px;
        justify-content: center;
    }
}

.mec-day-events-modal .mec-modal-content {
    box-shadow: var(--mec-shadow-xl);
}

@media (max-width: 540px) {
    .mec-day-events-modal .mec-modal-content {
        margin: 0;
        border-radius: 0;
        max-width: 100%;
    }
}

.mec-list-event-time-row {
    display: flex;
    gap: 8px;
    align-items: baseline;
    flex-wrap: wrap;
}

.mec-list-event-day {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 1rem !important;
    font-weight: 600;
    color: #135e96 !important;
}

.mec-list-event-time {
    font-size: 1rem !important;
    font-weight: 600;
    color: #135e96 !important;
}

.mec-list-event-separator {
    color: #94a3b8;
    font-weight: 600;
}

.mec-list-event-time-range {
    font-size: 14px;
    font-weight: 500;
    color: #475569;
}

.mec-list-event-date-square .mec-list-event-month {
    font-size: 15px;
}

/* Card View */
.mec-card-view {
    padding: 24px 12px 32px;
}

.mec-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 26px;
    align-items: stretch;
}

@media (min-width: 1400px) {
    .mec-card-grid {
        grid-template-columns: repeat(5, 1fr);
    }
}

.mec-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    transition: box-shadow 0.2s ease;
    height: 100%;
}

.mec-card.mec-card--today {
    border-color: #4caf50;
    box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.35);
}

.mec-card:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

@media (max-width: 768px) {
    .mec-card-view .mec-card {
        border-color: #4b5563;
    }
}

.mec-card-header {
    background: #f3f4f6;
    padding: 12px 16px;
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.mec-card-date {
    display: flex;
    flex-direction: column;
    line-height: 1;
}

.mec-card-month {
    font-size: 12px;
    font-weight: 700;
    color: #9ca3af;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.mec-card-day {
    font-size: 30px;
    font-weight: 900;
    color: #111827;
}

.mec-card-time {
    background: #fff;
    border: 1px solid #e5e7eb;
    padding: 6px 12px;
    border-radius: 0;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 128px;
}

.mec-card-time-day {
    font-size: 12px;
    font-weight: 700;
    color: #111827;
    line-height: 1.2;
    text-transform: uppercase;
}

.mec-card-time-value {
    font-size: 14px;
    font-weight: 700;
    color: #135e96 !important;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    text-transform: uppercase;
}

.mec-card-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    overflow: hidden;
    border-bottom: 1px solid #e5e7eb;
    cursor: pointer;
}

.mec-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    cursor: pointer;
}

.mec-card-body {
    padding: 18px 16px 16px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 12px;
    flex: 1 1 auto;
}

.mec-card-body-top {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mec-card-category {
    /* styles now handled by .mec-category-badge inside */
}

.mec-card-title {
    font-size: 14px;
    font-weight: 700;
    color: #111827;
    margin: 6px 0 8px;
    line-height: 1.25;
}

.mec-card-title-row {
    display: flex;
    align-items: baseline;
    gap: 6px;
    flex-wrap: wrap;
}

.mec-card-recurring svg {
    vertical-align: baseline;
}

.mec-card-desc {
    font-size: 14px !important;
    /* adjust here for card description size */
    color: #6b7280;
    line-height: 1.5;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.mec-card .mec-card-desc {
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #6b7280 !important;
}

.mec-card-actions {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mec-card-btn {
    width: 100%;
    padding: 6px 12px;
    background: #fff;
    border: 1px solid #9ca3af;

    color: #374151;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-top: 0;
}

.mec-card-btn:hover {
    background: #f3f4f6;
    color: #374151;
    border-color: #9ca3af;
}

.mec-card-register-btn {
    border-color: #059669;
    color: #059669;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.mec-card-register-btn:hover,
.mec-card-register-btn:focus,
.mec-card-register-btn:visited {
    border-color: #047857;
    color: #059669;
    text-decoration: none;
}

.mec-card-register-btn svg {
    flex-shrink: 0;
}

.b-row .b-block-content a.mec-card-register-btn,
.b-row .b-block-content a.mec-card-register-btn:link,
.b-row .b-block-content a.mec-card-register-btn:visited,
.b-row .b-block-content a.mec-card-register-btn:hover,
.b-row .b-block-content a.mec-card-register-btn:focus,
.b-row .b-block-content a.mec-card-register-btn:active {
    color: #059669 !important;
    text-decoration: none !important;
}

/* Carousel Shortcode */
.mec-carousel-shortcode {
    background: var(--mec-white);
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 32px;
    box-shadow: var(--mec-shadow-xl);
    max-width: 1220px;
    margin: 0 auto;
}

.mec-carousel-shortcode .mec-carousel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    gap: 12px;
}

.mec-carousel-title {
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--mec-gray-900);
}

.mec-carousel-controls {
    display: flex;
    gap: 10px;
}

.mec-carousel-arrow {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    border: 2px solid #111827;
    background: #fff;
    color: #111827;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.mec-carousel-arrow:hover {
    background: #f3f4f6;
    border-color: #111827;
    transform: translateY(-1px);
}

.mec-carousel-arrow:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    background: #fff;
    border-color: #d1d5db;
    color: #4b5563;
}

.mec-carousel-track-wrapper {
    overflow-x: auto;
    scroll-behavior: smooth;
    padding-bottom: 10px;
    cursor: grab;
    touch-action: pan-y;
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

.mec-carousel-track-wrapper.mec-carousel-dragging {
    cursor: grabbing;
}

.mec-carousel-track {
    display: flex;
    gap: 16px;
    align-items: stretch;
}

.mec-carousel-card {
    flex: 0 0 calc((100% - 48px) / 4);
    max-width: 320px;
    min-width: 220px;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.mec-carousel-card .mec-card-header {
    padding: 16px 18px;
}

.mec-carousel-card .mec-card-body {
    gap: 10px;
    padding: 16px 18px 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.mec-carousel-card .mec-card-title {
    font-size: 16px;
    margin: 0;
}

.mec-carousel-card .mec-card-desc {
    display: block;
    margin: 0;
    font-size: 13px;
    line-height: 1.4;
}

.mec-carousel-card .mec-card-date {
    display: flex;
    flex-direction: column;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.mec-carousel-card .mec-card-time {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    padding: 4px 14px;
    font-size: 14px;
    font-weight: 700;
    color: #0f172a;
    text-align: center;
    box-shadow: none;
}

.mec-carousel-card .mec-card-category {
    /* styles now handled by .mec-category-badge inside */
}

.mec-carousel-card .mec-card-title {
    font-size: 18px;
    line-height: 1.3;
}

.mec-carousel-card .mec-card-desc {
    font-size: 14px;
    color: #475569;
    line-height: 1.45;
}

.mec-carousel-card-link {
    display: block;
    width: 100%;
    text-align: center;
    padding: 10px 0;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background: #fff;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #111827;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.mec-carousel-card-link:hover {
    background: #111827;
    color: #fff;
    border-color: #111827;
}

.mec-carousel-card-details {
    display: inline-flex;
    width: 100%;
    margin-top: 10px;
    border-radius: 8px;
    border: none;
    background: #111827;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 10px 0;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
}

.mec-carousel-card-details:hover {
    background: #0f172a;
    transform: translateY(-1px);
}

.mec-carousel-card-link {
    display: inline-flex;
    padding: 6px 12px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #374151;
    text-decoration: none;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.mec-carousel-card-link:hover {
    background: #111827;
    color: #fff;
    border-color: #111827;
}

.mec-carousel-shortcode .mec-carousel-track-wrapper::-webkit-scrollbar {
    display: none;
}

.mec-carousel-shortcode .mec-carousel-track-wrapper {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

@media (max-width: 1180px) {
    .mec-carousel-card {
        flex: 0 0 calc((100% - 32px) / 3);
    }
}

@media (max-width: 920px) {
    .mec-carousel-card {
        flex: 0 0 calc((100% - 16px) / 2);
    }

    .mec-carousel-header {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 700px) {
    .mec-carousel-card {
        flex: 0 0 100%;
        max-width: none;
    }

    .mec-carousel-controls {
        align-self: flex-end;
    }
}

/* Event Edit Dropdown (List & Agenda Views) */
.mec-event-edit-dropdown {
    position: relative;
    display: inline-flex;
    opacity: 0;
    transition: opacity 0.15s ease;
}

.mec-list-event:hover .mec-event-edit-dropdown {
    opacity: 1;
}

.mec-event-edit-dropdown.open {
    opacity: 1;
}

.mec-event-edit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: var(--mec-gray-500);
    cursor: pointer;
    transition: all 0.15s ease;
}

.mec-event-edit-btn:hover {
    background: var(--mec-gray-100);
    color: var(--mec-gray-700);
    border-color: var(--mec-gray-200);
}

.mec-event-edit-btn svg {
    width: 16px;
    height: 16px;
}

.mec-edit-dropdown-menu {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 4px;
    min-width: 200px;
    background: var(--mec-white);
    border: 1px solid var(--mec-gray-200);
    border-radius: 8px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    z-index: 10000;
    display: none;
    flex-direction: column;
    padding: 6px 0;
}

.mec-event-edit-dropdown.open .mec-edit-dropdown-menu {
    display: flex;
}

.mec-edit-dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 14px;
    border: none;
    background: transparent;
    text-align: left;
    font-size: 13px;
    font-weight: 500;
    color: var(--mec-gray-700);
    cursor: pointer;
    transition: background 0.15s ease;
    white-space: nowrap;
}

.mec-edit-dropdown-item:hover {
    background: var(--mec-gray-50);
}

.mec-edit-dropdown-item svg {
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    color: var(--mec-gray-500);
}

.mec-edit-dropdown-item--danger {
    color: var(--mec-danger);
}

.mec-edit-dropdown-item--danger:hover {
    background: rgba(220, 38, 38, 0.05);
}

.mec-edit-dropdown-item--danger svg {
    color: var(--mec-danger);
}

.mec-edit-dropdown-divider {
    height: 1px;
    background: var(--mec-gray-200);
    margin: 6px 0;
}

/* Ensure actions container is positioned correctly */
.mec-list-event-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    position: relative;
}

/* Allow dropdown to overflow parent containers */
.mec-list-event {
    overflow: visible !important;
}

.mec-list-event-actions {
    overflow: visible !important;
}

.mec-event-edit-dropdown {
    overflow: visible !important;
}

/* Ensure modal content allows overflow for dropdowns */
.mec-modal-content,
.mec-day-events-modal .mec-modal-content {
    overflow: visible;
}

.mec-day-events-list {
    overflow: visible !important;
}

.mec-day-events-card-grid {
    grid-template-columns: 1fr;
    gap: 12px;
}

/* Mobile: always show edit button */
@media (max-width: 768px) {
    .mec-event-edit-dropdown {
        opacity: 1;
    }

    .mec-edit-dropdown-menu {
        right: 0;
        left: auto;
    }
}

/* Sticky Header Row */
.mec-header-row {
    position: sticky;
    top: 0;
    z-index: 100;
    background: #ffffff;
    padding: 10px 0;
    display: flex;
    justify-content: center;
    border-bottom: 1px solid transparent;
    transition: border-bottom-color 0.2s;
}

.mec-header-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

/* Add Event Button */
.mec-add-event-btn {
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1000;
    display: flex;
    align-items: center;
    gap: 6px;
    background-color: #4CAF50;
    color: #ffffff;
    border: none;
    border-radius: 3px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.mec-add-event-btn:hover {
    background-color: #43a047;
    color: #ffffff;
}

.mec-add-event-btn svg {
    flex-shrink: 0;
}

/* Current Week Shortcode */
.mec-week-shortcode {
    font-family: poppins;
    width: 100%;
    max-width: none;
    margin: 0;
    background: var(--mec-white);
    border: 1px solid var(--mec-gray-200);
    box-shadow: var(--mec-shadow);
    overflow-x: auto;
    overflow-y: visible !important;
    position: relative;
    -webkit-overflow-scrolling: touch;
}

.mec-week-shortcode .mec-week-grid,
.mec-week-shortcode .mec-week-day,
.mec-week-shortcode .mec-week-events {
    overflow: visible;
}

.mec-week-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(160px, 1fr));
    min-width: 1120px;
}

.mec-week-day {
    border-right: 1px solid var(--mec-gray-200);
    min-height: 240px;
    padding: 18px 16px;
    background: var(--mec-white);
    box-sizing: border-box;
}

.mec-week-day:last-child {
    border-right: none;
}

.mec-week-day.is-today {
    background: var(--mec-gray-300);
}

.mec-week-day-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.mec-week-day-number {
    font-size: 30px;
    font-weight: 700;
    color: var(--mec-gray-800);
    line-height: 1;
}

.mec-week-day-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.mec-week-day-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--mec-gray-800);
}

.mec-week-day-month {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mec-gray-500);
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 2px solid var(--mec-gray-300);
}

.mec-week-events {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

@media (max-width: 960px) {
    .mec-week-grid {
        grid-template-columns: repeat(7, minmax(160px, 1fr));
        min-width: 1120px;
    }

    .mec-week-day {
        min-height: 200px;
    }

    .mec-week-shortcode::after {
        content: "";
        position: sticky;
        right: 0;
        top: 0;
        float: right;
        width: 64px;
        height: 100%;
        pointer-events: none;
        background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.72) 45%, rgba(255, 255, 255, 0.98) 100%);
    }
}

@media (max-width: 640px) {
    .mec-week-grid {
        grid-template-columns: repeat(7, minmax(150px, 1fr));
        min-width: 1050px;
    }
}
