/* HIDE THEME ARCHIVE TITLE (TRX ADDONS) */
.trx-addons-post-title-wrap {
    display: none !important;
}

/* ===== SHARED GALLERY STYLE ===== */
.myvybz-individual-gallery,
.mec-event-gallery,
.mec-location-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
    margin-top: 20px;
}

.myvybz-individual-gallery-item,
.mec-event-gallery-item,
.mec-location-gallery-item {
    display: block;
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    aspect-ratio: 1 / 1;
    background: #f3f3f3;
}

.myvybz-individual-gallery-item img,
.mec-event-gallery-item img,
.mec-location-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .3s ease;
}

.myvybz-individual-gallery-item:hover img,
.mec-event-gallery-item:hover img,
.mec-location-gallery-item:hover img {
    transform: scale(1.05);
}

.myvybz-individual-gallery-caption,
.mec-event-gallery-caption,
.mec-location-gallery-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0,0,0,.6);
    color: #fff;
    padding: 8px;
    font-size: 14px;
    opacity: 0;
    transition: opacity .3s ease;
}

.myvybz-individual-gallery-item:hover .myvybz-individual-gallery-caption,
.mec-event-gallery-item:hover .mec-event-gallery-caption,
.mec-location-gallery-item:hover .mec-location-gallery-caption {
    opacity: 1;
}

.myvybz-individual-gallery-item::after,
.mec-event-gallery-item::after,
.mec-location-gallery-item::after {
    content: "\26F6";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    font-size: 28px;
    color: #fff;
    background: rgba(0,0,0,.55);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .25s ease, transform .25s ease;
    pointer-events: none;
}

.myvybz-individual-gallery-item:hover::after,
.mec-event-gallery-item:hover::after,
.mec-location-gallery-item:hover::after {
    opacity: 1;
    transform: translate(-50%,-50%) scale(1.05);
}

/* ===== INDIVIDUAL ROLE + RATING ROW ===== */
.myvybz-role-rating-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
    margin-top: 12px;
    margin-bottom: 0;
}

.myvybz-role-rating-role {
    font-size: 13px;
    line-height: 1.3;
    color: #5d6a79;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.10em;
}

.myvybz-role-rating-badge-wrap {
    display: inline-flex;
    align-items: center;
    transform: translateY(-1px);
}

.myvybz-rating-inline,
.myvybz-role-rating-row .rating-pg,
.myvybz-role-rating-row .rating-moderate,
.myvybz-role-rating-row .rating-adult,
.myvybz-archive-card-role-rating .rating-pg,
.myvybz-archive-card-role-rating .rating-moderate,
.myvybz-archive-card-role-rating .rating-adult {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
    border: 1px solid transparent;
    box-shadow: 0 4px 10px rgba(0,0,0,.05);
}

.myvybz-role-rating-row .rating-pg,
.myvybz-archive-card-role-rating .rating-pg {
    background: rgba(34,197,94,0.10);
    color: #166534;
    border-color: rgba(34,197,94,0.25);
}

.myvybz-role-rating-row .rating-moderate,
.myvybz-archive-card-role-rating .rating-moderate {
    background: rgba(245,158,11,0.12);
    color: #92400e;
    border-color: rgba(245,158,11,0.30);
}

.myvybz-role-rating-row .rating-adult,
.myvybz-archive-card-role-rating .rating-adult {
    background: rgba(239,68,68,0.12);
    color: #991b1b;
    border-color: rgba(239,68,68,0.30);
}

:root.dark .myvybz-role-rating-role,
:root.dark .myvybz-archive-card-role {
    color: #a8b3c2;
}

:root.dark .myvybz-role-rating-row .rating-pg,
:root.dark .myvybz-archive-card-role-rating .rating-pg {
    background: rgba(34,197,94,0.18);
    color: #86efac;
}

:root.dark .myvybz-role-rating-row .rating-moderate,
:root.dark .myvybz-archive-card-role-rating .rating-moderate {
    background: rgba(245,158,11,0.18);
    color: #fcd34d;
}

:root.dark .myvybz-role-rating-row .rating-adult,
:root.dark .myvybz-archive-card-role-rating .rating-adult {
    background: rgba(239,68,68,0.18);
    color: #fca5a5;
}

/* ===== INDIVIDUAL LINKS SECTION ===== */
.myvybz-links-wrap.myvybz-related-wrap {
    margin-top: 36px !important;
    padding: 26px 28px !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,0.85) !important;
    border: 1px solid rgba(0,0,0,0.06) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,0.08) !important;
}

:root.dark .myvybz-links-wrap.myvybz-related-wrap {
    background: rgba(18,22,29,0.95) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    box-shadow: 0 12px 32px rgba(0,0,0,0.35) !important;
}

.myvybz-links-wrap .myvybz-related-title {
    text-align: center !important;
    margin: 0 0 22px !important;
}

.myvybz-links-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    justify-content: center !important;
    align-items: center !important;
}

/* ===== SHARED RELATED CAROUSELS ===== */
.myvybz-related-wrap {
    margin-top: 40px;
}

.myvybz-related-title {
    text-align: center;
    margin: 0 0 25px;
}

.myvybz-related-carousel .owl-stage {
    display: flex;
}

.myvybz-related-carousel .owl-item {
    display: flex;
}

.myvybz-related-card {
    overflow: hidden;
    width: 100%;
    /* surface/border/shadow/transition owned by Shared Site UI 2AN */
}

.myvybz-related-card:hover {
    /* hover paint owned by Shared Site UI 2AN */
}

.myvybz-related-card-head {
    padding: 0;
    background: transparent !important;
}

.myvybz-related-card-image {
    width:100%;
    aspect-ratio:1 / 1;
    overflow:hidden;
    background:#111 !important;
}

.myvybz-related-card-image a {
    display:block;
    width:100%;
    height:100%;
    text-decoration:none;
    background:transparent !important;
}

.myvybz-related-card-image img,
.myvybz-related-card-image-placeholder {
    display:block;
    width:100%;
    height:100%;
    aspect-ratio:1 / 1;
    object-fit:cover;
    border-radius:0;
    background:#eee;
}

.myvybz-related-card-meta {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 2px 0;
    color: #9aa0a6;
    font-size: 14px;
    flex-wrap: wrap;
    background: transparent !important;
}

.myvybz-related-card-date,
.myvybz-related-card-time {
    display: flex;
    align-items: center;
    gap: 8px;
    background: transparent !important;
}

.myvybz-icon {
    opacity: .75;
    font-size: 14px;
    line-height: 1;
    background: transparent !important;
}

.myvybz-related-card-content {
    padding:18px 16px 16px;
    text-align:left;
    background:transparent !important;
}

.myvybz-related-card-content > .myvybz-related-card-button:first-of-type {
    margin-top:auto;
}

.myvybz-related-card-content > .myvybz-related-card-button {
    width:100%;
    box-sizing:border-box;
    text-align:center;
}

.myvybz-related-card-name {
    margin:0 0 12px;
    font-size:18px;
    line-height:1.35;
    text-align:left;
    background:transparent !important;
    box-shadow:none !important;
    border:none !important;
    padding:0 !important;
}

.myvybz-related-card-name a {
    text-decoration: none;
    color: inherit;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
}

.myvybz-related-card-description {
    font-size: 15px;
    line-height: 1.55;
    color: #666;
    margin-bottom: 16px;
    text-align: left;
    background: transparent !important;
}

.myvybz-related-carousel .owl-nav {
    margin-top: 20px;
    text-align: center;
}

.myvybz-related-carousel .owl-nav button.owl-prev,
.myvybz-related-carousel .owl-nav button.owl-next {
    background: #fff !important;
    border-radius: 50% !important;
    width: 40px;
    height: 40px;
    margin: 0 6px;
    box-shadow: 0 2px 8px rgba(0,0,0,.12);
    line-height: 40px;
    font-size: 18px !important;
}

/* ===== RELATED CARD DARK PAINT MOVED TO SHARED SITE UI 2AN ===== */
:root.dark .myvybz-related-carousel .owl-nav button.owl-prev,
:root.dark .myvybz-related-carousel .owl-nav button.owl-next {
    background: rgba(18,22,29,0.95) !important;
    color: #f3f6fb !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,0.32) !important;
}

/* ===== INDIVIDUALS ARCHIVE ===== */
.myvybz-archive-wrap {
    margin-top: 10px;
}

.myvybz-archive-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-end;
    justify-content: center;
    margin: 0 0 24px;
}

.myvybz-archive-filter-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: flex-end;
}

.myvybz-archive-filter-item input[type="text"],
.myvybz-archive-filter-item select {
    min-width: 180px;
    height: 44px;
    padding: 10px 14px;
    /* paint owned by Shared Site UI 2AN */
}

.myvybz-archive-filter-rating-group {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    min-height: 44px;
}

.myvybz-archive-filter-rating-group label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: inherit;
}

.myvybz-archive-filter-actions {
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

.myvybz-archive-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: start;
}

.myvybz-archive-card {
    overflow: hidden;
    /* surface/border/shadow/transition owned by Shared Site UI 2AN */
    display: flex;
    flex-direction: column;
    height: 100%;
}

.myvybz-archive-card:hover {
    /* hover paint owned by Shared Site UI 2AN */
}

.myvybz-archive-card-image {
    position: relative;
}

.myvybz-archive-card-image,
.myvybz-archive-card-image a {
    display: block;
}

.myvybz-archive-card-image img,
.myvybz-archive-card-image-placeholder {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
    background: #eee;
}

.myvybz-archive-featured-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    border-radius: 999px;
    /* badge paint owned by Shared Site UI 2AN */
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    box-shadow: 0 8px 18px rgba(0,0,0,0.18);
}

.myvybz-archive-card-content {
    padding: 18px 18px 20px;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.myvybz-archive-card-title {
    margin: 0 0 10px;
    font-size: 22px;
    line-height: 1.2;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
}

.myvybz-archive-card-title a {
    text-decoration: none;
    color: inherit;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
}

.myvybz-archive-card-role-rating {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
    margin-bottom: 14px;
}

.myvybz-archive-card-role {
    font-size: 13px;
    line-height: 1.3;
    color: #5d6a79;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.10em;
}

.myvybz-archive-card-excerpt {
    font-size: 15px;
    line-height: 1.6;
    color: #5b6573;
    margin-bottom: 18px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 4.8em;
}

.myvybz-archive-card-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: auto;
    align-items: flex-start;
    justify-content: center;
}

.myvybz-archive-card-buttons .myvybz-archive-card-button {
    flex: 0 0 auto;
    text-align: center;
}

.myvybz-archive-pagination {
    margin-top: 28px;
}

.myvybz-archive-pagination ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
    justify-content: center;
}

.myvybz-archive-pagination a,
.myvybz-archive-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
    border-radius: 10px;
    padding: 8px 12px;
    text-decoration: none;
    /* paint owned by Shared Site UI 2AN */
}

.myvybz-archive-pagination .current {
    /* current-page paint owned by Shared Site UI 2AN */
}

.myvybz-archive-empty {
    text-align: center;
    padding: 40px 20px;
}

/* ===== PUBLIC BUTTON PAINT MOVED TO SHARED SITE UI 2AN ===== */

/* ===== ARCHIVE FILTERS DARK MODE ===== */
:root.dark .myvybz-archive-filter-item input[type="text"],
:root.dark .myvybz-archive-filter-item select {
    background: rgba(18,22,29,0.95) !important;
    color: #f3f6fb !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    box-shadow: 0 8px 20px rgba(0,0,0,0.20) !important;
}

:root.dark .myvybz-archive-filter-item input[type="text"]::placeholder {
    color: #9fb0c7 !important;
    opacity: 1;
}

:root.dark .myvybz-archive-filter-rating-group label {
    color: #dbe7f5 !important;
}

:root.dark .myvybz-archive-filter-rating-group input[type="checkbox"] {
    accent-color: var(--mec-color-skin);
}

/* ===== ARCHIVE DARK MODE ===== */
:root.dark .myvybz-archive-card {
    background: linear-gradient(180deg, rgba(17,24,39,0.98) 0%, rgba(8,15,28,0.99) 100%) !important;
    border: 1px solid rgba(96,165,250,0.18) !important;
    box-shadow: 0 16px 36px rgba(0,0,0,0.34) !important;
}

:root.dark .myvybz-archive-card:hover {
    box-shadow:
        0 18px 42px rgba(0,0,0,0.42),
        0 0 0 1px rgba(96,165,250,0.26),
        0 0 24px rgba(59,130,246,0.14) !important;
    border-color: rgba(96,165,250,0.30) !important;
}

:root.dark .myvybz-archive-card-title,
:root.dark .myvybz-archive-card-title a {
    color: #f8fbff !important;
}

:root.dark .myvybz-archive-card-excerpt {
    color: #b8c2d3 !important;
}

:root.dark .myvybz-archive-featured-badge {
    background: rgba(14,165,233,0.18);
    border: 1px solid rgba(96,165,250,0.30);
    color: #dbeafe;
}

:root.dark .myvybz-archive-pagination a,
:root.dark .myvybz-archive-pagination span {
    background: rgba(18,22,29,0.95);
    color: #f3f6fb;
    border-color: rgba(255,255,255,0.08);
}

:root.dark a.myvybz-archive-card-button,
:root.dark a.myvybz-archive-filter-reset,
:root.dark .myvybz-archive-filter-button,
:root.dark .myvybz-archive-card-button,
:root.dark .myvybz-archive-filter-reset {
    box-shadow: 0 8px 20px rgba(0,0,0,0.30) !important;
}

/* ===== FULL WIDTH HERO BREAKOUT ===== */
.myvybz-hero-breakout {
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    min-height: 680px !important;
    overflow: hidden !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

/* ===== REMOVE TOP GAP ONLY ON SINGLE HERO PAGES ===== */
body.single:has(.myvybz-hero-breakout) .site-content,
body.single:has(.myvybz-hero-breakout) .page_content_wrap,
body.single:has(.myvybz-hero-breakout) .elementor-location-single {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* ===== SPONSOR HERO OVERLAY ===== */
.myvybz-sponsor-hero-overlay,
.elementor .myvybz-sponsor-hero-overlay,
.trx_addons .myvybz-sponsor-hero-overlay {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: min(640px, calc(100% - 40px)) !important;
    max-width: 640px !important;
    z-index: 5 !important;
    padding: 20px 24px !important;
    text-align: center !important;
    border-radius: 16px !important;
    background: rgba(40, 40, 40, 0.32) !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    box-shadow: 0 12px 28px rgba(0,0,0,0.20) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
}

.myvybz-sponsor-hero-overlay h1,
.myvybz-sponsor-hero-overlay .elementor-heading-title,
.myvybz-sponsor-hero-overlay .trx-addons-post-title-wrap,
.myvybz-sponsor-hero-overlay .trx-addons-post-title-wrap h1 {
    color: #ffffff !important;
    text-align: center !important;
    margin: 0 0 6px !important;
    text-shadow: 0 3px 14px rgba(0,0,0,0.24) !important;
    background: transparent !important;
}

.myvybz-hero-meta-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    margin: 0 0 12px !important;
    color: #ffffff !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
}

.myvybz-hero-meta-item {
    color: #ffffff !important;
    opacity: 0.95 !important;
}

.myvybz-hero-meta-sep {
    color: rgba(255,255,255,0.70) !important;
}

.myvybz-hero-buttons {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 10px !important;
    margin: 0 0 12px !important;
}

/* ===== UNIVERSAL HARDENED BUTTONS ===== */
a.myvybz-archive-card-button,
a.myvybz-hero-btn,
a.myvybz-archive-filter-reset,
button.myvybz-archive-filter-button,
.myvybz-archive-card-button,
.myvybz-hero-btn,
.myvybz-archive-filter-reset {
    background: var(--mec-color-skin) !important;
    color: #ffffff !important;
    border: none !important;
    border-color: transparent !important;
    border-radius: 7px !important;
    padding: 11px 17px 12px !important;
    text-decoration: none !important;
    line-height: 17px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    display: inline-block !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    box-shadow: 0 6px 14px rgba(0,0,0,.18) !important;
    transition: all 0.3s ease !important;
}

a.myvybz-archive-card-button:link,
a.myvybz-archive-card-button:visited,
a.myvybz-archive-card-button:hover,
a.myvybz-archive-card-button:focus,
a.myvybz-archive-card-button:active,
a.myvybz-hero-btn:link,
a.myvybz-hero-btn:visited,
a.myvybz-hero-btn:hover,
a.myvybz-hero-btn:focus,
a.myvybz-hero-btn:active,
a.myvybz-archive-filter-reset:link,
a.myvybz-archive-filter-reset:visited,
a.myvybz-archive-filter-reset:hover,
a.myvybz-archive-filter-reset:focus,
a.myvybz-archive-filter-reset:active,
.elementor a.myvybz-archive-card-button:hover,
.elementor a.myvybz-archive-card-button:focus,
.elementor a.myvybz-archive-card-button:active,
.elementor a.myvybz-hero-btn:hover,
.elementor a.myvybz-hero-btn:focus,
.elementor a.myvybz-hero-btn:active,
.elementor a.myvybz-archive-filter-reset:hover,
.elementor a.myvybz-archive-filter-reset:focus,
.elementor a.myvybz-archive-filter-reset:active,
.trx_addons a.myvybz-archive-card-button:hover,
.trx_addons a.myvybz-archive-card-button:focus,
.trx_addons a.myvybz-archive-card-button:active,
.trx_addons a.myvybz-hero-btn:hover,
.trx_addons a.myvybz-hero-btn:focus,
.trx_addons a.myvybz-hero-btn:active,
.trx_addons a.myvybz-archive-filter-reset:hover,
.trx_addons a.myvybz-archive-filter-reset:focus,
.trx_addons a.myvybz-archive-filter-reset:active {
    background: var(--mec-color-skin) !important;
    color: #ffffff !important;
    border: none !important;
    border-color: transparent !important;
    text-decoration: none !important;
    opacity: 0.84 !important;
    transform: translateY(-1px) !important;
}

a.myvybz-archive-card-button *,
a.myvybz-archive-card-button:hover *,
a.myvybz-archive-card-button:focus *,
a.myvybz-archive-card-button:active *,
a.myvybz-hero-btn *,
a.myvybz-hero-btn:hover *,
a.myvybz-hero-btn:focus *,
a.myvybz-hero-btn:active *,
a.myvybz-archive-filter-reset *,
a.myvybz-archive-filter-reset:hover *,
a.myvybz-archive-filter-reset:focus *,
a.myvybz-archive-filter-reset:active * {
    color: #ffffff !important;
    fill: #ffffff !important;
}

/* ===== SPONSOR / HERO SOCIAL ICONS ===== */
.myvybz-sponsor-hero-overlay .myvybz-social-icons-row,
.myvybz-post-hero-overlay .myvybz-social-icons-row {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 10px !important;
    margin-top: 2px !important;
}

a.myvybz-social-icon,
a.myvybz-social-icon:link,
a.myvybz-social-icon:visited {
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255,255,255,0.16) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    border: 1px solid rgba(255,255,255,0.18) !important;
    transition: all 0.25s ease !important;
}

a.myvybz-social-icon:hover,
a.myvybz-social-icon:focus,
a.myvybz-social-icon:active {
    background: rgba(255,255,255,0.24) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

.myvybz-social-icon i {
    font-size: 16px !important;
    line-height: 1 !important;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
    .myvybz-hero-breakout {
        min-height: 540px !important;
    }

    .myvybz-sponsor-hero-overlay {
        width: min(600px, calc(100% - 30px)) !important;
        padding: 20px 20px !important;
    }

    .myvybz-individual-gallery,
    .mec-event-gallery,
    .mec-location-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

@media (max-width: 767px) {
    .myvybz-hero-breakout {
        min-height: 400px !important;
    }

    .myvybz-sponsor-hero-overlay {
        width: calc(100% - 24px) !important;
        padding: 18px 16px !important;
        border-radius: 14px !important;
    }

    .myvybz-hero-meta-row {
        font-size: 12px !important;
    }

    .myvybz-individual-gallery,
    .mec-event-gallery,
    .mec-location-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .myvybz-role-rating-row {
        gap: 8px 10px;
    }

    .myvybz-role-rating-role {
        font-size: 13px;
        letter-spacing: 0.07em;
    }

    .myvybz-links-wrap {
        padding: 22px 20px !important;
    }

    .myvybz-links-grid {
        gap: 10px !important;
    }

    .myvybz-related-card-meta {
        justify-content: center;
    }

    .myvybz-related-card-content {
        padding: 14px;
    }

    .myvybz-related-card-name {
        font-size: 17px;
    }

    .myvybz-related-card-description {
        font-size: 14px;
    }

    .myvybz-archive-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .myvybz-archive-card-content {
        padding: 16px;
    }

    .myvybz-archive-card-title {
        font-size: 20px;
    }

    .myvybz-archive-filters {
        flex-direction: column;
        align-items: stretch;
    }

    .myvybz-archive-filter-item input[type="text"],
    .myvybz-archive-filter-item select {
        min-width: 100%;
    }

    .myvybz-archive-filter-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 480px) {
    .myvybz-individual-gallery,
    .mec-event-gallery,
    .mec-location-gallery {
        grid-template-columns: 1fr;
    }
}
/* ===== SPONSOR HERO FINAL POLISH ===== */
.myvybz-sponsor-hero-overlay {
    padding: 18px 22px !important;
    background: rgba(40, 40, 40, 0.28) !important; /* slightly lighter */
}

.myvybz-sponsor-hero-overlay h1 {
    margin-bottom: 2px !important;
}

/* Slightly refine meta */
.myvybz-hero-meta-row {
    opacity: 0.9 !important;
    font-size: 12px !important;
}

/* Slightly larger social icons */
.myvybz-social-icon {
    width: 40px !important;
    height: 40px !important;
}

.myvybz-social-icon i {
    font-size: 17px !important;
}	
/* =========================
   SHARED CONTENT SECTIONS
========================= */

.myvybz-content-section {
    max-width: 900px;
    margin: 0 auto 40px auto;
    padding: 24px 28px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.04);
}

.myvybz-content-section .myvybz-related-title {
    margin-bottom: 18px;
}

.myvybz-content-section + .myvybz-content-section {
    margin-top: 10px;
}
/* =========================
   SHARED HERO POLISH
========================= */

.myvybz-sponsor-hero-overlay,
.myvybz-post-hero-overlay,
.elementor .myvybz-sponsor-hero-overlay,
.elementor .myvybz-post-hero-overlay,
.trx_addons .myvybz-sponsor-hero-overlay,
.trx_addons .myvybz-post-hero-overlay {
    width: min(640px, calc(100% - 40px)) !important;
    max-width: 640px !important;
    padding: 22px 24px !important;
}

.myvybz-sponsor-hero-overlay .elementor-heading-title,
.myvybz-post-hero-overlay .elementor-heading-title,
.myvybz-sponsor-hero-overlay h1,
.myvybz-post-hero-overlay h1,
.myvybz-sponsor-hero-overlay h2,
.myvybz-post-hero-overlay h2 {
    max-width: 16ch;
    margin-left: auto !important;
    margin-right: auto !important;
    line-height: 1.08 !important;
}

.myvybz-hero-meta-row {
    max-width: 100%;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 10px;
    margin-bottom: 12px !important;
}

.myvybz-hero-buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px !important;
}

.myvybz-sponsor-hero-overlay .myvybz-social-icons-row,
.myvybz-post-hero-overlay .myvybz-social-icons-row {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px !important;
}

.myvybz-social-icon {
    flex: 0 0 auto;
}

@media (max-width: 767px) {
    .myvybz-sponsor-hero-overlay,
    .myvybz-post-hero-overlay,
    .elementor .myvybz-sponsor-hero-overlay,
    .elementor .myvybz-post-hero-overlay,
    .trx_addons .myvybz-sponsor-hero-overlay,
    .trx_addons .myvybz-post-hero-overlay {
        width: min(92vw, 560px) !important;
        padding: 18px 16px !important;
        border-radius: 14px !important;
    }

    .myvybz-sponsor-hero-overlay .elementor-heading-title,
    .myvybz-post-hero-overlay .elementor-heading-title,
    .myvybz-sponsor-hero-overlay h1,
    .myvybz-post-hero-overlay h1,
    .myvybz-sponsor-hero-overlay h2,
    .myvybz-post-hero-overlay h2 {
        max-width: 15ch;
        line-height: 1.1 !important;
    }

    .myvybz-hero-buttons,
    .myvybz-social-icons-row,
    .myvybz-hero-meta-row {
        gap: 8px !important;
    }
}
/* =========================
   SCROLL TO TOP POSITION FIX
========================= */

.trx_addons_scroll_to_top,
.scroll_to_top,
#scroll_to_top,
a.scroll_to_top {
    right: 90px !important;
    left: auto !important;
    bottom: 20px !important;
}

@media (max-width: 767px) {
    .trx_addons_scroll_to_top,
    .scroll_to_top,
    #scroll_to_top,
    a.scroll_to_top {
        right: 78px !important;
        bottom: 16px !important;
    }
}
/* =========================
   SOCIAL ICONS - NON HERO (INDIVIDUALS / DESTINATIONS / POSTS)
========================= */

/* Target ONLY non-hero areas */
.myvybz-content-section .myvybz-social-icons-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
}

.myvybz-content-section a.myvybz-social-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: currentColor !important;
    border: 1px solid currentColor;
    text-decoration: none;
    transition: all 0.25s ease;
    opacity: 0.9;
}

.myvybz-content-section a.myvybz-social-icon:hover {
    background: rgba(0,0,0,0.06);
    transform: translateY(-1px);
    opacity: 1;
}

.myvybz-content-section .myvybz-social-icon i {
    font-size: 16px;
    line-height: 1;
    color: inherit;
}
/* =========================
   SOCIAL ICON POLISH - TOP CARDS
========================= */

/* Right-side top content card */
.myvybz-content-section {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Keep role/meta tight */
.myvybz-content-section .myvybz-role-rating-row,
.myvybz-content-section .myvybz-hero-meta-row {
    margin-bottom: 10px !important;
}

/* Social row: no floating mini-card look */
.myvybz-content-section .myvybz-social-icons-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 6px 0 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Icons: premium but subtle */
.myvybz-content-section a.myvybz-social-icon,
.myvybz-content-section a.myvybz-social-icon:link,
.myvybz-content-section a.myvybz-social-icon:visited {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: 1px solid rgba(0,0,0,0.14) !important;
    color: #222 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease, transform 0.2s ease !important;
}

/* Icon glyph */
.myvybz-content-section .myvybz-social-icon i {
    font-size: 15px !important;
    line-height: 1 !important;
    color: inherit !important;
}

/* Hover */
.myvybz-content-section a.myvybz-social-icon:hover,
.myvybz-content-section a.myvybz-social-icon:focus,
.myvybz-content-section a.myvybz-social-icon:active {
    color: #1e73be !important;
    border-color: #1e73be !important;
    background: rgba(30,115,190,0.06) !important;
    transform: translateY(-1px) !important;
    text-decoration: none !important;
}

/* Dark mode */
body.dark-mode .myvybz-content-section a.myvybz-social-icon,
body.scheme_dark .myvybz-content-section a.myvybz-social-icon,
[data-theme="dark"] .myvybz-content-section a.myvybz-social-icon {
    color: rgba(255,255,255,0.92) !important;
    border-color: rgba(255,255,255,0.20) !important;
    background: transparent !important;
}

body.dark-mode .myvybz-content-section a.myvybz-social-icon:hover,
body.dark-mode .myvybz-content-section a.myvybz-social-icon:focus,
body.dark-mode .myvybz-content-section a.myvybz-social-icon:active,
body.scheme_dark .myvybz-content-section a.myvybz-social-icon:hover,
body.scheme_dark .myvybz-content-section a.myvybz-social-icon:focus,
body.scheme_dark .myvybz-content-section a.myvybz-social-icon:active,
[data-theme="dark"] .myvybz-content-section a.myvybz-social-icon:hover,
[data-theme="dark"] .myvybz-content-section a.myvybz-social-icon:focus,
[data-theme="dark"] .myvybz-content-section a.myvybz-social-icon:active {
    color: #4ea3ff !important;
    border-color: #4ea3ff !important;
    background: rgba(78,163,255,0.12) !important;
}

/* Mobile */
@media (max-width: 767px) {
    .myvybz-content-section .myvybz-social-icons-row {
        gap: 9px !important;
        margin-top: 4px !important;
    }

    .myvybz-content-section a.myvybz-social-icon,
    .myvybz-content-section a.myvybz-social-icon:link,
    .myvybz-content-section a.myvybz-social-icon:visited {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        min-height: 36px !important;
    }
}
	/* =========================
   SOCIAL ICON POSITION TIGHTEN
========================= */
.myvybz-content-section .myvybz-social-icons-row {
    margin-top: 2px !important;
}
.myvybz-content-section .myvybz-social-icons-row {
    gap: 9px !important;
}
/* =========================
   SOCIAL ICON DARK MODE FIX
========================= */

/* Force icon glyphs visible in dark mode */
body.dark-mode .myvybz-content-section a.myvybz-social-icon,
body.dark-mode .myvybz-content-section a.myvybz-social-icon i,
body.scheme_dark .myvybz-content-section a.myvybz-social-icon,
body.scheme_dark .myvybz-content-section a.myvybz-social-icon i,
html.dark .myvybz-content-section a.myvybz-social-icon,
html.dark .myvybz-content-section a.myvybz-social-icon i,
[data-theme="dark"] .myvybz-content-section a.myvybz-social-icon,
[data-theme="dark"] .myvybz-content-section a.myvybz-social-icon i {
    color: rgba(255,255,255,0.92) !important;
}

/* Keep circle visible too */
body.dark-mode .myvybz-content-section a.myvybz-social-icon,
body.scheme_dark .myvybz-content-section a.myvybz-social-icon,
html.dark .myvybz-content-section a.myvybz-social-icon,
[data-theme="dark"] .myvybz-content-section a.myvybz-social-icon {
    border-color: rgba(255,255,255,0.24) !important;
    background: rgba(255,255,255,0.04) !important;
}

/* Hover in dark mode */
body.dark-mode .myvybz-content-section a.myvybz-social-icon:hover,
body.dark-mode .myvybz-content-section a.myvybz-social-icon:hover i,
body.scheme_dark .myvybz-content-section a.myvybz-social-icon:hover,
body.scheme_dark .myvybz-content-section a.myvybz-social-icon:hover i,
html.dark .myvybz-content-section a.myvybz-social-icon:hover,
html.dark .myvybz-content-section a.myvybz-social-icon:hover i,
[data-theme="dark"] .myvybz-content-section a.myvybz-social-icon:hover,
[data-theme="dark"] .myvybz-content-section a.myvybz-social-icon:hover i {
    color: #4ea3ff !important;
    border-color: #4ea3ff !important;
    background: rgba(78,163,255,0.14) !important;
}	
/* Tier Post Type */	
.myvybz-post-tier {
    font-weight: 600;
    opacity: 0.9;
}
.myvybz-post-tier-boosted {
    color: #1e73be;
}
.myvybz-post-tier-charity {
    color: #2ecc71;
}
.myvybz-post-tier-free {
    opacity: 0.7;
}
	/* =========================
   POST TIER BADGE FIX
========================= */

/* Base */
.myvybz-post-tier {
    display: inline-flex;
    align-items: center;
    margin-left: 6px;
    font-weight: 600;
    color: #1e73be !important; /* FIX: visible in light mode */
}

/* Boosted */
.myvybz-post-tier-boosted {
    background: rgba(30,115,190,0.1);
    color: #1e73be !important;
    padding: 3px 8px;
    border-radius: 6px;
}

/* Charity */
.myvybz-post-tier-charity {
    background: rgba(46,204,113,0.12);
    color: #2ecc71 !important;
    padding: 3px 8px;
    border-radius: 6px;
}

/* Free (Post) */
.myvybz-post-tier-free {
    color: #666 !important;
}

/* Dark mode */
body.dark-mode .myvybz-post-tier,
body.scheme_dark .myvybz-post-tier {
    color: #4ea3ff !important;
}

body.dark-mode .myvybz-post-tier-boosted,
body.scheme_dark .myvybz-post-tier-boosted {
    background: rgba(78,163,255,0.18);
    color: #4ea3ff !important;
}

body.dark-mode .myvybz-post-tier-charity,
body.scheme_dark .myvybz-post-tier-charity {
    background: rgba(46,204,113,0.2);
    color: #2ecc71 !important;
}
/* =========================
   POST TOP META VISIBILITY FIX
========================= */

/* Light mode */
.myvybz-content-section .myvybz-hero-meta-row,
.myvybz-content-section .myvybz-hero-meta-item,
.myvybz-content-section .myvybz-hero-meta-sep {
    color: #5f6673 !important;
}

.myvybz-content-section .myvybz-rating.myvybz-rating-inline {
    color: #9a5b00 !important;
    border-color: rgba(218, 145, 0, 0.35) !important;
    background: rgba(255, 183, 0, 0.08) !important;
}

/* Keep tier badge visible */
.myvybz-content-section .myvybz-post-tier {
    color: #1e73be !important;
}

.myvybz-content-section .myvybz-post-tier-boosted {
    background: rgba(30,115,190,0.10) !important;
    color: #1e73be !important;
}

.myvybz-content-section .myvybz-post-tier-charity {
    background: rgba(46,204,113,0.12) !important;
    color: #2ecc71 !important;
}

.myvybz-content-section .myvybz-post-tier-free {
    color: #666 !important;
}

/* Dark mode */
body.dark-mode .myvybz-content-section .myvybz-hero-meta-row,
body.dark-mode .myvybz-content-section .myvybz-hero-meta-item,
body.dark-mode .myvybz-content-section .myvybz-hero-meta-sep,
body.scheme_dark .myvybz-content-section .myvybz-hero-meta-row,
body.scheme_dark .myvybz-content-section .myvybz-hero-meta-item,
body.scheme_dark .myvybz-content-section .myvybz-hero-meta-sep,
html.dark .myvybz-content-section .myvybz-hero-meta-row,
html.dark .myvybz-content-section .myvybz-hero-meta-item,
html.dark .myvybz-content-section .myvybz-hero-meta-sep,
[data-theme="dark"] .myvybz-content-section .myvybz-hero-meta-row,
[data-theme="dark"] .myvybz-content-section .myvybz-hero-meta-item,
[data-theme="dark"] .myvybz-content-section .myvybz-hero-meta-sep {
    color: rgba(255,255,255,0.88) !important;
}

body.dark-mode .myvybz-content-section .myvybz-rating.myvybz-rating-inline,
body.scheme_dark .myvybz-content-section .myvybz-rating.myvybz-rating-inline,
html.dark .myvybz-content-section .myvybz-rating.myvybz-rating-inline,
[data-theme="dark"] .myvybz-content-section .myvybz-rating.myvybz-rating-inline {
    color: #ffcb6b !important;
    border-color: rgba(255,203,107,0.32) !important;
    background: rgba(255,203,107,0.10) !important;
}

body.dark-mode .myvybz-content-section .myvybz-post-tier,
body.scheme_dark .myvybz-content-section .myvybz-post-tier,
html.dark .myvybz-content-section .myvybz-post-tier,
[data-theme="dark"] .myvybz-content-section .myvybz-post-tier {
    color: #4ea3ff !important;
}

body.dark-mode .myvybz-content-section .myvybz-post-tier-boosted,
body.scheme_dark .myvybz-content-section .myvybz-post-tier-boosted,
html.dark .myvybz-content-section .myvybz-post-tier-boosted,
[data-theme="dark"] .myvybz-content-section .myvybz-post-tier-boosted {
    background: rgba(78,163,255,0.18) !important;
    color: #4ea3ff !important;
}

body.dark-mode .myvybz-content-section .myvybz-post-tier-charity,
body.scheme_dark .myvybz-content-section .myvybz-post-tier-charity,
html.dark .myvybz-content-section .myvybz-post-tier-charity,
[data-theme="dark"] .myvybz-content-section .myvybz-post-tier-charity {
    background: rgba(46,204,113,0.20) !important;
    color: #2ecc71 !important;
}
	/* =========================
   POST META / BADGE POLISH
========================= */

.myvybz-content-section .myvybz-hero-meta-wrap {
    margin-top: 6px;
}

.myvybz-content-section .myvybz-hero-meta-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    margin: 0;
    color: #7b818c !important;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.myvybz-content-section .myvybz-hero-meta-item {
    color: inherit !important;
}

.myvybz-content-section .myvybz-hero-meta-sep {
    color: inherit !important;
    opacity: 0.45;
    margin: 0 8px;
}

.myvybz-content-section .myvybz-hero-meta-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}

.myvybz-content-section .myvybz-rating.myvybz-rating-inline {
    color: #9a5b00 !important;
    border-color: rgba(218,145,0,0.35) !important;
    background: rgba(255,183,0,0.08) !important;
}

.myvybz-content-section .myvybz-post-tier {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 7px;
    line-height: 1;
}

.myvybz-content-section .myvybz-post-tier-boosted {
    background: rgba(30,115,190,0.10) !important;
    color: #1e73be !important;
}

.myvybz-content-section .myvybz-post-tier-charity {
    background: rgba(46,204,113,0.12) !important;
    color: #2ecc71 !important;
}

.myvybz-content-section .myvybz-post-tier-free {
    background: rgba(120,120,120,0.10) !important;
    color: #666 !important;
}

body.dark-mode .myvybz-content-section .myvybz-hero-meta-row,
body.dark-mode .myvybz-content-section .myvybz-hero-meta-item,
body.dark-mode .myvybz-content-section .myvybz-hero-meta-sep,
body.scheme_dark .myvybz-content-section .myvybz-hero-meta-row,
body.scheme_dark .myvybz-content-section .myvybz-hero-meta-item,
body.scheme_dark .myvybz-content-section .myvybz-hero-meta-sep,
[data-theme="dark"] .myvybz-content-section .myvybz-hero-meta-row,
[data-theme="dark"] .myvybz-content-section .myvybz-hero-meta-item,
[data-theme="dark"] .myvybz-content-section .myvybz-hero-meta-sep {
    color: rgba(255,255,255,0.84) !important;
}

body.dark-mode .myvybz-content-section .myvybz-rating.myvybz-rating-inline,
body.scheme_dark .myvybz-content-section .myvybz-rating.myvybz-rating-inline,
[data-theme="dark"] .myvybz-content-section .myvybz-rating.myvybz-rating-inline {
    color: #ffcb6b !important;
    border-color: rgba(255,203,107,0.30) !important;
    background: rgba(255,203,107,0.10) !important;
}

body.dark-mode .myvybz-content-section .myvybz-post-tier-boosted,
body.scheme_dark .myvybz-content-section .myvybz-post-tier-boosted,
[data-theme="dark"] .myvybz-content-section .myvybz-post-tier-boosted {
    background: rgba(78,163,255,0.18) !important;
    color: #4ea3ff !important;
}

body.dark-mode .myvybz-content-section .myvybz-post-tier-charity,
body.scheme_dark .myvybz-content-section .myvybz-post-tier-charity,
[data-theme="dark"] .myvybz-content-section .myvybz-post-tier-charity {
    background: rgba(46,204,113,0.20) !important;
    color: #2ecc71 !important;
}

body.dark-mode .myvybz-content-section .myvybz-post-tier-free,
body.scheme_dark .myvybz-content-section .myvybz-post-tier-free,
[data-theme="dark"] .myvybz-content-section .myvybz-post-tier-free {
    background: rgba(255,255,255,0.10) !important;
    color: rgba(255,255,255,0.82) !important;
}
	/* =========================
   POST BADGE ROW FINAL TIGHTEN
========================= */
.myvybz-content-section .myvybz-hero-meta-badges {
    gap: 6px !important;
    margin-top: 6px !important;
}

/* =========================
   POST TOP CARD WIDTH FIX
========================= */

/* Top card parent */
.myvybz-post-top-card,
.myvybz-post-top-wrap {
    display: flex;
    align-items: flex-start !important;
    gap: 30px !important;
}

/* Left image side */
.myvybz-post-top-card > .elementor-element:first-child,
.myvybz-post-top-wrap > .elementor-element:first-child {
    flex: 0 0 42% !important;
    max-width: 42% !important;
    width: 42% !important;
    min-width: 0 !important;
}

/* Right content side */
.myvybz-post-top-card > .elementor-element:last-child,
.myvybz-post-top-wrap > .elementor-element:last-child,
.myvybz-post-top-card > .elementor-container > .elementor-element:last-child,
.myvybz-post-top-wrap > .elementor-container > .elementor-element:last-child {
    flex: 0 0 58% !important;
    max-width: 58% !important;
    width: 58% !important;
    min-width: 0 !important;
}

/* Right inner content box */
.myvybz-content-section {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    align-self: stretch !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Kill hidden width limits inside right side */
.myvybz-content-section .elementor-widget,
.myvybz-content-section .elementor-widget-container,
.myvybz-content-section .elementor-shortcode,
.myvybz-content-section .myvybz-hero-meta-wrap,
.myvybz-content-section .myvybz-social-icons-row {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

/* Title can use the full width */
.myvybz-content-section .elementor-heading-title,
.myvybz-content-section .elementor-widget-theme-post-title,
.myvybz-content-section .elementor-widget-post-title,
.myvybz-content-section h1,
.myvybz-content-section h2 {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-bottom: 12px !important;
}

/* Tablet/mobile stack */
@media (max-width: 1024px) {
    .myvybz-post-top-card,
    .myvybz-post-top-wrap {
        flex-direction: column !important;
    }

    .myvybz-post-top-card > .elementor-element:first-child,
    .myvybz-post-top-card > .elementor-element:last-child,
    .myvybz-post-top-wrap > .elementor-element:first-child,
    .myvybz-post-top-wrap > .elementor-element:last-child,
    .myvybz-post-top-card > .elementor-container > .elementor-element:last-child,
    .myvybz-post-top-wrap > .elementor-container > .elementor-element:last-child {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}
	/* =========================
   CENTER POST BADGES
========================= */

.myvybz-content-section .myvybz-hero-meta-badges {
    justify-content: center !important;
    text-align: center;
    width: 100%;
}
	.myvybz-content-section .myvybz-hero-meta-badges {
    margin-top: 8px !important;
}
/* =========================
   EVENT META (HERO TUNED)
========================= */

.myvybz-hero-meta-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    margin: 6px 0 0;
    color: #7b818c;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.myvybz-hero-meta-sep {
    opacity: 0.4;
    margin: 0 8px;
}

.myvybz-hero-meta-badges {
    display: flex;
    gap: 8px;
    margin-top: 6px;
}	
/* =========================
   EVENT SINGLE META BADGES
========================= */

.myvybz-hero-meta-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}

.myvybz-rating.myvybz-rating-inline.rating-pg {
    background: #dff3e3 !important;
    color: #1f7a3d !important;
    border: 1px solid rgba(31,122,61,0.20) !important;
}

.myvybz-rating.myvybz-rating-inline.rating-moderate {
    background: #fff2df !important;
    color: #b76a00 !important;
    border: 1px solid rgba(183,106,0,0.20) !important;
}

.myvybz-rating.myvybz-rating-inline.rating-adult {
    background: #fde7e7 !important;
    color: #b42318 !important;
    border: 1px solid rgba(180,35,24,0.20) !important;
}

body.dark-mode .myvybz-rating.myvybz-rating-inline.rating-pg,
body.scheme_dark .myvybz-rating.myvybz-rating-inline.rating-pg,
[data-theme="dark"] .myvybz-rating.myvybz-rating-inline.rating-pg {
    background: rgba(76, 175, 80, 0.16) !important;
    color: #9be7a1 !important;
    border-color: rgba(155,231,161,0.25) !important;
}

body.dark-mode .myvybz-rating.myvybz-rating-inline.rating-moderate,
body.scheme_dark .myvybz-rating.myvybz-rating-inline.rating-moderate,
[data-theme="dark"] .myvybz-rating.myvybz-rating-inline.rating-moderate {
    background: rgba(255, 179, 71, 0.16) !important;
    color: #ffd08a !important;
    border-color: rgba(255,208,138,0.25) !important;
}

body.dark-mode .myvybz-rating.myvybz-rating-inline.rating-adult,
body.scheme_dark .myvybz-rating.myvybz-rating-inline.rating-adult,
[data-theme="dark"] .myvybz-rating.myvybz-rating-inline.rating-adult {
    background: rgba(244, 67, 54, 0.16) !important;
    color: #ff9d97 !important;
    border-color: rgba(255,157,151,0.25) !important;
}
/* =========================
   HIDE EMPTY HOURLY SCHEDULE WIDGET
========================= */

.elementor-widget-event_hourly_schedule .mec-event-schedule-content dl:has(.mec-schedule-start-time:empty):has(.mec-schedule-title:empty):has(.mec-schedule-description:empty) {
    display: none !important;
}
.elementor-widget-event_hourly_schedule .mec-event-schedule:has(.mec-event-schedule-content dl:only-child .mec-schedule-start-time:empty):has(.mec-event-schedule-content dl:only-child .mec-schedule-title:empty):has(.mec-event-schedule-content dl:only-child .mec-schedule-description:empty) {
    display: none !important;
}
.elementor-widget-event_hourly_schedule .mec-event-schedule:has(.mec-event-schedule-content dl:only-child[style*="display: none"]) {
    display: none !important;
}

/* =========================
   EVENT HOURLY SCHEDULE POLISH
========================= */

.elementor-widget-event_hourly_schedule {
    margin: 12px 0 28px;
}

.elementor-widget-event_hourly_schedule .mec-event-schedule {
    background: #ffffff;
    border-radius: 22px;
    padding: 24px 22px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.elementor-widget-event_hourly_schedule .mec-event-schedule .mec-section-title,
.elementor-widget-event_hourly_schedule .mec-event-schedule h3,
.elementor-widget-event_hourly_schedule .mec-event-schedule h4,
.elementor-widget-event_hourly_schedule .mec-event-schedule h5 {
    margin: 0 0 18px;
    color: #0f2d5c;
    font-size: 20px;
    line-height: 1.2;
    font-weight: 800;
}

.elementor-widget-event_hourly_schedule .mec-event-schedule .mec-color,
.elementor-widget-event_hourly_schedule .mec-event-schedule .mec-event-schedule-day,
.elementor-widget-event_hourly_schedule .mec-event-schedule .mec-schedule-day,
.elementor-widget-event_hourly_schedule .mec-event-schedule .mec-event-schedule-content > h3,
.elementor-widget-event_hourly_schedule .mec-event-schedule .mec-event-schedule-content > h4 {
    color: #0f2d5c !important;
    font-weight: 800;
    margin: 0 0 18px;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.elementor-widget-event_hourly_schedule .mec-event-schedule-content dl {
    margin: 0 0 14px;
    padding: 14px 18px;
    border-radius: 16px;
    background: rgba(15, 45, 92, 0.04);
    border-left: 4px solid var(--mec-color-skin);
    margin-left: 0;
}

.elementor-widget-event_hourly_schedule .mec-event-schedule-content dl:last-child {
    margin-bottom: 0;
}

.elementor-widget-event_hourly_schedule .mec-event-schedule-content dt,
.elementor-widget-event_hourly_schedule .mec-event-schedule-content .mec-schedule-start-time,
.elementor-widget-event_hourly_schedule .mec-event-schedule-content .mec-start-time {
    color: #0f2d5c;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 800;
    letter-spacing: 0.02em;
    margin-bottom: 6px;
}

.elementor-widget-event_hourly_schedule .mec-event-schedule-content dd,
.elementor-widget-event_hourly_schedule .mec-event-schedule-content .mec-schedule-title,
.elementor-widget-event_hourly_schedule .mec-event-schedule-content .mec-schedule-description {
    margin: 0;
    color: #1f2937;
}

.elementor-widget-event_hourly_schedule .mec-event-schedule-content .mec-schedule-title {
    font-size: 16px;
    line-height: 1.35;
    font-weight: 800;
    margin-bottom: 4px;
}

.elementor-widget-event_hourly_schedule .mec-event-schedule-content .mec-schedule-description {
    font-size: 14px;
    line-height: 1.55;
    font-weight: 500;
    opacity: 0.9;
}

body.dark-mode .elementor-widget-event_hourly_schedule .mec-event-schedule,
body.scheme_dark .elementor-widget-event_hourly_schedule .mec-event-schedule,
[data-theme="dark"] .elementor-widget-event_hourly_schedule .mec-event-schedule {
    background: rgba(255,255,255,0.05);
    border-color: rgba(255,255,255,0.10);
    box-shadow: none;
}

body.dark-mode .elementor-widget-event_hourly_schedule .mec-event-schedule .mec-section-title,
body.dark-mode .elementor-widget-event_hourly_schedule .mec-event-schedule h3,
body.dark-mode .elementor-widget-event_hourly_schedule .mec-event-schedule h4,
body.dark-mode .elementor-widget-event_hourly_schedule .mec-event-schedule h5,
body.dark-mode .elementor-widget-event_hourly_schedule .mec-event-schedule .mec-color,
body.dark-mode .elementor-widget-event_hourly_schedule .mec-event-schedule .mec-event-schedule-day,
body.dark-mode .elementor-widget-event_hourly_schedule .mec-event-schedule .mec-schedule-day,
body.dark-mode .elementor-widget-event_hourly_schedule .mec-event-schedule .mec-event-schedule-content > h3,
body.dark-mode .elementor-widget-event_hourly_schedule .mec-event-schedule .mec-event-schedule-content > h4,
body.scheme_dark .elementor-widget-event_hourly_schedule .mec-event-schedule .mec-section-title,
body.scheme_dark .elementor-widget-event_hourly_schedule .mec-event-schedule h3,
body.scheme_dark .elementor-widget-event_hourly_schedule .mec-event-schedule h4,
body.scheme_dark .elementor-widget-event_hourly_schedule .mec-event-schedule h5,
body.scheme_dark .elementor-widget-event_hourly_schedule .mec-event-schedule .mec-color,
body.scheme_dark .elementor-widget-event_hourly_schedule .mec-event-schedule .mec-event-schedule-day,
body.scheme_dark .elementor-widget-event_hourly_schedule .mec-event-schedule .mec-schedule-day,
body.scheme_dark .elementor-widget-event_hourly_schedule .mec-event-schedule .mec-event-schedule-content > h3,
body.scheme_dark .elementor-widget-event_hourly_schedule .mec-event-schedule .mec-event-schedule-content > h4,
[data-theme="dark"] .elementor-widget-event_hourly_schedule .mec-event-schedule .mec-section-title,
[data-theme="dark"] .elementor-widget-event_hourly_schedule .mec-event-schedule h3,
[data-theme="dark"] .elementor-widget-event_hourly_schedule .mec-event-schedule h4,
[data-theme="dark"] .elementor-widget-event_hourly_schedule .mec-event-schedule h5,
[data-theme="dark"] .elementor-widget-event_hourly_schedule .mec-event-schedule .mec-color,
[data-theme="dark"] .elementor-widget-event_hourly_schedule .mec-event-schedule .mec-event-schedule-day,
[data-theme="dark"] .elementor-widget-event_hourly_schedule .mec-event-schedule .mec-schedule-day,
[data-theme="dark"] .elementor-widget-event_hourly_schedule .mec-event-schedule .mec-event-schedule-content > h3,
[data-theme="dark"] .elementor-widget-event_hourly_schedule .mec-event-schedule .mec-event-schedule-content > h4 {
    color: #ffffff !important;
}

body.dark-mode .elementor-widget-event_hourly_schedule .mec-event-schedule-content dl,
body.scheme_dark .elementor-widget-event_hourly_schedule .mec-event-schedule-content dl,
[data-theme="dark"] .elementor-widget-event_hourly_schedule .mec-event-schedule-content dl {
    background: rgba(255,255,255,0.08);
    border-left-color: var(--mec-color-skin);
}
	
.elementor-widget-event_hourly_schedule .mec-event-schedule-content {
    background: transparent !important;
    padding: 0 !important;
}

body.dark-mode .elementor-widget-event_hourly_schedule .mec-event-schedule-content,
body.scheme_dark .elementor-widget-event_hourly_schedule .mec-event-schedule-content,
[data-theme="dark"] .elementor-widget-event_hourly_schedule .mec-event-schedule-content {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

.elementor-widget-event_hourly_schedule .mec-event-schedule .mec-event-schedule-day,
.elementor-widget-event_hourly_schedule .mec-event-schedule .mec-schedule-day {
    display: block;
    margin: 0 0 18px;
    padding: 0 2px;
}
	
.elementor-widget-event_hourly_schedule .mec-event-schedule .mec-event-schedule-day + .mec-event-schedule-content,
.elementor-widget-event_hourly_schedule .mec-event-schedule .mec-schedule-day + .mec-event-schedule-content {
    margin-top: 2px;
}	

body.dark-mode .elementor-widget-event_hourly_schedule .mec-event-schedule-content dt,
body.dark-mode .elementor-widget-event_hourly_schedule .mec-event-schedule-content .mec-schedule-start-time,
body.dark-mode .elementor-widget-event_hourly_schedule .mec-event-schedule-content .mec-start-time,
body.scheme_dark .elementor-widget-event_hourly_schedule .mec-event-schedule-content dt,
body.scheme_dark .elementor-widget-event_hourly_schedule .mec-event-schedule-content .mec-schedule-start-time,
body.scheme_dark .elementor-widget-event_hourly_schedule .mec-event-schedule-content .mec-start-time,
[data-theme="dark"] .elementor-widget-event_hourly_schedule .mec-event-schedule-content dt,
[data-theme="dark"] .elementor-widget-event_hourly_schedule .mec-event-schedule-content .mec-schedule-start-time,
[data-theme="dark"] .elementor-widget-event_hourly_schedule .mec-event-schedule-content .mec-start-time {
    color: #cfe0ff;
}

body.dark-mode .elementor-widget-event_hourly_schedule .mec-event-schedule-content dd,
body.dark-mode .elementor-widget-event_hourly_schedule .mec-event-schedule-content .mec-schedule-title,
body.dark-mode .elementor-widget-event_hourly_schedule .mec-event-schedule-content .mec-schedule-description,
body.scheme_dark .elementor-widget-event_hourly_schedule .mec-event-schedule-content dd,
body.scheme_dark .elementor-widget-event_hourly_schedule .mec-event-schedule-content .mec-schedule-title,
body.scheme_dark .elementor-widget-event_hourly_schedule .mec-event-schedule-content .mec-schedule-description,
[data-theme="dark"] .elementor-widget-event_hourly_schedule .mec-event-schedule-content dd,
[data-theme="dark"] .elementor-widget-event_hourly_schedule .mec-event-schedule-content .mec-schedule-title,
[data-theme="dark"] .elementor-widget-event_hourly_schedule .mec-event-schedule-content .mec-schedule-description {
    color: rgba(255,255,255,0.92);
}

@media (max-width: 767px) {
    .elementor-widget-event_hourly_schedule .mec-event-schedule {
        padding: 18px 16px;
        border-radius: 18px;
    }

    .elementor-widget-event_hourly_schedule .mec-event-schedule-content dl {
        padding: 12px 14px;
        border-radius: 14px;
    }
}
	
	/* =========================
   HERO BANNER BUTTONS FIX
   Buttons only, not social icons
========================= */

/* Base button look */
.myvybz-sponsor-hero-overlay .myvybz-hero-buttons a,
.myvybz-sponsor-hero-overlay .myvybz-hero-buttons a:visited,
.myvybz-sponsor-hero-overlay .myvybz-hero-buttons a:active,
.myvybz-sponsor-hero-overlay .myvybz-hero-buttons a:focus {
    background: rgba(255,255,255,0.12) !important;
    border: 1px solid rgba(255,255,255,0.28) !important;
    color: #ffffff !important;
    text-shadow: none !important;
    box-shadow: none !important;
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    opacity: 1 !important;
}

/* Kill ugly text artifact */
.myvybz-sponsor-hero-overlay .myvybz-hero-buttons a,
.myvybz-sponsor-hero-overlay .myvybz-hero-buttons a * {
    text-shadow: none !important;
    filter: none !important;
}

/* Remove pseudo junk on buttons only */
.myvybz-sponsor-hero-overlay .myvybz-hero-buttons a::before,
.myvybz-sponsor-hero-overlay .myvybz-hero-buttons a::after {
    display: none !important;
    content: none !important;
}

/* Blue hover for real buttons only */
.myvybz-sponsor-hero-overlay .myvybz-hero-buttons a:hover,
.myvybz-sponsor-hero-overlay .myvybz-hero-buttons a:focus {
    background: #00aaff !important;
    border-color: #00aaff !important;
    color: #ffffff !important;
    text-shadow: none !important;
    box-shadow: none !important;
    filter: none !important;
    transform: translateY(-2px) !important;
}

/* Keep inner button text white */
.myvybz-sponsor-hero-overlay .myvybz-hero-buttons a:hover *,
.myvybz-sponsor-hero-overlay .myvybz-hero-buttons a:focus * {
    color: #ffffff !important;
    text-shadow: none !important;
    filter: none !important;
}
/* =========================
   HERO SOCIAL ICONS - DARK MODE FIX
   Sponsors + Events hero overlay only
   Add this at the VERY BOTTOM of SHARED CSS
========================= */

/* Keep hero icon row clean */
.myvybz-sponsor-hero-overlay .myvybz-social-icons-row {
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 14px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Dark mode base state for hero icons only */
body.dark-mode .myvybz-sponsor-hero-overlay a.myvybz-social-icon,
body.dark-mode .myvybz-sponsor-hero-overlay a.myvybz-social-icon:link,
body.dark-mode .myvybz-sponsor-hero-overlay a.myvybz-social-icon:visited,
body.dark-mode .myvybz-sponsor-hero-overlay a.myvybz-social-icon:active,
body.dark-mode .myvybz-sponsor-hero-overlay a.myvybz-social-icon:focus,
body.scheme_dark .myvybz-sponsor-hero-overlay a.myvybz-social-icon,
body.scheme_dark .myvybz-sponsor-hero-overlay a.myvybz-social-icon:link,
body.scheme_dark .myvybz-sponsor-hero-overlay a.myvybz-social-icon:visited,
body.scheme_dark .myvybz-sponsor-hero-overlay a.myvybz-social-icon:active,
body.scheme_dark .myvybz-sponsor-hero-overlay a.myvybz-social-icon:focus,
html.dark .myvybz-sponsor-hero-overlay a.myvybz-social-icon,
html.dark .myvybz-sponsor-hero-overlay a.myvybz-social-icon:link,
html.dark .myvybz-sponsor-hero-overlay a.myvybz-social-icon:visited,
html.dark .myvybz-sponsor-hero-overlay a.myvybz-social-icon:active,
html.dark .myvybz-sponsor-hero-overlay a.myvybz-social-icon:focus,
[data-theme="dark"] .myvybz-sponsor-hero-overlay a.myvybz-social-icon,
[data-theme="dark"] .myvybz-sponsor-hero-overlay a.myvybz-social-icon:link,
[data-theme="dark"] .myvybz-sponsor-hero-overlay a.myvybz-social-icon:visited,
[data-theme="dark"] .myvybz-sponsor-hero-overlay a.myvybz-social-icon:active,
[data-theme="dark"] .myvybz-sponsor-hero-overlay a.myvybz-social-icon:focus {
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(255,255,255,0.24) !important;
    color: rgba(255,255,255,0.92) !important;
    text-decoration: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;
}

/* Keep icon glyph visible */
body.dark-mode .myvybz-sponsor-hero-overlay a.myvybz-social-icon i,
body.scheme_dark .myvybz-sponsor-hero-overlay a.myvybz-social-icon i,
html.dark .myvybz-sponsor-hero-overlay a.myvybz-social-icon i,
[data-theme="dark"] .myvybz-sponsor-hero-overlay a.myvybz-social-icon i {
    color: inherit !important;
    text-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;
}

/* Dark mode hover / focus */
body.dark-mode .myvybz-sponsor-hero-overlay a.myvybz-social-icon:hover,
body.dark-mode .myvybz-sponsor-hero-overlay a.myvybz-social-icon:focus,
body.scheme_dark .myvybz-sponsor-hero-overlay a.myvybz-social-icon:hover,
body.scheme_dark .myvybz-sponsor-hero-overlay a.myvybz-social-icon:focus,
html.dark .myvybz-sponsor-hero-overlay a.myvybz-social-icon:hover,
html.dark .myvybz-sponsor-hero-overlay a.myvybz-social-icon:focus,
[data-theme="dark"] .myvybz-sponsor-hero-overlay a.myvybz-social-icon:hover,
[data-theme="dark"] .myvybz-sponsor-hero-overlay a.myvybz-social-icon:focus {
    background: rgba(78,163,255,0.14) !important;
    border-color: #4ea3ff !important;
    color: #4ea3ff !important;
    text-decoration: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
    filter: none !important;
}

body.dark-mode .myvybz-sponsor-hero-overlay a.myvybz-social-icon:hover i,
body.dark-mode .myvybz-sponsor-hero-overlay a.myvybz-social-icon:focus i,
body.scheme_dark .myvybz-sponsor-hero-overlay a.myvybz-social-icon:hover i,
body.scheme_dark .myvybz-sponsor-hero-overlay a.myvybz-social-icon:focus i,
html.dark .myvybz-sponsor-hero-overlay a.myvybz-social-icon:hover i,
html.dark .myvybz-sponsor-hero-overlay a.myvybz-social-icon:focus i,
[data-theme="dark"] .myvybz-sponsor-hero-overlay a.myvybz-social-icon:hover i,
[data-theme="dark"] .myvybz-sponsor-hero-overlay a.myvybz-social-icon:focus i {
    color: inherit !important;
}
/* =========================
   MYVYBZ RECURRING CALENDAR FIX
========================= */

/* Scope everything to our container */
.myvybz-recurring-calendar-wrap .mec-calendar {
    background: transparent !important;
}

/* REMOVE blue hover overlay */
.myvybz-recurring-calendar-wrap .mec-calendar-day:hover,
.myvybz-recurring-calendar-wrap .mec-calendar-day.mec-selected-day,
.myvybz-recurring-calendar-wrap .mec-calendar-day.mec-selected-day .mec-calendar-novel-selected-day {
    background: transparent !important;
}

/* Clean day numbers */
.myvybz-recurring-calendar-wrap .mec-calendar-day {
    color: #0f2d5c;
    font-weight: 600;
}

/* Style event blocks inside days */
.myvybz-recurring-calendar-wrap .mec-single-event-novel {
    background: rgba(15, 45, 92, 0.06) !important;
    border-radius: 10px;
    padding: 6px 8px;
    margin-top: 4px;
    transition: all 0.2s ease;
}

/* Hover effect for events */
.myvybz-recurring-calendar-wrap .mec-single-event-novel:hover {
    background: rgba(15, 45, 92, 0.12) !important;
    transform: translateY(-1px);
}

/* Event title */
.myvybz-recurring-calendar-wrap .mec-event-title {
    font-size: 12px;
    font-weight: 700;
    color: #0f2d5c;
}

/* Label (remaining time / ongoing) */
.myvybz-recurring-calendar-wrap .mec-label-normal {
    font-size: 10px;
    font-weight: 600;
    opacity: 0.8;
}

/* DARK MODE FIX */
body.dark-mode .myvybz-recurring-calendar-wrap .mec-single-event-novel,
body.scheme_dark .myvybz-recurring-calendar-wrap .mec-single-event-novel {
    background: rgba(255,255,255,0.08) !important;
}

body.dark-mode .myvybz-recurring-calendar-wrap .mec-event-title,
body.scheme_dark .myvybz-recurring-calendar-wrap .mec-event-title {
    color: #ffffff;
}	

/* =========================
   EVENTS ARCHIVE CARD POLISH
========================= */

.myvybz-archive-wrap-events .myvybz-archive-grid{
    align-items:stretch;
}

.myvybz-archive-wrap-events .myvybz-archive-card{
    display:flex;
    flex-direction:column;
    height:100%;
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 8px 24px rgba(0,0,0,0.08);
    border:1px solid rgba(0,0,0,0.05);
}

.myvybz-archive-wrap-events .myvybz-archive-card:hover{
    transform:translateY(-4px);
    box-shadow:0 14px 32px rgba(0,0,0,0.16);
    border-color:rgba(59,130,246,0.18);
}

.myvybz-archive-wrap-events .myvybz-archive-card-image{
    position:relative;
    flex:0 0 auto;
    overflow:hidden;
    background:#111;
}

.myvybz-archive-wrap-events .myvybz-archive-card-image,
.myvybz-archive-wrap-events .myvybz-archive-card-image a{
    display:block;
}

.myvybz-archive-wrap-events .myvybz-archive-card-image img,
.myvybz-archive-wrap-events .myvybz-archive-card-image-placeholder{
    display:block;
    width:100%;
    height:240px;
    object-fit:cover;
    object-position:center;
    background:#eee;
}

.myvybz-archive-wrap-events .myvybz-archive-featured-badge{
    position:absolute;
    top:12px;
    left:12px;
    z-index:3;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 10px;
    border-radius:999px;
    background:rgba(17,24,39,0.88);
    color:#fff;
    font-size:11px;
    font-weight:700;
    letter-spacing:0.06em;
    text-transform:uppercase;
    box-shadow:0 8px 18px rgba(0,0,0,0.18);
}

.myvybz-archive-wrap-events .myvybz-archive-status-badge{
    position:absolute;
    top:12px;
    right:12px;
    z-index:3;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:84px;
    height:26px;
    padding:0 10px;
    border-radius:999px;
    font-size:11px;
    font-weight:700;
    line-height:1;
    letter-spacing:.3px;
    color:#fff;
    box-shadow:0 4px 10px rgba(0,0,0,.18);
}

.myvybz-archive-wrap-events .myvybz-archive-status-badge.status-live{
    background:#10b981;
}

.myvybz-archive-wrap-events .myvybz-archive-status-badge.status-upcoming{
    background:#2563eb;
}

.myvybz-archive-wrap-events .myvybz-archive-status-badge.status-ended{
    background:#64748b;
}

.myvybz-archive-wrap-events .myvybz-archive-card-content{
    padding:18px 18px 20px;
    display:flex;
    flex-direction:column;
    flex:1 1 auto;
    min-height:0;
}

.myvybz-archive-wrap-events .myvybz-archive-card-event-meta-stack{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:6px;
    width:100%;
    min-height:86px;
    margin:0 0 12px;
    text-align:center;
}

.myvybz-archive-wrap-events .myvybz-archive-card-event-category{
    display:block;
    width:100%;
    margin:0;
    font-size:11px;
    font-weight:700;
    color:#94a3b8;
    text-transform:uppercase;
    letter-spacing:.5px;
    line-height:1.2;
}

.myvybz-archive-wrap-events .myvybz-archive-card-event-summary{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:4px;
    width:100%;
    max-width:190px;
    margin:0 auto;
    text-align:center;
}

.myvybz-archive-wrap-events .myvybz-archive-card-event-summary-top{
    display:block;
    width:100%;
    margin:0;
    font-size:12px;
    font-weight:700;
    line-height:1.35;
    color:#64748b;
    white-space:normal;
}

.myvybz-archive-wrap-events .myvybz-archive-card-event-summary-bottom{
    display:block;
    width:100%;
    max-width:150px;
    margin:0 auto;
    font-size:11px;
    font-weight:600;
    line-height:1.35;
    color:#64748b;
    white-space:normal;
    overflow-wrap:break-word;
    word-break:normal;
}

.myvybz-archive-wrap-events .myvybz-archive-card-title{
    margin:0 0 10px;
    line-height:1.15;
    min-height:2.2em;
    max-height:2.2em;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.myvybz-archive-wrap-events .myvybz-archive-card-role-rating{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 10px;
    margin:0 0 14px;
    min-height:24px;
}

.myvybz-archive-wrap-events .myvybz-archive-card-excerpt{
    font-size:14px;
    line-height:1.45;
    color:#5b6573;
    margin:0 0 18px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    min-height:2.9em;
    max-height:2.9em;
}

.myvybz-archive-wrap-events .myvybz-archive-card-buttons{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-top:auto;
    min-height:88px;
    align-items:stretch;
    justify-content:flex-start;
}

.myvybz-archive-wrap-events .myvybz-archive-card-buttons .myvybz-archive-card-button{
    width:100%;
    text-align:center;
}

@media (max-width: 767px){
    .myvybz-archive-wrap-events .myvybz-archive-card-image img,
    .myvybz-archive-wrap-events .myvybz-archive-card-image-placeholder{
        height:220px;
    }

    .myvybz-archive-wrap-events .myvybz-archive-card-event-meta-stack{
        min-height:82px;
    }

    .myvybz-archive-wrap-events .myvybz-archive-card-event-summary{
        max-width:180px;
    }

    .myvybz-archive-wrap-events .myvybz-archive-card-event-summary-bottom{
        max-width:145px;
    }
}


/* meta stack */
.myvybz-archive-wrap-events .myvybz-archive-card-event-meta-stack{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:6px;
    width:100%;
    min-height:96px;
    max-height:96px;
    margin-bottom:12px;
    text-align:center;
    overflow:hidden;
}

.myvybz-archive-wrap-events .myvybz-archive-card-category{
    display:block;
    width:100%;
    margin:0;
    font-size:11px;
    font-weight:700;
    line-height:1.2;
    letter-spacing:.5px;
    text-transform:uppercase;
    color:#94a3b8;
}

/* THIS is the important archive fix */
.myvybz-archive-wrap-events .myvybz-archive-card-event-summary{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:4px;
    width:100%;
    max-width:190px;
    margin:0 auto;
    text-align:center;
}

.myvybz-archive-wrap-events .myvybz-archive-card-summary-top,
.myvybz-archive-wrap-events .myvybz-archive-card-summary-bottom{
    display:block;
    width:100%;
    margin:0;
    color:#64748b;
    font-size:12px;
    font-weight:600;
    line-height:1.35;
    white-space:normal;
    word-break:normal;
    overflow-wrap:normal;
}

.myvybz-archive-wrap-events .myvybz-archive-card-summary-bottom{
    max-width:170px;
    margin-left:auto;
    margin-right:auto;
}

/* title */
.myvybz-archive-wrap-events .myvybz-archive-card-title{
    margin:0 0 10px;
    line-height:1.18;
    min-height:2.36em;
    max-height:2.36em;
    overflow:hidden;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}

.myvybz-archive-wrap-events .myvybz-archive-card-title a{
    text-decoration:none;
}

.myvybz-archive-wrap-events .myvybz-archive-card-role-rating{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    flex-wrap:wrap;
    min-height:24px;
    margin:0 0 10px;
}

/* excerpt */
.myvybz-archive-wrap-events .myvybz-archive-card-excerpt{
    margin:0 0 14px;
    min-height:2.9em;
    max-height:2.9em;
    font-size:14px;
    line-height:1.45;
    overflow:hidden;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}

/* buttons */
.myvybz-archive-wrap-events .myvybz-archive-card-buttons{
    margin-top:auto;
    display:flex;
    flex-direction:column;
    gap:8px;
    min-height:88px;
    flex:0 0 auto;
}

.myvybz-archive-wrap-events .myvybz-archive-card-buttons a{
    width:100%;
    text-align:center;
}

/* mobile */
@media (max-width: 767px){
    .myvybz-archive-wrap-events .myvybz-archive-card-image img{
        height:220px;
    }

    .myvybz-archive-wrap-events .myvybz-archive-card-event-meta-stack{
        min-height:92px;
        max-height:92px;
    }

    .myvybz-archive-wrap-events .myvybz-archive-card-event-summary{
        max-width:180px;
    }

    .myvybz-archive-wrap-events .myvybz-archive-card-summary-bottom{
        max-width:160px;
    }
}
	
/* =========================	
   EVENTS TITLE LINK FIX (DARK MODE + VISITED)
========================= */

.myvybz-archive-wrap-events .myvybz-archive-card-title a,
.myvybz-archive-wrap-events .myvybz-archive-card-title a:visited,
.myvybz-archive-wrap-events .myvybz-archive-card-title a:hover,
.myvybz-archive-wrap-events .myvybz-archive-card-title a:focus,
.myvybz-archive-wrap-events .myvybz-archive-card-title a:active {
    color: #0f2d5c !important;
    text-decoration: none !important;
}

body.dark-mode .myvybz-archive-wrap-events .myvybz-archive-card-title a,
body.dark-mode .myvybz-archive-wrap-events .myvybz-archive-card-title a:visited,
body.dark-mode .myvybz-archive-wrap-events .myvybz-archive-card-title a:hover,
body.dark-mode .myvybz-archive-wrap-events .myvybz-archive-card-title a:focus,
body.dark-mode .myvybz-archive-wrap-events .myvybz-archive-card-title a:active,
body.scheme_dark .myvybz-archive-wrap-events .myvybz-archive-card-title a,
body.scheme_dark .myvybz-archive-wrap-events .myvybz-archive-card-title a:visited,
body.scheme_dark .myvybz-archive-wrap-events .myvybz-archive-card-title a:hover,
body.scheme_dark .myvybz-archive-wrap-events .myvybz-archive-card-title a:focus,
body.scheme_dark .myvybz-archive-wrap-events .myvybz-archive-card-title a:active,
[data-theme="dark"] .myvybz-archive-wrap-events .myvybz-archive-card-title a,
[data-theme="dark"] .myvybz-archive-wrap-events .myvybz-archive-card-title a:visited,
[data-theme="dark"] .myvybz-archive-wrap-events .myvybz-archive-card-title a:hover,
[data-theme="dark"] .myvybz-archive-wrap-events .myvybz-archive-card-title a:focus,
[data-theme="dark"] .myvybz-archive-wrap-events .myvybz-archive-card-title a:active {
    color: #ffffff !important;
    text-decoration: none !important;
}
/* =========================
   EVENTS FILTER SPACING POLISH
========================= */

.myvybz-archive-filter-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: 6px;
}	
/* =========================
   EVENTS FILTER WIDTH FIX
========================= */

.myvybz-archive-wrap-events select[name="myvybz_month"] {
    min-width: 140px;
}	
/* =========================
   RECURRING CALENDAR TOGGLE
========================= */

.myvybz-recurring-calendar-header {
    display: flex;
    justify-content: center;
    margin: 0 0 18px;
}

.myvybz-recurring-toggle {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 18px;
    border: 1px solid rgba(15, 45, 92, 0.14);
    border-radius: 14px;
    background: #fff;
    color: #0f2d5c;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(15, 45, 92, 0.08);
    transition: all 0.2s ease;
}

.myvybz-recurring-toggle:hover,
.myvybz-recurring-toggle:focus {
    background: #f8fbff;
    color: #0f2d5c;
    text-decoration: none;
    outline: none;
}

.myvybz-recurring-toggle .myvybz-icon {
    font-size: 14px;
    line-height: 1;
}

.myvybz-recurring-calendar-content {
    display: none;
    margin-bottom: 28px;
}

.myvybz-recurring-calendar-wrap.is-open .myvybz-recurring-calendar-content {
    display: block;
}

body.dark-mode .myvybz-recurring-toggle,
body.scheme_dark .myvybz-recurring-toggle,
[data-theme="dark"] .myvybz-recurring-toggle {
    background: rgba(255,255,255,0.06);
    color: #fff;
    border-color: rgba(255,255,255,0.12);
    box-shadow: 0 12px 28px rgba(0,0,0,0.28);
}

body.dark-mode .myvybz-recurring-toggle:hover,
body.dark-mode .myvybz-recurring-toggle:focus,
body.scheme_dark .myvybz-recurring-toggle:hover,
body.scheme_dark .myvybz-recurring-toggle:focus,
[data-theme="dark"] .myvybz-recurring-toggle:hover,
[data-theme="dark"] .myvybz-recurring-toggle:focus {
    background: rgba(255,255,255,0.1);
    color: #fff;
}	
/* =========================
   RECURRING CALENDAR TOP SPACE FIX
========================= */

.myvybz-recurring-calendar-wrap {
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 30px !important;
}

.myvybz-recurring-calendar-header {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.myvybz-recurring-calendar-wrap + .myvybz-archive-wrap-events,
.myvybz-recurring-calendar-wrap + .elementor-widget-shortcode,
.myvybz-recurring-calendar-wrap + .elementor-container,
.myvybz-recurring-calendar-wrap + .e-con {
    margin-top: 34px !important;
}

@media (max-width: 767px){
    .myvybz-recurring-calendar-wrap {
        margin-bottom: 24px !important;
    }

    .myvybz-recurring-calendar-wrap + .myvybz-archive-wrap-events,
    .myvybz-recurring-calendar-wrap + .elementor-widget-shortcode,
    .myvybz-recurring-calendar-wrap + .elementor-container,
    .myvybz-recurring-calendar-wrap + .e-con {
        margin-top: 26px !important;
    }
}
/* =========================
   EVENTS PAGE HEADER GAP FIX
========================= */

.page-id-3830 .content_wrap,
.page-id-3830 .page_content_wrap,
.page-id-3830 .elementor-section-wrap,
.page-id-3830 .e-con {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Remove theme spacing under header */
.page-id-3830 .sc_layouts_row,
.page-id-3830 .sc_layouts_section {
    margin-bottom: 0 !important;
}

/* First section flush to header */
.page-id-3830 .elementor-top-section:first-child,
.page-id-3830 .e-con:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}	
/* =========================
   MEC CALENDAR COMPACT SPACING
========================= */

.page-id-3830 .mec-calendar {
    margin-top: 10px !important;
}

.page-id-3830 .mec-calendar .mec-month-title {
    margin-top: 5px !important;
    margin-bottom: 10px !important;
}

.page-id-3830 .mec-calendar .mec-calendar-row {
    margin-top: 0 !important;
}
.page-id-3830 .myvybz-recurring-calendar-wrap {
    padding-top: 10px !important;
}
/* =========================
   RECURRING CALENDAR OVERLAY PANEL
========================= */

.page-id-3830 .myvybz-recurring-calendar-wrap {
    position: relative;
    z-index: 20;
}

.page-id-3830 .myvybz-recurring-calendar-header {
    position: relative;
    z-index: 22;
    margin-bottom: 0 !important;
}

.page-id-3830 .myvybz-recurring-calendar-content {
    display: none;
    position: absolute;
    top: calc(100% + 14px);
    left: 50%;
    transform: translateX(-50%);
    width: min(1100px, calc(100vw - 48px));
    max-height: 80vh;
    overflow: auto;
    padding: 22px 22px 28px;
    border-radius: 24px;
    background: #f3f3f0;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.18);
    z-index: 21;
}

.page-id-3830 .myvybz-recurring-calendar-wrap.is-open .myvybz-recurring-calendar-content {
    display: block;
}

.page-id-3830 .myvybz-recurring-calendar-content .mec-calendar {
    margin-top: 0 !important;
}

.page-id-3830 .myvybz-recurring-calendar-content .mec-month-title {
    margin-top: 0 !important;
}

body.dark-mode.page-id-3830 .myvybz-recurring-calendar-content,
body.scheme_dark.page-id-3830 .myvybz-recurring-calendar-content,
[data-theme="dark"].page-id-3830 .myvybz-recurring-calendar-content {
    background: #16181d;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
}

@media (max-width: 1024px) {
    .page-id-3830 .myvybz-recurring-calendar-content {
        position: static;
        transform: none;
        width: 100%;
        max-height: none;
        margin-top: 14px;
        padding: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        overflow: visible;
    }
}	
/* =========================
   RECURRING CALENDAR POLISH
========================= */

.page-id-3830 .myvybz-recurring-calendar-content {
    display: none;
    margin-top: 16px;
    padding: 20px 20px 26px;
    border-radius: 20px;
    background: #f3f3f0;
    box-shadow: 0 14px 40px rgba(0,0,0,0.12);
    transition: all 0.25s ease;
}

.page-id-3830 .myvybz-recurring-calendar-wrap.is-open .myvybz-recurring-calendar-content {
    display: block;
    animation: myvybzFadeIn 0.25s ease;
}

@keyframes myvybzFadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Button active state */
.page-id-3830 .myvybz-recurring-calendar-wrap.is-open .myvybz-recurring-toggle {
    background: var(--mec-color-skin);
    color: #fff;
}

/* Dark mode */
body.dark-mode.page-id-3830 .myvybz-recurring-calendar-content,
body.scheme_dark.page-id-3830 .myvybz-recurring-calendar-content,
[data-theme="dark"].page-id-3830 .myvybz-recurring-calendar-content {
    background: #16181d;
    box-shadow: 0 14px 40px rgba(0,0,0,0.35);
}	
/* =========================
   FIX PANEL OVERLAP / STACKING
========================= */

/* Force panel to be isolated */
.page-id-3830 .myvybz-recurring-calendar-content {
    position: relative;
    z-index: 50;
}

/* Ensure surrounding content stays below */
.page-id-3830 .myvybz-archive-wrap-events {
    position: relative;
    z-index: 10;
}

/* Fix any weird Elementor stacking */
.page-id-3830 .elementor-section,
.page-id-3830 .e-con {
    position: relative;
    z-index: 1;
}	
/* =========================
   RECURRING CALENDAR DESKTOP HEIGHT LIMIT
========================= */

@media (min-width: 1025px) {
    .page-id-3830 .myvybz-recurring-calendar-content {
        max-height: 78vh;
        overflow-y: auto;
    }
}
/* =========================
   RECURRING CALENDAR MOBILE FIX
========================= */

@media (max-width: 1024px) {
    .page-id-3830 .myvybz-recurring-calendar-content {
        max-height: none !important;
        overflow: visible !important;
        padding: 12px 12px 18px !important;
        border-radius: 16px !important;
    }

    .page-id-3830 .myvybz-recurring-calendar-wrap {
        margin-bottom: 18px !important;
    }

    .page-id-3830 .myvybz-recurring-toggle {
        width: 100%;
        max-width: 320px;
        justify-content: center;
    }

    .page-id-3830 .myvybz-recurring-calendar-content .mec-calendar {
        overflow-x: auto;
    }
}
/* =========================
   RECURRING CALENDAR MOBILE HARD FIX
========================= */

@media (max-width: 1024px) {
    .page-id-3830 .myvybz-recurring-calendar-wrap {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 18px !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .page-id-3830 .myvybz-recurring-calendar-header {
        position: static !important;
        width: 100% !important;
        margin: 0 0 12px !important;
        text-align: center !important;
    }

    .page-id-3830 .myvybz-recurring-toggle {
        width: 100% !important;
        max-width: 320px !important;
        justify-content: center !important;
    }

    .page-id-3830 .myvybz-recurring-calendar-content {
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
        max-height: none !important;
        overflow: visible !important;
        margin: 12px 0 0 !important;
        padding: 12px !important;
        border-radius: 16px !important;
        box-sizing: border-box !important;
    }

    .page-id-3830 .myvybz-recurring-calendar-content .mec-calendar,
    .page-id-3830 .myvybz-recurring-calendar-content .mec-wrap,
    .page-id-3830 .myvybz-recurring-calendar-content .mec-event-calendar-wrap,
    .page-id-3830 .myvybz-recurring-calendar-content .mec-calendar-events-side,
    .page-id-3830 .myvybz-recurring-calendar-content .mec-calendar-row {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .page-id-3830 .myvybz-recurring-calendar-content {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }
}	
/* ===== RELATED EVENTS – SUMMARY / CATEGORY POLISH ===== */

.myvybz-related-wrap-events .myvybz-related-card{
    display:flex;
    flex-direction:column;
    height:100%;
}

.myvybz-related-wrap-events .myvybz-related-card-head{
    position:relative;
}

.myvybz-related-wrap-events .myvybz-related-status-badge{
    position:absolute;
    top:12px;
    right:12px;
    z-index:3;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:84px;
    height:26px;
    padding:0 10px;
    border-radius:999px;
    font-size:11px;
    font-weight:700;
    line-height:1;
    letter-spacing:.3px;
    color:#fff;
    box-shadow:0 4px 10px rgba(0,0,0,.18);
}

.myvybz-related-wrap-events .myvybz-related-status-badge.status-live{
    background:#10b981;
}

.myvybz-related-wrap-events .myvybz-related-status-badge.status-upcoming{
    background:#2563eb;
}

.myvybz-related-wrap-events .myvybz-related-status-badge.status-ended{
    background:#64748b;
}

.myvybz-related-wrap-events .myvybz-related-card-meta-events{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:6px;
    min-height:86px;
    margin-bottom:12px;
    padding:14px 16px 0;
    text-align:center;
}

.myvybz-related-wrap-events .myvybz-related-card-category{
    display:block;
    width:100%;
    margin:0;
    font-size:11px;
    font-weight:700;
    color:#94a3b8;
    text-transform:uppercase;
    letter-spacing:.5px;
    line-height:1.2;
}

.myvybz-related-wrap-events .myvybz-related-card-summary{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:4px;
    width:100%;
    max-width:190px;
    margin:0 auto;
    text-align:center;
}

.myvybz-related-wrap-events .myvybz-related-card-summary-top{
    display:block;
    width:100%;
    margin:0;
    font-size:12px;
    font-weight:700;
    line-height:1.35;
    color:#64748b;
    white-space:normal;
}

.myvybz-related-wrap-events .myvybz-related-card-summary-bottom{
    display:block;
    width:100%;
    max-width:150px;
    margin:0 auto;
    font-size:11px;
    font-weight:600;
    line-height:1.35;
    color:#64748b;
    white-space:normal;
    overflow-wrap:break-word;
    word-break:normal;
}

.myvybz-related-wrap-events .myvybz-related-card-name{
    min-height:2.2em;
    max-height:2.2em;
    line-height:1.15;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.myvybz-related-wrap-events .myvybz-related-card-description{
    min-height:2.9em;
    max-height:2.9em;
    line-height:1.45;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.myvybz-related-wrap-events .myvybz-related-card-content{
    display:flex;
    flex-direction:column;
    flex:1 1 auto;
    min-height:0;
}

.myvybz-related-wrap-events .myvybz-related-card-button{
    min-height:38px;
    padding:8px 12px;
    width:100%;
    text-align:center;
}

.myvybz-related-wrap-events .myvybz-related-card-button + .myvybz-related-card-button{
    margin-top:8px;
}


/* CATEGORY */
.myvybz-related-wrap-events .myvybz-related-card-category{
    font-size:11px;
    font-weight:700;
    color:#94a3b8;
    text-transform:uppercase;
    letter-spacing:.5px;
}

/* SUMMARY */
.myvybz-related-wrap-events .myvybz-related-card-summary{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-height:3.2em;
}

.myvybz-related-wrap-events .myvybz-related-card-summary-top{
    font-size:12px;
    font-weight:700;
    line-height:1.35;
    color:#64748b;
    white-space:normal;
}

.myvybz-related-wrap-events .myvybz-related-card-summary-bottom{
    font-size:11px;
    font-weight:600;
    line-height:1.35;
    color:#64748b;
    white-space:normal;
}

/* TITLE */
.myvybz-related-wrap-events .myvybz-related-card-name{
    min-height:2.2em;
    line-height:1.15;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

/* EXCERPT */
.myvybz-related-wrap-events .myvybz-related-card-description{
    min-height:2.9em;
    line-height:1.45;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

/* BUTTON FIX */
.myvybz-related-wrap-events .myvybz-related-card-content{
    display:flex;
    flex-direction:column;
}

.myvybz-related-wrap-events .myvybz-related-card-button{
    min-height:38px;
    padding:8px 12px;
}

.myvybz-related-wrap-events .myvybz-related-card-button + .myvybz-related-card-button{
    margin-top:8px;
}

/* ===== RELATED EVENTS – PREMIUM 2:1 APPROVED BANNER CONTRACT =====
 * Preserves accepted 8Y ownership/cascade while carrying forward only the
 * approved Related Event 2:1 proportional media contract.
 */
.myvybz-related-wrap-events .myvybz-related-card-image{
    position:relative;
    flex:0 0 auto;
    width:100%;
    aspect-ratio:2 / 1;
    overflow:hidden;
    background:#111;
}

.myvybz-related-wrap-events .myvybz-related-card-image a{
    display:block;
    width:100%;
    height:100%;
}

.myvybz-related-wrap-events .myvybz-related-card-image img,
.myvybz-related-wrap-events .myvybz-related-card-image-placeholder{
    display:block;
    width:100%;
    height:100%;
    aspect-ratio:2 / 1;
    object-fit:contain;
    object-position:center center;
    border-radius:0;
    background:#111;
}
	
	
/* ===== EVENTS CARDS – MOBILE WIDTH FIX (GLOBAL EVENTS SYSTEM) ===== */
@media (max-width: 767px) {

    /* Related Events */
    .myvybz-related-wrap-events .myvybz-related-card,
    
    /* Event Carousels (generic system) */
    .myvybz-carousel-wrap-events .myvybz-card {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto;
    }

    .myvybz-related-wrap-events .owl-item,
    .myvybz-carousel-wrap-events .owl-item {
        width: 100% !important;
    }

    .myvybz-related-wrap-events .myvybz-related-card-image,
    .myvybz-related-wrap-events .myvybz-related-card-image img,
    .myvybz-related-wrap-events .myvybz-related-card-image-placeholder {
        height:auto;
        aspect-ratio:2 / 1;
    }

    .myvybz-carousel-wrap-events .myvybz-card-image img {
        height:220px;
    }
}
/* ===== MODAL BASE ===== */
#myvybz-event-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
}

#myvybz-event-modal.active {
    display: block;
}

.myvybz-event-modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(9, 15, 28, 0.62);
    backdrop-filter: blur(4px);
}

.myvybz-event-modal-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.96);
    width: 90%;
    max-width: 760px;
    max-height: 85vh;
    overflow: hidden;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(0,0,0,0.35);
    transition: all 0.25s ease;
}

#myvybz-event-modal.active .myvybz-event-modal-container {
    transform: translate(-50%, -50%) scale(1);
}

.myvybz-modal-header {
    position: relative;
    min-height: 220px;
    padding: 0;
    background: linear-gradient(135deg, #1ea7d7, #0c6fb8);
    color: #fff;
    overflow: hidden;
}

.myvybz-modal-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(18, 27, 45, 0.16) 0%,
        rgba(18, 27, 45, 0.30) 38%,
        rgba(18, 27, 45, 0.50) 100%
    );
    pointer-events: none;
}

.myvybz-modal-header-overlay {
    position: relative;
    z-index: 1;
    min-height: 220px;
    padding: 34px 30px 26px;
    background: linear-gradient(
        180deg,
        rgba(28, 37, 56, 0.10) 0%,
        rgba(28, 37, 56, 0.18) 30%,
        rgba(28, 37, 56, 0.42) 100%
    );
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.myvybz-modal-header h2 {
    margin: 0 0 12px;
    font-size: 26px;
    line-height: 1.1;
    color: #fff;
    text-shadow: 0 2px 10px rgba(0,0,0,0.28);
}

.myvybz-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 13px;
    opacity: 1;
    margin-bottom: 12px;
}

.myvybz-meta > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.16);
    color: #fff;
    font-weight: 700;
    line-height: 1;
    backdrop-filter: blur(2px);
}

.myvybz-modal-summary {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-width: 520px;
}

.myvybz-modal-summary-top,
.myvybz-modal-summary-bottom {
    display: block;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.45;
    text-shadow: 0 2px 8px rgba(0,0,0,0.24);
}

.myvybz-event-modal-close {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 3;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(17, 24, 39, 0.34);
    color: #fff;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    transition: all 0.2s ease;
    backdrop-filter: blur(2px);
}

.myvybz-event-modal-close:hover,
.myvybz-event-modal-close:focus {
    background: rgba(17, 24, 39, 0.5);
    transform: scale(1.04);
}

.myvybz-event-modal-content {
    padding: 0;
    overflow-y: auto;
    max-height: 80vh;
}

.myvybz-desc {
    padding: 24px 30px 6px;
    font-size: 17px;
    line-height: 1.65;
    color: #475569;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.myvybz-modal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 18px 30px 30px;
}

.myvybz-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    background: var(--mec-color-skin);
    color: #fff !important;
    padding: 12px 22px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 700;
    line-height: 1.2;
    transition: all 0.2s ease;
    box-shadow: 0 8px 20px rgba(30,167,215,0.16);
}

.myvybz-btn:hover {
    filter: brightness(.95);
    transform: translateY(-1px);
}

@media (max-width: 768px) {
    .myvybz-event-modal-container {
        width: 95%;
        max-height: 90vh;
        border-radius: 20px;
    }

    .myvybz-modal-header {
        min-height: 190px;
    }

    .myvybz-modal-header-overlay {
        min-height: 190px;
        padding: 24px 20px 20px;
    }

    .myvybz-modal-header h2 {
        font-size: 22px;
    }

    .myvybz-modal-summary-top,
    .myvybz-modal-summary-bottom {
        font-size: 14px;
    }

    .myvybz-desc {
        padding: 20px 20px 4px;
        font-size: 16px;
        -webkit-line-clamp: 5;
    }

    .myvybz-modal-actions {
        padding: 16px 20px 22px;
    }
}

/* ===== MYVYBZ EVENT MODAL LOADING ===== */
.myvybz-loading {
    font-size: 15px;
    color: #555;
    opacity: 0.85;
}

/* =========================
   MYVYBZ EVENT MODAL AJAX POLISH
========================= */

.myvybz-loading {
    font-size: 15px;
    color: #555;
    opacity: 0.85;
}

/* ===== RELATED DESTINATION + INDIVIDUAL – HOMEPAGE / GUIDE SQUARE MEDIA CONTRACT ===== */
.myvybz-related-card-destination .myvybz-related-card-image,
.myvybz-related-card-destinations .myvybz-related-card-image,
.myvybz-related-card-individuals .myvybz-related-card-image{
    width:100%;
    aspect-ratio:1 / 1 !important;
    height:auto !important;
    overflow:hidden !important;
    background:#111 !important;
}

.myvybz-related-card-destination .myvybz-related-card-image img,
.myvybz-related-card-destinations .myvybz-related-card-image img,
.myvybz-related-card-individuals .myvybz-related-card-image img,
.myvybz-related-card-destination .myvybz-related-card-image-placeholder,
.myvybz-related-card-destinations .myvybz-related-card-image-placeholder,
.myvybz-related-card-individuals .myvybz-related-card-image-placeholder{
    display:block;
    width:100%;
    height:100% !important;
    aspect-ratio:1 / 1 !important;
    object-fit:cover !important;
    border-radius:0 !important;
}

/* =========================
   MODAL BUTTON FIX
========================= */
.myvybz-modal-actions .myvybz-btn,
.myvybz-modal-actions .myvybz-btn:visited {
    color: #fff !important;
}

.myvybz-modal-actions .myvybz-btn:hover,
.myvybz-modal-actions .myvybz-btn:focus,
.myvybz-modal-actions .myvybz-btn:active {
    color: #fff !important;
}
							
/* =========================
   EVENT CALENDAR LIGHT MODE READABILITY
========================= */
.myvybz-recurring-calendar-wrap .mec-calendar,
.myvybz-recurring-calendar-wrap .mec-calendar-table,
.myvybz-recurring-calendar-wrap .mec-calendar-row,
.myvybz-recurring-calendar-wrap .mec-calendar-day,
.myvybz-recurring-calendar-wrap .mec-calendar-novel {
    background: #fff !important;
    color: #1f2937 !important;
}

.myvybz-recurring-calendar-wrap .mec-calendar-day {
    border-color: #d9dee7 !important;
}

.myvybz-recurring-calendar-wrap .mec-calendar-day-head,
.myvybz-recurring-calendar-wrap .mec-calendar-novel-selected-day,
.myvybz-recurring-calendar-wrap dt.mec-calendar-day {
    color: #16325c !important;
    font-weight: 700 !important;
}

.myvybz-recurring-calendar-wrap .mec-calendar-day .event-single-link-novel,
.myvybz-recurring-calendar-wrap .mec-calendar-day .mec-single-event-novel,
.myvybz-recurring-calendar-wrap .mec-calendar-day .mec-event-article {
    background: #eef6fb !important;
    color: #16325c !important;
    opacity: 1 !important;
}

.myvybz-recurring-calendar-wrap .mec-calendar-day .mec-event-title,
.myvybz-recurring-calendar-wrap .mec-calendar-day .mec-event-title a,
.myvybz-recurring-calendar-wrap .mec-calendar-day .mec-single-event-novel h4 {
    color: #16325c !important;
    opacity: 1 !important;
}

.myvybz-recurring-calendar-wrap .mec-calendar-day .mec-event-title:hover,
.myvybz-recurring-calendar-wrap .mec-calendar-day .mec-event-title a:hover {
    color: #0f2747 !important;
}

.myvybz-recurring-calendar-wrap .mec-calendar-day .mec-label-normal,
.myvybz-recurring-calendar-wrap .mec-calendar-day .mec-ongoing-normal-label {
    opacity: 1 !important;
}

.myvybz-recurring-calendar-wrap .mec-calendar-day.mec-has-event:hover,
.myvybz-recurring-calendar-wrap .mec-calendar-day .mec-single-event-novel:hover,
.myvybz-recurring-calendar-wrap .mec-calendar-day .mec-event-article:hover {
    background: #e3f1f9 !important;
}

.myvybz-recurring-calendar-wrap .mec-calendar-day.mec-calendar-other-month,
.myvybz-recurring-calendar-wrap .mec-calendar-day.mec-other-month {
    background: #f8fafc !important;
    color: #94a3b8 !important;
}

.myvybz-recurring-calendar-wrap .mec-calendar-day.mec-calendar-other-month .mec-event-title,
.myvybz-recurring-calendar-wrap .mec-calendar-day.mec-other-month .mec-event-title {
    color: #94a3b8 !important;
}	
/* =========================
   CALENDAR CELL OUTLINE + TEXT CONTROL
========================= */

/* subtle grid outline */
.myvybz-recurring-calendar-wrap .mec-calendar-day {
    border: 1px solid #e3e8ef !important;
}

/* slightly stronger row separation */
.myvybz-recurring-calendar-wrap .mec-calendar-row {
    border-bottom: 1px solid #e3e8ef !important;
}

/* event blocks cleaner */
.myvybz-recurring-calendar-wrap .mec-single-event-novel,
.myvybz-recurring-calendar-wrap .mec-event-article {
    border-radius: 6px;
    padding: 3px 6px !important;
}

/* ===== LONG TITLE CONTROL ===== */

/* clamp to 2 lines instead of breaking layout */
.myvybz-recurring-calendar-wrap .mec-event-title,
.myvybz-recurring-calendar-wrap .mec-single-event-novel h4 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.3em;
    max-height: 2.6em;
    font-size: 11px !important;
}

/* prevent overflow breaking cells */
.myvybz-recurring-calendar-wrap .mec-calendar-day {
    overflow: hidden;
}

/* optional: slightly tighter spacing */
.myvybz-recurring-calendar-wrap .mec-event-article {
    margin-bottom: 3px !important;
}	
/* =========================
   CALENDAR POLISH PASS
========================= */

/* soften cell borders slightly */
.myvybz-recurring-calendar-wrap .mec-calendar-day {
    border: 1px solid #e6ebf2 !important;
}

/* add subtle depth so it’s not flat */
.myvybz-recurring-calendar-wrap .mec-calendar-day {
    transition: all 0.15s ease;
}

.myvybz-recurring-calendar-wrap .mec-calendar-day:hover {
    background: #f8fbff !important;
}

/* make day numbers pop more */
.myvybz-recurring-calendar-wrap .mec-calendar-novel-selected-day {
    font-weight: 700;
    color: #0f2747 !important;
}

/* improve spacing inside event blocks */
.myvybz-recurring-calendar-wrap .mec-single-event-novel {
    margin-bottom: 4px !important;
}

/* tighten badge spacing */
.myvybz-recurring-calendar-wrap .mec-label-normal {
    margin-top: 2px !important;
}

/* make duration badges slightly softer */
.myvybz-recurring-calendar-wrap .mec-label-normal,
.myvybz-recurring-calendar-wrap .mec-ongoing-normal-label {
    border-radius: 4px !important;
}	
/* =========================
   CALENDAR UX POLISH
========================= */

/* today highlight */
.myvybz-recurring-calendar-wrap .mec-calendar-day.mec-today,
.myvybz-recurring-calendar-wrap dt.mec-calendar-day.mec-today {
    background: #f3f9ff !important;
    box-shadow: inset 0 0 0 2px #22aee6 !important;
}

/* stronger today number */
.myvybz-recurring-calendar-wrap .mec-calendar-day.mec-today .mec-calendar-novel-selected-day,
.myvybz-recurring-calendar-wrap dt.mec-calendar-day.mec-today .mec-calendar-novel-selected-day {
    color: #0b5f8a !important;
    font-weight: 800 !important;
}

/* cleaner next / prev month buttons */
.myvybz-recurring-calendar-wrap .mec-next-month-button a,
.myvybz-recurring-calendar-wrap .mec-previous-month-button a,
.myvybz-recurring-calendar-wrap .mec-calendar .mec-next-month-button,
.myvybz-recurring-calendar-wrap .mec-calendar .mec-previous-month-button {
    background: #fff !important;
    border: 1px solid #dbe5ef !important;
    border-radius: 8px !important;
    color: #16325c !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}

.myvybz-recurring-calendar-wrap .mec-next-month-button a:hover,
.myvybz-recurring-calendar-wrap .mec-previous-month-button a:hover,
.myvybz-recurring-calendar-wrap .mec-calendar .mec-next-month-button:hover,
.myvybz-recurring-calendar-wrap .mec-calendar .mec-previous-month-button:hover {
    background: #f7fbff !important;
    border-color: #22aee6 !important;
    color: #0f2747 !important;
}

/* make month title feel more app-like */
.myvybz-recurring-calendar-wrap .mec-calendar .mec-calendar-header,
.myvybz-recurring-calendar-wrap .mec-calendar .mec-table-side-title {
    letter-spacing: 0.02em;
}

/* subtle hover on event tiles */
.myvybz-recurring-calendar-wrap .mec-single-event-novel:hover,
.myvybz-recurring-calendar-wrap .mec-event-article:hover {
    box-shadow: inset 0 0 0 1px rgba(34,174,230,0.18);
}	
/* =========================
   GOOGLE-STYLE EVENT MODAL POLISH
========================= */

#myvybz-event-modal {
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

#myvybz-event-modal .myvybz-event-modal-overlay {
    background: rgba(15, 23, 42, 0.52) !important;
}

#myvybz-event-modal .myvybz-event-modal-container {
    width: min(760px, calc(100vw - 32px)) !important;
    max-width: 760px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28) !important;
    border: 1px solid rgba(255,255,255,0.55) !important;
    background: #fff !important;
    transform: translateY(0) scale(1) !important;
}

#myvybz-event-modal .myvybz-event-modal-content {
    padding: 0 !important;
    background: #fff !important;
}

#myvybz-event-modal .myvybz-modal-header {
    min-height: 220px !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    position: relative;
    background-color: #1ea7d7;
}

#myvybz-event-modal .myvybz-modal-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(15, 23, 42, 0.72) 0%,
        rgba(15, 23, 42, 0.42) 42%,
        rgba(15, 23, 42, 0.14) 100%
    );
    pointer-events: none;
}

#myvybz-event-modal .myvybz-modal-header-overlay {
    position: relative;
    z-index: 2;
    min-height: 220px !important;
    padding: 24px 28px 22px !important;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: transparent !important;
}

#myvybz-event-modal .myvybz-modal-header h2 {
    margin: 0 0 10px !important;
    font-size: clamp(28px, 3vw, 38px) !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;
    color: #fff !important;
    text-shadow: 0 2px 12px rgba(0,0,0,0.22);
}

#myvybz-event-modal .myvybz-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    margin: 0 !important;
}

#myvybz-event-modal .myvybz-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,0.16);
    color: #fff !important;
    font-size: 13px;
    font-weight: 600;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

#myvybz-event-modal .myvybz-event-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 3;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.34);
    color: #fff !important;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    transition: background 0.18s ease, transform 0.18s ease;
}

#myvybz-event-modal .myvybz-event-modal-close:hover {
    background: rgba(15, 23, 42, 0.52);
    transform: scale(1.04);
}

#myvybz-event-modal .myvybz-desc {
    padding: 26px 28px 10px !important;
    color: #334155;
    font-size: 15px;
    line-height: 1.65;
}

#myvybz-event-modal .myvybz-desc p:first-child {
    margin-top: 0 !important;
}

#myvybz-event-modal .myvybz-desc p:last-child {
    margin-bottom: 0 !important;
}

#myvybz-event-modal .myvybz-modal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 0 28px 28px !important;
}

#myvybz-event-modal .myvybz-modal-actions .myvybz-btn,
#myvybz-event-modal .myvybz-modal-actions .myvybz-btn:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 12px 18px;
    border-radius: 12px !important;
    color: #fff !important;
    font-weight: 700;
    text-decoration: none !important;
    box-shadow: 0 10px 22px rgba(30, 167, 215, 0.22);
    transition: transform 0.16s ease, box-shadow 0.16s ease, opacity 0.16s ease;
}

#myvybz-event-modal .myvybz-modal-actions .myvybz-btn:hover,
#myvybz-event-modal .myvybz-modal-actions .myvybz-btn:focus,
#myvybz-event-modal .myvybz-modal-actions .myvybz-btn:active {
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 14px 26px rgba(30, 167, 215, 0.28);
    opacity: 0.96;
}

#myvybz-event-modal .myvybz-loading {
    min-height: 60px;
    display: flex;
    align-items: center;
    color: #475569;
}

@media (max-width: 767px) {
    #myvybz-event-modal .myvybz-event-modal-container {
        width: calc(100vw - 20px) !important;
        border-radius: 20px !important;
    }

    #myvybz-event-modal .myvybz-modal-header,
    #myvybz-event-modal .myvybz-modal-header-overlay {
        min-height: 190px !important;
    }

    #myvybz-event-modal .myvybz-modal-header-overlay {
        padding: 20px 18px 18px !important;
    }

    #myvybz-event-modal .myvybz-desc {
        padding: 20px 18px 8px !important;
    }

    #myvybz-event-modal .myvybz-modal-actions {
        padding: 0 18px 20px !important;
    }

    #myvybz-event-modal .myvybz-modal-actions .myvybz-btn {
        width: 100%;
    }
}	
/* =========================
   CENTER MODAL (SAFE FIX)
========================= */

#myvybz-event-modal .myvybz-event-modal-container {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    width: min(760px, calc(100vw - 32px)) !important;
    max-width: 760px !important;
    z-index: 999999 !important;
}

@media (max-width: 767px) {
    #myvybz-event-modal .myvybz-event-modal-container {
        width: calc(100vw - 20px) !important;
    }
}
/* =========================
   EVENT MODAL MOBILE BUTTON FIX
========================= */
#myvybz-event-modal .myvybz-modal-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

#myvybz-event-modal .myvybz-modal-actions .myvybz-btn {
    min-width: 0 !important;
    white-space: normal !important;
    word-break: break-word !important;
    text-align: center !important;
}

@media (max-width: 767px) {
    #myvybz-event-modal .myvybz-modal-actions {
        flex-direction: column !important;
    }

    #myvybz-event-modal .myvybz-modal-actions .myvybz-btn {
        width: 100% !important;
        max-width: 100% !important;
    }
}	
/* =========================
   EVENTS ARCHIVE MOBILE CARD FIX
========================= */
@media (max-width: 767px) {
    .myvybz-archive-wrap-events .myvybz-archive-grid,
    .myvybz-events-archive-wrap .myvybz-archive-grid,
    .myvybz-archive-card-events-wrap {
        grid-template-columns: 1fr !important;
    }

    .myvybz-archive-wrap-events .myvybz-archive-card,
    .myvybz-events-archive-wrap .myvybz-archive-card,
    .myvybz-archive-card-events {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .myvybz-archive-wrap-events .myvybz-archive-card-buttons,
    .myvybz-events-archive-wrap .myvybz-archive-card-buttons,
    .myvybz-archive-card-events .myvybz-archive-card-buttons {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
    }

    .myvybz-archive-wrap-events .myvybz-archive-card-button,
    .myvybz-events-archive-wrap .myvybz-archive-card-button,
    .myvybz-archive-card-events .myvybz-archive-card-button {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        white-space: normal !important;
    }
}							

/* =========================
   RECURRING NOTE
========================= */
#myvybz-event-modal .myvybz-recurring-note {
    margin: 10px 28px 0 !important;
    font-size: 13px;
    color: #64748b;
    font-weight: 600;
}

@media (max-width: 767px) {
    #myvybz-event-modal .myvybz-recurring-note {
        margin: 10px 18px 0 !important;
    }
}
/* =========================
   RECURRING CALENDAR MOBILE SCROLL FIX
========================= */
@media (max-width: 767px) {

    .myvybz-recurring-calendar-wrap {
        overflow: hidden;
    }

    .myvybz-recurring-calendar-wrap .mec-calendar,
    .myvybz-recurring-calendar-wrap .mec-wrap,
    .myvybz-recurring-calendar-wrap .mec-monthly-view,
    .myvybz-recurring-calendar-wrap .mec-calendar-novel {
        min-width: 720px !important;
    }

    .myvybz-recurring-calendar-wrap .mec-calendar,
    .myvybz-recurring-calendar-wrap .mec-wrap {
        overflow-x: auto !important;
        overflow-y: visible !important;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 8px;
    }

    .myvybz-recurring-calendar-wrap .mec-calendar table,
    .myvybz-recurring-calendar-wrap .mec-calendar-novel table {
        min-width: 720px !important;
    }
}
								
@media (max-width: 767px) {
    .myvybz-recurring-calendar-wrap .mec-calendar::-webkit-scrollbar,
    .myvybz-recurring-calendar-wrap .mec-wrap::-webkit-scrollbar {
        height: 8px;
    }

    .myvybz-recurring-calendar-wrap .mec-calendar::-webkit-scrollbar-thumb,
    .myvybz-recurring-calendar-wrap .mec-wrap::-webkit-scrollbar-thumb {
        background: #cbd5e1;
        border-radius: 999px;
    }
}	
/* Sponsor/Home hero presentation migrated to myvybz-home.css. */
/* ===== RECURRING CALENDAR EVENT BARS FIX ===== */
:root.dark .myvybz-recurring-calendar-wrap .mec-event-article,
html.dark .myvybz-recurring-calendar-wrap .mec-event-article {
    background: #2d2d2d !important;
    color: #fff !important;
}

:root.dark .myvybz-recurring-calendar-wrap .mec-event-title,
:root.dark .myvybz-recurring-calendar-wrap .mec-event-title a,
html.dark .myvybz-recurring-calendar-wrap .mec-event-title,
html.dark .myvybz-recurring-calendar-wrap .mec-event-title a {
    color: #fff !important;
}

/* ===== MODAL HEADER + STRIP FIX ===== */
:root.dark #myvybz-event-modal .myvybz-event-modal-header,
html.dark #myvybz-event-modal .myvybz-event-modal-header {
    background: rgba(0, 0, 0, 0.55) !important;
}

:root.dark #myvybz-event-modal .myvybz-event-modal-content,
html.dark #myvybz-event-modal .myvybz-event-modal-content {
    background: #1c1c1c !important;
    color: #fff !important;
}

/* ===== KEEP IMAGE CLEAN (IMPORTANT) ===== */
:root.dark #myvybz-event-modal img,
html.dark #myvybz-event-modal img {
    opacity: 1 !important;
    filter: none !important;
}
								
/* =========================
   EVENT MODAL META UPGRADE
========================= */
.myvybz-meta.myvybz-meta-upgraded{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px 10px;
    margin-top:10px;
}

.myvybz-meta.myvybz-meta-upgraded > span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:600;
    line-height:1.2;
    background:rgba(15,23,42,.72);
    color:#fff;
    backdrop-filter:blur(6px);
}

.myvybz-meta.myvybz-meta-upgraded .myvybz-meta-category{
    text-transform:uppercase;
    letter-spacing:.4px;
    font-size:11px;
    font-weight:700;
    background:rgba(30,41,59,.82);
}

.myvybz-meta.myvybz-meta-upgraded .myvybz-meta-summary-top,
.myvybz-meta.myvybz-meta-upgraded .myvybz-meta-summary-bottom{
    background:rgba(15,23,42,.72);
}

.myvybz-meta.myvybz-meta-upgraded .myvybz-meta-rating{
    background:rgba(37,99,235,.78);
}

.myvybz-meta.myvybz-meta-upgraded .myvybz-meta-featured{
    background:rgba(15,23,42,.88);
}

.myvybz-meta.myvybz-meta-upgraded .myvybz-meta-status.status-live{
    background:rgba(16,185,129,.88);
}

.myvybz-meta.myvybz-meta-upgraded .myvybz-meta-status.status-upcoming{
    background:rgba(37,99,235,.88);
}

.myvybz-meta.myvybz-meta-upgraded .myvybz-meta-status.status-ended{
    background:rgba(100,116,139,.88);
}								


/* =========================
   MODAL UI ISOLATION
========================= */
.myvybz-modal-ui{
    display:block;
}

.myvybz-modal-ui .myvybz-modal-summary{
    display:flex;
    flex-direction:column;
    gap:6px;
    margin-top:12px;
}

.myvybz-modal-ui .myvybz-modal-summary-top{
    font-size:14px;
    font-weight:700;
    line-height:1.4;
    color:#fff;
}

.myvybz-modal-ui .myvybz-modal-summary-bottom{
    font-size:13px;
    font-weight:600;
    line-height:1.45;
    color:rgba(255,255,255,0.92);
}

.myvybz-modal-ui .myvybz-modal-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:20px;
}

.myvybz-modal-ui .myvybz-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

@media (max-width:768px){
    .myvybz-modal-ui .myvybz-modal-actions{
        flex-direction:column;
    }

    .myvybz-modal-ui .myvybz-modal-actions .myvybz-btn{
        width:100%;
    }
}

/* ===== RECURRING CALENDAR LEFTOVER LIGHT BLOCK FIX ===== */
:root.dark .myvybz-recurring-calendar-wrap .mec-calendar .mec-event-container,
:root.dark .myvybz-recurring-calendar-wrap .mec-calendar .mec-event-container *,
:root.dark .myvybz-recurring-calendar-wrap .mec-calendar .mec-calendar-events-side,
:root.dark .myvybz-recurring-calendar-wrap .mec-calendar .mec-calendar-events-side *,
html.dark .myvybz-recurring-calendar-wrap .mec-calendar .mec-event-container,
html.dark .myvybz-recurring-calendar-wrap .mec-calendar .mec-event-container *,
html.dark .myvybz-recurring-calendar-wrap .mec-calendar .mec-calendar-events-side,
html.dark .myvybz-recurring-calendar-wrap .mec-calendar .mec-calendar-events-side * {
    background-color: transparent !important;
}

/* keep actual event bars dark */
:root.dark .myvybz-recurring-calendar-wrap .mec-event-article,
html.dark .myvybz-recurring-calendar-wrap .mec-event-article {
    background: #2d2d2d !important;
}
/* ===== FINAL RECURRING CALENDAR CELL CLEANUP ===== */
:root.dark .myvybz-recurring-calendar-wrap .mec-calendar-day .mec-calendar-events-side,
:root.dark .myvybz-recurring-calendar-wrap .mec-calendar-day .mec-event-container,
:root.dark .myvybz-recurring-calendar-wrap .mec-calendar-day .mec-event-container > div,
:root.dark .myvybz-recurring-calendar-wrap .mec-calendar-day .mec-calendar-events-side > div,
html.dark .myvybz-recurring-calendar-wrap .mec-calendar-day .mec-calendar-events-side,
html.dark .myvybz-recurring-calendar-wrap .mec-calendar-day .mec-event-container,
html.dark .myvybz-recurring-calendar-wrap .mec-calendar-day .mec-event-container > div,
html.dark .myvybz-recurring-calendar-wrap .mec-calendar-day .mec-calendar-events-side > div {
    background: transparent !important;
    background-color: transparent !important;
}

/* keep actual event bars dark */
:root.dark .myvybz-recurring-calendar-wrap .mec-calendar-day .mec-event-article,
html.dark .myvybz-recurring-calendar-wrap .mec-calendar-day .mec-event-article {
    background: #2d2d2d !important;
    background-color: #2d2d2d !important;
}

/* if MEC marks active/current cells, kill the light fill */
:root.dark .myvybz-recurring-calendar-wrap .mec-calendar-day.mec-selected-day,
:root.dark .myvybz-recurring-calendar-wrap .mec-calendar-day.mec-current-day,
:root.dark .myvybz-recurring-calendar-wrap .mec-calendar-day.mec-has-event,
html.dark .myvybz-recurring-calendar-wrap .mec-calendar-day.mec-selected-day,
html.dark .myvybz-recurring-calendar-wrap .mec-calendar-day.mec-current-day,
html.dark .myvybz-recurring-calendar-wrap .mec-calendar-day.mec-has-event {
    background: transparent !important;
    background-color: transparent !important;
}		
/* ===== RECURRING CALENDAR DARK HOVER FIX ===== */
:root.dark .myvybz-recurring-calendar-wrap .mec-calendar-day:hover,
:root.dark .myvybz-recurring-calendar-wrap .mec-calendar-day:hover .mec-calendar-events-side,
:root.dark .myvybz-recurring-calendar-wrap .mec-calendar-day:hover .mec-event-container,
html.dark .myvybz-recurring-calendar-wrap .mec-calendar-day:hover,
html.dark .myvybz-recurring-calendar-wrap .mec-calendar-day:hover .mec-calendar-events-side,
html.dark .myvybz-recurring-calendar-wrap .mec-calendar-day:hover .mec-event-container {
    background: transparent !important;
    background-color: transparent !important;
}								
/* ===== HOMEPAGE HERO DESKTOP HEIGHT MOVED TO MYVYBZ HOMEPAGE ENGINE ===== */
/* =========================
   FINAL CARD STABILITY FIX
   (ARCHIVE + RELATED)
========================= */

.myvybz-archive-card,
.myvybz-related-card{
    display:flex;
    flex-direction:column;
    height:100%;
}

.myvybz-archive-card-image,
.myvybz-related-card-image{
    flex-shrink:0;
}

.myvybz-archive-card-content,
.myvybz-related-card-content{
    display:flex;
    flex-direction:column;
    flex:1 1 auto;
    min-height:0;
}

/* =========================
   SINGLE TOP CARD CTA + SOCIAL POLISH
========================= */

.myvybz-top-action-row {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 12px 0 12px;
}

.myvybz-top-action-button,
.myvybz-top-action-button:link,
.myvybz-top-action-button:visited,
.myvybz-top-action-button:hover,
.myvybz-top-action-button:focus,
.myvybz-top-action-button:active {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    min-height: 36px;
    padding: 9px 16px;

    background: var(--mec-color-skin) !important;
    color: #ffffff !important;

    border: none !important;
    outline: none !important;
    border-radius: 7px;

    font-size: 13px;
    font-weight: 700;
    line-height: 1.15;

    text-decoration: none !important;
    box-shadow: 0 6px 16px rgba(0,0,0,.12);
}

.myvybz-top-action-button:hover,
.myvybz-top-action-button:focus,
.myvybz-top-action-button:active {
    filter: brightness(.92);
    color: #ffffff !important;
    text-decoration: none !important;
}

.myvybz-social-icons-row {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 6px;
}

.myvybz-social-icon,
.myvybz-social-icon:link,
.myvybz-social-icon:visited,
.myvybz-social-icon:hover,
.myvybz-social-icon:focus,
.myvybz-social-icon:active {
    color: #111827 !important;
    text-decoration: none !important;
}

.myvybz-links-grid {
    justify-content: center;
}

@media (max-width: 767px) {
    body:is(.single-destination,.single-individuals,.single-post) .myvybz-content-section:has(.myvybz-top-action-row,.myvybz-social-icons-row){
        text-align:center;
    }
    body:is(.single-destination,.single-individuals,.single-post) .myvybz-content-section:has(.myvybz-top-action-row,.myvybz-social-icons-row) :is(
        h1,
        .elementor-heading-title,
        .myvybz-single-title,
        .myvybz-role-rating-row,
        .myvybz-hero-meta-row,
        .myvybz-hero-meta-badges,
        .myvybz-top-action-row,
        .myvybz-social-icons-row
    ){
        text-align:center!important;
    }
    body:is(.single-destination,.single-individuals,.single-post) .myvybz-content-section:has(.myvybz-top-action-row,.myvybz-social-icons-row) :is(
        .myvybz-role-rating-row,
        .myvybz-hero-meta-row,
        .myvybz-hero-meta-badges,
        .myvybz-top-action-row,
        .myvybz-social-icons-row
    ){
        justify-content:center!important;
    }
}
/* =========================
   TOP CARD BUTTON — HARDENED (MATCH CORE)
========================= */

.myvybz-top-action-row a.myvybz-top-action-button,
.myvybz-top-action-row a.myvybz-top-action-button:link,
.myvybz-top-action-row a.myvybz-top-action-button:visited,
.myvybz-top-action-row a.myvybz-top-action-button:hover,
.myvybz-top-action-row a.myvybz-top-action-button:focus,
.myvybz-top-action-row a.myvybz-top-action-button:active {
    background: var(--mec-color-skin) !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

/* hover dim — same behavior as rest of site */
.myvybz-top-action-row a.myvybz-top-action-button:hover,
.myvybz-top-action-row a.myvybz-top-action-button:focus,
.myvybz-top-action-row a.myvybz-top-action-button:active {
    filter: brightness(.92);
}


/* ===== PASS 1.0.20 — RELATED RATINGS + PUBLIC FAVORITES/VIBES ===== */
.myvybz-related-card-utility-row,
.myvybz-related-card-rating-row,
.myvybz-single-reaction-row{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    flex-wrap:wrap;
}
.myvybz-related-card-utility-row{min-height:24px;margin:0 0 8px;}
.myvybz-related-wrap-events .myvybz-related-card-meta-events{min-height:104px;}
.myvybz-related-card-utility-row.is-event{min-height:24px;margin:0;}
.myvybz-related-wrap-events .myvybz-reactions{margin:0 auto;}
.myvybz-founder-badge{
    display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:3px 8px;border-radius:999px;
    border:1px solid rgba(250,204,21,.65);background:rgba(113,63,18,.32);color:#fde68a;font-size:10px;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.35px;
}
.myvybz-reactions{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;}
.myvybz-reaction{appearance:none;border:1px solid rgba(56,189,248,.42);background:rgba(15,23,42,.72);color:#dbeafe;min-height:24px;padding:3px 7px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:4px;font:inherit;font-size:10px;font-weight:700;line-height:1;cursor:pointer;}
.myvybz-reaction:hover,.myvybz-reaction:focus-visible{border-color:#38bdf8;background:rgba(30,41,59,.94);color:#fff;}
.myvybz-reaction span[class*="trx_addons_icon-"]{font-size:11px;line-height:1;}
.myvybz-reaction-count{min-width:.8em;text-align:center;}
.myvybz-single-reaction-row{margin:8px auto 0;}
:root:not(.dark) .myvybz-reaction{background:rgba(255,255,255,.88);color:#334155;border-color:rgba(2,132,199,.35)}
:root:not(.dark) .myvybz-reaction:hover,:root:not(.dark) .myvybz-reaction:focus-visible{background:#fff;color:#0f172a;border-color:#0284c7}
:root:not(.dark) .myvybz-founder-badge{background:#fffbeb;color:#92400e;border-color:#f59e0b}


.myvybz-favorite-sync-message{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(2,6,23,.66);backdrop-filter:blur(5px)}
.myvybz-favorite-sync-card{width:min(460px,100%);padding:22px;border:1px solid rgba(56,189,248,.38);border-radius:18px;background:#0f1720;color:#dbeafe;box-shadow:0 24px 70px rgba(0,0,0,.45);text-align:center}
.myvybz-favorite-sync-card h3{margin:0 0 10px;color:#f8fafc;font-size:22px;line-height:1.2}.myvybz-favorite-sync-card p{margin:0 0 18px;color:#bfdbfe;line-height:1.55}.myvybz-favorite-sync-card button{min-height:40px;padding:8px 18px;border:1px solid #38bdf8;border-radius:10px;background:#0ea5e9;color:#fff;font-weight:800;cursor:pointer}
:root:not(.dark) .myvybz-favorite-sync-card{background:#f8fafc;color:#0f172a;border-color:#0ea5e9}:root:not(.dark) .myvybz-favorite-sync-card h3{color:#0f172a}:root:not(.dark) .myvybz-favorite-sync-card p{color:#334155}


/* ===== PASS 1.0.22 — REACTION OWNER / RESPONSIVE ALIGNMENT CLEANUP ===== */
.myvybz-related-wrap-events .myvybz-related-card-utility-row.is-event{align-items:center;justify-content:center;gap:7px;}
.myvybz-related-wrap-events .myvybz-related-card-utility-row.is-event .myvybz-reactions{margin:0!important;}
.myvybz-event-modal-reaction-row{display:flex;align-items:center;justify-content:center;margin:0 0 10px;}
#myvybz-event-modal .myvybz-event-modal-reaction-row .myvybz-reactions{justify-content:center;}
#myvybz-event-modal .myvybz-modal-header-overlay > .myvybz-event-modal-reaction-row{
    width:auto;
    margin:0;
    justify-content:flex-start;
    align-self:flex-start;
}
#myvybz-event-modal .myvybz-modal-header-overlay > .myvybz-event-modal-reaction-row .myvybz-reactions{
    justify-content:flex-start;
}
.myvybz-reaction.is-readonly{cursor:default;opacity:.82;}
.myvybz-reaction.is-readonly:hover,.myvybz-reaction.is-readonly:focus{filter:none;}

/* Destination / Individual / Post singles: desktop/tablet left, mobile centered. */
body:is(.single-destination,.single-individuals,.single-post) .myvybz-single-reaction-row{
    justify-content:flex-start!important;
    margin-left:0!important;
    margin-right:0!important;
}
@media (max-width:767px){
    body:is(.single-destination,.single-individuals,.single-post) .myvybz-content-section:has(.myvybz-top-action-row,.myvybz-social-icons-row){text-align:center!important;}
    body:is(.single-destination,.single-individuals,.single-post) .myvybz-content-section:has(.myvybz-top-action-row,.myvybz-social-icons-row) :is(
        h1,.elementor-heading-title,.myvybz-single-title,.myvybz-role-rating-row,.myvybz-hero-meta-row,.myvybz-hero-meta-badges,.myvybz-top-action-row,.myvybz-social-icons-row,.myvybz-single-reaction-row
    ){text-align:center!important;}
    body:is(.single-destination,.single-individuals,.single-post) .myvybz-content-section:has(.myvybz-top-action-row,.myvybz-social-icons-row) :is(
        .myvybz-role-rating-row,.myvybz-hero-meta-row,.myvybz-hero-meta-badges,.myvybz-top-action-row,.myvybz-social-icons-row,.myvybz-single-reaction-row
    ){justify-content:center!important;}
    body:is(.single-destination,.single-individuals,.single-post) .myvybz-single-reaction-row{margin-left:auto!important;margin-right:auto!important;}
}



/* ===== PASS 1.0.24 — EVENT MODAL REACTION STATE/ALIGNMENT ONLY =====
 * Keep the canonical reaction row directly under the existing Event modal
 * metadata pills, aligned to the same left edge. No modal geometry changes.
 */


/* 1.0.37 — keep branded reaction icon colors after component-local paint. */
.myvybz-favorite-control span[class*="trx_addons_icon-star"]{color:#2bbcf3!important}
.myvybz-favorite-control.is-active span[class*="trx_addons_icon-star"]{color:#35d5ff!important;text-shadow:0 0 10px rgba(53,213,255,.56),0 0 18px rgba(45,132,255,.26)}
.myvybz-vibe-control span[class*="trx_addons_icon-heart"]{color:#bd61ef!important}
.myvybz-vibe-control.is-active span[class*="trx_addons_icon-heart"]{color:#f05dcc!important;text-shadow:0 0 10px rgba(240,93,204,.50),0 0 18px rgba(133,86,255,.28)}
:root:not(.dark) .myvybz-favorite-control span[class*="trx_addons_icon-star"]{color:#078dcc!important}
:root:not(.dark) .myvybz-favorite-control.is-active span[class*="trx_addons_icon-star"]{color:#007ec8!important}
:root:not(.dark) .myvybz-vibe-control span[class*="trx_addons_icon-heart"]{color:#9e48cf!important}
:root:not(.dark) .myvybz-vibe-control.is-active span[class*="trx_addons_icon-heart"]{color:#c52aa4!important}
